Linux 文件与目录管理
记录学习,便于以后翻看.
1.目录的相关操作
1.1 特殊目录
注意:在所有目录底下都会有两个目录『.』和『..』分别代表本层目录和上层目录.
1.2 目录相关指令
• cd : change directory,变换目录
• pwd: 显示当前目录
• mkdir: 建立一个新目录
-m:配置文件的权限,直接设定,无视umask
-p:帮助直接将所有目录,包含上层目录,递归建立起来.
• rmdir: 删除一个新目录
-p:连同上层空目录一起删除
1.3 执行文件的变量:$PATH
• 不同身份使用者预设的$PATH不同,默认能够随意执行的指令也不同
• $PATH是可以被修改的, PATH="${PATH}:/root"
• 绝对路径或相对路径,相对于搜寻PATH来的正确
• 指令应该放到正确的目录下,执行才比较方便
• 本目录『.』不要放在PATH中
2.文件与目录管理
2.1 文件与目录检视 : ls
2.2 复制移动与删除:cp ,rm ,mv
cp(复制文件或目录)
rm (移除文件或目录)
mv (移动文件与目录,或更名)
3.文件内容查阅
3.1直接检视文件内容
cat(concatenate),tac
指令tac是月cat相反的,cat是由上至下,tac是右下至上.
nl(添加行号打印)
3.2 可翻页检视
more(一页一页翻动)
• 空格键 : 下一页
• Enter : 下一行
• /字符串 : 向下搜寻关键字
• :f : 立刻显示出文件名和行数
• q : 立刻离开more,不在显示该文件内容
• b或ctrl+b : 往回翻页,对文件管用,对管线无效.
less(一页一页翻动)
less较more更灵活,好用
• 空格键 : 向下翻一页
• [pagedown] : 向下翻一页
• [pageup] : 向上翻一页
• /字符串 : 向下搜寻字符串
• ?字符串 : 向上搜寻字符串
• n : 重复前一个搜寻
• N : 反向重复前一个搜寻
• g : 前进到这个资料的第一行去
• G : 前进到这个资料的最后一行去
• q : 离开less程序
3.3资料撷取
head(取出前几行)
tail(取出后面几行)
3.4 非纯文档 od
当想查阅非纯文本文档 如 /usr/bin/passwd 这个执行档时使用od
如命令 echo abcdefg | od -t oCc ,显示出abcdefg的ASCII的对应码表
3.5 修改文件或建置新档: touch
3.5.1 Linux时间参数
- mtime : 修改文件内容时的时间
- ctime : 修改文件状态时的时间,如修改权限或属性等
- atime : 读文件的时间
3.5.2 指令touch
touch可建立新的空文件 如:touch /temp/test , touch修改文件时间无法修改状态时间ctime
4.文件与目录的默认权限与隐藏权限
4.1 文件预设权限umask
查阅预设权限直接用命令 umask 或 umask -S
- 建立文件的权限的默认值是666分 即[-rw-rw-rw]
- 建立目录的权限的默认值是777分 即[drwxrwxrwx]
umask预设权限的值,如果是root身份默认是 0022,第一位是隐藏权限.
那么实际建建立的文件/目录的权限是 默认权限减去预设权限,即
- 建立文件时[-rw-rw-rw]减去[-----w--w]→[-rw-r--r--]
- 建立目录时[drwxrwxrwx]减去[-----w--w]→[drwxr-xr-x]
4.2 文件的隐藏属性
chattr (配置文件隐藏属性)
lasttr (显示文件的隐藏属性)
4.3 文件的特殊权限 SUID,SGID,SBIT
SUID
当文件拥有者x权限上出现s时,如[-rwsr-xr-x],此时称为SUID的特殊权限.它的功能及限制:
- SUID权限仅对二进制程序有效
- 执行者对于该程序(文件)需要具有x的执行权限
- 本权限仅在执行过程中有效
- 执行者将具有程序拥有者的权限
- 只对文件有效
如在ect/shadow文件中存放着所有用户的密码,这个文件权限是[---------],只有root用户能强行修改.一般用户想要改自己的密码也是可以修改的,是因为passwd命令有SUID功能.
SGID
当文件或目录的群组执行权限上出现s是,如[-rwx--s---],此时称为SGID的特殊权限,如果是对文件:
- SGID对二进制程序有效
- 执行者对于该程序需具备x权限
- 执行者在执行过程中将会获得该程序的群组支持
与SUID相似,只是SGID用的群组的支持,SGID也能用在目录上,当一个目录设定了SGID权限后,它将有如下功能:
- 用户对目录有r,x权限时,改用户可以进入此目录
- 用户在此目录下的有效群组,将会变成该目录的群组
- 用途:若用户在目录下有w权限,则使用者建立的新文件,该文件的群组与此目录的群组相同
SBIT
Sticky Bit , SBIT只针对目录有效,在其他权限的x权限上是t,作用是:
- 用户对目录有w,x权限时
- 当用户在该目录建立文件时,只有root和自己可以删除此文件
特殊权限的设定
数字形式:在正常设定权限的基础上前边加上一组权限,如 chmod 4755 test,最前边的[4]就是特殊权限:
- SUID 是 4
- SGID 是 2
- SBID 是 1
若是出现大写的S或者T,则说明是空权限,即没有执行权限,如7666分权限[-rwSrwSrwT]
符号形式:SUID 是 u+s ,SGID 是 g+s ,SBID 是 o+t
5.指令与文件的搜寻
5.1 脚本文件名的搜寻
which 寻找执行挡
5.2 文档名的搜寻
whereis 由一些特定的目录中寻找文件名
locate
find
鸟哥不推荐用使用find,因为是直接搜索硬盘.但是find指令的功能非常强大.
如 find /var -mtime 4 过去的第四天内所有被修改过内容的文件
- {}代表的是由find找到的内容,如下图
- -exec 一直到 \; 是关键字,代表find额外动作的开始和结束
- [;]在bash有特殊含义,用\脱逃