thumbnail
Linux学习笔记-初识Linux
本文最后更新于 597 天前,其中的信息可能已经有所发展或是发生改变。

初识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)打开之后,你会看到这样一个界面:

image-20240305161138968

由于我是用win11自带的Linux子系统来操作,所以看到的可能是cmd的界面。

到这一步之后,说明你已经有了自己的账号,并且能够进入Ubuntu终端,接下来就是下达指令了。

3. 开始下达指令

其实整个指令下达的方式很简单,你只要记得几个重要的概念就可以了,如下图:

image-20240305162043216

上述指令详细说明如下:

  1. 一行指令中的一个输入的部分绝对是【指令(command)】或【可执行文件案(例如批次脚本,script)】

  2. command 为指令的名称,例如变换工作目录的指令为 cd 等等;

  3. 中括号[]并不存在于实际的指令中,而加入选项设定时,通常选项前会带-号,例如 -h; 有时候会使用选项的完整全名,则选项前带有 -- 符号,例如 --help;

  4. parameter1 parameter2 … 为依附在选项后面的参数,或者是command的参数;

  5. 指令,选项,参数这几个中间以空格来区分,无论是空几格 shell都视为一格,所以==空格是很重要的特殊字符!==

  6. 按下【Enter】键后,该指令就立即执行。

  7. 如果指令过长,则可以使用反斜杠(\)来跳脱【Enter】,使指令连续到下一行。

  8. 其他:

    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即可显示:

image-20240305164212050

上面显示的是:星期二,三月五日,16:41分53秒 2024年的CST时区

但是如果我们想让这个程序显示出【2024/03/08】这样类似的形式,这时候就应该使用date的格式化输出功能了:

image-20240308143153255

这个【%Y/%m/%d】就是date命令的一些参数,至于这些参数,其实没有必要去背,之后会教学如何查参数。


4.2 显示日历的指令: cal

如果我想要列出目前这个月份的日历的话,可以直接使用cal:

image-20240308143546157

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

image-20240308143649956

cal这个指令可以接的语法为:cal [month] [year]

那如果我们来测试一下今年有没有13月的话,程序又会输出什么呢?

image-20240308143936510

所以,某些指令有特殊的参数存在,如果输入了错误的参数,该指令就会有错误讯息的提示,透过这个提示我们可以了解指令下达错误之处。

总结:从上面的练习我们大概知道在指令模式里面下达命令时,主要有两种情况:

  • 该指令会直接显示结果然后回到命令提示字符等待下一个指令输入
  • 进入到该指令的环境,直到结束该指令才回到命令提示符的环境

4.3 几个重要的热键【Tab】,【Ctrl】-c,【Ctrl】-d

  • 【Tab】按键

【Tab】可以说是Linux的Bash shell最棒的功能之一了,它具有【命令补全】和【文件补齐】功能,同时可以避免我们打错指令。比如上一小节提到的cal指令,如果我们输入ca之后再按【Tab】按键,会输出什么结果:

image-20240308150050985

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

image-20240308150438110

该目录下以.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开头的指令可以让你用:

image-20240311191901152

如图所示,在我的电脑中,有107个以g为开头的指令可以让kuansi这个账号使用。但是如果你要问Linux到底要不要背指令,我的回答是,可以背,但是背一些重要的指令即可,因为在Linux上开发的软件大多数都是自由软件/开源软件,这些软件的开发者为了让大家能够了解指令的用法,都会自行制作很多的文件,这些文件也可以在线查询。那我们来谈谈,Linux究竟有多少的在线文件数据呢?

5.1 指令的 --help求助说明

事实上,几乎Linux上所有的指令,在开发的时候,开发者就将可以使用的指令语法与参数写入指令操作过程中了!你只要使用--help这个选项,就能将该指令的用法作大概的理解了。比方说我们来看date这个指令的基本用法:

image-20240311192818375

看一下上面的显示,首先是下达语法的方式(Usage),这个date有两种基本语法,一种是直接下达并取得日期回传值,并可以+FORAMAT 的方式来显示。另一种方式。则是加上MMDDhhmmCCYY[月月日日时时分分公元年]的方式来设定日期时间。再往下看,会说明主要的选项,例如 -d 的意义等。在这里你可以查找到之前我们用过的[ date +%Y%m%d]这个指令的选项与说明。

在这里我不会说太多关于如何记忆这些的事,不过如果是常用的指令,还是有必要学习的,选项则是通过 --help来快速查询。


5.2 man page

除了 --help 之外,Linux的其他求助系统同样也会告诉你如何使用指令。怎么查找呢,就是找男人(man)了,当然这个man指的是manual(操作说明)的简写。只要下达man date马上就会有清楚的说明摆在你的眼前:

image-20240311204647856

看,马上就知道一大堆用法了!如此一来,不就能知道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特别重要,最好是可以将它记下来。

评论

  1. kk
    2 年前
    2024-11-25 21:00:45

    24 小登到此一游

  2. xxxx
    2 年前
    2024-11-25 21:36:31

    👍👍👍

  3. nd
    2 年前
    2024-11-26 9:13:58

    哥哥真厉害~

  4. 111
    2 年前
    2024-11-26 18:55:10

    给java神跪了

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇