Linux学习:鸟哥的私房菜---第6章 Linux文件与目录管理

本文全面介绍了Linux系统中常用的文件和目录操作命令,包括路径管理、文件查看、数据截取等,详细解析了SUID、SGID及SBIT权限,适合初学者快速掌握Linux基本操作。

注:以下内容是个人学习总结,请尊重原作者版权,详情请看—《鸟哥的Linux私房菜-基础学习篇(第四版)》
1、相对路径和绝对路径
相对路径:从当前工作目录开始
绝对路径:从"/"开始

2、处理目录命令:cd、pwd、mkdir、rmdir
cd:切换工作目录
pwd:显示当前的工作路径
mkdir:创建目录
rmdir:删除空目录

3、文件于目录的查看:ls
选项:-a、-d、-l

4、复制文件或目录:cp
选项:-a、-i、-p、-r

5、删除文件或目录:rm
选项:-f、-I、-r

6、移动文件和文件重命名:mv
选项:-f、-u、-i

7、获取路径的文件名和目录命:basename、dirname
获取文件名:basename
获取目录命:dirname

8、文件查看:cat、more、less、od
cat:直接查看文本
选项:-n
more:只能向下翻页查看文本内容
/字符串:向下查找字符串
b:回翻
less:可以向上向下查看文本内容
/字符串:向下查找
?字符串:向上查找
od:非纯文本文件

9、数据截取:head、tail
head:从开始截取
选项:-n
tail:从尾部开始截取
选项:-n

10、创建文件touch
说明:touch这个命令是通过改变时间戳来进行的创建
这里有三个时间:
修改时间(mtime):内容发生改变时,这个时间会变
状态时间(atime):文件权限发生改变随之而变
读取时间(ctime):如cat读取文件则会改变
选项:-a、-c、-d、-m、-t

11、文件隐藏属性:
lsattr:显示文件隐藏属性
chattr:设置文件隐藏属性,通过+,-来设置权限
chattr选项:a、i

12、文件默认权限:umask
说明:默认权限是通umask码来设置的
文件的默认权限:666
目录的默认权限:777
通过文件或目录的默认权限减去umask码
(当然umask码会显示4个数字:0022,比如这样的,第一个数字权限为SUID和SGID,后面有所介绍)
选项:-s

13、***SUID和SGID、SBIT(仅用于目录)的介绍:
上面说到这两个特殊的权限,先说明:SUID为4、SGID为2、SBIT为1
SUID的限制:
**

  • 执行者要对这个文件有执行权限;
  • SUID权限仅对二进制程序有效
  • 本权限只在执行的过程中有效
  • 执行者将具有程序拥有者的权限
    **
    例如:
    大家都知道如果想修改密码就必须对/etc/shadow这个文件作出修改,这个文件只有root才能够修改,当然普通用户修改密码也会写入到/etc/shadow这文件,那么为什么普通用户又有权限对自己的密码进行修改呢(可以有权限修改/etc/shadow这个文件)?
    来看看/etc/shadow的权限:在这里插入图片描述
    再来看看/usr/etc/passwd文件的权限:
    在这里插入图片描述
    你会发现一个s在里面,那就对了。这个就是SUID
    /bin/cat文件的权限:
    在这里插入图片描述
    这里没有任何的特殊权限,重点来了:对于/usr/etc/passwd这个文件来说,文件的属主有个特殊权限为SUID,而你是属于其他人,对这个文件只有执行权限,但是因为有SUID特殊权限所以你在执行/usr/bin/passwd改密码时会暂时获得/usr/etc/passwd文件属主的权限,属主是root,所以你在执行改密码的时候就会获得root的权限,而root的权限可以对/etc/shadow进行修改,也就是这样/etc/shadow里面关于用户密码也就更新了。(usr/bin/passwd和/etc/shadow里面都有关于用户密码的信息。)
    同理,为什么普通用户不能查看etc/shadow里面的内容,因为对于/bin/cat这个执行文件没有SUID特殊权限。而查看/etc/shadow内容也只有root可以做到。
    SGID的限制:
  • SGID对二进制程序有用
  • 执行者对于该程序来说要有x权限
  • 执行者在执行过程中获得该程序用户组的支持
    以这两个文件来说明/usr/bin/locate /var/lib/mlocate/mlocate.db
    在这里插入图片描述
    这个和SUID非常相似,如果使用一个普通用户来执行/usr/bin/locate则它会取得slocate的所属组的身份,从而就可以查看/var/lib/mlocate/mlocated.db
    这个在所属组上面的s就是SGID;
    SGID也可以对目录有效
  • 用户若对此目录有x和w权限时,该用户可以进入该目录
  • 用户在此目录下的有效用户组则会变成该目录的用户组(注意此用户并没有获得用户组的权限)
  • 此目录的用户组下有w权限,那么这个用户创建文件的属组也是该目录的属组
    SBIT的限制
  • 当用户对于此目录有w、x权限时,既有写入的权限
  • 当用户在该目录下面创建文件或目录时,只有root和本人才能对自己的文件和目录进行删除
    在这里插入图片描述
    t则是SBIT特殊权限。

14.文件类型:file 后接文件

15.脚本文件的查找:which
which是根据定义的PATH环境变量来查找
通过which可以获得命令的完全路径,如 which ls

16.文件的查找:whereis,locate/updatedb,find
whereis:有一些特定文件目录来查找文件
选项:
-l,-b,-m,-s,-u
-l:主要查找的几个目录

locaet/updatedb:
该命令是通过文件数据库(datedb)来查找文件
手动更新数据库:uodateup

  • updatedb:根据/etc/updatedb.conf的设置去找系统磁盘,并且更新/var/lib/mlocate数据库文件
  • locate:依据/var/lib/mlocate内的数据库记录,来查找文件

find:
这个命令比前面两个查找速度都慢,因为它是直接遍历磁盘来查找,会消耗一定的资源
用法:find PATH 选项
命令比较强大,可以通过man手册来获取帮助
(几个小选项:-gid,-uid,-name,-size,-perm)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值