目录与路径

pwd

-P 显示真正路径

mkdir

-m 设置文件权限
-p 递归创建

  1. mkdir -p /test/test1/test2
  2. mkdir -m 711 test

rmdir

-p 连同上层空目录一起删除

文件与目录管理

ls

-a 全部文件
-d 仅列出目录
-l 详细信息显示
page181

cp

-a 相当于dr
-d 若源文件为链接文件, 则复制链接文件而非文件本身
-p 连同文件的属性(权限, 用户, 时间)一起复制(备份常用)
-r 递归复制, 用于目录的复制操作

rm

-f 强制删除
-i 交互式
-r 递归删除

mv

-f 强制覆盖
-i 询问
-u 目标已存在, 且source比较新, 才会更新(update)

获取路径的文件名与目录名称

  1. basename /etc/sysconfig/network
  2. dirname /etc/sysconfig/newwork

文件内容查看

直接查看文件内容

cat
-n 打印出行号

nl (添加行号打印)

其他: more less head tail

修改文件时间或创建新文件 touch

  • 修改时间 modification time, mtime
    • 文件数据内容变更时, 而不是文件的属性或权限
  • 状态时间 status time, ctime
    • 文件状态改变时, 比如权限与属性
  • 读取时间 access time, atime
    • 文件被读取时, 更新时间, 比如cat读取会更新文件时间 ```bash touch [-acdmt] 文件 -a 仅自定义 access time -c 仅修改文件时间, 若文件不存在则不建立新文件 -d 后面可以接自定义日期 -m 仅修改mtime -t 后面可以接自定义时间, 格式为 [YYYYMMDDhhmm]

touch -d “2 days ago” bashrc

修改的是 atime 和 mtime, ctime并没有改变

touch -t 202109241350 bashrc

  1. <a name="xMvj7"></a>
  2. ### 文件与目录的默认权限与隐藏权限
  3. <a name="NX1Im"></a>
  4. #### 文件默认权限 umask
  5. ```bash
  6. [xie@Ryzen ~]$ umask
  7. 0002
  8. [xie@Ryzen ~]$ umask -S
  9. u=rwx,g=rwx,o=rx
  • 如果是文件, 默认没有可执行(x)权限, 即只有rw这两个权限, 也就是最大为666
  • 如果是目录, 由于x与是否可以进入有关, 因此默认权限开放, 即777
  • 新建文件的默认权限是 666-umask, 如果所得结果某位存在执行(奇数)权限, 则将其权限+1, 偶数不变

文件隐藏属性 chattr

chattr [+-=] [ASacdistu] 文件或目录
+a    只能增加数据, 不能修改或删除
+i    不能被删除, 改名, 增改数据

显示文件隐藏属性 lsattr

lsattr [-adR] 文件或目录
-a    隐藏的文件属性也显示
-d    如果是目录, 则只显示目录本身属性
-R    子目录数据也显示

文件特殊权限 SUID SGID Sticky

[xie@Ryzen ~]$ ls -ld /tmp; ls -l /usr/bin/passwd
drwxrwxrwt. 19 root root 4096 Sep 24 14:21 /tmp
-rwsr-xr-x. 1 root root 27856 Apr  1  2020 /usr/bin/passwd

SUID 权限s出现在用户上    当用户运行此文件时, 变身成为文件所有者
SGID 权限s出现在组上         当用户运行此文件时, 变身成为文件组成员
Sticky 权限t出现在其他上

chmod u+s /bin/cat
# 给cat增加SUID权限