news 2026/6/5 13:58:19

Linux命令学习

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux命令学习

Linux命令行

shell和终端

日常的基础应用都可以通过Linux系统的图形界面完成, 但界面做得再完善,还是有很多操作无法通过界面完成的,因为绝大部分程序本身根本就不提供界面, 或者界面只提供一小部分常用操作。但是几乎所有的程序都能通过命令行来调用运行, 并且通过命令行提供丰富的操作选项。尤其是做开发时,不要总想着有IDE,有当然好, 但我们要接受只能使用命令行的处境,实际上,用多了就习惯了。

Linus Torvalds(林纳斯)在其自传中提到,他在编写Linux操作系统内核的时候, 首要目标就是让Linux系统能兼容正常运行Unix下的Shell程序。因为Shell是命令行解释器, 他的Linux系统若能兼容Unix的Shell,那么大部分类Unix的程序也很容易做到兼容了。

在早期的Unix系统与用户就是通过Shell进行交互的,如下图所示,Shell对外接受用户输入的命令, 对内通过“系统调用”传递给内核,内核执行操作后把输出通过Shell呈现给用户,也就是说, Shell就是一个中间人。而Shell的英文原意是“壳”的意思,也是为了把它与内核区分开来

在平时的交流中,有时我们会说打开Shell、终端(Terminal)或控制台(Console), 严格来说它们实际上不是同一种的东西,但只要明白,当我们说打开Shell、终端或控制台的时候, 通常就是为了使用命令行控制系统。它们的严格区分如下,了解下即可:

Shell:指命令行解释器,常见的解释器有bash,sh,在Ubuntu系统默认用的是bash解释器, 所以有时说bash也是指命令行

终端(Terminal):通常指用来运行Shell的程序,视场景的不同有不一样的名称, 如Ubuntu系统自带的叫本地终端嵌入式开发板常常提供串口进行输入输出的串口终端通过网络访问的ssh终端

控制台(Console):特指某些终端,通常是指它的物理形态,如带键盘和显示器的物理设备。

打开终端的方法

板卡终端的打开方式有三种,大家可以选择自己最为方便的方式登录终端
1.串口连接(适合小白以及板卡在身边的)
2.ssh连接(适合远程用户)
3.桌面打开终端(适合桌面端用户)

串口连接

串口连接的方法
1.安装能够进行串口通讯的工具,这里推荐Mobaxterm
2.使用串口线连接板卡
3.配置Mobaxterm,使得Mobaxterm可与板卡通信

ssh连接

ssh连接的方法
1.板卡处于开机状态
2.板卡与通信的电脑连接在同一个局域网
3.打开可以ssh通讯的软件,这里推荐Mobaxterm
4.配置Mobaxterm,使得Mobaxterm可与板卡通信

桌面打开终端

可以在软件管理里打开Terminal
可以在键盘里按下“Ctrl + Alt + T”打开桌面终端

命令提示符

当我们打开终端后,我们可以看到终端本身显示了一行字符,而且按回车后会重复出现:

root@lubancat:~#

实际上这行提示符分成以下几个部分:

root :“@”符号的左侧,它表示的是当前登录用户,上图使用的是 root用户登录。

@ :分隔符号,可理解为at,表示root用户at主机lubancat上。

lubancat :当前系统的主机名。

“:” :分隔符号。

“~” :冒号后表示用户当前所在的目录,此处的波浪线表示当前用户的家目录, root用户的家目录为 /root ,普通用户的目录在 /home/(用户名)

“#”:命令提示符,Linux 用这个符号标识登录的用户权限等级。如果是超级用户, 提示符就是“#”,如果是普通用户,提示符就是“$”。

命令行体验

废话少说,在终端中输入如下命令,注意如果使用的是中文输入法,要记得把它切换成英文模式。 另外,在以下命令中的波浪号“~”也是英文符号,还要注意终端中所有的内容都是区分大小写的:

每行命令输入后按回车,Shell就会对输入的命令进行解释,执行后输出,运行结果如下所示。


以上各行命令的意义如下:

cd /home :执行 “cd”命令,并以“/home”作为参数,表示切换至/home目录,命令执行后,我们 可以看到命令提示符已从 root@lubancat:~# 变为 root@lubancat:/home# 即其中的波浪符号“~”已变成“/home”。

pwd:执行“pwd”命令,表示输出当前所在目录,可看到它的输出为“/home”,与命令提示符中的是一致的。

cd ~ :再次执行 “cd”命令,并以“”作为参数,表示切换至“”目录,命令执行后, 我们可以看到命令提示符中的路径已由“/home”变回“~”。

pwd:再次执行“pwd”命令,输出当前所在目录,可看到它的输出为/root, 是当前用户的家目录,与命令提示符中的“~”表示的意思是一致的。

touch + 文件名 创建文件

ls :执行“ls”命令,(注意这是字母L的小写, 不是数字1也不是字母i的大写),该命令表示列出当前目录下的内容

ls -l :执行“ls”命令,并带“ -l ”(同样地,注意这是L的小写,不是数字1也不是字母i的大写)选项, 该选项表示以列表的形式列出目录下的详细内容,可看到它比普通的ls命令多了很多内容,具体我们后面再分析。

命令的格式与帮助

命令的格式

通过以上的一些命令示例,我们大致可以归纳一下命令的格式:

command[-options][argument]

命令的组成一般分三部分,每部分之间使用空格隔开,说明如下:
command:命令名,如前面的cd命令,pwd命令,ls命令。
-options:命令的选项,使用 - 开头的或 – 开头,如前面示例 ls -l 中的 -l 选项, 命令会根据具体的选项执行不同的操作。使用 - 时一般是选项的简写, 一些选项可以同时使用, ls -la 等价于 ls -l -a ,即同时使用“l”和“a”选项。 而 – 一般后面带选项的全名,如 ls -a 等价于 ls --all 。
argument:命令参数,如前面cd命令中以“/home”可“~”参数作为路径名。

在命令格式中,使用“[ ]”括起来的内容表示它不是要求必需的,例如前面使用时cd命令时没有带选项, 使用pwd命令不带选项及参数。

命令的帮助

Linux下系统本身就支持数不清的命令,不同的命令又带不同的选项, 输入的参数往往又有不同的意义,除了丢下一句“用多了就会记住”这不负责任的说法外, 使用命令其实还是有一些门道的。
每个命令都会带有一个 -h 或者 --help 的参数,可以用来打印一些帮助说明。 比如,如果现在不知道ls的选项a有什么用法,那么就可以执行下面的命令:

ls--help


从上图中圈出来的地方,可以知道参数a可以只列出隐藏的内容。现在执行命令:

ls-a


从上图中可看到该执行后比直接用“ls”命令多列出了很多以“.”开头的内容, 在Linux下以“.”开头命名的文件或目录默认为隐藏文件,而ls的“-a”选项可以把它们显示出来。

补充说明一下,帮助信息中的 -a 后面还有 --all 参数,这两个参数是等价的,只不过 --all 会比 -a 好记。

自动补全

有些时候我们一时想不起命令的全称是什么,这时候就可以用到命令行的自动补全功能。就是键盘上神奇的“Tab”键。

假如我们知道有个命令是以“whic”开头,但想不起全称, 那么我们可以在终端输入“whic”然后按一下“Tab”键(在键盘上字母Q的左边),它会自动补全命令为“which”。

如果我们只记得命令是以“wh”开头的话,按一下“Tab”键发现它没反应, 这时我们尝试按两下“Tab”键,如下图所示。

终端输出了好多以“wh”开头的命令,如which,who,whoami等。

所以按一下“Tab”键时如果只有一个匹配的内容时它会自动补全,按两下“Tab”键则会列出所有的匹配项。

“Tab”键除了用来补全命令名,还可以自动补全路径,如我们使用cd命令输入“/home”参数时, 先输入“/ho”然后按下“Tab”键,它会把“/ho”自动补全为“/home”路径名,如下图所示。 这在使用命令行时是频繁使用的技巧,能减少我们的输入,而且不容易出错。

同时还能补全文件名,当你要操作文件时可以不用输入全名,输入部分名字然后按Tab键自动补全

#创建一个新文件 touch embedfire #输入cat em#按下Tab键,会自动补全文件名

命令的退出与取消

在应用中我们有时会想要中止命令的执行,或者命令输入到一半的时候觉得输错了不想继续, 这时我们都可以通过“Ct

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/2 7:55:06

资金管理平台的核心业务场景中,凡是涉及资金权属变动、资金形态转换、资金成本 / 收益确认的操作,都会触发会计核算需求。这些场景的核算结果需同步至财务系统(如 SAP FI 模块),确保资金流与账务流的

资金管理平台的核心业务场景中,凡是涉及资金权属变动、资金形态转换、资金成本 / 收益确认的操作,都会触发会计核算需求。这些场景的核算结果需同步至财务系统(如 SAP FI 模块),确保资金流与账务流的一致性。结合软件外…

作者头像 李华
网站建设 2026/6/3 20:20:13

5.5 信息论在机器学习中的应用:正则化、特征选择与模型比较

5.5 信息论在机器学习中的应用:正则化、特征选择与模型比较 信息论不仅为理解和量化信息提供了坚实的数学基础,其核心概念——熵、互信息和Kullback-Leibler散度——更在机器学习的算法设计、理论分析和实际应用中扮演着至关重要的角色。这些概念超越了其通信理论的起源,成…

作者头像 李华
网站建设 2026/6/2 20:21:00

一文搞懂 Function Calling、MCP、A2A 和 Skills

之前我们已经单独介绍了MCP、Fuction Calling、A2A乃至(Claude)Skills。 但是很多粉丝依旧觉得有些懵逼,我想了想原因,大概是单点知识不具备连贯性,要把他们完全搞懂,可能还是要从全局出发、从目的出发。 追…

作者头像 李华
网站建设 2026/6/4 21:23:00

如果同一份输入,多次执行结果不同,它就不该被称为“决策系统”

在当前大量 AI 系统被引入“决策场景”的背景下,我想先抛出一个看似基础、但长期被忽略的问题: 如果同一份输入数据,在不同时间、不同会话中多次执行,得到的决策结果不一致,这样的系统是否真的具备“决策能力”&#x…

作者头像 李华
网站建设 2026/6/2 22:37:33

关于工程实践的面试问题

文章目录1. 为什么要设计新的数据库Schema?2. 怎么保证新的Schema不污染老的,及项目上线注意事项?(1)避免新Schema污染老Schema的核心原则:**隔离性 兼容性**(2)上线注意事项&#…

作者头像 李华
网站建设 2026/6/2 16:42:03

免费内网穿透:三步免费将本地服务变成公网可访问的网站

官网:财运到免费内网穿透 无需公网IP,不用复杂命令,这个免费工具能让你的本地项目在几分钟内获得一个专属访问地址。 对于开发者、测试人员或是想临时展示作品的人来说,将运行在自己电脑(如 127.0.0.1:8080&#xff09…

作者头像 李华