Linux — 文件目录管理

Posted K战神

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux — 文件目录管理相关的知识,希望对你有一定的参考价值。

目录与路径

  • .  此层目录
  • .. 上层目录
  • -  之前一个工作目录
  • ~ 主文件夹
  • ~ account 指定用户的主文件夹,account --账号名称
  • cd 切换目录
  • pwd (print working directory)显示当前目录
  • mkdir 创建一个新的目录
      • mkdir -p t1/t2/t3  创建多层目录
      • mkdir -m 711 t1  创建文件权限
  • rmdir 删除一个空目录
      • rmdir -p  t2  连同删除上层空目录
  • 环境变量:$PATH  执行的命令都会根据这个路径去查找相关的命令,找到就返回。echo $PATH      

 文件目录:ls

  • ls -a   全部文件
  • ls -A   全部文件 != . || ..
  • ls -d    列出目录本身
  • ls -f     不排序
  • ll -al    查看明细说明   ll

 

复制、删除、移动:cp、rm、mv

  • cp  -a   相当于-pdr
  • cp  -i    覆盖存在的文件前先询问
  • cp  -r   子目录递归复制
  • cp  -p   文件属性一起复制,用于备份
  • cp  -l    创建快捷方式 ,硬链接
  • cp  -s  创建快捷方式,软连接
  • rm -f 忽略不存在的文件
  • rm -i 互动模式,提醒操作
  • rm -r 递归删除
  • mv -f 强制覆盖
  • mv -i 询问
  • mv -u update

 

 文件内容查询

  • cat 由第一行开始显示文件内容
      •  -A 特殊字符显示  相当于 -vET
      •  -b  行号,空白行不算
      •  -E  显示断行符$
      •  -n   打印行号,空白行也算
      •  -T  tab键显示^I
      •  -v   列出天特殊字符
  • tac 从最后一行开始显示
      • tac 与cat 相反
  • nl 显示时输出行号
      • -b a 空行也显示行号 ; nl -b t 空行不显示行号
      • -n ln 行号在屏幕最左方 ; nl -n rn 行号在自己字段的最右方,不加0;nl -n rz 右方加0
      • -w 行号占用的位数
  • more 一页一页显示
      • 空格 翻页
      • Enter 滚动一行
      • :f  文件名和当前行数
      • q 退出
      • b 或 ctrl -b  往回翻页
      • /字符串   当前显示内容,向下查询字符串
  • less 同more , 但是可以往前翻页
      • 空格  翻页
      • PageDown  下翻一页
      • PageUp 上翻一页
      • 上、下 前后看
      • /字符串 向下查询
      • ?字符串  向上查询
      • n 重复上一个查询
      • N 反向重复上一个查询
      • q 退出
  • head 头几行,行级单位进行选取
      • n 显示的行数 ,默认10
  • tail  结尾几行
      • -n 后几行,默认10
      • -f  持续监测
  • od 二进制方式读取
      • -t 输出类型

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

  • 三个比较重要的时间参数:ls -l  默认的是mtime
      • modification time(mtime) : 文件内容更改时,就会更新这个时间。--文件内容
      • status time(ctime) : 文件状态时间--权限和属性
      • access time(atime) : 文件被取用 ,更新时间-- 比如cat 读取
  • 修改时间:touch  文件不存在会自动创建文件
      • -a 访问时间
      • -c  文件时间
      • -d  待修改的日期时间,或者 --date(日期或者时间)
      • -m 修改mtime
      • -t   修改时间[YYYYMMDDhhmm]

文件与目录的默认权限与隐藏权限

  • 设置隐藏属性  chattr    ;查看隐藏属性:lsattr

 

文件的默认权限 umask:指定目前在新建文件或者目录时候的权限默认值(分数指的是需要减掉的权限)

  • 查看默认权限:umask ; umask -s
  • 设置默认权限:umask 当前用户权限分数 用户组权限分数 其他用户组分数    ;  设置的分数就是需要在默认基础上减掉的权限分数

        

      •  umask -p  umask -S  命令
      •    umask 000 => umask 022  原来的默认权限是全部权限,现在设置为 当前用户组全部权限,所在用户组减去2=w 权限,其他用户组减去2=w权限

文件隐藏属性 charrt 、lsattr

  • chattr [+ - =] [ASacdistu]
      • + 增加一个特殊参数,其他原本存在的参数则不动
      • -  删除一个特殊参数,其他原本存在的参数不动
      • = 重新赋值参数
      • A 访问时间atime 不会修改,减少IO读写
      • S 同步写入磁盘
      • a root才能设置此属性,只能增减数据,不能删除和修改
      • c 存储时先压缩文件在存储,读取时先解压缩再读取
      • d 可以跳过备份
      • i  让文件不能删除、改名、设置连接、无法写入数据、添加数据
      • s 删除文件时 彻底删除
      • u 与s相反
  • lsattr [-adR] 
      • -a 显示隐藏文件的属性
      • -d 目录本身的属性
      • -R 连同子目录一起显示

查看文件类型 : file

  • 脚本文件名的查询: which  [-a]  command   
  • 文件名的查找:优先选用 whereis,数据库查询速度快,但是会找不到新添加
      • -b 只找二进制格式文件
      • -m 只找说明文件manual路径下的文件
      • -s 只找source 源文件
      • -u 查找不在上述三个选项中的其他特殊文件
  • 文件名的查找:其次选用 locate,同whereis
      • -i 忽略大小写查询
      • -r 正则表达式
  • 文件名的查找:最后选用 find ,find [parh] option]  [action]
      • 时间相关参数:-atime  -ctime  -mtime
      • 用户或者用户组名参数:-uid id  ; -gid id ; -user name ; -nouser  ; -nogroup 
      • 文件权限和名称:-name filename ; -size [+-]SIZE ; -type TYPE ; -perm mode 查找文件权限 ; -perm -mode 权限包含mode ; -perm +mode 包含任意mode
      • 其他: -exec command  ; -print

以上是关于Linux — 文件目录管理的主要内容,如果未能解决你的问题,请参考以下文章

linux中怎么拷贝文件到指定目录下?

linux如何将一个目录下所有的文件都改成775的权限

Linux文件和目录管理理论

linux 怎样复制一个目录的所有文件到另一个目录

linux下怎么查看目录及子目录下所有文件

linux 的系统文件放在哪个目录下