2017.12.22 2周5次课
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2017.12.22 2周5次课相关的知识,希望对你有一定的参考价值。
2017.12.22 二周第五次课
2.23/2.24/2.25 find命令
2.26 文件名后缀
2.23/2.24/2.25 find命令
1.学会使用快捷键
1)ctrl+C:结束(终止)当前命令。如果你输人了一大串字符,但不想运行,可以按ctrl+C组合键,此时光标将跳入下一行,而在刚刚的光标处会留下一个^C的标记.
2)Tab:实现自动补全功能。这个键比较重要,使用频率也很高。当你输人命令、文件或目录的前几个字符时,它会自动帮你补全。
3)ctrl+D:退出当前终端。同样,你也可以输人命令exit实现该功能。
4)ctrl+Z: 暂停当前进程。这和ctrl+C是有区别的,暂停后, 使用fg命令恢复该进程,该知识点以后会介绍到。
5)ctrl+L: 清屏,使光标移动到屏幕的第一行。当命令和显示的结果占满整个屏幕时,我们每运行一个命令,都会在最后一行显示,这样看起来不太方便,此时就可以使用这个快捷 键,让光标移动到屏幕第一行, 也就是所谓的清屏。
6)ctrl+A: 可以让光标移动到命令的最前面。有时候一条命令很长,快敲完时发现前面某个字母不对,此时可以直接用这个快捷键把光标定位到行首,然后再用左右方向键微调光标的位置。
7)ctrl+E:可以让光标移动到最后面, 作用同上。
8)Ctrl+U:删除光标之前到行首的字符
9)Ctrl+K : 删除光标之前到行尾的字符
2. 用which命令查找可执行文件的绝对路径
前面已经用过which命令,但需要注意的是,which只能用来查找PATH环境变量中出现的路径下的可执行文件。这个命令比较常用,有时我们不知道某个命令的绝对路径, 用which查找就很容易知道了。
3. 用whereis命令
通过预先生成的一个文件列表库查找与给出的文件名相关的文件, 其格式为 whereiS [-bms ] [文件名称], 其中各选项的含义如下所示。
1)-b:只查找二进制文件。
2)-m:只查找帮助文件(在m目录下的文件)。
3)-s:只查找源代码文件。
4. locate命令查找文件
locate命令类似于whereis ,也是通过查找预先生成的文件列表库来告诉用户要查找的文件在哪里,后面直接跟文件名。如果你的Linux没有这个命令,请安装mlocate软件包
安装好mlocate软件包后,初次运行locate命令会报错,这是因为系统还没有生成那个文件列表库。可以使用updatedb命令立即生成(或更新)这个库。如果你的服务器上正执行着重要的业务,那么最好不要去运行这个命令,因为一旦运行,服务器的压力会增大。默认情况下,这个数据库每周更新一次。如果使用locate命令搜索一个文件,而该文件正好是在两次更新时间段内创建的,那肯定得不到结果。我们可以到文件/etc/updated.conf中配置这个数据库生成(或更新)的规则。
locate所搜索到的文件列表,不管是目录名还是文件名,只要包含我们要搜索的关键词,都会列出来,所以locate不适合精准搜索
简单介绍下它的两个选项:
# -i //查找文件的时候不区分大小写 比如:locate –i passwd
# -n //只显示查找结果的前N行 比如:locate -n 5 passwd
5. 使用find搜索文件
find这个搜索工具是用得最多的一个,其格式为: find [路径] [参数]。
1)按文件名和inode号查找
#-name //根据文件名精确查找
#-iname //根据文件名忽略大小写的精确查找
#-inum n //根据inode号查找(只显示名称,长列出则加-ls)
#-samefile //根据相同inode号的查找(查找硬链接)
#-links n //硬链接为n的文件
#-regex “PATTERN” 支持正则(默认只支持范围,不支持通配符)
这里另外介绍下文件名通配的知识
*:表示通配任意的字符
?:表示通配任意的单个字符
[ ] :表示通配括号里面的任意一个字符
2)根据文件类型来查找文件:
-type filetype
f // 普通文件
d //目录文件
l //链接文件
b //块设备文件
c //字符设备文件
p //管道文件
s //socket文件
3)根据文件时间戳的相关属性来查找文件
一天为单位 -atime +n/-n:访问或执行时间大于或小于n天的文件
-mtime +n/-n:内容修改时间大于或小于n天的文件
-ctime +n/-n:属性修改大于或小于n天的文件 以分钟为单位: -amin +n/-n:访问或执行时间大于或小于n分钟的文件
-mmin +n/-n:内容修改时间大于或小于n分钟的文件 -cmin +n/-n:属性修改大于或小于n分钟的文件
+n/-n:大于n/小于n
我们可以使用stat命令来查看一个文件的具体信息
“ -ctime”改动
“-mtime”改动,同时“ -ctime”同步改动
“-atime”改动
查找etc目录里1天以内修改的文件
加了多个判断条件。是并且的意思
4)组合条件查找
# -o :连接两个不同的条件(两个条件满足其一即可)
# -not :对条件取反的
# -a :与
5)查找完执行的动作
# -print //默认情况下的动作
# -ls //查找到后用ls 显示出来
# -ok [command] //查找后执行命令的时候询问用户是否要执行
# -exec [command] //查找后执行命令的时候不询问用户,直接执行
注:使用-ok和-exec时,必须以“ \;”结尾。
【{}】 //表示find出来的文件的列表
更改文件名:
6)按文件大小查找
#-size [+|-] //根据文件大小来查找
常用单位:k, M, G,c(byte)
7)根据文件权限查找文件
# -perm
2.26 文件名后缀
在linux下的命令和文件是区分大小写的
在Linux系统中,文件的后缀名没有具体意义。加或者不加都无所谓。我们可以自定义文件名,文件的后缀。但是为了便于区分,我们习惯在定义文件名时加一个后缀名。这样当用户 看到这个文件名时,就会很快知道它到底是一个什么文件,例如l.sh、2.tar.gz、my.cnf、test.zip等
如果你首次接触这些文件,也许会很疑惑,但没关系,深人学习之后, 你就会逐渐了解这些文件。所列举的几个文件名中,1.sh代表它是一个shell脚本,2.tar.gz代表它是一个压缩包,my.cnf代表它一个配置文件,test.zip代表它是一个压缩文件。
在新的linux系统中,文件名可以最长可达255个字符。
以上是关于2017.12.22 2周5次课的主要内容,如果未能解决你的问题,请参考以下文章