小编Phi*_*ide的帖子

了解 /dev 及其子目录和文件

$ ls -l /dev/stdin /dev/fd/0
lrwx------ 1 tim tim 64 2011-08-07 09:53 /dev/fd/0 -> /dev/pts/2
lrwxrwxrwx 1 root root 15 2011-08-06 08:14 /dev/stdin -> /proc/self/fd/0
$ ls -l /dev/pts/2 /proc/self/fd/0
crw--w---- 1 tim tty  136, 2 2011-08-07 09:54 /dev/pts/2
lrwx------ 1 tim tim     64 2011-08-07 09:54 /proc/self/fd/0 -> /dev/pts/2
Run Code Online (Sandbox Code Playgroud)
  1. 我想知道是否所有文件/dev及其子目录下的所有文件都是设备的文件描述符?
  2. 为什么彼此之间有这么多链接?例如,/dev/fd/0/dev/stdin/proc/self/fd/0都是指向 的链接/dev/pts/2
  3. 如果lin lrwx------mean link,cincrw--w---- 是什么意思?

linux file-descriptors devices

66
推荐指数
3
解决办法
6万
查看次数

打算在 bash 中使用 ctrl+T 吗?

我注意到 bash 有一个快捷方式ctrl+ T,它交换光标前的最后两个字符。

我想知道为什么工程师决定包括这个。

  • 它是从以前的公约继承的吗?
  • 或者这是否有常用的实际目的?

bash keyboard-shortcuts history

51
推荐指数
5
解决办法
1万
查看次数

Ranger cd 进入一个文件夹(并调用 shell)?

我正在使用Ranger浏览我的文件系统。

是否有一个快捷方式,我可以cd在不离开 Ranger 的情况下进入文件夹(如在打开的 bash 中,通过在 Ranger 中导航找到文件夹的位置)

terminal file-manager ranger

42
推荐指数
4
解决办法
2万
查看次数

如何运行 ssh 命令直到成功?

有时我会重新启动设备,并需要ssh在设备准备就绪后重新启动。

我想每 5 秒运行一次 ssh 命令,直到命令成功。

我的第一次尝试:

watch -n5 ssh me@device.local && exit 1
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

scripting ssh watch

42
推荐指数
5
解决办法
2万
查看次数

附加到管道并传递?

我有一个简单的 bash 函数将两个数字相除:

echo "750/12.5" | bc
Run Code Online (Sandbox Code Playgroud)

我想采取输出bc和追加/24和管道表示结果的另一个实例bc

就像是:

echo "750/12.5" | bc | echo $1 + "/24" | bc
Run Code Online (Sandbox Code Playgroud)

$1管道结果在哪里。

PS我意识到我可以做echo "750/12.5/24" | bc我的问题更多的是关于将文本附加到管道结果。

shell pipe bc output

21
推荐指数
4
解决办法
4万
查看次数

理解`echo $((0x63))`

我正在寻找一种通过命令行转换十六进制的方法,发现有一个非常简单的方法echo $((0x63))

它工作得很好,但我对这里发生的事情有点困惑。

我知道$(...)通常是一个子 shell,其中的内容在外部命令之前进行评估。

在这种情况下它仍然是一个子shell吗?我不认为这意味着子外壳只是评估(0x63)哪个不是命令。

有人可以为我分解命令吗?

bash

18
推荐指数
1
解决办法
2512
查看次数

以日期为名称的tar文件?

我正在尝试对一个以日期和时间为名称的文件进行 tar 和 gzip:

date=$(date '+%d-%m-%Y_%H:%M:%S');    
tar -zcf "$date".tar.gz repo/bin/
Run Code Online (Sandbox Code Playgroud)

但我回来了:

tar (child): Cannot connect to 17-08-2017_21: resolve failed
tar: Child returned status 128
tar: Error is not recoverable: exiting now
Run Code Online (Sandbox Code Playgroud)

这里到底发生了什么,我该如何解决?

tar 是否试图连接到该名称,就好像它是一个 ip 一样?

bash tar

16
推荐指数
1
解决办法
3659
查看次数

jq 打印子对象中所有的键和值

我找到了这个Q/A的解决方案来打印对象中的所有键:

jq -r 'keys[] as $k | "\($k), \(.[$k] | .ip)"' 
Run Code Online (Sandbox Code Playgroud)

在我的情况下,我想在子对象上执行上述操作:

jq -r '.connections keys[] as $k | "\($k), \(.[$k] | .ip)"'
Run Code Online (Sandbox Code Playgroud)

这样做的正确语法是什么?

json jq

16
推荐指数
1
解决办法
5万
查看次数

如果命令未在 X 时间内完成,则 Bash?

我正在尝试运行类似的东西:

sudo dhclient $wifi || otherFunction
Run Code Online (Sandbox Code Playgroud)

问题是当dhclient失败时它只是挂起而不是抛出错误。

如果在 60 秒内没有完成,我该如何重写上面的内容,以便dhclient被杀死otherFunction并被调用dhclient

bash timeout

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

Ranger 中的星号或星号表示什么?

Ranger 文件导航器中的红星是什么意思?

带有红星星号的目录列表的屏幕截图

ls -la在同一目录下运行的结果:

drwxrwxr-x 2 philip philip 4096 Oct 18 23:45 .
drwxrwxr-x 5 philip philip 4096 Oct 18 23:36 ..
-rw-rw-r-- 1 philip philip   82 Oct 18 23:44 john.cpp
-rw-rw-r-- 1 philip philip  114 Oct 18 23:45 john.hpp
-rw-rw-r-- 1 philip philip  105 Oct 18 23:09 johnpaul.cpp
-rw-rw-r-- 1 philip philip  136 Oct 18 23:08 johnpaul.hpp
-rw-rw-r-- 1 philip philip   82 Oct 18 23:06 paul.cpp
-rw-rw-r-- 1 philip philip  115 Oct 18 23:04 paul.hpp
Run Code Online (Sandbox Code Playgroud)

ranger

14
推荐指数
1
解决办法
4063
查看次数