如何在 Linux 中创建自己的命令?
yund56 2025-07-05 04:26 3 浏览
在本文中,让我们了解如何在 Linux 中创建您自己的命令,创建一个属于自己的别名命令。
Linux 中的 Alias 命令是什么?
该alias命令提供一个字符串值,用于在遇到命令名称时替换它。
该alias命令允许您为长命令创建快捷方式,使它们更易于记忆和使用。它将具有与运行整个命令相同的功能。
如何创建自己的 Linux 命令
使用该alias命令,您将能够创建自己的命令。创建自己的命令非常简单。
下面是该命令的语法alias:
alias [alias-name[=string]...]
让我们看一个创建您自己的命令的示例。
假设您要创建一个名为 的命令cdv,并且在终端中输入该命令应该会将您带到该Videos目录。
通常,要导航到目录,我们使用cd命令。要导航到Videos我们需要使用cd Videos如下屏幕截图所示:
让我们创建我们的命令cdv来导航到Videos目录。为此,您必须在终端中输入以下命令:
alias cdv="cd Videos"
我们已经创建了我们的命令。从上面的截图中,你可以看到它没有返回任何东西。
但是,我们如何验证命令是否已创建并且正在运行?
只有一种方法可以验证命令是否有效:那就是执行创建的命令。
在终端上运行 cdv 命令,看看会发生什么:
起作用了,直接进入了Videos目录,这样你就创建了自己的命令。
如何查看创建的别名命令
创建几个命令后,您可能会有以下问题:
假设我创建了多个别名命令。我怎样才能一起查看所有这些?如何查看别名的等效命令?
-p您可以通过将标志附加到命令来查看所有别名命令,alias如下所示:
alias -p
查看所有alias命令
我创建了许多别名命令。从上面的屏幕截图中,您可以看到我创建的所有别名命令。
如何在 Linux 中删除别名命令
将您的别名unalias作为参数传递给命令以删除别名命令。
unalias alias_name
如何在 Linux 中删除所有别名命令
假设您已经添加了大约 20 个别名命令。一段时间后,您意识到使用别名命令会使您长期忘记其他命令。由于担心,您希望删除所有别名命令。
我们有一个命令来实现这一点:
unalias -a
您可能想知道更多关于我在上面的段落中写的一件事。
“过了一段时间,你意识到使用别名命令会让你从长远来看忘记其他命令”这是你应该担心的事情吗?这会发生吗?
你的第一个问题的答案是,是的。当您学习和尝试别名命令时,您肯定会有这种感觉。因为我也有同样的感觉。
你的第二个问题的答案是,绝对不会。这将提高生产率。您很可能会忘记您创建的命令,但您永远不会忘记原始命令。所以我总是建议经常重新访问您的别名命令,并确保您正在使用您创建的所有别名命令。
我有一个令人震惊的惊喜给你。打开一个终端窗口并创建一个别名命令(我们将使用cdv上面创建的命令)。打开另一个终端窗口并cdv在其中键入命令。
终端命令显示不存在的别名命令的输出惊讶吗?
是的。如果您创建别名命令,它将仅对终端的特定实例有效。它不会永久创建,因此您将无法在两个不同的终端窗口中访问它,除非您alias在两个终端上运行该命令。
如何创建永久别名命令
要创建永久alias命令,您必须将别名命令添加到 shell 配置文件中。有许多 shell 配置可用。一些著名的 shell 是:
- Bash - ~/.bashrc
- Zsh - ~/.zshrc
- Fish - ~/.config/fish/config.fish
大多数 Linux 发行版都使用bash,所以让我们看看在 bash shell 中创建一个永久别名。其他 shell 的工作原理几乎相同。
让我们.bashrc使用 Vim 打开文件。
sudo vim ~/.bashrc
导航到文件底部,然后按i进入插入模式。添加要永久添加的别名命令。
alias cdv="cd Videos"
按Esc键并输入保存并退出 Vim :wq。
每次更改 shell 配置文件时,都必须重新加载该文件才能使更改立即生效。
默认情况下,您从现在开始打开的所有终端窗口都将包含您的别名命令。
可以打开多个窗口,输入alias -p命令查看。
尝试一些有用的别名命令
在我工作的公司,我们遵循共同的别名命令,我们在入职时在每个人的机器上设置这些命令。如果人们希望添加自己的命令,他们将能够这样做,并且不会反映给其他人(考虑到 OCP 原则)。我们觉得使用这些命令非常有效率。
别名命令 | 原始命令 | 描述 | |
f | cd $1 | 前进。导航到下一个指定目录 | |
b | cd .. | 向后走。返回 1 个目录 | |
c | code ./ | 在当前目录中打开 Visual Studio Code | |
e | exit | 关闭终端选项卡/窗口 | |
home | cd ~ | 导航到主目录 | |
a | xdotool key ctrl+shift+t | 打开一个新的终端选项卡 | |
cbd | cd - | 转到您之前所在的最后一个目录 | |
gst | git status | 查找 git repo 的状态 | |
gpr | git pull -r | 拉取并变基 git 提交 | |
glo | git log --oneline | 在单个简化行中显示 git 提交日志 | |
gcl | git config -l | 显示当前 repo 的 git 配置 | |
gca | git commit --amend | 将当前更改添加到现有提交 | |
gcane | git commit --amend --no-edit | 在不编辑现有提交消息的情况下将当前更改添加到现有提交 | |
ad | ~/Android/Sdk/emulator/emulator -list-avds | 显示可用的安卓模拟器 | |
off | sudo /opt/lampp/lampp stop | 关掉你的机器 | |
bb | if [ -z "$1" ] | 它是 go back 命令的高级版本。输入b命令只返回一个目录。但是输入 bb 会返回到 2 个目录。如果你想返回 5 个目录,运行 bb 5命令 | |
pokill | kill $(lsof -t -i:$1) | 杀死端口上运行的程序 | |
cc | sudo nano ~/x-commands/aliasCommands.sh | 编辑别名命令文件 | |
bc | sudo nano ~/.bashrc | 编辑.bashrc文件 | |
scc | source ~/x-commands/aliasCommands.sh | 更新别名命令后刷新终端 | |
bcc | source ~/.bashrc | .bashrc更新文件后刷新终端 | |
welcome | echo Welcome to shell automation | 验证别名命令安装是否正确完成 |
如何在单个别名命令中运行多个命令
您可以通过两种方式实现这一目标。让我在这里解释一下。
让我们通过一个例子来学习这个。
假设您必须创建一个名为gohome. 运行此命令应将您带到主目录并显示“导航到主目录”消息。
方法#1:
这种方式是添加命令的常用方式alias。您必须添加以分号 ( ;) 分隔的两个命令。
alias gohome="cd ~/;echo Navigated to home directory"
方法#2
这是一种不同的方式。为此,您必须对文件进行更改.bashrc。您必须在.bashrc文件中定义一个函数,并在其中嵌套所有命令。
使用 Vim打开.bashrc文件。
sudo vim ~/.bashrc
按i键进入插入模式。
gohome创建一个以上述 2 个命令命名的函数。
function gohome() {
cd ~/
echo Navigated to home directory
}
通过按下 键并在命令模式下Esc
键入来保存并退出 Vim 。:wq
通过运行重新加载终端source ~/.bashrc,您现在就可以验证gohome命令了。
注意:创建函数不会在运行alias -p命令时将其列为别名命令。
结论
在本文中,您学习了如何在 Linux 中创建自己的命令。
使用别名命令肯定会提高您的工作效率。在看到许多人使用别名命令后,我见证了他们的指数级增长。我建议你们都设置自己的别名命令。
- 上一篇:Linux基本命令
- 下一篇:Linux创建目录&文件夹(mkdir命令)
相关推荐
- 如何在Office 中编辑 PDF?附详细化步骤
-
PDF很受欢迎,因为它能在不同的设备和操作系统上仍然保持原有格式。但是,这也意味着直接更改PDF文件比其他格式更难更复杂。值得庆幸的是,Microsoftoffice和UPDF帮你解决这一难题。一...
- 我的 Windows 装机必备软件清单
-
今天给大家分享下我的装机必备软件,都是用了好多年的软件神器。靠谱、好用、无广告,Windows电脑必备软件,收藏这一篇就够了!01.浏览器王者:Chromehttps://www.google.c...
- Docnet Core 是一个轻量级、高性能的 .NET PDF 操作库
-
DocnetCore介绍DocnetCore是一个轻量级、高性能的.NETPDF操作库,依托于PDFium渲染引擎,提供强大的PDF文档解析、渲染、操作等功能。它完全支持.NET...
- 分享三款好用的PDF编辑软件,轻松处理PDF
-
作为一名需要经常和PDF文件打交道的工作者,我来分享一下几款好用的PDF编辑软件,并详细分析了它们的优缺点,希望能帮你找到合适的工具。1.AdobeAcrobatDC作为PDF格式的发明者,Ado...
- PDF文档创建工具软件:novaPDF OEM 11.9 Build 432 for Windows
-
novaPDFOEM是一款实用高效的软件,从头开始设计,让您尽可能轻松地在应用程序中添加PDF打印功能。换句话说,这个实用程序是专门为应用程序开发人员设计的,可以直接在程序安装程序中集成为PDF打印...
- 线性表顺序存储结构求集合的并,交,补,差(源代码附上 超详细)
-
一:算法分析1)用数组A,B,C,E表示集合。假定A={1,3,4,5,6,7,9,10}, B={2,,3,4,7,8,10},E={1,2,3,4,5,6,7,8,9,10}, 输入数组A...
- 分享一套SpringBoot开发博客系统源码,包含完整开发文档和视频
-
基本信息项目名称:eblog摘要:eblog是一个基于Springboot2.1.2开发的博客学习项目,为了让项目融合更多的知识点,达到学习目的,编写了详细的从0到1开发文档。主要学习包括:自定义Fr...
- 通达信指标合集〔源码齐全〕
-
很多朋友问到我哪款指标好用,这里我说一下,之所以有很多不同的指标是因为我们在针对不同的盘面情况的时候使用的指标是不同的,我给到的指标一般来讲就目前的环境来讲都是比较适合的,今天我就把我平时自己常用的指...
- 巅峰对决!Spring Boot VS .NET 6
-
SpringBoot和ASP.NETCore都是企业中流行的Web框架,对于喜欢C#的人会使用ASP.NETCore,而对于Java或Kotlin等基于JVM的语...
- 在asp.net core 中控制访问权限的方法
-
Intro#由于项目需要,需要在基于asp.netmvc的Web项目框架中做权限的控制,于是才有了这个权限控制组件,最初只是支持netframework,后来dotnetcore2.0...
- ASP.NET是否无生存之地?
-
ASP.NET,这个已经很久的技术,总觉得已经被时代淘汰,我们公司是一个10人小公司,几个十年十五年的项目还是用ASP.NET开发的。这两年由于客户的需求变化,我们公司也顺势开始对这些项目重新开发,改...
- Spring Boot + Vue.js 实现前后端分离(附源码)
-
作者:梁小生0101链接:juejin.im/post/5c622fb5e51d457f9f2c2381SpringBoot+Vue.js前后端涉及基本概念介绍,搭建记录,本文会列举出用到环...
- ASP.NET Core 中的 Mapster 使用入门教程
-
在本文中,我们将学习如何在ASP.NETCore应用程序中使用Mapster。首先,我们将了解Mapster是什么以及如何将其安装到.NETCore应用程序中。然后,我们将在使用...
- Asp.net常用方法及request和response-a
-
asp.net教程asp.net常用方法:1、Request.UrlReferrer请求的来源,可以根据这个判断从百度搜的哪个关键词、防下载盗链、防图片盗链,可以伪造(比如迅雷)。(使用全局一般处理...
- ASP.NET Core使用功能开关控制路由访问
-
前言在前面的文章,我们介绍了使用Middleware有条件地允许访问路由(《ASP.NETCore使用Middleware有条件地允许访问路由》)。而对于一些试验性的功能,我们并不希望用密码去控制是...
- 一周热门
- 最近发表
- 标签列表
-
- filter函数js (37)
- filter函数excel用不了 (73)
- 商城开发 (40)
- 影视网站免费源码最新版 (57)
- 影视资源api接口 (46)
- 网站留言板代码大全 (56)
- java版软件下载 (52)
- java教材电子课本下载 (48)
- 0基础编程从什么开始学 (50)
- java是用来干嘛的 (51)
- it入门应该学什么 (55)
- java线上课程 (55)
- 学java的软件叫什么软件 (38)
- 程序开发软件有哪些 (53)
- 软件培训 (59)
- 机器人编程代码大全 (50)
- 少儿编程教程免费 (45)
- 新代系统编程教学 (61)
- 共创世界编程网站 (38)
- 亲测源码 (36)
- 三角函数积分公式表 (35)
- 函数的表示方法 (34)
- 表格乘法的公式怎么设置 (34)
- sumif函数的例子 (34)
- 图片素材 (36)