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 :将结果打印到屏幕上,这个动作是预设动作!