文件命名规则目录也是文件类型之一在同一路径下不允许两个不同类型文件同名目录文件管理本质是对目录下的文件进行增删改查操作创建目录命令mkdir(make directory)基本格式mkdir [-参数] 目录名常用参数参数作用-p递归创建目录可创建多级嵌套目录已存在目录不会被覆盖-v显示创建过程特殊符号应用mkdir t1 t2 # 同时创建t1和t2目录 mkdir {1,2,3} # 创建1、2、3目录 mkdir {1..3} # 创建1、2、3目录 mkdir {1..5..2} # 以步长2创建1、3、5目录 mkdir {1,2}{a} # 创建1a、2a目录 mkdir -p t1/t2 # 创建t1目录并在其中创建t2子目录 mkdir -v t1 # 显示创建t1的过程 mkdir /root/t1 # 在/root目录下创建t1目录查看目录命令ls常用通配符通配符作用*匹配任意多个字符?匹配单个字符[]匹配括号内单个字符-表示范围[^]或[!]取反匹配括号内任意字符示例ll -d # 仅查看目录 ll -d A* # 显示所有A开头的文件夹 ll -d A? # 显示除a10外的所有A开头单字符文件夹如a1-a9 ll -d A[123] # 显示a1、a2、a3目录 ll -d A[1-5] # 显示a1到a5目录 ll -d A[^1-5] # 显示a6到a10目录命令tree树形结构显示格式tree [-参数] [路径]常用参数参数作用-a显示所有文件包括隐藏文件-f显示完整路径-d仅显示目录-L设置显示深度示例tree -L 2 /root # 显示/root目录下2层结构命令du统计目录磁盘使用情况常用参数参数作用-a统计所有文件大小-s仅统计指定路径大小-h以易读格式显示删除目录命令rm格式rm [-参数] 文件名常用参数参数作用-r递归删除目录及内容-f强制删除不提示示例rm 1 # 删除文件1 rm -r 1 # 删除目录1带确认提示 rm -f 1 # 强制删除文件1不提示 rm -rf 1 # 强制递归删除目录1及内容普通文件管理创建文件命令touch用法一创建新文件touch a1.c a1.txt a1.py # 创建多个文件 touch a{1..3}.txt # 创建a1.txt到a3.txt touch a{1..3}{a,b} # 创建1a、1b...3a、3b用法二更新文件时间属性touch a1 # 更新a1文件的访问/修改时间 stat a1 # 查看文件详细信息时间属性说明atime最后访问时间mtime内容修改时间ctime元数据修改时间btime创建时间命令dd创建定制大小文件格式示例dd if/dev/zero of/root/1 count2 bs5M # 创建10MB文件 dd if/dev/sr0 ofRHEL9.iso # 制作光盘映像查看文件内容命令cat适合小文件格式cat [-参数] 文件名常用参数参数作用-n显示行号含空行-b显示行号不含空行命令tac倒序显示内容命令more适合大文件特点可翻页查看回车/上下键退出后内容保留在屏幕不支持搜索格式more [-参数] 文件名示例more -S 文件名 # 压缩连续空行命令less改进版more特点退出后内容不保留支持搜索查看到底部不会自动退出命令head查看文件开头示例head 文件名 # 默认显示前10行 head -2 a # 显示a文件前2行命令tail查看文件结尾示例tail a # 显示a文件最后10行 tail -2 a # 显示最后2行 tail -f a # 动态监控文件变化 tail -f /var/log/messages # 实时监控日志高级文件处理管道操作符号|功能将左侧命令输出作为右侧命令输入示例tail -10 /etc/passwd | head -1 # 显示passwd倒数第10行内容过滤命令grep格式grep [-参数] 匹配模式 文件名常用参数参数作用-c统计匹配行数-i忽略大小写-n显示行号-v反向匹配-r递归搜索-w整词匹配-A/-B显示匹配行及下/上n行-C显示匹配行及上下n行正则表达式示例grep -ic a a # 统计a/A出现行数不区分大小写 grep -cv a a # 统计不含a的行数 grep -C2 a a # 显示匹配行及上下各2行 grep ^a /etc/passwd # 查找以a开头的行 grep h$ /etc/passwd # 查找以h结尾的行 grep -n ^root /etc/passwd # 显示以root开头的行及行号 grep ^[root] /etc/passwd # 查找以r/o/t开头的行 grep ^[^root] /etc/passwd # 查找不以r/o/t开头的行 grep -n ^$ a1 # 查找空行并显示行号 grep -n [0-9]$ /etc/passwd # 查找以数字结尾的行 grep -n [a-z]$ /etc/passwd # 查找以字母结尾的行列操作命令cut格式cut -d 分隔符 -f 列号 文件名示例cut -d : -f1 /etc/passwd # 提取passwd第一列文本替换命令tr格式tr [-参数] 原内容 新内容常用参数参数作用-c取反操作-d删除字符-s压缩重复字符示例cat /etc/passwd | tr a-z A-Z # 小写转大写 cat /etc/passwd | tr -d a-z # 删除所有字母 tr -s # 压缩连续空格为单个排序与去重命令sort格式sort [-参数] 文件名常用参数参数作用-f忽略大小写-n数值排序-r逆序排列-u去除重复行-t指定分隔符-k按指定列排序示例sort -t : -k 3 -n /etc/passwd # 按第三列数值排序命令uniq去除连续重复行示例实例uniq -c A # 统计每行连续出现次数实例运用一列出所有账号的账号名/etc/passwd将 /etc/passwd 中内容按照冒号隔开的第三个字符从大到小排序后输出所有内容列出 /etc/passwd 中的的 15 - 20 行内容切割出你的 IP 地址和 mac 地………切割出 /etc/passwd 最后一个字段并进行重复内容的重复次数统计编辑普通文件数据流与重定向标准输入 (0)键盘输入标准输出 (1)默认将指令执行结果输出到屏幕标准错误输出 (2)指令执行失败时输出到屏幕重定向符号输出重定向输入重定向使用方法命令格式功能说明示例指令 A或指令 1A覆盖方式写入文件A不存在则创建date 1 A.txt指令 A追加方式写入文件Adate 1 A.txt指令 2A将错误信息写入文件Als /home/ /aaa 2A.txt指令 2/dev/null丢弃错误信息ls /home/ /aaa 2/dev/null指令 A将正确和错误信息写入文件Als /home/ /aaa A.txt指令 A将A内容作为指令输入cat A.txt指令 结束标识符读取输入直到指定结束标识cat A.txt endecho 命令输出字符串或变量值到屏幕语法格式echo 字符串 echo $变量示例echo hello world aahello aa; echo $aa num1000; echo $num echo $SHELL echo hello a1.txt echo world a1.txt文件合并示例touch t1.txt t2.txt t3.txt echo hello t1.txt echo world t2.txt cat t1.txt t2.txt t3.txttee 命令将输出保存到文件同时显示在屏幕上语法格式tee [-参数] 文件名 tee -a # 追加模式示例cat /etc/passwd | tee mypasswd_2 # 显示并保存vi/vim 编辑器三种模式命令模式阅读模式可移动光标、删除、复制、粘贴输入模式编辑模式末行模式保存、退出、查找模式切换命令→输入i输入→命令ESC命令→末行:或/末行→命令ESC命令模式快捷键按键功能↑↓←→移动光标w/b向后/前移动单词^/$行首/行尾gg/G首行/尾行ngg/nG跳转到第n行dd删除当前行ndd删除n行d^/d$删除到行首/行尾yy复制当前行nyy复制n行p/P粘贴到下一行/上一行u撤销末行模式命令命令功能/word查找word:s/old/new替换当前行第一个old:s/old/new/g替换当前行所有old:n1,n2s/old/new/g替换n1-n2行所有old:%s/old/new/g替换全文old:w保存:q退出:wq保存退出:r /home/file读取文件内容:set nu显示行号:n1,n2d删除n1-n2行vim 配置文件/etc/vimrc和~/.vimrc可配置set hlsearch # 高亮搜索结果 set backspace2 # 完整退格功能 set autoindent # 自动缩进 set tabstop4 # Tab显示为4空格 set mousea # 启用鼠标 set nu # 显示行号 syntax on # 语法高亮链接文件管理硬链接与源文件共享inode不能跨文件系统不能链接目录ln 源文件 链接文件 # 创建硬链接软链接类似Windows快捷方式可跨文件系统可链接目录ln -s 源文件 链接文件 # 创建软链接区别对比特性硬链接软链接inode相同不同源文件删除不受影响失效目录链接不支持支持跨文件系统不支持支持大小与源文件相同路径名长度查看文件属性stat 命令显示文件属性信息包括大小、inode、软硬链接等stat a1 # 查看文件属性 # 输出示例 File: a1 Size: 4013 Blocks: 8 IO Block: 4096 regular file Device: fd00h/64768d Inode: 19873143 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2025-12-27 21:06:54.598846295 0800 Modify: 2025-12-27 21:05:59.590568080 0800 Change: 2025-12-27 21:05:59.590568080 0800 Birth: 2025-12-27 18:33:09.713916575 0800时间属性说明atime最后访问/读取时间mtime内容修改时间ctime元数据修改时间btime文件创建时间刷新 atimestat a1 cat a1 # cat 访问不会刷新 atime # 因默认 relatime 挂载选项减少磁盘 I/O 开销 # relatime 刷新规则 # 1. 距上次 atime 超过 24 小时 # 2. mtime 或 ctime 比 atime 新 mount -o remount,strictatime / # 临时开启严格 atime mount -o remount,relatime / # 恢复默认设置刷新 mtimeecho 1 a1 # 追加内容刷新 mtime # 注意vim 编辑会更新所有时间属性刷新 ctime通过可视化界面重命名文件wc 命令统计行数、字数、字节数格式wc -参数 文件名常用参数-l只显示行数-w只显示单词数-c只显示字符数示例wc /etc/passwd # 输出37 90 2097 /etc/passwd # 分别表示行数 单词数 字节数 # 统计可登录用户数 grep /bin/bash /etc/passwd | wc -l文件操作cp 命令复制文件格式cp -参数 源文件 目标文件常用参数-a保留所有属性递归处理目录保留链接-d保留链接-f强制覆盖-i提示确认覆盖-r递归复制目录示例# 复制文件 touch t1.txt cp t1.txt / # 复制到根目录 cp t1.txt /t2.txt # 复制并重命名 # 复制目录 mkdir p1 cp -r p1/ / # 复制目录到根目录 cp -r p1/ /p2 # 复制并重命名mv 命令移动/重命名文件格式mv 源文件 目标文件示例mv A1 A2 # 移动并可能重命名 mv A1 A2 # 同目录下操作即为重命名文件查找whereis 命令查找可执行文件路径及说明文档whereis catwhich 命令查找可执行文件路径which catfind 命令高级文件搜索基本格式find 路径 -选项 条件 [操作]按文件名搜索find / -name passwd # 精确匹配 find / -iname passwd # 忽略大小写 find / -inum 128 # 按 inode 号 find / -name ?a* | wc -l按大小搜索find / -size -1k # 小于 1KB find / -size -empty # 空文件按时间搜索find / -atime -10 # 10天内访问过的 find / -newer A.txt # 比 A.txt 更新的文件按权限搜索find / -perm 644 # 精确匹配 find / -perm -644 # 包含匹配 find / -perm /644 # 任意匹配按所属者搜索find / -user aya find / -uid 128 find / -nouser # 查找无主文件按类型搜索find /dev -type b # 块设备文件 find ~ -type d # 目录 find /root -type f -size 1k # 普通文件且大于1KB逻辑运算find / -size 10M -a -size -15M # AND find / -name aa* -o -name bb* # OR find / -name b?? -not -user root # NOTexec 操作# 复制找到的文件 find / -name a?? -exec cp -a {} /root/test/ \; # 保存结果到文件 find / -name a?? /root/test/a.txt文件压缩与归档压缩和解压zip 命令格式zip [参数] 压缩后文件名 被压缩文件参数作用-A压缩率1最低9最高默认6-r压缩目录-m移动文件到压缩包不保留源文件-d删除压缩包中的文件-x压缩时排除指定文件示例# 压缩文件 zip A.zip A.txt zip A.zip 1.txt 2.txt # 压缩目录压缩等级1 mkdir a zip -r1 A.zip a/ du -hs A.zip # 查看压缩文件大小 # 管理压缩包内容 zip -m a.zip a3 # 添加文件并删除源文件 zip -d a.zip a1 # 删除压缩包中的文件 zip a.zip a? -x a3 # 压缩文件时排除a3unzip 命令格式unzip [参数] 压缩包名参数作用-d解压到指定目录-v查看压缩包内容不解压示例unzip -v a.zip # 查看压缩包内容 unzip a.zip -d a # 解压到指定目录 # 使用绝对路径 touch b1 zip b.zip /root/b1 mkdir c unzip b.zip -d c/ tree /root/c/xz/unxz 命令特点默认不保留源文件不支持直接压缩目录压缩效率xz bzip2 gzip格式xz [参数] 被压缩文件参数作用-c标准输出可重定向保留源文件-k保留源文件-v显示详细过程-d解压缩等同于unxz-r递归压缩目录下的文件压缩文件查看命令zcat查看.gz文件内容bzcat查看.bz2文件内容xzcat查看.xz文件内容注意这些命令返回的是源文件内容而zip压缩包查看显示的是文件名列表。归档命令tar 命令基本格式tar [参数] 打包后文件名 被打包文件主要参数参数作用-c创建.tar包文件-x释放.tar包文件-t查看.tar包文件列表-f指定文件名必选辅助参数参数作用-v显示详细过程-z使用gzip压缩.tar.gz-j使用bzip2压缩.tar.bz2-J使用xz压缩.tar.xz操作示例# 打包 tar cf 文件名.tar 被打包目录/文件 # 打包并压缩 tar czf 文件名.tar.gz 目录/文件 tar cjf 文件名.tar.bz2 目录/文件 tar cJf 文件名.tar.xz 目录/文件 # 释放 tar xf 文件名.tar -C 目标路径 # 释放并解压 tar xf/xzf 文件名.tar.gz -C 目标路径 tar xf/xjf 文件名.tar.bz2 -C 目标路径 tar xf/xJf 文件名.tar.xz -C 目标路径 # 查看包内容 tar tf 文件名.tar tar tzf 文件名.tar.gz tar tjf 文件名.tar.bz2 tar tJf 文件名.tar.xz总结zip 原生支持目录压缩gzip/bzip2/xz 仅支持单文件压缩需先使用tar打包文件传输scp 命令Linux主机间文件传输# 本地传输到远程主机 scp -r /root/test root192.168.17.200:/root/ # 远程主机传输到本地 scp -r root192.168.17.200:/root/file1 /root/test实例运用二题目附着结果代码1.在 root 用户的家目录下创建两个目录分别为 haha 和 hehe复制 hehe 目录到 haha 目录并重命名为 apple。 #mkdir haha hehe | cp -r hehe haha/apple 2.将 hehe 目录移动到 apple 目录下在 haha 目录下创建一个普通文件为 heihei.txt。 #mv hehe haha/apple/ | touch /root/haha/heihei.txt 3.在终端中显示当前系统时间时间格式为月日时 #date %m %d %h 4.将上述显示的时间保存在文件 A.txt 中 #date %m %d %h A.txt 5.用户配置/etc/passwd文件将 34 字段分别截取出来写入文件 UID 和文件 GID #cut -d : -f3 /etc/passwd UID | cut -d : -f4 /etc/passwd GID 6、将/etc/passwd中内容按照冒号隔开的第三个字符从大到小排序后输出所有内容 #sort -t : -k 3 -rn /etc/passwd 7、列出/etc/passwd中的第20行-25行内容 #head -24 /etc/passwd | tail -5 8、切割出你的ip地址和mac地址 # ip a | grep ens160$ | tr -s | cut -d -f3 #ip a | grep ff$ | tr -s | cut -d -f3 9、通过:切割出/etc/passwd中的最后一个字段并进行重复内容的重复次数统计 #cut -d : -f7 /etc/passwd | sort | uniq | uniq -c 10、查找/var所有的日志文件*.log备份在自定义的日志目录/logfile下。 #find /var -name *.log -exec cp -a {} /logfile/ \; 11、将备份好的所有日志文件进行压缩格式为.gz 包名为all_log_backup.tar.gz。 #tar zcf all_log_backup.tar.gz /logfile/ 12、将压缩包中的文件解压到/root/log_backup目录下。 #tar zxf all_log_backup.tar.gz -C /root/log_backup
Linux中如何用指令文件管理
发布时间:2026/6/13 21:34:02
文件命名规则目录也是文件类型之一在同一路径下不允许两个不同类型文件同名目录文件管理本质是对目录下的文件进行增删改查操作创建目录命令mkdir(make directory)基本格式mkdir [-参数] 目录名常用参数参数作用-p递归创建目录可创建多级嵌套目录已存在目录不会被覆盖-v显示创建过程特殊符号应用mkdir t1 t2 # 同时创建t1和t2目录 mkdir {1,2,3} # 创建1、2、3目录 mkdir {1..3} # 创建1、2、3目录 mkdir {1..5..2} # 以步长2创建1、3、5目录 mkdir {1,2}{a} # 创建1a、2a目录 mkdir -p t1/t2 # 创建t1目录并在其中创建t2子目录 mkdir -v t1 # 显示创建t1的过程 mkdir /root/t1 # 在/root目录下创建t1目录查看目录命令ls常用通配符通配符作用*匹配任意多个字符?匹配单个字符[]匹配括号内单个字符-表示范围[^]或[!]取反匹配括号内任意字符示例ll -d # 仅查看目录 ll -d A* # 显示所有A开头的文件夹 ll -d A? # 显示除a10外的所有A开头单字符文件夹如a1-a9 ll -d A[123] # 显示a1、a2、a3目录 ll -d A[1-5] # 显示a1到a5目录 ll -d A[^1-5] # 显示a6到a10目录命令tree树形结构显示格式tree [-参数] [路径]常用参数参数作用-a显示所有文件包括隐藏文件-f显示完整路径-d仅显示目录-L设置显示深度示例tree -L 2 /root # 显示/root目录下2层结构命令du统计目录磁盘使用情况常用参数参数作用-a统计所有文件大小-s仅统计指定路径大小-h以易读格式显示删除目录命令rm格式rm [-参数] 文件名常用参数参数作用-r递归删除目录及内容-f强制删除不提示示例rm 1 # 删除文件1 rm -r 1 # 删除目录1带确认提示 rm -f 1 # 强制删除文件1不提示 rm -rf 1 # 强制递归删除目录1及内容普通文件管理创建文件命令touch用法一创建新文件touch a1.c a1.txt a1.py # 创建多个文件 touch a{1..3}.txt # 创建a1.txt到a3.txt touch a{1..3}{a,b} # 创建1a、1b...3a、3b用法二更新文件时间属性touch a1 # 更新a1文件的访问/修改时间 stat a1 # 查看文件详细信息时间属性说明atime最后访问时间mtime内容修改时间ctime元数据修改时间btime创建时间命令dd创建定制大小文件格式示例dd if/dev/zero of/root/1 count2 bs5M # 创建10MB文件 dd if/dev/sr0 ofRHEL9.iso # 制作光盘映像查看文件内容命令cat适合小文件格式cat [-参数] 文件名常用参数参数作用-n显示行号含空行-b显示行号不含空行命令tac倒序显示内容命令more适合大文件特点可翻页查看回车/上下键退出后内容保留在屏幕不支持搜索格式more [-参数] 文件名示例more -S 文件名 # 压缩连续空行命令less改进版more特点退出后内容不保留支持搜索查看到底部不会自动退出命令head查看文件开头示例head 文件名 # 默认显示前10行 head -2 a # 显示a文件前2行命令tail查看文件结尾示例tail a # 显示a文件最后10行 tail -2 a # 显示最后2行 tail -f a # 动态监控文件变化 tail -f /var/log/messages # 实时监控日志高级文件处理管道操作符号|功能将左侧命令输出作为右侧命令输入示例tail -10 /etc/passwd | head -1 # 显示passwd倒数第10行内容过滤命令grep格式grep [-参数] 匹配模式 文件名常用参数参数作用-c统计匹配行数-i忽略大小写-n显示行号-v反向匹配-r递归搜索-w整词匹配-A/-B显示匹配行及下/上n行-C显示匹配行及上下n行正则表达式示例grep -ic a a # 统计a/A出现行数不区分大小写 grep -cv a a # 统计不含a的行数 grep -C2 a a # 显示匹配行及上下各2行 grep ^a /etc/passwd # 查找以a开头的行 grep h$ /etc/passwd # 查找以h结尾的行 grep -n ^root /etc/passwd # 显示以root开头的行及行号 grep ^[root] /etc/passwd # 查找以r/o/t开头的行 grep ^[^root] /etc/passwd # 查找不以r/o/t开头的行 grep -n ^$ a1 # 查找空行并显示行号 grep -n [0-9]$ /etc/passwd # 查找以数字结尾的行 grep -n [a-z]$ /etc/passwd # 查找以字母结尾的行列操作命令cut格式cut -d 分隔符 -f 列号 文件名示例cut -d : -f1 /etc/passwd # 提取passwd第一列文本替换命令tr格式tr [-参数] 原内容 新内容常用参数参数作用-c取反操作-d删除字符-s压缩重复字符示例cat /etc/passwd | tr a-z A-Z # 小写转大写 cat /etc/passwd | tr -d a-z # 删除所有字母 tr -s # 压缩连续空格为单个排序与去重命令sort格式sort [-参数] 文件名常用参数参数作用-f忽略大小写-n数值排序-r逆序排列-u去除重复行-t指定分隔符-k按指定列排序示例sort -t : -k 3 -n /etc/passwd # 按第三列数值排序命令uniq去除连续重复行示例实例uniq -c A # 统计每行连续出现次数实例运用一列出所有账号的账号名/etc/passwd将 /etc/passwd 中内容按照冒号隔开的第三个字符从大到小排序后输出所有内容列出 /etc/passwd 中的的 15 - 20 行内容切割出你的 IP 地址和 mac 地………切割出 /etc/passwd 最后一个字段并进行重复内容的重复次数统计编辑普通文件数据流与重定向标准输入 (0)键盘输入标准输出 (1)默认将指令执行结果输出到屏幕标准错误输出 (2)指令执行失败时输出到屏幕重定向符号输出重定向输入重定向使用方法命令格式功能说明示例指令 A或指令 1A覆盖方式写入文件A不存在则创建date 1 A.txt指令 A追加方式写入文件Adate 1 A.txt指令 2A将错误信息写入文件Als /home/ /aaa 2A.txt指令 2/dev/null丢弃错误信息ls /home/ /aaa 2/dev/null指令 A将正确和错误信息写入文件Als /home/ /aaa A.txt指令 A将A内容作为指令输入cat A.txt指令 结束标识符读取输入直到指定结束标识cat A.txt endecho 命令输出字符串或变量值到屏幕语法格式echo 字符串 echo $变量示例echo hello world aahello aa; echo $aa num1000; echo $num echo $SHELL echo hello a1.txt echo world a1.txt文件合并示例touch t1.txt t2.txt t3.txt echo hello t1.txt echo world t2.txt cat t1.txt t2.txt t3.txttee 命令将输出保存到文件同时显示在屏幕上语法格式tee [-参数] 文件名 tee -a # 追加模式示例cat /etc/passwd | tee mypasswd_2 # 显示并保存vi/vim 编辑器三种模式命令模式阅读模式可移动光标、删除、复制、粘贴输入模式编辑模式末行模式保存、退出、查找模式切换命令→输入i输入→命令ESC命令→末行:或/末行→命令ESC命令模式快捷键按键功能↑↓←→移动光标w/b向后/前移动单词^/$行首/行尾gg/G首行/尾行ngg/nG跳转到第n行dd删除当前行ndd删除n行d^/d$删除到行首/行尾yy复制当前行nyy复制n行p/P粘贴到下一行/上一行u撤销末行模式命令命令功能/word查找word:s/old/new替换当前行第一个old:s/old/new/g替换当前行所有old:n1,n2s/old/new/g替换n1-n2行所有old:%s/old/new/g替换全文old:w保存:q退出:wq保存退出:r /home/file读取文件内容:set nu显示行号:n1,n2d删除n1-n2行vim 配置文件/etc/vimrc和~/.vimrc可配置set hlsearch # 高亮搜索结果 set backspace2 # 完整退格功能 set autoindent # 自动缩进 set tabstop4 # Tab显示为4空格 set mousea # 启用鼠标 set nu # 显示行号 syntax on # 语法高亮链接文件管理硬链接与源文件共享inode不能跨文件系统不能链接目录ln 源文件 链接文件 # 创建硬链接软链接类似Windows快捷方式可跨文件系统可链接目录ln -s 源文件 链接文件 # 创建软链接区别对比特性硬链接软链接inode相同不同源文件删除不受影响失效目录链接不支持支持跨文件系统不支持支持大小与源文件相同路径名长度查看文件属性stat 命令显示文件属性信息包括大小、inode、软硬链接等stat a1 # 查看文件属性 # 输出示例 File: a1 Size: 4013 Blocks: 8 IO Block: 4096 regular file Device: fd00h/64768d Inode: 19873143 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2025-12-27 21:06:54.598846295 0800 Modify: 2025-12-27 21:05:59.590568080 0800 Change: 2025-12-27 21:05:59.590568080 0800 Birth: 2025-12-27 18:33:09.713916575 0800时间属性说明atime最后访问/读取时间mtime内容修改时间ctime元数据修改时间btime文件创建时间刷新 atimestat a1 cat a1 # cat 访问不会刷新 atime # 因默认 relatime 挂载选项减少磁盘 I/O 开销 # relatime 刷新规则 # 1. 距上次 atime 超过 24 小时 # 2. mtime 或 ctime 比 atime 新 mount -o remount,strictatime / # 临时开启严格 atime mount -o remount,relatime / # 恢复默认设置刷新 mtimeecho 1 a1 # 追加内容刷新 mtime # 注意vim 编辑会更新所有时间属性刷新 ctime通过可视化界面重命名文件wc 命令统计行数、字数、字节数格式wc -参数 文件名常用参数-l只显示行数-w只显示单词数-c只显示字符数示例wc /etc/passwd # 输出37 90 2097 /etc/passwd # 分别表示行数 单词数 字节数 # 统计可登录用户数 grep /bin/bash /etc/passwd | wc -l文件操作cp 命令复制文件格式cp -参数 源文件 目标文件常用参数-a保留所有属性递归处理目录保留链接-d保留链接-f强制覆盖-i提示确认覆盖-r递归复制目录示例# 复制文件 touch t1.txt cp t1.txt / # 复制到根目录 cp t1.txt /t2.txt # 复制并重命名 # 复制目录 mkdir p1 cp -r p1/ / # 复制目录到根目录 cp -r p1/ /p2 # 复制并重命名mv 命令移动/重命名文件格式mv 源文件 目标文件示例mv A1 A2 # 移动并可能重命名 mv A1 A2 # 同目录下操作即为重命名文件查找whereis 命令查找可执行文件路径及说明文档whereis catwhich 命令查找可执行文件路径which catfind 命令高级文件搜索基本格式find 路径 -选项 条件 [操作]按文件名搜索find / -name passwd # 精确匹配 find / -iname passwd # 忽略大小写 find / -inum 128 # 按 inode 号 find / -name ?a* | wc -l按大小搜索find / -size -1k # 小于 1KB find / -size -empty # 空文件按时间搜索find / -atime -10 # 10天内访问过的 find / -newer A.txt # 比 A.txt 更新的文件按权限搜索find / -perm 644 # 精确匹配 find / -perm -644 # 包含匹配 find / -perm /644 # 任意匹配按所属者搜索find / -user aya find / -uid 128 find / -nouser # 查找无主文件按类型搜索find /dev -type b # 块设备文件 find ~ -type d # 目录 find /root -type f -size 1k # 普通文件且大于1KB逻辑运算find / -size 10M -a -size -15M # AND find / -name aa* -o -name bb* # OR find / -name b?? -not -user root # NOTexec 操作# 复制找到的文件 find / -name a?? -exec cp -a {} /root/test/ \; # 保存结果到文件 find / -name a?? /root/test/a.txt文件压缩与归档压缩和解压zip 命令格式zip [参数] 压缩后文件名 被压缩文件参数作用-A压缩率1最低9最高默认6-r压缩目录-m移动文件到压缩包不保留源文件-d删除压缩包中的文件-x压缩时排除指定文件示例# 压缩文件 zip A.zip A.txt zip A.zip 1.txt 2.txt # 压缩目录压缩等级1 mkdir a zip -r1 A.zip a/ du -hs A.zip # 查看压缩文件大小 # 管理压缩包内容 zip -m a.zip a3 # 添加文件并删除源文件 zip -d a.zip a1 # 删除压缩包中的文件 zip a.zip a? -x a3 # 压缩文件时排除a3unzip 命令格式unzip [参数] 压缩包名参数作用-d解压到指定目录-v查看压缩包内容不解压示例unzip -v a.zip # 查看压缩包内容 unzip a.zip -d a # 解压到指定目录 # 使用绝对路径 touch b1 zip b.zip /root/b1 mkdir c unzip b.zip -d c/ tree /root/c/xz/unxz 命令特点默认不保留源文件不支持直接压缩目录压缩效率xz bzip2 gzip格式xz [参数] 被压缩文件参数作用-c标准输出可重定向保留源文件-k保留源文件-v显示详细过程-d解压缩等同于unxz-r递归压缩目录下的文件压缩文件查看命令zcat查看.gz文件内容bzcat查看.bz2文件内容xzcat查看.xz文件内容注意这些命令返回的是源文件内容而zip压缩包查看显示的是文件名列表。归档命令tar 命令基本格式tar [参数] 打包后文件名 被打包文件主要参数参数作用-c创建.tar包文件-x释放.tar包文件-t查看.tar包文件列表-f指定文件名必选辅助参数参数作用-v显示详细过程-z使用gzip压缩.tar.gz-j使用bzip2压缩.tar.bz2-J使用xz压缩.tar.xz操作示例# 打包 tar cf 文件名.tar 被打包目录/文件 # 打包并压缩 tar czf 文件名.tar.gz 目录/文件 tar cjf 文件名.tar.bz2 目录/文件 tar cJf 文件名.tar.xz 目录/文件 # 释放 tar xf 文件名.tar -C 目标路径 # 释放并解压 tar xf/xzf 文件名.tar.gz -C 目标路径 tar xf/xjf 文件名.tar.bz2 -C 目标路径 tar xf/xJf 文件名.tar.xz -C 目标路径 # 查看包内容 tar tf 文件名.tar tar tzf 文件名.tar.gz tar tjf 文件名.tar.bz2 tar tJf 文件名.tar.xz总结zip 原生支持目录压缩gzip/bzip2/xz 仅支持单文件压缩需先使用tar打包文件传输scp 命令Linux主机间文件传输# 本地传输到远程主机 scp -r /root/test root192.168.17.200:/root/ # 远程主机传输到本地 scp -r root192.168.17.200:/root/file1 /root/test实例运用二题目附着结果代码1.在 root 用户的家目录下创建两个目录分别为 haha 和 hehe复制 hehe 目录到 haha 目录并重命名为 apple。 #mkdir haha hehe | cp -r hehe haha/apple 2.将 hehe 目录移动到 apple 目录下在 haha 目录下创建一个普通文件为 heihei.txt。 #mv hehe haha/apple/ | touch /root/haha/heihei.txt 3.在终端中显示当前系统时间时间格式为月日时 #date %m %d %h 4.将上述显示的时间保存在文件 A.txt 中 #date %m %d %h A.txt 5.用户配置/etc/passwd文件将 34 字段分别截取出来写入文件 UID 和文件 GID #cut -d : -f3 /etc/passwd UID | cut -d : -f4 /etc/passwd GID 6、将/etc/passwd中内容按照冒号隔开的第三个字符从大到小排序后输出所有内容 #sort -t : -k 3 -rn /etc/passwd 7、列出/etc/passwd中的第20行-25行内容 #head -24 /etc/passwd | tail -5 8、切割出你的ip地址和mac地址 # ip a | grep ens160$ | tr -s | cut -d -f3 #ip a | grep ff$ | tr -s | cut -d -f3 9、通过:切割出/etc/passwd中的最后一个字段并进行重复内容的重复次数统计 #cut -d : -f7 /etc/passwd | sort | uniq | uniq -c 10、查找/var所有的日志文件*.log备份在自定义的日志目录/logfile下。 #find /var -name *.log -exec cp -a {} /logfile/ \; 11、将备份好的所有日志文件进行压缩格式为.gz 包名为all_log_backup.tar.gz。 #tar zcf all_log_backup.tar.gz /logfile/ 12、将压缩包中的文件解压到/root/log_backup目录下。 #tar zxf all_log_backup.tar.gz -C /root/log_backup