初识Linux
这篇文章我将用Ubuntu来演示Linux部分指令以及对于指令的部分解释
1.安装Ubuntu
这里安装我也打算一笔带过,因为网上目前教程很多,我怕我说的不够详细。
不过这里我还是想先说明一下,为什么文章标题是Linux学习,这会又扯到Ubuntu了呢?
1.1 什么是Ubuntu?
众所周知,Linux是一个开源操作系统的内核,其最初由Linus Torvalds于1991年发布。内核是操作系统的核心部分,负责硬件资源的管理、进程调度、内存管理等功能。
而Ubuntu是基于Linux内核的操作系统发行版之一。它是由Ubuntu社区和Canonical公司支持维护的。Ubuntu将Linux内核与其他软件、用户界面和工具结合在一起,形成一个完整的操作系统。
1.2 安装
如果你的电脑是Windows,那么你将有三种方式来安装Ubuntu:
- 在虚拟机上安装Ubuntu
- 安装双系统
- WSL(Windows Subsystem for Linux), 适用于Linux的Windows子系统
我比较推荐第一种和第三种,如果你非常熟悉Linux指令的话,可以直接用第三种方式来学习并使用Linux系统,如果你是小白,那么第一种也是一个好方法
2. 初识终端
在你安装好Ubuntu之后,同时按下 Ctrl + Alt + T 键即可打开终端,或者是按Windows键(在Liinux中也称为super键),并输入终端(terminal)打开之后,你会看到这样一个界面:

由于我是用win11自带的Linux子系统来操作,所以看到的可能是cmd的界面。
到这一步之后,说明你已经有了自己的账号,并且能够进入Ubuntu终端,接下来就是下达指令了。
3. 开始下达指令
其实整个指令下达的方式很简单,你只要记得几个重要的概念就可以了,如下图:

上述指令详细说明如下:
-
一行指令中的一个输入的部分绝对是【指令(command)】或【可执行文件案(例如批次脚本,script)】
-
command 为指令的名称,例如变换工作目录的指令为 cd 等等;
-
中括号[]并不存在于实际的指令中,而加入选项设定时,通常选项前会带-号,例如 -h; 有时候会使用选项的完整全名,则选项前带有 -- 符号,例如 --help;
-
parameter1 parameter2 … 为依附在选项后面的参数,或者是command的参数;
-
指令,选项,参数这几个中间以空格来区分,无论是空几格 shell都视为一格,所以==空格是很重要的特殊字符!==
-
按下【Enter】键后,该指令就立即执行。
-
如果指令过长,则可以使用反斜杠(\)来跳脱【Enter】,使指令连续到下一行。
-
其他:
a. 在 Linux 系统中,英文大小写字母是不一样的。
b. 更多的介绍将在以后详述
4. 基础指令的操作
下面我将给出几个简单的指令,可以试着去查看输出结果:
- 显示日期与时间的指令:date
- 显示日历的指令:cal
- 简单好用的计算器:bc
注意:如果在输出时显示:
Command 'xx' not found, but can be installed with:
sudo apt install xx
请先输入 sudo apt install xx 将其下载,再进行使用
4.1 显示日期的指令:date
如果在文字接口中想要知道目前Linux系统的时间,那么就直接在指令列模式输入date即可显示:

上面显示的是:星期二,三月五日,16:41分53秒 2024年的CST时区
但是如果我们想让这个程序显示出【2024/03/08】这样类似的形式,这时候就应该使用date的格式化输出功能了:

这个【%Y/%m/%d】就是date命令的一些参数,至于这些参数,其实没有必要去背,之后会教学如何查参数。
4.2 显示日历的指令: cal
如果我想要列出目前这个月份的日历的话,可以直接使用cal:

当然,如果加了参数,它也可以显示这一年的日历情况(以下图片仅前九月日历):

cal这个指令可以接的语法为:cal [month] [year]
那如果我们来测试一下今年有没有13月的话,程序又会输出什么呢?

所以,某些指令有特殊的参数存在,如果输入了错误的参数,该指令就会有错误讯息的提示,透过这个提示我们可以了解指令下达错误之处。
总结:从上面的练习我们大概知道在指令模式里面下达命令时,主要有两种情况:
- 该指令会直接显示结果然后回到命令提示字符等待下一个指令输入
- 进入到该指令的环境,直到结束该指令才回到命令提示符的环境
4.3 几个重要的热键【Tab】,【Ctrl】-c,【Ctrl】-d
- 【Tab】按键
【Tab】可以说是Linux的Bash shell最棒的功能之一了,它具有【命令补全】和【文件补齐】功能,同时可以避免我们打错指令。比如上一小节提到的cal指令,如果我们输入ca之后再按【Tab】按键,会输出什么结果:

所有以ca为开头的指令都被显示出来了!那如果输入【ls -al ~/.bash】,再加【Tab】会发生什么?

该目录下以.bash为开头的文件名都被显示出来了!
所以总结:
- 【Tab】接在一串指令的第一个字后面,则为【命令补全】
- 【Tab】接在一串指令的第二个字以后时,则为【文件补齐】
==善用【Tab】可以避免很多输入错误的机会!==
- 【Ctrl】-c 按键
如果你的Linux底下输入了错误的指令,导致这个指令在系统下【跑不停】的时候,如果我们这时候想要强制停止这个程序,可以输入:【Ctrl】+ c 键(先按住【Ctrl】键,再按下c键)。举个例子,如果你输入了find /这个指令,系统会开始跑些东西,此时你按下【Ctrl】+ c 键,就会立即停止。
tips:这个组合键是可以将正在运作中的指令中断的,如果你正在运作比较重要的指令,先别急着用这个组合键!
- 【Ctrl】-d 按键
这个按键通常代表着:键盘输入结束(End Of File,EOF)。另外,它也可以取代exit的输入。如果你想要离开文字接口,直接按下这个组合键就可以了。
5. Linux系统的在线求助man page 与info page
首先让我们来了解一下Linux有多少指令。在文本模式下,你可以输入g加【tab】键来看总共有多少以g开头的指令可以让你用:

如图所示,在我的电脑中,有107个以g为开头的指令可以让kuansi这个账号使用。但是如果你要问Linux到底要不要背指令,我的回答是,可以背,但是背一些重要的指令即可,因为在Linux上开发的软件大多数都是自由软件/开源软件,这些软件的开发者为了让大家能够了解指令的用法,都会自行制作很多的文件,这些文件也可以在线查询。那我们来谈谈,Linux究竟有多少的在线文件数据呢?
5.1 指令的 --help求助说明
事实上,几乎Linux上所有的指令,在开发的时候,开发者就将可以使用的指令语法与参数写入指令操作过程中了!你只要使用--help这个选项,就能将该指令的用法作大概的理解了。比方说我们来看date这个指令的基本用法:

看一下上面的显示,首先是下达语法的方式(Usage),这个date有两种基本语法,一种是直接下达并取得日期回传值,并可以+FORAMAT 的方式来显示。另一种方式。则是加上MMDDhhmmCCYY[月月日日时时分分公元年]的方式来设定日期时间。再往下看,会说明主要的选项,例如 -d 的意义等。在这里你可以查找到之前我们用过的[ date +%Y%m%d]这个指令的选项与说明。
在这里我不会说太多关于如何记忆这些的事,不过如果是常用的指令,还是有必要学习的,选项则是通过 --help来快速查询。
5.2 man page
除了 --help 之外,Linux的其他求助系统同样也会告诉你如何使用指令。怎么查找呢,就是找男人(man)了,当然这个man指的是manual(操作说明)的简写。只要下达man date马上就会有清楚的说明摆在你的眼前:

看,马上就知道一大堆用法了!如此一来,不就能知道date的相关选项和参数吗?上面这个界面,我们称呼他为man page,你可以在里面查询其用法与相关参数说明。
表格第一行,我们能看到DATE(1),date是我们的指令名称,而这个1,指的是【一般用户可使用的指令】的意思。而其他数字也有自己不同的意义:
| 代号 | 代表内容 |
|---|---|
| 1 | 用户在shell环境中可以操作的指令或可执行文件 |
| 2 | 系统核心可呼叫的函数与工具等 |
| 3 | 一些常用的函数(function)与函式库(library),大部分为C的函式库 |
| 4 | 装置文件的说明,通常在/dev 下的文件 |
| 5 | 配置文件或是某些文件的格式 |
| 6 | 游戏(games) |
| 7 | 惯例与协议等,例如Linux文件系统、网络协议、ASCII code等等的说明 |
| 8 | 系统管理员可用的管理指令 |
| 9 | 跟kernel有关的文件 |
上述表格内容可以用【man man】来查看详细说明。
tips:上表中1、5、8特别重要,最好是可以将它记下来。
24 小登到此一游
👍👍👍
哥哥真厉害~
给java神跪了