之前我们要先明确两个概念:相对路径和绝对路径。

绝对路径:路径的写法“一定要有根目录开始”。例如/usr/share/doc.

相对路径:路径的写法“不是有/写起”,例如有/usr/share/doc要到/usr/share/man底下时,可以写成“cd ../man”,这个就是相对路径的写法啦。相对路径就是相对于目前工作的路径。

相对路径在目录切换时很方便,但对于文件的正确性来说,绝对路径的正确对要比较好。一般来说,在shell文件中,建议你用绝对路径,这样会避免一些问题的发生。

更换目录的指令是cd。下面这几个特殊的目录要记清楚的:.  代表当前目录;.. 代表上一层目录; - 代表前一个工作目录; ~ 代表当前使用者的家目录;~account 代表account这个使用者的家目录。上面蓝色字体的部分一定应该记清楚的。所有的目录下面如果你用ls -al命令查看文件的话,都会有一个.和..这两个文件。根目录下面也有,不过你仔细看会它们的属性与权限都是一样的,实际它们是同一个目录。

下面来聊聊跟目录相关的命令:
cd:变换目录。

pwd:现实目前的目录。

mkdir:建立一个新的目录。

rmdir:删除一个空的目录。

在预设的情况,新建目录和删除目录都是需要一级一级的来。例如,加入你要建立一个目录为/home/caonx/test,那么首先有/home然后有/home/caonx,如果没有,则先需要在/home下面先建/caonx,然后再建/test目录的哟!不过现在有简单的方法,就是加个-p参数啦!你可以直接下达:mkdir -p /home/caonx/test,则系统自动的帮你将下面的目录依次建起来,并且,如果该目录本来已经存在时,系统也不会现实错误的,挺不错的吧。不过这个参数用的时候要小心哟,因为如果你打错字的话会将你的目录建的乱七八糟的哟。

另外,有个地方你必须要先有个印象,就是“默认权限”。我们一般新的键的目录在没有指定权限的情况情况下都是被系统指定了默认的权限。默认的权限一般般是722,但我们在新建目录的时候,也是可以强制指定权限的,如果我们可以在上面说的新建目录中用 -m 711来给心的目录指定drwx--x--x的权限。那么默认的权限有是什么呢,这个跟umask有关的你可以在命令行模式下直接输入umask回车,一般来说你会看到0022,与权限有关的是后面三个数字。那既然权限就有三个数字就够了,怎么有四个数字呢?其实,第一个数字有其特殊用途,我们先不说它,知道就行。

跟文件操作有关的命令有下面这几个:

cp:文件的复制,这个命令常用的参数有-p,连同文件的属性一起复制,一般用于备份。-i是告诉系统若目标已经存在时,在覆盖前要先询问,-r ,连目录一起复制。在文件复制时,你可以同时把多个文件或目录复制到一个目录中。举个例子吧,cp /var/log/wtmp . 。注意后面那个点哟,这个.代表是当前目录。文件的默认的复制其属性是发生改变的。如果不想文件的属性有任何改变,就加个-a吧。具体的情况,你可以man一下。

rm:删除文件或目录,它有三个参数,-f就是忽略不存在的文件,不会出现警告。-i就是互动模式,删除前要确认的。-r就是逐级删除,一般你快速删除时就用rm -rf这个命令,不过这个命令相当的危险,慎用!

mv:移动文件与目录,或更改文件的名称。例如mv bashrc mvtest就把bashrc文件的名称改为mvtest了。

下面说说阅览文件的相关命令,主要有下面这几个:

cat :由第一行开始现实文件内容。

tac:从最后一行开始现实,可以看出cat倒着写就是tac啦。

nl:显示的时候,把行号也输出来。

more:一页一页的显示文件内容。

less:与more类似,但是比more更好的是,它可以向前翻页。

head:只看投几行,

tail: 只看尾几行。

od:以二进位的方式读取档案内容。

最后还要说一个命令:touch,新建一个新的空文件。

最后我们在谈谈文件的隐藏属性。头有点晕了吧,前面讲的九个权限就快让人疯掉了,怎么还有隐藏的属性!不过,这个东东还真的很不错,一般用户日志的保护上面的。但相关的指令只是在ext3/ext2的格式下面有效,其他的格式就不支持了。下面我们来说说相关的命令吧.

chattr:设定文件隐藏属性。

lsattr:心事文件的隐藏属性。

因为在linux下面,扩展名没有什么实际的意思,所有我们通过名称很难去判断文件的类型,所以linux提供一个查看文件类型的命令:file。例如:file ~/.bashrc