8. Linux 文件与目录管理

cd : change directory
pwd  -P :显示路径,而非使用连接路径 ,print work directory
mkdir [-mp] : -p创建多级目录,-m 权限,make directory
rmdir

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

不同身份用户默认的path不同,默认执行的命令也不同
path可以修改
使用绝对路径或者相对路径指定执行某个命令,比查询path更快
本目录(.)最好不要放在path下

文件与目录管理

ls :
   -a :所有文件,包含隐藏目录
   -A : 不包含隐藏目录
   -f : 不排序,-a默认会按文件名排序
   -i : 列出 inode 节点
   -l : 
   -t : 按时间排序
   --full-time
   --time=[ctime,atime]

复制,删除与移动:cp,rm,mv

cp  [选项] 源文件  目标文件 :
     -a : 所有属性一起复制,包括所有者
     -f : 强制
     -i : 目标文件存在,先询问
     -r : 递归持续复制,
     -p : 连同文件属性一起复制
     -l : 硬连接
     -s : 软连接
     -u : 有差异才复制

这里写图片描述
这里写图片描述

硬连接:inode 不一样

这里写图片描述

rm [-rfi] 文件或者目录
    -f : force 强制
    -i : 互动模式,先询问
    -r : 递归删除
mv [-fiu] source destination
    -f : 强制
    -i:询问
    -u : update

mv 文件1 文件2  文件3  //将1,2移动到3,最后一个是destination

文件查阅

cat [-AbEnTv] : 
    -n : 显示出行号,空白行也有行号
    -E : 结尾显示 $

tac : 与cat 相反
nl 
more :
    空格,往下翻一页
    b ,往上翻一页
    :f 显示行号
less :

数据选取

head : 
    -n 20 前面20    -n -100  不显示最后100
tail :
     -n 20 后面20     -f 
     -n +100 不显示前面100
显示 10  行到 20 行
head -n -20 文件名 | tail -n 10
读二进制文件:

od [-t TYPE] 文件:
    -t 后面可以接各种输出类型:
        -a : 默认字符
        -c : ascii 字符输出
        -d : 10进制
        -f : 浮点数
        -o : 8进制
        -x :16 进制

修改文件时间或者创建新的文件

mtime(modification time) :该文件的内容数据修改时,就会更新这个时间。内容数据指的是文件数据,而不是文件的属性或者权限
ctime (status time): 该文件的状态改变时,就会更新这个时间。权限和属性 
atime(accetime time) : 当该文件的内容被取用时,就会更新这个时间。

ls --time=atime
ls --time=ctime
ls  默认为mtime


touch [-acmdt] 文件
    -a  仅修改访问时间
    -c  修改文件时间,若不存在则不创建新文件
    -m  修改 mtime
    -d  后面可以接欲修改的日期,也可以用 --date = '日期'
    -t  接欲修改的时间

这里写图片描述


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

文件的默认权限: umask,目前用户在新建文件或者目录时的权限默认值
umask 
umask -S

一般文件的创建没有执行权限,所有事 rw,即 6 。
umasm 指的是拿掉的权限,
所以, 0002
指的是拿掉 other 的 w权限

这里写图片描述

umask 002   //修改 umask

文件的隐藏属性 chattr,lsattr

chattr [+-=][ASadistu] 文件或者目录
    + : 增加某个参数
    - : 减去某个参数
    = : 仅有后面的参数
    A : 当设置了A属性,访问时间 atime 将不会被修改
    S : 一般文件为异步写入,加上 S 为同步写入
    a : 设置 a 后,这个文件只能增加数据,不能删除也不能修改数据,只有root才能设置这个属性
    i : 它可以让一个文件不能被删除,改名,设置连接也无法写入数据

这里写图片描述
这里写图片描述


文件的特殊权限 SUID, SGID, SBIT

Set UID : s 出现在 x 的位置

 1. SUID 权限仅对二进制程序有效
 2. 执行者对该程序具有 x 权限
 3. 本权限仅在程序执行该程序的过程中有效
 4. 执行者将具有该程序的所有者权限

/etc/shadow
passwd 将临时具有 root 权限

这里写图片描述

Set GID : s 在组权限的x 位置

 1. SGID 对二进制程序有用
 2. 程序执行者对该程序来说,具有 x权限
 3. 执行者在执行的过程中将获得该程序用户组的支持

这里写图片描述


Sticky Bit : SBIT

 将A目录加上SBIT 权限后,甲只能针对自己创建的文件或者目录进行删除,重命名,移动等操作,而无法删除其他人的文件
设置:
SUID  4
GUID  2
SBIT  1

-rwsr-xr-x,由于s在用户权限中,所以是SUID,因此在原先755之前还要加上 4 ,chmod 4755 filename

SUID不是用在目录, SBIT 不是用在文件上的

查看文件类型

file 文件或者目录

这里写图片描述


命令与文件的查询

脚本文件名的查询:
which  寻找执行文件,根据 PATH 查询的

这里写图片描述

文件名的查找:

whereis [-bmsu] 文件或者目录
    -b :找二进制文件
    -m : 只找在说明文件manual路径下的文件
    -s : 只找 source 文件
    -u : 查找不在上述3个选项中的其他特殊文件

whereis ,locate 比  find 快,因为 linux 会将所有文件记录在一个数据库文件里面,而当使用Whereis ,locate 时,会以此数据库文件的内容为准。find 查找硬盘。

locate [-ir] keyword
    -i : 忽略大小写
    -r : 正则表达式

updated //更新数据库
find [path] [option] [action]

1.与时间有关的参数,-atime,-ctime,-mtime
    -mtime n  : 在 n 天之前的一天内被修改的文件
    -mtime +n  :列出在 n 天前被修改的文件名
    -mtime -n  : 列出在n天之内被修改的文件
    -never file : 列出比 file 还要新的文件

将过去系统上24小时内有改动的文件列出:
find / -mtime 0 // 0表示当前时间

find / -mtime 3 //3天前的24小时内

find /etc -newer /etc/passwd // /etc下面,比/etc/passwd新的就列出
2.与用户有关的参数
 -uid n : n 为 uid
 -gid n : n 为 gid
 -user name : name 为用户账号名称
 -group name : 用户组名
 -nouser
 -nogroup

find /home -user hua //查找 /home 下用户为hua的文件

find / -nouser 
3.与文件权限及名称有关的参数
 -name filename : 查找文件名为 filename 的文件
 -size [+-] SIZE : 查找SIZE 大(+)或者小(-)的文件。这个SIZE有规格: c 表示 byte, k 表示 1024byte ,
 -type TYPE : 查找文件类型为 TYPE的,一般正规文件(f),设备文件(b,c),目录(d),连接文件(l) ,socket(s),FIFO(p)
 -perm mode :查找文件属性刚好等于 mode
 -perm -mode : 必须包含
 -perm +mode : 包含任一 mode 权限

find / -name passwd
find /var -type s
find / -perm +7000
4.其他参数
 -exec command : command 为其他命令,-exec 后再接其他命令处理找到的结果
 -print : 将结果打印到屏幕上

find / -name passwd -exec ls -l {} \;
{} 代表 由 find 找到的内容;
-exec" \; " 是关键字,代表find额外的命令的开始(-exec)到结束(\;),在这中间就是find 命令内到额外命令,本例中就是 ls -l {}
因为 ; 在 bash 环境下有特殊意义,所有需要转意 \;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值