news 2026/4/16 18:18:51

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/4/16 12:43:03

提升RAG准确率30%?看看Kotaemon是怎么做到的

提升RAG准确率30%?看看Kotaemon是怎么做到的 在构建企业级智能问答系统时,你是否遇到过这样的尴尬场景:用户问“我们最新的报销政策是什么”,模型回答得头头是道,引用格式也漂亮,可事后一查——内容完全是“…

作者头像 李华
网站建设 2026/4/16 16:11:22

ACS运动控制器 常用指令

ACS 运动控制器的核心指令集基于SPiiPlus Language (SPL),覆盖轴控制、运动规划、IO 交互、程序流、事件触发、系统管理等全维度,以下是按功能分类的完整指令体系(含 ACS 主流控制器(SPiiPlus/CM/SB 系列)通用指令,特殊型号差异会标注): 一、基础语法指令(类 C,通用…

作者头像 李华
网站建设 2026/4/16 12:40:43

不想被大模型忽悠?Kotaemon让你看到每一步推理过程

不想被大模型忽悠?Kotaemon让你看到每一步推理过程 在金融客服系统中,一位用户问:“上个月逾期还款会影响征信吗?” 如果AI只是凭直觉回答“不会”,而没有依据支撑——这不仅可能误导客户,还可能引发合规风…

作者头像 李华
网站建设 2026/4/16 14:23:08

Kotaemon如何实现工具调用与动态决策链?

Kotaemon如何实现工具调用与动态决策链? 在企业级智能对话系统日益复杂的今天,用户早已不再满足于“问一句答一句”的机械式交互。他们期望的是一个能理解上下文、主动解决问题、甚至跨系统协同操作的“数字员工”。然而,大多数现有方案仍停留…

作者头像 李华
网站建设 2026/4/16 12:40:40

MySQL不需要CPU?

MySQL 当然需要 CPU —— 说“MySQL 不需要 CPU”是一个严重误解。 MySQL 是一个复杂的关系型数据库管理系统(RDBMS),它的每一项核心功能——从解析 SQL 语句、执行查询计划、管理事务、到写入磁盘——都高度依赖 CPU 资源。虽然 I/O&#xf…

作者头像 李华