Linux 常用命令(二)

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 有三种基本模式:

  1. 正常模式 (Normal Mode):这是 Vim 默认模式。可以用来浏览和操作文本。
  2. 插入模式 (Insert Mode):可以输入和编辑文本。通过按 i 进入插入模式。
  3. 命令模式 (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 参数 文件名

常用操作

  • Spacef:向下翻一页。
  • b:向上翻一页。
  • Enter:向下翻一行。
  • k:向上滚动一行。
  • j:向下滚动一行。
  • g:跳转到文件的开头。
  • G:跳转到文件的末尾。
  • /字符串:向下搜索指定的字符串。
  • ?字符串:向上搜索指定的字符串。
  • n:重复上一个搜索操作(同方向)。
  • N:重复上一个搜索操作(反方向)。
  • q:退出 less

常用选项

  • -N:显示行号。
  • -S:长行不换行(按左右方向键滚动)。
  • -X:关闭终端退出后内容的清除。
  • -i:搜索时忽略大小写。
  • -m:显示简洁的百分比信息。

查看文件,并显示行号

less -N file.txt

less 的强大之处在于它可以流式加载文件,尤其适合查看大文件。

相关推荐
运维老司机11 分钟前
Jenkins修改LOGO
运维·自动化·jenkins
D-海漠27 分钟前
基础自动化系统的特点
运维·自动化
我言秋日胜春朝★35 分钟前
【Linux】进程地址空间
linux·运维·服务器
繁依Fanyi1 小时前
简易安卓句分器实现
java·服务器·开发语言·算法·eclipse
C-cat.1 小时前
Linux|环境变量
linux·运维·服务器
yunfanleo1 小时前
docker run m3e 配置网络,自动重启,GPU等 配置渠道要点
linux·运维·docker
m51271 小时前
LinuxC语言
java·服务器·前端
运维-大白同学2 小时前
将django+vue项目发布部署到服务器
服务器·vue.js·django
糖豆豆今天也要努力鸭2 小时前
torch.__version__的torch版本和conda list的torch版本不一致
linux·pytorch·python·深度学习·conda·torch
烦躁的大鼻嘎2 小时前
【Linux】深入理解GCC/G++编译流程及库文件管理
linux·运维·服务器