Linux基础学习---文件相关命令

发布于:2025-07-17 ⋅ 阅读:(19) ⋅ 点赞:(0)

文件操作命令

命令 作用 语法格式 参数 案例
touch 创建文件 touch 文件名 -t 时间:手动指定时间戳(格式:YYMMDDhhmm [.ss]) touch file1.txt : 在当前目录下创建 file1.txt
touch file1.txt file2.txt file3.txt: 创建多个文件
touch -t 202501011230.45 file.txt: 指定时间戳(设为 2025 年 1 月 1 日 12:30:45)
cp(copy) 文件或者目录的复制 cp [-r] 源文件位置... 目标路径 -r : 递归,复制文件夹必须添加 cp a.txt/usr/local : 复制当前 a.txt 文件到 /usr/local 下
cp -r local /root : 复制 local 目录到 /root 下
mv(move) 文件、目录的移动和重命名 mv 源文件路径... 目标路径 mv aa-ks.cfg/export/data : 将某文件移动到某路径下
mv export ~ : 将 export 目录移动到家目录下
mv a.txt test.txt : 将 a.txt 移动到当前目录的 text.txt 中 (重命名)
mv test.txt/a.txt : 将 text.txt 移动到 / 根目录下,重命名为 a.txt
rm 删除文件 rm [选项] 文件 / 目录路径 -r: 是否启动递归删除方案(适用于删除目录的时候)
-f: 是否需要强制删除,如果不添加, 会有一个询问的操作
rm -rf /export: 不提示强制删除 /export 目录

文件查找命令

find 命令:文件查找命令

格式: find 路径范围 选项 1 选项 1 的值 [选项 2 选项 2 的值...]

选项说明:

选项 说明 选项 说明
-name 按照文档名称进行搜索(支持模糊搜索)* : 通配符,匹配任意个任意字符 -size 用于根据文件大小查找文件。格式为 [+/-] n [单位]
-type 按照文档的类型进行搜索,文档类型的值,f(file) 表示文件,d (directory) 表示文件夹 + 和 - 前缀:
+n:查找大于 n 的文件。
-n:查找小于 n 的文件。
-mtime 用于根据文件的修改时间(modification time)来筛选文件,参数值是一个整数,表示天数
-mtime +n:查找修改时间超过 n 天前的文件
-mtime -n:查找修改时间在 n 天以内的文件
-mtime n:查找修改时间正好是 n 天前的文件
单位说明:
c:字节(默认单位)
k:千字节(kB)
M:兆字节(MB)
G:吉字节(GB)
b:512 字节块(不常用)
-exec 用于对 find 查找到的文件执行指定的命令。它的语法比较特殊,需要用 {} 表示查找到的文件,并用;结束命令
例如:查找所有 .log 文件并删除 find /var/log -name "*.log" -exec rm -f {} ;

文件编辑命令

vi: 经典的文本编辑器,功能较基础,适用于简单编辑任务。

vim (Vi IMproved): vi 的升级版,支持更多高级功能,如:

语法高亮,多级撤销 (vi 仅支持单步撤销),代码折叠,插件支持,更好的跨平台兼容性

在 RHEL 9 中,vi 通常是 vim 的符号链接,即运行 vi 实际启动的是 vim 的兼容模式。

安装 vim: dnf install -y vim

打开文件

vi a.txt       # 直接打开文件
vim a.txt      # vim是vi的增强版
vim +10 a.txt  # 直接打开文件,并定位到第10行

vi/vim 三种工作模式:

命令模式:复制、粘贴、移动光标、撤销与恢复

插入模式(编辑模式):只能编辑文件内容(写字)

底行模式(末行模式):保存文件、退出文件、显示行号、搜索关键词

 

命令模式

当我们通过 vi/vim 命令打开文件时,默认就处于命令模式

小技巧:进入 vim 编辑器,先查看左下角有没有提示信息,如果没有任何信息,代表你当前位于命令模式!

命令 功能 命令 功能
o 在当前行后面插入一空行 p 粘贴
O 在当前行前面插入一空行 u 撤销上一次命令,相当于 Windows 中的 Ctrl + Z
dd 剪切或删除光标所在行 gg 回到文件顶部
ndd 从光标位置向下连续剪切或删除 n 行 G 回到文件末尾
yy 复制光标所在行
nyy 从光标位置向下连续复制 n 行
Ctrl + R 恢复,与 u 相对应

编辑模式

如何进入编辑模式呢?
答:
i: 在当前光标的前面插入内容
a: 在当前光标的后面插入内容
o: 在光标的后一行插入内容
O: 在光标的前一行插入内容

问题:如何从编辑模式回到命令模式
答:按 Esc 键

底行模式

在 Linux 操作系统中,文件必须先保存后退出!
!叹号代表强制,强制保存、强制退出、强制保存并退出!

命令 功能 命令 功能
:w 文件 另存为 :x 保存并退出【建议运维选择】
:w 保存 (ctrl + s) :set nu 设置行号,取消行号使用 :set nonu
:q 退出,如果没有保存,不允许退出 :% s / 旧关键词 / 新关键词 /g 文本替换
:q! 强行退出,不保存退出 :noh 取消高亮
:wq 保存并退出 / 关键词 搜索某一关键词
:X 设置密码,需要保存并退出,:X回车回车取消密码,需要保存并退出

:wq 和:x 区别?
答:如果文件内容有改变,两者的效果是一样的。如果文件内容没有改变,:x 不会改变文件的最后修改时间,但是:wq 会更新文件的最后修改时间。运维工程师,强烈推荐使用:x

Vim 的备份机制

如果在打开某个文件时,弹出以上提示,那代表你这个文件之前没有保存就强制退出了,触发了 Vim 的备份机制,产生了一个。文件名称.swp 交换文件。

以后每次打开之前的文件就会产生上面的提示,解决方案:
① 之前的修改不重要,可以直接删除的情况:rm . 源文件名称.swp

② 之前的修改很重要,需要先恢复内容,然后再解决报错问题

第一步:直接回车,切换到错误的底部,找到回复菜单,一般是 R,恢复文件内容

第二步:针对找回的内容进行:x 保存并退出

第三步:删除刚才产生的交换文件

文件查看命令

命令 作用 格式与参数 案例
cat 从上往下查看文件内容,一次性加载所有数据,适合小文件查看 格式: cat 文件 查看家目录中 anaconda-ks.cfg 文件
cat anaconda-ks.cfg
more 用于分页查看文件内容的命令 格式: more filename
进入文件后,可使用的相关操作:
空格键:向下滚动一页
Enter 键:向下滚动一行
b: 向上翻页 (可能不支持所有系统)
q: 退出查看
more anaconda-ks.cfg
less less 命令与 more 类似,但功能更强大,它允许用户向前和向后滚动文件,同时提供了更多的操作选项 语法: less filename
进入文件后,可使用的相关操作:
空格键:向下翻页
b: 向上翻页
Page Up/Page Down: 向上 / 向下滚动。【方向键】
q: 退出查看
/ 搜索词:搜索某个关键词,并跳转到该词的位置
n: 跳到下一个匹配的搜索结果
h: 查看帮助信息
less anaconda-ks.cfg
命令 作用 格式与参数 案例
head 查看文件的前 N 行内容,默认显示前 10 行 格式: head -N 文件
N: 表示从前往后看 N 行 默认为前 10 行
查看家目录中 anaconda-ks.cfg 文件的前 20 行
head -20 anaconda-ks.cfg
tail 用于从后往前看文件,并支持监控文件变化 格式: tail -[N][f] 文件
N: 表示从后往前看 N 行
f: 是否持续显示文件末尾内容,监控文件变化
查看某个文件最后 100 行的内容
tail -100 xx.log
查看最后 100 行,并实时查看输出内容
tail -100f xx.log
wc 用于统计文件或输入中的行数、单词数和字节数 语法: wc [选项] [文件]
-l : 统计行数(lines)
-w : 统计单词数(words)
-c : 统计字节数(bytes)
-m : 统计字符数(characters)
-L : 统计最长行的长度(length)
统计文件有多少行?
wc -l xx.txt
统计文件中有多少个单词?
wc -w xx.txt
统计有多少个字节和字符数量?
wc -cm xx.txt
grep 在文件中直接找到包含指定信息的那些行,并把这些信息显示出来 语法: grep 要查找的内容 文件名 在 boot.log 文件中,查找包含 network 的行
grep network boot.log
| 管道符号,将上一个命令的执行结果,作为下一个命令的输入 格式:命令 1 | 命令 2 | 命令 3 ....
注意:并不是所有的命令都支持管道符
对 cat 执行结果,通过 grep 查询包含 linux 的行内容
cat a.txt b.txt | grep linux

文件解压缩

tar(tape archive)是一个用于打包和压缩文件的命令行工具。它可以将多个文件和目录打包成一个文件,也可以对这些文件进行压缩,减少存储空间。tar 命令广泛用于 Unix 和类 Unix 系统,包括 Linux 和 macOS。

tar 命令:

格式: tar [选项] 文件 ...

选项 说明 选项 说明
-c 创建一个新的归档文件;这个选项表示将指定的文件或目录打包成一个新的归档文件。 -v 在创建或解压归档时显示详细过程信息(列出文件名); 这个选项会显示每个文件在归档过程中的详细信息,通常用于调试或跟踪进度。
-x 解压缩归档文件;使用该选项从归档文件中提取文件。 -j 使用 bzip2 压缩或解压归档文件;该选项表示将归档文件压缩成 .tar.bz2 格式,或者解压 .tar.bz2 格式的归档文件。
-f 指定归档文件的名称;该选项必须紧跟着归档文件名,指定要创建或提取的归档文件。 -J -J (xz) 使用 xz 压缩或解压归档文件;该选项表示将归档文件压缩成 .tar.xz 格式,或者解压 .tar.xz 格式的归档文件。
-z 使用 gzip 压缩或解压归档文件;该选项表示将归档文件压缩成 .tar.gz 格式,或者解压 .tar.gz 格式的归档文件。 -C 用于指向新的解压的目录 C 是大写的 C
参数组合 说明
-cvf 创建归档文件,俗称 "打包", 打包后的文件后缀名为.tar
-xvf 解压归档文件,俗称 "拆包"
-czvf 创建归档文件,并采用 gzip 进行压缩,压缩后的文件后缀名为.tar.gz
-xzvf 解压被 gzip 压缩的归档文件
-cjvf 创建归档文件,并采用 bzip2 进行压缩,压缩后的文件后缀名为.tar.bz2
-xjvf 解压被 bzip2 压缩的归档文件

zip 和 unzip 命令

作用: zip 用于压缩,unzip 进行解压 针对是 zip 压缩包

格式:zip [-r] 归档文件名

.zip 需要归档的文件列表

-r : 递归压缩

unzip 归档文件名

.zip [-d 解压目录]

-d: 如果不指定,表示解压到当前路径


网站公告

今日签到

点亮在社区的每一天
去签到