Linux基础-文件与目录管理

目录与路径

当你在执行命令的时候,跟PATH这个变量有关.

目录的相关操作

比较特殊的目录

.	代表此层目录
..	代表上层目录
-	代表前一个工作目录
~	代表当前用户的家目录
~d	代表d的家目录

mkdir(建立新目录)

➜  ~ mkdir -mp 711 目录名称
# 选项
-m:设置文件权限,直接设置,不使用默认权限
# 对于rmdir的-p参数用于连续删除目录

文件目录管理

ls(文件与目录查看)

➜  ~ ls [optins] 文件或目录
# 选项
-d:列出目录本身,而不是列出目录里的内容
-S:以文件容量大小排序
-h:将文件的容量以可读的方式列出来
-t:依照时间排序
-r:将排序结果反向输出

cp(复制文件或目录)

普通的cp复制到目的目录会改变所属组和所有者(包括时间之类的)

➜  ~ cp  [options] (source) (destination) #也可以多个源一起复制
# 选项
-d:复制链接文件的本身,并不指他链接的文件
-r:递归复制
-a:相当于-dr + --preserve=all
-p:连同文件的属性(权限、用户、时间)一起复制过去,而非使用默认属性
--preserve=all:就是-p参数加上selinux安全属性,扩展属性和符号链接等也会复制
-s:复制成符号链接文件,他只能复制文件
-u:目的比源旧才更新目的,目的不存在也会更新

mv(移动文件与目录,或重命名)

➜  ~ mv [options] source destination #也可以像cp一样复制多个目录
# 选项
-f:强制覆盖
-i:如果目标文件已存在时,就会询问是否覆盖

文件内容查看

nl #查看行号
less #搭配|可以翻上下行,例如:cat /etc/passwd | less
tac #cat反着看

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

文件默认权限:umask

umask就是一个新建立目录或文件的默认权限.

➜  ~ umask #每一个数字都是每种身份减去的权限
002 #在有些linux发行版中是4位,第一位是特殊权限.
➜  ~ umask -S #以符号类型显示权限
u=rwx,g=rwx,o=rx
# 这里不是指umask的默认权限,而是除去umask,文件目录本身的权限
对于文件的默认权限:(-rw-rw-rw)
对于目录的默认权限:(drwxrwxrwx)
➜  ~ umask 002 #想要修改直接赋值就可以了.
# 对于root的umask默认权限是022,普通用户是002

如果想永久修改umask的权限,就看你是想全局配置,还是用户配置.如果是全局的话可以去/etc/profile这个目录里边增加umask 002(对于ubuntu来说就只有3位数字,但是rocky是4位,第一位是特殊权限).如果是用户配置就要去用户的家目录里边找到.bashrc这个文件.

文件隐藏属性

这些隐藏属性对于系统的安全有很大帮助.对于chattr命令只能在ext2、ext3、ext4这些传统linux文件系统上完全生效,其他的文件系统可能无法全部支持这个命令.

chattr(配置文件隐藏属性)

➜  ~ chattr [+-=] [options] 文件或目录

# 选项
# +-=跟chmod一样
a:只能追加文件数据,不能删除和修改文件数据.只有root用户可以设置
i:可以让一个文件不能被删除、改名、设置链接也无法写入或新增数据.只有root用户可以设置
A:不会在更新文件或目录的访问时间
c:会自动将文件压缩,访问自动解压缩.在存储的时候,将会先进行压缩在存储
s:如果文件被删除,无法恢复
u:文件被删除还可以恢复
S:同步写入磁盘,一般来说会先写入缓冲区,在写入磁盘.这个是直接写入磁盘

lsattr(显示文件隐藏属性)

➜  ~ lsattr [options] 文件或目录

# 选项
-a:将隐藏属性也显示出来
-d:如果查看的是目录,只会列出目录本身的权限
-R:递归查询

文件特殊权限:SUID、SGID、SBIT

SUID(Set User ID)

当s这个标志出现在文件拥有者的x权限上时,例如/usr/bin/passwd这个文件的权限:[-rwsr-xr-x].基本上SUID有这样的限制与功能:

  • SUID权限对于可执行程序有效
  • 执行者对于该程序有可执行权限(x)
  • 本权限仅在执行该程序的过程中有效
  • 执行者降具有该程序拥有者的权限
  • 不能应用在目录上
# 只需要记住有SUID的可执行程序,在执行程序的过程中可以短暂拥有所有者的执行权限
➜  ~ chmod u+s filename
➜  ~ chmod u-s filename

SGID(Set Group ID)

在我看来,这两者的主要区别确实在于一个影响用户权限(SUID),一个影响组权限(SGID).

➜  ~ chmod g+s directory_or_file #SGID可以应用在目录上
➜  ~ chmod g-s directory_or_file

SBIT(Sticky Bit)

这个SBIT目前来说,只针对目录有效.SBIT对于目录的作用是:

  • 当用户对于此目录有写入权限(w、x)
  • 当用户在这个目录下建立文件或目录时,仅有自己与root才有权利删除该文件
# 虽说不能删除目录或文件,但可以修改、追加、创建
➜  ~ chmod +t directory
➜  ~ chmod -t directory

对于他们对应的数字(用数字修改权限)

  • 4为 SUID
  • 2为 SGID
  • 1为 SBIT
➜  ~ chmod 4775 filename #4就是特殊权限位
  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值