第2周第5课:find、文件名后缀

常用的快捷键

  • [ ] Ctrl+C:终止当前命令
  • [ ] Tab :补全命令或目录
  • [ ] Ctrl+D:退出当前终端,同exit
  • [ ] Ctrl+Z: 暂停当前进程,暂停后可以用fg恢复它。
  • [ ] Ctrl+L:清屏
  • [ ] Ctrl+U:删除光标前面的所有字符
  • [ ] Ctrl+K:删除光标后面的所有字符
  • [ ] Ctrl+A:快速把光标定位到行首
  • [ ] Ctrl+E:快速把光标定位到行尾

2.23/2.24/2.25 find命令

搜索命令有几种:

1. which命令

查找可执行文件的绝对路径。

[root@greenfinch ~]# which ls
alias ls='ls --color=auto'
	/usr/bin/ls
	
[root@greenfinch ~]# which vi
/usr/bin/vi

注意:该命令只能用来查找PATH环境变量中出现的路径下的可执行文件。

2. whereis命令

在一个预先生成的文件列表库中,查找与给出的文件名相关的文件(模糊查找)。

  • 语法:whereis [选项] [filename]
  • 选项:
  • [ ] -b:只查找二进制文件
  • [ ] -m:只查找帮助文件(在man目录下的文件)
  • [ ] -s:只查找源代码文件
  • [ ] -u:没有说明档的文件
[root@greenfinch ~]# whereis cp
cp: /usr/bin/cp /usr/share/man/man1/cp.1.gz

3. locate命令

通过查找预先生成的文件列表库,告之用户要查找的关键字(文件名)在哪里。该命令属于模糊搜索,局限性大,常有遗漏。

  • 语法:locate [filename]

locate命令未安装,则用yum命令先安装软件包mlocate。格式为:yum install -y mlocate

locate命令执行报错,在命令提示符下,需要执行如下操作:updatedb

说明:系统没有生成那个文件列表库。使用updatedb命令立即生成(更新)这个列表库。该命令运行需要较大内存,所以服务器有重要业务时,尽量不要运行此命令。该数据库每周更新一次,如果某文件是在两次更新时间段内创建的,是搜不到的,需要到/etc/updated.conf去配置该数据库生成(更新)的规则。

4. find命令

格式:find [选项] [路径] [filename]

  • 选项:
  1. -name filename:直接查找该文件名的文件
[root@greenfinch ~]# find /etc/ -name "sshd_config"    && 精确查找关键字
/etc/ssh/sshd_config

[root@greenfinch ~]# find /etc/ -name "sshd*"         && 用统配符*,模糊搜索sshd相关的内容
/etc/ssh/sshd_config
/etc/systemd/system/multi-user.target.wants/sshd.service
/etc/sysconfig/sshd
/etc/pam.d/sshd
  1. -type filename:通过文件类型查找(文件类型:f,l,b,c等)
[root@greenfinch ~]# find /etc/ -type f -name "sshd*"
/etc/ssh/sshd_config
/etc/sysconfig/sshd
/etc/pam.d/sshd


[root@greenfinch ~]# find /etc/ -type l 
/etc/pki/ca-trust/source/ca-bundle.legacy.crt
/etc/pki/java/cacerts
/etc/rc3.d
[root@greenfinch ~]# ls -l /etc/rc3.d
lrwxrwxrwx. 1 root root 10 8月   7 06:25 /etc/rc3.d -> rc.d/rc3.d


[root@greenfinch ~]# find /dev/ -type b
/dev/sr0
/dev/sda
/dev/fd0
[root@greenfinch ~]# ls -l /dev/sda
brw-rw----. 1 root disk 8, 0 8月  11 21:44 /dev/sda


[root@greenfinch ~]# find /dev/ -type c
/dev/vsock
/dev/null
/dev/mem
[root@greenfinch ~]# ls -l /dev/null
crw-rw-rw-. 1 root root 1, 3 8月  11 21:44 /dev/null

,为节省篇幅,以上用find命令 -type 参数搜索出的符合关键字的内容,有所省略。

  1. Atime、Mtime、Ctime,根据时间查找
  • Atime ±n:访问或执行时间大于/小于n天的文件
  • Mtime ±n:写入时间大于/小于n天的文件
  • Ctime ±n:写入、更改inode属性(如更改所有者、权限或者链接)的时间大于或小于n天的文件。

名词解释

  • [ ] Atime(Access),在读取文件或执行文件时更改的。
  • [ ] Mtime(Modify),在写入文件时,随文件内容的更改而更改的。
  • [ ] Ctime(Change),在写入文件、更改所有者权限或链接设置时,随inode内容的更改而更改的。
  • [ ] inode(索引节点)用来存放档案及目录的基本信息,包含时间信息、文档名、所有者以及所属组等。inode是Unix操作系统中的一种数据结构,其本质是结构体,在文件系统创建时生成,且个数有限。

e.g:命令stat,用来列出文件的Atime、Mtime和Ctime等详细信息。

Markdown

Markdown

[root@greenfinch ~]# find /root/ -mtime -1 -name "*.txt"
/root/2.txt

:在Linux中,可以通过命令df -i来查看各个分区的inode总数以及使用情况。

  1. inode,查找硬链接文件

格式:find -inum inode(数值) 搜索路径

Markdown

  1. 以时间(分钟、天)为单位,查找在某时段的文件,并直接显示其详细信息。
  • 参数-exec,表示将对搜索到的文件进一步操作。
  • 参数-mmin ±n:在n分钟以内(-)或以外(+)的
  • 参数-mtime ±n:在n天以内的(-)或以外(+)的
  • 参数-l {} ;:把搜索到的结果根据要求筛选并输出。

Markdown

  1. size ±nM:以文件大小为条件,缩小搜索范围。n表示数值,M表示数值单位(可用的单位有k、M、G)

Markdown

2.26 文件名后缀

  • Linux的文件和命令,是区分大小写的。
  • Linux的文件名后缀可以自定义,没有严格限制。但为了方便阅读和维护,一般按约定俗成的短语或单词缩写定义文件名的后缀。
  • echo $LANG,查看当前系统的语言。英文为en,中文为zh_CN.UTF-8
  • date,查看系统时间

转载于:https://my.oschina.net/greenfinch/blog/1593902

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值