目录

Linux-基础指令实战新手入门的命令行操作核心教程第一篇

《Linux 基础指令实战:新手入门的命令行操作核心教程(第一篇)》

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

https://i-blog.csdnimg.cn/direct/0240679f0e9a49daa783604e7251109c.gif

**前引:**当你第一次面对 Linux 系统中那片闪烁着光标、只有黑白字符的终端界面时,或许会和很多初学者一样感到些许茫然:这些由字母和符号组成的 “指令” 究竟该如何输入?它们又能完成哪些神奇的操作?其实,Linux 指令并非遥不可及的 “技术密码”,而是我们与系统高效沟通的 “语言工具”—— 就像第一次学说话、第一次学写字那样,只要迈出最基础的第一步,你就能逐渐感受到它精准、快捷的魅力。对于初次接触的人来说,不必急于掌握复杂的命令组合,我们只需从最常用的基础指令开始,一点点熟悉 “输入 - 反馈” 的逻辑,就能慢慢打破对 Linux 终端的陌生感。接下来,这篇入门指南将带你从零出发,认识那些最适合新手的 “第一个 Linux 指令”,帮你轻松开启与 Linux 系统的第一次 “对话”!


【一】Linux介绍

Linux属于一种开源(公开源码)的操作系统,最开始由林纳斯托瓦兹提出并出版,后开放源码供世界各大优秀专家自由编写的操作指令,因此具备安全、高效、免费等特征,为各大企业首选的操作系统!

那么何为操作系统?如下图

操作系统是计算机的大脑:它隐藏了硬件的复杂性,让用户和程序能简单、安全地使用计算机资源。从手机的Android到服务器的 Linux,再到个人电脑Windows,操作系统的本质都是硬件资源的管理者、软件运行的支撑者、人机交互的桥梁(操作系统是在一切应用之上的)

**总结:**操作系统是一款做软硬件管理的软件

为何要有操作系统?

操作系统越稳定、安全、高效对软硬件的管理也越好,也可以更加处理用户提出的各种应用需求。例如:如果你在打游戏,当你通过按键发出指令,如果是因为系统问题很卡、指令延迟那么你对这款产品的评价大大下降,谁会购买?这就是操作系统需要稳定高效的原因!

图解释:

用户发出指令(Linux指令)->操作系统接收->命令驱动程序->执行各种硬件->完成设备运行

(1)我们在计算机上的所有行为都会转化为硬件行为

(2)我们的应用行为,都为向下贯穿整个计算机的软硬件结构,因此就势必会经过操作系统

https://i-blog.csdnimg.cn/direct/60d1c99cd86945c583d37665f98a95ae.png

【二】Linux指令准备(云服务器版)

(1)安装Xshell

首先需要前往官方安装家庭学校免费版的Xshell:

(2)登录绑定云服务器

(1)首先我们在这个界面输入:ssh root@云服务器公网IP

https://i-blog.csdnimg.cn/direct/6708a05333814921966f192d2e313000.png

(2)然后回车,再次输入云服务器密码

https://i-blog.csdnimg.cn/direct/365efcef04a74f61b5ac17a808bb9b66.png

(3)完成登录

出现“WARNIG”说明登录服务器成功,下面可以开始学习指令了!

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

【三】Linux基本指令学习

(1)ls指令

下面我们开始学习 ls  指令,可以搭配各种操作,类似学习语法,需要记住指令和特性!

注意:ls 指令的功能是 “列出指定路径下的文件 / 目录”(默认列出当前目录)

(1)ls

如果只输入 ls  ,它会显示当⽬录下的所有⼦⽬录与⽂件的简单信息,例如:

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

(2)ls -l

如果觉得 ls 输出的文件/目录信息不够完整,可以输入 ls -l ,会显示文件/目录所有属性信息

https://i-blog.csdnimg.cn/direct/367e13aeff424cb3a6e418aa16fa9f7c.png

我们可以看到第二次指令的输出更加的详细一些,各种属性我们后面再去了解!ls -l也可以简写为:**ll,**效果是一样的如下:

https://i-blog.csdnimg.cn/direct/89b05af0fd284067827a315c6d60fc76.png

注意:(1)文件 = 文件内容 + 文件属性

           (2)文件操作:对文件内容的操作或者对文件属性的操作

           (3)以 d 开头的文件表示它是一个目录

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

(3)ls -a

输入ls -a会显示列出⽬录下的所有⽂件,包括以 . 开头的隐含⽂件,例如:

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

我们可以看到 ls -a 输出的文件更加的多,那是输出了隐藏的文件!

在Linux中以 . 开头的文件我们一般称为隐藏文件。例如:

https://i-blog.csdnimg.cn/direct/122e9b57c2b04bd8913a2edcb98dd71a.png

我们可以看到上面的截图中出现了两种符号:.  .. 也就是一个点和两个点

(1)Linux任何目录下都有两个隐藏文件

(2)一个点 “.” :表示当前路径,帮我们定位当前目录的下一个文件

(3)两个点“..” :表示当前路径的上一级文件

(4)ls -f

输入 ls -f指令会在每个文件后面增加一个标记:用来说明该文件的类型,例如:

“*”表⽰可执⾏的普通⽂件

“/”表⽰ ⽬录;“@”表⽰符号链接

“|”表⽰FIFOs

“=”表⽰套接字(sockets)

https://i-blog.csdnimg.cn/direct/286b84b02aae4de198597c9f25b138de.png

我们可以看到上面出现的文件后面都有一个标记,我们可以根据标记识别文件的类型!

(5)ls *.c

作用:列出当前目录下所有以 .c 结尾的文件

  • *.c 是 “通配符表达式”,其中 * 是 Linux shell 中最常用的通配符,代表 “任意长度的任意字符”(包括 0 个字符);.c 则是固定后缀。两者结合后,*.c 会被 shell 自动解析为 “所有文件名以 .c 结尾的文件”。

举例来说,若当前目录有这些文件:
main.ctest.creadme.txtconfigutils.c

执行 ls *.c 后,终端会输出:
main.c test.c utils.c

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

如果是 ls text.* 呢?

ls text.* 是 Linux 中用于筛选特定文件的指令,作用是列出当前目录下所有以 text 为文件名前缀、且带有任意后缀的文件 / 目录

拆解说明:

  • ls 是核心命令,功能是列出指定条件的文件 / 目录。
  • text.* 是通配符表达式:
    • text 是固定的文件名前缀(严格匹配开头的这 4 个字符);
    • .* 中,. 是字面意义上的 “点”(分隔文件名主体与后缀),* 是通配符,代表 “任意长度的任意字符”(包括 0 个字符,即允许空后缀)。
(2)pwd指令

功能:显示当前用户所在的目录以及子目录,例如:

https://i-blog.csdnimg.cn/direct/65a503b0add94d1aa9e579faa7531e25.png

(3)cd指令

注意:cd 文件名cd 文件名/  的区别是带 / 的表示是目录,功能是一样的

cd 指令的作用是改变当前工作目录,但是在学习 cd  命令之前,我们需要学习几个知识点:

“路径”:

Linux系统中,磁盘上的⽂件和⽬录被组成⼀棵⽬录树,每个节点都是⽬录或⽂件,例如:

“/”表示跟目录,类似于根节点!

https://i-blog.csdnimg.cn/direct/018afaab13824f588c132c59aea89831.png

其中普通⽂件⼀定是⽬录树的叶⼦节点(一定是一个空目录,或者非空目录文件,路上节点一定是一个非空目录)

⽬录可能是叶⼦(空⽬录),也可能是路上节点,因为文件树由目录和文件组成

理解路径存在的意义:

树状组织⽅式,都是为了保证快速定位查找到指定的⽂件,⽽定位⽂件就 需要具有唯⼀性的⽅案来进⾏定位⽂件。其中任何⼀个节点,都只有⼀个⽗节点,所以,从根⽬ 录开始,定位指定⽂件,路径具有唯⼀性(因为每个子节点都只有一个父节点)

绝对路径:⼀般从/开始,不依赖其他⽬录的定位⽂件的⽅式

相对路径:相对于当前⽤⼾所处⽬录,定位⽂件的路径⽅式

例如:我们可以访问init.d文件的父节点rc.d,再访问rc.d的父节点,以此找到左边的文件

https://i-blog.csdnimg.cn/direct/6454d5127a4645428cb263a1fe439526.png

绝对路径⼀般不会随着⽤⼾的路径变化⽽丧失唯⼀性,在特定服务的配置⽂件中经常被使⽤

相对路径因为它的便捷性,⼀般在命令⾏中使⽤较多

Linux目录结构:这几个目录是默认存在的,如果删了需要重装系统

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

(1)cd  ..

输入 cd .. 指令回回到上级目录,例如:

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

(2)cd .

定位到当前目录(也就是不变),例如

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

(3)cd 绝对路径

用户在 cd 后输入一串路径,会严格按照路径方向到达指定路径,例如:

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

(4)cd 相对路径

用户在 cd 后输入 ..路径,会按照相对路径方向到达指定路径,例如:

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

(5)cd -

输入 cd - 指令,会回到最近一次的目录,例如:

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

(6)cd

会跳转到指定的目录,例如:

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

(4)touch指令

touch 基本指令是创建/更新一个文件/文件的时间戳

(1)touch

如果这个文件名本身存在,那么会更改它的修改时间

如果这个文件名本身不存在,那么会创建一个这样的文件

例如:我们先看一下当前所有文件/目录

https://i-blog.csdnimg.cn/direct/965119492fb34ac9a293980082dff913.png

然后我们 touch 一个不存在的文件名,看看是什么效果:

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

现在我们 touch 一个存在的文件,看是什么效果:

https://i-blog.csdnimg.cn/direct/251a70a7a3db4146922ea09d9edd9ea8.png

(2)touch -a

输入指令会更新文件的Access时间,例如:

https://i-blog.csdnimg.cn/direct/8010a9c7a0c34e4a851acb4b917a5ea3.png

(3)touch -m

输入指令会更新文件的Modify时间,例如:

https://i-blog.csdnimg.cn/direct/2c46f304e6a5449cb3dc12e53bdcf12f.png

(5)mkdir指令

mkdir操作的是目录,用来创建一个目录或者递归创建多个目录

(1)mkdir

该指令会创建一个指定名称的目录:

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

现在我们去执行 mkdir 指令:

https://i-blog.csdnimg.cn/direct/9951aeefe8d14e0a8ea52fe777fb579c.png

(2)mkdir -p

输入这个指令我们可以递归创建多个指定路径的目录,例如:

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

现在我们用 pwd 打开这个路径目录的所以子目录:可以看到是创建成功了的

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

(6)rmdir指令

rmdir是⼀个与mkdir相对应的命令,mkdir是建⽴⽬录,⽽rmdir是删除命令

语法: rmdir [-p] [dirName] 适⽤对象:具有当前⽬录操作权限的所有使⽤者

功能:删除空⽬录

**(1)**rmdir

输入这个指令为删除指令,例如:当前存在以下目录

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

现在我们删除一个文件/目录:

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

(2)rmdir -p

当⼦⽬录被删除后如果⽗⽬录也变成空⽬录的话,就连带⽗⽬录⼀起删除,例如:

我们之前创建了 path1/path2/path3/path4目录,现在我们去 -p  删除,但是发现删除不了

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

(7)rm指令

作用:删除⽂件或⽬录

  • rm -i 和 rm -f 是 rm 命令的选项,核心作用是控制删除时的交互行为(提示 / 不提示)
  • 它们的操作对象包括文件和目录,但删除目录必须配合 -r(递归)选项(如 rm -ir 或 rm -rf
(1)rm -f

作用:直接删除

(2)rm -i

作用:删除前逐⼀询问确认

(3)rm -r

作用:删除目录及其下所有文件(会提示)

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

https://i-blog.csdnimg.cn/direct/3286f15ec6054d729bb7004524b5e7f4.gif