目录
一、Linux目录结构及基本理论知识
- 根(/)相当于一个入口,文件的总入口,也是唯一入口
- bin (sbin) 二进制文件,可执行文件,也可能存在别处,默认使用较多所有用户软连接文件
- sbin 管理员可使用的二进制文件
- boot 系统内核、启动文件
- dev 硬件文件(黄色)
- etc 配置文件等同于windows 注册表,一般都是文本文件
- usr应用程序和操作系统相关的文件 bin sbin
- var/log日志文件,数据变化的
- proc 主要保存系统的内核、进程、外部设备状态和网络状态等
- mnt 默认挂载点
- opt 第三方应用程序安装所在目录程序
一些重要的目录:
/usr/share/ 帮助文档、说明文档
/var/log/ 日志
/var/run/ 运行中程序
/var/tmp 临时文件
根目录/最大,其下建有各目录,层层嵌套。
家目录是存放当前用户个人配置的文件目录,root与普通用户不一样:
- root管理员家目录: /root
- 普通用户家目录:/home/用户名
绝对路径格式:从根目录到当前目录的位置,第一个/代表根目录,后面每一级目录再用/分开
相对路径格式:相对于当前目录下的目录位置,每一级目录用/分开
每个文件目录下都有.和..
- . 代表当前目录本身
- .. 代表当前目录上一级目录
通配符
符号 | 效果 |
? | 匹配一个字符 如 f?ad.txt |
* | 匹配所有非隐藏的字符无论多长多短,但不匹配隐藏文件 |
{1..10} | 从1到10(1、2、3...10),可以是大小写字母 |
[abcd] | 匹配abcd中的一个字符 |
[a-z] | 匹配a-z中任意一个字符 |
[!abcd] | 不匹配括号中的任意一个字符 |
[^a-z] | 不匹配a-z中任意一个字符 |
二、常用命令
1.pwd
[root@localhost ~]# pwd //显示当前路径
//显示当前路径
[root@localhost postfix]# pwd
/etc/postfix
[root@localhost ~]# pwd -P //显示真实路径
//设置软连接
[root@localhost opt]#ln -s /opt/hxc1/ /mnt/
//切换到软连接
[root@localhost opt]#cd /mnt/hx1/
//显示的是当前路径
[root@localhost hx1]#pwd
/mnt/hx1
//显示文件的真实路径
[root@localhost hx1]#pwd -P
/opt/hxc1
2.cd
[root@localhost ~]# cd [目标目录] //切换目录
//绝对路径切换目录(不论在哪个目录下,使用绝对路径表示都能切换到)
[root@localhost ~]# cd /etc/systemd/ --从家目录切换到/systemd
[root@localhost systemd]#
[root@localhost opt]# cd /etc/systemd/ --从/opt目录切换到/systemd
[root@localhost systemd]#
//相对路径切换目录(在某个目录下,使用相对路径需要表示成相对于本目录的位置)
[root@localhost etc]# cd systemd/ --从/etc切换其目录下的systemd/(这里相当于./systemd ./被省略了)
[root@localhost systemd]# cd ../opt --从/systemd切换至/opt(/systemd相对位置在/opt上一级目录/etc下)
[root@localhost etc]# cd
[root@localhost ~]# cd
[root@localhost ~]#
[root@localhost ~]# cd ~
[root@localhost ~]#
[root@localhost ~]# cd 或 cd ~ //切换至用户家目录
//从etc切换到家目录
[root@localhost etc]# cd
[root@localhost ~]#
[root@localhost etc]# cd ~
[root@localhost ~]#
[root@localhost ~]# cd - //切换至上一个使用的目录
[root@localhost ~]# cd /etc --从家目录切换到/etc
//切换至上一次使用的目录
[root@localhost etc]# cd - --上一次使用的是/root
/root
[root@localhost ~]# cd - --上一次使用的是/etc
/etc
[root@localhost etc]#
3.ls
[root@localhost ~]# ls [选项] [文件或目录] //默认显示非隐藏文件的名称,并以文件名进行排序,同时会根据文件的具体类型给文件名配色
[root@localhost yum]# ls
fssnap.d pluginconf.d protected.d vars version-groups.conf
[root@localhost ~]# ls -l 或 ll //以长格式显示文件和目录列表
[root@localhost yum]# ls -l
total 4
drwxr-xr-x. 2 root root 6 Oct 1 2020 fssnap.d
drwxr-xr-x. 2 root root 54 Jul 20 12:25 pluginconf.d
drwxr-xr-x. 2 root root 26 Jul 20 12:21 protected.d
drwxr-xr-x. 2 root root 37 Oct 1 2020 vars
-rw-r--r--. 1 root root 444 Oct 1 2020 version-groups.conf
[root@localhost yum]# ll
total 4
drwxr-xr-x. 2 root root 6 Oct 1 2020 fssnap.d
drwxr-xr-x. 2 root root 54 Jul 20 12:25 pluginconf.d
drwxr-xr-x. 2 root root 26 Jul 20 12:21 protected.d
drwxr-xr-x. 2 root root 37 Oct 1 2020 vars
-rw-r--r--. 1 root root 444 Oct 1 2020 version-groups.conf
长格式:drwxr-xr-x. 2 root root 26 Jul 20 12:21 protected.d
- 开头字母d——文件类型
通常,Unix/Linux系统中常用的文件类型有7种:普通文件、目录文件、字符设备文件、块设备文件、管道文件、链接文件和套接字文件。
开头字母 | 文件类型 |
- | 普通文件,是计算机操作系统用于存放数据、程序等信息的文件,一般都长期存放于外存储器(磁盘、磁带等)中。普通文件一般包括文本文件、数据文件、可执行的二进制程序文件等。 |
d | 目录文件,类似 Windows 系统中的文件夹。 |
b | 块设备文件,就是保存大块数据的设备,存取以字符块为单位。比如 最常见的硬盘。 |
c | 字符设备文件,存取以一个字符为单位。 |
s | 套接字文件,通常用在网络数据连接,可以启动一个程序开监听用户的要求,用户可以通过套接字进行数据通信。 |
p | 管道文件,单向传输数据,其主要作用是解决多个程序同时存取一个文件所造成的错误。 |
l | 链接文件,类似 Windows 系统中的快捷方式。 |
- 后9位字母(rwxr-xr-x)——表示该文件的权限
- 2——连接数
- root——文件所有者
- root——文件所属组
- Jul 20 12:21——文件的最近使用时间
- protected.d——文件或目录名称
[root@localhost ~]# ls -a //显示全部包括隐藏文件
[root@localhost ~]# ls -A //显示全部文件或隐藏文件,但不包括 . 和..
[root@localhost yum]# ls -a
. .. .1.txt fssnap.d pluginconf.d protected.d vars version-groups.conf
[root@localhost yum]# ls -A
.1.txt fssnap.d pluginconf.d protected.d vars version-groups.conf
[root@localhost ~]# ls -h //友好显示文件数量大小(加单位)
[root@localhost ~]# ls -R //递归显示该目录及该目录的子目录下的所有内容
[root@localhost yum]# ls -R
.:
fssnap.d pluginconf.d protected.d vars version-groups.conf
./fssnap.d:
./pluginconf.d:
fastestmirror.conf langpacks.conf
./protected.d:
systemd.conf
./vars:
contentdir infra
[root@localhost ~]# ls --color //显示文件颜色(ls默认功能已带)
颜色表示的文件类型:
- 黑色——数据文件 普通文件
- 绿色——可执行文件
- 黄色——块设备文件硬件设备(硬盘)
- 红色——压缩包
- 蓝色——文件夹
- 天蓝色——连接文件(快捷方式)
[root@localhost ~]# ls -S //以文件容量大小排序
4.alisa
[root@localhost ~]# alias 自行定义的命令 = '常用的复杂命令' //给一个常用命令启用别名
//给''中代码启用别名
[root@localhost dev]# alias vimens33='vim/etc/sysconfig/network-scripts/ifcfg-ens33'
//查看别名表
[root@localhost ~]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias vimens33='vim/etc/sysconfig/network-scripts/ifcfg-ens33'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
//使用原来的命令加转义符
[root@localhost dev]# \ls
//删除别名
[root@localhost dev]# unalias vimens33
5.du
[root@localhost ~]# du [选项] [文件/目录] //查看文件/目录的总磁盘占用量(包括隐藏文件)
[root@localhost etc]# du rpm
44 rpm
[root@localhost ~]# du -a [目录] //统计指定目录下所有文件和目录占用磁盘空间量
[root@localhost etc]# du -a rpm
4 rpm/macros.dist
8 rpm/macros.perl
16 rpm/macros.fjava
8 rpm/macros.jpackage
4 rpm/macros.color
4 rpm/macros.gconf2
44 rpm
[root@localhost ~]# du -d n [目录] //最大显示到第n层
(--max-depth=n) 当前目录的目录层为0,逐级加1
//显示到第0层
[root@localhost etc]# du -d 0 systemd/
36 systemd/
//显示到第1层
[root@localhost etc]# du -d 1 systemd/
12 systemd/system
0 systemd/user
36 systemd/
//显示到第2层
[root@localhost etc]# du -d 2 systemd/
4 systemd/system/multi-user.target.wants
0 systemd/system/getty.target.wants
0 systemd/system/default.target.wants
0 systemd/system/system-update.target.wants
0 systemd/system/graphical.target.wants
4 systemd/system/sysinit.target.wants
0 systemd/system/basic.target.wants
0 systemd/system/local-fs.target.wants
0 systemd/system/sockets.target.wants
0 systemd/system/remote-fs.target.wants
0 systemd/system/network-online.target.wants
0 systemd/system/bluetooth.target.wants
0 systemd/system/vmtoolsd.service.requires
0 systemd/system/printer.target.wants
0 systemd/system/timers.target.wants
0 systemd/system/dev-virtio\x2dports-org.qemu.guest_agent.0.device.wants
12 systemd/system
0 systemd/user
36 systemd/
6.mkdir
root@localhost /]# mkdir 目录名 //创建空目录
//创建目录/aa
[root@localhost /]# mkdir /aa
//ls查看发现aa已经创建
[root@localhost /]# ls
aa boot etc lib media opt root sbin sys usr
bin dev home lib64 mnt proc run srv tmp var
root@localhost /]# mkdir -p 目录名/目录名/... //递归创建目录
//递归创建目录
[root@localhost /]# mkdir -p /aa/bb/cc/dd
//用tree查看/aa目录结构
[root@localhost /]# tree aa
aa
└── bb
└── cc
└── dd
3 directories, 0 files
//批量递归创建目录
[root@localhost mnt]# mkdir -p /mysql/{3306,3307,3308}/{datetsocket,log,bin,pid}
[root@localhost mnt]# tree /mysql
/mysql
├── 3306
│ ├── bin
│ ├── datetsocket
│ ├── log
│ └── pid
├── {3306\357\274\2143307\357\274\2143308}
│ ├── bin
│ ├── datetsocket
│ ├── log
│ └── pid
├── 3307
│ ├── bin
│ ├── datetsocket
│ ├── log
│ └── pid
└── 3308
├── bin
├── datetsocket
├── log
└── pid
20 directories, 0 files
root@localhost /]# mkdir -v 目录名 //显示创建过程
//创建目录并查看创建过程
[root@localhost /]# mkdir -v /aa
mkdir: created directory ‘/aa’
//递归创建目录并查看创建过程
[root@localhost /]# mkdir -pv /aa/bb/cc/dd
mkdir: created directory ‘/aa’
mkdir: created directory ‘/aa/bb’
mkdir: created directory ‘/aa/bb/cc’
mkdir: created directory ‘/aa/bb/cc/dd’
7.touch
root@localhost /]# touch 文件名 //创建新文件(可以多个)
如果文件已存在,则只会刷新修改时间
//创建两个新文件
[root@localhost mnt]# touch 1.txt 2.txt
[root@localhost mnt]# ll
total 0
-rw-r--r--. 1 root root 0 Jul 24 02:50 1.txt
-rw-r--r--. 1 root root 0 Jul 24 02:50 2.txt
//已存在再次创建,只刷新了修改时间
[root@localhost mnt]# touch 1.txt 2.txt
[root@localhost mnt]# ll
total 0
-rw-r--r--. 1 root root 0 Jul 24 02:51 1.txt
-rw-r--r--. 1 root root 0 Jul 24 02:51 2.txt
8.ln
硬连接:新文件与源文件建立硬连接,文件名不同但inode与源文件一致,不支持文件夹,每创建一个连接数加一,多路径访问。
软连接:创建一个链接文件与源文件建立软连接,类似于windows里快捷方式。
对比项 | 硬连接 | 软连接 |
---|---|---|
本质 | 本质是同一个文件 | 本质不是同一个文件 |
inode号 | 相同 | 不同 |
连接数 | 创建新的硬连接,连接数会增加,删除硬连接,连接数减少 | 删除,新建,连接数 都不会改变 |
使用范围 | 文件 | 文件或目录 |
删除原始文件 | 只是连接数减一,但连接文件的访问不受影响 | 无法访问连接文件 |
文件类型 | 和源文件相同 | 是链接文件,和源文件无关 |
文件大小 | 和源文件相同 | 源文件的路径的长度 |
保存位置 | 与原始文件可以位于不同的文件系统 中 | 必须与原始文件在同一个文件系统(如一个Linux分 区)内 |
[root@localhost ~]# ln 源文件 目标文件 //目标文件与源文件硬连接
//将/etc/passwd复制到/data/f1.txt中
[root@localhost mnt]# cp /etc/passwd /mnt/f1.txt
cp: overwrite ‘/mnt/f1.txt’? y
[root@localhost mnt]# ll
total 1
-rw-r--r--. 1 root root 2298 Jul 24 03:28 f1.txt
//f12.txt 与 f1.txt 硬连接
[root@localhost mnt]# ln /mnt/f1.txt /mnt/f12.txt
[root@localhost mnt]# ls
f12.txt f1.txt
[root@localhost mnt]# ll
total 2
-rw-r--r--. 2 root root 2298 Jul 24 03:28 f12.txt
-rw-r--r--. 2 root root 2298 Jul 24 03:28 f1.txt
[root@localhost ~]# ln -s 源文件或目录 目标文件或目录 //目标文件/目录与源文件/目录软连接
//f123.txt 与 f1.txt 软连接
[root@localhost mnt]# ln -s /mnt/f1.txt /mnt/f123.txt
[root@localhost mnt]# ll
total 3
lrwxrwxrwx. 1 root root 11 Jul 24 03:35 f123.txt -> /mnt/f1.txt
-rw-r--r--. 2 root root 2298 Jul 24 03:28 f12.txt
-rw-r--r--. 2 root root 2298 Jul 24 03:28 f1.txt
9.cp
root@localhost ~]# cp [选项] 源文件 目标文件 //复制文件到目标文件(未存在则新建,存在则覆盖改名)多个源文件只能复制到文件夹。
//复制文件到/mnt/1.txt
[root@localhost mnt]# cp /etc/passwd ./1.txt
[root@localhost mnt]# ll
total 1
-rw-r--r--. 1 root root 2298 Jul 24 03:51 1.txt
//复制多个文件到必须到目录下且目录已存在
[root@localhost mnt]# cp /etc/passwd /etc/shadow /mnt
[root@localhost mnt]# ll
total 3
-rw-r--r--. 1 root root 2298 Jul 24 03:51 1.txt
-rw-r--r--. 1 root root 2298 Jul 24 03:55 passwd
----------. 1 root root 1261 Jul 24 03:55 shadow
root@localhost ~]# cp -f 源文件 目标文件 //覆盖目标同名文件或目录时不进行提醒,直接强制复制
//复制文件到1.txt
[root@localhost mnt]# cp /etc/passwd /mnt/1.txt
//覆盖文件默认会提醒
[root@localhost mnt]# cp /etc/shadow /mnt/1.txt
cp: overwrite ‘/mnt/1.txt’? y
//强制覆盖
[root@localhost mnt]# cp -f /etc/passwd /mnt/1.txt
root@localhost ~]# cp -p 源文件 目标文件 //复制时保持源文件的权限、属主及时间标记等
-a 源文件 目标文件 //完整保留所有的信息(比-p更强大)
//保留权限,属主等复制
[root@localhost ~]# cp -p /etc/passwd /mnt/
[root@localhost ~]# ll /mnt
total 1
-rw-r--r--. 1 root root 2298 Jul 20 12:34 passwd
//保存完整信息复制
[root@localhost mnt]# cp -a /etc/passwd /mnt/passwda
[root@localhost mnt]# ll
total 2
-rw-r--r--. 1 root root 2298 Jul 20 12:34 passwd
-rw-r--r--. 1 root root 2298 Jul 20 12:34 passwda
[root@localhost ~]# cp -r 源目录 目标目录 //复制目录时必须使用此选项,表示递归复制所有文件及子目录
//复制目录不加-r会报错
[root@localhost ~]# cp /etc/ /mnt/
cp: omitting directory ‘/etc/’
[root@localhost ~]# cp -r /etc/ /mnt/
[root@localhost ~]# ls /mnt
10.mv
[root@localhost ~]# mv [选项] 源文件或目录 目标文件或目录 //移动到目标位置(或改名)
//在根目录下创建1.txt
[root@localhost /]# touch 1.txt
[root@localhost /]# ls
1.txt boot etc lib media mysql proc run srv tmp var
bin dev home lib64 mnt opt root sbin sys usr
//移动——根目录下1.txt移动到了/mnt/下
[root@localhost /]# mv 1.txt /mnt/
[root@localhost /]# ls
bin dev home lib64 mnt opt root sbin sys usr
boot etc lib media mysql proc run srv tmp var
[root@localhost /]# ls /mnt/
1.txt
//改名——利用移动原理,加上新文件名可以实现改名
[root@localhost /]# mv /mnt/1.txt /mnt/1-1.txt
[root@localhost /]# ls /mnt
1-1.txt
[root@localhost ~]# mv -f 源文件 目标文件 //强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖
//mnt下已存在1.txt,根目录下2.txt复制过去会默认提示是否覆盖
[root@localhost mnt]# ls
1.txt
[root@localhost /]# touch 2.txt
[root@localhost /]# mv 2.txt /mnt/1.txt
mv: overwrite ‘/mnt/1.txt’? y
[root@localhost /]# ls /mnt
1.txt
//-f强制覆盖
[root@localhost /]# mv 2.txt /mnt/1.txt
[root@localhost /]# ls /mnt
1.txt
[root@localhost ~]# mv -v 源文件 目标文件 //显示文件移动过程
// 把根目录下2.txt移动到/mnt下,显示移动过程
[root@localhost /]# mv -v 2.txt /mnt/
‘2.txt’ -> ‘/mnt/2.txt’
11.rm
[root@localhost ~]# rm [选项] 要删除的文件 //删除文件
rmdir [选项] 要删除的目录 //删除空目录(功能太低级,一般不用)
[root@localhost mnt]# ls
1.txt 2.txt
//rm不加选项默认询问是否删除
[root@localhost mnt]# rm 1.txt
rm: remove regular empty file ‘1.txt’? y
[root@localhost /]# mkdir -p /aa/bb
[root@localhost /]# cd /aa
//rmdir不加选项默认删除空目录
[root@localhost aa]# rmdir ./bb
[root@localhost aa]# ls
[root@localhost aa]#
[root@localhost ~]# rm -f 要删除的文件 //强制删除文件不询问
//-f强制删除不询问
[root@localhost mnt]# rm -f 2.txt
[root@localhost mnt]#ls
[root@localhost ~]# rm -r 要删除的文件或目录 //递归删除目录及文件(使用范围不局限,功能最强)
[root@localhost /]# mkdir -p /aa/bb/cc
[root@localhost /]# cd /aa/bb/cc/
[root@localhost cc]# touch 1.txt
[root@localhost cc]# tree /aa
/aa
└── bb
└── cc
└── 1.txt
2 directories, 1 file
[root@localhost /]# rm -r /aa
rm: descend into directory ‘/aa’? y
rm: descend into directory ‘/aa/bb’? y
rm: descend into directory ‘/aa/bb/cc’? y
rm: remove regular empty file ‘/aa/bb/cc/1.txt’? y
rm: remove directory ‘/aa/bb/cc’? y
rm: remove directory ‘/aa/bb’? y
rm: remove directory ‘/aa’? y
//一般-rf 组合使用,否则需要逐个确认
[root@localhost /]# rm -rf /aa
12.which
[root@localhost ~]# which 非仅内部命令 //可以查询到非仅内部命令的位置
(在/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin中)
13.find
[root@localhost ~]# find [查找路径] [查找条件] //按匹配条件查找文件
- 查找路径:指定具体目标路径;不指定为默认为当前目录
- 查找条件:可以对文件名、大小、类型、权限等标准进行查找;默认为找出指定路径下的所有文件
- 处理动作:对符合条件的文件做操作,默认输出至屏幕(print)
[root@localhost ~]# find [查找路径] -name 条件表达式 //按文件名字条件查找
//查找名字是以vm开头的文件
[root@localhost data]#find /boot/ -name 'vm*'
/boot/vmlinuz-3.10.0-693.el7.x86_64
/boot/vmlinuz-0-rescue-869dbd607e5e4f758fa152ef2229f2b6
[root@localhost ~]# find [查找路径] -size 条件表达式(K M G) //按文件大小条件查找
//查找boot目录下 大于1024k 的文件
[root@localhost data]#find /boot/ -size +1024k
/boot/efi/EFI/centos/MokManager.efi
/boot/efi/EFI/centos/mmx64.efi
/boot/efi/EFI/centos/shim.efi
/boot/efi/EFI/centos/shimx64-centos.efi
/boot/efi/EFI/centos/shimx64.efi
/boot/efi/EFI/BOOT/BOOTX64.EFI
/boot/grub2/fonts/unicode.pf2
/boot/System.map-3.10.0-1160.el7.x86_64
/boot/vmlinuz-3.10.0-1160.el7.x86_64
/boot/initramfs-0-rescue-f1324d2ecaa7413e8e445044a1ba55fa.img
/boot/vmlinuz-0-rescue-f1324d2ecaa7413e8e445044a1ba55fa
/boot/initramfs-3.10.0-1160.el7.x86_64.img
#查找boot目录下 小于1M的文件
[root@localhost data]#find /boot/ -size -1M
注意点:文件大小不加 + - 号是一定的范围,单位越精确越好
[root@localhost data]#find /boot/ -size 1024k
[root@localhost data]#find /boot/ -size 1M
范围公式:单位前面的数字 减去1
1024 -1 范围是 1023k ~1024k
1-1 范围是 1字节 ~ 1M
[root@localhost ~]# find [查找路径] -user //按文件属主查找
//找到home目录下属于hx用户的文件
[root@localhost ~]#find /home/ -user hx
/home/hx
/home/hx/.mozilla
/home/hx/.mozilla/extensions
/home/hx/.mozilla/plugins
/home/hx/.bash_logout
/home/hx/.bash_profile
/home/hx/.bashrc
/home/hx/.cache
/home/hx/.cache/gdm
/home/hx/.cache/gdm/session.log
[root@localhost ~]# find [查找路径] -type 文件属性 //按文件类型查找文件
文件类型:
f:普通文件 d: 目录文件 l: 符号链接文件 s:套接字文件 b: 块设备文件
c: 字符设备文件 p: 管道文件
//查找/dev下块设备文件
[root@localhost ~]#find /dev/ -type b
/dev/dm-1
/dev/dm-0
/dev/sr0
/dev/sda2
/dev/sda1
/dev/sda
root@localhost ~]# find [查找路径] -maxdepth 层级数x //按最大x层目录查找文件
-mindepth 层级数y //按最小y层目录查找文件
//按最大2层目录查找文件
[root@localhost ~]#find /etc/ntp -maxdepth 2
/etc/ntp
/etc/ntp/keys
/etc/ntp/step-tickers
/etc/ntp/crypto
/etc/ntp/crypto/pw
//按最小2层目录查找文件
[root@localhost ~]#find /etc/ntp -mindepth 2
/etc/ntp/crypto/pw
root@localhost ~]# find [查找路径] -mtime 时间条件 //按天数条件查找文件
//查找文件时间为1天的文件
[root@localhost ~]#find /etc/ -mtime 1
/etc/yum
//查找文件时间小于2天的文件
[root@localhost ~]#find /etc/ -mtime -2
/etc/
/etc/resolv.conf
/etc/yum
/etc/cups
/etc/cups/subscriptions.conf.O
/etc/cups/subscriptions.conf
/etc/tuned/active_profile
/etc/tuned/profile_mode
//查找文件时间大于5天的文件
[root@localhost ~]#find /etc/ -mtime +5
/etc/fonts/conf.d/25-no-bitmap-fedora.conf
/etc/fonts/conf.d/README
/etc/fonts/fonts.conf
/etc/grub.d/00_header
/etc/grub.d/01_users
/etc/grub.d/10_linux
/etc/grub.d/20_linux_xen
[root@localhost ~]# find [查找路径] [查找条件] [处理动作] //匹配条件查找文件后执行动作
处理动作:
-print 默认的处理动作,显示至屏幕
-ls 显示详细信息
-delete 删除查找到的文件
-ok COMMAND 命令字 {} 目标文件或目录 \; 对查找到的每个文件执行由COMMAND指定的命令,对于每个文件执行命令之前,都会交互式要求用户确认
-exec COMMAND 命令字 {} 目标文件或目录 \; 对查找到的每个文件执行由COMMAND指定的命令{}: 用于引用查找到的文件名称自身
[root@localhost ~]#find -name '*.txt' -ok mv {} /mnt \;
< mv ... ./.cache/tracker/db-version.txt > ? n
< mv ... ./.cache/tracker/db-locale.txt > ? n
< mv ... ./.cache/tracker/parser-sha1.txt > ? n
< mv ... ./.cache/tracker/locale-for-miner-user-guides.txt > ? n
< mv ... ./.cache/tracker/locale-for-miner-apps.txt > ? ^C
[root@localhost ~]#find -name '*.txt' -exec mv {} /mnt \;