处理目录的常用指令:
- cd : 变换目录
- pwd : 显示目前所在的目录。-P 选项可以让我们取得正确的目录名称,而不是以链接文件的路径来显示。
- mkdir : 建立新目录
- rmdir 删除(空的)目录
PATH变量的内容是一堆目录组成的,每个目录中间用冒号(:)来隔开,每个目录都有顺序之分的。其定义了执行命令时所查询的地方。
- echo $PATH 打印PATH
PATH = “$PATH”:/root 把/root加入PATH中
查看文件与目录的指令 : ls
- cp : 赋值文件或目录
- rm: 移除文件或目录
- mv : 移动文件与目录或更名
档案内容查阅:
- cat 由第一行开始显示文件内容
tac 由最后一行开始显示文件内容
nl 显示的时候,输出行号
- more 一页一页的显示文件内容
less 与more相似,但可以向前翻页
head 只看头几行
tail 只看尾几行
od 以二进制的方式读取档案内容。
三个时间参数:
modification time (mtime) :
当该文件的内容数据变更时,更新该时间status time (ctime) :
当该文件的权限与属性被更改时,更新该时间access time (atime):
当该文件的内容被取用时,更新该时间。
修改文件时间或创建新文件: touch
文件默认权限 : umask
- 可以用umask命令或umask -S 命令查询用户在建立档案或目录时候的权限的默认值。
-umask显示的分数是指该默认值需要减掉的权限。如002表示user没有被拿掉任何权限,group和others的权限被拿掉了2(即w) - 使用者建立文件默认没有可执行(x)权限,即只有r w 两个选项,最大值为666
- 若用户新建目录,则x与是否可以进入此目录有关,默认所有权限均为开放,最大值为777
- umask显示的分数是指该默认值需要减掉的权限。如002表示user没有被拿掉任何权限,group和others的权限被拿掉了2(即w).那么用户:
新建文件时:(-rw-rw-rw-)-(——w–w)= -rw-r–r–
新建目录时: (drwxrwxrwx)- ( d—-w–w–) = drwxr-xr-x
- chattr : 设置文件的隐藏属性
- lsattr : 显示文件隐藏属性
文件的特殊权限 :
SUID权限的设置可以让执行者具有该程序所有者(owner)的权限。如在Linux系统中,所有账号和密码都记录在/etc/shadow文件里面,其权限为“-r——–1 root root”这个文件仅有root可以读和强制写入。而因为有SUID权限,一般用户也能暂时获得”root”权限而对passwd进行修改。
SGID 权限表示执行者在执行的过程中会获得该程序用户组的支持。
当使用一般账号去执行locate时,会取得slocate群组的支持,因此能够读取mlocate.db。
- SBIT权限表示用户在该目录下创建文件或目录时,仅有自己与root才有权利删除该文件。
权限设置:
- 4 :SUID
- 2 : SGID
- 1 : SBIT
Note : SUID 用在文件上,SBIT用在目录上。
查看文件的类型: file
脚本文件名查询:
- which 寻找执行文件,是根据PATH环境变量所规范的路径去 查询“执行文件”的。
文件名查找:
- whereis
- locate
Note: whereis 和 locate 都是经由已建立的数据库来查找的,并非直接去硬盘中存取数据,所以速度比较快。但是数据库的建立是在每天执行一次,对于新建立的文件,可能locate会提示你找不到。所以必须使用updatedb进行数据库的更新。
- find
权限与指令间的关系: