目录
1. 文本内容统计wc
1.4. 示例
2. 复制、移动文件
2.1. 复制文件或目录
2.2. 移动文件或目录
3. 查找文件
3.1. 查找文件路径
3.1.1. whereis命令
3.1.2. which命令
3.2. 查找文件-find
3.2.5. 示例
1. 按照文件名搜索
2. 按照文件大小搜索
3. 按照修改时间搜索
4. 按照权限搜索
5. 按照所有者和所属组搜索
6. 按照文件类型搜索
7.逻辑运算符
8. -exec参数
4. 压缩和解压缩
4.1. zip和unzip命令
例:
4.2. gzip命令
4.3. bzip2命令
4.4. xz、unxz命令
5. tar归档命令
5.1. 格式
5.2. 参数
5.3. 格式
5.4. 示例
1.1. 作用
wc命令用于统计指定文本文件的行数、字数或字节数
1.2. 格式
wc -参数 文件名
1.3. 参数
统计所有
38 89 2136 /etc/passwd
行数· 单词数 字节数
配合管道符计算
显示文件数
2.1.1. 格式
cp -参数 源文件 目标文件
2.1.2. 参数
2.2.1. 作用
mv命令用于剪切或重命名文件
2.2.2. 格式
mv [选项] 源文件名称 目标文件名称
2.2.3. 注意
1.剪切操作不同于复制操作,因为它会把源文件删除掉,只保留剪切后的文件。
2.如果在同一个目录中将某个文件剪切后还粘贴到当前目录下,其实本质就是对文件进行了重命名操作。
证明注意一:
[root@server q1]# ls f1.txt m1 r2 r3 t1 [root@server q1]# mv t1 /root/q1/m1/ [root@server q1]# ls f1.txt m1 r2 r3 [root@server q1]#
证明注意二:
[root@server q1]# cd m1 [root@server m1]# ls t1 [root@server m1]# mv t1 t5 [root@server m1]# ls t5 [root@server m1]#
作用:可以搜索系统命令的可执行文件路径和说明文档
格式:whereis 命令名
例:
作用:搜索系统命令的可执行文件
格式: which 命令名
例:
3.2.1. 作用
按照文件名、大小、时间、权限、类型、所属者、所属组 来搜索文件
3.2.2. 格式
find 查找路径 查找条件 具体条件 操作
3.2.3. 注意
1.find命令默认的操作是print输出
2.find是检索文件的,grep是过滤文件中字符串
3.2.4. 参数
-name:按照文件名搜索
-iname:按照文件名搜索,不区分文件名大小写
-inum:按照 inode 号搜索
没有那个文件或目录:find命令在执行时,在内存中自己产生的临时文件,执行完既消失
注意:搜索位置越大,消耗系统资源越多,在生产服务器上搜索的时候,尽量不在根目录下搜索,把 搜索的范围尽量控制在最小
# /目录下检索名为passwd的文件
[root@server q1]# find / -name "passwd" -print
# /etc下检索host开头的文件
[root@server ~]# find /etc -name "host*" -print
#在/目录查找以a开头文件
[root@server ~]# find / -name "a*"
# 在/目录中查找以b开头的不区分大小写的文件
[root@server ~]# find / -iname "b*"
# 在/etc目录下检索以b开头共4个字符的文件
[root@server ~]# find /etc -name "b???"
# 在/etc目录下检索第二个字母为c的文件
[root@server ~]# find /etc -name "?c*"
# /目录下检索扩展名为.cfg的文件
[root@server ~]# find / -name "*.cfg"
# /目录下检索扩展名为.txt的文件并统计个数
[root@server ~]# find / -name "*.txt" | wc -l
-size [+|-]大小: 按照指定大小搜索文件,“+”的意思是搜索比指定大小还要大的文件, “-”的意思是 搜索比指定大小还要小的文件
单位:可以通过man find 查看size参数的单位
# 默认单位,如果单位为b或不写单位,则按照512 Byte搜索。
' b':for 512-byte blocks(this is the default if no suffix is used)
#搜索单位是c,按照字节搜索。
'c':for bytes
#搜索单位是w,按照双字节(中文)搜索。'w':for two-byte words
#按照KB单位搜索,必须是小写的k。
'k':for Kilobytes(units of 1024 bytes)
#按照MB单位搜索,必须是大写的M
'M':for Megabytes(units of 1048576 bytes)
#按照GB单位搜索,必须是大写的G
' G':for Gigabytes(units of 1073741824 bytes)
[root@server ~]# find / -size -1k |wc -l
[root@server ~]# find / -size +100M |wc -l
[root@server ~]# find . -empty | wc -l # 空文件 | 个数
-atime [+|-]时间: 按照文件访问时间搜索
-mtime [+|-]时间: 按照文件数据修改时间搜索
-ctime [+|-]时间: 按照文件状态修改 时间搜索
-newer file: 把比file修改时间更新的文件列出来
注意:时间范围问题
-5:代表 5 天内修改的文件。
5:代表前 5~6 天那一天修改的文件。
+5:代表 6 天前修改的文件。
[root@master ~]# find / -mtime -10 -empty 10天以内的空文件
-perm 权限模式: 查找文件权限刚好等于“权限模式”的文件 ,常用
-perm -权限模式: 查找文件权限全部包含“权限模式”的文件
-perm +权限模式: 查找文件权限包含“权限模式”的任意一个权限的文件
如果要在整个系统中搜索权限中包括SUID权限的所有文件,只需使用-4000即可:
[root@server ~]# find . perm 755
[root@server ~]# find / -perm -4000
-uid 用户 ID: 按照用户 ID 查找所有者是指定 ID 的文件
-gid 组 ID: 按照用户组 ID 查找所属组是指定 ID 的文件
-user 用户名: 按照用户名查找所有者是指定用户的文件
-group 组名: 按照组名查找所属组是指定用户组的文件
-nouser: 查找没有所有者的文件 ,常用,主要用于查找垃圾文件,还有一种情况就是外来文件,比如 光盘和U盘中的文件如果是由Windows复制来的(也就是文件是由windows建立的),在Linux中查 看就是没有所有者的文件;再比如手工源码包安装的文件,也有可能没有所有者(由其他系统打的源 码包)
[root@server ~]# find . -user root
[root@server ~]# find / -nouser # 查看无所有者的文件
-type d: 查找目录
-type f: 查找普通文件
-type l: 查找软链接文件
例:
[root@server ~]# find /dev -type b
[root@server ~]# find ~ -type d
[root@server ~]# find /dev -type c -size -10k
-a: and 逻辑与
-o: or 逻辑或
-not: not 逻辑非
优先级:与>或>非
[root@server ~]# find / -size +10k -a -size -50k | wc -l
[root@server ~]# find /etc -name "e*" -o -name "f*" | wc -l
[root@server ~]# find /etc -name "d*" -user root | wc -l # 默认为and
作用:
用于把find命令搜索到的结果交由紧随其后的命令作进一步处理,类似于管道符,该参数必须 为带减号的长参数。
使用-exec命令结尾必须为\;
# 将/root 目录下的属于root账户的文件检索出来后拷贝到/目录下的find1目录中
[root@server ~]# find ~ -user root -exec cp -a {} /find1/ \;
4.1.1. 格式:
zip FILE # 压缩
unzip FILE # 解压缩
例1: 使用zip压缩文件test1.txt
[root@server test]# zip test1.zip test1.txt
# 压缩率为最高压缩test2.txt,-1 : 最快压缩,压缩率最差,-9 : 最大压缩,压缩率最佳 [root@server test]# zip -9 test2.zip test2.txt #
例2: 将当前目录dir1连同目录下文件一起压缩
[root@server test]# zip -r dir1.zip dir1
# 例3: 向压缩文件中test1.zip中添加test2. txt文件
[root@server test]# zip -m test1.zip test2.txt
# 例4: 删除压缩文件中的文件
[root@server test]# zip -d test1.zip test2.txt
# 例5: 压缩文件时排除某个文件
[root@server test]# zip test.zip *.txt -x test1.txt
# 例6: 解压文件test2.zip
[root@server test]# unzip test2.zip
# 例7:将压缩文件text.zip在指定目录dir1下解压缩
[root@server test]# unzip test.zip -d dir1
# 例8: 查看压缩文件目录,但不解压
[root@server test]# unzip -v test.zip
# 例1: 使用gzip压缩文件
[root@server test]# gzip test1.txt
# 例2: 使用gzip压缩目录下文件
[root@server test]# gzip -r dir1
[root@server test]# ls dir1
#注意: 以上压缩之后原始文件就没有了。
# 例3: 压缩但保留原始文件
[root@server test]# gzip -c test2.txt > test2.txt.gz
# bzip2是更新的Linux压缩工具,比gzip有着更高的压缩率。
[root@server test]# bzip2 test3.txt
# 源文档不保留
[root@server test]# bzip2 -9 -c test3.txt > test3.txt.bz2
# 用最佳的压缩比压缩,并保留 原本的档案
# 例1:压缩文件
[root@server test]# xz test5.txt
# 例2:压缩dir1目录下文件
[root@server test]# xz dir1/*
[root@server test]# ls dir1
# 例3:查看压缩文件内容
[root@server test]# xzcat test5.txt.xz test1
# 例4:解压缩(xz -d等价于unxz)
[root@server test]# unxz test5.txt.xz
tar -参数 [args]……
5.2.1. 常用参数
5.2.2. 必选参数
5.2.3. 辅助参数
5.2.4. 额外参数
# 打包时排除某个文件 tar cf 文件名.
tar --exclude=路径/文件 路径
注:此处的路径前后需要保持保持一致,统一使用绝对路径或者相对路径
5.3.1. 打包
作用:
创建(非压缩的)打包文件,将指定的一个或多个文件或目录备份生成为一个指定的包文件
tar cvf/cfv/-cvf 文件名.tar 要打包的目录或文件名
列出包文件中的文件列表
tar t[v]f 包文件名 `
5.3.2. 打包压缩
作用:
为节省存储空间,通常需要生成压缩格式的tar包文件,tar命令支持三种不同的压缩方式
tar czf/-czf 文件名.tar.gz 要打包压缩的目录或文件名……
tar cjf/-cjf 文件名.tar.bz2 要打包压缩的目录或文件名……
tar cJf/-cJf 文件名.tar.xz 要打包压缩的目录或文件名……
提取包文件到指定目录
tar xf/-xf/-xzf 文件名.tar.gz [-C 目标路径]
tar xf/-xf/-xjf 文件名.tar.bz2 [-C 目标路径]
tar xf/-xf/-xJf 文件名.tar.xz [-C 目标路径]
将/etc下所有内容打包压缩到/root目录中
[root@server ~]# tar -cvf taretc.tar.gz /etc
解压缩
[root@server ~]# mkdir temp
[root@server ~]# mv taretc.tar.gz temp
[root@server ~]# cd temp
[root@server temp]#
[root@server temp]# tar -xvf taretc.tar.gz
注意:参数中-c 与 -x 不能同时使用