(*文章内容整理自菜鸟教程和c语言中文网的Liunx教程)
目录的本质也是文件,它的功能时用来保存文件及其相关的信息。所有的文件,包括普通文件,设备文件、目录文件都会被保存到目录中。
常用的处理目录的命令:
(1)ls:列出目录
(2)cd:切换目录
(3)pwd:显示目前的目录
(4)mkdir:创建一个新的目录
(5)rmdir:删除一个空的目录
(6)cp:复制文件或目录
(7)rm:移除文件或目录
(8)mv:移动文件与目录或修改文件的名称
主目录
登录系统后,你所在的位置就是系统的主目录(也叫登录目录)。
进入主目录
cd ~ //进入主目录
cd ~userName //进入其他用户的主目录
cd - //返回进入当前目录所在的目录
参数说明:
-P:显示处确实路径,而非使用来链接的目录。
绝对路径和相对路径
Linux的目录有清晰的层次结构,/代表根目录,所有的目录都位于/下面;文件在层次结构中的位置可以用路径来表示。
如果一个路径一/开头,就称为结对路径;它表示当前文件和根目录的关系。不以/开头的路径称为相对路径,它表示文件与当前目录的关系。
pwd [-P]//获取当前所在目录的绝对路径
ls 目录名的路径(绝对或相对)
参数说明:
-a:显示全部的文件,连同隐藏的文件一起显示。
-d:仅列出目录本身,而不时列出目录内的文件数据
-l:显示文件的属性,包括文件的权限、属性等信息
(*此时所在的位置在code文件夹中,所以我们需要先去到它的上一层目录下去寻找名为code的目录,然后再查看。)
改变所在目录
cd filePath
filePath可以为绝对路径也可以为相对路径。
创建目录
mkdir [-mp]filePath
filePath可以为绝对的路径,也可以为相对路径。
参数说明:
(1)-m:配置文件的权限。
(2)-p:递归创建目录(下面有说明)
例如,再主目录中为code文件夹创建一个名为testFile的文件夹。
也可以使用mkdir命令同时创建多个目录。
mkdir filePath1 filePath2
创建一个权限为777的文件夹testFile1
创建父目录
使用mkdir命令创建目录时,如果上级目录不存在,就会报错。
例如:再cdoe目录下创建testFiles的文件夹,可是cdoe文件夹并不存在,即testFile3的父目录不存在,所以就是报错。
mkdir -p filePath
给mkdir命令加上-p的参数,可以一级一级的创建所需要的目录,即会自动创建不存在的上一级目录。
删除目录
(1)删除空目录
可以使用rmdir命令来删除空目录。
rmdir [-p] filePath
-p:连同上一级空的目录也一起删掉。(删除后为空)
rmdir命令可以同时删除多个空目录
(2)删除非空目录
rm [-fir] 文件或目录
参数说明:
(1)-f:就是force的意思,忽略不存在的文件,不会出现警告信息。
(2)-i:互动模式,系统会在删除前询问使用者是否进行删除。
(3)-r:递归删除
使用rm -rf(非常危险)删除cdoe下的所有文件I(包括cdoe文件夹)
会直接删除,且不会有提示信息。
使用rm -ri时,系统会再删除时给出提示,询问用户是否删除该文件。
复制文件或目录
cp [-adfilprsu] sourceFile destinationFile
参数说明:
(1)-a:相当于-pdr。
(2)-d:若来源文件为连接文件的属性(link file),则复制连接文件属性而非文件本身
(3)-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次
(4)-i:若目标文件已经存在,再覆盖前会先询问动作的进行
(5)-I:进入硬件连接结(hark link)的连接文件创建,而非复制文件本身
(6)-p:连同文件的属性一起复制过去
(7)-r:递归持续复制,可以用来复制目录。
(8)-s:复制成为符号链接文件(symbolic link),即【捷径】文件,类似于快捷方式。
(9)-u:若destination(目标文件)比source(源文件)修改时间早才升级destination(目标文件)。
目录重命名
目录重命令的方法和普通文件时一样的,也是使用mv命令。
mv oldFileName newFileName
查看文件
(1)cat: 从第一行开始显示文件内容
(2)tac:从最后一行开始显示文件内容
(3)nl:显示内容并且显示行号
(4)more:一页一页的显示文件内容(不能向前翻页)
(5)less:和more类似(可以向前翻页)
(6)head:只显示头几行
(7)tail:只显示后几行