第七章 文件查找
一、find
1.1指定搜索目录层级
格式 :
find /etc -maxdepth2 -mindepth 2
-max 最大搜索层级
-min 最小搜索层级
1.2 根据文件名和inode查找
-name 文件名,可使用通配符但需加""
-iname 文件名,不区分大小写
-inum n 按inode号查找
-samefile name 相同inode文件
-liks n 连接数为n的文件
-regex 正则表达式搜索,搜索加全路径 例如:*./.txt
1.3 根据文件类型查找
格式:
find 路径 -type type
-type +
f 普通文件
d 文件夹
b 块设备文件
c 字符文件
p 管道符文件
l 链接文件
s 套接字文件
例:
[04:40:07 root@localhost data]#find /home/ -type d -ls
139 0 drwxr-xr-x 2 root root 6 May 10 2019 /home/
1.4 查找空文件或目录
-empty
[07:46:35 root@localhost ~]$find /etc/ -type d -empty
1.5 组合条件
-a 与(默认)
-o 或
-not 非
例:
[07:50:11 root@localhost ~]$find /etc/ -type d -o -type l |wc -l
1.6 剪切
-prune
1.7根据文件大小查找
-size [+|-]
例:
[07:54:54 root@localhost ~]$find / -size +1G
1.8根据时间查找
-atime [ +|- ] (24小时内默认为第0天)
例:
[08:12:50 root@localhost ~]$find / -atime +500
1.9 根据权限查找
格式:
-perm [ / |- ] MODE
MODE:精确查找
/MODE:任何一类\g\u\o,即 或
-MODE:每一类必须有,即 且
0 :并表示不关注
1.10处理动作
-print 默认,输出到屏幕
- ls 对查找到的文件执行ll命令
-fls FILE 将查找信息保存至文件夹 -ls > FILE
-delete 删除查找到的文件
-ok COMMAND {} ; 对每个找到的文件执行COMMAND命令,执行前每个文件都会交互确认
-exec COMMAND {} ; 移动文件 例:find -name “f*” -exec -mv {} /opt ;
二、xargs
由于很多命令不支持管道符传递,xargs可用于产生某个命令的参数
例:
删除当前文件目录下大量文件
ls | xargs rm
[08:51:41 root@localhost ~]$echo {
1..10} |xargs#分割功能
1 2 3 4 5 6 7 8 9 10
[08:54:43 root@localhost ~]$echo {
1..10} |xargs -n11
2
3
4
5
6
7
8
9
10
[08:54:48 root@localhost ~]$echo {
1..10} |xargs -n21 2
3 4
5 6
7 8
9 10
批量创建用户
[08:54:59 root@localhost ~]$echo user{
1..3} |xargs -n1 useradd
第八章 压缩和解压
一、gzip和gunzip
gzip的包对应的文件后缀为 .gz
格式:
gzip [ option ]… FILE…
常用选项:
-k 保留原文件,centos8特性
-d 解压缩,相当gunzip
-c 将结果输出至标准输出,保留原文件
-1-9 选择压缩比
解压缩:
gunzip file.gz
查看压缩文件:
zcat file.gz
使用范例:
gzip -c messages > message.gz
gzip -c -d messages.gz > message
zcat messages.gz > message
cat messages | gzip > m.gz
二、bzip2 和 bunzip2
bzip2的包对应的文件后缀为 .bz2
格式:
bzip2 [ option ]… FILE…
常用选项:
-k 保留原文件,centos8特性
-d 解压缩,相当gunzip
-c 将结果输出至标准输出,保留原文件
-1-9 选择压缩比
三、xz和unxz
xz的包对应的文件后缀为 .xz
格式:
xz [ option ]… FILE…
常用选项:
-k 保留原文件,centos8特性
-d 解压缩,相当gunzip
-c 将结果输出至标准输出,保留原文件
-1-9 选择压缩比
第九章 打包和解包
tar
创建归档,保留权限:
tar -cpvf /path/file.tar FILE
追加文件至归档,不支持对压缩文件追加:
tar -rf /path/FILE.tar FILE
查看归档文件中的文件列表:
tar -t -f /path file.tar
展开归档:
tar xf /path.FILE.tar
tar xf /path/FILE.tar -C /path
结合工具归档并压缩:
-z gaip
-j bzip2
-J xz
选项:
-x 解压
-c 压缩
-v 显示过程
-t 查看
第十章 yum仓库
10.1 yum 配置文件
/etc/yum.config
/etc/yum.repos.d/
10.2 yum 命令
用法 :
yum [ options ] [ command ] [ packges… ]
选项:
-y yes
-q 静默模式
- -enablerepo=repoidglob 临时启用repo, 支持通配符
- -disablerepo=repoidglob 临时禁用repo, 支持通配符
10.3显示仓库列表
yum repolist [ all | enable | disable ]
-v 显示详细信息
[07:46:02 root@localhost ~]#yum repolist
Last metadata expiration check: 7:49:09 ago on Sun 16 Aug 2020 11:57:23 PM EDT.
repo id repo name status
AppStream CentOS-8 - AppStream - mirrors.aliyun.com 4,935
base CentOS-8 - Base - mirrors.aliyun.com 1,673
extras CentOS-8 - Extras - mirrors.aliyun.com 21
[07:47:11 root@localhost ~]#yum repolist --all
Last metadata expiration check: 7:49:51 ago on Sun 16 Aug 2020 11:57:23 PM EDT.
repo id repo name status
AppStream CentOS-8 - AppStream - mirrors.aliyun.co enabled: 4,935
PowerTools CentOS-8 - PowerTools - mirrors.aliyun.c disabled
base CentOS-8 - Base - mirrors.aliyun.com enabled: 1,673
centosplus CentOS-8 - Plus - mirrors.aliyun.com disabled
extras CentOS-8 - Extras - mirrors.aliyun.com enabled: 21
[07:47:15 root@localhost ~]#yum repolist --all
Last metadata expiration check: 7:50:01 ago on Sun 16 Aug 2020 11:57:23 PM EDT.
repo id repo name status
AppStream CentOS-8 - AppStream - mirrors.aliyun.com enabled: 4,935
PowerTools CentOS-8 - PowerTools - mirrors.aliyun.com disabled
base CentOS-8 - Base - mirrors.aliyun.com enabled: 1,673
centosplus CentOS-8 - Plus - mirrors.aliyun.com disabled
extras CentOS-8 - Extras - mirrors.aliyun.com enabled: 21
10.4 安装程序包
格式:
yum install packges
10.4.1 安装epel源
[07:49:10 root@localhost ~]#yum -y install epel-release.noarch
[08:16:55 root@localhost ~]#yum -y install sl
[08:17:27 root@localhost ~]#rpm -ql sl
[08:17:27 root@localhost ~]#sl -a
10.4.2 升级最新内核
[08:17:27 root@localhost ~]#yum install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm
[08:17:27 root@localhost ~]#rpm -ql elrepo-release-7.0-4.el7.elrepo
[08:17:27 root@localhost ~]#yum repolist
[08:17:27 root@localhost ~]#yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
[08:17:27 root@localhost ~]#yum -y --enablerepo="elrepo-kernel" install kernel-ml
[08:17:27 root@localhost ~]#ls /boot
[08:17:27 root@localhost ~]#ls /lib/modules
[08:17:27 root@localhost ~]#reboot
[08:17:27 root@localhost ~]#uname -r
10.4.3 只下载相关依赖包,不安装
[08:17:52 root@localhost ~]#yum -y install --downloadonly --downl
oaddir=/data/httpd httpd