linux 传输中的文件后缀,find命令,文件名后缀,linux和windows互传文件

which ls 可以查看ls命令路径

which 是从环境变量PATH里面搜索

whereis ls 也可以搜索,但是只能在固定的库搜索

e3e72cd61084d29a2cca95eda2c5f434.png

locate命令也可以搜索,需要先安装才能使用,参照上图

abb0a5e7df19f8a5fa508673eadf6162.png

安装完成后还是不能立刻使用locate命令,需要先生成数据库文件mlocate.db

这个数据库文件每天凌晨4点左右会自动更新一次,也可以手动更新生成

现在还没有生成这个数据库文件,我们是用不了locate命令,所以先手动生成一次

使用命令 updatedb 这样就手动生成数据库文件了

这个数据库文件会先遍历一遍系统将各种路径数据记录在里面

这样我们使用locate命令就可以从数据库里的路径数据找到我们需要的路径数据

3560e94444b31e2e7ad4f0e4f51fe69e.png

生成数据库文件后,我们再使用locate命令搜索包含aming关键词的路径

如上图所示,找到了所有包含aming关键词的路径信息

以上搜索命令使用不多,主要还是使用find命令

ctrl+l清屏,ctrl+d退出登录,ctrl+c中断命令

ctrl+u 把光标前面的内容全部删除

ctrl+e 可以把光标从文章头部直接移动到尾部

ctrl+a 可以把光标从文章尾部直接移动到头部

550bc5c99fa4f30c08e0ff433aeb462d.png

在一个目录里面寻找一个文件,知道名字不知道路径

可以使用 find /etc/ -name "sshd_config"

路径 /etc/ 表示在etc目录里面寻找文件

参数 -name 表示文件名参数,后面接文件名 "sshd_config"

这样就会把etc目录里面所有文件名为sshd_config的文件目录找出来

ce48f71c2a85ea53d9784bb0591759f0.png

find /etc/ -name "sshd*" 可以把文件名包含sshd关键词的目录跟文件路径全部搜索出来

符号 * 代表通配符,*可以表示任意长短字符

如搜索结果里面 sshd_config 就可以用 sshd* 表示

所以用 sshd* 就可以搜索所有 sshd+(任意字符) 的结果,这是模糊搜索

1ab1409e8b4f5aa8d6eb7f8f4f039336.png

上图,增加了一个参数 -type d 和 -type f,这代表文件类型

增加 d 参数,意思是搜索的结果只包含目录类型,f参数则只包含文件类型

如图所示,模糊搜索sshd关键字,目录类型的文件不存在,只有文件类型的文件

还可以搜索很多不同类型的文件,如 l(软链接文件),s(socket文件),c(字符串设备文件),b(块设备文件) 等等文件类型

c4afadf2662918fffa76d98b71cbccfb.png

使用 stat 查看 2.txt 文件的详细信息,stat命名显示信息比ls更详细

详细信息下面有三条信息,分别是:1.最近访问,2.最近更改,3.最近改动

find 命令也有三个对应的参数,分别是:-mtime,-ctime,-atime

其中,-atime 对应 最近访问,-mtime 对应 最近更改,-ctime 对应 最近改动

atime就是最近的访问时间,mtime是最近文件内容改动的时间

ctime是文件最近权限,文件名称,创建时间等的改动时间,总之就是文件内容以外的改动的时间就是ctime

bc44c4b72e7489047323bac78abfc62d.png

echo "121212" >> 2.txt 这条命令可以把 121212这个字符串追加到2.txt文件内容后面

可以看到追加内容后,mtime对应的信息时间,Modify的时间更改了

echo 命令可以用来显示字符串,echo+字符串,就会显示这个字符串

更改了内容,mtime时间变化了,ctime时间也一定会变化,如图,ctime时间与mtime时间一致

mtime代表内容更改的时间,除此以外的变化时间是ctime

因为对文件追加内容之后,文件的大小就变化了,文件大小的变化时间属于ctime时间

d7f0567fb21704efd3325e76c3cacfac.png

如图,在 etc 目录里面搜索,-type f 表示只搜索文件类型

然后 -mtime -1 表示文件更改时间在一天以内的,-1代表小于一天,也就是1天以内的意思

下面 -mtime +1 表示文件更改时间在一天以外的,+1代表大于一天,也就是1天以外的意思

d8d1e53d84211bf96cef70f2c8ec88b5.png

find /etc/ -type f -ctime -1 -name "*.conf"

上面表示,在etc目录搜索,类型为文件,并且 ctime在1天以内的,

并且文件名称为 (任意字符)+ .conf 的文件

252ecb0a44e911584b4b09fb729ab563.png

如图,除了并且也可以使用或者,或者用 -o 表示

find /etc/ -type f -o -mtime -1 -o -name "*.conf"

表示在etc目录搜索,类型为文件 或者 mtime为1天以内的 或者 文件名称为 (任意字符)+.conf 的文件

9b5d5af612fc2503d2ad7c6250ee02bd.png

如图,搜索inode号,找到硬链接文件

使用ls命令显示 1_heard.txt的inode号,参数 -inum 表示指定inode号

find / -inum 33583395 表示在根目录搜索所有使用这个inode号的文件

31a9e8d9dd47cbc9e8edada81dacb753.png

如果想寻找1个小时以内的文件,需要使用 -mmin ,代表分钟

因为 mtime 的最小单位是天,所以需要使用分钟为单位的 -mmin

如图 -mmin -60 代表60分钟以内的文件,也就是说1小时内,-120代表2小时内,以此类推

8521810a5ec2e3b391a11e36ef5fdc71.png

如图,在搜索语句后面加上 -exec ls -l {} ; 可以使搜索出来的结果显示详细信息

意思是对所有搜索出来的文件使用 ls -l 命令,{}就代表了搜索出来的所有结果的文件名

exec语句都是以分号 ; 结束的,但是不同系统分号有不同的功能,所以分号前面加上反斜杠表示这是分号,没有别的功能

所以整句话可以看做 ls -l {}(所有文件名称),-exec 和 ; 是固定格式

421c5cfb0020ca785bbae7522e4f357b.png

也可以应用 mv 命令,将搜索出来的文件全部修改名称

如图,-exec mv {} {}.bak ;

mv a b 可以把名称a改成b,同理,{}代表所有搜索出来的文件名称,{}.bak代表新的名称

就是把原来的名称 {} 修改为新的名称 {}.bak,新名称就是原来名称后面加上.bak

{}.bak 可以理解为一种表示方法,代表在原来名称后面加上 .bak 组成一个新的组合

23afb9c30ba063209bae6ba444a977db.png

也可以查找规定大小的文件

如图 -type f 只搜索文件类型,-size +10k 表示文件大小要大于10kb的

也可以使用 -size +10M 表示文件大小要大于10MB的

后面接 -exec ls -lh {} ; 表示把搜索出来的文件详细信息列出来,{}表示所有文件名称

h 表示人类可读的显示方式,例如 1MB 1GB 等,不然就会显示比特,难以看清文件大小

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值