Shell
Shell 就是这样的一个命令行工具。Shell(也称为终端或壳)充当的是人与内核(硬件)
之间的翻译官,用户把一些命令“告诉”终端,它就会调用相应的程序服务去完成某些工作。
现在包括红帽系统在内的许多主流 Linux 系统默认使用的终端是 Bash(Bourne-Again SHell)
解释器。主流 Linux 系统选择 Bash 解释器作为命令行终端主要有以下 4 项优势,读者可以在
今后的学习和生产工作中细细体会 Linux 系统命令行的美妙之处,真正从心里爱上它们。
➢ 通过上下方向键来调取过往执行过的 Linux 命令;
➢ 命令或参数仅需输入前几位就可以用 Tab 键补全;
➢ 具有强大的批处理脚本;
➢ 具有实用的环境变量功能。
在一个命令中运行多个命令
假设您必须一个接一个地运行几个命令。您是否在等待第一个命令完成运行,然后执行下一个命令?
那么,您可以使用“;”分隔符。这样,您可以在一行中运行许多命令。无需等待先前的命令完成后再执行其他任务。
command_1; command_2; command_3
仅在上一个命令成功的情况下,才能在一个命令中运行多个命令
在这种情况下,可以使用&&分隔符。&&确保下一条命令仅在上一条命令成功执行时运行。
command_1 && command_2
此命令的一个很好的例子是当您使用sudo apt update && sudo apt upgrade升级系统时。
读取压缩日志而不解压缩
这样您就可以使用zless,zcat,zgrep等命令查看压缩包的内容,甚至不必显式提取压缩文件。
终止正在运行的命令/进程
如果有一个命令正在运行运行,并且您想退出该命令,则可以按Ctrl + C停止该正在运行的命令。
命令别名
alias 命令也是一个内建命令,允许你为常用的命令和参数创建另一个名称,从而减少输入。在系统中已经设置好了一些常用的命令的别名。查看当前可用的别名使用alias -p
alias 命令来创建属于自己的别名。把ls -li 长列表命令参数改别名为li
# alias li='ls -li'
# li
一但定义好了别名就可以随时在shell中使用,但要注意的是只有在当前进程中才有效。
# bash
# li
未找到命令
# exit
# li
外部命令
内部命令不需要使用子进程来执行,它们已经和shell编译成一体,作为shell工具的组成部分存在。不需要借助外部程序文件来运行。它们是一些比较简单的linux系统命令。
要分区是外部命令还是内部命令可以使用type 来查看,如下图查看cd是内部还是外部命令
外部命令是存在于bash shell之外的程序,它们不是shell程序的一部分,外部命令程序通常位于/bin, /usr/bin, /sbin, /usr/sbin中。 ps就是一个外部命令,使用type查看
# type java
当命令是外部命令时,type还会显示外部命令所在路径
执行查看帮助命令
命令名称 [命令参数] [命令对象]
注意,命令名称、命令参数、命令对象之间请用空格键分隔。
命令对象一般是指要处理的文件、目录、用户等资源,而命令参数可以用长格式(完整的选
项名称),也可以用短格式(单个字母的缩写),两者分别用–与-作为前缀。
参数值需要随不同的命令和需求情况而发生改变。
长格式 man --help
短格式 man -h
当你需要查看某个命令的参数时不必到处上网查找,只要man一下即可。
man echo
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY