Linux2.7find命令

快捷键:

Ctrl+C 终止当前命令
Ctrl+D 退出终端,等于exit
Ctrl+Z 暂停当前进程,fg恢复
Ctrl+L 清屏
Ctrl+U 快速删除光标前的字符
Ctrl+A 光标定位到行首
Ctrl+E 光标定位到行尾

 

find  文件范围  [1]   [2]   [3]

[1]  -atime +n/-n  访问或执行时间大于/小于n天的文件
     -mtime      文件内容被修改的时间 【 mmin 分钟】
     -ctime      写入、更改inode属性(例如更改所有者、权限或者链接)时间 

[2]  -type  f普通文件  b块设备  c字符设备  d目录   l符号链接文件 s管道文件
[3]  -name  filename  直接查找文件名的文件
#最普通用法
[root@chy002 ~]# find /etc/ -name "sshd"     #精确搜索
/etc/sysconfig/sshd
/etc/pam.d/sshd
[root@chy002 ~]# find /etc/ -name "sshd*"      #模糊搜索
/etc/sysconfig/sshd
/etc/ssh/sshd_config
/etc/pam.d/sshd
/etc/systemd/system/multi-user.target.wants/sshd.service
#文件类型
[root@chy002 ~]# find /dev -type s
/dev/log
#时间  atime   mtime   ctime
#atime   访问或者执行时间
#mtime  写入、更改inode属性(更改所有者、权限或者链接)【用的多】
#ctime    写入时间
#更改了文件的内容,ctime肯定会变

[root@chy002 ~]# stat /tmp/1.txt       #比ls -l更详细
  文件:"/tmp/1.txt"
  大小:0               块:0          IO 块:4096   普通空文件
设备:803h/2051d        Inode:101095254   硬链接:1
权限:(0666/-rw-rw-rw-)  Uid:( 1000/  chy002)   Gid:( 1000/  chy002)
最近访问:2017-10-26 00:57:51.704950329 +0800
最近更改:2017-10-25 06:08:33.483986403 +0800
最近改动:2017-10-26 05:35:16.210502977 +0800
创建时间:-
[root@chy002 ~]# LANG=en
[root@chy002 ~]# stat /tmp/1.txt
  File: '/tmp/1.txt'
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: 803h/2051d      Inode: 101095254   Links: 1
Access: (0666/-rw-rw-rw-)  Uid: ( 1000/  chy002)   Gid: ( 1000/  chy002)
Access: 2017-10-26 00:57:51.704950329 +0800
Modify: 2017-10-25 06:08:33.483986403 +0800
Change: 2017-10-26 05:35:16.210502977 +0800
 Birth: -
#默认为并且,可以-o改为或者,一天以内更改,或者文件类型,或者txt后缀
[root@chy002 ~]# find /tmp/ -type f -o -mtime -1 -o -name "*.txt"
/tmp/
/tmp/1.txt
/tmp/2.txt
/tmp/3.txt
/tmp/chy/1.txt
/tmp/chy/p1.txt
/tmp/chy2.txt
/tmp/123.txt
/tmp/321.txt

使用find命令,如果只想找到当前目录下(不要子目录以及子目录的子目录)的文件或目录符合条件的需要加什么选项?   -maxdepth 1

  上一节说到硬链接,硬链接文件其实是互为硬链接,且没有什么表示,不如软连接有一个指向,如果不在一个文件夹下,互为硬链接的两个文件是很难找到的。但是find可以达到目的。

[root@chy002 tmp]# ln /etc/passwd /tmp/passwd.txt
[root@chy002 tmp]# ls -i /etc/passwd
34306158 /etc/passwd
[root@chy002 tmp]# find / -inum 34306158
/etc/passwd
/tmp/passwd.txt

 

-size -10k/M    +10k/M    大于小于10k/M的文件 

[root@chy002 tmp]# find /tmp/ -size -1k
/tmp/1.txt
/tmp/3.txt
/tmp/chy2.txt

-exec执行命令选项 ;其中时间选项还可以从一天精确到 -mmin  分钟

[root@chyuanliu-01 ~]# find /root/ -type f -mmin -240
/root/.bash_history
/root/chying.txt
[root@chyuanliu-01 ~]# find /root/ -type f -mmin -240 -exec ls -l {} \;
-rw-------. 1 root root 4543 Aug 27 21:47 /root/.bash_history
-rw-r--r--. 1 root root 0 Aug 27 23:45 /root/chying.txt
批量处理,遍历花括号{},每一个花括号就相当于每个文件
[root@chyuanliu-01 ~]# find /root/ -type f -mmin -240 -exec mv {}  {}.bak  \;
[root@chyuanliu-01 ~]# find /root/ -type f -mmin -240
/root/.bash_history.bak
/root/chying.txt.bak
posted @ 2017-10-26 23:27  chyuanliu  阅读(239)  评论(0编辑  收藏  举报