给定一个命令字,Linux从哪里去找对应的指令?
−别名:alias可查看
−内部命令:help可查看
−程序目录:记录在环境变量PATH 中
- [root@hadoop ~]# echo $PATH
- /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/soft/hadoop/bin:/usr/soft/hadoop/sbin:/usr/soft/hbase/bin:/usr/soft/hive/bin:/usr/soft/jdk/bin:/usr/soft/phoenix/bin:/usr/soft/scala/bin:/usr/soft/spark/bin:/usr/soft/spark/sbin:/usr/soft/sqoop/bin:/root/bin
which 工具
−用法:which [-a] 命令字.. ..
−从别名及程序目录中查找,但不从内部命令查找
- [root@hadoop ~]# which ls cd
- alias ls='ls --color=auto'
- /bin/ls
- /usr/bin/which: no cd in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/soft/hadoop/bin:/usr/soft/hadoop/sbin:/usr/soft/hbase/bin:/usr/soft/hive/bin:/usr/soft/jdk/bin:/usr/soft/phoenix/bin:/usr/soft/scala/bin:/usr/soft/spark/bin:/usr/soft/spark/sbin:/usr/soft/sqoop/bin:/root/bin)
- [root@hadoop ~]# which -a reboot
- /sbin/reboot

检查命令字ls、mkdir、ifconfig的程序文件在哪里
- [root@hadoop ~]# which ls mkdir ifconfig
- alias ls='ls --color=auto'
- /bin/ls
- /bin/mkdir
- /sbin/ifconfig
尝试检查命令字cd、help 的可执行文件,解释执行结果
cd、help是内部命令
- [root@hadoop ~]# which cd
- /usr/bin/which: no cd in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/soft/hadoop/bin:/usr/soft/hadoop/sbin:/usr/soft/hbase/bin:/usr/soft/hive/bin:/usr/soft/jdk/bin:/usr/soft/phoenix/bin:/usr/soft/scala/bin:/usr/soft/spark/bin:/usr/soft/spark/sbin:/usr/soft/sqoop/bin:/root/bin)
- [root@hadoop ~]# which help
- /usr/bin/which: no help in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/soft/hadoop/bin:/usr/soft/hadoop/sbin:/usr/soft/hbase/bin:/usr/soft/hive/bin:/usr/soft/jdk/bin:/usr/soft/phoenix/bin:/usr/soft/scala/bin:/usr/soft/spark/bin:/usr/soft/spark/sbin:/usr/soft/sqoop/bin:/root/bin)
将命令uname复制为/root/un ,如何才能执行un 程序
updatedb工具
−记录当时Linux中所有文档的路径
−删除/增加文档以后,需要重新updatedb,才能反映到索引库
−默认位置:/var/lib/mlocate/mlocate.db
locate 检索工具
−用法1(文档路径包含):locate 关键词
−用法2(文件名包含):locate -b 关键词
−用法3(文件名=关键词):locate -b '\关键词'
任务目标
−找出存放位置或名称中包含passwd关键词的所有文档
−选项-c 可获取匹配结果数
- [root@hadoop ~]# locate passwd #命令没有安装
- -bash: locate: command not found
安装locate命令,最后出现complete才成功
- [root@hadoop ~]# yum install mlocate
- base | 3.7 kB 00:00
- extras | 3.4 kB 00:00
- updates | 3.4 kB 00:00
- Setting up Install Process
- Resolving Dependencies
- --> Running transaction check
- ---> Package mlocate.x86_64 0:0.22.2-6.el6 will be installed
- --> Finished Dependency Resolution
-
- Dependencies Resolved
-
- ========================================================================================================================
- Package Arch Version Repository Size
- ========================================================================================================================
- Installing:
- mlocate x86_64 0.22.2-6.el6 base 86 k
-
- Transaction Summary
- ========================================================================================================================
- Install 1 Package(s)
-
- Total download size: 86 k
- Installed size: 279 k
- Is this ok [y/N]: y
- Downloading Packages:
- mlocate-0.22.2-6.el6.x86_64.rpm | 86 kB 00:00
- Running rpm_check_debug
- Running Transaction Test
- Transaction Test Succeeded
- Running Transaction
- Installing : mlocate-0.22.2-6.el6.x86_64 1/1
- Verifying : mlocate-0.22.2-6.el6.x86_64 1/1
-
- Installed:
- mlocate.x86_64 0:0.22.2-6.el6
-
- Complete!
更新数据库
[root@hadoop ~]# updatedb
- [root@hadoop ~]# locate passwd #模糊匹配
- /etc/passwd
- /etc/passwd-
- /etc/pam.d/passwd
- [root@hadoop ~]# locate -b '\passwd'
- /etc/passwd
- /etc/pam.d/passwd
- /usr/bin/passwd
- [root@hadoop ~]# locate -c passwd;locate -bc '\passwd'
- 116
- 3
为当前主机系统建立locate索引库
[root@hadoop ~]# updatedb
列出系统中名称为passwd或者以hosts开头的所有文件
- [root@hadoop ~]# locate -b '\passwd'
- /etc/passwd
- /etc/pam.d/passwd
- /usr/bin/passwd
- [root@hadoop ~]# locate -b '\hosts'
- /etc/hosts
新建文件/opt/new.txt,更新索引库再使用locate查找此文件
- [root@hadoop ~]# touch /opt/new.txt
- [root@hadoop ~]# updatedb
- [root@hadoop ~]# locate -b '\new.txt'
- /opt/new.txt