03_文件与目录管理,03目录管理
03_文件与目录管理,03目录管理
说明:
本博客包括了linux常用的文件目录操作以及特殊权限还有文件查找(2017-02-28)
一.目录与路径
1.目录相关操作
cd ~zhao 到该用户文件夹
pwd 显示当当前路径
pwd -P 显示当前路径,而非连接路径
mkdir -m 711 test/ m:配置文件权限
mkdir -p test1/test2/test3 p:将目录递归地建立起来
rmdir -p test2 连同上层空目录也删除
2.执行文件路径的变量 $PATH
echo $PATH 查看被定义的目录
当目录没有被定义时可以使用绝对路径来执行
添加文件路径:
PATH="$PATH":/root 将/root目录添加到路径
本目录(.)最好不要放到PATH中
二.文件与目录管理
1.ls
ls -l == ll
ls -a
ls -d 仅列出目录本身
2.cp,rm,mv
cp 源文件 目标文件
默认条件下源文件和目标文件的权限是不同的
-r 目录递归复制
-i 存在时询问
-s 复制为连接文件,会有指向
-d 若源文件为连接文件的属性,则复制连接文件属性二非文件本身
rm 源文件或者目录
-f : 强制
-r : 递归删除
-i : 提示
mv 移动或更名
多文件复制
mv c1 c2 c3 c3必然是目录
basename 取路径的文件名 basename /home/zhao/abc.c abc.c
dirname 取路径的目录名 dirname /home/zhao/abc.c /home/zhao
三.文件内容与查阅
1.cat tac nl
cat -n file 打印行号(包括空白)
cat -b file 打印行号(不包括空白)
tac file 反向列示
nl file 添加行号打印
2.翻页查看
more 一页一页翻
/string 向下查询
: 显示文件名及当前行数
b: 往回翻页
q: 离开
less
/str 向下查询字符串
?str 向上查询字符串
n 重复前一个查询
N 反向重复前一个查询
3.数据选取
head -n number file 默认10行
tail -n number file 默认10行
4.非纯文本文件 od
od -t [type] file
type:
a: 默认字符串输出
c: ascii 字符输出
d[size]: 十进制输出,每个数据占sizebyte
f: 浮点
o: 八进制
x: 16进制
od -t c /usr/bin/passwd
od -t cCo /etc/issue 八进制和ASCII对照
5.touch
mtime: 内容数据更改时的时间
ctime: 权限和属性被更改的时间
atime: 文件内容被读取的时间
ls 默认为 mtime
ls -l --time=atime file
ls -l --time=ctime file
touch [-acdmt] file
a: 仅修改访问时间
c: 仅修爱文件时间
m: 仅修改mtime
t: 接欲修改时间[YYMMDDhhmm]
ll bashrc; ll --time=atime bashrc; ll --time=ctime bashrc ; 连续命令行
touch -(m)t 0709150202 file 将文件时间修改为2007年9月15日 2:02
四.文件与目录的默认权限与隐藏权限
1.文件默认权限 umask(目前用户新建时的权限)
文件默认没有执行权限
文件 -rw-rw-rw-
目录 drwxrwxrwx
umask 0022 后三位代表要减掉的权限
umask -S 直接显示权限(u=rwx,g=rwx,o=rx)
umask 002 设置默认权限为775 不要数值直接相减
2.文件隐藏属性 chattr,lsattr
chattr [+-=] [ASacdistu] file or dir
a: 只能向文件增加数据,而不能删除也不能修改(如log)
i: 设置文件内容不能被更改,删除
chattr +i file
rm file 无法删除,修改属性后才能删除
chattr -i file
lsattr 显示文件隐藏属性
lsattr [-adR] 文件或目录
-a 包含隐藏文件
-d 若时目录则仅显示目录,不显示文件
-R 子目录数据也列出来
3.文件特殊权限 SUID,SGID,SBIT
SUID /usr/bin/passwd 一般用户无法访问,但是文件中自己的密码可以修改
-rwsr-xr-x s
SGID 有s的用户组为SGID
SBIT 针对目录,拥有目录权限,但是只能删除自己创建的文件,对其他文件则无法修改
SUID:4 SGID:2 SBIT1
chmod 4755 test 4加入具有SUID的权限
chmod u=rwxs,go=x test
chmod g+s,o+s test
4.查看文件类型 file
file filename
四.命令与文件的查询
1.脚本文件名
which command 寻找执行文件
which ifconfig /sbin/ifconfig
2.文件名
whereis 寻找特定文件
whereis [-bmsu] 文件名或目录
b:只找二进制文件
s:只找源文件
locate [-ir] keyword
-i 忽略大小写
-r 可接受正则表达式的显示方式
updatedb 更新查找数据库
find [PATH] [option] [action]
-mtime n n天之前的一天之内被更改的文件
-mtime +n n天之前不含n天本身被更改的文件
-mtime -n n天之内包含n天本身被更改的文件
-newer file 列出比file更新的文件
find / -mtime 0 24h内的文件
find /etc -newer /etc/passwd 找出比passwd更新的文件
find /home -user zhao /home下属于zhao的文件
find / -nouser 不属于任何人的文件
find / -name passwd 找出文件名为passwd的这个文件
find /var -type s 找出该目录下文件类型为Socket的文件
find / -perm 7000 查找文件当中含有SGID或SUID或SBIT的属性
find / -size +1000k 大于1M的文件
find / -perm 7000 -exec ls -l {}\; find的内容保存到{}中,然后再执行ls -l命令
评论暂时关闭