最近学了鸟哥的Linux私房菜基础篇,然后把自己觉得自己用得到的命令,做了一个总结。希望能帮到其他小伙伴们。
这里我对前九章做了一个总结,剩下的等我学习后,在依次进行总结吧。
1.处理目录的指令:
a) cd :变换目录 Change Directory
b) pwd:打印当前目录 Print Working Directory
c) mkdir:建立新目录 make directory (-p创建多级目录:mkdir -p test1/test2/test3/test4,-m 加权限:mkdir -m 711 test)
d) rmdir:删除空目录 (-p 将上级目录中的空文件也删除:rmdir -p test1/test2/test3/test4,-r 将文件下所有文件删除,不论空否:rm -r test)
2.更改权限
a) chmod:改变档案的权限
i.
b) chown:改变档案的拥有者
i. 如果要改变目录A下所有内容的拥有者,使用chown -R 账户名称 档案A
c) chgrp:改变档案所属群组
3.三种身份的三种权限
a) 身份:拥有者、拥有者一个组、其他用户
b) 权限:R(4)、W(2)、X(1)即读写执行三中权限
4.档案的种类:
a) 正规档案(regular file,在ls -al 的时候显示在权限之前的是 -,即[-rwxrwxrwx ])
i. 纯文本档(ASCII)
ii. 二进制文件(Binary)
iii. 数据格式文件(data)
b) 目录(directory,ls -al 显示d,即[drwxrwxrwx])
c) 连接档(link,和Windows下快捷方式类似,ls -al 显示l,即[lrwxrwxrwx])
d) 设备与装置文件(device) [可在在/dev/sda查看]
i. 区块(block)设备档:即硬盘和软盘等。第一个属性显示b
ii. 字符(character)设备文件:即鼠标、键盘等。第一个属性是c
e) 资料接口文件(sockets)[可在/var/run下查看],第一个属性是s
f) 数据传送文件(FIFO,pipe)解决多个程序同时存取一个档案造成的错误问题,第一个属性是p
5.档案管理
a) ls:显示属性
b) cp:拷贝
i. 用法:cp 来源文件 目标文件
c) mv:移动
d) rm:删除
6.档案内容查阅
a) cat:从第一行开始显示档案内容
b) tac:从最后一行开始显示档案内容
c) nl:显示的时候输出行号,包括空白行。
d) more:一页一页的显示档案内容
e) less:和more一样但是可以往前翻页
f) head只看头几行,tail只看尾几行。
g) od:查看非文本档案
7.Umask用户建档或者目录时权限的默认值。
a) 需要注意档案没有x 默认是666
b) 目录有x 默认是777
8.chattr (配置文件案隐藏属性)。用法:chattr [+-=][ASacdistu] 档案或目录名称
9.Lsattr(显示隐藏的属性)。用法:lsattr [-adR] 档案或目录
10.特殊权限:(SUID 值为:4, SGID值为:2, SBIT值为:1):-rwsr-xr-x
a) Set UID:即队档案文件有效即binary program。
i. SUID当s标志出现在档案拥有者的x权限上时,SUID权限仅对二进制程序(binary program)有效;执行者对于该程序需要具有x的可执行权限;本权限仅在执行该程序的过程中有效(run-time);执行者将具有该程序拥有者(owner)的权限。
b) Set GID:即可对档案文件有效,也对目录有效。
i. 对于档案binary program:SGID对二进制程序有用;程序执行者对于该程序来说,需具备x的权限;执行者在执行的过程中将会获得该程序群组的支持!
ii. 对于目录:用户若对于此目录具有 r与x的权限时,该用户能够进入此目录;用户在此目录下的有效群组(effective group)将会变成该目录的群组;用途:若用户在此目录下具有w的权限(可以新建档案),则使用者所建立的新档案,该新档案的群组与此目录的群组相同。
c) Sticky Bit:对目录有效
i. 当用户对于此目录具有w,x权限,亦即具有写入的权限时;当用户在该目录下建立档案或者目录时,仅有自己和root才有权力删除该档案。
d) 如果档案或者目录原本就没有执行的权限,那么显示的就是大写的S和T。
e) 例子:
i. 使用数字:chmod 4755 test;
ii. 使用字母:chmod u=rwxs,go=x test;或者chmod g+s,o+t test;
11.观察文件类型:file name。可以知道某个档案的基本数据
12.whereis (寻找特定档案)
a) whereis和locate是利用数据库来搜寻数据,不用直接在去硬盘当中存取数据。
13.locate [-ir] keyword
a) 选项与参数: -i :忽略大小写的差异; -r :后面可接正轨表示法的显示方式
b) locate 寻找的数据是由『已建立的数据库 /var/lib/mlocate/』 里面的数据所搜寻到的,所以不用直接在去硬盘当中存取数据。
c) 新的档案可能还没有被更新到数据库,因此有可能搜不到,需要手动执行updatedb
d) updatedb:根据/etc/updatedb.conf 的设定去搜寻系统硬盘内的文件名,并更新/var/lib/mlocate 内的数据库档案;
14.find / -perm +7000 -exec ls -l {} \;
a) {} 代表『由 find 找到的内容』,find的结果会被放置到{}位置中;
b) -exec一直到\; 是关键词,代表find额外动作的开始(-exec)到结束(\;),在中间的就是find指令内的额外劢作。在本例中就是『ls -l {}』
c) 因为『;』在 bash 环境下是有特殊意义,因此利用反斜杠来跳脱。
15.一个档案记录的时间参数有三种,分别是access time(atime),status time(ctime),modification time(mtime),ls 默认显示的是mtime。
16.PATH这个环境变量:指定执行文件执行的时候,指令搜寻的目录路径。
17.磁盘与目录容量:
a) df:列出文件系统的整体磁盘使用量;du [-ahskm] 档案或目录名称
b) du:评估文件系统的磁盘使用量(常用在推估目录所占容量)
18.压缩解压指令
a) 压缩:gzip -9 -c man.config > man.config.gz 解压:-d :解压缩的参数;查看:zcat filename.gz
b) gzip和zcat换为bzip2, bzcat
c) tar的指令
i. 压 缩:tar -jcv -f filename.tar.bz2 要被压缩的档案或目录名称
ii. 查 询:tar -jtv -f filename.tar.bz2
iii. 解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录
上面可能看起来不方便,我有PDF文档,需要的话可以去下载。
学习鸟哥的Linux私房菜基础篇总结(上)(0-9章)