你的位置:首页 > 操作系统

[操作系统]Linux学习之三——操作档案与目录


一. 目录文档操作指令

1. pwd 显示目前所在目录

如果加上-P 的选项,则取得正确的目录名称,而不是以链接文件的路径来显示。 例如CentOS下,刚刚好/var/mail是/var/spool/mail的连结档

 

2. cd 变更工作路径

可以使用绝对路径和相对路径。

另外还有如下几种特别的路径代表方式:

1) . 代表此层目录

2) .. 代表上一层目录

3) - 代表前一个工作目录

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

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

 

3. ls 列出目录下的目录和档案

选项与参数:

-a :全部档案,包括隐藏档案一起列出

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

-d :仅列出目录

-f :直接列出结果,而不进行排序 (默认会以档名排序!)

-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 时间或改变权限属性时间,而非内容变更时间。

 

4. mkdir 建立新目录

选项和参数:

-m :配置文件夹权限,权限用三位0到7之间的数字组成。

-p :直接建立多层目录,如: mkdir -p test1/test2/test3

5. rmdir 删除空目录

选项和参数:

-p: 直接删除多层空目录,如: rmdir -p test1/test2/test3

 

6. cp 复制档案或目录

用法

1) cp 选项 源文件 目标文件

2) cp 选项 source1 source2 source3 .... directory

选项与参数:

-a :相当于 -pdr 的意思;

-d :若源文件为链接文件,则复制链接文件而非档案本身,默认复制链接文件时会将链接到的源文件复制过来;

-f :为强制复制,若目标档案已经存在无法复制,则移除后再尝试一次;

-i :若目标文件已经存在,在覆盖时会先询问动作的进, CentOS7默认询问

-l :进行硬式连结(hard link)的连结档建立,而非复制档案本身;

-p :连同档案的属性一起复制过去,而非使用默认属性(备份常用);

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

-s :复制成为符号链接文件 (symbolic link快捷方式);

-u :若 destination 比 source 旧才更新 destination。

 

7. rm (移除档案或目录)

可删除非空目录,删除时可使用通配符,例如b*代表b打头的所有文件.

删除-打头的档案,因为-会被误解为选项,如rm -aaa,

可以改为rm ./-aaa,或者rm -- -aaa

选项与参数:

-f :就是 force 的意思,忽略不存在的档案,不会出现警告讯息;

-i :互动模式,在删除前会询问使用者是否动作。

-r :递归删除

 

8. mv (移动档案与目录,或更名)

用法

1) mv 选项 source destination

2) mv 选项 source1 source2 source3 .... directory

-f :force 强制的意思,如果目标档案已经存在,不会询问而直接覆盖;

-i :互动模式,询问是否覆盖

-u :若目标档案已经存在,且 source 比较新,才会更新 (update)

 

9. basename 取得路径的文件名

 

10. dirname 取得路径的目录名

 

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

选项与参数:

-A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已;

-b :列出行号,空白行不标行号!

-n :列出行号,连同空白行也会有行号

-E :将结尾的断行字符 $ 显示出来;

-T :将 [tab] 按键以 ^I 显示;

-v :列出一些看不出来的特殊字符


12. tac 从最后一行开始倒着显示


13. nl 显示的时候,输出行号

选项与参数:

-b :指定行号指定的方式,主要有两种:
-b a :表示空行也同样列出行号(类似 cat -n);

-b t :表示空行不列出行号(默认);

-n :列出行号的表示方法,主要有三种:

-n ln :行号在屏幕的最左方显示;

-n rn :行号在自己字段的最右方显示,且不加 0 ;

-n rz :行号在自己字段的最右方显示,且加 0 ;

-w :行号字段占用的位数。


14. more 用于浏览大文件,一页一页的显示档案内容

在用该命令开始浏览时可用下面的按键进行互动:

1) 空格键 (space):代表向下翻一页;
2) Enter :代表向下翻一行;
3) /字符串 :代表向下搜寻『字符串』这个关键词, CentOS7下不好用
4) :f :立刻显示出文件名以及目前显示的行数;
5) q :代表立刻离开 more ,丌再显示该档案内容。
6) b 或 [ctrl]-b :代表往回翻页,不过只对档案有用,对管线无用。


15. less 与 more 类似,但是功能更强大好用!

在用该命令开始浏览时可用下面的按键进行互动:

1) 空格键 :向下翻一页;
2) [pagedown]:向下翻一页;
3) [pageup] :向上翻一页;
4) /字符串 :向下搜寻『字符串』的功能;
5) ?字符串 :向上搜寻『字符串』的功能;
6) n :重复前一个搜寻 (与 / 或 ? 有关!)
7) N :反向重复前一个搜寻 (与 / 或 ? 有关!)
8) q :离开 less 这个程序;


16. head 只看头几行

选项与参数:

-n :后面接数字,代表显示几行的意思


17. tail 只看尾巴几行

选项与参数:

-n :后面接数字,代表显示几行的意忠

-f :表示持续侦测档案,当档案有数据写入时就立刻显示到屏幕上,直到按下[ctrl]-c结束tail的侦测

 

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

 选项与参数:

-t :后面可以接各种『类型 (TYPE)』的输出,例如:

  a :利用默认的字符输出;

  c :使用 ASCII 字符输出

  d[size] :利用十进制(decimal)输出数据,每个整数占用 size bytes ;

  f[size] :利用浮点数(floating)输出数据,每个数占用 size bytes ;

  o[size] :利用八进制(octal)输出数据,每个整数占用 size bytes ;

  x[size] :利用十六进制(hexadecimal)输出数据,每个整数占用 size bytes ;

 

19. touch 修改档案时间

选项与参数:

-a :仅修订 access time;

-c :仅修改档案的时间,若该档案不存在则不建立新档案;

-d :后面可以接修订的日期而不用目前的日期,也可以使用 --date="日期或时间"

-m :仅修改 mtime ;

-t :后面可以接修订的时间而不用目前的时间,格式为[YYMMDDhhmm]

 

 

二、目录和文档的搜寻

1. which 寻找指令文件位置,只找PATH参数定义的位置。

which [-a] command

选项或参数:

-a :列出所有指令,默认只列第一个被找到的指令位置。

 

2. whereis 用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s),利用数据库搜

whereis [-bmsu] 档案或目录名

选项与参数:

-b :只找 binary 格式的档案

-m :只找在说明文件 manual 路径下的档案

-s :只找 source 来源档案

 

 

3. locate 根据档案的部分名称(路径部分包含也算)来搜寻,利用数据库搜,一般可能一天更新一次数据库,如果等不及可以直接用updatedb来更新数据库。

locate [-ir] keyword

选项与参数:

-i :忽略大小写的差异;

-r :后面可接正规表示法的显示方式

 

4. find 在文件系统中查找文件

 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 为数字,这个数字是用户的UID

-gid n :n 为数字,这个数字是组名的 GID

-user name :name 为使用者账号名称

-group name:name 为组名

-nouser :寻找档案的拥有者不存在于 /etc/passwd 中的人!

-nogroup :寻找档案的拥有群组不存在于 /etc/group 的档案!
自行安装软件时可能存在没有档案拥有者的档案。

 

3)与档案权限及名称有关的参数:

-name filename:搜寻文件名为 filename 的档案;

-size [+-]SIZE:搜寻比 SIZE 还要大(+)或小(-)的档案。这个 SIZE 癿规格有: c: 代表 byte, k: 代表 1024bytes。

-type TYPE :搜寻档案的类型为 TYPE 的,类型主要有:一般正规档案 (f), 装置档案 (b, c), 目录 (d), 连结档 (l), socket (s), 及 FIFO (p) 等属性。

-perm mode :搜寻档案权限『刚好等于』 mode 的档案,这个 mode 为类似 chmod 的属性值

-perm -mode :搜寻档案权限『必须要全部囊括 mode 的权限』的档案,比如, 我们要搜寻 -rwxr--r-- ,即0744 的档案,使用 -perm -0744, 当一个档案的权限为 -rwsr-xr-x ,亦即 4755 时,也会被列出来, 因为 -rwsr-xr-x 的属性已经囊括了 -rwxr--r-- 的属性了。

-perm +mode :搜寻档案权限『包含任一 mode 的权限』的档案,

 

4) 额外可进行的动作:

-exec command :command 为其他指令,用来处理搜寻到的结果。

-print :将结果打印到屏幕上,这个动作是预设动作!