【鸟哥的linux私房菜-学习笔记】文件与目录管理

绝对路径与相对路径

绝对路径:一定由根目录 / 写起
相对路径:相对于某个目录的路径,不是由/写起

目录的基本操作

cd:变换目录 (change directory)

pwd:显示目前的目录(print working directory)

mkdir:创建一个新的目录

rmdir:删除一个空的目录

pwd -P :显示出真实路径,而不使用link路径

mkdir test:建立名为test的新目录

mkdir -p test1/test2/test3:建立多层目录

mkdir -m 711 test2:设置权限

rmdir:删除空的目录

rm -r test:强制删除目录下的所以东西

rmdir -p test1/test2/test3:连同上层空的目录一起删除

档案的基本操作

cp 来源档 目标档:复制操作(-l:实体链接,-s:符号链接)

rm:删除操作

mv:移动或更名操作
(mv -t 旧名 新名:对目录进行更名操作,去掉参数-t则对档案操作)

显示档案内容

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

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

nl   显示的时候,顺道输出行号!

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

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

head 只看头几行

tail 只看尾巴几行

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

修改文件时间或建置新档: touch

modification time (mtime):
当该文件的『内容数据』变更时,就会升级这个时间!内容数据指的是文件的内容,而不是文件的属性或权限!

status time (ctime):
当该文件的『状态 (status)』改变时,就会升级这个时间,举例来说,像是权限与属性被更改了,都会升级这个时间。

access time (atime):
当『该文件的内容被取用』时,就会升级这个读取时间 (access)。举例来说,我们使用 cat 去读取 /etc/man.config , 就会升级该文件的 atime 了。

touch 这个命令最常被使用的情况是:

创建一个空的文件;
将某个文件日期修订为目前 (mtime 与 atime)

环境变量PATH

PATH(一定是大写)这个变量的内容是由一堆目录所组成的,每个目录中间用冒号(:)来隔开, 每个目录是有『顺序』之分的。

环境变量PATH的好处:
比如执行ls,系统将按照PATH的设定逐个查找ls的可执行文件,所以在任何目录下,我们都可以直接执行ls这个指令。

echo $PATH:查看环境变量。

PATH=’$PATH’:/root –>将/root添加到PATH中

默认权限

创建一个目录或文档时,目录的默认权限是777,文档的默认权限是444。

umask:可用来修改预设权限,其后跟的值是【在默认权限下减去的值】

例子: umask 002 表示在默认权限下拿掉others的w权限(比如文档的权限变为了442)

隐藏属性

lsattr :显示文件隐藏属性

chattr :配置文件隐藏属性

文件特殊权限

SUID

文件具有SUID的特殊权限时,代表当使用者运行这一binary程序时,在运行过程中使用者会暂时具有程序拥有者的权限

例子:
/etc/shadow 是不让一般帐户去存取的(权限为-r——– 1 root root 只有root可以读取并且强制修改),但是普通用户还能够修改这个文件内的密码(即自己的密码), 这就是 SUID 的功能啦!
我们有以下事实:

用户jiange 对于 /usr/bin/passwd 这个程序来说是具有 x 权限的(-rwsr-xr-x),表示jiange能运行 passwd;

passwd的拥有者是 root 这个帐号;

jiange运行 passwd 的过程中,会『暂时』获得 root 的权限;

/etc/shadow 就可以被 jiange 所运行的 passwd 所修改。

但如果 jiange 使用 cat 去读取 /etc/shadow 时不能读取,因为 cat 不具有 SUID 的权限。

SGID

目录具有SGID的特殊权限时,代表使用者在这个目录底下新建的文件之群组都会与该目录的群组名称相同。

SBIT

目录具有SBIT的特殊权限时,代表在该目录下使用者创建的文件只有自己与root能够删除!

SUID/SGID/SBIT 权限配置

如果在之前三个数字之前再加上一个数字的话,最前面的那个数字就代表这几个权限了!

4 为 SUID
2 为 SGID
1 为 SBIT

观察文件类型:file

命令档名的搜寻

搜寻命令的完整档名可用 which 或 type ,这两个命令都是透过 PATH 变量来搜寻档名;

文件档名的搜寻

搜寻文件的完整档名可以使用 whereis 或 locate 到数据库文件去搜寻,而不实际搜寻文件系统;

利用 find 可以加入许多选项来直接查询文件系统,以获得自己想要知道的档名。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值