cp:复制文件或目录
来自英文单词copy。
功能:复制文件或者目录。
cp命令能够将一个或多个文件或目录复制到指定位置,也常用于文件的备份操作。
语法格式:cp 参数 源文件名 目标文件名
常用参数:
|----|----------------------------|
| -a | 功能等价于**pdr(-p -d -r)**参数组合 |
| -b | 覆盖目标文件前先进行备份 |
| -d | 复制链接文件时,将目标文件也建立为链接文件 |
| -f | 若目标已经存在,则直接覆盖 |
| -i | 若目标已经存在,则会询问是否覆盖 |
| -l | 对源文件建立硬链接,而不是复制文件 |
| -p | 保留源文件或目录的所有属性信息 |
| -r | 递归复制所有子文件 |
| -s | 对源文件建立软链接,而不是复制文件 |
| -v | 显示执行过程详细信息 |
复制指定的源文件,并定义新文件的名称:
root@lcool:/usr/linux# cp File1.cfg File2.cfg
root@lcool:/usr/linux# ls -a
. .. File1.cfg File2.cfg
复制指定源目录,并定义新目录的名称:
root@lcool:/usr/linux# cp -r Dir1 Dir2
root@lcool:/usr/linux# ls
Dir1 Dir2 File1.cfg File2.cfg
复制文件时,保留其原始权限以及用户归属信息:
root@lcool:/usr/linux# cp -a File1.cfg File3.cfg
root@lcool:/usr/linux# ls -l
总计 8
drwxr-xr-x 2 root root 4096 6月 29 21:46 Dir1
drwxr-xr-x 2 root root 4096 6月 29 21:46 Dir2
-rw-r--r-- 1 root root 0 6月 29 21:43 File1.cfg
-rw-r--r-- 1 root root 0 6月 29 21:44 File2.cfg
-rw-r--r-- 1 root root 0 6月 29 21:43 File3.cfg
将指定文件复制到指定目录中,并覆盖已经存在的文件,不进行询问:
root@lcool:/usr/linux# cp -f File1.cfg /etc
将多个文件一同复制到指定目录中,如果已经存在目标文件,那么回询问是否覆盖:
root@lcool:/usr/linux# cp -i File1.cfg File2.cfg /etc
cp: 是否覆盖 '/etc/File1.cfg'? y
cp: 是否覆盖 '/etc/File2.cfg'? y
mv命令:移动或者修改文件
mv命令来自英文单词move的缩写,中文译为"移动",其功能与英文含义相同,能够对文件进行剪切和重命名操作。
这是一个被高频使用的命令,需要注意它与复制命令的区别。
cp命令是用于文件的复制操作,文件个数是增加的,而mv命令是剪切操作,也就是对文件爱你进行移动(搬家)的操作,文件位置发生变化,但是总个数并无增加。
在同一个目录内对文件进行剪切操作,实际上应该理解为重命名操作。
语法:mv 参数 源文件名 目标文件名
常用参数:
# 对指定文件进行剪切后粘贴(重命名)操作
mv File.cfg File2.cfg
# 将指定文件移动到/etc目录中,保留文件原始名称
mv File2.cfg /etc
# 将指定目录移动到指定目录下,并且重命名
mv Dir1 /etc/Dir2
# 将/home目录中所有的文件都移动到当前工作目录中,若遇到文件已经存在的情况则直接覆盖
mv -f /home/* .
vim命令:文本编辑器
vim 命令的功能是编辑文本内容,是 Linux 系统字符界面下最常用的文本编辑工具,能够编辑任何的 ASCII 格式的文件,可对内容进行创建、查找、替换、修改、删除、复制、粘贴等操作。编写文件时,无须担心目标文件是否存在,若不存在则会自动在内存中创建,并随保存操作输出到硬盘中。
vim 命令的内容十分丰富,更多内容需要自行查找,这里只是简单描述使用。
语法格式:vim 参数 文件名
Vim 有三种基本模式:
- 正常模式 (Normal Mode):这是 Vim 默认模式。可以用来浏览和操作文本。
- 插入模式 (Insert Mode):可以输入和编辑文本。通过按
i
进入插入模式。 - 命令模式 (Command Mode):用于执行保存、退出等操作。通过
:
进入命令模式。
常见操作
- 进入插入模式 :按
i
进入插入模式。 - 退出插入模式 :按
Esc
回到正常模式。 - 保存文件 :在命令模式下输入
:w
,然后按回车。 - 查找 :按
/
后输入你想查找的内容,按n
跳到下一个匹配项。 - 撤销/重做:
-
u
撤销上一步操作Ctrl + r
重做上一步操作
退出 Vim(先按 Esc 键):
-
:q
退出(如果没有修改文件) -
:q!
强制退出(即使有修改也不保存) -
:wq
保存并退出 -
:x
保存并退出(等价于:wq
)打开文件,如果不存在就创建
vim file1
打开一个文件,并从第六行开始编写
vim +6 file2
打开一个文件,以只读方式进入
vim -R file3
cat命令:显示文件内容、合并文件和创建新文件
cat 命令来自英文词组 concatenate files and print 的缩写,其功能是在终端设备上显示文件内容。在 Linux 系统中有很多用于查看文件内容的命令,例如 more、tail、head 等,每个命令都有各自的特点。cat 命令适合查看内容较少的纯文本文件。 对于内容较多的文件,使用 cat 命令查看后会在屏幕上快速滚屏,用户往往看不清所显示的具体内容,只好按 Ctrl+C 组合键中断命令执行,所以对于大文件,干脆用 more 命令显示吧。
语法:cat 参数 文件名
常用参数:
|-----------|-------------------------|
| -A | 等价于-vET 参数组合 |
| -b | 显示行数(空行不编号) |
| -e | 等价于-vE 参数组合 |
| -E | 每行结束处显示$符号 |
| -n | 显示行数(空行也编号) |
| -s | 压缩空行 |
| -t | 等价于-vT 参数组合 |
| -T | 将 TAB 字符显示为^I 符号 |
| -v | 使用^和 M-引用,LFD 和 TAB 除外 |
| --help | 显示帮助信息 |
| --version | 显示版本信息 |
显示文件内容:
cat 文件名
cat files.conf
server id:72849
host name:example
host id: 839183
index page:index.html,index.php,index.htm
查看多个文件
cat 文件名1 文件名2
cat files.conf file2.conf
server id:72849
host name:example
host id: 839183
index page:index.html,index.php,index.htm
server id:0072849
host name:example
host id: 00839183
index page:index.html,index.php,index.htm
ssl : on
ping : 10.13.231.90
创建新文件并输入内容
cat > 新文件名
cat > newfile.txt
# 在执行该命令后,终端会等待你输入内容。输入完成后按 Ctrl+D 结束并保存到 newfile.txt。
追加文件内容到另一个文件
cat 文件1 >> 文件2
cat file1.txt >> file2.txt
# 会将 file1.txt 的内容追加到 file2.txt 的末尾
将多个文件合并成一个文件
cat 文件1 文件2 > 新文件
cat file1.txt file2.txt > mergefile.txt
# 将 file1.txt 和 file2.txt 的内容合并并保存到 mergefile.txt。
以分页的方式显示文件内容(结合less
)
cat 文件名 | less
cat longfile.txt | less
# 以分页的形式显示 longfile.txt 的内容。
显示文件内容并带行号
cat -n 文件名
cat -n file.txt
# 会显示 myfile.txt 的内容,并在每一行的前面显示行号。
more命令:分页显示文本文件内容
more 命令的功能是分页显示文本文件的内容。如果文本文件中的内容较多较长,使用 cat 命令读取后则很难看清,这时使用 more 命令进行分页查看就比较合适了,该命令可以把文本内容一页一页地显示在终端界面上,用户每按一次 Enter 键即向下一行,每按一次空格键即向下一页,直至看完为止。
more 命令打开文件后,以下命令控制浏览:
- 空格键:显示下一屏内容。
- Enter:向下滚动一行。
- b:返回上一屏内容。
- q :退出
more
。 - /字符串 :搜索指定字符串,按
n
可以跳转到下一个匹配项。 - v :调用默认编辑器(通常是
vi
)打开文件。
命令:more 参数 文件名
常用参数:
|----------|----------------------------|
| -c | 每次翻页时清除屏幕,而不是逐行滚动。 |
| -d | 显示错误信息,并提示用户按下空格继续或 q
退出 |
| -s | 将多个空行压缩为一行显示 |
| +num | 从指定行号开始显示文件 |
| +/'搜索内容' | 从匹配到的字符串处开始显示。 |
| -f | 统计实际的行数,而不是自动换行的行数 |
| -p | 先清除屏幕再显示文本文件的剩余内容 |
分页显示文件内容
more files.txt
文件从第十行开始显示
more +10 log.txt
压缩文件中的多个空行
more -s file.txt
less命令:分页显示文件内容
less 命令的功能是分页显示文件内容。Less 命令分页显示的功能与 more 命令很相像,但 more 命令只能从前向后浏览文件内容,而 less 命令不仅能从前向后浏览(按 PageDown 键),还可以从后向前浏览(按 PageUp 键),更加灵活。
语法:less 参数 文件名
常用操作
Space
或f
:向下翻一页。b
:向上翻一页。Enter
:向下翻一行。k
或↑
:向上滚动一行。j
或↓
:向下滚动一行。g
:跳转到文件的开头。G
:跳转到文件的末尾。/字符串
:向下搜索指定的字符串。?字符串
:向上搜索指定的字符串。n
:重复上一个搜索操作(同方向)。N
:重复上一个搜索操作(反方向)。q
:退出less
。
常用选项
-N
:显示行号。-S
:长行不换行(按左右方向键滚动)。-X
:关闭终端退出后内容的清除。-i
:搜索时忽略大小写。-m
:显示简洁的百分比信息。
查看文件,并显示行号
less -N file.txt
less
的强大之处在于它可以流式加载文件,尤其适合查看大文件。