基于linux内核的系统按照文件系统层次规范[1]的规定,处于/以下的两层层次中不同的发行版都应该具有相同的文件层次,比如说无论是ubuntu还是centos,都需要有/dev, /var/log, /usr/lib, /usr/bin等目录,用于储存特定内容的文件。虽然这里的内容,都将基于ubuntu 16.04作出描述,不过大部分应该在其他linux发行版上都可以通用。
/etc目录下
系统的主要配置文件主要都集中在/etc目录下,主要都有账户的信息,启动文件等。
- /etc/fstab :用于开机自动挂载文件,当添加新的硬盘或者储存设备需要开机自动挂载时需要在文件中指定,注意,根目录/是必须挂载的,而且一定是先于其他挂载点挂载。如果某个设备已经拔出,而这个文件没有更新这个信息,那么开机自检时就会尝试去挂载这个设备,导致自检失败。注意到在这个文件中也可以指定/boot的挂载,如果你的/boot发生了变化移到其他硬盘了,需要在这里指定。
- /etc/sudoers:该文件允许特定用户像root用户一样使用各种各样的命令,而不需要root用户的密码,同时该文件可以指定某些用户为root用户。
- /etc/shadow:储存root用户的密码,经过加密。可以指定账号密码的过期时间等。[3]
- /etc/group:存储关于工作组信息的配置文件,纪录了某个工作组下所包含的用户等。
- /etc/passwd:是系统识别用户的一个文件,系统所有的用户都在这里有登录记载;当我们以beinan 这个账号登录时,系统首先会查阅/etc/passwd文件,看是否有beinan 这个账号,然后确定beinan的UID,通过UID 来确认用户和身份,如果存在则读取/etc/shadow影子文件中所对应的beinan的密码;如果密码核实无误则登录系统,读取用户的配置文件[2]
- /etc/rc.local:用于设置一些自启动的程序,在exit 0之前添加脚本即可开机自启动,比如ftp服务等。
- /etc/hostname:本机的主机名。
- /etc/hosts:可以配置一些主机的ip到hosts名字的映射。比如: 192.168.0.100 host_1
- /etc/init.d:放置一些服务脚本的目录,ftp包括ss等都在里面。
家目录下的一些配置文件
自己的家目录下也通常会有一些配置文件,通常都是隐藏文件,需要用ls -a才能看到。[4,5]
- .vimrc:是vim的配置文件.bashrc:用于自定义你的bash,可以定义快捷键等。
- .profile:可以设定本用户专有的路径,环境变量。
配置完了.bashrc和.profile之后,如果需要立刻生效,用source ~/.bashrc或者source ~/.profile。
Reference
[1]. Filesystem Hierarchy Standard
[2]. https://www.cnblogs.com/xuha0/p/5519232.html
[3]. https://www.cnblogs.com/hiccup/p/4300963.html
[4]. https://linux.cn/article-9298-1.html
[5]. https://www.cnblogs.com/hongzg1982/articles/2101792.html