管理Linux文件与目录--鸟哥私房菜读书笔记

1. cd 目录

几个特殊的目录:

. 代表当前目录 

.. 代表上一级目录 

- 代表前一个工作目弽 

~ 代表『目前用户身份』所在的家目录 

~account 代表 account 这个用户的家目录(account是个账号名称)

2. pwd [-P]

-P :显示出确实的路径,而非使用链接 (link) 路径。

3. mkdir [-mp] 目录名称

-m :配置文件案的权限喔!直接设定,不需要看预设权限 (umask) 的脸色~ 

-p :帮助你直接将所需要的目录(包括上层目录)递归的建立起来!

4. rmdir [-p] 目录名称

-p :连同上层『空的』目录也一起删除

5. ls [-aAdfFhilnrRSt] 目录名称

-a :全部的档案,连同隐藏档( 开头为 . 的档案) 一起列出来(常用)

-A :全部的档案,连同隐藏档,但不包括 . 不 .. 这两个目录

-d :仅列出目录本身,而吧是列出目录内的档案数据(常用)

-f :直接列出结果,而吧进行排序 (ls 预设会以档名排序!)

-F :根据档案、目录等信息,给予附加数据结构,例如: *:代表可执行文件; /:代表目录; =:代表 socket 档案; |:代表 FIFO 档案;

-h :将档案容量以人类较易读的方式(例如 GB, KB 等等)列出来;

-i :列出 inode 号码;

-l :长数据串输出,包括档案的属性和权限等等数据;(常用)

-n :列出 UID 和 GID 而非使用者和群组的名称

-r :将排序结果反向输出,例如:原本档名由小到大,反向则为由大到小;

-R :连同子目录内容一起列出来,等亍该目录下癿所有档案都会显示出来;

-S :以档案容量大小排序,而不是用档名排序;

-t :依时间排序,而不是用档名。

--color=never :不要依据档案特性给予颜色显示;

--color=always :显示颜色

--color=auto :让系统自行依据设定来判断是否给予颜色

--full-time :以完整时间模式 (包括年、月、日、时、分) 输出

--time={atime,ctime} :输出 access 时间或改变权限属性时间 (ctime) 而非内容变更时间 (modification time)

6. cp [-adfilprsu] 来源文件(source) 目标文件(destination)    

cp [options] source1 source2 source3 .... directory

-a :相当于 -pdr 的意思,至于 pdr 请参考下列说明;(常用)
-d :若来源文件为链接文件的属性(link file),则复制链接文件属性而非档案本身;
-f :为强制(force)的意思,若目标档案已经存在但无法开启,则移除后再尝试一次;
-i :若目标文件(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-l :进行硬式连结(hard link)的连结档建立,而非复制档案本身;
-p :连同档案的属性一起复制过去,而非使用默认属性(备份常用);
-r :递归持续复制,用于目录的复制行为;(常用)
-s :复制成为符号链接文件 (symbolic link),亦即『快捷方式』档案;
-u :若 destination 比 source 旧才更新 destination !
最后需要注意的,如果来源档有两个以上,则最后一个目的文件一定要是『目录』才行!

7. rm [-fir] 档案或目录

-f :就是 force 的意忠,忽略不存在的档案,不会出现警告讯息;
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!

8. mv [-fiu] source destination

  mv [options] source1 source2 source3 .... directory

-f :force 强制的意忠,如果目标档案已经存在,不会询问而直接覆盖;
-i :若目标档案 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标档案已经存在,且 source 比较新,才会更新 (update)
如果有多个来源档案或目录,则最后一个目标文件一定是『目录!』

9. basename,dirname 取得路径的文件名和目录名称

10. 档案内容查阅

cat 由第一行开始显示档案内容

tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!

nl 显示的时候,顺道输出行号!

more 一页一页癿显示档案内容

less 不 more 类似,但是比 more 更好的是,他可以往前翻页!

head 只看头几行

tail 只看尾巴几行

od 以二进制的方式读取档案内容!

11.修改档案时间:touch [-acdmt] 档案

-a :仅修订 access time;
-c :仅修改档案的时间,若该档案不存在则不建立新档案;
-d :后面可以接欲修订的日期而不用目前的日期,也可以使用 --date="日期或时间"
-m :仅修改 mtime ;
-t :后面可以接欲修订的时间而不用目前的时间,格式为[YYMMDDhhmm]

12. Linux支持同一行多条命令,命令间用分号(;)隔开

13. umask 档案默认权限 -S 唯一参数

14. chattr [+-=][ASacdistu] 档案或目录名称

+ :增加某一个特殊参数,其他原本存在参数则不动。
- :移除某一个特殊参数,其他原本存在参数则不动。
= :设定一定,且仅有后面接的参数
A :当设定了 A 这个属性时,若你有存取此档案(或目录)时,他的访问时间 atime 将不会被修改,可避免I/O较慢的机器过度的存取磁盘。这对速度较慢的计算机有帮助
S :一般档案是异步写入磁盘的,如果加上 S 这个 属性时,当你进行任何档案的修改,该改动会『同步』写入磁盘中。
a :当设定 a 之后,这个档案将只能增加数据,而不能删除也不能修改数据,只有root 才能设定这个属性。
c :这个属性设定之后,将会自动的将此档案『压缩』,在读取的时候将会自动解压缩, 但是在储存的时候,将会先进行压缩后再储存(看来对于大档案似乎蛮有用的!)
d :当 dump 程序被执行的时候,设定 d 属性将可使该档案(或目录)不会被 dump 备份
i :这个 i 可就很厉害了!他可以让一个档案『不能被删除、改名、设定连结也无法 写入或新增资料!』对于系统安全性有相当大的帮助!只有 root 能设定此属性
s :当档案设定了 s 属性时,如果这个档案被删除,他将会被完全的移除出这个硬盘 空间,所以如果误删了,完全无法救回来了喔!
u :与s 相反的,当使用 u 来配置文件案时,如果该档案被删除了,则数据内容其实还 存在磁盘中,可以使用来救援该档案喔!
注意:属性设定常见的是 a 与 i 的设定值,而且很多设定值必须要身为 root 才能设定

15. lsattr [-adR] 档案或目录

-a :将隐藏文件的属性也秀出来;
-d :如果接的是目录,仅列出目录本身的属性而非目录内的文件名;
-R :连同子目录的数据也一并列出来!

16. 特殊权限SUID,SGID,SBIT

通过chmod [数字|ugo+-st] 文件或目录 设置(4 为 SUID,2为 SGID,1 为 SBIT)

SUID说明:
 SUID 权限仅对二进制程序(binary program)有效;
 执行者对于该程序需要具有 x 的可执行权限;
 本权限仅在执行该程序的过程中有效 (run-time);
 执行者将具有该程序拥有者 (owner) 的权限。

SGID说明
 SGID 对二进制程序有用;
 程序执行者对于该程序来说,需具备 x 的权限;
 执行者在执行的过程中将会获得该程序群组的支持!

SBIT说明
 当用户对于此目录具有 w, x 权限,亦即具有写入的权限时;
 当用户在该目录下建立档案或目录时,仅有自己与 root 才有权力删除该档案

17. 文件查看file 文件名

18. which [-a] command

-a :将所有由 PATH 目录中可以找到的指令均列出,而不止第一个被找到的指令名称

19. whereis [-bmsu] 档案或目录名

-b :只找 binary 格式的档案
-m :只找在说明文件 manual 路径下的档案
-s :只找 source 来源档案
-u :搜寻不在上述三个项目当中的其他特殊档案

20. locate [-ir] keyword

-i :忽略大小写的差异;
-r :后面可接正则表示式的显示方式

21. find [PATH] [option] [action]

1. 与时间有关的选项:共有 -atime, -ctime 不 -mtime ,以 -mtime 说明 -mtime n :n 为数字,意义为在 n 天之前的『一天之内』被改动过内容的档案;
-mtime +n :列出在 n 天之前(不含 n 天本身)被改动过内容的档案档名;
-mtime -n :列出在 n 天之内(含 n 天本身)被改动过内容的档案档名。
-newer file :file 为一个存在的档案,列出比 file 还要新的档案档名

2. 与使用者或组名有关的参数:
-uid n :n 为数字,这个数字是用户的账号 ID,亦即 UID ,这个 UID 是记录在 /etc/passwd 里面与账号名称对应的数字。
-gid n :n 为数字,这个数字是组名的 ID,亦即 GID,这个 GID 记录在 /etc/group。
-user name :name 为使用者账号名称喔!
-group name:name 为组名喔,例如 users ;
-nouser :寻找档案的拥有者不存在 /etc/passwd 的人!
-nogroup :寻找档案的拥有群组不存在于 /etc/group 的档案!
当你自行安装软件时,很可能该软件的属性当中并没有档案拥有者, 这是可能的!在这个时候,就可以使用 -nouser 不 -nogroup 搜寻。

3. 与档案权限及名称有关的参数:
-name filename:搜寻文件名为 filename 的档案;
-size [+-]SIZE:搜寻比 SIZE 还要大(+)或小(-)的档案。这个 SIZE的规格有: c: 代表 byte, k: 代表 1024bytes。所以,要找比 50KB 还要大的档案,就是『 -size +50k 』
-type TYPE :搜寻档案的类型为 TYPE 的,类型主要有:一般正规档案 (f), 装置档案 (b, c), 目录 (d), 连结档 (l), socket (s), 及 FIFO (p) 等属性。
-perm mode :搜寻档案权限『刚好等与』 mode 的档案,这个 mode 为类似 chmod 的属性值,举例来说, -rwsr-xr-x 的属性为 4755 !
-perm -mode :搜寻档案权限『必须要全部囊括 mode 的权限』的档案,举例来说, 我们要搜寻 -rwxr--r-- ,亦即 0744 的档案,使用 -perm -0744, 当一个档案的权限为 -rwsr-xr-x ,亦即 4755 时,也会被列出来, 因为 -rwsr-xr-x 的属性已经囊括了 -rwxr--r-- 的属性了。
-perm +mode :搜寻档案权限『包括任一 mode 的权限』的档案,举例来说,我们搜寻 -rwxr-xr-x ,亦即 -perm +755 时,但一个文件属性为 -rw------- 也会被列出来,因为他有 -rw.... 的属性存在!

4. 额外可进行的动作:
-exec command :command 为其他指令,-exec 后面可再接额外的指令来处理搜寻到的结果。
-print :将结果打印到屏幕上,这个动作是预设动作!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值