温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

linux学习-常规命令使用1

发布时间:2020-07-06 01:12:43 来源:网络 阅读:405 作者:zcl1840 栏目:数据库

系统用户
PS1 定义提示符的格式 例如:
PS1=XXX 当前用户名就会被临时修改

linux学习-常规命令使用1

echo $PS1

[\u@\h \W]\$   // u表示用户,h 主机名 W 当前的文件夹



linux学习-常规命令使用1

#  管理员
$  普通用户


命令类型当我们输入一个命令后,它会通过shell交给kernel,kernel来判断这个命令的类型

内部指令 :内核自带的 kernel自身就有的
外部指令 :GUN file 安装的文件

查看一下内部指令存放的位置

linux学习-常规命令使用1

ll vmlinuz-3.10.0-327.el7.x86_64 -h

//h表示符合人类查看方式,查看数据的大小比较方便,这个内核只有4.1M。这里包含了所有的内置命令


type  which 命令的比较

linux学习-常规命令使用1

type:用来显示指定命令的类型,判断给出的指令是内部指令还是外部指令。通过上图可知who是外部指令,type是内部指令

linux学习-常规命令使用1

which命令用于查找并显示给定命令的绝对路 径,环境变量PATH中保存了查找命令时需要遍历的目录。which指令会在环境变量$PATH设置的目录里查找符合条件的文件。也就是说,使用 which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。 

通过比较可知 which只能找外部指令,不能找内部指令

补充:

which     查看可执行文件的位置
whereis    查看文件的位置
locate     配合数据库查看文件位置
find      实际搜寻硬盘查询文件名称


which:通过 PATH环境变量到该路径内查找可执行文件,所以基本的功能是寻找可执行文件

whereis

参数
-b : 只找二进制文件
-m: 只找在说明文件manual路径下的文件
-s : 只找source源文件
-u : 没有说明文档的文件
例如:whereis passwd

passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz  // 将和passwd文件相关的文件都查找出来

和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通 过遍历硬盘来查找,效率自然会很高。
但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。


locate

locate 文件或者目录名称
例如:
locate passwd

/home/weblogic/bea/user_projects/domains/zhanggongzhe112/myserver/stage/_appsdir_DB_war/DB.war/jsp/as/user/passwd.jsp
/home/weblogic/bea/user_projects/domains/zhanggongzhe112/myserver/stage/_appsdir_admin_war/admin.war/jsp/platform/passwd.jsp
/lib/security/pam_unix_passwd.so
/lib/security/pam_passwdqc.so
/usr/include/rpcsvc/yppasswd.x
…………
find
参数说明:
时间查找参数:
-atime n :将n*24小时内存取过的的文件列出来
-ctime n :将n*24小时内改变、新增的文件或者目录列出来
-mtime n :将n*24小时内修改过的文件或者目录列出来
-newer file :把比file还要新的文件列出来
名称查找参数:
-gid n     :寻找群组ID为n的文件
-group name  :寻找群组名称为name的文件
-uid n     :寻找拥有者ID为n的文件
-user name   :寻找用户者名称为name的文件
-name file   :寻找文件名为file的文件(可以使用通配符)
例如:find / -name who


补充总结:当我们用whereis和locate无法查找到我们需要的文件时,可以使用find,但是find是在硬盘上遍历查 找,因此非常消耗硬盘的资源,而且效率也非常低,因此建议大家优先使用whereis和locate。
locate 是在数据库里查找,数据库大至每天更新一次。
whereis 可以找到可执行命令和man page
find 就是根据条件查找文件。
which 可以找到可执行文件和别名(alias)  
                                                                           




向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI