欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > 【Linux第一弹】Linux基础指令(上)

【Linux第一弹】Linux基础指令(上)

2025/3/1 19:33:13 来源:https://blog.csdn.net/2301_80349538/article/details/145910843  浏览:    关键词:【Linux第一弹】Linux基础指令(上)

  

目录

 1.ls指令

 1.1 ls使用实例

 2.pwd指令

3.cd指令 

3.1 cd使用实例

4.touch指令 

4.1touch使用实例 

5.mkdir指令

5.1mkdir使用实例

6.rmdir指令和rm指令

6.1 rmdir指令使用实例->:

 6.2 rm指令使用实例

7.man指令

8.cp指令

8.1 cp 使用实例

9.mv指令

9.1mv使用实例

10.cat指令

10.1cat使用实例

11.完结


每一个存在都有问鼎的机会


 1.ls指令

语法:ls [选项] [目录或文件]

功能:1.对于目录,列出该目录下所有子目录与文件

        2.对于文件,将列出文件名以及其他信息

注:所有的指令的选项都是在其基础上增加新的功能(并不会覆盖旧功能)

这里我想说的是不要看常用选项中没有写目录就以为不会列出目录


常用选项->:

-a 列出目录下的所有文件,包括以 . 开头的隐含文件
-d 将目录像文件一样显示,而不是显示其下的文件。 如: ls –d 指定目录
-i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
-k 以 k 字节的形式表示文件的大小。 ls –alk 指定文件
-l 列出文件的 详细信息 。
-n 用数字的 UID,GID 代替名称。 (介绍 UID , GID )
-F 在每个文件名后附上一个字符以说明该文件的类型, “*” 表示可执行的普通文件; “/” 表示根目录.
“@” 表 示符号链接;“|” 表示 FIFOs ; “=” 表示套接字 (sockets) 。(目录类型识别)
-r 对目录反向排序。
-t 以时间排序。
-s 在 l 文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
-R 列出所有子目录下的文件。 ( 递归 )
-1 一行只输出一个文件。

 1.1 ls使用实例

单独使用 ls 讲解->:

这里的pwd是展示当前所处目录,我们使用ls意味着展开/root中的文件或目录,图片上展开的是root中的112目录(这里的112是自己创建的目录,如何创建后面会讲)


ls -a 讲解->:

我们会发现,使用ls -a会多了许多东西,这些其实都是隐藏文件,因为它们都带有隐藏文件的标识符,也就是一个小点,以小点开头的就代表了隐藏文件

所以,-a 的作用是,展示当前目录下的文件/目录(包含隐藏文件)


ls -l 讲解->:

这里多出来的部分其实是文件/目录的详细信息,也就是说 -l 会列出文件的详细信息

我们可以观察到详细信息是以d开头的,这意味着它是一个目录

如果是文件,它的详细信息就不是d开头的


ls -n 讲解->:

我们会发现两处有些不同,这是因为 -n 的作用是列出详细的信息时用数字的UID,GID代替名称(这里先不用管UID,GID)


注意:在Linux中,选项的顺序并不会影响实际效果,这就意味着我们可以一起使用,如下->:

我们会发现,它既打印出来隐藏文件,又打印出了详细信息,并且二者的结果一样,说明顺序不影响。

当然我们也可以使用 ls -aln,并不会有选项的数量限制

 2.pwd指令

pwd指令很简单,它的作用就是展示当前所处目录(不展示文件)

如图,我们当前处于root目录下

3.cd指令 

语法: cd 目录名

功能: 改变工作目录,将当前目录改变到指定目录下


由于cd的语法很少,我们直接举例展示


我们先讲一个知识点

在Linux下,所有的目录/文件都是从根目录开始的,因此我们可以顺着一条线找到目录或文件

而根目录的标识就是一个斜杠 /

3.1 cd使用实例


用法一: cd 绝对路径

接下来我们会细致的分析cd绝对路径,在使用cd绝对路径时,需要一层一层的写绝对路径,我们用图片展示->:

这里我们知道,root是根目录下的目录,因此我们可以直接跳到root目录

当然我们也可以这样写->:

这里最开始写上的 / 代表从根目录开始走,跳到根目录下的root目录,而上一种写法的意义为在当前目录下查找root目录,如果查找到了则进行跳转,否则报错


/只有在路径的开头时代表根目录,其余都表示分隔符)


接下来我们想跳到root下的112目录,我们可以这样写->:

我们发现我们使用/112会报错,这是因为 / 代表从根目录下开始查找,而我们不加 / 后,就会从当前目录下开始查找能否跳转,也就会成功

我们可以从root直接找到112吗?

这就要看我们怎么写了,如下图->:

可见,直接在根目录下找112是找不到的,会报错,而先进入root再进入112,就可以跳到112了


cd 可以跳到文件里吗?不可以,因为我们在功能上说了,它是跳到目录下

有道友问了?我们那么多文件,我怎么知道文件都叫什么啊?

这时就要用到 ls指令 了啊,用ls列表出当前目录下的所有文件,就知道都叫什么了


用法2: cd 相对路径

相对路径有两种,一种为 .. ——  一种为 . 没错,你没看错,就是点,两个点代表上级目录或文件,一个点代表 当前目录/文件,我们展示一下->:

我们可以看到,cd .代表跳到当前目录,也就是没跳别的地方,pwd也就没改变,

cd .. 代表跳到上级目录,也就从112中跳出去了,跳到了root


用法3: cd 相对路径+绝对路径

相对路径和绝对路径可以一起使用,如下->:

这里我们细致的讲一下如何实现的

我们首先看红色的,我们使用相对路径跳到上级目录,然后又执行了 /lesson2 , 此时,这里的/就不代表从根目录下查找,因为你一种是相对路径一种是绝对路径,/ 就相当于变为了一种分隔符类似的,变成了代表从当前目录下查找

所以实际上执行的是,先跳到上级目录(跳到目录112中),然后在目录112中查找lesson2目录


cd ../..,这是因为两个上级目录不可以连续使用,如cd ....,所以 / 也变成了一个分隔符,它是先跳到了上级目录112中,然后从112中跳到了root


用法4: cd /

我们上面提到过,/ 是根目录,而cd / 可以直接跳到根目录下,如下图->:


用法5: cd ~

cd ~ 可以让我们直接跳到家目录下,什么是家目录?就是我们当前用户的目录

如下图->:


用法6: cd - 

cd - 可以退回到上一次的所在目录,如下图->:

4.touch指令 

语法: touch [选项] [文件]

功能 : 命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件


常用选项->:

-a : 只改变access time

-c : 只改变modification time

4.1touch使用实例 

用法1 ->: touch 文件名

我们先观察到,lesson2中并没有任何文件或目录,我们在当前目录下touch创建一个test2的文件,再用ls展开当前目录,发现,确实创建了,并通过ls -l 详细的看到确实是文件


nano +普通文件名字

指令:通过nano指令可以进入文件写代码;

输入nano test2后,我们会进入下面的画面

如果写完了可以使用 ctrl + x 进行保存,之后在最下面会弹出一个选项,摁Y确认,再摁回车保存即可

之后我们可以使用cat指令输出文件内容(后面讲cat指令)

5.mkdir指令

语法: touch [选项] dirname

功能 : 在当前目录下创建一个名为 "dirname" 的目录


常用选项->:

-p :可以一次建立多个目录

5.1mkdir使用实例

用法1->: mkidr 目录名

我们可以观察到,最开始的lesson2目录中只有一个test2文件,而我们mkdir后,新增了两个目录,这就是mkdir的使用


mkdir可以直接创建多个目录,如下->:


用法2->: mkdir -p 目录名/目录名/目录名/.......

但是,mkdir不可以直接递归创建多个文件,如下->:

解释一下,我们想在112中创建一个color目录,在color目录中创建一个red目录,在red目录中创建一个blue目录,但是直接用mkdir不可以创建,报错了,这是因为我们没有使用-p选项

我们使用mkdir -p 后,可以发现,递归创建成功了。这就是mkdir -p 的使用

6.rmdir指令和rm指令

rmdir 是一个与 mkdir 相对应的命令。 mkdir 是建立目录,而 rmdir 是删除命令。

语法: rmdir [-p] [dirName]

使用对象: 具有当前目录操作权限的所有使用者

功能: 删除空目录


常用选项:

-p 当子目录被删除后如果父目录变为空目录的话,就连带父目录一起删除(即递归删除)


rm 命令可以同时删除文件或目录

语法 : rm [-f-i-r-v][dirName/dir]

适用对象 :所有使用者

功能 :删除文件或目录

6.1 rmdir指令使用实例->:

用法1: rmdir 目录名

使用rmdir可以删除指定目录,但是有一些注意事项,我们下面讲:


看下图->:我们使用rmdir时有三种情况不可以删

第一种情况 ->: 删掉当前所在目录

第二种情况->: 删除所有上级目录

第三种情况->: 想要删除的目录中存在目录/文件

我们接下来举例,看下图->:

下图中,我们

这张图说明的是前两种情况,接下来的图是第三种情况:

我们想要删除112里面的color目录,但是因为color目录中存在东西,所以不可以删除此目录


用法2: rmdir -p 目录名/目录名/......

我们上述中无法直接删除color目录,难到我们要一步一步进去删再一步一步出来吗?

没这个必要,使用rmdir -p 递归删除,直接实现,如下图->:

可以观察到,color目录被全部删除了

 6.2 rm指令使用实例

用法1: rm -r 文件名/目录名

首先,rm的删除与rmdir类似,都是不可以删除当前目录或者一切的上级目录

但是如果rm删除的目录中存在其他东西,是可以删除的

效果如下->:

我们讲解一下上图,(别看话长但很简单)首先我们观察到,big目录中存在一个文件test999,我们返回上级目录112,接着删除big目录,它问我们,确定要删除big目录吗?我们回答y(yes),接着,它检测到big目录中存在test999文件,它就会又问我们,要删除test999文件吗?(因为如果不删除此文件,无法删除目录),我们回答yes。那么文件删掉了,它会递归回来,问我们确定要删除big目录吗?我们再回答y,此时成功删掉了。

声明: 不删除回答n


用法2: rm -rf 文件名/目录名

使用rm -rf可以无视文件权限,直接删除目录/文件,也就是不会再询问你,如下图->:


用法3: rm 文件名

使用rm 文件名可以删除文件,但是不可以删除目录,如下->:

可以观察到,rm直接加文件是不可以删除的,因为rm删除文件需要使用rm -r,但是rm 文件名可以删除文件

7.man指令

语法: man [选项] 命令

功能: 查找命令如何使用


常用选项:

-k 根据关键字搜索联机帮助

num 只在第num章节查找

-a 将所有章节显示出来,比如man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当摁下q退出,他会继续往后面搜索,直到所有章节都搜索完毕


解释一下 ,man 手册分为8章
1 是普通的命令
2 是系统调用 , 如 open,write 之类的 ( 通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
3 是库函数 , 如 printf,fread4 是特殊文件 , 也就是 /dev 下的各种设备文件
5 是指文件的格式 , 比如 passwd, 就会说明这个文件中各个字段的含义
6 是给游戏留的 , 由各个游戏自己定义
7 是附件还有一些变量 , 比如向 environ 这种全局变量在这里就有说明
8 是系统管理用的命令 , 这些命令只能由 root 使用 , 如 ifconfig

8.cp指令

语法: cp [选项] 源文件或目录  目标文件或目录

功能: 在当前目录下查找,并复制文件或目录


说明:

cp 指令用于复制文件或目录

如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中


常用选项:

-f 或 --force  强行复制文件或目录, 不论目的文件或目录是否已经存在
-i 或 --interactive 覆盖文件之前先询问用户
-r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理

8.1 cp 使用实例

用法1: cp -r 源目录/文件 目标目录/文件

首先我们看一下下图,观察到112目录下有许多目录,我们想要实现目录的复制或者文件的复制就需要使用cp -r

比如,我们现在就想把lesson1目录复制进lesson2目录中,我们可以这样写:

可见,lesson1被复制到lesson2中了

额外补充:如果cp的目标文件/目录不存在,则会自己创建一个目标文件/目录,如下图->:


用法2: cp -i  文件名

上述讲解中,如果有同志自己尝试会发现cp其实没有 -r 是不可以复制目录的(源文件是目录不可以,目标目录无所谓),但是cp -r 既可以操作目录又可以操作文件,所以这里没有讲解,只需要记住无时无刻加 -r 即可

cp -i 的作用为在覆盖文件之前先询问用户,注意,我说的是 "覆盖" ,不是复制

覆盖是文件名重复的意义,如下->:

这里lesson1中的apple复制到lesson2中的apple就属于覆盖,加-i会在拷贝前询问你(其实不加也会询问)

9.mv指令

语法: mv [选项] 源文件或目录 目标文件或目录 

功能: 

1. 视 mv 命令中第二个参数类型的不同(是目标文件还是目标目录), mv 命令将文件重命名或将其移至一个新的目录中。
2. 当第二个参数类型是文件时, mv 命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个, mv 命令将各参数指定的源文件均移至目标目录中。


常用选项 :

-f  : force  强制的意思,如果目标文件已经存在,不会询问而直接覆盖

-i  :若目标文件  (destination)  已经存在时,就会询问是否覆盖!

9.1mv使用实例

用法1: mv 文件/目录名 文件/目录名(重命名功能)

mv 文件名 文件名可以实现文件名的重定义,也就是改名(即覆盖),这里演示一下

如图,我们将apple文件的名字更改为了peach


如果我们改的名字与别的文件名字重复了,那就会实现覆盖,演示一下->:

将peach更改为apple会进行覆盖,还询问了我们一下


用法2: mv 文件/目录 路径(转移功能)

可见,将lesson1中的apple文件转移到了上级目录中

再看一个->:


用法3: mv 文件名 路径+新名字

这个指令会将两个操作同时进行,结果就是转移到了新路径下并且更换了名字

将lesson2目录转移到了root目录下

10.cat指令

语法:  cat [ 选项 ][ 文件 ]

功能:  查看目标文件的内容


常用选项 :

-b 对非空输出行编号

-n 对输出的所有行编号

-s 不输出多行空行

10.1cat使用实例

用法1: cat 文件名

11.完结

2a775d9141e049b28a499aa8c5166913.png

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词