Linux所有的目录都在/
(根目录)之下。
目录结构通常是按照类别划分的,并具有一定的层级结构关系,就如同书包含树干、树枝等一样。
系统目录及其作用
根目录结构及其作用
输入命令,可以看到根目录下的各级目录。
[root@test ~]# tree -L 1 /
- bin -> usr/bin 所有二进制命令所在的目录(用户),存放可执行的文件。
- boot 内核及引导系统程序所在目录,如内核加载器,虚拟内存磁盘加载器initra,引导加载器grub。
- dev 所有设备文件的目录,比如磁盘、光驱,当使用ls -l命令查看时,黄色黑底的是设备,文件的大小则为设备号。
- etc 二进制安装包配置文件默认路径,服务启动命令存放目录
- home 普通用户的家目录(root用户家目录在根目录下
/root
),目录下有和每个用户名同名的目录,为每个用户的家目录。 - lib -> usr/lib 32位库文件及内核模块(/lib/modules)存放目录,动态库文件
.dll
,.so
等,静态库.a
。 - lib64 -> usr/lib64 64位库文件及内核模块(/lib/modules)存放目录,动态库文件
.dll
,.so
等,静态库.a
。 - media 挂载点目录,比如挂在光驱、移动硬盘
- mnt 用于挂在额外的临时文件系统,比如另外一块硬盘,功能同目录
media
差不多 - opt 可选目录,自定义软件安装存放目录,安装第三方软件,比如oracle
- proc 伪文件存放目录,进程及内核信息存放目录,内核映射文件,关机后该目录是空的,系统调优一帮配置该目录。
- root 管理员root用户家目录
- run 系统运行时产生的临时文件存放的目录
- sbin -> usr/sbin 系统管理命令存放目录(root用户使用的命令)
- srv 服务启动之后需要访问的数据目录
- sys 伪文件系统,跟硬件设备相关的属性映射文件,系统使用目录,关机后该目录是空的。
- tmp 临时文件目录,每一用户都能在这个目录下创建文件,还有一个另外的临时文件夹
/var/tmp
- usr 存放只读文件,比如系统命令和帮助文件目录,系统的就在
/usr
下,第三方的在/usr/local
下 - var 存放内容经常变动的文件的目录,比如日志
log
等 - lost+found 存放系统丢失的文件
根下常见目录介绍
输入命令,查看bin目录。
[root@test ~]# tree -L 1 /bin
最下面一排文字:0 directories,731 files
从结果中可以看出,目前/bin
目录下有731个文件,也就是说目前系统安装了731个二进制命令,都存在/bin
目录下面。
/etc
目录是二进制安装包配置文件默认路径,服务启动命令存放目录,再系统中也是一个比较重要的目录。
- /etc/resolv.conf 设置本地客户端DNS的文件
- /etc/fstab 记录开机需要挂载的文件系统的文件
- /etc/init.d 存储系统或服务器以System V模式启动的脚本文件
- /etc/inittab 设定系统启动级别的配置文件
- /etc/profile 系统全局环境变量配置文件
- /etc/rc.local 存储开机自启动程序命令的文件
/var
是用于存放内容经常变动的文件的目录,比如系统的启动日志、安全记录等。
- /var/log/dmesg 系统核心启动日志文件
- /var/log/messages 系统报错日志文件
- /var/log/maillog 邮件系统日志文件
- /var/log/wtmp 记录用户登陆信息的文件
在实际生产环境中,我们经常将一些安装应用服务的日志文件统一导/var/log/
目录下,然后以应用的名称来命名日志文件的上级目录名,比如/var/log/ftp
表示用于存储FTP服务的日志目录。
linux系统的重要文件
网卡配置文件
网卡配置文件为/etc/sysconfig/network-scripts/ifcfg-ens33
,通过编辑文件的配置信息来配置网卡。
- HWADDR MAC地址
- TYPE 网卡类型(通常是Ethemet以太网)
- PROXY_METHOD 代理方式
- BROWSER_ONLY 只是浏览器
- BOOTPROTO 网卡的引导协议【static:静态IP dhcp:动态IP none:不指定,不指定容易出现各种各样的网络受限】
- DEFROUTE 默认路由
- IPV4_FAILURE_FATAL 是否开启IPV4致命错误检测
- IPV6INIT IPV6是否自动初始化
- IPV6_AUTOCONF IPV6是否自动配置
- IPV6_DEFROUTE IPV6是否可以为默认路由
- IPV6_FAILURE_FATAL 是否开启IPV6致命错误检测
- IPV6_ADDR_GEN_MODE IPV6地址生成模型
- NAME 网卡物理设备名称
- UUID 通用唯一识别码,每一个网卡都会有,不能重复,否则两台linux机器只有一台可上网
- DEVICE 网卡设备名称,必须和‘NAME’值一样
- ONBOOT 是否开机启动,要想网卡开机就启动或通过
systemctl restart network
控制网卡,必须设置为yes
- IPADDR 本机IP
- NETMASK 子网掩码
- GATEWAY 默认网关
- DNS1 DNS服务器地址
- DNS2 DNS备用服务器地址
DNS配置文件
DNS用于将域名解析为IP地址,Linux服务器本地DNS配置文件为/etc/resolv.conf
。
如果网卡配置文件中配置了DNS,那么它的优先级别高于这个配置文件中的配置。
可以通过命令来修改DNS配置文件。
[root@test ~]# vim /etc/resolv.conf
在编辑的文件里写入以下内容,表示本服务器所有的DNS解析工作都由服务器地址为223.5.5.5的DNS服务器负责处理。
nameserver 223.5.5.5
系统hosts文件
hosts文件其实在windows操作系统中也存在,对于Linux操作系统,hosts文件是主机IP地址与主机名或域名对应的结息配置文件。
在实际生产环境中,hosts文件的作用如下:
- 在开发人员、产品管理人员、测试人员通过正式域名测试产品时,需要进行相应的hosts文件配置。
- 服务器之间的服务通信、接口调用等可以用hosts文件中的域名,以便后面的服务器迁移。
主机名配置文件
主机名配置文件为/etc/hostname
。
注意CentOS 6系统中的主机名配置文件为/etc/sysconfig/network
。
直接编辑文件,就可以修改主机名。
fstab文件
fstab文件时记录开机需要自动挂载的文件系统的配置文件。
fstab文件的信息包括6列(具体的信息可以通过man fatab
命令来查看):
- 被挂载的设备名称。
- 挂载点(目录)名称。
- 文件系统类型。
- 挂载选项。
- 是否需要备份(0为不需要备份)。
- 是否需要开机检查(0为不需要,但如果是根目录,就设置成1)。
rc.local文件
rc.local文件用于存放开机自启动服务命令,等同于Windows操作系统中的启动菜单。
可以将命令直接写入次配置文件中,在CentOS系统中,需要使用chmod +x /etc/cr.d/rc.local
命令配置该文件的执行权限,但在CentOS 6版本中不需要。
在实际生产环境中,常将开机自启动服务的启动命令写入该配置文件,防止服务器重启忘记启动该服务而产生的其他问题;另一方面,可以通过配置文件查看服务器中存在哪些服务或正在运行哪些服务。
全局环境变量配置文件
系统全局环境变量配置文件为/etc/profile
,与之关联的还有一个配置文件/etc/profile.d
。
/etc/profile
文件用于存放登陆后自动执行的脚本。
此配置文件中的设置对所有用户生效。
如果需要对某一个用户配置环境变量,则需要在该用户的家目录下的.bash_profile
文件中增加配置。
修改配置后,需要调用source
命令来应用新配置,如source /home/用户名/.bash_profile
。
定时任务配置文件
定时任务配置文件为/var/spool/cron/用户名,默认为空。 可以使用
vim命令编辑文件名或者直接使用
crontab -e命令编辑定时任务配置文件。 可以使用
crontab -help命令查看
crontab`命令的帮助信息。
用户相关的配置文件
用户信息配置文件
系统中所有用户的信息配置文件为/etc/passwd
。
用户密码配置文件
用户密码配置文件为/etc/shadow
,系统中所有用户的密码信息都存放在此文件中。
Linux文件命名规则
- 文件名的长度不得超过255个
- 不能使用
/
当文件名,其他任何字符都可以使用。 - 严格区分大小写。