TranslateProject/translated/10 Lesser Known Useful Linux Commands- Part V.md

258 lines
8.3 KiB
Markdown
Raw Normal View History

2013-12-27 22:28:15 +08:00
十个鲜为人知的Linux命令 - Part 5
2013-12-24 09:24:50 +08:00
================================================================================
2013-12-27 22:28:15 +08:00
2014-01-08 10:58:16 +08:00
在前四篇 **“鲜为人知的Linux命令”** 系列文章受到高度赞赏之后,我们将为广大读者呈上此系列的最后一篇文章,虽然是最后一篇,但是其重要性毫不逊于前几篇。
2013-12-24 09:24:50 +08:00
![](http://www.tecmint.com/wp-content/uploads/2013/12/10-Lesser-Known-Useful-Commands-V.png)
2014-01-08 10:58:16 +08:00
前几篇文章的地址如下:
2013-12-24 09:24:50 +08:00
- [11 Lesser Known Useful Linux Commands Part I][1]
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
- [10 Lesser Known Linux Commands Part II][2]
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
- [10 Lesser Known Commands for Linux Part III][3]
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
- [10 Lesser Known Effective Linux Commands Part IV][4]
### 42. lsb_release ###
2014-01-08 11:00:15 +08:00
**lsb_release** 命令会打印特殊发行版的信息。如果 **lsb_release** 还没安装,你可以在基于 **Debain** 的发行版中用命令 apt **lsb-core** 安装,在基于 **Red Hat** 系统下用 yum **redhat-lsb** 来安装包。
2013-12-24 09:24:50 +08:00
# lsb_release -a
LSB Version: :base-4.0-ia32:base-4.0-noarch:core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
Distributor ID: CentOS
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
Description: CentOS release 6.3 (Final)
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
Release: 6.3
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
Codename: Final
2014-01-08 10:58:16 +08:00
**注意:**选项‘**-a**‘,会显示有关**版本、ID、详情、发行号**和**研发代号**的全部可用信息。
2013-12-24 09:24:50 +08:00
### 43. nc -zv localhost 80 ###
2014-01-08 10:58:16 +08:00
检查 **80** 端口是否被打开。我们可以用任何其他端口号替换‘**80**’来检查端口是否被打开或关闭。
2013-12-24 09:24:50 +08:00
$ nc -zv localhost 80
2014-01-08 10:58:16 +08:00
Connection to localhost 80 port [tcp/http] succeeded!译注出现该信息表示80端口已被打开。
2013-12-24 09:24:50 +08:00
2014-01-08 10:58:16 +08:00
检查 **8080** 端口是否启用
2013-12-24 09:24:50 +08:00
$ nc -zv localhost 8080
2014-01-08 10:58:16 +08:00
nc: connect to localhost port 8080 (tcp) failed: Connection refused译注该信息显示了8080端口并未打开。
2013-12-24 09:24:50 +08:00
2013-12-27 22:28:15 +08:00
### 44. curl inpinfo.io ###
2013-12-24 09:24:50 +08:00
2014-01-08 10:58:16 +08:00
该命令会输出并提供 **IP 地址****‘地理位置’** 。
2013-12-24 09:24:50 +08:00
$ curl ipinfo.io
2013-12-27 22:28:15 +08:00
"ip": "xx.xx.xx.xx",
2013-12-24 09:24:50 +08:00
"hostname": "triband-del-aa.bbb.cc.ddd.bol.net.in",
2013-12-27 22:28:15 +08:00
"city": "null",
"region": "null",
2013-12-24 09:24:50 +08:00
"country": "IN",
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
"loc": "20,77",
2013-12-27 22:28:15 +08:00
"org": "AS17813 Mahanagar Telephone Nigam Ltd".
2013-12-24 09:24:50 +08:00
### 45. find . -user root ###
2014-01-08 10:58:16 +08:00
该命令会输出( **root** )用户所拥有的文件译注即owner为root。下面是在当前目录下列出的所有 root用户拥有的文件。
2013-12-24 09:24:50 +08:00
# find . -user root
./.recently-used.xbel
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
./.mysql_history
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
./.aptitude
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
./.aptitude/config
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
./.aptitude/cache
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
./.bluefish
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
./.bluefish/session-2.0
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
./.bluefish/autosave
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
./.bash_history
2014-01-08 10:58:16 +08:00
在当前路径下列出所有 **avi** 用户拥有的文件
2013-12-24 09:24:50 +08:00
# find . -user avi
./.cache/chromium/Cache/f_002b66
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
./.cache/chromium/Cache/f_001719
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
./.cache/chromium/Cache/f_001262
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
./.cache/chromium/Cache/f_000544
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
./.cache/chromium/Cache/f_002e40
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
./.cache/chromium/Cache/f_00119a
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
./.cache/chromium/Cache/f_0014fc
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
./.cache/chromium/Cache/f_001b52
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
./.cache/chromium/Cache/f_00198d
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
./.cache/chromium/Cache/f_003680
### 46. sudo apt-get build-dep ffmpeg ###
2014-01-08 10:58:16 +08:00
该命令会在相应的包安装时自动构建依赖关系。因此包安装的过程将非常流畅,也是非常容易的。
2013-12-24 09:24:50 +08:00
# apt-get build-dep ffmpeg
libxinerama-dev libxml-namespacesupport-perl libxml-sax-expat-perl
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
libxml-sax-perl libxml-simple-perl libxrandr-dev libxrender-dev
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
x11proto-render-dev x11proto-xinerama-dev xulrunner-dev
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
The following packages will be upgraded:
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
libpixman-1-0
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
1 upgraded, 143 newly installed, 0 to remove and 6 not upgraded.
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
Need to get 205 MB of archives.
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
After this operation, 448 MB of additional disk space will be used.
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
Do you want to continue [Y/n]?
### 47. lsof -iTCP:80 -sTCP:LISTEN ###
2014-01-08 10:58:16 +08:00
该命令会输出所用正在使用 **80** 端口的 **进程/服务** 的名称。为了更好的理解,在 **80** 端口运行下列命令,它会列出所用运行在该端口的 **进程/服务**
2013-12-24 09:24:50 +08:00
root@localhost:/home/avi# lsof -iTCP:80 -sTCP:LISTEN
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
apache2 1566 root 5u IPv6 5805 0t0 TCP *:www (LISTEN)
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
apache2 1664 www-data 5u IPv6 5805 0t0 TCP *:www (LISTEN)
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
apache2 1665 www-data 5u IPv6 5805 0t0 TCP *:www (LISTEN)
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
apache2 1666 www-data 5u IPv6 5805 0t0 TCP *:www (LISTEN)
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
apache2 1667 www-data 5u IPv6 5805 0t0 TCP *:www (LISTEN)
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
apache2 1668 www-data 5u IPv6 5805 0t0 TCP *:www (LISTEN)
2014-01-08 10:58:16 +08:00
同样,你可以检查运行在端口 **22** 的进程/服务。
2013-12-24 09:24:50 +08:00
root@localhost:/home/avi# lsof -iTCP:22 -sTCP:LISTEN
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
sshd 2261 root 3u IPv4 8366 0t0 TCP *:ssh (LISTEN)
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
sshd 2261 root 4u IPv6 8369 0t0 TCP *:ssh (LISTEN)
### 48. find -size +100M ###
2013-12-27 22:28:15 +08:00
这条find命令会在当前目录下列出所有超过指定大小的文件(这里指定为**100 MB**),递归查询。
2013-12-24 09:24:50 +08:00
# find -size +100M
./.local/share/Trash/files/linuxmint-15-cinnamon-dvd-32bit.iso
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
./Downloads/Fedora-Live-Desktop-i686-19-1.iso
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
./Downloads/Ant Videos/shakira 2.avi
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
./Downloads/Deewar.avi
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
./Desktop/101MSDCF/MOV02224.AVI
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
./Desktop/101MSDCF/MOV02020.AVI
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
./Desktop/101MSDCF/MOV00406.MP4
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
./Desktop/squeeze.iso
2014-01-08 10:58:16 +08:00
在当前目录递归的列出所用大于 **1000 MB** 的文件。
2013-12-24 09:24:50 +08:00
root@localhost:/home/avi# find -size +1000M
./Downloads/The Dark Knight 2008 hindi BRRip 720p/The Dark Knight.mkv.part
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
./Downloads/Saudagar - (1991) - DVDRiP - x264 - AAC 5.1 - Chapters - Esubs - [DDR]/Saudagar
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
- (1991) - DVDRiP - x264 - AAC 5.1 - Chapters - Esubs - [DDR].mkv
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
./Downloads/Deewar.avi
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
./Desktop/squeeze.iso
### 49. pdftk ###
2014-01-08 10:58:16 +08:00
**pdftk**命令用来合并几个pdf文件。你必须安装有 **pdftk** 程序。如果还没有请用apt或yum来获取相应的包。
2013-12-24 09:24:50 +08:00
$ pdftk 1.pdf 2.pdf 3.pdf …. 10.pdf cat output merged.pdf
### 50. ps -LF -u user_name ###
2014-01-08 10:58:16 +08:00
该命令会输出一个用户的进程和线程。选项“**L**”(列出线程),选项“**-F**”(完整格式化)
2013-12-24 09:24:50 +08:00
$ ps -LF -u avi
avi 21645 3717 21766 0 5 66168 117164 1 18:58 ? 00:00:00 /usr/
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
avi 21645 3717 21768 0 5 66168 117164 1 18:58 ? 00:00:00 /usr/
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
avi 22314 3717 22314 0 2 42797 50332 0 19:00 ? 00:00:40 /usr/
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
avi 22314 3717 22316 0 2 42797 50332 1 19:00 ? 00:00:00 /usr/
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
avi 22678 24621 22678 0 1 969 1060 1 21:05 pts/1 00:00:00 ps -L
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
avi 23051 3717 23051 0 2 37583 45444 1 19:03 ? 00:00:52 /usr/
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
avi 23051 3717 23053 0 2 37583 45444 0 19:03 ? 00:00:03 /usr/
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
avi 23652 1 23652 0 2 22092 12520 0 19:06 ? 00:00:22 gnome
2013-12-27 22:28:15 +08:00
2013-12-24 09:24:50 +08:00
avi 23652 1 23655 0 2 22092 12520 0 19:06 ? 00:00:00 gnome
### 51. Startx — :1 ###
2014-01-08 10:58:16 +08:00
分享 **X** 会话,意味着需要频繁的登入或登出,这就需要 **startx** 来救场。这个命令建立了一个新的会话从而避免了在一个会话中反复的登入和登出。为了在X会话间进行交换我们可以通过**ctrl+Alt+F7**’和‘**ctrl+Alt+F8**’的组合键来完成。
2013-12-24 09:24:50 +08:00
2014-01-08 10:58:16 +08:00
**注意**:快捷键“**ctrl+Alt+F1F6**“是为了控制台会话准备的,而“**ctrl+Alt+FF12**”则为X会话服务。因此我们有**6**个控制台会话和**6**个X会话不需要频繁的登入登出。上面的顺序适用于大多数的发行版然而不同发行版可能会有不同的实现。我在Debian中尝试过运行的很好。
2013-12-24 09:24:50 +08:00
2014-01-08 10:58:16 +08:00
以上就是今天的所有内容。我们如有需要会在以后的文章中继续发布“鲜为人知的命令”,不要忘记留下你对我们文章和‘ **鲜为人知的Linux命令** ’系列的宝贵意见。我会很快带来我的新文章,敬请期待。直到那时,要保持电脑健康,记得常回 **Tecmint** 看看哦。
2013-12-24 09:24:50 +08:00
--------------------------------------------------------------------------------
2014-01-08 10:21:20 +08:00
via: http://www.tecmint.com/10-lesser-known-useful-linux-commands-part-v/
2013-12-24 09:24:50 +08:00
2014-01-08 10:58:16 +08:00
译者:[Luoxcat](https://github.com/Luoxcat) 校对:[Caroline](https://github.com/carolinewuyan)
2013-12-24 09:24:50 +08:00
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
[1]:http://www.tecmint.com/11-lesser-known-useful-linux-commands/
[2]:http://www.tecmint.com/10-lesser-known-linux-commands-part-2/
[3]:http://www.tecmint.com/10-lesser-known-commands-for-linux-part-3/
2013-12-24 13:58:24 +08:00
[4]:http://www.tecmint.com/10-lesser-known-effective-linux-commands-part-iv/