Linux目录与文件


.

代表此层目录

..

代表上一层目录

-

代表前一个工作目录

~

代表『目前使用者身份』所在的家目录

~account

代表 account 这个使用者的家目录(account是个帐号名称)


cd

变换目录


pwd

显示目前所在的目录

[root@www ~]# pwd [-Pl]

选项与参数:

-P:显示出真实的路径,而非使用连结 (link) 路径。

-l : 显示逻辑路径(默认)


mkdir

创建新目录

[root@www ~]# mkdir [-mp] 目录名称

选项与参数:

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

-p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来!


rmdir

删除『空』的目录

[root@www ~]# rmdir [-p] 目录名称

选项与参数:

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


$PATH

环境变量

不同身份使用者默认的PATH不同,默认能够随意运行的命令也不同(如root与vbird);

PATH是可以修改的,所以一般使用者还是可以透过修改PATH来运行某些位於/sbin或/usr/sbin下的命令来查询;

使用绝对路径或相对路径直接指定某个命令的档名来运行,会比搜寻PATH来的正确;

命令应该要放置到正确的目录下,运行才会比较方便;本目录(.)最好不要放到PATH当中。


ls

查看文件与目录

[root@linux ~]# ls [-aAdfFhilRS] 目录名称

[root@linux ~]# ls [--color={none,auto,always}] 目录名称

[root@linux ~]# ls [--full-time] 目录名称

选项与参数:

-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)


cp

复制文件或目录

[root@www ~]# cp [-adfilprsu] 来源档(source) 目标档(destination)

[root@www ~]# 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 !

最后需要注意的,如果来源档有两个以上,则最后一个目的档一定要是『目录』才行!


rm

移除文件或目录

[root@www ~]# rm [-fir] 文件或目录

选项与参数:

-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;

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

-r :递回删除啊!最常用在目录的删除了!这是非常危险的选项!!!


mv

移动文件与目录,或更名

[root@www ~]# mv [-fiu] source destination

[root@www ~]# mv [options] source1 source2 source3 .... directory

选项与参数:

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

-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

-u :若目标文件已经存在,且 source 比较新,才会升级 (update)


basenamedirname

取得路径的文件名称与目录名称

[root@www ~]# basename /etc/sysconfig/network

network <== 很简单!就取得最后的档名~

[root@www ~]# dirname /etc/sysconfig/network

/etc/sysconfig <== 取得的变成目录名了!


cat

查看文件

[root@www ~]# cat [-AbEnTv]

选项与参数:

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

-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!

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

-n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;

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

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

tac

反向显示


nl

添加行号显示

[root@www ~]# nl [-bnw] 文件

选项与参数:

-b :指定行号指定的方式,主要有两种:

-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);

-b t :如果有空行,空的那一行不要列出行号(默认值);

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

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

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

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

-w :行号栏位的占用的位数。


more

一页一页翻动

[root@www ~]# more /etc/man.config

在more查看文件时可在最底行输入:

空白键 (space):代表向下翻一页;

Enter :代表向下翻『一行』;

/字串 :代表在这个显示的内容当中,向下搜寻『字串』这个关键字;

:f :立刻显示出档名以及目前显示的行数;

q :代表立刻离开 more ,不再显示该文件内容。

b[ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。


less

一页一页翻动

[root@www ~]# less /etc/man.config

在more查看文件时可在最底行输入:

空白键(space) :向下翻动一页;

[pagedown]:向下翻动一页;

[pageup] :向上翻动一页;

/字串 :向下搜寻『字串』的功能;

?字串 :向上搜寻『字串』的功能;

n :重复前一个搜寻 (与 / 或 ? 有关!)

N :反向的重复前一个搜寻 (与 / 或 ? 有关!)

q :离开 less 这个程序;


取出前面几行

[root@www ~]# head [-n number] 文件

选项与参数:

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


tail

取出后面几行

[root@www ~]# tail [-n number] 文件

选项与参数:

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

-f :表示持续侦测后面所接的档名,要等到按下[ctrl]-c才会结束tail的侦测


od

非纯文字档

[root@www ~]# od [-t TYPE] 文件

选项或参数:

-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


touch

修改文件时间或建置新档

[root@www ~]# touch [-acdmt] 文件

选项与参数:

-a :仅修订 access time;

-c :仅修改文件的时间,若该文件不存在则不创建新文件;

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

-m :仅修改 mtime ;

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


file

查看文件类型

[root@www ~]# file 文件