Linux命令“ll”无法工作。

47

我可以用我的用户运行"ll"命令,但不能用sudo运行,会返回"command not found"的错误信息!


1
ls -al 怎么样? - Lei Yang
3
ll 不是 Linux 命令。但是,你的系统已将其配置为某个 alias(然而,我的没有)。我建议从你的 ~/.bashrc 中移除这个令人困惑的别名。 - Basile Starynkevitch
9个回答

90

ll 创建一个别名。

alias ll="ls -al"

5
看起来非常有帮助,我已经将它添加到了 /etc/profile 中,这样每个人都可以运行那个命令。谢谢! - Abid Khan
收到错误信息:'"ls -al"' 不被识别为内部或外部命令、可执行程序或批处理文件。 - Yogi Ghorecha

38

尝试运行sudo ls -l命令。

因为llls -l缩写。


1
为什么需要使用 sudo - MkMan
可能他没有特定路径的权限,但他是sudoer用户。 - Vikash Pareek
1
权限不是使用“ls -l”的速记方式的借口,因为它同样会失败。 - woodz

11

如下所述:

ll 实际上是 ls -l 的别名。

当你不确定输入的命令时,建议在提示符中使用以下3个命令:

  • type <command_name> 将给你关于该命令的信息,在我们的特定情况下输出将是:ll 是 'ls -l' 的别名

    • which <command_name> 将显示您要使用的命令的路径

    • whatis <command_name> 将为您提供有关命令的基本信息

最后但并非最不重要的,alias ll="ls -al" 将允许您创建所需的别名。然而,为了避免每次打开新的 shell 时重新定义别名,您需要将它们保存在您用户的.profile文件中或添加到您的.bashrc文件中(使用.bash_aliases文件进行此操作,并取消注释您的.bashrc文件中的该部分),该文件位于您的home directory中。

如需更多信息,请查看以下链接:

https://unix.stackexchange.com/questions/183496/how-to-create-permanent-aliases-on-unix-like-systems


8
我有点晚了,但是在Debian 10中,命令ll注释(#)。 为使ll可用,请更改您的.bashrc文件: su gedit .bashrc 然后在您的文本编辑器中,根据需要取消注释: #一些更多的ls别名 alias ll='ls -l' #alias la='ls -lA' 不要忘记重新启动终端仿真器

6

这是预期的,因为 ll 命令在您的个人配置文件中定义(例如,在 Ubuntu 中是 .bashrc 文件)。

grep "alias ll" ~/.bashrc
alias ll='ls -alF'

你的 .bashrc 文件在使用 sudo 命令时不会被执行。

1
如果rootprofile(例如/root/.profile/root/.bash_profile,取决于发行版)源自rootresource文件(例如.bashrc),那么就会这样做。(根据您的安全容忍度,您可能需要创建它们...) - David C. Rankin

5

1. alias ll=ls -als(创建没有引号的别名)

2. ll(现在运行这个命令,它将列出所有文件)

或者

1. alias ll="ls -al"(创建带有引号的别名)

2. ll(现在运行这个命令,它将列出所有文件)

注意:如果这不起作用,请尝试使用sudo


这个答案已经被发布了几次。 - Daniel W.
@DanielW。我已经更新了我的回答,说明了我遇到的问题以及我采用的解决方案,在我的系统中,我遇到了单/双引号的问题。 - Yogi Ghorecha

2

检查在 ~/.bashrc 文件中是否存在类似以下内容的别名:

alias ll = ls -al

有时在进行了一系列更改之后(例如,安装Python3.6及其库等),bashrc文件未被调用以捕捉对其所做的更改,因此只需使用以下命令调用bashrc文件:

source ~/.bashrc

仅仅做这个就像魔法一样奏效。


0

alias ll='ls -al' 在我的情况下只能暂时起作用。我所做的是:

  1. 切换到 root 用户
  2. echo "alias ll='ls -ahl'" > /etc/profile.d/ll.sh

它运行得非常顺畅 :)


1
你好,Harsh! “工作临时”是什么意思?它何时停止工作? - slasky
嗨,在我的情况下,每次重新通过ssh连接到特定的服务器时,我总是需要运行“alias”。 - Cloud-Destro
只有在运行source /etc/profile之后才能生效,而且每次登录都需要执行此操作。 - Damn Vegetables
不确定 @DamnVegetables,但在我的ubuntu22上仍然像魔法一样工作。但我会看看能做出哪些编辑来优化和更好地证明我的答案。 - Cloud-Destro

0
为了使用sudo运行ll,被sudo的用户(超级用户或其他用户,根据安全策略指定)需要在其个人资料中添加alias ll='ls -al'
请注意,即使定义了该命令,也可能无法通过安全策略执行它。要查找可以执行哪些命令,请键入sudo -l

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接