Linux总结

[复制链接]
发表于 2025-10-21 03:02:00 | 显示全部楼层 |阅读模式
1 用户与用户组管理

1.1 用户与用户组
  1. //linux用户和用户组
  2. Linux系统是一个多用户多任务的分时操作系统
  3. 使用系统资源的用户需要账号进入系统
  4. 账号是用户在系统上的标识,系统根据该标识分配不同的权限和资源
  5. 一个账号包含用户和用户组
  6. //用户分类
  7. 超级管理员 UID为0 拥有系统一切权限 一般为root用户
  8. 系统用户(伪用户) UID 1-499  方便系统管理,用来运行系统和服务的用户
  9. 普通用户 UID从500开始 可以登入系统的用户 拥有系统部分权限
  10. //用户组分类
  11. 初始组 用户刚登陆系统所在的组,用户必须有一个且只能有一个
  12. 附加组 除了初始组外加入的其他组,可以有0或多个
复制代码
1.2 Linux 体系添加用户 useradd
  1. `命令格式 useradd [选项] 用户名`
  2. 选项i
  3. `-u 用户ID` 指定用户id,一般指定UID要大于500,不指定系统会自动分配
  4. `-g 初始组名` 指定用户初始组 尽量不要指定 系统会创建和新增用户名相同的组为该用户的初始组
  5. `-G 附加组名` 指定用户所属附加组 多个时用逗号隔开
  6. `-c 说明文字` 备注文字  文字会保存到“/etc/passwd”文件第五列
  7. `-d 家目录`指定用户家目录
  8. `-s shell` 指定用户登陆后使用的shell程序
  9. vim /etc/passwd 查看添加的用户
  10. vim /etc/shadow 查看用户密码
复制代码
1.3 Linux修改用户暗码 passwd
  1. `命令格式 passwd [选项] 用户名`
  2. 选项
  3. `-l 或 --lock` 临时锁住密码使密码失效
  4. `-u 或 --unlock` 解锁
  5. `-d 或 --delete` 删除现有用户的密码
  6. `-n 天数`两次密码修改时间间隔 /etc/shadow第四列
  7. `-x 天数`密码有效期/etc/shadow第五列
  8. `-w 天数`密码到期前的警告天数/etc/shadow第六列
  9. `-i 天数`密码到期后的宽限天数/etc/shadow第七列
  10. `-S 或 --status` 显示用户密码状态
  11. `--stdin` 从标准输入读取令牌 主要用在通过脚本批量添加用户,不需要交互的场景
  12. `用户名` 用户名省略 默认修改当前登陆用户的密码 一般修改自己的密码直接执行passwd就可以
  13. 只有管理员才有修改用户密码权限 普通用户只能改自己的密码
复制代码
1.4 Linux 修改体系用户信息 usermod
  1. `命令格式 usermod [选项] 用户名`
  2. 选项
  3. `-u` 修改用户ID
  4. `-d` 修改用户家目录
  5. `-c` 修改用户说明
  6. `-g` 修改用户初始组
  7. `-G` 修改用户附加组
  8. `-s` 修改用户登入后所使用的shell程序
  9. `-e` 修改账号失效日期 格式“YYYY-MM—DD”
  10. `-l` 修改用户名
  11. `-L` 锁定账号   与 `passwd -l 用户名`作用一样
  12. `-u` 解锁账号
复制代码
1.5 Linux 删除用户 userdel
  1. `命令格式 userdel [选项] 用户名`
  2. 选项
  3. `-r` 同时删除用户家目录和用户邮件
复制代码
1.6 Linux查察用户UID和GID id
  1. `命令格式 id [选项] 用户名`
  2. 选项
  3. 一般不使用任何选项
  4. `-g` 仅显示该用户当前有效的用户组ID
  5. `-G` 显示该用户所有用户组ID
  6. `-u` 仅显示该用户ID
复制代码
1.7 Linux添加用户组 groupadd
  1. `命令格式 groupadd [选项] 组名`
  2. 选项
  3. `-g` 指定组ID
  4. `-r` 创建系统用户组 系统用户组的组ID小于1000 与/etc/login.defs内的 GID_MIN有关
复制代码
1.8 Linux修改用户组 groupmod
  1. `命令格式 groupmod [选项] 组名`
  2. 选项
  3. `-g` 修改组ID
  4. `-n` 修改组名
复制代码
1.9 Linux删除用户组 groupdel
  1. `命令格式 groupdel  组名`
  2. 注 如果用户组是某个用户的初始组 必须先删除这个用户或修改用户的GID后才能删除该用户组
复制代码
1.10  体现当前登岸用户名 whoami

1.11 体现当前已登岸用户信息 w /who

这两个指令查询的信息都泉源于日志日志文件 /etc/run/utmp
  1. `命令格式 w [选项] 用户名`
  2. 选项
  3. `-h 不打印头信息`
  4. `-s 使用短输出格式`
复制代码
  1. `命令格式 who [选项] 查询文件`
  2. 选项
  3. `-H 显示各栏位的标题信息列`
  4. `-q 只显示登入系统的账号名称和总人数`
  5. `-w 显示用户的信息状态栏`
  6. `-u 显示闲置时间 用户一分钟没有进行任何动作 标志“。”号 超过24小时标志"old"`
复制代码
1.12 用户身份切换 su /sudo

平常用户登岸体系,必要实行某些操纵权限不敷时,可以切换到有权限的用户身份去实行
su可以举行任何身份的切换,root用户切换其他用户不必要暗码 其他环境切换都必要输入对应的登岸暗码
  1. `命令格式 su [选项] 用户名`
  2. 选项
  3. `-或 -l 或 --login` 切换身份时同时切换环境变量,如果不加该选项 用户切换后环境变量还是旧的
  4. `-c` 只执行一次指令不切换身份
  5. 注 不加用户名默认切换root
复制代码
使用su指令必要知道root暗码,如许轻易导致暗码流出很不安全,使用sudo来切换身份只必要知道用户本身的暗码就可以,不是全部用户都能使用sudo指令,条件必要管理员给用户开辟sudo权限。
  1. `命令格式 sudo [-b] [-u 新使用者账号] 要执行的命令`
  2. 选项
  3. `-b` 将后续的命令放到背景中让系统自行运行
  4. `-u` 后面可以接切换的用户名 若无此项代表切换身份为root
  5. `-l` 用法 sudo -l 显示sudo可以执行哪些命令
复制代码
2 权限管理

2.1 Linux权限先容

Linux是多用户的操纵体系,答应多个用户同时登岸工作,Linux权限是操纵体系用来限定差异用户对资源的访问机制。
根本权限 给文件和目次的所属者(u)、所属组(g)、其他用户(o)、分配的读®、写(w)、实行(x)权限
ACL权限  可以针对单一用户或用户组设定权限
特松权限  除了读写实行权限的另一种特别权限(s/t,SUID/SGID/SBIT)
2.2 根本权限

2.2.1 权限位先容(11位)

11位权限位的寄义图 例 -rw-r–r–.
  1. //第1位 代表文件类型,Linux不使用扩展名表示文件类型,使用权限位第一位表示文件类型。常见的文件类型
  2. `-` 普通文件
  3. `d` 目录文件(Linux中一切皆文件 目录也是文件)
  4. `l` 软链接文件
  5. `b` 块设备文件 这是一种特殊设备文件,存储设备都是这种文件 如分区文件/dev/sdal
  6. `c` 字符设备文件, 特殊设备文件,输入设备一般都是这种文件如鼠标、键盘
  7. `p` 管道符文件 这是一种少见的特殊设备文件
复制代码
  1. //第2-4位  代表文件所属者权限
  2. `r` 是读取权限
  3. `w` 是写权限
  4. `x` 是执行权限
  5. //第5-7位  代表文件所属组权限 同样是rwx
  6. //第8-10位 代表文件其他人权限 同样是rwx
复制代码
  1. //第11位
  2. `.` 如果是点 代表受SELinux安全上下文保护
  3. `+` 如果是加号表示设置了ACL权限
复制代码
2.2.2 权限寄义表明

权限对文件的作用
读®  有读权限 可以实行cat more less head tail指令查察文件
写(w) 有写权限 可以实行vim echo等修改文件数据下令 注意对文件有写权限,是不能删除文件本身的,只能修改文件中的数据,想要删除文件 必要对文件的上级目次拥有写权限
实行(x) 有实行权限,代表文件可以答应
权限对目次的作用
读®  有读权限 可以实行ls指令查察目次下的内容 有哪些文件和子目次
写(w)  有写权限 可以修改目次下的数据,在目次中新建、删除、复制、剪切、粘贴子文件或子目次 touch rm cp mv等指令
实行(x)  目次是不能运行的。有实行权限 代表可以进入目次 可以实行cd指令进入目次
2.2.3 权限设定

chomd 下令用来修改文件或目次的权限
  1. chomd [选项] 权限模式 文件或目录
  2. 选项
  3. `-R` 递归设置权限
  4. `--reference=参考文件或目录` 使用参考文件或目录的权限来设置目标文件或目录的权限
  5. 权限模式分为符合组合和八进制数组合
  6. //符合格式 [ugoa] [[+-=][permission]] [用户身份] [[赋予方式][权限]]
  7. 用户身份
  8. `u` 所有者
  9. `g` 所属组
  10. `o` 其他人
  11. `a`  全部身份
  12. 赋予方式
  13. `+` 加入权限
  14. `-` 减去权限
  15. `=` 设置权限
  16. 权限
  17. `r` 读
  18. `w` 写
  19. `x` 执行
  20. //八进制数组合格式[0-7][0-7][0-7]三位数字组成每一位数字都是权限之和 第一位是所属者 第二位所属组 第三位其他人
  21. `r` 读权限对应的数字 `4`
  22. `w` 写权限对应的数字 `2`
  23. `x` 执行权限对应的数字 `1`
复制代码

chown下令用来修改文件和目次的全部者和所属组
  1. chown [选项] 所有者[:所属组]文件或目录
  2. 选项
  3. `-R` 递归设置权限
  4. `--reference=参考文件或目录`
  5. 省略[:所属组] 仅改变文件所属者
复制代码
chgrp下令用来修改文件和目次的所属组
  1. chgrp [选项] 用户组 文件或目录
  2. 选项
  3. `-R` 递归设置权限
  4. `--reference=参考文件或目录`
复制代码
2.2.4 默认权限与umask

1权限掩码 umask
当创建一个新文件和目次是会默认有一些权限的,新建的文件权限一样平常是“-rw-r–r–”,新建的目次权限一样平常是"drwxr-x-r-x".
文件默认最大权限 新建文件的默认最大权限是666(-rw-rw-rw-),没有实行权限,必要用户手动赋予
目次默认最大权限 新建目次的默认最大权限是777(drwxrwxrwx)
权限掩码值所体现的权限就是新建文件和目次要从默认最大权限里要扫除的权限,查询掩码值有两种方式,直接实行umask以数字方式展示,可以看到‘0022“,实行umask -S 以符号展示,此中缺少的权限对应的权限值就是掩码值
2默认权限盘算方式
  1. `新建文件` 文件的默认最大权限是-rw-rw-rw-,通过计算
  2. (-rw-rw-rw-)- (-----w--w-) = (-rw-r--r--)
  3. 新建文件默认权限是 -rw-r--r-- 即644
  4. `新建目录` 目录的默认最大权限是drwxrwxrwx,通过计算
  5. (drwxrwxrwx)-(d----w--w-) = drwxr-xr-x
  6. 新建目录默认权限是 drwxr-xr-x 即655
复制代码
3修改权限掩码 umask 下令
umask下令是用来体现或设置创建文件、目次的权限掩码的
  1. umask [选项] [权限模式]
  2. 选项
  3. `-S`以符号组合的方式输出权限掩码,不使用该选项时以八进制数的形式输出
  4. 权限模式 与chmod相同
  5. 注 使用umask设置的权限掩码只有临时有效,如果需要永久有效,需要修改/etc/bashrc文件里的内容,不建议修改
复制代码
2.3 ACL权限

ACL(Access Control LIst) 紧张目的是在提供传统的owner、group、others 的read、write、execute权限之外的细部权限设定,ACL可以针对单一使用者,单一文件或目次来举行r、w、x的权限规范
**下令 **
  1. getfacl 查看ACL权限
  2. 语法 `getfacl [文件名]`
  3. setfacl 添加、删除ACL权限
  4. 语法 `setfacl [选项] [文件名]`
  5. 选项
  6. `-m` 设定ACL权限 多条逗号隔开
  7. `-x` 删除ACL权限 多条逗号隔开
  8. `-b` 删除所有ACL权限
  9. `-d` 设定默认ACL权限
  10. `-k` 删除默认ACL权限
  11. `-R` 递归设定ACL权限
  12. ACL规则
  13. `[d:]u:[用户名]:[权限(rwx)]` 指定用户的权限
  14. `[d:]g:[组名]:[权限(rwx)]` 指定用户组的权限
  15. [d:] 表示设定为默认权限
复制代码
3 磁盘管理

3.1 磁盘分类

硬件装备在Linux中是以文件情势举行界说和管理.而文件必要定名规范,udev装备管理器在/dev/目次下为全部的装备界说了内核装备的名称
1 IDE磁盘  代价低廉 兼容性强 性价比高 数据传输慢 不支持热插拔
2 SCSI磁盘  传输速率高 读写性能好 运行稳固 可毗连多个装备 支持热插拔
3 SATA磁盘  布局简朴 支持热插拔
4 USB
  1. 硬件设备                  文件名称
  2. IDE设备            /dev/hd/[a-d]
  3. SCSI/SATA?U 设备   /dev/sd/[a-p]
  4. 软驱               /dev/fd/[0-1]
  5. 打印机             /dev/lp/[0-15]
  6. 光驱              /dev/cdrom
  7. 鼠标              /dev/mouse
复制代码
3.2 **查察磁盘下令 **df/du

df下令 查抄文件体系的磁盘空间占用环境
  1. `df [选项] [目录或文件名]`
  2. 选项
  3. `-a` 列出所有的文件系统
  4. `-k` 以kBytes的容量显示
  5. `-m` 以MBytes的容量显示
  6. `-h` 容易阅读的GBytes,MBytes,KBytes等格式自行显示
  7. `-H` M=1000K取代M=1024k的进位方式
  8. `-T` 显示文件系统类型
  9. `-i` 不用硬盘容量 而以inode的数量来显示
复制代码
du下令查察一个或多个文件占用了多大的硬盘空间
  1. `du [选项] 文件或目录`
  2. 选项
  3. `-h` 可读的方式显示单位 (k,M,G)
  4. `-s` 仅显示后边参数的总数
复制代码
3.3 添加磁盘

3.4 磁盘分区 lsblk/fdisk

查察分区挂载环境  lsblk -f
fdisk 磁盘分区下令 添加 删除 转换
  1. `fdisk 选项 装置名称`
  2. 选项
  3. m menu显示命令列表
  4. n new新增分区
  5. p 显示磁盘分区
  6. d 删除分区
  7. w 写入并退出
复制代码
操纵分区步调
1 fdisk /dev/sdb 开始分区 (find / -name sdb  根据名字查一下分区)
2 输入m 进入目次列表
3 输入n 新增分区
4 输出p 开始分区 背面按回车
5 末了输入 w 生存退出
6 lsblk -f 查察是否乐成
3.5格式化磁盘 mkfs

磁盘分割完毕后必要举行文件体系的格式化,使mkfs下令
  1. `mkfs [-t 文件系统格式] 装置文件名`
  2. -t 可以接文件系统格式 例如 ext3,ext2,vfat等(系统有支持才会生效)
  3. 操作步骤
  4. mkfs -t ext4 /dev/sdb1 格式化指定分区
  5. lsblk -f 查看是否成功
复制代码
3.6 磁盘的挂载

挂载 **mount **
卸载 umount
  1. `mount 设备名称 挂载目录`
  2. `umount 设备名称 卸载目录`
  3. 卸载参数
  4. `-f` 强制卸除 可用在类似网络文件系统(NFS)无法读取到的情况下
  5. `-n` 不升级/etc/mtab的情况下卸除
复制代码
操纵步调
1 创建目次 mkdir -p /home/newdisk
2 mount /dev/sdb1  /home/newdisk 创建装备分区和体系目次的映射关系
3 lsblk -f 查察是否挂载乐成
4 历程管理

4.1Linux历程启动方式有几种方式

前台启动历程
配景启动历程
4.2 查察正在运行的历程 ps

ps下令是最常用的监控监控历程的下令
  1. 查看系统中所有的进程
  2. `ps aux` 使用BS操作系统格式
  3. `ps -le` Linux标准命令格式
  4. 选项
  5. `a` 显示一个终端的所有进程
  6. `u` 显示进程的归属用户及内存的使用情况
  7. `x` 显示没有控制终端的进程
  8. `-l` 长格式显示更加详细的信息
  9. `-e` 显示所有进程
复制代码
4.3 及时监听正在运行历程 top

ps下令一次性体现当前体系中历程状态,但是缺乏时效性
top下令可以动态的连续监听历程地运行状态,改下令还提供了一个交互界面 用户根据必要 人性化地订定本身地输出 进而更清楚相识历程地运行状态
  1. `top 选项`
  2. 选项
  3. `-d`制定每隔几秒更新 不写 默认3秒
  4. `-b` 使用批处理模式输出 一般和n选项何用 用于把top命令重定向到文件中
  5. `-n` 指定top命令的执行次数
  6. `-p 进程PID` 仅查看指定ID的进程
  7. `-s` 使top命令在安全模式中运行 避免在交互模式中出现错误
  8. `-u` 用户名 只监听某个用户的进程
  9. 在top命令的显示窗口中 可以按键进行交互操作
  10. `?或h` 显示交互模式的帮助
  11. `P` 按照CPU的使用率排序 默认此选项
  12. `M` 按照内存的使用率排序
  13. `N` 按照PID排序
  14. `T` 按照CPU的累积运算时间排序
  15. `k` 按照PID给予某个进程一个信号
  16. `r` 按照PID给某个进程重设优先级值
  17. `q` 退出
复制代码
怎样判断服务器的康健状态
如果1分钟 5分钟 15分钟的均匀负载高于1 证明体系压力比力大 如果CPU的使用率过高或空闲率过低,则证明体系压力较大。如果物理内存的空闲内存过小,则也证明体系压力较大
缓存   在读取硬盘中的数据时,把最常用的数据生存在内存的缓存区中 再次读取该数据时,就不去硬盘读取了 而在缓存中读取
缓冲  在向硬盘写入数据时 先把数据放入缓冲区 然后在一起向硬盘写入 把分散的写操纵会合起来 淘汰磁盘碎片和硬盘的反复,进步体系性能
4.4 Linux查察历程树 pstree

pstree以树情势布局体现步伐与历程之间的关系
  1. 需要yum -y install psmisc 安装
  2. `pstree 选项 PID或用户名`
  3. 选项
  4. `-a` 显示启动每个进程对应的完整指令,包括启动进程的路径 参数等
  5. `-c` 不使用精简法显示进程信息(显示的进程中包含子进程 父进程)
  6. `-n` 根据进程PID来排序输出 默认程序名排序
  7. `-p` 显示进程的PID
  8. `-u` 显示进程对应的用户名称
复制代码
4.5 Linux列车历程调用或打开文件信息 lsof

通过ps下令可以查询到体系中全部的历程,通过lsof可以知道历程到底在调用哪些文件
lsof 根据文件找到对应的历程信息,也可以根据举行信息找到历程打开的文件
  1. `lsof 选项`
  2. 选项
  3. `-c` 只列出以字符串开头的进程打开的文件
  4. `+d目录名` 列出某个目录中所有被进程调用的文件
  5. `+D目录名` 同上 但会搜索目录下的所有目录 时间相对较长
  6. `-u用户名` 只列出某个用户的进程打开的文件
  7. `-p pid` 列出某个PID进程打开的文件
复制代码
4.6 Linux停止历程 kill
  1. `kill [信号] PID`
  2. 信号
  3. `0` 程序退出时收到该信息
  4. `1` 挂掉电话线或终端连接的挂起信息,这个信息也会造成某些进程在没有终止的情况下重新初始化
  5. `2` 表示结束进程。但不是强制性的
  6. `3` 退出
  7. `9` 强制结束进程
  8. `11` 段错误
  9. `15` 正常结束进程 是kill的默认信号
  10. `19` 暂停进程
复制代码
4.7 Linux安装终端踢出当前登岸用户 pkill
  1. 通过进程名杀死一类进程
  2. `pkill [信号] 进程名`
  3. 信号同上
  4. 按照终端号来踢出用户登陆
  5. `pkill [-t 终端号] 进程名`
复制代码
4.8 Linux将配景下令脱离终端运行 nohup

nohup 让配景工作在脱离操纵终端时 也可以大概精确地在配景实行
  1. `nohup [命令] &`
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

×
登录参与点评抽奖,加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表