linux学习-常规命令使用1
系统用户
PS1 定义提示符的格式 例如:
PS1=XXX 当前用户名就会被临时修改
为潮南等地区用户提供了全套网页设计制作服务,及潮南网站建设行业解决方案。主营业务为成都做网站、网站制作、潮南网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
echo $PS1
[\u@\h \W]\$ // u表示用户,h 主机名 W 当前的文件夹
# 管理员
$ 普通用户
命令类型:当我们输入一个命令后,它会通过shell交给kernel,kernel来判断这个命令的类型
内部指令 :内核自带的 kernel自身就有的
外部指令 :GUN file 安装的文件
查看一下内部指令存放的位置
ll vmlinuz-3.10.0-327.el7.x86_64 -h
//h表示符合人类查看方式,查看数据的大小比较方便,这个内核只有4.1M。这里包含了所有的内置命令
type which 命令的比较
type:用来显示指定命令的类型,判断给出的指令是内部指令还是外部指令。通过上图可知who是外部指令,type是内部指令
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)
网站名称:linux学习-常规命令使用1
本文来源:http://azwzsj.com/article/ihgped.html