小编IQA*_*eas的帖子

“/dev”Linux 文件是如何创建的?

Linux 中有一些特殊的文件,它们并不是真正的文件。

其中最显着和清晰的例子是在dev文件夹中,“文件”,如:

  • /dev/null - 忽略您写入文件的任何内容
  • /dev/random - 输出随机数据而不是文件内容
  • /dev/tcp - 通过网络发送您写入此文件的任何数据

首先,这些类型的“文件”的名称是什么,它们实际上是某种伪装的脚本或二进制文件?

其次,它们是如何创建的?这些文件是在内核级别内置到系统中的,还是有办法自己创建一个“神奇文件”(a 怎么样/dev/rickroll)?

linux devices files

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

在两台计算机之间发送大量数据的最快方法是什么?

这是我经常遇到的情况:

  • 我有一个内部有 320GB 硬盘驱动器和 16GB 内存的源服务器(此处提供确切规格,但由于这是我在其他机器上也经常遇到的问题,我希望答案适用于任何“合理”的 Linux 机器)
  • 我有一个有几 TB 硬盘空间的备份服务器(这里有确切的规格,请参阅上面的免责声明)

我想将 320GB 的数据从源服务器传输到目标服务器(特别是来自 的数据/dev/sda)。

  1. 两台计算机在物理上彼此相邻,因此我可以在它们之间铺设电缆。
  2. 我在局域网上,我使用的是新路由器,这意味着我的网络速度“理想情况下”应该是 1000Mbit,对吧?
  3. 安全不是问题。我在本地网络上,我信任网络上的所有机器,包括路由器。
  4. (可选)我不一定需要数据的签名校验和,但应该检测基本错误检查(例如丢弃的数据包或驱动器变得不可读),而不仅仅是消失在输出中。

我在网上搜索了这个问题,并测试了几个命令。出现频率最高的就是这个:

ssh user@192.168.1.100 'dd bs=16M if=/dev/sda | gzip' > backup_sda.gz
Run Code Online (Sandbox Code Playgroud)

这个命令被证明太慢了(它运行了一个小时,只得到了大约 80GB 的数据)。1GB 的测试数据包大约需要 1 分 22 秒,最终在未压缩时速度是原来的两倍。结果也可能因传输的文件小于源系统上的 RAM 量而产生偏差。

此外(这是在 1GB 测试片上测试的),如果我使用gzip命令和dd; 与直接通过管道传输相比,在目标上提取的结果文件具有不同的校验和。我仍在试图弄清楚为什么会发生这种情况。

networking backup file-transfer dd

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

我怎么知道我运行的是哪个版本的 Debian?

在教程中,系统会提示我“如果您正在运行 Squeeze,请按照这些说明...”“如果您正在运行 Wheezy,请按照这些其他说明...”

当我运行时uname,我得到以下信息:

Linux dragon-debian 3.2.0-4-686-pae #1 SMP Debian 3.2.63-2+deb7u2 i686 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

这些信息是否足以知道我使用的是Squeeze还是Wheezy,还是从其他地方获得的?

version debian

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

“env”和“printenv”有什么区别?

这两个命令env和 有printenv什么区别?它们都显示了环境变量,除了_.

有两个命令而不是一个命令有什么历史原因吗?

environment-variables

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

如果我有足够多的 RAM,我是否需要交换空间?

据我了解,Linux 中交换分区的目的是从 RAM 中释放一些“不经常访问”的信息,并将其移动到硬盘驱动器上的特定分区(代价是读取或写入速度变慢)到),本质上允许主动应用程序更多的“高速内存”。

这非常适合当您使用的是 RAM 量较小的机器并且不想在用完时遇到问题时。但是,如果您的系统有16 GB32 GB的 RAM,并且假设您没有为 StackExchange 运行 MySQL 数据库或在 Linux 中编辑 1080p 全长电影,是否应该使用交换分区?

memory swap

97
推荐指数
9
解决办法
6万
查看次数

“rm”和“unlink”有什么区别?

假设您知道目标是符号链接而不是文件,使用rmunlink删除链接之间有什么区别吗?

symlink rm

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

在 SSH 中为每个主机使用两个不同的 IP 地址

我有一台名为 的服务器,它gamma在工作中不断启动并运行。有时我从家里连接到它,在这种情况下我使用公共 IP 地址55.22.33.99。有时,我在工作时连接到它,而不是不必要地反弹我的数据包,我通过本地 IP 地址连接192.168.1.100

目前,我将它们分成两个不同的条目 ~/.ssh/conf

Host gamma-local
        HostName 192.168.1.100
        Port 22
        User andreas

Host gamma-remote
        HostName 55.22.33.99
        Port 12345
        User andreas
Run Code Online (Sandbox Code Playgroud)

所以,如果我在工作,我只需要打字就可以ssh gamma-local了;如果我在家(或世界上任何其他地方),我会跑ssh gamma-remote.

连接到服务器时,我宁愿不必根据我所在的位置键入不同的名称,而是希望该部分自动完成;例如,在某些情况下,我有自动脚本来连接不知道我在哪里的人。

一个问题是通过使用Bash脚本首先“尝试”连接到本地的,如果连接不上,则尝试连接到远程IP地址来解决此问题。这很好,但 (1) 似乎效率低下(尤其是因为有时您必须“等待”连接超时,因为它们并不总是立即返回错误)并且 (2) 需要 Bash 并拖拽脚本。

是否有一种替代方法可以实现这一点,既不依赖于 Bash 脚本的使用,也不依赖于“测试”以查看连接是否首先起作用?

ssh openssh

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

如何使用单个命令将磁盘映像解压缩并添加到 SD 卡?

我受到以下限制:

  • 我的.zip计算机上有一个 1.0 GB 的文件,其中包含一个文件,一个raspbian. 解压缩后,此文件为 3.2 GB,名为2015-11-21-raspbian-jessie.img.
  • 下载 zip 文件后,我的计算机上只有不到 1.0 GB 的存储空间,没有足够的空间将图像解压缩到我的计算机上。
  • 这个文件需要解压缩并使用普通的dd.

在这些限制下,我可以将图像写入 SD 卡吗?

我知道可以通过管道传输数据tar,然后通过管道将数据传输到其他地方,但是,这是否仍然适用于zip文件格式,或者在访问任何文件之前是否需要解压缩整个存档?

zip dd

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

未找到 /dev/tcp

当我尝试运行以下命令时:

echo -e "GET / HTTP/1.1\n\n" | /dev/tcp/74.125.225.19/80
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

bash: /dev/tcp/74.125.225.19/80: No such file or directory
Run Code Online (Sandbox Code Playgroud)

以下命令完美运行,因此问题涉及我的使用方式/dev/tcp

echo -e "GET / HTTP/1.1\n\n" | nc 74.125.225.19 80
Run Code Online (Sandbox Code Playgroud)

我在 Ubuntu 13.04 中,所以该功能应该在我的系统上。我究竟做错了什么?/dev/tcp正确使用的规则是什么?

bash tcp

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

重新排列 GPG 中的 UID

在 gpg 中,是否可以在 PGP 密钥的 UID 列表中向上或向下移动 UID?

我意识到这纯粹是一种装饰性的东西,但我可能想用它来显示我的地址之间的优先级,如果可能的话应该先使用哪个。

pub   4096R/0xAABBD62D0BA66C66 2014-09-02
uid                 [ultimate] Mr. Foo Bar <fourth@example.com>
uid                 [ultimate] Mr. Foo Bar <first@example.com>
uid                 [ultimate] Mr. Foo Bar <third@example.com>
uid                 [ultimate] Mr. Foo Bar <second@example.com>
Run Code Online (Sandbox Code Playgroud)

gpg uid

23
推荐指数
1
解决办法
7416
查看次数

标签 统计

dd ×2

backup ×1

bash ×1

debian ×1

devices ×1

environment-variables ×1

file-transfer ×1

files ×1

gpg ×1

linux ×1

memory ×1

networking ×1

openssh ×1

rm ×1

ssh ×1

swap ×1

symlink ×1

tcp ×1

uid ×1

version ×1

zip ×1