find命令

find命令主要用来搜索文件

±符号里 -表示数值内,相当于小于;+表示数值外,相当于大于; find涉及格式如下:

  • -name "文件名"
  • -type [文件格式]
  • -size [±符号][文件大小]
  • -ctime [±符号][数值]
  • -mtime [±符号][数值]
  • -atime [±符号][数值]
  • -mmin [±符号][数值]
  • -inum [数值]
  • -maxdepth 1 只查询当前目录下的子目录和文件,不查询子目录下的子目录或文件

-name

搜索普通文件 find 路径 -name "文件名" 实验1:在/目录下搜索一个1.txt的文件;

[root@jinkai01 ~]# find / -name 1.txt /etc/1.txt /root/1.txt /tmp/1.txt /1.txt

实验2:在/目录下搜索一个名字不全的文件;

[root@jinkai01 ~]# find / -name *.txt /etc/1.txt /root/1.txt /tmp/1.txt /1.txt

-type

指定搜索文件类型 搜索目录(d) 实验1:在/目录下搜索一个名字为a的目录

find / -type d -name "a" [root@jinkai01 ~]# find / -type d -name a /etc/a /root/a /var/lib/yum/yumdb/a /tmp/a /usr/share/terminfo/a /a

搜索文件(f) 实验2:在/目录下搜索一个名字为1.txt的文件

find / -type f -name "1.txt" [root@jinkai01 ~]# find / -type f -name 1.txt /etc/1.txt /root/1.txt /tmp/1.txt /1.txt

根据文件的类型去搜索; type参数 d :目录 f(-):普通文件  l:软链接文件 根据时间搜索参数 -mtime 时间:创建时间、最近更改:修改文件内容,不修改内容保存退出也会有记录 -ctime 时间:最近改动,比如修改权限,改名称,移动位置,修改文件内容,不修改内容保存退出也有记录 -atime 时间:最近访问(使用vi、cat等)

stat命令

查询文件最近访问时间、最近更改时间、最近更改时间、创建时间;

[root@jinkai01 ~]# stat /etc/2.txt File: '/etc/2.txt' Size: 15 Blocks: 8 IO Block: 4096 regular file Device: fd00h/64768d Inode: 33574988 Links: 1 Access: (0777/-rwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:admin_home_t:s0 Access: 2020-08-04 15:57:08.426018838 +0800 Modify: 2020-08-04 15:57:12.527018990 +0800 Change: 2020-08-04 15:57:12.531018990 +0800 Birth: -

-ctime 根据“改动时间”来查找 查找/下面ctime也就是“最近改动”范围在一天以内的文件;

find / -type f -ctime -1

-atime 查找/下面atime也就是“最近访问”范围在1天以上的文件;

find / -type f -atime +1

-mtime 查找/下面mtime也就是“最近更改时间”范围在38天以上的文件;

find / -type f -mtime +38

查找/tmp/目录下创建时间小于120分钟的文件 以ls-l的方式列出来

[root@jinkai01 ~]# find /tmp/ -type f -mmin -120 -exec ls -l {} ; -rw-r--r--. 1 root root 0 Aug 4 15:49 /tmp/1.txt

查找/tmp/目录下创建时间小于120分钟的文件,改名为..bak

[root@jinkai01 ~]# find /tmp/ -type f -mmin -120 -exec mv {} {}.bak ; [root@jinkai01 ~]# find /tmp/ -type f -mmin -120 -exec ls -l {} ; -rw-r--r--. 1 root root 0 Aug 4 15:49 /tmp/1.txt.bak

-inum 根据inum号查询文件(硬链接) find 路径 -inum 数值 find / -inum 50784099

[root@jinkai01 ~]# ls -i 50784099 a 33574978 anaconda-ks.cfg [root@jinkai01 ~]# find / -inum 50784099 /root/a

-size 根据文件大小查找 查找目录下小于10k的文件,将其ls -lh表示出来

[root@jinkai01 ~]# find /tmp/ -type f -size -10k -exec ls -lh {} ; -rw-r--r--. 1 root root 0 Aug 4 15:49 /tmp/1.txt.bak

文件后缀名

文件后缀名:Linux下后缀名需求,只是为了好区分文件类型; 例如1.txt文件也可以写成1,一样也被系统识别; 加后缀名只是便于我们自己区分; 比如一说到txt我们就知道是文本,bak是备份、rar是压缩等;

linux和Windows互传文件

使用xshell与Linux之间互传必须安装包:lrzsz

yum install -y lrzsz

将Linux上的文件传输到Windows电脑上: 格式: sz [文件路径] sz /tmp/1.txt.bak 在弹出的保存对话框中手动选择保存的Windows目录即可; 将Windows文件传输到Linux服务器上: rz命令 输入rz命令,在弹出的对话框中选择Windows的文件,点击确定即可; 注意:传输过来的文件是传输到当前目录下;