LINUX文件、目录与磁盘格式学习笔记

本文转载自:IstvanShaw的 LINUX文件、目录与磁盘格式学习笔记

以下基于CenOS7

Linux的文件权限与目录配置

  1. 用户与用户组
    默认情况下所有系统用户(包括root)的相关信息,记录在/etc/passwd文件中:


    /etc/passwd

    密码记录在/etc/shadow文件中;用户组名记录在/etc/group中;


  1. Linux文件权限概念
    以root登录系统后,输入 ls -al 命令列出当前用户主文件夹所有文件的详细信息:
    ls -al
  • 第1列:文件类型和权限
    第1个字符表示目录[d]、文件[-]、链接文件[l]等;
    后9个字符3个为一组,表示文件所有者、该用户组和其他用户的读[r]、写[w]和执行[x]的权限,或没有权限[-];
  • 第3列:文件所有者
  • 第4列:文件所属用户组
  • 第5列:文件大小,默认单位为B
  • 第6列:文件最近修改时间
    过于久远则会显示年份;
  • 第7列:文件名
    文件名以 . 开头则表示该文件是隐藏文件;

  • 改变文件所属用户组:chgrp
    chgrp [-R] 用户组 文件或目录 ...
    [-R]:递归修改该目录下所有文件和目录;
  • 改变文件所有者:chown
    chown [-R] 用户 文件或目录
    chown [-R] 用户:用户组 文件或目录
  • 改变文件权限:chmod,权限设置可以使用数字或符号:读[r]:4、写[w]:2、执行[x]:1、无权限[-]:0;
    chmod [-R] 权限数字之和 文件或目录
    设置filename的权限为-rwxr-xr-x:chmod u=rwx,go=rx filename
    为所有用户对filename增加写入权限:chmod a+w filename
    去除所有用户对filename的执行权限:chmod a-x filename

文件名避免特殊字符:* ? < > ; & ! [ ] | \ ' " ( ) { }
避免以 . - + 开头


  1. Linux目录配置
  • /bin:重要可执行文件
  • /boot :开机使用的文件,包括Linux内核文件和开机所需配置文件
  • /dev:所需设备文件
  • /etc:系统主要配置文件
  • /home:用户主文件夹
  • /lib:执行文件所需的函数库与内核所需模块
  • /media:可删除的设备
  • /mnt:暂时挂在额外的设备
  • /opt:第三方软件
  • /root:系统管理员(root)主文件夹
  • /sbin:重要的系统执行文件,如开机等所需的命令
  • /srv:网络服务数据文件
  • /tmp:临时文件
  • /lost+found:文件系统出错时放置丢失片段
  • /proc:虚拟文件系统,数据在内存中
  • /sys:虚拟文件系统,记录内核相关信息
  • /usr:UNIX Software Resource,软件数据
  • /var:软件运行产生的文件

Linux文件与目录管理

  1. 目录与路径
    绝对路径 由根目录( / )开始写的文件或目录名称 /etc/nginx/nginx.conf
    相对路径 相对于当前路径的文件名写法 ./nginx/nginx.conf../nginx.conf
    ../ 代表当前目录
    ..../ 代表上一层目录
    - 代表前一个工作目录
    ~ 代表当前用户所在的主文件夹
    ~用户名 代表用户 用户名 所在的主文件夹
    cd [目录] 切换目录(Change Directory)
    pwd [-P] 显示当前目录(Print Working Directory)
    [-P] 显示当前路径,不使用链接路径
    mkdir [-mp] 目录 新建一个新的目录(Make Directory)
    [-m] 设置新建目录的权限
    [-p] 递归创建新建目录的上层目录
    rmdir [-p] 目录 删除一个空的目录(Remove Directory)
    [-p] 连同上层空目录一起删除
    echo $PATH 查看$PATH环境变量
    echo $PATH
  2. 文件与目录管理
  • 查看文件与目录 ls [-adhlSt] 目录
    -a 列出所有文件,包括隐藏文件
    -d 只列出目录
    -h 显示易读的文件大小
    -l 列出文件属性权限等信息,简写 ll
    -S 以文件大小排序
    -t 以文件修改时间排序

  • 复制文件与目录 cp [-afipr] 源文件 目标文件
    -f 强制操作(force)
    -i 如果目标文件已存在,覆盖时会先询问操作
    -p 连同文件属性一起复制,可用于备份文件
    -r 递归复制目录

  • 移除文件与目录 rm [-fir] 文件或目录
    -f 强制删除 危险
    -i 删除前会进行询问操作
    -r 递归删除 危险

  • 移动或重命名文件与目录 mv [-fiu] 源文件1 源文件2 ... 目标文件
    -f 强制操作
    -i 移动前会进行询问操作
    -i 如果目标文件已存在,并且源文件比较新,才移动
    同一目录下执行mv会对源文件进行重命名

  • 获取文件名和目录名
    basename 文件 文件名
    dirname 文件 目录名
    basename dirname
  1. 文件内容查阅
  • 从第一行开始显示文件内容 cat [-bn] 文件
    -b 列出行号,空白行不标行号
    -n 列出行号,包括空白行
    cat -n
  • 反向显示 tac 文件
    tac
  • 添加行号打印 nl [-bnw] 文件
    nl -b a -n rz -w 3
  • 分页查看
    more 文件名
    more

    在more运行时,可以进行操作:
    空格键 向下翻页
    回车键 向下滚动一行
    /关键字 查找 关键字
    :f 显示文件名和当前行数
    q 离开
    less文件名
    在less运行时,可以进行操作:
    空格键 pageDown 向下翻页
    pageUp 向上翻页
    /关键字 向上查找 关键字
    ?关键字 向下查找 关键字
    n 重复上一个查找
    N 反复重复上一个查找
    q 离开

  • 查看选定行
    显示文件前几行 head [-n num] 文件
    显示文件后几行 tail [-n num] 文件
    [-f] 持续刷新文件

  • 修改文件时间或创建新文件 touch [-acdmt] 文件
  • 查看文件类型 file 文件
    file
  1. 命令与文件的查询
  • 查询命令 which [-a] 命令
    [-a] 列出PATH中所有命令

  • 查找文件
    从保存文件信息的文件中查找 whereis 文件名
    /var/lib/mlocate/ 下文件数据库文件中查找 locate [-ir] 关键词
    [-i] 忽略大小写
    [-r] 后接正则表达式
    根据 /etc/updatedb.conf 配置文件更新 /var/lib/mlocate/ 下文件数据库文件:updatedb
    直接从硬盘中查找文件 find [目录] [option] [action]

to be continued...

你可能感兴趣的:(LINUX文件、目录与磁盘格式学习笔记)