第六章、Linux 文件与目录管理

6.1 目录与路径

6.1.1 相对路径和绝对路径

  • 绝对路径:根路径/写起,例如:/usr/share/doc
  • 相对路径:不是从根路径/写起,例如:从/usr/share/doc 要到 /usr/share/man 底下时,写cd…//man。相对路径指的是相对于目前工作的路径

一、相对路径的用途
输入指令的时候
例如:/cluster/raid/output/taiwan2006/smoke
到:/cluster/raid/output/taiwan2006/cctm
只需要写成cd…/cctm就可以
二、绝对路径的用途
写程序的时候避免错误

6.1.2 目录的相关操作

一、特殊目录
. 代表此层目录
… 代表上一层目录
-代表前一个工作目录
~ 代表『目前用户身份』所在的家目录
~account 代表 account 这个用户的家目录(account是个账号名称)

二、一些指令
cd :变换目录(change directory)
pwd :显示当前目录(print working directory)
mkdir :建立一个新的目录(make directory)
rmdir :删除一个空的目录(remove)

6.1.3 关于执行文件路径的变量:$PATH

执行echo $PATH命令
echo表示打印命令,美元符号表示后面接的是变量,Path表示变量
输出:PATH变量
例如:ls命令,在/bin目录下,/bin目录设置在了环境变量Path中

6.2 文件和目录管理

6.2.1 文件和目录的查看:ls

6.2.2 复制、删除和移动:cp,rm,mv

6.2.3 取得路径的文件名和目录名称

在这里插入图片描述

6.3 文件内容查阅

cat 由第一行开始显示文件内容
tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
nl 显示的时候,顺道输出行号!
more 一页一页的显示 文件 内容
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
head 只看头几行
tail 只看尾巴几行
od 以二进制的方式读取以二进制的方式读取文件文件内容!内容!

6.3.1 直接检视文件内容

cat
tac
nl

6.3.2 可翻页检视

more /etc/man.db.conf 只能往后翻页显示
less /etc/man.db.conf 可以往前往后翻页显示

6.3.3 资料撷取

head -n 20 /etc/man.db.conf 显示前面20行,不加参数默认是10行
tail -n 20 /etc/man_db.conf 显示最后面的20行

6.3.4 非纯文本档:od

od -t c /usr/bin/passwd 使用ASCII方式输出二进制文件

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

ls指令的三个选项:
ls --time=mtime /etc/man_db.conf 列出文件更改内容时间(modification time)
ls --time=ctime /etc/man_db.conf 列出文件更改属性和权限时间(status time)
ls --time=atime /etc/man_db.conf 列出文件被取用时间(access time)

touch指令:让文件变成现在的时间

6.4 文件与目录的默认权限与隐藏权限

6.4.1 文件预设权限:umask

umask的作用:通过设定umask的值,减去umask的权限得到文件权限。
例如:umask值为022,test.txt文件的权限是666,即:drwxrwxrwx
执行umask test.txt后,test.txt的权限就变成了644,即:drwxr-xr-x

6.4.2 文件隐藏属性

指令chatttr [±=选项] 文件或目录
例如:chaattr +a test.txt 表示对文件增加隐藏权限a,该权限只能增加数据,不能删除和更改文件数据。还有属性i表示不能增加更改删除数据
指令lsattr表示查看文件隐藏权限

6.4.3 文件 特殊权限:SUID, SGID, SBIT

一、SUID
SUID(Set UID)体现在替换ower执行权限x为s:-rwsrwxrwx
SUID限制和功能:

  • SUID 权限仅对二进制程序 (binary program)有效,不能用在shell script;
  • 执行者对于该程序需要具有 x 的可执行权限;
  • 本权限仅在执行该程序的过程中有效 (run time)
  • 执行者将具有该程序拥有者 (owner) L的权限。
  • 在这里插入图片描述

举例:比如用户zhaojialu对/etc目录下的shadow文件权限有-rwsrwxrwx
,即在执行权限x的基础上多一个s权限,用户zhaojialu就能够对shadow进行特殊执行

二、SGID

SGID体现在替换group执行权限x为s:-rwxrwsrwx
SGID功能:

  • SGID 对二进制程序有用;
  • 程序执行者对于该程序来说,需具备 x 的权限;
  • 有权限通过群组来执行群组内的其他程序

举例:比如用户zhaojialu通过/usr/bin/locate对/var/lib/mlocate/mlocate.db文件内容访问,locate的权限是-rwx–s--x,所属群组是slocate,zhaojialu可以有权限通过mlocate.db的群组slocate来访问mlocate.db内容

SGID还能用在目录上面,功能:

  • 用户若对于此目录具有 r 与 x 的权限时,该用户能够进入此目录;
  • 用户在此目录下的有效群组 (effective 将会变成该目录的群组;
  • 用途:若用户在此目录下具有 w 的权限 可以新建 文件 )),则使用者所建立的新文件 ,该新文件的群组与此目录的群组相同。

三、Sticky Bit
该权限只对目录有效
SBIT作用:
没有加入SBIT情况下,用户可以对自己所属的群组的其他用户的文件进行增删改操作
对文件夹加入SBIT权限,只有用户自己和root能够删除和增加自己所建立的文件,不能增删改其他用户的文件。

例如:
/tmp文件权限是drwxrwxrwt,用户自己和root只能针对自己增加的文件进行增删改操作,对其他登录用户的文件无权操作。

6.4.4 观察文件类型: file

指令file:观察文件类型

6.5 指令与文件的搜寻

6.5.1 脚本文件名的搜寻

指令which command

6.5.2 文件档名的搜寻

whereis只找系统特定目录中的文件,locate利用数据库来查找文件,速度较快,find搜索全盘,速度最慢

例如:whereis ifconfig以及locate -l 5 passwd
locate已经建立的数据库存在于/var/lib
/mlocate,数据库每天更新一次,手动更新数据库命令:updatedb

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值