linux文件和目录管理

档案与目录管理

  • cd (改变目录)
    • cd ~barton 进入这个用户的家目录
    • cd ~ 进入自己的家目录
    • cd 进入自己的家目录
    • cd - 进入上一个工作目录
  • pwd (显示目前所在癿目弽)
    • -P 显示实际路径
  • mkdir (建立新目弽)
    • mkdir -m 711 test 建立权限为711的目录test
    • mkdir -p /var/test 递归建立目录
  • rmdir 删除目录
    • -p 连同上级目录一起删除
  • ls 列出目录
    • -a 列出所有文件,包括隐藏文件
    • -A 列出所有文件,包括隐藏文件,但不包括.和..这两个目录
    • -d 仅列出目录本身,而不列出其内的文件
    • -f 不排序直接列出
    • -F 根据文件,目录等信息,给予附件数据结构
      • * 代表可执行文件
      • / 代表目录
      • = 代表socket档案
      • | 代表FIFO文件
    • -h 以GB/KB等的方式人性化显示文件大小
    • -i 列出inode号
    • -l 列出的文件包含其属性与权限等数据
    • -n 列出UID和GID 而非拥有者和拥有者所在用户组的名称
    • -r 将排序结果反向输出
    • -R 连同子目录一同列出,包括所有的文件
    • -S 以文件大小进行排序,而不是文件名
    • -t 按照时间排序
    • --color=never 文件名不区分颜色
    • --color=always 显示颜色
    • --color=auto 系统自动选择文件颜色
    • --full-time 以完整时间格式(年月日时分_输出
    • --time{atime,ctime} 输出access时间或者改变权限属性的时间
  • cp(复制文件或者目录)
    • -a 相当于-pdr
    • -d 如果来源文件为链接文件的属性,则复制链接文件属性而非文件本身
    • -f 强制
    • -i 若目标文件已经存在,则覆盖时先询问是否进行覆盖操作
    • -l 进行硬链接的链接文件建立,而不是复制文件本身
    • -p 连同文件的属性一起复制
    • -r 递归复制,用于目录的复制
    • -s 复制成为符号链接文件,软链接
    • -u 若destination比source旧才更新destination
  • rm(删除目录或者文件)
    • -f 强制
    • -i 互动模式,询问用户是否进行删除
    • -r 递归删除,用于目录删除
  • mv(移动文件或者目录,也用于改名)
    • -f 强制
    • -i 如果目标文件已经存在,则询问是否进行覆盖
    • -u 如果目标文件已经存在,且source比较新时,才会更新
  • cat(显示文件内容)
    • -A 相当于-vET
    • -b 列出行号,空白行不标行号
    • -E 将结尾的断行字符$显示出来
    • -n 打印行号,空白好也有行号
    • -T 将[tab]按键以^I显示出来
    • -v 列出特殊字符
  • tac(与cat显示方式相反,从最后一行到第一行反向显示)
  • nl(添加行号打印)
    • -b 指定行号显示的方式
      • -b a 无论是否是空号,都显示行号
      • -b t 如果有空号,则空号不显示行号
    • -n 列出行号显示的位置
      • -b 指定行号的显示方式
        • -b a 无论是否是空号,都显示行号
        • -b t 如果有空号,则空号不显示行号
      • -w 行号字段占用的位数
  • -more (以滚屏的方式显示)
    • 空格键 向下翻页
    • Enter 向下滚动一行
    • /string 向下搜寻 string 关键字
    • :f 显示文件名以及目前显示的行数
    • q 退出
    • b 或者 ctrl-b 向上翻页
  • less (以滚屏的方式显示)
    • 空格键 向下翻页
    • pagedown 向下翻页
    • pageup 向上翻页
    • /string 向下搜寻string
    • ?string 向上搜寻string
    • n 重复前一个搜寻(与/ ? 有关)
    • N 反向重复前一个搜寻(与/ ? 有关)
    • q 退出
  • head(取文件的前面几行)
    • -n 显示多少行 head -20 显示前20行
  • tail (取尾部多少行)
    • -n 显示尾部多少航 tail -20 显示后20行
    • -f 滚动显示
  • touch (修改文件时间或者新建文件)
    • 文件的三个时间属性
      • modification time (mtime) 当文件内容发生改变时,更新时间
      • status time (ctime) 当文件的权限与属性发生改变时,更新时间
      • access time (atime) 当文件被读取时,更新时间
    • -a 仅修改access time
    • -c 仅修改文件的时间,若文件不存在则创建
    • -d 用自定义时间而不是当前时间来更新
    • -m 仅修改mtime
    • -t 用自定义时间而不是当前时间来更新
  • umask (目前用户在建立档案戒目弽时候癿权限默讣值)
    一般默认为0022,后三位有效
  • 文件的特殊权限
    • SUID 在执行的过程中非root账户暂时获得root权限,比如说用户修改自己密码
      • SUID权限仅对二进制程序有效
      • 执行者对于该程序需要具有x的可执行权限
      • 本权限仅在执行该程序的过程中有效(runtime)
      • 执行者具有该程序的拥有者权限
    • SGID 当文件拥有者在x权限上为s时,那文件拥有者所在的用户组的权限即为SGID.
      • SGID对二进制程序有效
      • 程序执行者对于改程序来说需要具有x的可执行权限
      • 执行者在执行的过程中将会获得文件拥有者所在用户组的支持
    • SBIT
      • 当用户对于此目录具有w,x权限,也就拥有了r的权限
      • 当用户在该目录下创建文件时,只能是用户自己或者root用户才有权限进行删除
  • 设置文件的特殊权限
    • chmod n777 其中n代表的含义如下
      • 4 设置SUID
      • 2 设置SGID
      • 1 设置SBIT
  • file (观察文件类型)
    • file ./bashrc –> ASC|| text
  • 脚本文件名的搜索
    • which 根据PATH环境变量查找可执行文件
      • -a 将所有由PATH目录中可以找到的命令全部列出
  • 文件名的搜索
    • whereis 基于linux的文件数据库
      • -b 搜索二进制格式的文件
      • -m 只查找说明文档
      • -s 只查找source来源文件
      • -u 查找不在上述3个范围内的其他文件
    • locate 基于linux的文件数据库 已建立的数据库 /var/lib/mlocate/
      • 每天只执行一次数据库的更新.
      • 手动更新使用updatedb
        • 根据/etc/updatedb.conf的设置去查找系统硬盘内的文件名
    • find 额.全硬盘搜索
      • 与时间有关的参数
        • -mtime n n是数字,表示在n天之前被改动过的文件(包括一天之内)
        • -mtime +n 表示在n天之前被改动的文件(不包括一天内)
        • -mtime -n 表示在n天之内被修改过的文件
        • -newer file file为一个已经存在的文件,列出比file更新的文件
        • find / -mtime 0 表示24小时内有改动的文件.0代表当前时间
      • 与使用者或者组名有关的惨呼
        • -uid n n是数字,为用户的账户ID号.
        • -gid n n是数字,为用户组ID.
        • -user name name是使用者的账号名称
        • -group name name是组名
        • -nouser 查找文件的拥有者不在/etc/passwd/中的文件
        • -nogroup 查找文件的用户组不在/etc/group/中的文件
      • 与文件名称有关的参数
        • -name 按名称查找
      • find执行额外命令
        • find / -name test -exec ls -l {} \;
          • {} 代表查找到的内容
          • -exec 一直到 \; 是关键字,中间内容为find额外执行的命令.
          • 由于在bash中;有特殊意义,所以使用\;来转义.
    • 权限和命令之间的关系
      • 让用户进入某个目录的基本权限为
        • 可使用的命令cd
        • 目录所需权限,至少要有x可执行权限
        • 额外,如果拥有还要查看文件名,则需要r权限
      • 用户在某个目录内读取一个档案的基本权限为
        • 可使用的命令cat more less
        • 目录所需权限,至少x权限
        • 文件所需权限,至少r权限
      • 让使用者可以修改一个文件的基本权限为
        • 可使用的命令vim vi nano atom gedit
        • 目录所需权限,至少x权限
        • 文件所需权限,至少r,w权限
      • 让一个使用者可以建立一个文件的基本权限
        • 目录所需权限 至少w,x
      • 让一个用户进入某个目录并执行该目录下的某个命令的权限为
        • 目录所需权限,至少x权限
        • 文件所需权限,至少x权限

你可能感兴趣的:(linux)