1.ls
ls是list directory contents,即列出文件列表,他有十分多的选项,我们只需要掌握几个常用的即可,其余的在使用的时候查询帮助手册即可。
这个指令是列出当前目录下文件的信息,可以直接使用,也可以加带选项,直接使用效果如下,显示当前目录下的文件。
类似于windows中查看-平铺的效果。
1.1 ls -l
这个指令是列出当前目录下文件的详细信息,在之前ls的基础上加上了选项,l是use a long listing format(使用长列表格式),简单来说就是像列表格一样详细的展示文件信息,如下图。
这个选项与windows中详细信息类似。
在使用的时候注意ls与-l之间有个空格,否则就会弹出如下情况,指令没有找到,这也提示我们在linux中以空格作为分隔符。
因此如下代码也是错误的,在-与l之间加空格,导致无法正确解读-l
1.2 ls -a
这个a其实就是all的缩写,将该目录下的所有文件都展示出来,包括隐藏文件。
将这段指令与ls指令相比,会发现多了两个文件 . 与..,在linux中与.开头的文件称之为隐藏文件,一般的情况下是不显示的,只有输入特殊指令才可以看到。
同样在windows中也有查看隐藏文件的选项
除了上述的用法外,我们还可以将两个选项合起来一起用,如下图。此时就相当于将两个效果结合起来了,即显示隐藏文件又显示详细信息。
也可以像如下方式简化写,效果都是一样的,a与l的顺序可以互换。
上面两个便是常用的ls选项,当然ls还有许多的选项,大家如果需要使用在linux中输入 man ls查找具体选项。这里就不过多赘述了。
1.3地址选项
ls除了可以带指令选项外,还可以在后面加上目录地址,显示指定目录的文件。如下图,在当前目录下又lesson1文件夹,就可以在-al后面加上地址。
补充:在Linux中.表示当前目录,..表示上级目录,/是路径分隔符(最开始的/除外,/称之为根目录)
当然这个地址选项的位置与命令选项的位置也是可以交换的。
1.4 ll
ll命令就相当于 ls -l,二者是等价的,不过前者写起来更简单罢了。
2.pwd
pwd是print name of current/working directory的缩写,就是打印当前工作路径。相当于windows中打开文件的路径,但细节有所不同,在windows中\为分隔符,在linux中/为分隔符
直接在命令行使用效果如下,其中/是路径分隔符,表面我们此时的工作目录在根目录下的root目录下的test目录下。
2.1pwd -L
使用环境中的 PWD,即使它包含符号链接,效果和直接用pwd一样
3.cd
cd是进入文件目录的命令。
在下图的展示中,蓝色高亮的代表的是文件夹,里面可以包含文件,而白色代表的是普通文件,只可以写入读取。不可以cd进入。
cd就相当于在windows中双击文件夹进入文件一样.
在上图的指令中,我们通过ls发现当前目录下有lesson1文件夹,就可以cd 进入,当进入后我们再用pwd观察当前的工作路径,就可以发现了变化。
在此时补充一个重要的知识,相对路径与绝对路径。
绝对路径
在linux中,一个文件夹里面可以有多个文件,这决定了Linux的目录结构必须像树一样展开,而书的叶子就是普通文件或者空文件夹即空目录。如下图
那么此时我们便可以顺着树的枝干找到叶子,如下图。
那么此时wife的路径就是/home/zhangsan/wife,我们特别称开头的/为根目录,所以从根目录到当前文件的路径是唯一的(只能一路向下,不可以回退到上一级目录),也就称之为绝对路径。
相对路径
有时路径从根目录开始出发写的画太过于繁琐,我们便可以用相对路径。
假设我们当前的路径在lisi,我们要到wife,可以怎么办呢?
我们可以先向上到home路径下,然后再去zhangsan路径下找wife。此时wife的路径就可以表示为如下的形式。 ./../zhangsan/wife。注意 .表示当前路径, ..表示上一级路径。
当然我们也可以采用如下走法。此时的路径表示为./../../home/zhangsan/wife,我们把这种从当前目录开始到目标目录的路径表示为相对路径,由上述两个例子可以看出相对路径不是唯一的。
由相对路径与绝对路径,cd就可以进入指定的目录了。
4.touch
touch可以用来创建普通文件,我们只需要在touch后面加上文件名即可,如下图。
在创建普通文件后,我们可以通过ls -al命令查看该文件。
4.1 touch -m
touch -m可以用来更改指定文件的更改时间,如下图。在使用touch -m命令后,test.c的文件时间属性发生了变化。
5.mkdir
mkdir就是make directories,创建目录的意思,之前的touch只能创建普通文件,mkdir可以创建文件夹,例如下图,用mkdir创建了lesson5的文件夹。
5.1 mkdir +地址
mkdir可以在指定的路径下创建文件,这就要用到之前的绝对路径和相对路径了。
我们也可以用相对路径来创建文件夹,路径的末尾是我们需要建立的文件夹名字。
例如上图此时我们处于/root/test的路径下,要想在lesson5的路径下建立文件,就可以使用绝对路径如下图代码
注意两种创建方式都是在路径末尾加上要创建的文件名字。
如果直接用mkdir 后面不加绝对路径,默认是在当前工作路径下创建文件。如下图。
5.2mkdir -p
这个指令可以递归的创建一系列的文件夹,例如我么想直接在当前路径下创建lesson目录,不切里面包含test目录,如果直接创建会有如下的情况。找不到路径中的位置。
此时我们可以加上 -p选项,让他在找不到路径的情况下,就自己创建,从而实现连续创建多个目录。如下图,此时就可以创建字目录了。
6.tree
tree是一个用树状结构显示linux目录结构的命令,有些可能没装要下载。下载也十分简单命令如下
yum install -y tree
tree+路径,就可以显示指定路径下的目录结构。如下图,这样就可以较为清晰的看到目录的结构。
7.rmdir
前面提到了创建文件夹,自然也会有删除操作。rmdir是remove empty directories,删除空文件夹,注意他只能删除空的文件夹,如果里面有内容是不可以删除成功的。
利用之前所学的,我们可以显示当前路径和其目录结构。
此时的hello与test2是空文件夹,而less是有内容的文件夹。便可以用rmdir删除。
此时我们成功的删除了两个空文件夹,但less非空就删除失败了。
7.1 rmdir -p +路径
我们无法直接删除less,但这是我们刚才创建的文件less中的test是个空文件夹,那么我们便可以采用递归的删除,从叶子目录开始删除空目录,删除test后less自然变为了空文件夹。
此时我们就可以递归的删除空文件夹了。
8.rm
前面的rmdir只可以删除空文件夹,对于普通文件或者有内容的文件夹就无能为力了,此时便可以使用rm命令删除普通文件。
如下图,就可以删除当前目录下的test.c文件,我使用的是root用户,在linux中没有回收站,删除了就是没有了,所以在删除的时候会提示是否要删除,输入y即可。
8.1 rm -f +路径
如果不想在删除的过程中出现提示,可以提前加上 -f选项,这样在删除的过程中就不会出现提示了。
8.2rm -r+路径
如上图,此时我们有个非空的文件夹dir1,要想删除这个文件夹可以,进入文件夹一个一个的删除,也可以用命令递归的删除。如下图
根据上述信息,我们是一步步的进入目录的结构,到达叶子目录的时候开始删除,并且返回上一次结,整个的过程是递归的。
如果想要在删除的过程中不出现提示信息可以加上 -f 选项。rm -rf +路径即可。
9.man
这是个帮助手册,可以详细的查看每个指令的使用,例如查看rm指令
这里面是详细的官方手册,对于常见的用法之前介绍过了,其他的用法可以使用的时候查看文档。