mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-01-22 23:00:57 +08:00
Merge remote-tracking branch 'LCTT/master'
This commit is contained in:
commit
5658de715c
@ -1,12 +1,13 @@
|
|||||||
如何解决 mount.nfs:失效的文件句柄错误
|
如何解决 “mount.nfs: Stale file handle”错误
|
||||||
======
|
======
|
||||||
了解如何解决 mount.nfs:Linux 平台上的失效文件句柄错误。它是可以在客户端或者服务端解决的网络文件系统错误。
|
|
||||||
|
> 了解如何解决 Linux 平台上的 `mount.nfs: Stale file handle` 错误。这个 NFS 错误可以在客户端或者服务端解决。
|
||||||
|
|
||||||
_![][1]_
|
_![][1]_
|
||||||
|
|
||||||
当你在你的环境中使用网络文件系统时,你一定不时看到 `mount.nfs:Stale file handle` 错误。此错误表示 NFS 共享无法挂载,因为自上次配置后有些东西已经更改。
|
当你在你的环境中使用网络文件系统时,你一定不时看到 `mount.nfs:Stale file handle` 错误。此错误表示 NFS 共享无法挂载,因为自上次配置后有些东西已经更改。
|
||||||
|
|
||||||
无论何时你重启 NFS 服务器或某些 NFS 进程未在客户端或服务器上运行,或者共享未在服务器上正确导出,这些都可能是这个错误的原因。此外,当这个错误发生在先前挂载的 NFS 共享上时,它会它令人不快。因为这意味着配置部分是正确的,因为是以前挂载的。在这种情况下,可以尝试下面的命令:
|
无论是你重启 NFS 服务器或某些 NFS 进程未在客户端或服务器上运行,或者共享未在服务器上正确输出,这些都可能是导致这个错误的原因。此外,当这个错误发生在先前挂载的 NFS 共享上时,它会令人不快。因为这意味着配置部分是正确的,因为是以前挂载的。在这种情况下,可以尝试下面的命令:
|
||||||
|
|
||||||
确保 NFS 服务在客户端和服务器上运行良好。
|
确保 NFS 服务在客户端和服务器上运行良好。
|
||||||
|
|
||||||
@ -18,8 +19,6 @@ nfsd (pid 12009 12008 12007 12006 12005 12004 12003 12002) is running...
|
|||||||
rpc.rquotad (pid 11988) is running...
|
rpc.rquotad (pid 11988) is running...
|
||||||
```
|
```
|
||||||
|
|
||||||
>通过 CloudDesktopOnline.com 上的[ Windows 7 云桌面][2]在任意位置的任何设备上保持与你最喜爱的 Windows 程序的连接。从 [Apps4Rent.com][3] 获得有专家支持的 Office 365 和免费迁移。
|
|
||||||
|
|
||||||
如果 NFS 共享目前挂载在客户端上,则强制卸载它并尝试在 NFS 客户端上重新挂载它。通过 `df` 命令检查它是否正确挂载,并更改其中的目录。
|
如果 NFS 共享目前挂载在客户端上,则强制卸载它并尝试在 NFS 客户端上重新挂载它。通过 `df` 命令检查它是否正确挂载,并更改其中的目录。
|
||||||
|
|
||||||
```
|
```
|
||||||
@ -43,6 +42,7 @@ umount: /mydata_nfs: device is busy
|
|||||||
umount2: Device or resource busy
|
umount2: Device or resource busy
|
||||||
umount: /mydata_nfs: device is busy
|
umount: /mydata_nfs: device is busy
|
||||||
```
|
```
|
||||||
|
|
||||||
然后你可以用 `lsof` 命令来检查哪个进程或用户正在使用该挂载点,如下所示:
|
然后你可以用 `lsof` 命令来检查哪个进程或用户正在使用该挂载点,如下所示:
|
||||||
|
|
||||||
```
|
```
|
||||||
@ -57,7 +57,7 @@ bash 25040 oracle11 cwd unknown
|
|||||||
|
|
||||||
如果你在上面的示例中看到共有 4 个 PID 正在使用该挂载点上的某些文件。尝试杀死它们以释放挂载点。完成后,你将能够正确卸载它。
|
如果你在上面的示例中看到共有 4 个 PID 正在使用该挂载点上的某些文件。尝试杀死它们以释放挂载点。完成后,你将能够正确卸载它。
|
||||||
|
|
||||||
有时 mount 命令会有相同的错误。接着使用下面的命令在客户端重启 NFS 服务后挂载。
|
有时 `mount` 命令会有相同的错误。接着使用下面的命令在客户端重启 NFS 服务后挂载。
|
||||||
|
|
||||||
```
|
```
|
||||||
# service nfs restart
|
# service nfs restart
|
||||||
@ -73,7 +73,7 @@ Starting NFS daemon: [ OK ]
|
|||||||
|
|
||||||
另请阅读:[如何在 HPUX 中逐步重启 NFS][5]
|
另请阅读:[如何在 HPUX 中逐步重启 NFS][5]
|
||||||
|
|
||||||
即使这没有解决你的问题,最后一步是在 NFS 服务器上重启服务。警告!这将断开从该 NFS 服务器导出的所有 NFS 共享。所有客户端将看到挂载点断开。这一步将 99% 解决你的问题。如果没有,请务必检查[ NFS 配置][6],提供你修改的配置并发布你启动时看到的错误。
|
即使这没有解决你的问题,最后一步是在 NFS 服务器上重启服务。警告!这将断开从该 NFS 服务器输出的所有 NFS 共享。所有客户端将看到挂载点断开。这一步将 99% 解决你的问题。如果没有,请务必检查 [NFS 配置][6],提供你修改的配置并发布你启动时看到的错误。
|
||||||
|
|
||||||
上面文章中的输出来自 RHEL6.3 服务器。请将你的评论发送给我们。
|
上面文章中的输出来自 RHEL6.3 服务器。请将你的评论发送给我们。
|
||||||
|
|
||||||
@ -83,7 +83,7 @@ via: https://kerneltalks.com/troubleshooting/resolve-mount-nfs-stale-file-handle
|
|||||||
|
|
||||||
作者:[KernelTalks][a]
|
作者:[KernelTalks][a]
|
||||||
译者:[geekpi](https://github.com/geekpi)
|
译者:[geekpi](https://github.com/geekpi)
|
||||||
校对:[校对者ID](https://github.com/校对者ID)
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
@ -1,18 +1,20 @@
|
|||||||
Linux 中的 5 个 SSH 别名例子
|
Linux 中的 5 个 SSH 别名例子
|
||||||
======
|
======
|
||||||
|
|
||||||
[![][1]][1]
|
[![][1]][1]
|
||||||
|
|
||||||
作为一个 Linux 用户,我们常用[ ssh 命令][2] 来登入远程机器。ssh 命令你用得越多,你在键入一些重要的命令上花的时间也越多。我们可以用 [定义在你的 .bashrc 文件里的别名][3] 或函数来大幅度缩减花在命令行界面(CLI)的时间。但这不是最佳解决之道。最佳办法是在 ssh 配置文件中使用 **SSH-别名** 。
|
作为一个 Linux 用户,我们常用 [ssh 命令][2] 来登入远程机器。`ssh` 命令你用得越多,你在键入一些重要的命令上花的时间也越多。我们可以用 [定义在你的 .bashrc 文件里的别名][3] 或函数来大幅度缩减花在命令行界面(CLI)的时间。但这不是最佳解决之道。最佳办法是在 `ssh` 配置文件中使用 **SSH 别名** 。
|
||||||
|
|
||||||
这里是我们能把 ssh 命令用得更好的几个例子。
|
这里是我们能把 `ssh` 命令用得更好的几个例子。
|
||||||
|
|
||||||
ssh 到 AWS(译注:Amazon Web Services,亚马逊公司旗下云计算服务平台)实例的连接是一种痛。仅仅输入以下命令,每次也完全是浪费你时间。
|
ssh 登入到 AWS(译注:Amazon Web Services,亚马逊公司旗下云计算服务平台)实例的连接是一种痛。仅仅输入以下命令,每次也完全是浪费你时间。
|
||||||
|
|
||||||
```
|
```
|
||||||
ssh -p 3000 -i /home/surendra/mysshkey.pem ec2-user@ec2-54-20-184-202.us-west-2.compute.amazonaws.com
|
ssh -p 3000 -i /home/surendra/mysshkey.pem ec2-user@ec2-54-20-184-202.us-west-2.compute.amazonaws.com
|
||||||
```
|
```
|
||||||
|
|
||||||
缩短到
|
缩短到:
|
||||||
|
|
||||||
```
|
```
|
||||||
ssh aws1
|
ssh aws1
|
||||||
```
|
```
|
||||||
@ -23,26 +25,28 @@ ssh aws1
|
|||||||
ssh -vvv the_good_user@red1.taggle.abc.com.au
|
ssh -vvv the_good_user@red1.taggle.abc.com.au
|
||||||
```
|
```
|
||||||
|
|
||||||
缩短到
|
缩短到:
|
||||||
|
|
||||||
```
|
```
|
||||||
ssh xyz
|
ssh xyz
|
||||||
```
|
```
|
||||||
|
|
||||||
在本篇中,我们将看到如何不使用 bash 别名或函数实现 ssh 命令的缩短。ssh 别名的主要优点是所有的 ssh 命令快捷方式都存储在一个单一文件,如此就易于维护。其他优点是 **对于类似于 SSH 和 SCP 的命令** 我们能用相同的别名。
|
在本篇中,我们将看到如何不使用 bash 别名或函数实现 `ssh` 命令的缩短。`ssh` 别名的主要优点是所有的 `ssh` 命令快捷方式都存储在一个单一文件,如此就易于维护。其他优点是 **对于类似于 SSH 和 SCP 的命令** 我们能用相同的别名。
|
||||||
|
|
||||||
在我们进入实际配置之前,我们应该知道 /etc/ssh/ssh_config、/etc/ssh/sshd_config 和 ~/.ssh/config 文件三者的区别。以下是对这些文件的解释。
|
在我们进入实际配置之前,我们应该知道 `/etc/ssh/ssh_config`、`/etc/ssh/sshd_config` 和 `~/.ssh/config` 文件三者的区别。以下是对这些文件的解释。
|
||||||
|
|
||||||
## /etc/ssh/ssh_config 和 ~/.ssh/config 间的区别
|
### /etc/ssh/ssh_config 和 ~/.ssh/config 间的区别
|
||||||
|
|
||||||
系统级别的 SSH 配置项存放在 /etc/ssh/ssh_config,而用户级别的 ssh 配置项存放在 ~/.ssh/config 文件中。
|
系统级别的 SSH 配置项存放在 `/etc/ssh/ssh_config`,而用户级别的 SSH 配置项存放在 `~/.ssh/config` 文件中。
|
||||||
|
|
||||||
## /etc/ssh/ssh_config 和 /etc/ssh/sshd_config 间的区别
|
### /etc/ssh/ssh_config 和 /etc/ssh/sshd_config 间的区别
|
||||||
|
|
||||||
系统级别的 SSH 配置项是在 /etc/ssh/ssh_config 文件中,而系统级别的 SSH 服务端配置项存放在 /etc/ssh/sshd_config 文件。
|
系统级别的 SSH 配置项是在 `/etc/ssh/ssh_config` 文件中,而系统级别的 SSH **服务端**配置项存放在 `/etc/ssh/sshd_config` 文件。
|
||||||
|
|
||||||
## **在 ~/.ssh/config 文件里配置项的语法**
|
### 在 ~/.ssh/config 文件里配置项的语法
|
||||||
|
|
||||||
|
`~/.ssh/config` 文件内容的语法:
|
||||||
|
|
||||||
~/.ssh/config 文件内容的语法。
|
|
||||||
```
|
```
|
||||||
配置项 值
|
配置项 值
|
||||||
配置项 值1 值2
|
配置项 值1 值2
|
||||||
@ -50,7 +54,8 @@ ssh xyz
|
|||||||
|
|
||||||
**例 1:** 创建主机(www.linuxnix.com)的 SSH 别名
|
**例 1:** 创建主机(www.linuxnix.com)的 SSH 别名
|
||||||
|
|
||||||
编辑 ~/.ssh/config 文件写入以下内容
|
编辑 `~/.ssh/config` 文件写入以下内容:
|
||||||
|
|
||||||
```
|
```
|
||||||
Host tlj
|
Host tlj
|
||||||
User root
|
User root
|
||||||
@ -58,18 +63,17 @@ Host tlj
|
|||||||
port 22
|
port 22
|
||||||
```
|
```
|
||||||
|
|
||||||
保存此文件
|
保存此文件。
|
||||||
|
|
||||||
以上 ssh 别名用了
|
以上 ssh 别名用了
|
||||||
|
|
||||||
1. **tlj 作为一个别名的名称**
|
1. `tlj` 作为一个别名的名称
|
||||||
2. **root 作为将要登入的用户**
|
2. `root` 作为将要登入的用户
|
||||||
3. **18.197.176.13 作为主机的 IP 地址**
|
3. `18.197.176.13` 作为主机的 IP 地址
|
||||||
4. **22 作为访问 SSH 服务的端口。**
|
4. `22` 作为访问 SSH 服务的端口
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
输出:
|
输出:
|
||||||
|
|
||||||
```
|
```
|
||||||
sanne@Surendras-MacBook-Pro:~ > ssh tlj
|
sanne@Surendras-MacBook-Pro:~ > ssh tlj
|
||||||
Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-93-generic x86_64)
|
Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-93-generic x86_64)
|
||||||
@ -84,9 +88,10 @@ logout
|
|||||||
Connection to 18.197.176.13 closed.
|
Connection to 18.197.176.13 closed.
|
||||||
```
|
```
|
||||||
|
|
||||||
**例 2:** 不用密码用 ssh 密钥登到系统要用 **IdentityFile** 。
|
**例 2:** 不用密码用 ssh 密钥登到系统要用 `IdentityFile` 。
|
||||||
|
|
||||||
例:
|
例:
|
||||||
|
|
||||||
```
|
```
|
||||||
Host aws
|
Host aws
|
||||||
User ec2-users
|
User ec2-users
|
||||||
@ -95,7 +100,7 @@ Host aws
|
|||||||
port 22
|
port 22
|
||||||
```
|
```
|
||||||
|
|
||||||
**例 3:** 对同一主机使用不同的别名。在下例中,我们对同一 IP/主机 18.197.176.13 用了 **tlj, linuxnix, linuxnix.com** 三个别名。
|
**例 3:** 对同一主机使用不同的别名。在下例中,我们对同一 IP/主机 18.197.176.13 用了 `tlj`、 `linuxnix`、`linuxnix.com` 三个别名。
|
||||||
|
|
||||||
~/.ssh/config 文件内容
|
~/.ssh/config 文件内容
|
||||||
```
|
```
|
||||||
@ -106,6 +111,7 @@ Host tlj linuxnix linuxnix.com
|
|||||||
```
|
```
|
||||||
|
|
||||||
**输出:**
|
**输出:**
|
||||||
|
|
||||||
```
|
```
|
||||||
sanne@Surendras-MacBook-Pro:~ > ssh tlj
|
sanne@Surendras-MacBook-Pro:~ > ssh tlj
|
||||||
Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-93-generic x86_64)
|
Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-93-generic x86_64)
|
||||||
@ -147,48 +153,52 @@ Connection to 18.197.176.13 closed.
|
|||||||
**例 4:** 用相同的 SSH 别名复制文件到远程系统
|
**例 4:** 用相同的 SSH 别名复制文件到远程系统
|
||||||
|
|
||||||
语法:
|
语法:
|
||||||
|
|
||||||
```
|
```
|
||||||
**scp <文件名> <ssh_别名>:<位置>**
|
scp <文件名> <ssh_别名>:<位置>
|
||||||
```
|
```
|
||||||
|
|
||||||
例子:
|
例子:
|
||||||
|
|
||||||
```
|
```
|
||||||
sanne@Surendras-MacBook-Pro:~ > scp abc.txt tlj:/tmp
|
sanne@Surendras-MacBook-Pro:~ > scp abc.txt tlj:/tmp
|
||||||
abc.txt 100% 12KB 11.7KB/s 00:01
|
abc.txt 100% 12KB 11.7KB/s 00:01
|
||||||
sanne@Surendras-MacBook-Pro:~ >
|
sanne@Surendras-MacBook-Pro:~ >
|
||||||
```
|
```
|
||||||
|
|
||||||
若我们已经将 ssh 主机设置好一个别名,由于 ssh 和 SCP 两者用几乎相同的语法和选项,SCP 用起来就轻而易举
|
若我们已经将 ssh 主机设置好一个别名,由于 `ssh` 和 `scp` 两者用几乎相同的语法和选项,`scp` 也可以轻易使用。
|
||||||
|
|
||||||
请在下面尝试从本机 scp 一个文件到远程机器。
|
请在下面尝试从本机 `scp` 一个文件到远程机器。
|
||||||
|
|
||||||
**例 5:** 解决 Linux中的 SSH 超时问题。默认情况,如果你不积极地使用终端,你的 ssh 登入就会超时。
|
**例 5:** 解决 Linux 中的 SSH 超时问题。默认情况,如果你不积极地使用终端,你的 ssh 登入就会超时
|
||||||
|
|
||||||
|
[SSH 超时问题][5] 是一个更痛的点意味着你在一段时间后不得不重新登入到远程机器。我们能在 `~/.ssh/config` 文件里边恰当地设置 SSH 超时时间来使你的会话不管在什么时间总是激活的。我们将用 2 个能保持会话存活的 SSH 选项来实现这一目的。之一是 `ServerAliveInterval` 保持你会话存活的秒数和 `ServerAliveCountMax` 在(经历了一个)给定数值的会话之后初始化会话。
|
||||||
|
|
||||||
[SSH 超时问题][5] 是一个更痛的点意味着你在一段时间后不得不重新登入到远程机器。我们能在 ~/.ssh/config 文件里边恰当地设置 SSH 超时时间来使你的会话不管在什么时间总是激活的。我们将用 2 个能保持会话存活的 SSH 选项来实现这一目的。之一是 ServerAliveInterval 保持你会话存活的秒数和 ServerAliveCountMax 在(经历了一个)给定数值的会话之后初始化会话。
|
|
||||||
```
|
```
|
||||||
**ServerAliveInterval A**
|
ServerAliveInterval A
|
||||||
**ServerAliveCountMax B**
|
ServerAliveCountMax B
|
||||||
```
|
```
|
||||||
|
|
||||||
**例:**
|
**例:**
|
||||||
|
|
||||||
```
|
```
|
||||||
Host tlj linuxnix linuxnix.com
|
Host tlj linuxnix linuxnix.com
|
||||||
User root
|
User root
|
||||||
HostName 18.197.176.13
|
HostName 18.197.176.13
|
||||||
port 22
|
port 22
|
||||||
ServerAliveInterval 60**
|
ServerAliveInterval 60
|
||||||
ServerAliveCountMax 30
|
ServerAliveCountMax 30
|
||||||
```
|
```
|
||||||
|
|
||||||
在下篇中我们将会看到一些其他的退出方式。请保持访问 linuxnix.com。
|
在下篇中我们将会看到一些其他的退出方式。
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
via: https://www.linuxnix.com/5-ssh-alias-examples-using-ssh-config-file/
|
via: https://www.linuxnix.com/5-ssh-alias-examples-using-ssh-config-file/
|
||||||
|
|
||||||
作者:[Surendra Anne;Max Ntshinga;Otto Adelfang;Uchechukwu Okeke][a]
|
作者:[SURENDRA ANNE][a]
|
||||||
译者:[ch-cn](https://github.com/ch-cn)
|
译者:[ch-cn](https://github.com/ch-cn)
|
||||||
校对:[校对者ID](https://github.com/校对者ID)
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
@ -1,105 +0,0 @@
|
|||||||
translating---geekpi
|
|
||||||
|
|
||||||
Scary Linux commands for Halloween
|
|
||||||
======
|
|
||||||
With Halloween so fast approaching, it's time for a little focus on the spookier side of Linux. What commands might bring up images of ghosts, witches and zombies? Which might encourage the spirit of trick or treat?
|
|
||||||
|
|
||||||
### crypt
|
|
||||||
|
|
||||||
Well, we've always got **crypt**. Despite its name, crypt is not an underground vault or a burial pit for trashed files, but a command that encrypts file content. These days "crypt" is generally implemented as a script that emulates the older crypt command by calling a binary called **mcrypt** to do its work. Using the **mycrypt** command directly is an even better option.
|
|
||||||
```
|
|
||||||
$ mcrypt x
|
|
||||||
Enter the passphrase (maximum of 512 characters)
|
|
||||||
Please use a combination of upper and lower case letters and numbers.
|
|
||||||
Enter passphrase:
|
|
||||||
Enter passphrase:
|
|
||||||
|
|
||||||
File x was encrypted.
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
Note that the mcrypt command creates a second file with an added ".nc" extension. It doesn't overwrite the file you are encrypting.
|
|
||||||
|
|
||||||
The mcrypt command has options for key size and encryption algorithm. You can specify the key as an option too, though the mcrypt command discourages this.
|
|
||||||
|
|
||||||
### kill
|
|
||||||
|
|
||||||
There's also the kill command - not exactly a reference to murder, of course, but the command that we use for terminating processes gently or with considerable force, depending on what is required to properly terminate them. And Linux doesn't stop there, of course. Instead, it has all sorts of kill commands to bloody up your command line. We've got kill, pkill, killall, killpg, rfkill, skill (read es-kill), tgkill, tkill and xkill.
|
|
||||||
```
|
|
||||||
$ killall runme
|
|
||||||
[1] Terminated ./runme
|
|
||||||
[2] Terminated ./runme
|
|
||||||
[3]- Terminated ./runme
|
|
||||||
[4]+ Terminated ./runme
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
### shred
|
|
||||||
|
|
||||||
Linux systems also support a command called **shred**. The shred command overwrites files to hide their former content and ensure that they cannot be recovered using hard drive recovery tools. Keep in mind that the rm command basically just removes a file 's reference in the directory file, but does not necessarily scrape the content off the disk or overwrite it. The **shred** command overwrites the files' content.
|
|
||||||
```
|
|
||||||
$ shred dupes.txt
|
|
||||||
$ more dupes.txt
|
|
||||||
▒oΛ▒▒9▒lm▒▒▒▒▒o▒1־▒▒f▒f▒▒▒i▒▒h^}&▒▒▒{▒▒
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
### Zombies
|
|
||||||
|
|
||||||
Although not a command, **zombies** have a strong presence on Linux systems. Zombies are basically the remains of dead processes that haven 't quite been cleaned away. Processes aren't _supposed_ to work this way - leaving dead processes wandering around instead of simply having them die and go to digital Heaven, so the presence of zombies indicates that the processes that left them behind had some kind of flaws.
|
|
||||||
|
|
||||||
One easy way to check if your system has zombie processes stumbling around is to take a look at the header lines of the top command.
|
|
||||||
```
|
|
||||||
$ top
|
|
||||||
top - 18:50:38 up 6 days, 6:36, 2 users, load average: 0.00, 0.00, 0.00
|
|
||||||
Tasks: 171 total, 1 running, 167 sleeping, 0 stopped, 3 zombie **< ==**
|
|
||||||
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni, 99.9 id, 0.1 wa, 0.0 hi, 0.0 si, 0.0 st
|
|
||||||
KiB Mem : 2003388 total, 250840 free, 545832 used, 1206716 buff/cache
|
|
||||||
KiB Swap: 9765884 total, 9765764 free, 120 used. 1156536 avail Mem
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
Scary! Three zombies in the above display..
|
|
||||||
|
|
||||||
### at midnight
|
|
||||||
|
|
||||||
It is sometimes said that on Halloween, the spirits of the dead wander from sunset until midnight. Linux makes it possible to track their departure with the "at midnight" command. Used to schedule jobs that will be run the next time the specified time arrives, **at** works like a one-time cron.
|
|
||||||
```
|
|
||||||
$ at midnight
|
|
||||||
warning: commands will be executed using /bin/sh
|
|
||||||
at> echo 'the spirits of the dead have left'
|
|
||||||
at> <EOT>
|
|
||||||
job 3 at Thu Oct 31 00:00:00 2017
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
### daemons
|
|
||||||
|
|
||||||
Linux systems are also highly dependent on daemons - processes that run in the background and provide a lot of the functionality of the system. Many daemon processes have names that end in "d". That "d" stands for "daemon" and is an indication that the process is one that runs all of the time and supports some important function. Others have the word "daemon" spelled out.
|
|
||||||
```
|
|
||||||
$ ps -ef | grep sshd
|
|
||||||
root 1142 1 0 Oct19 ? 00:00:00 /usr/sbin/sshd -D
|
|
||||||
root 25342 1142 0 18:34 ? 00:00:00 sshd: shs [priv]
|
|
||||||
$ ps -ef | grep daemon | grep -v grep
|
|
||||||
message+ 790 1 0 Oct19 ? 00:00:01 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
|
|
||||||
root 836 1 0 Oct19 ? 00:00:02 /usr/lib/accountsservice/accounts-daemon
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
### Happy Halloween!
|
|
||||||
|
|
||||||
Join the Network World communities on [Facebook][1] and [LinkedIn][2] to comment on topics that are top of mind.
|
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
via: https://www.networkworld.com/article/3235219/linux/scary-linux-commands-for-halloween.html
|
|
||||||
|
|
||||||
作者:[Sandra Henry-Stocker][a]
|
|
||||||
译者:[译者ID](https://github.com/译者ID)
|
|
||||||
校对:[校对者ID](https://github.com/校对者ID)
|
|
||||||
|
|
||||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
|
||||||
|
|
||||||
[a]:https://www.networkworld.com/author/Sandra-Henry_Stocker/
|
|
||||||
[1]:https://www.facebook.com/NetworkWorld/
|
|
||||||
[2]:https://www.linkedin.com/company/network-world
|
|
@ -1,3 +1,5 @@
|
|||||||
|
translating---geekpi
|
||||||
|
|
||||||
How to find files in Linux
|
How to find files in Linux
|
||||||
======
|
======
|
||||||
|
|
||||||
|
103
translated/tech/20171027 Scary Linux commands for Halloween.md
Normal file
103
translated/tech/20171027 Scary Linux commands for Halloween.md
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
可怕的万圣节 Linux 命令
|
||||||
|
======
|
||||||
|
万圣节快到了,是时候关注一下 Linux 可怕的一面。什么命令可能会显示鬼、巫婆和僵尸的图像?这可能会鼓励伎俩或治疗的精神?哪个会鼓励“不给糖果就捣蛋”的精神?
|
||||||
|
|
||||||
|
### crypt
|
||||||
|
|
||||||
|
好吧,我们一直看到 **crypt**。尽管名称不同,crypt 不是一个地窖,也不是垃圾文件的埋葬坑,而是一个加密文件内容的命令。现在,“crypt” 通常用一个脚本实现,通过调用一个名为 **mcrypt** 的二进制文件来模拟以前的 crypt 命令来完成它的工作。直接使用 **mycrypt** 命令是更好的选择。
|
||||||
|
```
|
||||||
|
$ mcrypt x
|
||||||
|
Enter the passphrase (maximum of 512 characters)
|
||||||
|
Please use a combination of upper and lower case letters and numbers.
|
||||||
|
Enter passphrase:
|
||||||
|
Enter passphrase:
|
||||||
|
|
||||||
|
File x was encrypted.
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
请注意,mcrypt 命令会创建一个扩展名为 “.nc” 的第二个文件。它不会覆盖你正在加密的文件。
|
||||||
|
|
||||||
|
mcrypt 命令有密钥大小和加密算法的选项。你也可以再选项中指定密钥,但 mcrypt 命令不鼓励这样做。
|
||||||
|
|
||||||
|
### kill
|
||||||
|
|
||||||
|
还有 kill 命令 - 当然并不是指谋杀,而是用来强制和非强制地结束进程,这取决于正确终止它们的要求。当然,Linux 并不止于此。相反,它有各种 kill 命令来终止进程。我们有 kill、pkill、killall、killpg、rfkill、skill (读作 es-kill)、tgkill、tkill 和 xkill。
|
||||||
|
```
|
||||||
|
$ killall runme
|
||||||
|
[1] Terminated ./runme
|
||||||
|
[2] Terminated ./runme
|
||||||
|
[3]- Terminated ./runme
|
||||||
|
[4]+ Terminated ./runme
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
### shred
|
||||||
|
|
||||||
|
Linux 系统也支持一个名为 **shred** 的命令。shred 命令会覆盖文件以隐藏其以前的内容,并确保使用硬盘恢复工具无法恢复它们。请记住,rm 命令基本上只是删除文件在目录文件中的引用,但不一定会从磁盘上删除内容或覆盖它。**shred** 命令覆盖文件的内容。
|
||||||
|
```
|
||||||
|
$ shred dupes.txt
|
||||||
|
$ more dupes.txt
|
||||||
|
▒oΛ▒▒9▒lm▒▒▒▒▒o▒1־▒▒f▒f▒▒▒i▒▒h^}&▒▒▒{▒▒
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
### 僵尸
|
||||||
|
|
||||||
|
虽然不是命令,但**僵尸**在 Linux 系统上是很顽固的存在。僵尸基本上是没有完全清理掉的死亡进程的遗骸。进程_不应该_这样工作 - 让死亡进程四处游荡,而不是简单地让它们死亡并进入数字天堂,所以僵尸的存在表明让他们遗留的进程有一些缺陷。
|
||||||
|
|
||||||
|
一个简单的方法来检查你的系统是否有僵尸进程遗留,看看 top 命令的标题行。
|
||||||
|
```
|
||||||
|
$ top
|
||||||
|
top - 18:50:38 up 6 days, 6:36, 2 users, load average: 0.00, 0.00, 0.00
|
||||||
|
Tasks: 171 total, 1 running, 167 sleeping, 0 stopped, 3 zombie **< ==**
|
||||||
|
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni, 99.9 id, 0.1 wa, 0.0 hi, 0.0 si, 0.0 st
|
||||||
|
KiB Mem : 2003388 total, 250840 free, 545832 used, 1206716 buff/cache
|
||||||
|
KiB Swap: 9765884 total, 9765764 free, 120 used. 1156536 avail Mem
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
可怕!上面显示有三个僵尸进程。
|
||||||
|
|
||||||
|
### at midnight
|
||||||
|
|
||||||
|
有时会在万圣节这么说,死者的灵魂从日落开始游荡直到午夜。Linux 可以通过 “at midnight” 命令跟踪它们的离开。用于安排在下次到达指定时间时运行的作业,**at** 的作用类似于一次性的 cron。
|
||||||
|
```
|
||||||
|
$ at midnight
|
||||||
|
warning: commands will be executed using /bin/sh
|
||||||
|
at> echo 'the spirits of the dead have left'
|
||||||
|
at> <EOT>
|
||||||
|
job 3 at Thu Oct 31 00:00:00 2017
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
### 守护进程
|
||||||
|
|
||||||
|
Linux 系统也高度依赖守护进程 - 在后台运行的进程,并提供系统的许多功能。许多守护进程的名称以 “d” 结尾。这个 “d” 代表“守护进程” (daemon),表明这个进程一直运行并支持一些重要功能。有的会将单词 “daemon” 展开。
|
||||||
|
```
|
||||||
|
$ ps -ef | grep sshd
|
||||||
|
root 1142 1 0 Oct19 ? 00:00:00 /usr/sbin/sshd -D
|
||||||
|
root 25342 1142 0 18:34 ? 00:00:00 sshd: shs [priv]
|
||||||
|
$ ps -ef | grep daemon | grep -v grep
|
||||||
|
message+ 790 1 0 Oct19 ? 00:00:01 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
|
||||||
|
root 836 1 0 Oct19 ? 00:00:02 /usr/lib/accountsservice/accounts-daemon
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
### 万圣节快乐!
|
||||||
|
|
||||||
|
在 [Facebook][1] 和 [LinkedIn][2] 上加入 Network World 社区来对主题进行评论。
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
via: https://www.networkworld.com/article/3235219/linux/scary-linux-commands-for-halloween.html
|
||||||
|
|
||||||
|
作者:[Sandra Henry-Stocker][a]
|
||||||
|
译者:[geekpi](https://github.com/geekpi)
|
||||||
|
校对:[校对者ID](https://github.com/校对者ID)
|
||||||
|
|
||||||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
[a]:https://www.networkworld.com/author/Sandra-Henry_Stocker/
|
||||||
|
[1]:https://www.facebook.com/NetworkWorld/
|
||||||
|
[2]:https://www.linkedin.com/company/network-world
|
Loading…
Reference in New Issue
Block a user