小编ctr*_*lor的帖子

unix shell 脚本的文件扩展名

在维基百科上,.sh的文章说:

有关 .sh 文件扩展名类型,请参阅Bourne shell

其他unix shell怎么样?

我知道在文件中 使用shebang来指示要执行的解释器,但我想知道:

  • 文件扩展名与无文件扩展名的优缺点是什么?

scripting conventions shell-script filenames files

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

使用 diff -r 递归比较两个目录而不在断开的链接上输出

我正在使用diff -r a b递归比较目录ab。尽管存在一些断开的链接(ab目录中的相同断开链接并指向相同的、不存在的目标),但经常会发生这种情况。

diff然后为这些情况输出错误消息并以非零退出代码退出,但是我希望它保持沉默,并以 0 退出,因为目录在我的书中是相同的。

我怎样才能做到这一点?

diff

54
推荐指数
3
解决办法
14万
查看次数

重定向顺序

我不太明白计算机是如何读取这个命令的。

cat file1 file2 1> file.txt 2>&1

如果我理解,2>&1只需将标准错误重定向到标准输出。

按照这种逻辑,该命令对我来说如下:

  1. 连接文件file1file2.

  2. stdout从此操作发送到file.txt.

  3. 发送stderrstdout.

  4. 结尾?

我不确定电脑在做什么。按照我的逻辑,命令应该是

cat file1 file2 2>&1 > file.txt

但这不正确。

command-line shell bash io-redirection file-descriptors

53
推荐指数
3
解决办法
7964
查看次数

如何将文本文件的每一行解析为命令的参数?

我正在编写一个脚本,该脚本将.txt文件名作为参数,逐行读取文件,并将每一行传递给命令。例如,它运行command --option "LINE 1"、 thencommand --option "LINE 2"等。命令的输出被写入另一个文件。我该怎么做?我不知道从哪里开始。

command-line shell-script

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

提取 ISO 的最快方法是什么?

目前我正在将 ISO 安装到(只读)目录(使用mount -o loop命令),然后将内容复制到另一个普通目录。由于 ISO 很大,这需要很多时间。这是唯一的方法,还是有其他选择?

iso mount

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

什么是块设备?

我知道许多块设备(HDD、SSD、文件等)的例子,但我还没有听说过它的简单定义。特别是因为文件显然包含在定义中,我感到有点困惑......

block-device

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

为什么`cd` 命令不能通过SSH 工作?

我试图通过 SSH 备份一些文件,但tar我得到了我的主文件夹,而不是我想要的那些。我做了一些进一步的测试,归结为:

ssh root@server /bin/sh -c "cd /boot && ls -l"
Run Code Online (Sandbox Code Playgroud)

令我惊讶的是,其中列出了/rootnot中的文件/boot。但是,如果我/bin/sh从终端运行整个命令,它就会正确地cd打印/boot文件。

这里发生了什么事?

shell ssh cd-command

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

当前目录的挂载信息

我可以df .获取当前目录所在挂载的一些信息,并且我可以从mount. 但是我得到了很多信息(关于其他坐骑的信息)。我可以把它记下来,但我想知道是否有更好的方法。

是否有一些命令mountinfo可以mountinfo .提供我想要的信息(例如df .,但带有提供的信息mount。)


我正在使用 Debian Gnu+Linux。

filesystems mount disk-usage

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

通过 SSH 连接的客户端,让服务器访问 Internet

我可以使用我的家用计算机A通过 SSH 连接到服务器B,在该服务器B上无法访问外部网络。换句话说,所有从B到 Internet 的请求都会抛出一个错误:Network is unreachable。我可以重定向所有这些请求以通过可以不受限制地访问 Internet的计算机A吗?

服务器B是托管我的网站之一的服务器。我想下载文件以安装一些软件。但是连接被阻止了。我能够传输文件,但它很复杂,因为AB上的软件版本不同,所以依赖关系不同,它需要AB不同文件。

我在互联网上搜索,似乎我需要一个反向隧道。但我只找到了重定向端口的解决方案。但这不是我需要的,因为我不希望B访问A而是访问 Internet。

ssh ssh-tunneling

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

休眠后屏幕损坏 - 是否有其他方法可以刷新 X11 显示?

当我从休眠状态恢复时,屏幕经常损坏。我怀疑没有保存图形内存。否则挂起到内存工作正常。

看起来字体缓存也已损坏,因为所有字母均已损坏。该效果似乎针对特定大小的字体。例如,如果我的终端窗口被点击,更改字体和/或字体大小将修复它,除非该大小的字体已经损坏。

如果字体在其他地方(其他应用程序、窗口管理器等)使用,那么问题也存在。有时用于窗口标题的字体被命中,然后所有窗口标题显示相同的字母损坏。

注销并再次登录可以修复它,但我不想这样做。我一直在注销然后休眠,但这是更多的努力并且消除了休眠的大部分好处。

有没有别的办法刷新X11的显示?Ctrl+ Alt+ F1...没有任何解决它。它切换终端但不重绘任何内容:它只显示旧的损坏屏幕。

我正在使用 Debian 6。

在这种情况下,窗口标题不好: 窗口标题字体混乱

终端内容不好,但标题(仍然)还可以: 文本被系统地扭曲,但只有一些字体受到影响

linux desktop xorg desktop-environment hibernate

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