相关疑难解决方法(0)

“重定向”和“管道”有什么区别?

这个问题可能听起来有点愚蠢,但我真的看不出重定向和管道之间的区别。

重定向用于重定向 stdout/stdin/stderr,例如ls > log.txt.

管道用于将命令的输出作为另一个命令的输入,例如ls | grep file.txt.

但是为什么同一件事有两个运营商呢?

为什么不直接写ls > grep来传递输出,这不也是一种重定向吗?我缺少什么?

pipe redirect

270
推荐指数
5
解决办法
14万
查看次数

ls 是否总是列出 rm 将删除的文件?

我觉得我应该肯定知道的一些事情:如果我ls <something>,会rm <something>删除ls显示的完全相同的文件吗?是否有任何情况rm可以删除ls未显示的文件?(这是在 18.04 bash 中)

编辑:感谢所有回答的人。我认为完整的答案是所有答案的组合,所以我接受了最高票的答案作为“答案”。

在此过程中我学到了意想不到的事情:

  • ls 在处理参数时并不像你想象的那么简单
  • 在简单的 Ubuntu 安装中,.bashrc 别名 ls
  • 不要以破折号开头命名你的文件,因为它们看起来像命令参数,命名一个 -r 就是要求它!

bash hidden-files rm ls 18.04

35
推荐指数
5
解决办法
7429
查看次数

如何从终端向上导航一个目录?

我可以cd在终端中使用目录向下导航。如果我走得太远,我该如何导航回去?

command-line navigation

24
推荐指数
1
解决办法
30万
查看次数

临时更改 /bin/sh 链接

我有一个软件需要/bin/shBash,但对于 Ubuntu,默认是 Dash,我想保持默认;我不想将其永久更改为 Bash。

有没有办法只为正在运行的终端会话更改它?所以在这个终端中运行的程序会看到/bin/sh链接到 bash 但系统的其余部分仍然会看到 Dash?或者我可以欺骗软件将/bin/sh其视为 Bash,即使它不是?

这个软件不是我写的,用它来/bin/bash代替/bin/sh并不是一个真正的选择。

command-line bash sh

9
推荐指数
3
解决办法
6130
查看次数

为什么 ls 命令中的当前目录被标识为链接到自身?

在“学习 UNIX 操作系统”一书中,有一节:“3.1.8 列出文件”,描述了该ls命令。

ls -l它的段落中描述了此命令的输出列。

ls -l命令的第二列包含一个数字。这个数字在书中描述为“链接到这个文件和目录的数量”。(链接到与相关编号在同一行的最后一列中命名的文件或目录。)

我尝试了这个命令,并将输出与当前目录中文件和目录的实际数量进行了比较。

ls -l
drwxr-xr-x   6 azbc  staff    192 Sep  7 16:09 test
Run Code Online (Sandbox Code Playgroud)

在目录中test,我有 2 个子目录和 1 个文件,以及 1 个隐藏文件和当前目录的列表,加上父目录的列表,因此共有 6 个文件和目录。

 ls -a -F
 ./                .hidden_file.txt  dir_2/
 ../               dir_1/            file_1.sh
Run Code Online (Sandbox Code Playgroud)

将所有文件和目录(包括隐藏文件和目录)标识为链接到当前目录对我来说似乎是合乎逻辑的。将父目录标识为链接到当前目录似乎也是合乎逻辑的。

但是为什么当前目录被标识为链接到自身?

ls -latest 目录的命令提供以下输出。( -F 选项/在目录名称后面显示目录的情况下,在可执行文件的情况下显示 *)

 ls -la -F
 total 0
 drwxr-xr-x   6 azbc  staff   192 Sep  7 16:09 ./
 drwxr-xr-x+ ?? azbc  staff    ?? Sep  7 16:06 ../
 -rw-r--r-- …
Run Code Online (Sandbox Code Playgroud)

command-line

6
推荐指数
1
解决办法
3756
查看次数

Documents 文件夹有 7 个硬链接

当尝试命令时

me@me:~$ ls -hl | head -5                                                                 
total 60M
-rw-r--r-- 1 me me  250 Jan 16 11:43 $tty
-rw-r--r-- 1 me me    0 Jan 16 11:41 1
drwxr-xr-x 2 me me 4.0K Jan 16 15:28 Desktop
drwxr-xr-x 7 me me 4.0K Jan 13 14:33 Documents
Run Code Online (Sandbox Code Playgroud)

发现该Documents目录有7个硬链接,如此冗余的原因是什么?

filesystem

6
推荐指数
1
解决办法
838
查看次数

如何列出当前目录中的文件及其索引节点号?

如何获取当前工作目录中的项目列表及其索引节点号?

command-line files inode

3
推荐指数
1
解决办法
4455
查看次数

创建不包含目录的 tar 文件

我对 tar 的使用相当陌生,过去曾使用过 zip 文件。

我只想创建 tar 文件而不包含目录。

我去了这里,但发现它有点令人困惑。

https://www.baeldung.com/linux/tar-archive-without-directory-struct

# Backup crontab
crontab -l > /home/andy/bin/crontab_backup.txt
tar -cvf /home/andy/bin/crontab_backup.tar /home/andy/bin/crontab_backup.txt
Run Code Online (Sandbox Code Playgroud)

tar ubuntu-mate 20.04

3
推荐指数
1
解决办法
4583
查看次数

标签 统计

command-line ×4

bash ×2

18.04 ×1

20.04 ×1

files ×1

filesystem ×1

hidden-files ×1

inode ×1

ls ×1

navigation ×1

pipe ×1

redirect ×1

rm ×1

sh ×1

tar ×1

ubuntu-mate ×1