Linux目录详解及基本常用命令

目录

一、Linux目录结构及基本理论知识

二、常用命令

1.pwd 

2.cd

3.ls

4.alisa

5.du

6.mkdir

7.touch

8.ln

9.cp

10.mv

11.rm

12.which

13.find 


一、Linux目录结构及基本理论知识

  1. 根(/)相当于一个入口,文件的总入口,也是唯一入口
  2. bin (sbin) 二进制文件,可执行文件,也可能存在别处,默认使用较多所有用户软连接文件
  3. sbin  管理员可使用的二进制文件
  4. boot 系统内核、启动文件
  5. dev 硬件文件(黄色)
  6. etc 配置文件等同于windows 注册表,一般都是文本文件
  7. usr应用程序和操作系统相关的文件 bin sbin
  8. var/log日志文件,数据变化的
  9. proc 主要保存系统的内核、进程、外部设备状态和网络状态等
  10. mnt 默认挂载点
  11. 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 \;
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值