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的文件,点击确定即可; 注意:传输过来的文件是传输到当前目录下;