Linux命令详解--文件与目录查找
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux命令详解--文件与目录查找相关的知识,希望对你有一定的参考价值。
一·文件搜索
which:用来查找命令的绝对路径
-- 显示shell命令的绝对路径
-- 仅仅会在PATH变量中搜索要查找的命令
-- 搜索时先查找别名,然后从PATH中查找
1、查看用户的PATH变量:命令的搜索路径
# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin
command not found可能原因:
1)敲错了
2)命令没有安装
3)命令所在路径没在PATH变量的定义中
# cp which vim
/tmp/vim2
# vim2 /etc/passwd
bash: vim2: command not found
# /tmp/vim2 /etc/passwd //绝对路径执行
2、添加路径到PATH
1)临时修改PATH值
# PATH=$PATH:/tmp //$PATH:保留变量原有值
# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin:/tmp
2)永久修改PATH值工作中一定会用的
/etc/profile //全局配置文件,对所有用户生效
~username/.bashprofile //局部配置文件,只对特定用户生效
# vim /root/.bashprofile
PATH=$PATH:$HOME/bin:/tmp //添加红色部分即可
上述文件不是即时生效的,正常情况下,它是用户登录时执行的。
# source /root/.bashprofile //重新读取配置文件,使修改生效
# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin:/root/bin:/tmp
弊端:每次新开启一个终端或标签,都需要执行# source /root/.bashprofile
如果想一劳永逸,那么需要退出系统,重新登录,即注销。
System ——> Log out root ——> Log out
# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin:/tmp
# which ls
alias ls=‘ls --color=auto‘
/bin/ls
# which vim
/usr/bin/vim
命令的别名: alias
1、查看当前系统中有哪些别名(root用户和普通用户的别名可能不一样)
2、设置命令的别名
1)临时
2)永久,改文件
别名在哪定义的?
(1)/root/.bashrc cp rm mv
(2) /etc/profile.d
colorls.sh
which2.sh
3、取消别名
[ profile.d]# unalias vi
[ profile.d]# vi /etc/passwd //没颜色了
locate
-- 通过文件名检索文件,检索速度最快
-- 所有能够检索的东西,都是存放在数据库中的
-- locate局限性,有的文件系统、有的文件及有的目录默认是不会搜索的
1、假设我知道网卡配置文件的名字,但是不知道具体路径:
# locate ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-eth0
# locate ifcfg
/etc/dbus-1/system.d/nm-ifcfg-rh.conf
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-lo
/sbin/ifcfg
/usr/lib64/NetworkManager/libnm-settings-plugin-ifcfg-rh.so
/usr/share/man/man8/ifcfg.8.gz
/var/log/anaconda.ifcfg.log
2、手动更新数据库
# cp which vim
/root/vim3
# locate vim3 //未查询到结果
原因:因为locate的数据库是一天一更新,不是实时更新的。
# updatedb
# locate vim3
/root/vim3
数据库文件:/var/lib/mlocate/mlocate.db
报错:
1)数据库文件不存在
2)手动生成它
# updatedb
3、locate数据库配置文件
# vim /etc/updatedb.conf
# ls /tmp/vim2
/tmp/vim2
# locate vim2 //搜索不到,因为/tmp在排除列表中
以上是关于Linux命令详解--文件与目录查找的主要内容,如果未能解决你的问题,请参考以下文章