目录

Linux指令-一Linux-命令行入门从零开始理解Linux系统理论核心概念与基础指令

目录

【Linux指令 (一)】Linux 命令行入门:从零开始理解Linux系统理论核心概念与基础指令

[https://csdnimg.cn/release/blogv2/dist/pc/img/Group-activityWhite.png 「开学季干货」:聚焦知识梳理与经验分享 10w+人浏览 1k人参与

https://csdnimg.cn/release/blogv2/dist/pc/img/arrowright-line-White.png]( )

https://i-blog.csdnimg.cn/direct/a9f7b2c3555344a5b6597e07a86c36f1.png

🔥艾莉丝努力练剑:

专栏传送门: 、 、 、 、

⭐️为天地立心,为生民立命,为往圣继绝学,为万世开太平


🎬艾莉丝努力练剑的简介:

https://i-blog.csdnimg.cn/direct/a2681abb447f4c22b2bb9906330b9d9f.gif


https://i-blog.csdnimg.cn/direct/e5de9198c1294b0dba55ab3feeb672ef.gif



前情提示

https://i-blog.csdnimg.cn/direct/92245556c2f5432c960b5bd621a4220c.png


一、前言:指令和理论如何学习

指令是控制Linux系统的基本方法。

博主在本专栏前期介绍Linux指令的时候大概会介绍40+的指令,博主还会补充一些指令,总计在50+以上。这些指令操作不用想着在刚开始学习时就直接掌握,一口气全背下来记忆成本太高了。博主在撰写博客的时候考虑到了这点,所以在介绍每个指令的时候会穿插介绍Linux系统本身的一些理论知识,这些才是真正需要理解消化的,当然不是说指令不重要,指令很重要,但是介绍完你就应该知道就那么回事,Linux这个操作系统本身的理论知识才是了解对应指令之后你需要去理解消化的重点。因此,虽然在初步学习Linux指令的过程中我们会介绍几十条指令,但是,哈哈,“但是”后面才是重点!我们学习Linux系统,光知道指令是远远不够的,我们的学习目标就是得在学习指令的同时穿插了解相关的Linux系统的理论知识,不断了解认识Linux这个系统,这才是我们学习的要领,至于那些指令,其实我们经常会用,知道了之后就算不上重点啦。

老话说,“没吃过猪肉还没见过猪跑吗”,所以博主在【前情提示】里面很笼统地放了本篇文章我们将要介绍的几个指令,大家先认识一下,和这些朋友见见面,接下来博主还会再简单介绍一下。

还是那句话,重点学习几个指令和Linux系统的理论知识,前者学完了就不是重点了,后者才是我们的学习时重点消化理解的内容!uu们,艾莉丝的Linux主线,正式发车啦!


二、快速认识一下几个基本指令的用法

这里只是为了让大家粗略认识一下,并不严谨,大家不用记,指令的用法博主后面会一个一个结合Linux系统的理论知识详细地去介绍,我们以后面为准。

clear(清楚历史命令)——如果指令已经写满屏幕了,用clear可以清除

pwd——查看当前工作路径

cd——更改工作路径

ls——查看当前路径下的文件

mkdir——新建文件夹(文件夹是Windows的讲法,Linux里面叫目录)

cd ..——回退到前一个路径

现在我们“见过猪跑”了,接下来应该“吃猪肉”了!博主一个指令一个指令给大家介绍。


三、补充说明

(一)标题说明

接下来博主会以“1234……”作为一级标题的序号来介绍对应指令,前面的【前言】、【快速认识一下几个基本指令的用法】还是用汉字的数字作为大标题的序列号索引,“1234……”也是为了方便记录对应的指令,方便以后索引查找,特此说明一下,感谢大家理解!

(二)Xshell 8登录说明

教大家几种登录方法——

1、方式一

如果出现了下图所示的绿色框框+黑屏,就可以输入ssh+空格+root@公网IP——

https://i-blog.csdnimg.cn/direct/50ea64bbd4ad483ca59e8fdcff638fe4.png

这样也可以登录——

https://i-blog.csdnimg.cn/direct/649b8a80e53e472290fe70837f6c347a.png

2、方式二

https://i-blog.csdnimg.cn/direct/372b7b1df1ef408c990923e20dba06c0.png

双击就可以进入了——

https://i-blog.csdnimg.cn/direct/b4acdf55b5234e48aa511d52d60accd2.png

(三)快捷键:Alt + Enter

https://i-blog.csdnimg.cn/direct/5e36b6bea78741dd9c9a0167d40a1829.png

同样按Alt + Enter就可以取消。

(四)Xshell的基本操作

https://i-blog.csdnimg.cn/direct/eeab61302aae484ba375eee9c9117274.png


1  ls

1.1  概念

ls(list:罗列)——罗列当前路径下的所有的文件详情(罗列文件的属性)

https://i-blog.csdnimg.cn/direct/3efdc3502c2a4bcd8ae46beaae8cc9f6.png

之前博主已经在/root路径下mkdir了一个dir1目录,所以这里ls出来的就是dir1。

1.2  如何理解文件?

问题:Windows下新建了一个空文件,占不占磁盘空间?

https://i-blog.csdnimg.cn/direct/f6d472b2e17b4c98862f3d27f0031ed4.png

占  ||  不占?

好,不卖关子了,我们直接说结论——占磁盘空间

文件  !=  文件内容

https://i-blog.csdnimg.cn/direct/b3b3cc49365a4ea7bf7d81cd54495b13.png

https://i-blog.csdnimg.cn/direct/405c372f37194df28e8b1c0bc3639470.png

这些属性操作系统都要记录。

**文件的属性数据,也叫做元信息。**是不是数据?也是数据,也要保存!

文件  =  文件的内容  +  文件的属性

https://i-blog.csdnimg.cn/direct/61639c0dfbb5411f8f9348a4d4fa54d0.png

之前C语言里面学过文件操作,忘了【文件操作】的uu们可以去看博主之前写的这两篇文章——

https://i-blog.csdnimg.cn/direct/a1f668f5858d4c4c95488aedf50df057.png

1.3  为什么要有路径?

https://i-blog.csdnimg.cn/direct/5875949111ed494e9ccfa54ad2a5d36e.png

1.4  ls -a

https://i-blog.csdnimg.cn/direct/daf74d63ad88487483ca3a6a4fae8410.png

1.5  ls -l

https://i-blog.csdnimg.cn/direct/ccbf9dba492949468678864684d23804.png

1.6  ls -a -l

效果相同,选项未来可以进行组合——

https://i-blog.csdnimg.cn/direct/7016db62945f41c8923b2fe61f023551.png

1.7  .(隐藏文件)

https://i-blog.csdnimg.cn/direct/17dfe128ac074a0586612e585899f92d.png

Windows中也有对文件进行隐藏的效果——

https://i-blog.csdnimg.cn/direct/701fe811e3f44ada88c9d85935f26dfb.png

1.8  ls -l  ==  ls(重命名)

ls -l

https://i-blog.csdnimg.cn/direct/156c662b6a6d497887d1cc6afc370966.png

ll

https://i-blog.csdnimg.cn/direct/13e6f069c2e849ddbd05cc4564247957.png

换个例子对比一下

https://i-blog.csdnimg.cn/direct/1f10a2f3e5164e238daaa23ee6e8ba3b.png

1.9  举例

[whb@bite-alicloud test]$ ls
dir file.txt
[whb@bite-alicloud test]$ ls -a
. .. dir file.txt
[whb@bite-alicloud test]$ ls -a -l
total 12
drwxrwxr-x 3 whb whb 4096 Jan 11 15:01 .
drwx------ 22 whb whb 4096 Jan 11 14:21 ..
drwxrwxr-x 2 whb whb 4096 Jan 11 14:22 dir
-rw-rw-r-- 1 whb whb 0 Jan 11 14:22 file.txt
[whb@bite-alicloud test]$ ls -a -l -F
total 12
drwxrwxr-x 3 whb whb 4096 Jan 11 15:01 ./
drwx------ 22 whb whb 4096 Jan 11 14:21 ../
drwxrwxr-x 2 whb whb 4096 Jan 11 14:22 dir/
-rw-rw-r-- 1 whb whb 0 Jan 11 14:22 file.txt
[whb@bite-alicloud test]$ ls -alFn
total 12
drwxrwxr-x 3 1003 1003 4096 Jan 11 15:01 ./
drwx------ 22 1003 1003 4096 Jan 11 14:21 ../
drwxrwxr-x 2 1003 1003 4096 Jan 11 14:22 dir/
-rw-rw-r-- 1 1003 1003 0 Jan 11 14:22 file.txt

1.10  要点总结

1、文件  =  文件的内容  +  文件的属性;

2、路径是具有唯一性的。


2  pwd

2.1  概念

pwd:查看当前出在哪个路径下。

2.2  Windows && Linux 的路径分隔符

Windows:C:\尘白禁区\Snow\data(\:路径分隔符)

https://i-blog.csdnimg.cn/direct/71fac67b0bd841dfb9eba49c9cf9d2b0.png

Linux:/root/118(路径分隔符:/)

https://i-blog.csdnimg.cn/direct/884fd744fa614466966b59c4c75cb6cf.png

2.3  pwd在Xshell 8演示

https://i-blog.csdnimg.cn/direct/442eaa88c7d9407b983236be7721fbad.png

https://i-blog.csdnimg.cn/direct/8bd47a97d6794c72801904701cc4ab5a.png


3  cd

3.1  概念

cd:进入或者修改当前路径。

cd:路径切换——change directory(更改路径)****——自由进行路径切换。

cd .. :回退到上级路径,并显示当前路径(回退之后的、上一级路径)。

cd . :显示当前路径(一直cd .的话就一直不变)。

3.2  cd

进入当前路径——

https://i-blog.csdnimg.cn/direct/b2b1aa4c287a4ff2b578288c8b8f733f.png

语法:cd 目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下——

https://i-blog.csdnimg.cn/direct/7844a44ec2f14dff96d44958477761c1.png

3.3  cd .

显示当前路径。

https://i-blog.csdnimg.cn/direct/81ab58a8a0474197bb6a8933ff2e9399.png

就像下面这样——

https://i-blog.csdnimg.cn/direct/327eaf45c456430f911745bf893b2b9b.png

一直cd .的话就一直不变——

https://i-blog.csdnimg.cn/direct/7f0564ab08b2401cb02a29c7f3f3817a.png

3.4  ..

https://i-blog.csdnimg.cn/direct/a860aef6f62148b6b776fd3ef93b794a.png

3.5  cd ..

回退到上级路径,并显示当前路径(回退之后的、上一级路径)——

https://i-blog.csdnimg.cn/direct/838eea5d6ab946439decd7f7039eec19.png

https://i-blog.csdnimg.cn/direct/a43d3104f0bd4062b38d63d1a66be7a8.png

3.6  目录和文件夹

3.6.1  Linux  &&  Windows

https://i-blog.csdnimg.cn/direct/f756bbf104d04462ad5b7c566d2769b9.png

3.6.2  Linux目录结构

https://i-blog.csdnimg.cn/direct/47384a2e48d04b4aaf01dbe53245eed0.png

3.7  /——Linux根目录 && 路径分隔符

https://i-blog.csdnimg.cn/direct/061b1e8643874beda51f1ab337bd829b.png

3.8  树形结构

3.8.1  概念

之前在数据结构中我们学习过二叉树,Linux管理文件统一使用树形结构

https://i-blog.csdnimg.cn/direct/7e140ba43d0f4215b69ebbec67556f43.png

3.8.2  理解

https://i-blog.csdnimg.cn/direct/1bc4ffd2f26b47489b7f04278904a59c.png

像倒过来的多叉树,下面的树根就是根目录/

3.8.3  为什么具有唯一性?

https://i-blog.csdnimg.cn/direct/7c04bde3690a4d59af59af1da6ff9ffd.png

3.9  Windows也是树形结构

问大家一个问题:大家的电脑上有几块盘(磁盘)?不算台式机哦!

一块?两块?三块?…NONONO!

电脑上只有一块盘(硬盘)——像C、D、E、F、…这些叫做磁盘分区。

https://i-blog.csdnimg.cn/direct/8553ea05019a44ed8346bee08dcdc89e.png

这种我们其实可以当成文件夹来看,看了下面博主画的思维导图,大家就能理解了——

https://i-blog.csdnimg.cn/direct/57ad8bcde9ba470fb93c983e57c27f45.png

如图所示——构成多叉树——因此也是树形结构构建的目录结构。

3.10  .  &&  ..

https://i-blog.csdnimg.cn/direct/9114a5e6bd864d0fb74c3412aa573742.png

https://i-blog.csdnimg.cn/direct/701c3a6a1906483092eb9310a41b04b6.png

3.11  路径有什么用?

https://i-blog.csdnimg.cn/direct/1afe2885b2574c6d99f222804dc91af4.png

3.12  .有什么用?

https://i-blog.csdnimg.cn/direct/aa58b1be4101461386e303194bd68df5.png

3.13  绝对路径 && 相对路径

3.13.1  最佳实践:../dir1/test.c

1、相对路径,通常是进行命令行操作——相对于选择的一个目录为参照点(如/user)

2、绝对路径,通常会在配置文件中使用——是一种特殊的相对路径(相对于根目录)

3.13.2  回退到上一路径 && 回退到另一个目录下的文件

https://i-blog.csdnimg.cn/direct/610b0267b8f84a48b1974b2ed2b25e77.png

3.13.3  相对路径具有唯一性吗?

这个问题可能问得不是很清楚,博主再问一遍——

**相对路径可以有多个,那么任意一个相对路径是否唯一?**答案是——

具有唯一性,只不过具有唯一性的相对路径有多个。

3.13.4  同名文件的路径一样吗?

同一文件夹无同名文件,不同文件夹可以有同名文件(路径不一样了)。

3.14  cd的两种特殊用法:cd -  &&  cd ~

3.14.1  cd -

https://i-blog.csdnimg.cn/direct/319066221b364ce38f398c5471c000b7.png

3.14.2  cd ~

概念:****~ **——**当前所处的家目录。

3.15  普通用户 && 超级用户

https://i-blog.csdnimg.cn/direct/f02a7052309b433c8ca05b228a18483e.png

3.16  家目录(cd ~)

3.16.1  本质

**家目录:**操作系统的用户,在登录系统之后,默认所处的路径。

3.16.2  普通用户和超级用户的家目录(Linux的家目录)

https://i-blog.csdnimg.cn/direct/c9eefc739dc54701956d0de1148d2d1c.png

https://i-blog.csdnimg.cn/direct/7847e4fdea4f44e9b860a32995c1c0ae.png

3.16.3  Windows下的家目录

https://i-blog.csdnimg.cn/direct/f3f529a88a154b979fdba9a7e69c80c6.png


4  whoami

4.1  概念

指定用户在指定目录下。

4.2  实践

https://i-blog.csdnimg.cn/direct/96147c1fd52b4942b0c57a97cd479979.png


5  touch(“抚摸”)

5.1  概念&&功能

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

5.2  举例

# 创建普通⽂件 
[whb@bite-alicloud test]$ ls
dir file.txt
[whb@bite-alicloud test]$ touch newFile.txt
[whb@bite-alicloud test]$ ls
dir file.txt newFile.txt
# 查看⽂件时间 
[whb@bite-alicloud test]$ stat newFile.txt 
 File: ‘newFile.txt’
 Size: 0 Blocks: 0 IO Block: 4096 regular empty 
file
Device: fd01h/64769d Inode: 1844719 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1003/ whb) Gid: ( 1003/ whb)
Access: 2023-01-11 15:06:45.832787572 +0800
Modify: 2023-01-11 15:06:45.832787572 +0800
Change: 2023-01-11 15:06:45.832787572 +0800
Birth: -
# 修改⽂件access时间 
[whb@bite-alicloud test]$ touch -a newFile.txt 
[whb@bite-alicloud test]$ stat newFile.txt 
 File: ‘newFile.txt’
 Size: 0 Blocks: 0 IO Block: 4096 regular empty 
file
Device: fd01h/64769d Inode: 1844719 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1003/ whb) Gid: ( 1003/ whb)
Access: 2023-01-11 15:07:00.062846804 +0800
Modify: 2023-01-11 15:06:45.832787572 +0800
Change: 2023-01-11 15:07:00.062846804 +0800 # 该时间为何会变化? 
Birth: -
# 修改⽂件Modify时间 
[whb@bite-alicloud test]$ touch -m newFile.txt 
[whb@bite-alicloud test]$ stat newFile.txt 
 File: ‘newFile.txt’
 Size: 0 Blocks: 0 IO Block: 4096 regular empty 
file
Device: fd01h/64769d Inode: 1844719 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1003/ whb) Gid: ( 1003/ whb)
Access: 2023-01-11 15:07:00.062846804 +0800
Modify: 2023-01-11 15:09:19.428426903 +0800
Change: 2023-01-11 15:09:19.428426903 +0800
 Birth: -

5.3  用法一:创建一个新文件(普通文件)

https://i-blog.csdnimg.cn/direct/18611bc7b0f243fba52a3e965bd43d31.png


6  stat(补充命令)

6.1  “ACM”时间

https://i-blog.csdnimg.cn/direct/88b90a567aec4c198958919762cbd246.png

6.2  实践

https://i-blog.csdnimg.cn/direct/15eae9e0260043f3b0bdfd901a005fe0.png

大家可以去查一下——文件的属性里面的这三个时间都是什么意思


7  mv

7.1  概念

mv就是move,作用就是“改名”。

7.2  实践

**如果把test.c改成test.txt会怎么样?****再运行就会跑不出来;**改回去就又好了。

这里简单做个演示,大家可以下去自己写一个程序编译生成可执行程序再用mv试试。

https://i-blog.csdnimg.cn/direct/471b61189cfa4d5a82e271b10771d951.png

即mv test.c test.txt,为什么编译不过?

因为gcc编译关心后缀。

是的,编译不是Linux实现的,而是gcc实现的,Linux不关心后缀,但是gcc关心——

https://i-blog.csdnimg.cn/direct/effdb901030f4dbeaf167e877051b3bf.png

我们改回来就行——

https://i-blog.csdnimg.cn/direct/34e9fec7bc5d4c98a21f5e86619940a4.png


8  mkdir

8.1  概念

创建一个目录。

mkdir——make directory(制作路径)

8.2  创建一串路径

https://i-blog.csdnimg.cn/direct/42f5b2ed65f24a11bd9d085138cc8b9f.png

8.3  确实是树形结构(tree .)

https://i-blog.csdnimg.cn/direct/227bbbb4981f40b7aaa64eed50290e1b.png


9  tree:目录(补充命令)

9.1  下载

9.1.1  Centos 7下载指令

[root@VM-4-17-centos a]# yum install -y tree

https://i-blog.csdnimg.cn/direct/473de40f63734e3ab2be1075dfc3238b.png

9.1.2  Ubuntu下载指令

博主配置的云服务器是Centos的,所以Ubuntu的下载指令我就直接呈现在代码里面了——

apt install -y tree

9.1.3  Centos下载演示

https://i-blog.csdnimg.cn/direct/5f3c59e410c345dca7ee9c65b0906bc3.png

9.2  命令

tree .(当前路径,以树形结构呈现)

https://i-blog.csdnimg.cn/direct/227bbbb4981f40b7aaa64eed50290e1b.png

tree /(从根目录开始呈现)

tree a(查看a下的路径,并且以树形结构呈现)

9.3  tree的效果

可以确认目录是树形结构。


10  rm

10.1  删除注意事项

树形结构(递归构建生成)——递归删除

https://i-blog.csdnimg.cn/direct/b50e153624ee430e964d0e8dd2d2348f.png

10.1.1  对应指令:rm -r 目录

这个 r 就是递归这个单词的首字母。

rm -r a

如下图所示——

https://i-blog.csdnimg.cn/direct/26ba5cc06b8b4170b1310cd19fa486f9.png

y就是确认,n就是取消。

10.1.2  普通用户和超级用户之间的待遇差别

这里也可以看出普通用户和超级用户之间的待遇差别——

https://i-blog.csdnimg.cn/direct/41b8aa051a83430db811f287e489d2f7.png

10.2  指令

10.2.1  rm -r 目录名

前面介绍了,这里不再赘述——

https://i-blog.csdnimg.cn/direct/26ba5cc06b8b4170b1310cd19fa486f9.png

10.2.2  最佳实践

https://i-blog.csdnimg.cn/direct/1fd6395b911247b890726f33acc94aac.png

10.2.3  rm -i 文件

https://i-blog.csdnimg.cn/direct/58e4c3b0294841a283957b96b98c8d5a.png

博主自己理解的是,这个i应当是identify(确认/识别的意思)。

10.2.4 (高能警告!!!)删除根目录:rm -rf /

/——根目录也是目录:rm -rf / ——

https://i-blog.csdnimg.cn/direct/0f9ba8aebbef447487178d441f526cd0.png

10.2.5 (高能警告!!!)绝对路径删除目录:rm -rf /…/xxx.xxx

现在学习的时候也许还好,会很注意——要当心的是工作之后会不会犯这个错误(千万小心)。

https://i-blog.csdnimg.cn/direct/94b7048a687043d5b81f914365f8200e.png

下面博主会讲如果一不小心加了空格怎么办,挂掉可怕还是不挂掉可怕?工作后一不小心挂掉怎么给公司及时止损、以及怎么和公司平摊责任。

10.3  rm -rf /这里不小心加了空格怎么办?

10.3.1  解决方案

不要慌,直接重装系统——因为Linux系统不像Windows有回收站(是的,Linux没有…),Linux删了就是删了,没有回收站。

10.3.2  挂掉可怕还是不挂掉可怕?不挂掉更可怕!

挂掉不可怕,直接重装系统就好了;不挂掉才可怕(你不知道删了什么、重要不重要……)。

10.3.3  工作后挂掉Linux系统怎么处理?

工作后一不小心挂掉怎么给公司及时止损?怎么和公司平摊责任?

https://i-blog.csdnimg.cn/direct/7d103dd5f83747aabe75f9d16c1fc43a.png

10.4  扩展

Linux整体是一棵多叉树的树形结构。


11  rmdir

11.1  功能

rmdir只是为了进行删除空目录(非空删不掉)。

11.2  实践

注意——这里的dir1、Greyrat目录非空,dira目录为空

接下来博主分别做两个实验:非空目录能不能被rmdir删掉 && 空目录能不能被rmdir删掉——

**11.2.1****非空目录能不能被rmdir删掉——**不能

https://i-blog.csdnimg.cn/direct/5da227a210e24aec86da9aab0cfa05fe.png

**11.2.2****空目录能不能被rmdir删掉——**可以

https://i-blog.csdnimg.cn/direct/3f7d6ab2f59d46b990c58d8dff30b2b1.png

https://i-blog.csdnimg.cn/direct/affa443dcb6b423584c42eb5e233ab15.png

如上图所示——dira这个空目录就被rmdir给删掉了。


结尾

本文的内容到这里就全部结束了,感谢您的阅读!

往期回顾:

**结语:**本期我们继续学习了测试开发/测试内容中的用例篇,希望对学习测试开发/测试相关内容的uu有所帮助,不要忘记给博主“一键四连”哦!

🗡博主在这里放了一只小狗,大家看完了摸摸小狗放松一下吧!🗡

૮₍ ˶ ˊ ᴥ ˋ˶₎ა

https://i-blog.csdnimg.cn/direct/1c59d90b13c94ca88ff694cdc831a439.gif