Linux目录
目录也是一个文件,它的唯一功能是用来保存文件及其相关信息。所有的文件,包括普通文件、设备文件和目录文件,都会被保存到目录中。
主目录
登录后,你所在的位置就是你的主目录(或登录目录),接下来你主要是在这个目录下进行操作,如创建文件、删除文件等。
使用下面的命令可以随时进入主目录:
$cd~
$
这里~就表示主目录。如果你希望进入其他用户的主目录,可以使用下面的命令:
$cd~username
$
返回进入当前目录前所在的目录可以使用下面的命令:
$cd-
$
绝对路径和相对路径
Linux的目录有清晰的层次结构,/代表根目录,所有的目录都位于/下面;文件在层次结构中的位置可以用路径来表示。
如果一个路径以/开头,就称为绝对路径;它表示当前文件与根目录的关系。举例如下:
/etc/passwd
/users/sjones/chem/notes
/dev/rdsk/Os3
不以/开头的路径称为相对路径,它表示文件与当前目录的关系。例如:
chem/notes
personal/res
获取当前所在的目录可以使用pwd命令:
$pwd
/user0/home/amrood
$
查看目录中的文件可以使用ls命令:
$lsdirname
下面的例子将遍历/usr/local目录下的文件:
$ls/usr/local
X11bingimpjikessbin
acedocincludelibshare
atalketcinfomanami
创建目录
可以使用mkdir命令来创建目录,语法为:
$mkdirdirname
dirname可以为绝对路径,也可以为相对路径。例如
$mkdirmydir
$
会在当前目录下创建mydir目录。又如
$mkdir/tmp/test-dir
$
会在/tmp目录下创建test-dir目录。mkdir成功创建目录后不会输出任何信息。
也可以使用mkdir命令同时创建多个目录,例如
$mkdirdocspub
$
会在当前目录下创建docs和pub两个目录。
创建父目录
使用mkdir命令创建目录时,如果上级目录不存在,就会报错。下面的例子中,mkdir会输出错误信息:
$mkdir/tmp/amrood/test
mkdir:Failedtomakedirectory"/tmp/amrood/test";
Nosuchfileordirectory
$
为mkdir命令增加-p选项,可以一级一级创建所需要的目录,即使上级目录不存在也不会报错。例如
$mkdir-p/tmp/amrood/test
$
会创建所有不存在的上级目录。
删除目录
可以使用rmdir命令来删除目录,例如:
$rmdirdirname
$
注意:删除目录时请确保目录为空,不会包含其他文件或目录。
也可以使用rmdir命令同时删除多个目录:
$rmdirdirname1dirname2dirname3
$
如果dirname1、dirname2、dirname3为空,就会被删除。rmdir成功删除目录后不会输出任何信息。
改变所在目录
可以使用cd命令来改变当前所在目录,进入任何有权限的目录,语法为:
$cddirname
dirname为路径,可以为相对路径,也可以为绝对路径。例如
$cd/usr/local/bin
$
可以进入/usr/local/bin目录。可以使用相对路径从这个目录进入/usr/home/amrood目录:
$cd../../home/amrood
$
重命名目录
mv(move)命令也可以用来重命名目录,语法为:
$mvolddirnewdir
下面的例子将会把mydir目录重命名为yourdir目录:
$mvmydiryourdir
$
点号(.)
一个点号(.)表示当前目录,两个点号(..)表示上级目录(父目录)。
ls命令的-a选项可以查看所有文件,包括隐藏文件;-l选项可以查看文件的所有信息,共有7列。例如:
$ls-la
drwxrwxr-x4teacherclass2048Jul1617.56.
drwxr-xr-x60root1536Jul1314:18..
----------1teacherclass4210May108:27.profile
-rwxr-xr-x1teacherclass1948May1213:42memo
$