这是我参与「第五届青训营 」伴学笔记创作活动的第 14 天
1.根目录结构
-
/usr/bin
所有用户可用的基本二进制命令程序文件。如常用的命令ls、tar、mv、cat等
-
boot
放置Linux系统启动时用到的一些文件,如Linux的内核文件:/boot/vmlinuz,系统引导管理器:/boot/grub系统引导程序,系统内核
-
dev
存放Linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备。
-
/dev/console
系统终端设备。
-
/dev/zero
“零”设备,可以无限的提供空字符(0x00,ASCII代码NUL)。常用来生成一个特定大小的文件。
-
/dev/null
“空”设备,也有人称它为黑洞。任何输入到这个“设备”的数据都将被直接丢弃。最常用的用法是把不需要的输出重定向到这个文件。
-
/dev/random 和 /dev/urandom
随机数设备,提供源源不断的随机字节流。
-
/dev/sr0
光驱的设备名。
- /etc/hostname
系统主机名配置文件。
- /etc/hosts
本地解析文件(在本地建立IP地址和主机名称的对应关系)
- /etc/fstab
磁盘挂载文件(作用:实现磁盘设备开机自动挂载)
-
/etc/rc.local
开机自动加载文件 rc.loacl文件作用:
01. 文件中的内容信息,会在系统启动之后进行加载 02. 文件中的编写内容,一定是命令信息例如:可以往文件里写入# mkdir /home/fan,则会开机自动执行
-
/etc/profile == /etc/bashrc
变量信息和别名信息配置文件
-
/etc/motd
登陆之后提示文件。
-
/etc/issue(或者 /etc/issue.net)
登陆之前提示文件(作用:可以对操作系统的用户进行注意事项说明)
-
/etc/resolv.conf
DNS解析配置文件位置
-
/etc/shadow
用于存储 Linux 系统中用户的密码信息
18。 /etc/shells
这个文件记录了你当前Linux系统中所支持的shell版本
19. /etc/passwd
系统用户配置文件,存储了系统中所有用户的基本信息,并且所有用户都可以对此文件执行读(r)操作。
20. /etc/group
存储有关本地用户组的信息
21. /etc/services
记录常用和已注册的TCP或UDP端口
22. /etc/ssh
存放ssh远程连接相关配置文件
/etc/ssh/sshd_config 是ssh服务的运行参数设置(针对服务端设置)
/etc/ssh/ssh_config 是ssh服务的运行参数设置 (针对客户端设置)
- /etc/login.defs
用于设置用户账号限制的文件,该文件的配置对root用户无效。
- /etc/skel
用来存放新用户配置文件的目录,当我们添加新用户的时候,这个目录下的所有文件会自动被复制到新添加的用户的家目录下。
25。 /etc/default/useradd
文件是在使用useradd添加用户时的一个需要调用的一个默认的配置文件,可以使用“useradd -D参数“,这样的命令格式来修改文件里面的内容。
- /etc/localtime
本地时间配置文件, 此文件一般为/etc/share/zoneinfo下面的文件的软链接,比如当前CST时间,可以清晰地看出其实际是链接到上海的时间
- /etc/redhat-release
查看linux系统的版本信息(获得系统发行版本和具体系统版本信息)
- /etc/locale.conf
设定系统显示语言(修改这个配置文件后,即对root和其他用户、及新建用户永久生效)
-
home
系统默认的用户家目录,新增用户账号时,用户的家目录都存放在次目录下,~表示当前用户的家目录.
-
lib(usr/lib、/usr/local/lib)目录
概念:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助
- lib64 目录
库文件存放目录(64位系统)
- media 目录
外接设备临时挂载点
- mnt 目录
临时的挂载点目录
- opt目录
第三方软件安装目录
- proc 目录
虚拟目录,显示内存中信息(进程、服务信息、内核)
注意:存放到该目录中的数据都存储到内存,关机后会释放
- srv 目录
系统自行管理的服务用到的数据
- sys目录
虚拟的目录 ,存放一部分内存信息
- tmp目录
临时文件的存放位置
- usr目录
universal shared read-only data(全局共享只读数据目录。可独立分区编辑安装的第三方软件、共享的库,包括文件和静态只读程序数据。
- var目录
概念:动态变化的文件,例如 日志文件、相关服务的日志文件、数据库、缓存目录 variable
- usr目录
universal shared,read-only data(全局共享只读数据目录)。可独立分区编辑安装的第三方软件、共享的库,包括文件和静态只读程序数据。
- run目录
自本次系统启动以来启动的进程的进程的运行时数据。包括进程ID文件和锁定文件等。此目录中的内容在重启时会重新创建。
2.UID和GID
1.UID
root用户拥有极高的系统所有权,能够管理系统的各项功能,真正让root成为“超级用户”的原因是它的UID值。
每个用户都有对应的唯一UID值,可以分成三类用户:
- 超级用户 UID 0 : root 用户默认为 0 。
- 系统用户 UID 1-999 :系统中系统服务由不同用户运行,更加安全,默认被限制登录系统。
- 普通用户 UID 1000~ :即管理员创建的用于日常工作而不能管理系统的普通用户。 2.GID
GID 是用户组的编号,可以将多个用户加入到某个组中,方便指派任务或工作。
每个用户在被创建时均会创建一个默认组(其GID与UID相同,叫作基本组或初始组),而后加入的组叫作扩展组或附加组。
用户组名和GID则保存在 /etc/group 文件中。
3.权限管理
linux中角色类别
- 拥有者 owner
- 所属组 group
- 其他 other
第一列文件属性
- 一共十个字符
- 第一个字符,表示文件类型
d:文件夹
-:普通文件(文本,动静态库,可执行程序,源程序)
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件 (通信)
- 剩下9个字符
- 3 + 3 + 3 为一组
- 拥有者 所属组 其他人 所具有的文件权限属性
- rwx必须按顺序,可读 可写 可执行
- -为否
修改文件权限八进制
chmod 777 文件名
7 7 7 八进制 111 111 111 rwxrwxrwx
4.用户管理
1.添加用户
useradd <username>
添加 Linux 用户之前,可以先列出现有用户,来保证不添加有冲突的用户名:
cat /etc/passwd cut -d : -f 1
2.设置用户密码
passwd <username>
3.切换用户
su <username>
4.删除用户
userdel <username>
5. 引导和启动
引导过程总览
开机自检(BLOS)→MBR引导→GRUB菜单→加载内核(kernel)→init进程初始化
开机自检(BLOS):通过bios程序检查硬件是否正常,如果硬件出现问题则会卡在开机界面提示不同报错
MBR引导:第一阶段grup引导及加载分区表
GRUP菜单:第二阶段grub加载内核文件到系统内存中运行起来,内核文件位置:/boot/grub2/grub.cfg
加载内核(kernel):加载完毕进入操作系统
init进程初始化:启动操作系统后需要启动进程
init 与systemd的介绍与区别
介绍:
- init进程是系统中的第一个进程,Centos 6系统的第一个进程是init进程
- Systemd是Linux操作系统中的一种init软件,Centos 7的第一个进程是systemd进程
区别:
- init依赖于串行执行Shell 脚本启动服务,导致效率低下,系统启动速度较慢。
- Systemd能够将更多的服务进程并行启动,并且具有提供按需启动服务的能力,使得启动更少进程,从而提高系统启动速度 。