我安装了标准ls,还安装了lsd,它是 ls 的书呆子字体替代品。我提到这一点是因为该错误可能与别名有关。
为了立即进行测试,我已经alias ls=ls删除了所有自定义命令。
如果我输入ls/etc 目录,其中显然有几个子文件夹(您可以在没有 -d 标志的情况下看到这些子文件夹),我会得到以下内容:
>>>root@Unraid:/etc# ls -d /
/
>>>root@Unraid:/etc# ls -d
.
>>>root@Unraid:/etc# lsd -d
./
>>>root@Unraid:/etc# lsd -d /
//
Run Code Online (Sandbox Code Playgroud)
丢失的代码点只是一个文件夹图标。为了清楚起见,我用浏览器兼容的表情符号替换了所有框。LSD 已经安装几天了,不是问题。他们的行为相同。
我在提示行前面加上前缀>>>只是为了让它们更容易挑选出来。
让我们以我的主目录为例。~正确答案是、lsd中有 2 个文件夹pkg
>>>root@Unraid:~# lsd
lsd/ pkg/ appdataUNRAID.code-workspace@ mdcmd@
>>>root@Unraid:~# ls -F
appdataUNRAID.code-workspace@ lsd/ mdcmd@ pkg/
>>>root@Unraid:~# lsd -F
lsd/ pkg/ appdataUNRAID.code-workspace@ mdcmd@
>>>root@Unraid:~# ls
appdataUNRAID.code-workspace lsd mdcmd pkg
>>>root@Unraid:~# ls -lhp
total 0
lrwxrwxrwx …Run Code Online (Sandbox Code Playgroud) 我有如下文件列表:
\n[root@ods1 backup]# ls -l\ntotal 93892810\n-rw-r----- 1 root root 651248 Feb 17 08:34 abc_def_g_17-02-2022.sql\n-rw------- 1 root root 665248 Mar 23 08:46 bbc_23-03-2022.sql\n-rw-r----- 1 root root 676992 Apr 04 16:52 zz_b_04-04-2022.sql\nRun Code Online (Sandbox Code Playgroud)\n我需要实现的是:
\nabc_def_g\nbbc\nzz_b\nRun Code Online (Sandbox Code Playgroud)\n我尝试这样做,但没有成功:
\nls -l | awk '{print $9}' | cut -d '_' -f1-2\nRun Code Online (Sandbox Code Playgroud)\n我怎样才能实现这个目标?任何获取直到最后一个_字符的行的命令都可以完成这项工作。
\n编辑:此命令在 CentOS\xc2\xa08 中执行。
\n假设 root 用户拒绝对系统中特定普通用户使用“ls”命令的所有权限。那个普通用户如何克服这种拒绝,他如何在没有任何“sudo”命令的情况下使用“ls”命令?
$ ls
1.txt 2.txt 3.txt
$ ls | wc
3 3 18
Run Code Online (Sandbox Code Playgroud)
所有三个文件都只有 1 行,但 ls|wc 输出 '3'。
我编写了下面的脚本来查找给定目录中的 PDF 文件数。但是,它会显示目录中的所有文件:
#!bin/bash
message="."
message1="*.pdf"
ls -al $message $message1
Run Code Online (Sandbox Code Playgroud)
脚本有什么问题?
当我以 登录时username,为什么
sudo ls ~
Run Code Online (Sandbox Code Playgroud)
向我展示而不是的内容?我认为以 root 身份执行命令,在这种情况下将代表./home/username/rootsudo~/root
更多解释:
此外,如果我运行su命令,然后运行ls ~,我会看到/root. 所以我认为这样做相当于sudo ls ~.
再举一个例子,一些带有--user标志的命令在以sudo. 例如,将安装到 内的目录 ,而 将安装到. 请注意,不建议运行最后一个命令,我只是使用它来显示我所描述的功能。pip install --user packagename/home/usernamesudo pip install --user packagename/root
我正在尝试使用ls命令来查找特定文件
我一直在尝试使用,ls *ball但这会显示“ball”一词前面有 4 个或更多单词的单词。是否有一个特定的命令可以忽略“ball”之前有 4 个或更多字母的单词?
为什么bash和csh shellexit status不同?,在man 中:ls
Exit status:
0 if OK,
1 if minor problems (e.g., cannot access subdirectory),
2 if serious trouble (e.g., cannot access command-line
argument).
Run Code Online (Sandbox Code Playgroud)
为了测试exit status命令ls,假设我们ss在一个文件夹中保存了一个名为的文件。让我们使用通配符根据其字符的状态列出此文件?
在 csh 外壳中:
ls -d ss
ss
ls -d s?
ss
ls -d ?s
ss
ls -d ?z
ls: No match.
ls -d ?z | echo $? #check exit status
0
Run Code Online (Sandbox Code Playgroud)
在 Bash 中:
ls -d ss
ss …Run Code Online (Sandbox Code Playgroud) [root@pdbosl02 daily]# ls -lrth
total 12G
-rw-r----- 1 oracle dba 3.8G Dec 7 20:43 BKPOSLPRD_jcns9p1f.F_bkp
-rw-r----- 1 oracle dba 4.2G Dec 7 20:46 BKPOSLPRD_jdns9p1f.F_bkp
-rw-r----- 1 oracle dba 3.0G Dec 7 20:51 BKPOSLPRD_jbns9p1f.F_bkp
-rw-r----- 1 oracle dba 140M Dec 7 20:52 ALG_OSLPRD_jgns9rfr.alg
-rw-r----- 1 oracle dba 189M Dec 7 20:52 ALG_OSLPRD_jfns9rfr.alg
-rw-r----- 1 oracle dba 202M Dec 7 20:52 ALG_OSLPRD_jens9rfr.alg
-rw-r----- 1 oracle dba 42M Dec 7 20:52 c-4249173797-20121207-00
-rw-r----- 1 oracle dba 41M Dec 7 20:52 ctrl_071223
Run Code Online (Sandbox Code Playgroud)
我想了解h …
ls ×9
bash ×3
linux ×2
awk ×1
command ×1
command-line ×1
executable ×1
gnu ×1
permissions ×1
root ×1
shell ×1
shell-script ×1
sudo ×1
users ×1
utilities ×1
wc ×1
wildcards ×1