上篇文章已经介绍了如何使用云服务器搭建Linux系统,并使用XShell远程登录Linux,环境搭建好之后,我们就需要进行Linux的常用的基础指令的介绍
Linux指令有很多,我们只介绍最常用的一些指令用来入门练习,后面再遇到一些指令可以查看手册
本篇文章将以windows操作进行对比来学习Linux的基础指令
笔者此时的文件夹如下:
图一
本篇文章所说的目录可以理解为windows的文件夹
语法:ls [选项] [目录或文件]
功能:显示该目录下的目录和文件名,即显示该文件夹里面的文件名
1.不指定目录:ls
ls指令后面不带目录则默认为当前目录
笔者此时位于root文件夹中,由图一可以知道我的root文件夹里面有三个文件分别是huangchao,huangchao1,huangchao2,我们输入指令ls试下
可以看到显示了当前文件夹root里面的三个文件
下面我们指定目录
2. 指定目录:ls huangchao
ls指令后面指定文件名则显示指定的文件夹里面的文件
由图一可知huangchao文件夹里面有一个test.c,我们输入指令 ls huangchao试下
可以看到正确地显示了huanghcao文件夹里面的文件
3.加选项:ls -l
ls -l 列出文件夹的详细信息
Linux指令一般都可以中间加指令选项,以便完成不同的具体功能
ls的常见指令选项有
-a
列出目录下的所有文件,包括以 . 开头的隐含文件。
-d
将目录像文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
-i
输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
-k
以 k 字节的形式表示文件的大小。ls –alk 指定文件
-l
列出文件的详细信息
-n
用数字的 UID,GID 代替名称
-F
在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表
示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)
-r
对目录反向排序
-t
以时间排序
-s
在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
-R
列出所有子目录下的文件。(递归)
-1
由于指令选项较多,且对于新手来说由于有些概念还未学习,故本篇文章只介绍入门最常用的几个选项
由上图表可知-l是显示文件的详细信息,笔者现在位于root文件夹下,root文件夹里面有三个文件,我们输入指令ls -l
可以看到,输入上述指令后显示了我root文件夹里面三个文件的信息,比如文件大小,文件时间等信息
4.加选项 ls -a
由选项图表可只 -a是显示所有文件的文件名,即把隐藏文件名也显示出来
隐藏文件——在Linux系统中以.开头的文件为隐藏文件
对比windows系统,windows系统有没有隐藏文件呢?显然是有的
点击显示隐藏项目后
可以看到隐藏的文件也被显示出来了
那么在Linux系统下想要查看隐藏的文件就需要输入指令ls -a
可以看出在输入上述指令后,我所在的root文件夹里面的以.开头的隐藏文件都显示出来了
5.选项组合 ls -l -a
通过上面的学习,我们知道了指令ls -l是显示文件详细信息,ls -a是显示隐藏的文件名,那么两个选项组合在一起会实现什么功能呢,是不是就是我们所想的,显示所有文件(包括隐藏文件)的详细信息呢?答案是正确的,确实就是实现该功能
现在我们进入huangchao文件夹(怎么进入文件夹文章后面指令会讲)
huanghcao文件夹里面有一个test.c文件
输入指令ls -l
输入指令ls -l -a
可以看到未输入组合指令前,输入ls -l只显示test.c的文件信息,输入组合指令ls -l -a之后,将隐藏文件的文件信息也显示出来了
6.选项+指定文件夹:ls -l -a huangchao
上面的指令选项都没有指定指定文件夹,即默认对当前所在文件夹进行指令选项操作
现在我们退回到root文件夹(如何退回,文章后面讲述相应的指令)
我们知道root文件夹里面有 三个文件huangchao,huangchao1,huangchao2,如果我们想显示指定文件夹里面的文件呢,比如我们想指定查看huangchao文件夹里面的文件
输入指令 ls -l -a huangchao
可以看到我们在root文件夹里面显示了我们指定文件夹huangchao里面的文件信息
7.ls 指令总结
ls指令可以什么都不加,即显示当前文件夹里面的文件名
ls指令可以后面可以指定文件夹,即显示指定文件夹里面的文件名
ls指令可以加选项,以实现不同的具体功能
ls指令的选项可以组合,以实现组合的功能
ls指令的选项可以默认对当前文件夹进行操作,也可以在后面指定文件夹进行操作
笔者此时的文件夹如下图
语法:mkdir [选项] [文件夹名]
功能:在当前文件夹下新建一个文件夹,不能指定文件夹
类似于windows下的新建文件夹
1.新建文件夹:mkdir huangchao3
此时我位于root文件夹下,我的root文件夹里面有三个文件夹huangchao,huangchao1,huangchao2,现在我想新建一个新的文件夹huangchao3
输入指令 mkdir huangchao3
再输入ls指令查看是否新建成功
可以看到我们确实通过上述指令新建了一个huangchao3的文件夹
新建前 新建后
2.加选项 递归新建文件夹 mkdir -p huangchao4/hc
mkdir的常用指令选项只有一个:
-p 递归新建文件夹
此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录
现在我想在root文件夹里新建一个文件夹huangchao4,然后又在huangchao4里面新建一个hc文件夹,可以看到这是一个递归的过程,此时就可以用指令选项递归新建文件夹
输入指令 mkdir -p huangchao4/hc
输入ls指令查看是否新建成功
可以看到我们在root文件夹里面新建了huangchao4文件夹,又在huangchao4文件夹里面新建了hc文件夹,递归创建新文件成功
新建前: 新建后
3.mkdir指令总结
mkdir指令只能在当前文件夹里面新建文件夹,不能指定文件夹
mkdir指令可以加选项,但是其常用指令只有一个-p,递归新建文件夹
此时的文件夹如下:
pwd指令很简单,它没有指令选项
语法:pwd
功能:显示当前所在的路径
关于路径:每个文件都有自己相应的路径,路径分为绝对路径和相对路径
绝对路径:即从最开始的根目录开始找,直到找到该文件走过的路径
上图中的C:\Users\hc691\source\c-and-c-learning\git就是绝对路径,我们从c盘开始找git这个文件就是先进入Users文件夹,然后再进入hc691文件夹...直到找到git文件
\为windows的路径分割符,Linux系统的路径分割符为/
相对路径:即相对于当前所在的文件夹找该文件走过的路径
以上图为例,假设我们现在在huangchao文件夹里面,怎么找到huangchao1文件夹里面的test.c呢,我们需要补充一个知识点
可以发现每个文件夹里面都有两个隐藏文件分别为**.和..**
**.**代表当前路径
..代表上级路径
补充这个知识点后,我们开始找huangchao1的test.c,现在我们处于huangchao文件夹,它的上级路径是root,所以我们只需在它的上级root往下走,root/huangchao1/test.c,由于..代表上级路径,替换过后路径变为../huangchao1/test.c,该路径就称为相对路径
补充完路径的知识后,我们开始学习pwd指令
pwd指令没有指令选项,也不能指定文件夹,就是显示当前所在的路径
输入指令pwd
可以看到我们当前处于root文件夹,我们进入huanghchao文件夹(进入文件夹后面会讲解)再输入pwd指令看下
我们进入huangchao文件夹后,输入pwd即显示了haungchao文件夹所在的路径
此时笔者的文件夹为
语法:cd 文件夹名
功能:进入指定的文件夹
说明:在当前文件夹下,如果想进入当前文件夹里面的文件夹,后面直接加文件夹即可,如果想进入非当前文件夹的文件夹,则在后面加上路径
1.进入当前文件夹的文件夹 cd huangchao
此时我们处于root文件夹,文件夹里面有4个文件,我们想进入huangchao文件夹
输入指令:cd huangchao
再输入pwd查看是否进入成功
可以看到我们成功地进入了huangchao文件夹
2.进入非当前文件夹的文件夹-绝对路径
cd /root/huangchao1
进入非当前文件夹的文件夹需要在后面加上路径
此时我们在huangchao文件夹,通过绝对路径进入huangchao1文件夹
输入指令 cd /root/huangchao1
再输入pwd指令查看是否进入成功
可以看到我们成功地从huangchao文件夹通过绝对路径进入到了huangchao1文件夹
3.进入非当前文件夹的文件夹-相对路径
此时我们在huangchao1文件夹,通过相对路径进入huangchao2文件夹
通过上图我们知道,huangchao1的上级路径为root,而通过root就可以往下找到huangchao2,即huangchao2相对于huangchao1的相对路径为:../huangchao2
输入指令 cd ../huangchao2
再输入pwd指令查看是否进入成功
可以看到我们通过相对路径成功地从huangchao1进入到了huangchao2文件夹
3.进入上级路径:cd ..
指令cd ..的功能为进入上级路径,相当于退回功能
我们来看下windows的退回
可以看到windows是具有退回按键的,即退回上一层,Linux的指令cd ..就相当于windows的退回功能
此时我们在huangchao2文件夹,上级路径是root,我们想退回到上级路径
输入指令 cd ..
再输入pwd指令查看是否退回成功
我们可以看到我们从huangchao2文件夹退回到上级路径root
4.进入家目录 cd ~
windows的家目录之一就是用户,而Linux的家目录为用户名(当前为root)
此时我们进入huangchao2文件夹然后再开始操作
输入指令cd ~
再输入pwd查看是否进入家目录
可以看到我们成功地进入了家目录(root)
5.返回最近所在文件夹 cd -
假如我们误操作进入了随便一个文件夹,怎么返回到我们误操作前所在的文件夹呢
输入指令cd -
![](https://img-blog.csdnimg.cn/8d1167904393448ab4696e38a3bf94a9.png)
在进入root前我们在huangchao2文件夹,进入之后我们成功地通过指令cd -进入到了上一次所在的文件夹
6.cd指令总结
cd指令直接进入当前文件夹的文件夹
cd指令可以通过绝对路径和相对路径进入非当前文件夹的文件夹,即从一个文件夹调到另一个文件夹
cd..可以进入上级路径
cd ~可以直接进入家目录
cd-指令返回到上一次所在的文件夹
语法:touch [选项] [文件名]
功能:在当前文件中新建一个文件
注意是新建一个文件,而不是文件夹,其功能类似于windows的新建文本文档
touch指令有以下常用选项:
-a
只更改存取时间
-c
不建立任何文档
-d
使用指定的日期时间,而非现在的时间
-f
此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题
-m
只更改变动时间
-r
把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同
-t
使用指定的日期时间,而非现在的时间
由于touch的选项入门不太使用,故本篇文章暂不介绍touch的选项
此时我们在huangchao2文件夹中,huanghchao2文件夹中有一个文件test.c,我们现在想要在huangchao2文件夹中新建一个hc.c
输入指令 touch hc.c
再输入ls指令查看是否新建成功
可以看到我们在huangchao2文件夹新建了hc.c的文件
新建前: 新建后:
1.rmdir指令
语法:rmdir 文件夹名
功能:删除空文件夹
其只有一个指令选项:
-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除
这是我当前的文件夹,可以看到huangchao3文件是空的,则可以使用rmdir指令删除这个空文件夹,此时将位于root文件夹
输入指令rmdir huangchao3
输入ls查看是否删除成功
可以看到haugnchao3文件夹被删除成功
2.rm指令
语法:rm [选项] [文件夹名或者文件名]
功能:删除文件夹或者文件
常用选项:
-f 即使文件属性为只读(即写保护),亦直接删除
-i 删除前逐一询问确认
-r删除目录及其下所有文件
2.1 删除文件夹及其所有文件 rm -r huangchao4
huangchao4文件夹里面有一个hc.c的文件,现在我们把huangchao4文件夹连带hc.c一起删掉
输入指令rm -r huangchao4
再输入ls查看是否删除成功
可以看到我们成功地将huanghchao4文件夹及里面的文件删除了
tree指令功能是从当前文件夹开始以树状的形式展开后面的文件夹和文件名,方便我们查看此时我们的树状目录是怎样的
好啦,关于Linux的基础指令(一)我们就先学到这,如果对您有所帮助,欢迎一键三连~
版权归原作者 蛋超饭不要加蛋 所有, 如有侵权,请联系我们删除。