用 pgrep 寻找进程
您可能无数次使用 ps aux | grep ... 寻找进程。这当然是有效的,但是有一种更高效的搜索进程的方法。请试试 pgrep。
例如,以下命令寻找 strike 的所有登录 shell(其中的 strike 是用户名):
$ pgrep -l -u strike zsh
10331 zsh
10966 zsh
|
pgrep 命令提供筛选选项,允许按用户名(上面给出的 -u)、进程组、组等筛选进程。配套的实用程序 pkill 接受 pgrep 的所有选项和一个信号,它把这个信号发送给与给定的条件匹配的所有进程。
例如,命令 pkill -9 -u strike zsh 与 pgrep -u strike zsh | xargs kill -9 等效。
用 pwgen 生成安全密码
UNIX 中每个重要的子系统都需要自己的密码。电子邮件、远程登录和超级用户特权都需要密码,这些密码最好各不相同而且难以通过自动化攻击猜测或推断出来。另外,如果希望开发生成账户的脚本,就需要一个可靠的随机安全密码来源。
pwgen 实用程序是一个用来生成密码的小程序。可以把密码设定为更容易记忆的或更安全的,还可以指定密码是否包含数字、符号、元音和大写字母。
许多 UNIX 系统都有 pwgen。如果没有,也很容易构建它:
$ # As of March 2009, the latest version is 2.06 $ wget http://voxel.dl.sourceforge.net/sourceforge/\ pwgen/pwgen-2.06.tar.gz $ tar xzf pwgen-2.06.tar.gz $ cd pwgen-2.06 $ ./configure && make && sudo make install |
下面是一些使用示例:
- 输出容易记忆的密码集合:
$ pwgen -C ue2Ahnga Soom0Lu0 Hie8aiph gei9mooD eiXeex7N Wid4Ueng taShee3v Ja3shii8 iNg0viSh iegh5ouF ... zoo8Ahzu Iefev0ch MoVu4Pae goh1Ak6m EiJup5ei
- 生成一个安全的密码:
$ pwgen -s -1 oYvy9WWa
- 生成一个安全的密码,其中不包含含糊(即容易混淆的)字符,至少包含一个非字母数字字符:
$ ./pwgen -s -B -1 -y 7gEqT_V[
输入 pwgen --help 可以查看所有可用选项。
用 multitail 查看许多文件
无论您是调试新代码的开发人员,还是监视系统的系统管理员,都常常需要同时查看许多东西。如果您是开发人员,为了寻找 bug,可能要查看调试日志和 stdout;如果您是管理员,可能要根据需要调整策略活动。这些任务常常需要在屏幕上显示许多窗口;例如,在一个窗口中执行 tail,在另一个窗口中执行 less,在第三个窗口中显示命令提示。
如果必须同时监视多个文件,那么可以考虑使用 multitail。顾名思义,这个实用程序把一个控制台窗口分割为多个部分,每个日志文件一个部分。更棒的是,multitail 可以给已知的格式加颜色标记(还可以定义定制的颜色方案),可以把多个文件合并成一个流。
为了构建 multitail,需要下载源代码、解压它并运行 make。(发行版的通用 makefile 中的选项对于大多数 UNIX 系统应该足够了。如果 make 运行失败,那么在顶层目录中寻找适合自己系统的 makefile)。
# As this article was written, the latest version of multitail was 5.2.2 $ wget http://www.vanheusden.com/multitail/multitail-5.2.2.tgz $ tar xzf multitail-5.2.2.tgz $ cd multitail-5.2.2 $ make $ sudo make install |
下面是 multitail 的一些使用示例:
- 为了在同一窗口中查看多个日志文件,用一个文件名列表启动这个实用程序,比如 multitail /var/log/apache2/{access,error}.log。
- 为了在同一窗口中查看两个文件并缓冲读取的所有信息,使用 -I 选项把指定的文件与另一个文件合并,比如 multitail -M 0 /var/log/apache/access.log -I /var/log/apache/error.log。在这里,把 Apache 错误日志和访问日志合并在一起。-M 0 记录输入的所有数据;在任何时候,按 B 键即可看到缓冲区。
- 还可以组合命令和文件。例如,为了查看一个日志文件并监视 ping 的输出,可以使用 multitail logfile -l "ping 192.168.1.3"。这会在同一控制台中创建两个视图:一个视图显示 logfile 的内容,另一个视图显示 ping 192.168.1.3 的输出。
除了命令行选项之外,multitail 还提供一组交互式命令,它们影响显示的当前状态。例如,在显示中按 A 键可以添加新的日志文件。按 B 键显示保存的缓冲区。按 Q 键退出 multitail。命令的完整列表见 multitail 的手册页。
用 7zip 压缩和解压几乎任何格式
Windows 和 UNIX 各有多种流行的存档格式。Windows 常常使用 .zip 和 .cab 格式,UNIX 有 .tar、.cpio 和 .gzip 格式。UNIX 及其变体还使用 .rpm、.deb 和 .dmg。这些格式在网上都很常见,局面比较混乱。
为了以任意格式保存或解压数据,可以安装一大堆专用的实用程序,也可以安装 7zip。它是一种通用的转换器,可以压缩和解压任何存档。另外,7zip 还提供自己的格式,这种格式的压缩率比任何其他方案都高,容量限制达到 TB 级,支持强大的数据加密。
为了构建 7zip,需要从 SourceForge 上的项目页面下载 p7zip(7zip 的 UNIX 版本)的源代码(见 参考资料)。解压 tarball,进入源代码目录,运行 make。(与 multitail 相似,通用的 makefile 应该足够了;如果构建不成功,应该选择提供的专用 makefile 之一)。
$ wget http://voxel.dl.sourceforge.net/sourceforge/p7zip/\ p7zip_4.65_src_all.tar.bz2 $ tar xjf p7zip_4.65_src_all.tar.bz2 $ cd p7zip_4.65 $ make $ sudo make install |
构建过程会生成并安装实用程序 7za。输入不带参数的 7za,即可看到可用命令和选项的列表。与 tar 相似,每个命令都是一个字母,比如 a 在存档中添加文件,x 提取文件。
为了试试这个实用程序,以多种格式创建 p7zip 源代码的存档,然后用 7za 解压每个存档:
$ zip -r p7.zip p7zip_4.65 $ 7za -ozip x p7.zip $ tar cvf p7.tar p7zip_4.65 $ 7za -otar x p7.tar $ bzip2 p7.tar $ 7za -so x p7.tar.bz2 | tar tf - |
从上到下,7za 依次解压 .zip、.tar 和 .bz2 存档。在最后一个命令中,7za 解压 .bz2 存档并把输出写到 stdout,在这里 tar 解压文件并编制目录。与 tar 相似,7za 可以作为管道(|)的源或目的地,因此很容易与其他实用程序组合在一起。
时间:2009-07-13 15:03
来源:developerWorks 中国
作者:Martin Streicher
原文链接
好文,顶一下
(4)
100%
文章真差,踩一下
(0)
0%
------分隔线----------------------------
把开源带在你的身边-精美linux小纪念品
|