目录
——用于查看短文本文件的内容
-n:显示行号
-b:显示非空行号
-num:指定文件显示多少行内容,如果不带选项默认是10行
——从尾部去阅读文件
-n num 指定一次显示多少内容
-f 选项可以保持与日志文件同步,达到实时更新
tail命令更多的用于查看系统日志文件,按【CTRL+C】键终止显示和跟踪
——首先会显示阅读的进度,其次阅读到最后时会自动退出,空格向下翻页,b按键向上翻页,enter向下按行滚动
-c 先清空命令之上的内容,后开始显示文件
——没有进度显示,并且阅读完毕后也不会自动退出。空格向下翻页,b按键向上翻页,enter向下按行滚动,按 按键"q" 退出文件
-c 先清空命令之上的内容,后开始显示文件
-N 在每行前添加输出行号
grep [选项] 关键字 文件
command | grep 关键字
-n 显示行号
-i 不区分大小写
-v 反向选择——列出没有关键字的行
-A n /-B n /-C n 向下多显示n行/向上多显示n行/上下多显示n行
-c 显示找到了多少行
搭配cat命令过滤使用
单独使用grep
grep a 文件名 查找文件中包含a的行
grep ^a 文件名 查找文件中a开头的行
grep ^[abc] 文件名 查找文件中a|b|c开头的行。(也开始【0-9】【a-z】表示范围)
grep ^[^a] 文件名 查找文件中非a的行
grep a$ 文件名 显示a结尾的行
grep ^$ 文件名 匹配空行,过滤空白行
grep -r h ./* 如果要明确搜索当前目录中的子目录由h的行
grep -d skip h./* 忽略当前目录下的子目录下的普通文件
查找以a-z开头的:
查找以n结尾的:
查找不是以a开头的:
cut [选项] 文件
-d 指定用于划分列的分隔符
-f n 指定划分后提取第n列
-c n 提取文件每一行的第n字符
sort [选项] 文件
-r 降序
-n 以数值类型进行排序
-u 去重
-t 分隔符
-k 以某一列进行排序
-f 忽略大小写
-b 忽略缩进与空格
- # 以:为分割符然后用第三列进行数值排序并只显示前三行
- [root@localhost ~]# sort -t : -k 3 -n /etc/passwd | head -3
- root:x:0:0:root:/root:/bin/bash
- bin:x:1:1:bin:/bin:/sbin/nologin
- daemon:x:2:2:daemon:/sbin:/sbin/nologin
1、定义
用于去除文本中连续的重复行
2、格式
uniq [选项] 文件
3、选项
-c count,统计字符出现的次数
command | tr [选项] [old] [new]
-c 反选设定字符
-d 删除指定的字符
-s 缩进连续重复字符成单个字符
将file中的所有小写字母替换成大写字母
cp copy复制文件
格式:cp [选项] 源文件 目标文件
选项:
-a 通常在拷贝目录时使用。保留链接、文件属性,并递归地拷贝目录
-d 拷贝时保留链接
-f 在覆盖已经存在的目标文件时不提示(强制覆盖不做提醒)
-i 在覆盖目标文件前将给出提示要求用户确认,回答y时目标文件将被覆盖,是交互式拷贝
-p 除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中
-r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名
mv move移动文件(剪切或重命名)
格式:mv [选项] 源文件名称 目标文件名称
——剪切操作不同于复制操作,因为它会把源文件删除掉,只保留剪切后的文件。如果在同一个目录中将某个文件剪切后还粘贴到当前目录下,其本质就是对文件进行了重命名操作
原本的date.txt
[root@localhost ~]# mv date.txt new_date.txt
移动操作后:
移动多个文件时,最后一个参数必须是一个路径,也就是容纳多个文件的位置
搭配通配符
——查看命令的保存位置,以及相关的说明文档
- [root@localhost new_dir]# whereis ls
- ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
——查看命令的保存位置(命令的可执行文件路径)
- [root@localhost new_dir]# which ll
- alias ll='ls -l --color=auto'
- /usr/bin/ls
——本质是一个查询本地数据库的命令,在数据库中查找文件的位置
——优:速度最快,效率最高,消耗资源小
——缺:需要更新数据库,更新命令(update、updatedb)
——可按照文件名、文件大小、文件权限、类型、所属者、所属组、时间等待来进行的检索
格式:find 范围 [选项] [关键字]
选项:
-name 根据文件名进行搜索
-iname 文件名不区分大小写
-inum 根据硬盘索引号搜索
-path 可对文件的dirname + basename 进行查找
-size +/- n(k/m/g/t) 通过文件的大于/小于 n(kb/mb/gb)进行匹配
-atime +/- n 根据访问时间搜索——n天以内/以外访问过的文件,如不带符号表示 n~n+1
-mtime 根据修改时间搜索 根据访问时间搜索——n天以内/以外访问过的文件
-ctime 根据元数据修改时间搜索 根据访问时间搜索——n天以内/以外访问过的文件
-newer file1 -newer !f2
-perm 根据权限去搜索(r:read、w:write、x:excute)
-type 根据文本类型去搜索
-a and 逻辑与(优先级:与>或>非)
-o or 逻辑或
-not not 逻辑非
实例操作:
- [root@localhost ~]# find . -name file # . 代表当前路径
- ./file
-
- [root@localhost ~]# find $(pwd) -name file
- /root/file
——可压缩文件和目录
格式:zip file (压缩)
unzip file (解压)
压缩率最高,使用-9 (指定压缩率压缩文件)
多文件压缩
- [root@localhost ~]# zip files.zip file file1 file2 file3
- adding: file (deflated 45%)
- adding: file1 (stored 0%)
- adding: file2 (stored 0%)
- adding: file3 (stored 0%)
展示压缩包里的内容:(不解压)
解压缩到指定目录:
压缩文件夹:
- # 向压缩文件中的files.zip中添加file4.txt文件
- zip -m files.zip file4.txt
-
- # 删除压缩文件中的文件
- zip -d files.zip file4.txt
-
- # 压缩文件时排除某个文件
- zip files.zip *.txt -x file4.txt
格式:gzip 文件名 (压缩)
gunzip 压缩包名称 (解压) = gzip -d 命令
——不需要指定压缩包的名字,回车即可对文件进行压缩
——对文件夹进行压缩,其实是对文件夹下子文件都进行压缩
查看压缩过的文本文件内容:
——zcat 文件名.gz
——zless 文件名.gz (退出——“:q”)
使用gzip压缩文件(压缩之后原始文件丢失)
使用gzip压缩目录下文件(压缩之后原始文件丢失)
压缩且保留原始文件
压缩:bzip2 文件名
压缩且保留源文件:bzip2 文件名 -k
指定压缩率:bzip2 -9 文件名
解压:bzip2 -d 文件名.bz2
bunzip 文件名.bz2
查看压缩过的文件内容:
bzcat 文件名.bz2
bzless 文件名.bz2
压缩:
xz 文件名 (不保留原文件)
xz 文件名 -k (保留原文件)
xz 目录名/* (压缩目录下的所有文件)
xzcat 文件名.xz (查看压缩文件内容 也可用xzless)
解压:
xz -d 压缩包名.xz
unxz -压缩包名.xz
tar [选项] [args]......
(任选其一):
-c 创建.tar格式的包文件
-x 释放.tar格式的包文件
-t 查看包中文件列表
(必选):
-f 用于指定打包文件名,当与-c选项一起使用时,创建的tar包文件使用该选项指定的文件名;当与-x选项一起使用时,则释放该选项指定的tar包文件
(辅助选项):
-v 表示在命令执行时显示详细的提示详细
-p 打包时保留文件及目录的权限
-z 调用gzip程序,以gzip格式压缩或解压缩文件(.tar.gz)
-j 调用bzip2程序,以bzip2格式压缩或解压缩文件(.tar.bz2)
-J 使用xz压缩或解压缩文件(.tar.xz),xz的压缩率通常比bzip2更高
-C 和-x选项一起使用,表示释放包时指定释放的目标路径
- # 打包czf/cjf/cJf
- [root@localhost ~]# tar czf files.gz file1 file2 file3
-
- # 查看包内文件 tf
- [root@localhost ~]# tar tf files.gz
- file1
- file2
- file3
-
- # 查看包内文件详情
- [root@localhost ~]# tar tvf files.gz
- -rw-r--r-- root/root 11 2023-09-19 12:10 file1
- -rw-r--r-- root/root 8 2023-09-17 18:26 file2
- -rw-r--r-- root/root 8 2023-09-17 18:26 file3
-
- # 解压 xf/xzf/xjf/xJf
- [root@localhost ~]# tar -xf files.gz