小编use*_*686的帖子

进程监视器等效于 Linux?

是否有 Unix/Linux 等效的Process Monitor,无论是 GUI 还是 CUI?

如果它有所作为,我正在研究 Ubuntu,但如果其他系统(Mac、Fedora 等其他 Linux 变体等)有等价物,那么了解其中任何一个也很有用。

编辑:

Process Monitor用于监视系统调用(例如文件创建或写入),而 Process Explorer用于监视进程状态(类似于 System Monitor)。我要的是前者,不是后者。:-)

linux process monitoring software-rec debian

31
推荐指数
3
解决办法
2万
查看次数

如何反转 for 循环?

我如何正确地for以相反的顺序进行循环?

for f in /var/logs/foo*.log; do
    bar "$f"
done
Run Code Online (Sandbox Code Playgroud)

我需要一个不会因文件名中的时髦字符而中断的解决方案。

shell bash zsh wildcards control-flow

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

Unix/Linux 操作系统上的标准和/或通用目录

来自 Windows 世界,我发现大多数文件夹目录名称都非常直观:

  • \Program Files 包含程序使用的文件(惊喜!)

  • \Program Files (x86) 包含 64 位操作系统上 32 位程序使用的文件

  • \Users(以前Documents and Settings)包含用户的文件,即文档和设置

    • \Users\USER\Application Data 包含特定于应用程序的数据

    • \Users\USER\Documents 包含属于用户的文档

  • \Windows 包含属于 Windows 本身操作的文件

    • \Windows\Fonts 存储字体文件(惊喜!)

    • \Windows\Temp 是一个全局临时目录

等等。即使我不知道这些文件夹做了什么,我也可以从它们的名字中准确地猜测出来。

现在我正在仔细研究 Linux,并且对如何绕过文件系统感到非常困惑。

例如:

  • /bin包含二进制文件。但也是如此/sbin/usr/bin, /usr/sbin, 可能还有更多我不知道的。哪个是哪个??它们之间有什么区别?如果我想制作一个二进制文件并将它放在系统范围内的某个地方,我应该把它放在哪里?

  • /media包含外部媒体文件系统。但也是如此/mnt。目前它们都没有在我的系统上包含任何内容;一切似乎都在/dev。有什么不同?哪里是我的硬盘的其他分区,像C:D:那名在Windows?

  • /home包含用户文件和设置。这是直观的,但是,应该进入/usr什么?为什么/root仍然是分开的,即使它是一个拥有文件和设置的用户?

  • /lib包含共享库,如 DLL。但也是如此/usr/lib。有什么不同?

  • 什么 /etc?它真的代表“et cetera”还是其他什么意思?什么类型的文件应该放在那里——全局的还是本地的?对于没有人知道放在哪里的东西,它是一个包罗万象的东西,还是有一个特定的用例?

  • 什么是/opt/proc/var …

linux fhs directory-structure

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

以只读方式挂载文件系统,并将写入重定向到 RAM?

是否可以将环回文件挂载为只读,并将所有写入重定向到 RAM?

linux filesystems ubuntu readonly

23
推荐指数
2
解决办法
3万
查看次数

让 BASH 的 Tab 补全填入第一场比赛?

当我按 TAB 时,有没有办法让 BASH 填充第一个匹配项,有点像 Windows 命令提示符?

(它仍应显示匹配项列表,但当我继续按 Tab 键时,它应循环显示匹配项。)

即这里的目标是能够填补任何匹配TAB键,给予足够的印刷机-就像在Windows中。

bash autocomplete

16
推荐指数
2
解决办法
6076
查看次数

.inputrc TAB 未按预期运行

我今天很忙,这是另一个问题:

为什么当我把这些放进去时.inputrc,它们都做同样的事情?

TAB: menu-complete
Shift-TAB: menu-complete-reverse
Run Code Online (Sandbox Code Playgroud)

即他们都做最后一个说的。

bash readline

13
推荐指数
2
解决办法
5607
查看次数

BASH 中的标准输入/标准输出名称?

我有一个程序需要一个-o log_file选项,它将额外的数据写入log_file.

我有什么办法可以将它重定向到标准输出吗?

即是否有标准输出的“特殊名称”可以用作文件名,就像CONOUT$在 Windows 上一样?

command-line io-redirection

12
推荐指数
1
解决办法
6020
查看次数

如何将 SSH 密钥限制为某些 IP 地址?

我希望能够使用一些 SSH 密钥从本地网络 (192.168.1.*) 登录到(可公开访问的)SSH 服务器,但我不希望该密钥可从本地网络外部使用。
我希望将其他一些密钥用于外部访问(两种情况下都是同一用户)。

在SSH中可以实现这样的事情吗?

ssh

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

aria2c 必须使用未知的 TLS 协议连接到另一端,为什么?

当我跑

aria2c https://www.example.com
Run Code Online (Sandbox Code Playgroud)

我得到

02/24 15:33:38 [WARN] aria2c had to connect to the other side using an unknown TLS protocol. The integrity and confidentiality of the connection might be compromised.
Run Code Online (Sandbox Code Playgroud)

为什么是这样?请注意,这不是特定于www.example.com; 它发生在许多(如果不是所有)主机上。

作为参考,这是(已编辑的)日志:

[INFO] [Context.cc:182] aria2 1.34.0
[INFO] [Context.cc:183] gcc 8.2.1 20181127
  built by  x86_64-pc-linux-gnu
  on        Feb  8 2019 09:32:06
[INFO] [Context.cc:185] zlib/1.2.11 libxml2/2.9.9 sqlite3/3.26.0 GnuTLS/3.6.6 nettle GMP/6.1.2 c-ares/1.15.0 libssh2/1.8.0
[INFO] [Context.cc:186] Logging started.
[DEBUG] [Context.cc:216] Not setting rlimit NO_FILE: 1024 >= 1024
[NOTICE] [Context.cc:311] Downloading 1 item(s) …
Run Code Online (Sandbox Code Playgroud)

networking ssl aria2 gnutls

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

sudo/root-ness 检测的工作原理

sudo 除非我已经是 root 用户,否则需要在系统范围内进行更改的程序。

现在,问题是:系统究竟如何确定我是(不是)root 的?

可以:

  • 检查我是否在特定组中?如果是这样,我需要加入哪个组?

  • 检查 root 本身的众所周知的 ID(即“root 用户”被硬编码到源中)?
    如果是这样,如果我的 root 帐户被损坏会发生什么?我是否会被迫重新安装操作系统,因为无法创建另一个具有 root 权限的帐户?

  • 根据某些文件的内容检查我的名称/组并授予正确的权限?如果是这样,哪个文件包含此信息?

  • 做点别的?如果是这样,它有什么作用?

linux security users root sudo

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