文件内容管理命令

109 阅读3分钟

显示命令

cat

cat 查看文件

选项效果
-n显示行号包括空行
-b跳过空白行编号
-s将所有的连续的多个空行替换为一个空行(压缩成一个空行)
-A显示隐藏字符

tac

逆向显示文本内容

[root@centos8 ~]#seq 10 | tac
10
9
8
7
6
5
4
3
2
1

rev

[root@centos8 ~]#echo {1..10} |rev
01 9 8 7 6 5 4 3 2 1

将同一行的内容逆向显示

显示文件前后内容

head

格式

head -n 具体数字 文件名 (不加具体的数字,默认开头十行)

tail

tail 和head 相反,查看文件或标准输入的倒数行

tail      -n      具体数字  文件名     (不加具体的数字,默认结尾十行)

tail      -f       具体数字  文件名        实时跟踪最后十行

image.png

wc

wc [选项]... 目标文件..

统计列数,wc本身就是参数 word

  • -l:统计行数
  • -w:统计单词个数
  • -c:统计字节数

grep

grep [选项]… 查找条件 目标文件

  • -i:查找时忽略大小写
  • -v:反向查找,输出与查找条件不相符的行
  • -o 只显示匹配项
  • -f 对比两个文件的相同行
  • -c 匹配的行数([root@localhost ky15]# grep -c root passwd 2)

基本格式

  • 要查找的字符串以双引号括起来单引号也可以
  • “^……”表示以……开头,“……$”表示以……结尾
  • “^$”表示空行

查找文件

locate

locate

  • locate 查询系统上预建的文件索引数据库 /var/lib/mlocate/mlocate.db
  • 索引的构建是在系统较为空闲时自动进行(周期性任务),执行updatedb可以更新数据库
  • 索引构建过程需要遍历整个根文件系统,很消耗资源
  • locate和updatedb命令来自于mlocate包
-i 不区分大小写的搜索
-n N 只列举前N个匹配项目

updatedb 

[root@localhost /]#touch YJ
[root@localhost /]#
[root@localhost /]#
[root@localhost /]#updatedb
[root@localhost /]#locate -i yj
/YJ
/yj
/usr/share/man/man3/pthread_tryjoin_np.3.gz
[root@localhost /]#locate -n 2 yj
/yj
/usr/share/man/man3/pthread_tryjoin_np.3.gz
[root@localhost /]#locate -n 1 yj
/yj

find

命令的特点:

  • 精确查找
  • 实时查找
  • 支持查找条件巨多 格式 find 范围 [条件表达] 处理动作

范围:指定目标路径,不指定默认当前目录 条件: 可以对文件名,类型,权限,等标准进行查找;默认为找出指定路径下的所有文件

常用可选项

查找类型关键字说明
按名称查找-name根据目标文件的名称进行查找,允许使用“*”及“?”通配符 -iname "文件名称" 不区分大小写
按文件大小查找-size根据目标文件的大小进行查找 一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件 常用的容量单位包括 kB(注意 k 是小写)、MB、GB
按文件属主查找-user根据文件是否属于目标用户进行查找
按文件类型查找-type根据文件的类型进行查找 文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等
按inode号-inum根据文件inode号查找
按权限查找-perm按文件权限查找
最大搜索目录深度-maxdepth level将你的文件已分级的形式查找
最小搜索目录深度-mindepth level同上 find /etc -maxdepth 2 -mindepth 2

处理动作;对符合的文件进行操作,默认打印(print)

处理动作

print

ls 显示

delate 删除 fls 存 -ok 连接符 -exec