鸟哥的linux私房菜 第6章

本文解析了文件和目录的组织结构,讲解了PATH环境变量的作用,文件权限设置(umask),以及常用的操作如cd、mkdir、rm、cp、mv等。重点探讨了目录权限、链接类型、文件属性管理和各种技术细节,适合IT专业人士参考。
摘要由CSDN通过智能技术生成

所有的文件都有.和..包括根目录。

-上一个目录 .当前目录   .. 上一层目录  

~当前用户的家目录  ~accout accout的家目录

PATH文件路径变量:

PATH: /usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin/:/home/name/.local/bin:/home/name/bin

有一定顺序在里面,执行找到的第一个命令。

添加路径: PATH="${PATH}:/root"

PATH:提示1.本路径不要放在PATH当中。

2.PATH对于不同用户是不同的

3.PATH是可以修改的

mtime 文件内容修改时间

ctime 权限修改时间。 cp -a 会修改ctime时间

atime 文件的最近一次读取时间

umask 代表默认权限去除的权限。有4位数,后三位是权限

umask 默认对目录是0022,对文件是0002

umawk 002 修改权限为0002

文件默认权限:-rw-rw-rw-

目录默认权限:-rwxrwxrwx

代码:

su - 进入root用户

su - name 进入name用户

cd :切换目录

cd - 回到上一个目录

cd ~回到家目录 和 cd 等价

cd ..回到上一层目录

pwd 显示当前目录

pwd -P 显示真实路径,而不是链接的路径

mkdir创建目录

mkdir -p 一层一层创建目录

mkdir -m 设置目录权限 否则是默认权限umask

rmdir 删除目录

rmdir 智能删除没有文件的目录

echo 打印

${PAHT}其中$表示的是变量

test* 输出test开头的文件

mv 源文件 目标目录

ls 操作:

ls -l 查看详细信息

ls -a 查看所有文件和目录

ls -d 仅列出目录本身,而不列出目录中的数据

文件权限和类型  硬链接的文件总数(包括自己)  所有者  用户组  文件容量  修改时间   文件名  -> 代表链接到的地方

rm 删除操作

rm -i 删除操作,在每一次删除前进行询问

rm -I 对于少于3个文件等情况下,不询问,多于是询问。

rm -r 目录删除

rm -f 忽略不存在的文件,全部删除

在root权限下,rm -r会默认带着-i操作.如果不想询问则  \rm

如果文件名当中带有-,可以使用./来表示文件,防止误判

cp 复制,创建连接文件,更新文件,复制整个目录。

-i 文件存在,询问是否继续复制

-p 文件的属性也一同复制,没有权限的部分不能复制。比如用户名和用户组。

-r 递归复制,用于目录复制

-a复制更多的信息包括links.xattr等属性。 但是如果你对文件没有所有的权限,也不能复制完整的权限。

-s 软链接,快捷方式,只记录地址。符号链接

-l 硬链接,复制内容过来,且在后续的修改源文件时,硬链接文件也会修改。而删除源文件硬链接文件不会删除。硬链接文件属于常规文件,不是链接文件。

复制操作会更改权限和所有用户。

链接文件有自己的大小,并且软链接通常拥有所有的权限。

mv 移动文件或目录

-f 强制移动

-i 询问移动

-u 判断目标文件是否更新

mv : 可以进行重命名

操作中:通常默认最后的是目录,前面的文件可以有多个。 

basename 取得最后的文件名

dirname 取得最后的目录名

rename expression replacement file : 将文件名中的expression转换成replacement

文件读取:(tail,head,less,od 即可)

od 二进制方式读取文件内容

cat 顺序读取 tac 倒叙读取

more 按页读取

less 按页,但可向前翻页

nl 显示的时候,输出行号

head 读前面多少行   head -n 20

head -n -20  后面20行不读

tail 多后面的多少行 tail -n 20   

tail -n +20  前面20行不读

tail -f  可以一直刷新,知道俺ctrl + c停下

cat -n 显示所有行号  -b 只显示非空行号

nl 对行号有很多操作

tac 是将内容反过来打印出来

more 命令行输入  :f   显示当前行号   /字符串  查找

|管道操作  ,让上一个语句输出的值,在下一个语句中使用.

head -n 20 1.txt | tail -n 10

显示11到20行的数据 

od 二进制方式读取文件内容

od [-t TYPE] 文件

c ASCII除数

a 默认输出

d[size]  10进制输出,size表示多少个字节组成一个

f[size] 浮点数

o[size]  8进制数

x[size] 16进制数

od -t cC 文件

其中C是sizeof(char)

echo 输出相应的信息

echo password 输出password字符串

 BASH代码:一行当中可以有多个代码,但要使用;分隔。

touch 自定义文件时间

-t和-d自定义时间:不会修改ctime的时间。

ll 代表 ls -l

 文件:

/etc/bashrc 其中装有umask的默认值.

隐藏属性:

chattr
chattr -aAidS

-a 只允许写

-i 什么都不允许操作

-A 进制修改atime时间

-d dump备份的时候,不备份当前文件

-S 直接写入磁盘

lsattr显示隐藏属性
-R 显示所有子目录的隐藏属性

-a 显示隐藏文件的属性

-d 只显示当前目录属性

特殊属性:SGID,SUID,SBIT分别是4,2,1,对应---s--s--t。对于其中的S和T分别意味着没有x执行权限,但是又设置了特殊属性。

特殊属性的是指也是使用chmod进行设置。

SUID:

1. 针对二进制文件

2. 必须具有x权限

3.在执行的过程当中会获得用户的权限。

 SGID:

对文件时:和SUID一样

对目录时:用户需要具有rwx才会生效,因为进入目录后用户的用户组会变成当前目录的用户组,在其中创建程序的时候其用户组会是当前用户组。

文件的用户,用户组,其他没有必然联系。

SBIT只针对目录:()

SBIT使得用户只能对自己创建的文件进行w权限操作。

file 观察文件类型:

可以看到文件的类型,是否使用了动态链接库,使用的压缩方式。 

查找指令:which和type

which是在PATH当中查找。which会列出指令的别名情况。

which -a 列出所有的同名指令

type会查找bash当中的指令。 

指令并不都是在PATH路径当中,还有一部分指令是bash提供的。如history

whereis  locate find

whereis 只查找特定目录下的文件

locate 查找数据库当中的文件。数据库是/var/lib/mlocate数据库

locate操作不需要完整的文件名.

updatedb更新数据库 调用/etc/updatedb.conf配置文件,然后在磁盘中进行更新。

find全盘查找:

时间查找:

-atime n  n天到n+1天

-atime +n  n+1天开始不包含n

-atime -n n天之前

-uid 所有者id

-gid 用户组id

-user name 所有者

-group name 用户组名

-nouser  :所有者在/etc/passwd中没有

-nogroup : 用户组在/etc/group中没有

出现这种情况:1.网上下载的东西 。 2.清除用户后,忘记删除其创建的文件。

对于ls -l 中所有的属性都可以进行查找 

-name 文件名查找

-type 类型查找

-size [+-]SIZE:  +比SIZE大,-比SIZE小,单位是BYTE。

-perm mode  完全匹配

-perm -mode 拥有mode的所有权限

-perm /mode 拥有mode中的某一个权限.

特殊操作:-exec   command \;   可以执行command额外命令。在其中对于之前的结果要使用{}引用。

习题中的代码:

groupadd 添加新用户组

useradd -G pro aaa 添加新用户aaa且给用户添加pro用户组

id aaa  查看用户 

实际情况下,在一个团队进行编写项目的时候,如果对目录设置为0770这样会导致,团队中自己创建的文件只有自己能看,别人用不了。但是如果使用GUID的特殊权限,则团队中的其他人对文件也会有r的权限。为什么是r的权限?是因为默认的权限是666,而umask默认是0002,所以此时的权限是664,只有r的权限。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值