本文主要向大家介绍了Linux运维知识之Linux命令详解--文件与目录查找,通过具体的内容向大家展现,希望对大家学习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/passwdbash: vim2: command not found # /tmp/vim2 /etc/passwd //绝对路径执行2、添加路径到PATH1)临时修改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:/tmp2)永久修改PATH值工作中一定会用的/etc/profile //全局配置文件,对所有用户生效~username/.bashprofile //局部配置文件,只对特定用户生效# vim /root/.bashprofilePATH=$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 lsalias ls=‘ls --color=auto‘/bin/ls # which vim/usr/bin/vim命令的别名: alias1、查看当前系统中有哪些别名(root用户和普通用户的别名可能不一样)

2、设置命令的别名1)临时

2)永久,改文件别名在哪定义的?(1)/root/.bashrc cp rm mv(2) /etc/profile.dcolorls.shwhich2.sh3、取消别名[ 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.log2、手动更新数据库# 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在排除列表中