Linux Shell 学习笔记 一 目录结构
以Red Hat Enterprise Linux 各版本为例,RHEL中目录具体作用如下,
/bin 存放普通用户使用的命令
/sbin 存放管理员可以执行的命令
/home 存放普通用户的家目录 如zhangshan家目录为/zhangshan
/root 管理员的家目录
/etc 存放配置文件的目录
/boot 存放跟启动相关的文件
/usr 用户自定义的相关程序文件
/porc 内核,硬件参数相关的目录
/var 内容经常变化的文件存放目录 如日志
/temp 临时文件的存放目录
/run 存放进程文件的目录 (RHEL7)
Linux Shell 分为外部命令和内部命令,
内部命令:指的是集成于Shell解释器程序(如Bash)内部的一些特殊指令,也成为内建(Built-IN)指令。内部命令属于Shell的一部分,所以并没有单独对应的系统文件,只要Shell解释器被运行,内部指令也就自动载入内存了,用户可以直接使用。内部命令无需从硬盘中重新读取文件,因此执行效率更高。
外部命令:指的是Linux系统中能够完成特定功能的脚本文件或二进制程序,每个外部命令对应了系统中的一个文件,是属于Shell解释器程序之外的命令,所以称为外部命令。Linux系统必须知道外部命令对应的文件位置,才能够由Shell加载并执行。
Linux系统默认会将存放外部命令、程序的目录(如/bin、/usr/bin、/usr/local/bin等)添加到用户的“搜索路径”中,当使用位于这些目录中的外部命令时,用户不需要指定具体的位置。因此在大多数情况下,不用刻意去分辨内部、外部命令,其使用方法是基本类似的。
查看命令的存放位置可以用typer
比如 tar 查询的话用type tar 查看,结果会显示/usr/bin/tar显然这是个外部命令,如果查type cd得到的结果是 cd是shell内嵌,显然是内嵌命令
通常使用type这个命令用查看命令的所在文件夹,然后再用rpm这个命令查询这个命令安装所对应的软件包,
比如查看renice命令则可以用typer renice,得到的答案在用rpm查询
type renice
rpm -qf /usr/bin/renice