02-文件系统管理

nobility 发布于 2023-03-08 02-Linux系统管理 899 次阅读


文件系统管理

Linux目录结构

目录名 描述
/bin 所有用户都可以使用的可执行程序命令文件目录
/boot Linux启动时需要的文件目录
/dev 外设文件目录
/etc 系统配置文件目录
/home 普通用户家目录
/lib 库文件目录
/media 可移动外设文件目录
/mnt 存储设备外设文件目录
/opt 大型的第三方软件目录
/root root用户的家目录
/sbin 只有root用户才有权限执行的可执行程序命令文件目录
/srv 网络服务启动后所需的数据文件目录
/tmp 临时文件目录
/usr Linux发行版官方的软件目录
/var 系统运行时要改变的数据文件目录

文件目录详细信息

文件详细信息

文件类型

  • -:普通文件
  • d:目录文件
  • l:连接文件(软连接)
  • s:套接字文件
  • c:字符设备文件
  • b:块设备文件
  • p:管道文件

文件权限

9个字符3个为一组,分别代表所属用户权限、所属用户组权限和其他用户权限;每组rwx分别代表读写执行权限,可使用一个比特位代表权限,也就有了对应的十进制数字,如100 = 4 = r--110 = 6 = rw-

SELinux

如果最后一个字符是点的就是设置有安全上下文标签的文件,否则是没有,可以通过stat命令查看文件详细信息中查看安全上下文,在网络服务中经常因为SELinux无法访问文件,在网络服务中经常要修改他

文件管理操作命令

  • du:统计目录包含目录的大小
    • h:以人可阅读的形式列出
    • a:统计目录包含目录和文件的大小
    • s:只显示当前目录的总计大小,不能同时使用a参数,因为这两个参数的目的就冲突了
  • cp:拷贝文件或目录,只能拷贝空目录
    • r:递归拷贝目录,可拷贝非空目录
  • mv:移动文件或目录
  • rm:删除文件或目录,可同时删除多个文件,只能删除空目录
    • i:询问用户是否删除
    • f:不会询问用户直接删除
    • r:递归删除,可删除非空目录
  • ln:创文件的建硬连接,不能是目录;两个连接会指向同一块内容,所以修改一个连接文件内容时另一个也会修改,就好像堆内存对象一般,属于地址引用
    • s:创建文件或目录软连接,路径连接

文件管理查找命令

查找文件

  • locate:从文件数据库中查找包含指定字符串的的文件或目录,文件数据库默认是一天更新一次,所以新创建的文件无法使用该命令找到
  • updatadb:立刻更新文件数据库
  • find:从硬盘上查找文件或目录
    • 第一个参数:指定目录中查找,省略自动从当前目录查找
    • 第二个参数:指定查找的条件,不可省略,要注意此时是一个短参数形式,赋值时无需使用等号空格隔开即可
      • -name:根据文件名查找,
      • -size:根据文件大小查找,这里的大于小于使用的是加减而不是大于小于,等于则是不需要任何符号
      • -atime:根据最近访问时间查找,同样大于小于等于是用的加减,默认是天数
      • -type:根据文件类型查找,f是文件,d是目录
    • 第三个参数:操作查找结果,,要注意此时是一个短参数形式,赋值时无需使用等号空格隔开即可
      • -print:打印查找结果,默认
      • -printf:格式化打印查找结果,%p指的是查找文件名
      • -delete:删除查找出的文件
      • -exec:对查找出的文件执行该命令,该命令需要以{} \;结尾,这个大括号会被查找结果替代(注意前后空格)
      • -ok:与-exec类似,只不过会在执行命令时提示用户确认

查找文件内容

  • grep:全局正则匹配过滤信息
    • i:忽略大小写
    • n:显示行号
    • v:取反搜索
    • r:递归的查找目录,与rgrep命令相同
    • I:排除二进制文件
    • E:激活正则匹配,一般默认是激活的,与egrep命令相同
  • sort:对文件内容排序输出
    • o:将排序内容输出到新文件中
    • r:倒序
    • R:随机排序
    • n:按照数字排序,原本是按照字符串排序,所以123会排到23前面
  • wc:文件字数统计,默认是以行数、单词数、字节数和文件名顺序输出
    • l:只输出行数和文件名
    • w:只输出单词数和文件名
    • c:只输出字节数和文件名
    • m:只输出字符数和文件名
  • uniq:将连序相同的行消除为一行输出,也可以将处理重复的内容输出到新文件中
    • c:统计重复的行数
    • d:只显示重复的行
  • cut:裁剪文件的一部分内容
    • c:根据字符数剪切
    • d:以每行的分割符号裁剪,配合f参数使用
    • f:分割的份数,从一开始,配合d参数使用

重定向

  • 0表示标准输入流
  • 1表示标准输出流
  • 2表示标准错误输出流
  • &表示标准输出流和标准错误输出流
  • >:输出重定向到文件并覆盖,若不想终端输出结果也不想存储文件则重定向到黑洞文件/dev/null
  • >>:输出重定向到文件并且追加
  • <:输入重定向,从文件中读取,一般后跟文件名,将文件中内容重定向给命令
  • <<:输入重定向,从键盘上获取,一般后跟结束字符串,将输如字符串重定向给命令
  • |:管道符,将上一个命令的输出当作下一个命令的输入
加油啊!即便没有转生到异世界,也要拿出真本事!!!\(`Δ’)/
最后更新于 2023-03-08