我想为rm
命令创建一个别名,以便在执行此命令后收到确认消息。所以我正在创建一个这样的别名alias rm='rm -i'
。但据我所知,这是一个临时别名,它会一直存在,直到您关闭终端为止。
正如这里解释的那样永久保存别名我需要在终端中执行~/.bash_aliases
或命令并在那里添加我的别名。~/.bashrc
但是当我执行时,~/.bashrc
我收到以下错误消息:
bash: /home/bakhtiyor/.bashrc: Permission denied
当我运行时,~/.bash_aliases
我收到另一条如下错误消息:
bash: /home/bakhtiyor/.bash_aliases: File or directory doesn't exist.
实际问题是什么,我该如何解决?
要永久创建别名,请将别名添加到您的
.bashrc
文件中然后在底部添加您的别名。
现在在您的终端中执行(和
. ~/.bashrc
之间应该有一个空格。.
~/.bashrc
现在您可以检查您的别名。
有很多方法可以创建别名。最常用的方法是:
直接在
~/.bashrc
文件中添加别名例如:将这些行附加到
~/.bashrc
文件下次(在您注销/登录或完成之后
. ~/.bashrc
)键入命令时rm
将rm -i
执行。第二种方法允许您制作一个单独的别名文件,因此您不必将它们放入 中
.bashrc
,而是放入您选择的文件中。首先,编辑您的~/.bashrc
文件并添加以下行(如果它们不存在),或者取消注释它们(如果存在):保存并关闭文件。之后,您所要做的就是创建一个
~/.bash_aliases
文件并在其中添加别名,格式与第一种方法中指定的格式相同。我的
~/.bash_aliases
文件内容:在我看来,您唯一的问题就是在 .bashrc 不可执行时尝试执行它。但这不是正确的方法;每当您对此文件进行更改时,都应通过以下命令“执行”它:
否则,它只会创建一个新 shell,在新 shell 的环境中执行文件,然后在退出时丢弃该环境,从而丢失您的更改。通过获取脚本,它会在当前 shell 中执行,因此它将保持有效。
我假设第二个错误是因为 bash_aliases 不存在。这不是必需的,只是建议将您的更改分开和组织。它仅在存在时使用,您可以在 .bashrc 中查看它的测试:
这表示如果文件 ~/.bash_aliases 存在,则运行它。
问题是您正在尝试执行非可执行文件:您可以通过以下方式检查:
请注意,第一列(文件权限)上没有“x - 可执行”字母。
配置文件不是可执行文件,而不是执行它们你加载它们:
或者
这是我一直在寻找的一个示例,一种在终端(“vps”)上键入几个字母以远程登录服务器并启用 X11 转发的方法,这样我就可以通过网络运行诸如“gedit”之类的 gui 应用程序。
无论是什么命令/别名命令,这种方式与 echo 语句、引号和用于将命令输出附加到文件 (>>) 的符号都对我有用。只需将我的命令替换为您需要的别名命令并将其输入您的终端。
我编写了这个有用的函数来快速创建一个新别名,然后将别名定义写入
~/.bash_aliases
(如果存在)或~/.bashrc
.提示:确保
~/.bash_aliases
存在并在~/.bashrc
.如果您使用的是 ruby,则可以使用 rubygem 安装 aka。
gem install aka2
用法
rubygem 将自动获取您的点文件,这样您就不需要了。一探究竟。
我很想扩展这个想法!
您想
alias
根据您的问题发出命令:现在您可以键入
wolfr
移动到 wolf 的主目录。这个很相似也很酷,
export
命令:现在您可以键入
cp $ngse/my_file /destination_directory/destination_filename
以将文件从启用站点的目录复制到目标。在您执行以下操作之前,这些都不会起作用:
或者,您可以重新登录或重新启动。
我建议使用
/etc/bash.bashrc
您可以在该文件的末尾添加行。
在每行放置别名后,您必须重新启动或重新登录。
我记得,
bashrc
已经或曾经有一条线建议不要直接将它用于别名。解决方案是使用外部文件。和别名已添加,但要添加foo
文件必须是“来源”(或者,只需打开一个新终端)。示例为:bar
baz
bashrc
现在
baz
别名有效。我现在才意识到以前的答案提到了这种技术,但他们已经埋葬了lede。