Linux
Linux

文件管理

Linux目录结构视图

 1. bin 这个目录存放着最经常使用的命令
 2. boot 存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件
 3. dev 和驱动相关的文件都被放在这
 4. etc 用来存放所有的系统管理所需要的配置文件和子目录
 5. home 用户的主目录
 6. root 只有root用户(超级管理员)可以访问
 7. run 是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。
 8. sbin 存放的是系统管理员使用的系统管理程序
 9. tmp 存放一些临时文件
 10. usr 存放应用程序
 11. var 这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

文件目录

文件类型

  1. 类型
    1. 常见类型
      1. 普通文件(文本文件、二进制、压缩文件、图片……)
      2. d 目录文件(蓝色)
    2. 非常见类型
  2. 示列

文件管理命令

  1. 改变目录
    1. cd 绝对路径或相对路径
    2. cd 绝对路径:cd /home/admin
    3. cd 相对路径:cd . ..

  2. 创建文件
    1. touch 路径和名字

  3. 创建目录
    1. mkdir 路径和目录名
    2. mkdir -p 路径和目录名 (当创建的目录没有上一级是时,自动创建)

  4. 复制
    1. cp 将 源文件 复制到 目标文件夹
    2. cp -r 若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。

  5. 移动
    1. mv 将 源文件 移动到 目标文件夹

  6. 删除
    1. rm -rf 文件或目录的路径

  7. 查看文件内容
    1. cat 文件路径
    2. more 文件路径
    3. grep 条件 文件路径

  8. 修改文件内容
    1. 重定向 >
    2. 图形文件编辑器 gedit
    3. vi,vim

    1. 三种命令模式
    2. 命令模式
    3. 扩展命令模式

vim未正常关闭,产生的临时文件。 解决方法

  1. 查看隐藏文件
  2. 使用rm删除

用户管理

用户/组基本概念

用户组信息存储的文件

  1. 用户基本信息文件 /etc/passwd(7列)
    • root:x:0:0:root/:root:/bin/bash
      用户名:x:uid:gid:描述:HOME:shell
    • x:密码占位符,具体信息在用户密码信息文件里
    • uid:用户的身份id
      • uid: 0 特权用户
      • uid: 1-499 系统用户
      • uid: 1000+ 普通用户
    • gid:GROUP 组号
    • 描述:用户说明
    • HOME:家目录:登录系统时,所在目录
    • 登陆shell:命令解释器
  2. 用户密码信息文件 /etc/shadow(8列)
    • 第一列:用户名
    • 第二列:加密后的用户口令
      • *:星号代表账户被锁定
        !!:双叹号表示密码已过期 
        $6$:表示通过SHA-512加密
        $1$:表示通过MD5加密 
        $5$:表示通过SHA-256加密
        
    • 第三列:"最后一次修改时间"表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。
    • 第四列:"最小时间间隔"指的是两次修改口令之间所需的最小天数。
    • 第五列:"最大时间间隔"指的是口令保持有效的最大天数
    • 第六列:"警告时间"字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
    • 第七列:"不活动时间"表示的是用户没有登录活动但账号仍能保持有效的最大天数。
    • 第八列:"失效时间"字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。
  3. 组信息文件 /etc/group
    • 第一列:组名
    • 第二列:组密码
    • 第三列:组ID
    • 第四列:组成员(默认为空)

用户/组管理

  1. 用户
    • 创建用户:useradd 用户名
      • -c comment 指定一段注释性描述。
        -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
        -g 用户组 指定用户所属的用户组。
        -G 用户组,用户组 指定用户所属的附加组。
        -s Shell文件 指定用户的登录Shell。
        -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
        
    • 查询用户:id 用户名
    • 修改密码:passwd 用户名
    • 删除用户:userdel -r 用户名
    • 将用户加入组
    • 修改用户属性usermod -s 用户名
  2. 用户组
    • 基本组:随用户而创建,组名同用户名,基本组只有一个
    • 附加组:附加组可以有多个

提权

  1. 永久提权:Switching user with su
  2. 临时提权:Running commands as root with sudo

用户权限

基本权限UGO

权限对象

  1. 属主:u
  2. 属组:g
  3. 其他人:o
  4. 所有人:a(u+g+o)

权限类型

  1. 读:r=4
  2. 写:w=2
  3. 执行:x=1

设置权限

  1. 更改权限
    • 使用符号
    • 使用数字
  2. 更改属主、属组
    • chown命令:chmod 用户名.组名 文件
      • 改属主、属组:chown user1.it file1
      • 只改属主:chown user1 file1
      • 只改属组:chown .it file1
    • chgrp命令:chgrp 组名 文件 -R是递归
      • 改变文件属组:chgrp it file1

基本权限ACL

  1. 语法:命令 设置 用户或组:用户名:权限 文件对象
    • setfacl -m u(u:设置用户g:设置组):user1 :rw /tmp/123.txt
  2. 设置:查看文件有哪些ACL权限
    • getfacl 文件对象
  3. 删除
    • 删除组或用户的acl权限:setfacl -x g:it(u:user1) file1
    • 删除所有acl权限:setfacl -b file1

特殊权限

  1. 特殊位suid
    • 高级权限的类型:suid(sgid)针对文件/程序时,具备临时提升权限
  2. 文件属性chattr
    • 用于锁定某个文件,拒绝修改
    • 添加:chattr +i 文件
    • 删除:chattr -i 文件
  3. 进程掩码umask

进程管理

  1. 目标
    • PID,PPID
    • 当前的进程状态
    • 内存的分配情况
    • CPU和已花费的实际时间
    • 用户UID决定进程的特权
    • 进程名称
  2. 静态查看进程 ps
    • ps -ef:查看进程的父子关系
  3. 动态查看进程 top
  4. 使用信号控制进程
    • 编号 信号名
    • 1 SIGHUP 重新加载配置
    • 2 SIGINT 键盘中断Ctrl+C
    • 3 SIGQUIT 键盘退出trl+\,类似于SIGINT
    • 9 SIGKILL 无条件,强制终止
    • 15 SIGTERM 终止(正常信号),缺省信号
    • 18 SIGCONT 继续
    • 19 SIGSTOP 暂停
    • 20 SIGTSTP 键盘暂停Ctrl+Z
  5. 进程优先级 nice
  6. ps aux 输出的字段的含义
    • USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
    • user:运行进程的用户
    • PID:进程ID
    • %CPU:CPU占用率
    • %MEM:内存占用率
    • VSZ:占用虚拟内存
    • RSS:占用实际内存
    • TTY:进程运行的终端
    • STAT:进程状态 man ps(/STATS)
    • START:进程的启动时间你
    • COMMAND:进程文件 进程名
  7. 进程有哪些状态
    • R-run
    • T-stop
    • S-sleep
    • Z-zombie

重定向管道

磁盘管理

基本分区

  1. 创建分区
    • fdisk 是一个创建和维护分区表的程序,它兼容 DOS 类型的分区表、BSD 或者 SUN 类型的磁盘列表。
    • 格式:fdisk /dev/sdb2
  2. 创建文件系统
    • mkfs:用于在特定的分区上建立 linux 文件系统。
    • 格式:mkfs -t ext3 /dev/sda6
  3. 挂载
    • mount:用于挂载Linux系统外的文件
    • 格式:mount /dev/sdb2 /sdb2
  4. 查看挂载信息
    • df -ht

逻辑卷LVM

  • PV:物理卷
  • GV:卷组
  • LV:逻辑卷
  1. 创建LVM
    1. pv:pvcreate /dev/sdb
    2. vg:vgcreate vg1(组名) /dev/sdc
    3. lv:lvcreate -L 4G(大小) -n lv1(卷名) vg1(组名) 指定大小,单位M、G
    4. 创建文件系统并挂载
      • 创建文件系统:mkfs.ext4 /dev/vg1/lv1
      • 创建挂载点:mkdeir /mnt/lv1
      • 挂载:mount /dev/vg1/lv1 /mnt/lv1
  2. VG管理
    • 创建PV:pvcreate /dev/sdd1
    • 扩展GV:vgextend vg1 /dev/sdd1
  3. LV扩容
    • LV扩容:lvextend -L +4G /dev/vg1/lv2
    • FS扩容:resize2fs /dev/vg1/lv1

交换分区 Swap

  1. 准备分区
  2. 格式化
    • mkswap /dev/sdb1
  3. 挂载
    • swapon /dev/sdb1
  4. 验证
通过文件夹制作交换分区
dd if=/dev/zero of=/opt/swapfile bs=1M count=1000 (bs blocksize ,每个块大小为1M.count=2048。则总大小为2G的文件。创建一个1G的文件作为交换分区使用)
mkswap /opt/swapfile (格式化成swap分区)
swapon /opt/swapfile (打开swap分区)
vim /etc/fstab (在fstab中增加一条记录如下)
    /opt/swapfile swap swap defaults 0 0

文件查找

which:命令查找

  1. 查找ls命令的位置
    • which ls

find:文件查找,针对文件名

  1. 语法
    • find [path] [options] [expression] [action]
    • 命令 路径 选项 表达式 动作
    • 示列:find /etc -name 'passwd'

locate:文件查找,依赖数据库

网络管理

  1. 错误:网络管理器未运行
  2. 解决方法:service NetworkManager start
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
下一篇