1. 目录与路径
1.1 相对路径与绝对路径
操作相对与当前工作目录的时候使用相对路径.
在写脚本时一般建议使用绝对路径.
1.2 目录的相关操作
特殊目录
. 当前目录
.. 上层目录
- 前一个工作目录
~ 当前用户家目录
常见的处理目录的指令
cd 变换目录
pwd 显示当前目录
mkdir 建立一个新的目录 mkdir [-mp] 目录名称. m:设定权限. p:递归建立目录. mkdir -m 711 -p /tmp/niu/test
rmdir 删除一个空的目录 rmdir [-p] p:连同上层空目录一起删除.
rm:删除档案 rm [-r] r: 该目录下的档案全部删除.
1.3 关于执行文件的路径;$PATH
在执行指令时,系统会在环境变量PATH定义的所有目录下搜寻并执行第一个找到的指令文件.
echo $PATH 打印出PATH变量定义的内容.
PATH变量定义的目录之间使用":"冒号隔开.
2. 档案与目录管理
2.1 档案与目录的检视 ls
ls [-adlhfit] 目录名称 常用选项如下
a:全部档案列出.
d:仅列出目录
l:长数据列出,包括权限,时间,大小等.
h:人类较易阅读的方式.(M,G)
一般预设中,ll相当与 ls -l
2.2 复制,删除与移动
2.2.1 cp: 复制档案或目录
cp [-afd] 来源文件 目标文件
a:相当与pdr
i:若目标文件存在,覆盖前询问.
p:连同档案的属性一起复制.
r:递归复制.
l:连接档建立
s:复制快捷方式,符号连接.
2.2.2 rm: 移除档案或目录
rm [-fir] 档案或目录
f:强制执行,忽略不存在的档案,不提示错误信息.
r:递归操作
i:提示用户.
2.2.3 mv:移动档案和目录或更名
mv [-fiu] 源文件 目标文件
u:若目标文件存在,且比源文件新,才更新.
2.3 取得路径的文件名与目录名称
basename 路径 :返回文件名
dirname 路径: 返回目录名
3. 档案内容查阅
3.1 直接检视档案内容
cat: 由第一行开始显示档案内容
tac: 从最后一行开始显示档案内容,
nl: 显示的时候顺便输出行号.
3.2 翻页
more :一页一页显示档案内容
less: 和more类似,但可向前翻页.
3.3 撷取内容
head: 只看头几行.
tail:只看尾几行.
3.4 非纯文本档
od:以二进制方式读取档案内容.
3.5 修改档案时间或建制新档: touch
mtime:档案内容改变时更新该时间.
ctime:档案状态改变会更新该时间.如权限,属性.
atime:档案被读取时更新该时间.
默认状态下ls -l 显示档案mtime.
ls -l --time=atime 档案 显示atime
touch [-acdmt] 档案 修改档案时间或建立空档.
-a :修改access time.
-c:修改档案修改时间.
-d:后面接要修订的日期.
-t: 后面接要修改的时间.
-m:仅修改mtime.
4. 档案与目录的默认权限与隐藏权限
4.1 档案预设权限:umask
umask: 指定档用户新建档案目录时的默认权限值.
umask
umask -S
umask 的分数指的是777没有的权限
如 umask 为0022 ,则新建文档的权限为755.
4.2 档案隐藏属性
配置文件档案隐藏属性chattr
chattr [+-=][ASacdistu] 档案或目录
A:不修改atime属性
S:档案有任何改动都会写回磁盘.
a:该档案只能增加数据,不能删除数据.
c:档案能自动解压缩.
i:档案不能删除,改名.
lsattr:显示文档隐藏属性.
4.3 档案特殊权限
当档案的拥有者权限执行权限为s时,为SUID权限.
SUID的限制与功能.
1. SUID仅对二进制程序有关./usr/bin/passwd
2. 执行者对该程序据有执行权限.
3. 本权限仅在执行该程序的过程中有效.
4. 执行者将具有该程序的拥有者权限.
当档案的群组的执行权限为s时,为SGID.
SGID功能.
1. SGID对于二进制程序有关.
2. 程序执行者对该程序来说,具有X的权限.
3. 执行者在执行过程中将获得该程序群组的支持.
SBIT仅对目录有效./tmp目录
用户对该目录具有写入权限时,用户新建的档案或目录仅有自己和root有权删除.
SUID,SGID,SBIT权限设定.
SUID:4
SGID:2
SBIT:1
设定SUID, chmod 4777 档案
4.4 观察文件类型:file
file 档案
5. 指令与档案的搜寻
5.1 脚本文件名的搜寻
which [-a] command
-a: 列出全部结果.
该指令根据PATH变量路径来搜寻.
5.2 档案档名的搜寻
whereis [-bmsu] 档案或目录
-b:二进制文件,
-m:说明文件.
s:source来源档案.
u:不再上面3类的档案.
locate kerword
注意:whereis,locate指令查询文件数据库来查询数据,更新该文件数据库命令:updatedb
find [path] [option] [action]:find 指令直接查询硬盘.
6. 权限与指令间的关系