Linux文件管理及常用命令

目录及文件

  1. 目录树的读取方式:挂载点信息——根目录inode,查看权限——datablock读取下一级文件的inode
  2. .“/“与开机有关;”/var"与系统运行有关;”/usr"与软件安装系统有关
  3. / Linux文件的最上层根目录
    /boot 开机所需文件——内核,开机菜单以及所需配置文件等
    /dev 以文件形式存放任何设备与接口,硬件
    /etc 配置文件
    /home 用户家目录
    /bin Binary的缩写,存放用户的可运行程序,如ls、cp等,也包 含其他shell,如bash和cs等
  4. 绝对路径:由根目录开始的;相对路径:相对于当前路径,如./表示当前目录,…/表示上一级目录
  5. "-“代表上一个工作目录,”~"代表当前用户的家目录文件分为普通文件,目录文件,链接文件,设备文件和管道文件
  6. 文件名区分大小写
  7. pwd 显示当前工作的绝对路径
  8. cd +目录名,改变当前目录
  9. mkdir+选项+目录名,创建目录
  10. rmdir +选项+目录名,删除空目录
  11. ls 列出当前目录下的文件及目录;ls -a列出目录下的所有文件,包括以.开头的隐藏文件;ls -l 列出文件详细信息;ls -t按照文件最后修改时间排序;ls -R显示出目录下以及所有子目录的文件名 cat -n,由1开始对行编号,-b对于空白行不编号,-s有连续两行的空白行替换为一行;
  12. cat file2 file1>file3,file2和file1合并成file3,且file2内容在前,结果会覆盖原来的file3.
  13. head -n 5 显示前5行,-c 5显示前5个字符,-5从倒数第5行开始显示
  14. tail -n 5 显示后5行,-c 5显示后5个字符,+5 从第5行开始显示
  15. more file1 分屏显示文件 ,空格翻一页,enter翻一行q终止浏览
  16. less file1分屏显示,less -m显示读取文件百分比,less -s 连续多个空白行显示一个空白行。空格,翻一页。pagedown/pageup向下上翻一行,/向下搜索字符,g/G到文件第一/最后一行,q退出
  17. touch -d yyyymmdd 把文件存取和修改时间改为yyyy年mm月dd日,-a只把文件的存取时间改为当前时间,-m只把文件的修改时间改为当前时间
  18. sort -t " " -k 2 file,表示以空格作为分割符的第2列进行排序,-n表示按数值大小,-r表示按相反顺序排序,默认情况下是升序,-k 1.2 表示按第一列第二个字母排序
  19. diff a.txt b.txt 比较两个文本文件是否相同
  20. cp -f file1 file2 把1复制到2,覆盖2中同名原文件且不提示,-i,询问是否覆盖,-r/-R递归复制目录及其所有子目录
  21. rm -rf/-Rf递归删除目录,rm -f 删除文件,不能删除目录,-i删除时提示
  22. mv -f a b ,a剪切到b且直接覆盖,-i询问是否覆盖,mv abc.txt test/aaa.txt,把当前文件夹下abc.txt文件移动到test下并改名为aaa.tx
  23. wc -lwc aaa.txt -l行数,-w字数(一个字符串算一个字),-c字节数,-m字符数

文件权限

  1. ls-l 显示文件详细信息,一共七组,由空格分开,分别表示:文件类型及权限,连接数,拥有者,所属群组,容量,最后被修改时间,文件名
  2. 第一组:
  • 字符1(d目录,-普通文件;l符号链接;b,c区块设备或外围设备,特殊文件;s,p关系到系统的数据结构和管道)
  • 字符2-4:所有者权限,5-7:群组权限,8~10其他人权限
  • r表示读,对目录来说仅可以查看目录下文件的名字;w表示写,对文件表示修改或增加,对目录表示可以删除,增加,修改目录下的文件,x表示执行,对目录来说,表示进入目录的权限,没有r权限也可以进入目录,-表示不具备对应权限
  1. 第二组:表示多少文件名连接到此节点(i-node)链接数
  2. 第五组:容量单位为byte
  3. 第六组:ls -l --full-time 显示完整时间格式
  4. 第七组:文件名前加.表示隐藏文件, -a可以显示隐藏文件
  5. 权限修改:数字表示法 r4 w2 x1;chmod u=rw abc 给abc文件的拥有者赋予读写权限并取消原来权限
  6. 文件所有者修改:chown 所有者:属组 +文件名
    chown 所有者+文件名//只改所有者
    chown :属组/chgrp//只改所属组
    chown命令只有root用户能用
  7. Umask 查看默认权限,若默认权限是003,文件预设权限是666,目录预设权限是777,则普通用户创建文件的权限是664,创建目录的权限是774。Umask+数字权限,修改默认权限
  8. suid权限,当一个二进制程序的所有者有s权限时,普通用户执行这个程序时会暂时拥有所有者的权限(前提是普通用户有x权限)u+s
  9. sgid权限,当一个二进制程序的所属群组有s权限时,普通用户执行该程序时会暂时拥有所属组的权限(前提是普通用户有x权限。)当一个目录被sgid修饰时,普通用户在该目录创建的文件所属组和该目录所属组一致(前提是普通用户对目录有w和x权限)g+s
  10. sbit权限,仅对目录有效。当一个目录拥有该权限时,用户在该目录下创建的文件仅有所有者和root可以删除(前提是普通用户对目录有w和x权限)o+t

文件搜索

  1. *匹配任意长度文件名字符串,包括空字符串;?匹配任一单字符;. 作为文件名或路径名第一个字符时,必须显示匹配(*file不匹配 .file), []匹配方括号内任一字符;[^abc]表示除abc以外的任一字符
  2. find [搜索路径] [选项] [-print -exec -ok]
    -size +n表示比n大的文件
    -inum n 查找结点号为n的文件
    -type 查找指定类型的文件
    -atime n查找n天前被访问过的文件,-n表示n天内
    -mtime n 查找n天前被修改过的文件
    -ctime n 查找n天前文件索引节点被改过的文件
    -perm mode,-mod表示权限包括mod(比mod大),/mod表示符合任何一个权限(比mod小)
    -newer file 比file新的文件
    -exec command {} ;对查找到的文件执行command 指令
  3. locate查找文件位置,支持通配符
  4. whereis 查找可执行文件的位置
  5. grep 查找文件中包含指定字符串的行
    • grep -2 root /etc 在/etc中寻找含有字符root的行,显示该行及该行的前后两行
    • grep “^root$” /etc
  6. 查找仅包含root的行,^表示行的开始,$表示行的结束,查找的字符串中有空格,可以用引号括起来

硬链接和符号链接

  1. 硬链接:ln 源文件 目标文件
    • 不能对目录做硬链接,不能在不同文件系统做硬链接
    • 创建的硬链接文件和源文件节点号相同。
    • 创建的硬链接文件命名可以和源文件名不同。
    • 源文件删除了,而链接文件仍具有原来特性。
    • 创建的硬链接文件属性和源文件相同。
    • 更改源文件或链接文件属性,则全部更改。
  2. 软链接:ln -s 源文件 目标文件
    • 软链接是一个新文件,它与目标文件有不同的inode;
    • 软链接可以对目录文件做符号链接,也可以在不同文件系统之间做符号链接;
    • 删除源文件或目录时,不会删除链接,但链接失效;
    • 软链接的大小是其链接文件的路径名中的字节数。
    • 在目录长列表中,符号链接作为一种特殊的文件类型显示出来,其第一个字母是l。
  3. 目录的链接数=直属子目录数+2;新建目录为2(其包含两个隐藏文件)
  4. Linux文件管理及常用命令_第1张图片

文件的归档与压缩

  1. 文件归档
    • tar -cf f1.tar +源文件 把源文件打包生成f1.tar
    • tar -cvf f1.tar 打包同时列出包里文件
    • tar -tf f1.tar 查看f1.tar包内容
    • tar -xvf f1.tar 还原包并列出文件
    • tar -rf f1.tar m1 把m1加到f1.tar包中
    • tar -zcvf f1.tar.gz 打包并用gzip压缩
    • tar -jcvf f1.tar.bz 打包并用bzip2压缩
    • tar -Jcvf f1.tar.xz打包并用xz压缩
    • 用-z,-j,-J压缩的,也要用该命令解压缩
    • tar -zxvf tmp.tar.gz 解压缩
  2. 文件压缩
    • gizp bzip2 xzip
    • -d解压,-v显示压缩比
    • 查看纯文本文件压缩内容:
    gzip压缩文件, zcat zmore zless
    bzip2压缩文件,bzcat bzmore bzless
    xz压缩文件,xzcat xzmore xzcat

你可能感兴趣的:(Linux知识点总结,linux)