常用的快捷键
- [ ] 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]
- 选项:
- -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
- -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 参数搜索出的符合关键字的内容,有所省略。
- 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等详细信息。
[root@greenfinch ~]# find /root/ -mtime -1 -name "*.txt"
/root/2.txt
注:在Linux中,可以通过命令df -i来查看各个分区的inode总数以及使用情况。
- inode,查找硬链接文件
格式:find -inum inode(数值) 搜索路径
- 以时间(分钟、天)为单位,查找在某时段的文件,并直接显示其详细信息。
- 参数-exec,表示将对搜索到的文件进一步操作。
- 参数-mmin ±n:在n分钟以内(-)或以外(+)的
- 参数-mtime ±n:在n天以内的(-)或以外(+)的
- 参数-l {} ;:把搜索到的结果根据要求筛选并输出。
- size ±nM:以文件大小为条件,缩小搜索范围。n表示数值,M表示数值单位(可用的单位有k、M、G)
2.26 文件名后缀
- Linux的文件和命令,是区分大小写的。
- Linux的文件名后缀可以自定义,没有严格限制。但为了方便阅读和维护,一般按约定俗成的短语或单词缩写定义文件名的后缀。
- echo $LANG,查看当前系统的语言。英文为en,中文为zh_CN.UTF-8
- date,查看系统时间