Linux文件与目录管理

目录

相对路径与绝对路径

目录相关操作

文件内容查看

可翻页查看

数据截取

非纯文本文件

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

文件默认权限

文件隐藏属性

文件特殊权限

观察文件类型:

脚本文件的查找

文件的查找


相对路径与绝对路径

相对路径 较为方便

绝对路径较为正确与安全

 Linux下 特殊的目录:

 . : 代表此层目录

 .. : 代表上一级目录

 -  : 代表前一工作目录

~ : 代表目前使用者身份所在的家目录

~account : 代表account这个使用者的家目录(account为账号名称)

 

目录相关操作

常见处理目录的命令 :

 cd :切换目录

  pwd : 显示当前目录

  mkdir : 建立一个新目录

  rmdir : 删除一个空目录

 

[Tab] : tab键补全目录路径

 

 mkdir -m [文件权限 eg.711] 文件名 : 创建权限为711的文件

 mkdir -p 全路径的目录名[eg. /home/dunk/test] : 创建指定的全路径的目录

 当rmdir无法删除非空的目录时,可以使用 [rm -r 文件名]来删除指定的目录

 

 

文件与目录的查看:ls

-a : 全部文件,连同隐藏文件(开头为 .的文件)一起列出来

-A : 全部文件,连同隐藏文件,但不包括. 与 .. 则两个目录

-d : 仅列出目录本身

 

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

 cp -a : 文件所有属性全部复制

对于特殊权限的文件需要加上 -a或是 -p选项来进复制备份

 

 mv  [-u] 选项测试新旧文件,souce文件较被移动的文件新时,不覆盖,反之,则覆盖

 mv 操作的另一个作用就是修改文件名

 

获取路径的文件名与目录名称

  basename : 获取路径中最后的文件名

  dirname : 获取路径的目录名

 

文件内容查看

查看文件内容的命令如下:

 cat: 由第一行开始显示文件内容

 tac:从最后一行开始显示,可以看出tac是cat的倒写

 nl : 显示的时候,同时输出行号

 more : 一页一页的显示文件内容

 less与more类似,但是比more更好的是,它可以往前翻页

 head 只看前面几行

 tail 只看后面几行

 od 以二进制的方式读取文件内容

cat查看文件内容的命令

-n :选项

 

可翻页查看

more翻页查看命令

空格键 : 代表向下翻页

Enter : 代表向下翻一行

/字符串 : 代表在这个显示的内容当中,向下查找字符串这个关键词

:f : 立刻显示文件名及目前显示的行数

 q : 代表立刻离开more,不再显示该文件内容

 b 或 [ctrl]-b :代表往回翻页

 less 翻页查看选项

空格键 : 向下翻动一页

[pagedown] : 向下翻动一页

[pageup] : 向上翻动一页

 /字符串 : 向下查找字符串的功能

 ?字符串 : 向上查找字符串的功能

 n : 重复前一个查找(与/ 或 ? 操作有关)

 N : 反向重复前一个查找(与/或?有关)

 g : 前进到这个数据的第一行

 G : 前进到这个数据的最后一行去(注意大小写)

 q :  离开less这个程序

 man page就是调用less命令来显示说明文件的,因此less很重要

 

数据截取

head 和 tail是以行为单位进行截取的

head

 head [-n number] 文件名 : 表示显示文件中前number行的内容

  默认是显示前十行

tail(取出后面几行)

 tail [-n number] 文件名 : 表示显示文件中前number行的内容

 tail -f 文件名 :刷新显示文件内容

 

非纯文本文件

 od [-t TYPE] 文件 : 以TYPE类型显示文件内容

 TYPE : a 利用默认的字符来输出

                c 使用ASCII字符来输出

                d[size]  利用十进制来输出数据,每个整数占size Bytes

 

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

 touch 命令最长被使用的场景:

  •   建立一个空文件
  • 将某个文件日期自定义为目前(mtime与atime)

 

文件默认权限

 umask 查看指定目前用户在创建文件或目录时的权限默认值

 这个默认的数字代表需要被减掉的权限值

例如: 0022 为 umask值, 默认情况下 用户创建文件权限最大值为666,所以此时建立文件的

               权限值为644

 ll == ls -l

  若需要对默认权限进行修改: umask  [权限数值]

 

文件隐藏属性

chattr:配置文件属性

lsattr: 显示文件属性

 

文件特殊权限

SUID:

  • SUID权限仅对二进制程序有效
  • 执行者对于该程序需要具有x的可执行权限
  • 本权限仅在执行该程序的过程中有效
  • 执行者将具有该程序拥有者的权限

SGID:

   文件

  • SGID对二进制程序有用
  • 程序执行者对于该程序来说,需具备x的权限
  • 执行者在执行的过程中将会获得该程序用户组的支持

目录 :

用户若对于此目录具有r与x的权限时,该用户能够进入此目录

用户在此目录下的有效用户组将会变成该目录的用户组

用途:若用户在此目录下具有w的权限,则用户所建立的新文件,该新文件的用户组与此目录的用户组相同

SBIT:

当用户对于此目录具有w、x权限,即具有写入权限

当用户在该目录下建立文件或目录时,仅有自己与root才有权删除该文件

 

当需要配置文件权限为SUID、SGID和SBIT时,此时使用数字形式修改权限的做法较佳(做法是在原本权限的数字形式前加上以下的权限数字,eg. chmod 4755 filename)

  • 4 为 SUID
  • 2 为SGID
  • 1 为 SBIT

示例:

Linux文件与目录管理

 

观察文件类型:

Linux文件与目录管理

 

脚本文件的查找

 which 查找执行文件

Linux文件与目录管理

 

文件的查找

 whereis :特定目录下文件查找

 locate/updatedb :

             locate 在数据库中进行查找,在进行查找前务必进行        updatedb操作对数据库进行更新

 find :

   find [path] [option] [action]

 

 find 额外操作选项: -exec

Linux文件与目录管理

find 指令还支持通配符查找

 eg. Find /etc -name '*httpd*'

find指令很强大,唯一的不足是比较耗时