1、Linux文件系统目录
Linux主要由文件系统、内核、shell和各种应用程序组成,通过将各种可利用资源模拟成文件的形式,利用shell接口的交互性,可以顺利访问到各文件。Linux文件系统分层标准(Filesystem Hierarchy Standard)为一个倒置的树状结构,通过根的自引用可以访问到文件系统之下的各个文件。在众多linux发行版之中,都遵循次原则,下面以centos7介绍一下各目录。
/bin:普通用户可执行的二进制程序文件
/sbin:系统管理命令,这里存放的是系统管理员使用的管理程序
注:在centos7上,/bin和/sbin都指向了/usr/bin和/usr/sbin
/boot:内核的存放位置以及引导系统的各种程序文件
/dev:设备特殊文件,包括字符设备和块设备文件
字符设备文件:顺序访问,无缓存(键盘,鼠标[输入流必须按照特定的顺序])
/dev/null
/dev/zero
/dev/tty
用主设备号、此设备号加以区分
块设备文件:随机访问,有缓存(光盘,硬盘[随机读取数据])
/dev/sda
设备号码:
主设备号:major number, 标识设备类型
次设备号:minor number, 标识同一类型下的不同设备
设备文件是依靠这些设备号来识别设备文件的
/etc:全局配置文件目录
/etc/rc.d 启动的配置文件和脚本
/home:普通用户的家目录,比如用户user的主目录就是/home/user,可以用~user表示
/root:系统管理员的主目录(呵呵,特权阶级)
/lib:标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件
/lib64:64位系统特有的存放64位共享库的的路径
注:在centos7上,/lib和/lib64都指向了/usr/lib和/usr/lib64
/tmp:公用的临时文件存储点
/mnt:系统提供这个目录是让用户临时挂载其他的文件系统
/media:系统提供这个目录让用户挂载可移动设备
/proc:伪文件系统,并不占用外存空间,是动态从系统内核读出所需信息并提交的,用户和应用程 序可以通过proc得到系统的信息,并可以改变内核的某些参数
/proc/meminfo
/proc/cpuinfo
/proc/partitions
/sys:存放硬件信息的虚拟目录
/var:存储各种变化的数据目录,像日志文件,网页文件,ftp站点文件
/usr:HFS定义的二层文件系统,包含第三方应用程序文件、帮助文档和二进制程序等
/usr/local:第三方程序的安装位置
/usr/share/man:帮助文档 (分为不同的几个章节,如下,且在/etc/man.config中 使用man的MANPATH定义了这个路径)
/usr/share/doc:帮助文档
/usr/share/dict:linux字库
/usr/bin:普通用户可执行的二进制程序文件
/usr/sbin:系统管理命令,这里存放的是系统管理员使用的管理程序
/usr/lib:系统的库文件
/usr/include:系统的头文件
注:在centos6的一些版本之上的/misc目录之下,直接执行cd cd可以挂载光盘
centos7显示misc目录的方法
<span style="font-size:14px;"># 步骤一
[root@centos7/etc/yum.repos.d]#yum install autofs
Loaded plugins: fastestmirror, langpacks
make | 2.9 kB 00:00:00
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
...
# 步骤二
[root@centos7/etc/yum.repos.d]#systemctl start autofs
# 步骤三
[root@centos7/]#ls
a boot dev f1 ftp lib media mnt opt root sbin sys testyum usr
bin data etc file1 home lib64 misc net proc run srv testdir tmp var</span>
说明了misc目录只不过时由一个软件包提供的服务而已。
2、linux帮助手册的使用
使用帮助手册之前,使用type命令查看是内部命令还是外部命令
type [COMMAND]
如果是内部命令
help COMMAND
如果是外部命令
COMMAND --help
man COMMAND
*下面简单介绍一下man的使用
Linux中使用man来查看各资源的帮助信息。man就是manual的缩写,用来查看系统中自带的各种参考手册,但是手册页分为好几个部分,如下所示
章节编号 |
章节名称 |
章节主要内容 |
1 |
GeneralCommands |
用户在shell中可以操作的指令或者可执行文档 |
2 |
SystemCalls |
系统调用的函数与工具等 |
3 |
Sunroutines |
C语言库函数 |
4 |
SpecialFiles |
设备或者特殊文件 |
5 |
FileFormats |
文件格式与规则 |
6 |
Games |
游戏及其他 |
7 |
MacrosandConventions |
表示宏、包及其他杂项 |
8 |
MaintenenceCommands |
表示系统管理员相关的命令 |
9 |
<1>man的语法格式
man [options] [arguments]
<2>主要参数
-a:显示查找资源的全部章节的帮助信息
-k:以要查找的资源为关键字,在数据库中查找帮助信息
<3>man手册的查看
[]:可选内容,不选择不会出错,只是不能执行某些功能
<>: 必选内容
a|b:二选一
...: 同一内容可出现多次
<4>man手册页的快捷键
G:跳转到行首
gg:跳转到行尾
#:跳转到指定行
space:向下翻一屏
b:向上翻一屏
ctrl+d:向下翻半屏
ctrl+u:向上翻半屏
enter:向下翻一行
q:退出
<5>man手册页的搜索
/KEYWORD:以KEYWORD指定的字符串为关键字,向下搜索
?KEYWORD:以KEYWORD指定的字符串为关键字,向上搜索
n: 跟搜索命令同方向
N:跟搜索命令反方向
<6>whatis数据库的创建
有时候是可以查到某一命令或者文件的章节,但是无法使用man查看,此时要重新构建whatis数据库
*centos6:makewhatis
*centos7:mandb
3、小扩展
<1>如果大家利用以上知识仍然无法获得帮助信息,可以访问以下站点
https://redhat.com/docs
<2>如果阁下对英文实在不敏感,那就只能使用万能的Google了,再此分享几个小技巧,输入
openstack filetype:pdf
在Google中搜索与openstack相关的pdf文件
rhca site:redhat.com/docs
在redhat官网中查找rhca关键字的文档
4、bash中常用到的快捷键
ctrl+a:光标移动到命令行首
ctrl+e:光标移动到命令行尾
ctrl+u:删除光标前面的所有字符
ctrl+k:删除光标处的字符及其后面的全部字符
ctrl+l:清屏
clean:清屏
5、强引用、弱引用和反引号的区别
[root@centos7 ~]# echo "echo $USER"
echo root
[root@centos7 ~]# echo 'echo $USER'
echo $USER
[root@centos7 ~]# echo `echo $USER`
root
6、如何在centos中安装VMware Tools
VMware Tools是cdrom自带的工具,可以选择性安装。VMware Tools的作用:包括可以自动捕获鼠标、文件的赋值粘贴操作、虚拟机驱动的更新等。
<1>点击安装VMware Tools
<2>VMware Tools会自动映射到/media目录下
<3>复制VMware Tools到/tmp(当然可以是任意目录)
<4>解压/tmp下的VMwareTools-9.9.3-2759765.tar.gz
<5>进入/tmp/vmware-tools-distrib下,执行./vmware-install.pl -d
<6>此过程会持续五分钟左右,此时VMware Tools的功能依然不可用,需要执行/usr/bin/vmware-user,再重启系统。
<7>安装成功
如果有安装失败的,可进入/tmp/vmware-tools-distrib/bin,执行./mware-uninstall-tools.pl,载重复以上过程即可。
注意:此过程只是针对CentOS6,CentOS7上的VMware Tools将映射载/run/media目录下。不过安装VMware Tools和挂载本地光盘切不可同时进行。且在tty界面的话,VMware Tools将不再生效。