终端快捷键:
Ctrl + l  :清屏
Ctrl + d :退出终端(相当于执行了:exit 或logout)
Ctrl + c : 强制中断
Ctrl + u : 在命令输入行,删除光标前的字符串
Ctrl + e :  光标移到末尾
Ctrl + a :  光标移到开始

Linux当中搜索文件的命令学习

which;which是用来查找可执行文件的绝对路径,当我们不知道或者忘记某个命令的绝对路劲时,就可以用which命令进行查看。

[root@ask-01 ~]# which vi /usr/bin/vi [root@ask-01 ~]# which cat /usr/bin/cat

whereis;whereis命令使用来通过预先生成的一个文件列表库查找出的文件相关的文件

* -b:只查找二进制文件
* -m:只查找帮助文件(man目录下的文件)
* -s:只查找源代码文件

[root@ask-01 ~]# whereis ls ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz

这里我们可以看到我们找到两个关于ls的文件,类似于模糊查找,只要包括ls的就会列出来。

lacote;lacote命令和whereis相似,都是通过预先生成的库列表来查找,如果你的Linux当红没有lacote命令,那么你需要先安装它:

[root@ask-01 ~]# yum install -y mlocate 已加载插件:fastestmirror 已安装: mlocate.x86_64 0:0.26-6.el7
完毕! [root@ask-01 ~]# lacate passwd -bash: lacate: 未找到命令 [root@ask-01 ~]# updatedb [root@ask-01 ~]# locate passwd /etc/passwd /etc/passwd- /etc/pam.d/passwd /etc/security/opasswd /home/Ask/asklinux1/asklinux2/passwd-soft

安装好locate命令后第一次使用系统会报错,这时因为系统还没有生成这个文件列表,使用updatedb命令一下,再使用locate命令就可以了。使用locate命令搜索也是模糊搜索,只要是于关键词有关的,不论是目录还是文件都会列出来,这样locate也不适用于精准搜索。

find;find命令是日后使用中,经常需要用到的命令,这里也着重的介绍find命令的使用,find最常用的参数有以下几个

* -atime +n/-n:表示访问或执行时间大于或小于n天的文件
* -ctime +n/-n:表示写入、更改inode属性的时间大于或小于n天的文件
* -mtime +n/-n:表示写入时间大于或小于n天的文件

下面示例一个:

[root@ask-01 ~]# find /home/Ask -mtime +1 /home/Ask /home/Ask/.bash_logout /home/Ask/.bash_profile /home/Ask/.bashrc /home/Ask/asklinux1/456.txt /home/Ask/asklinux1/123.txt /home/Ask/asklinux2 /home/Ask/asklinux2/1.txt /home/Ask/asklinux2/2.txt /home/Ask/asklinux2/3.txt

上例中mtime +1表示,mtime再一天以上的文件,单位是天,而-1就是在一天之内搜索,如果不加减的话,则表示正好那么多天的文件,比如mtime 10,就是为第10天的文件。

* access time:既atime是在读取文件或者执行文件时更改的。
* modified time:既mtime,是在写入文件时岁文件内容的更改而更改的。
* change time:既ctime。是在写入文件、更改所有者、权限或链接设置时随inode内容的更改而更改的。

其中,inode(索引节点)用来存放档案及目录的基本信息,包含时间信息、文档名、所有者所属组等,inode是Unix操作系统中的一种数据结构,其本质是结构体,在文件系统创建时生成,且个数有限,在Linux下,可以通过命令df -i来查看各个分区的inode总数以及使用情况。 因此,更改文件会更改mtime和ctime,但是文件的ctime可能会在mtime末发生任何变化是更改,例如,更改了文件的权限,但是文件内容没有变化,那么如何获得一个文件的atime,mtime,ctime呢,stat命令可以用来列出文件的atime、ctime、和mtime。以下示例:

[root@ask-01 Ask]# stat /home/Ask/asklinux1/456.txt 文件:"/home/Ask/asklinux1/456.txt" 大小:237 块:8 IO 块:4096 普通文件 设备:803h/2051d Inode:16981924 硬链接:1 权限:(0700/-rwx------) Uid:( 1001/ ask-01) Gid:( 1001/ ask-02) 环境:unconfined_u:object_r:user_home_t:s0 最近访问:2017-12-20 01:45:11.418827638 +0800 最近更改:2017-12-20 01:44:56.674201772 +0800 最近改动:2017-12-21 03:13:55.262424173 +0800 创建时间:-

除了以上参数,find还有一些常用的常熟

* **-name** filename:表示直接查找该文件名的文件,这个选项比较常用,示例

[root@ask-01 Ask]# find . -name 456.txt ./asklinux1/456.txt [root@ask-01 Ask]# find . -name "ask*" //支持使用通配符 ./asklinux1/ask1 ./asklinux1/ask2

* **-type** filetype:表示通过文件类型查找文件。示例

[root@ask-01 Ask]# find . -type f ./.bash_logout ./.bash_profile ./.bashrc ./asklinux1/456.txt ./asklinux1/123.txt ./asklinux2/1.txt ./asklinux2/2.txt ./asklinux2/3.txt

* **-inum**:通过inode好进行搜索,适用于搜索有硬链接的文件
*** -mmin** -(分钟):通过在-type 追加参数显示在多少分钟内的文件,格式如下find /目录/ -type f -mmin -60,在表示在60分钟内的文件。
* **-size** +10k/-10M:搜索大于10K的文件或小于10M的文件

在执行find命令时,我们还可以追加一个命令,比方追加一个ls命令来查看搜索出来的文件的属性信息,示例

[root@ask-01 Ask]# find /home/Ask/ -type f -size -10M -exec ls -lh {} ; -rw-r--r--. 1 Ask Ask 18 8月 3 2016 /home/Ask/.bash_logout -rw-r--r--. 1 Ask Ask 193 8月 3 2016 /home/Ask/.bash_profile -rw-r--r--. 1 Ask Ask 231 8月 3 2016 /home/Ask/.bashrc -rwx------. 1 ask-01 ask-02 237 12月 20 01:44 /home/Ask/asklinux1/456.txt -rw-rw-r--. 1 root root 0 12月 21 03:30 /home/Ask/asklinux1/123.txt -rw-r--r--. 1 root root 0 12月 21 03:44 /home/Ask/asklinux2/1.txt -rw-r--r--. 1 root root 0 12月 21 03:49 /home/Ask/asklinux2/2.txt -rw-r--r--. 1 root root 0 12月 21 03:50 /home/Ask/asklinux2/3.txt

Linux文件后缀名

在Linux当中文件的后缀名,不能代表其文件的类型,但是为了便于我们查找和认知,我们习惯性给它们加上相对应的后缀名,以便以后的使用,比如sh就代表他是shell脚本文件,tar.gz代表它是压缩包,zip代表它是压缩文件。