4 种绕过 Linux/Unix 命令别名的方法
创始人
2024-03-01 22:00:24
0

我在我的 Linux 系统上定义了如下 mount 别名:

alias mount='mount | column -t'

但是我需要在挂载文件系统和其他用途时绕过这个 bash 别名。我如何在 Linux、*BSD、macOS 或者类 Unix 系统上临时禁用或者绕过 bash shell 呢?

你可以使用 alias 命令定义或显示 bash shell 别名。一旦创建了 bash shell 别名,它们将优先于外部或内部命令。本文将展示如何暂时绕过 bash 别名,以便你可以运行实际的内部或外部命令。

4 种绕过 bash 别名的方法

尝试以下任意一种方法来运行被 bash shell 别名绕过的命令。让我们如下定义一个别名

alias mount='mount | column -t'

运行如下:

mount

示例输出:

sysfs                        on  /sys                             type  sysfs            (rw,nosuid,nodev,noexec,relatime)
proc                         on  /proc                            type  proc             (rw,nosuid,nodev,noexec,relatime)
udev                         on  /dev                             type  devtmpfs         (rw,nosuid,relatime,size=8023572k,nr_inodes=2005893,mode=755)
devpts                       on  /dev/pts                         type  devpts           (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs                        on  /run                             type  tmpfs            (rw,nosuid,noexec,relatime,size=1610240k,mode=755)
/dev/mapper/ubuntu--vg-root  on  /                                type  ext4             (rw,relatime,errors=remount-ro,data=ordered)
/dev/sda1                    on  /boot                            type  ext4             (rw,relatime,data=ordered)
binfmt_misc                  on  /proc/sys/fs/binfmt_misc         type  binfmt_misc      (rw,relatime)
lxcfs                        on  /var/lib/lxcfs                   type  fuse.lxcfs       (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)

方法 1 - 使用 \command

输入以下命令暂时绕过名为 mount 的 bash 别名:

\mount

方法 2 - 使用 "command"'command'

如下引用 mount 命令调用实际的 /bin/mount

"mount"

或者

'mount'

方法 3 - 使用命令的完全路径

使用完整的二进制路径,如 /bin/mount

/bin/mount
/bin/mount /dev/sda1 /mnt/sda

方法 4 - 使用内部命令 command

语法是:

command cmd
command cmd arg1 arg2

要覆盖 .bash_aliases 中设置的别名,例如 mount

command mount
command mount /dev/sdc /mnt/pendrive/

“command” 直接运行命令或显示关于命令的信息。它带参数运行命令会抑制 shell 函数查询或者别名,或者显示有关给定命令的信息。

关于 unalias 命令的说明

要从当前会话的已定义别名列表中移除别名,请使用 unalias 命令:

unalias mount

要从当前 bash 会话中删除所有别名定义:

unalias -a

确保你更新你的 ~/.bashrc$HOME/.bash_aliases。如果要永久删除定义的别名,则必须删除定义的别名:

vi ~/.bashrc

或者

joe $HOME/.bash_aliases

想了解更多信息,参考这里的在线手册,或者输入下面的命令查看:

man bash
help command
help unalias
help alias

via: https://www.cyberciti.biz/faq/bash-bypass-alias-command-on-linux-macos-unix/

作者:Vivek Gite 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

不一致的严格类型别名规则
在 TypeScript 中,严格类型别名规则要求类型别名不能引用...
2025-01-11 09:00:09
不一致的NumPy数组别名...
在NumPy中,如果给一个数组创建一个别名,对别名进行的操作会影响...
2025-01-11 08:30:31
不同类型的浅拷贝【已解决:...
不同类型的浅拷贝可以通过别名和拷贝两种方式来实现。别名(Alias...
2025-01-09 08:01:34
不同ID但相同类别的Bea...
在Spring框架中,如果有多个相同类别的Bean但具有不同的ID...
2025-01-09 03:31:31
不同的别名模板可以解决跨库...
不同的别名模板可以解决跨库潜在的ODR(One Definitio...
2025-01-08 12:01:57
不同别名语法的含义是什么,...
要解决这个问题,我们可以使用以下两个示例别名来演示它们的含义和字符...
2025-01-08 08:30:55

热门资讯

PHP最佳实践(译) 简介PHP是一门复杂的语言,经过多年折腾,使其不同版本之间高度不一致,有时还有些bug。 每个版本都...
值得收藏的 27 个机器学习的... 机器学习 ( Machine Learning ) 有很多方面,当我开始研究学习它时,我发现了各种各...
为什么计量 IT 的生产力如此... 在某些行业里,人们可以根据一些测量标准判定一个人的生产力。比如,如果你是一个零件制造商,可以通过一个...
8 个提升你的隐私防护的开源密... 使用一些顶级开源密码管理器,确保你的登录凭证安全无虞。密码管理器是一项非常有用的实用程序。在你想寻找...
硬核观察 #885 苹果 AR... 苹果 AR 眼镜被无限期推迟据报道,由于技术上的挑战,苹果公司已经无限期推迟了其轻型增强现实(AR)...
8个有趣的Linux提示与技巧... 我们时不时给你带来关于Linux的提示与技巧。和这个系列保持一致,这里有8个我们从读者收到最有趣的提...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
2020 年的 GitHub ... 距离 2020 年结束只剩下区区 24 天,我们即将结束魔幻的 2020 ,迎来新的一年,新的一年或...
开源新闻速递:openSUSE... 今日关注openSUSE 项目组的 Dominique Leuenberger 在他的周报中说:“这...
KDE4.11 Beta1 正...   KDE 项目工作组刚刚发布了 KDE Software Compilation 4.11 Bet...