Linux常用命令——文件部分1

时间:2022-12-10 16:09:24

基础命令:

  1. cd (change directory)

    • cd 直接进入当前用户家目录
    • cd ~ 相当于 cd
    • cd /var/log 进入指定目录
    • cd - 回到上次所在的目录下
    • cd .当前目录
    • cd ..到上一级目录
  2. ls (list)

    • ls列出当前目录下的文件和目录
    • ls /tmp列出指定目录下的文件和目录
    • ls -l显示文件和目录的详细信息
    • ls -a显示所有文件和目录,包括隐藏文件和目录
    • ls -t /var按照时间排序
    • ls -d只查看当前目录
    • ls -i查看文件inode号
  3. mkdir 创建目录(make directory)

    • mkdir /tmp/123创建指定目录(绝对路径)
    • mkdir dir1创建指定目录(相对路径)
    • mkdir -p /tmp/1/2/3创建级联目录
    • mkdir -m 755 /tmp/4指定创建目录的权限
    • mkdir -pv /tmp/1/2/3可视化创建过程
  4. rmdir 删除目录(remove directory),非空目录不可删除

    • rmdir /tmp/4删除空目录
    • rmdir -p /tmp/1/2/3删除级联空目录
    • rmdir -pv /tmp/1/2/3可视化删除
  5. rm删除文件或目录(remove)

    • rm -r /tmp/1删除目录
    • rm -f /tmp/1强制删除
    • rm -i /tmp/1安全选项,会询问是否删除
    • rm -rf /tmp/1常用
  6. cp拷贝文件或目录(copy)

    • cp 1.txt 2.txt拷贝文件,如果2.txt存在则会覆盖,如果不存在相当于将1.txt重命名
    • cp 1.txt dir1如果目录dir1存在,则1.txt拷贝到目录dir1 内,如果目录dir1不存在,同上。
    • cp -r dir1 dir2如果目录2存在,则目录dir1拷贝到目录dir2内,如果dir2不存在,相当于给dir1重命名
  7. mv移动文件或目录(move)

    • mv 1.txt 2.txt移动1.txt为2.txt,如果2.txt存在,则会覆盖;不存在则相当于重命名。
    • mv 1.txt dir1目录dir1存在,则移动1.txt到目录dir1下
    • mv dir1 dir2目录dir2存在,则移动dir1到目录dir2下;不存在则相当于重命名
  8. 查看文件内容命令

    • cat /var/log
    • cat -A /var/log显示全部字符
    • tac /var/log倒序查看
    • more
      • 使用b,f上下翻页,翻到最下面就直接退出了
    • less
      • 使用b,f上下翻页,不会自动退出,使用q退出。
      • 可以搜索使用?或 /,n或N上下跳到搜索的关键词
    • head
      • head -n 10 /var/log查看文件前10行
    • tail
      • tail -n 10 /var/log查看文件最后10行
      • tail -f /var/log跟踪显示文件内容,常用于查看动态日志
      • tail -F /var/log 跟踪文件,删除后再创建仍会继续跟踪显示
  9. 文件详细信息
    drwxr-xr-x 2 root root 4096 Mar 11 07:28 dir1

    • 第一个字符表示文件类型
      • -普通文件
      • d目录文件
      • l软链接文件,硬链接不显示
      • s套接字(socket)文件,用于进程间通信
      • b块设备文件,如磁盘
      • c串行端口设备,键盘,鼠标等
      • p管道文件
    • 之后的9位字符表示权限
      • rwx读、写、执行权限
      • 前三位表示用户user的权限
      • 中间三位表示用户所在用户组group的权限
      • 后三位表示其他用户other的权限
    • 第二列表示文件或目录的inode号
      • 普通文件:表示1,2为相同的inde号的文件有几个。通常为1。
      • 目录:表示其下子目录的个数,包含当前目录和上一级目录。
    • 第三列表示所属用户
    • 第四列表示所属用户组
    • 第五列表示文件大小
    • 第六、七、八列表示文件创建的月 日 小时:分钟
    • 第九列表示文件名
  10. chmod修改文件或目录权限
    • chmod 755 1.txt修改文件权限
    • chmod -R 755 /var/dir1修改目录权限
    • chmod u+x,g+x,o-x 1.txt
    • chmod u=rwx,g=rwx,o=r 1.txt
    • chmod a+x 1.txt所有用户修改权限
    • 创建文件或目录时的默认权限与系统设置的umask有关
    • 目录的可执行权限就是进入目录
  11. chown修改文件或目录的所属主和所属组
    • chown root 1.txt
    • chown root:root 1.txt
    • chown root.root 1.txt
    • chown :root 1.txt
    • chown .root 1.txt
    • chown -R root:root dir1
  12. 隐藏属性,只能root用户设置

    • a增加该属性后,只能追加,不能删除;
    • i文件不能修改,删除,增加等,不可操作;
    • chattr +i 1.txt
    • lsattr
    • lsattr -R级联显示
    • lsattr -d dir1只查看该目录
    • chattr -R +a dir1级联设置
  13. 特殊权限

    • suid该权限针对二进制可执行文件,使文件在执行时具有文件所有者的权限;
    • sgid设置在二进制文件上,作用同上。设置在目录上,任何用户在该目录下创建文件或目录都具有和该目录相同的所属组。
    • sticky_bit防删除位,设置在目录上,设置后,只能在该目录下增加文件,不能删除该目录下其他用户的文件。
    • sst三种特殊权的符号表示
  14. 文件三个时间属性

    • atime文件最后读取或执行的时间
    • mtime文件最后修改的时间
    • ctime文件最后inode号改变的时间
    • mtime改变,则ctime一定改变
    • atime可以在文件系统中设置不更新
  15. 软连接和硬链接

    • 本质区别在于inode号
    • 硬链接
      • 硬链接使用相同的inode号,故不能跨文件系统,不能链接目录
      • ln /tmp/1.txt /tmp/2.txt
      • 源文件删除后,不影响目标文件的使用
    • 软链接
      • 相当于快捷方式
      • ln -s /tmp/dir1 /tmp/dir2
      • 源文件删除后,目标文件不可再使用
      • 目标文件的大小和路径长度有关
    • 要使用绝对路径

相关文章