1.ls指令
ls指令的作用是显示当前目录下的文件或者目录。
使用:ls [选项] [目录或文件]

登录上linux后,默认所处的路径是在自己的家目录下,输入ls后,就显示了dir1、test等目录(文件夹)以及普通文件,蓝色的就是目录(文件夹)。
ls指令后边还可以加选项,使用格式为**ls [选项]**这里说几个常用的:
1)-l:列出文件的详细信息
2)-a:列出目录下的所有文件
3)-d:将目录像文件一样显示,而不显示其下的文件
1)-l

在ls后边加上-l选项后,显示了每个文件夹的具体信息,这些都是文件的属性,文件=文件内容+文件属性,后边还可以加上具体的目录,显示的就是该目录的相关信息。
2)-a

在ls指令后边加上-a选项后,我们可以看到出现很多较之前没有出现的文件,事实上,以.开头的文件是隐藏文件,当加上-a选项后,这些隐藏文件也显示出来了。
3)-d


当加上-d选项后,发现只显示了一个点,在linux中,一个点(.)表示当前目录,两个点(..)表示上级目录,-d选项就是不会进入到当前目录里,仅仅显示当前目录,还可以在后边加上具体目录,最后结果也仅是显示目录本身。
选项还可以拼接在一起,不论顺序,结果都是一样的。


2.pwd指令
pwd指令用于显示当前的工作路径。
使用:pwd

pwd指令就非常简单了,后边也不需要加任何东西,就是显示当前路径。
3.cd指令
cd指令的作用是切换到指定路径下。
使用:cd [要切换的路径]

例如,我们切换到/root/test中,并通过pwd来显示切换后的路径。
这里就又要说一个Linux与windows的不同之处了,在windows中,路径分隔符是\,而Linux中是/,路径是由目录和路径分隔符组成的。
前边说到了..是上一级路径,这里我们同样可以使用..来返回上一级路径,类似windows中的回退。

cd还有两个比较特殊的用法:
cd ~:进入家目录
cd -:跳转至最近的上一次路径

在这个例子中我们先进入/root/test中,然后输入cd ~后通过pwd发现确实回到了家目录。

当我们输入cd -后发现又回到了/root/test中,如果再继续输入,则又回到家目录,如此循环往复。
有时候目录太长,直接像上边一样输入太麻烦了,我们则可以输入相对路径,这就要借助..了,例如:

当前在/root/test中,当我们输入cd ../test2后,就是进入上一级路径下的test2中,最后通过pwd来显示当前路径就是/root/test2。
4.touch指令
touch指令可以用于新建一个文件。
使用:touch [文件名]

例如我们在test中创建了一个.c文件,为了方便观察,我们可以使用tree指令来打印各个路径,每个路径都是具有唯一性的,其实这些目录最后组成了一颗多叉树,要使用tree指令我们需要先安装,输入yum install -y tree即可安装,安装成功后直接输入tree就可打印当前路径下的目录。
这里直接给出两次(创建test_9_7.c前后)从根目录下打印出的结果:
5.mkdir指令
在上面的touch指令学习后我们可以创建文件了,但是若是像创建目录(例如:test3/test4/test5)的话,用touch是满足不了的,这时候就需要用到mkdir了,mkdir就是用于新建目录的。
使用:mkdir [目录名]
几种使用方法:
mkdir [新的目录] (默认在当前路径下新建)
mkdir [具体路径] (在指定路径下新建)
mkdir [新建目录1] [新建目录2] [新建目录3] (在当前路径建立多个目录)
mkdir -p [新建目录(形如test3/test4/test5)] (递归式新建目录)
我们先讲最后一个,当要创建一串路径(嵌套目录)时,需要用到 -p,这样就会递归式创建目录,下图是创建后的示例:

创建时也可以同时创建多个(同一路径下),示例如下:

其他几个就不详细讲解了,也很容易理解。
6.rmdir指令和rm指令
rmdir是删除空目录的。

如果要删除非空目录,是会有问题的,删不了,如下图:

要想删除这种非空目录,需要用到rm。
使用:rm -r [非空目录] (-r是递归式删除非空目录)


可以发现,在删除时会一直问是否需要删除,这时候如果我们想要强制删除就可以用-rf。
由于上边dir1已经删除了,下面以test为例演示:

7.man指令
man指令是Linux中用于查看命令、函数和配置文件手册页面的工具。
例如,我们输入man ls后就会显示ls相关的用法:

man手册共有9个章节,我们只需要知道前三个,第一个是查命令,第二个是查系统,第三个可以查C语言相关函数。
例如我们可以通过man 3 printf来查printf的用法。

出现这种情况是因为没有安装相关东西,输入yum install -y man-pages即可。
再次输入后就可以查询printf的相关用法了。
