11 个鲜为人知的 Linux 命令,你值得拥有~

Linux 命令行吸引了大多数 Linux 爱好者。一个正常的 Linux 用户一般掌握大约 50-60 个命令来处理每日的任务。Linux 命令和它们的转换对于 Linux 用户、Shell 脚本程序员和管理员来说是最有价值的宝藏。有些 Linux 命令很少人知道,但不管你是新手还是高级用户,它们都非常方便有用。

这篇文章的目的是介绍一些少有人知的 Linux 命令,它们一定会高效地帮你管理你的桌面 / 服务器。

1. sudo !! 命令

没有特定输入 sudo 命令而运行,将给出没有权限的错误。那么,你不需要重写整个命令,仅仅输入’!!‘就可以抓取最后的命令。

  • $ apt-get update

  • E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)

  • E: Unable to lock directory /var/lib/apt/lists/

  • E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)

  • E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?  

  • $ sudo !!

  • sudo apt-get update

  • [sudo] password for server:

  • ..

  • Fetched 474 kB in 16s (28.0 kB/s)

  • Reading package lists... Done

  • server@localhost:~$  

  • 2. python 命令

    下面的命令生产一个通过 HTTP 显示文件夹结构树的简单网页,可以通过浏览器在端口 8000 访问,直到发出中断信号。

  • # python -m SimpleHTTPServer  

  • 11 个鲜为人知的 Linux 命令,你值得拥有~

    3. mtr 命令

    我们大多数都熟悉 ping 和 traceroute。那对于把两个命令的功能合二为一的 mtr 命令呢。如果 mtr 没在你的机子上安装,apt 或者 yum 需要的包。

  • $ sudo apt-get install mtr (On Debian based Systems)

  • # yum install mtr (On Red Hat based Systems)  

  • 现在运行 mtr 命令,开始查看 mtr 运行的主机和 google.com 直接的网络连接。

  • # mtr google.com

  • 4. Ctrl+x+e 命令

    这个命令对于管理员和开发者非常有用。为了使每天的任务自动化,管理员需要通过输入 vi、vim、nano 等打开编辑器。

    仅仅从命令行快速的敲击 “Ctrl-x-e”,就可以在编辑器中开始工作了。

    5. nl 命令

    “nl 命令” 添加文件的行数。一个叫做’one.txt‘的文件,其每行的内容是 (Fedora、Debian、Arch、Slack 和 Suse),给每行添加行号。首先使用 cat 命令显示 “one.txt” 的文件内容。

  • # cat one.txt

  • fedora

  • debian

  • arch

  • slack

  • suse  

  • 现在运行 “nl 命令”,以添加行号的方式来显示。

  • # nl one.txt  

  • 1 fedora  

  • 2 debian  

  • 3 arch  

  • 4 slack  

  • 5 suse  

  • 6. shuf 命令

    “Shut” 命令随机从一个文件或文件夹中选择行 / 文件 / 文件夹。首先使用 ls 命令来显示文件夹的内容。

  • # ls

  • Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos

  • #  ls | shuf (shuffle Input)

  • Music

  • Documents

  • Templates

  • Pictures

  • Public

  • Desktop

  • Downloads

  • Videos

  • #  ls | shuf -n1 # 随机选择一个

  • Public

  • # ls | shuf -n1

  • Videos

  • # ls | shuf -n1

  • Templates

  • # ls | shuf -n1

  • Downloads  

  • 注意:你可以把‘ n1’替换成‘ n2’来输出两个随机选择或者使用 n3、 n4 等数字输出其他任意的随机选择。

    7. ss 命令

    “ss” 表示 socket 统计。这个命令调查 socket,显示类似 netstat 命令的信息。它可以比其他工具显示更多的 TCP 和状态信息。

  • # ss

  • State      Recv-Q Send-Q      Local Address:Port          Peer Address:Port  

  • ESTAB      0      0           192.168.1.198:41250        *.*.*.*:http    

  • CLOSE-WAIT 1      0               127.0.0.1:8000             127.0.0.1:41393  

  • ESTAB      0      0           192.168.1.198:36239        *.*.*.*:http    

  • ESTAB      310    0               127.0.0.1:8000             127.0.0.1:41384  

  • ESTAB      0      0           192.168.1.198:41002       *.*.*.*:http    

  • ESTAB      0      0               127.0.0.1:41384            127.0.0.1:8000  

  • 8. last 命令

    “last” 命令显示的是上次登录用户的历史信息。这个命令通过搜索文件 “/var/log/wtmp”,显示 logged-in 和 logged-out 及其 tty‘s 的用户列表。

  • #  last

  • server   pts/0        :0               Tue Oct 22 12:03   still logged in  

  • server   tty8         :0               Tue Oct 22 12:02   still logged in  

  • ...

  • (unknown tty8         :0               Tue Oct 22 12:02 - 12:02  (00:00)    

  • server   pts/0        :0               Tue Oct 22 10:33 - 12:02  (01:29)    

  • server   tty7         :0               Tue Oct 22 10:05 - 12:02  (01:56)    

  • (unknown tty7         :0               Tue Oct 22 10:04 - 10:05  (00:00)    

  • reboot   system boot  3.2.0-4-686-pae  Tue Oct 22 10:04 - 12:44  (02:39)    

  • wtmp begins Fri Oct  4 14:43:17 2007  

  • 9. curl ifconfig.me

    那么如何得到你的外部 IP 地址呢? 使用 google? 那么这个命令就在你的终端输出你的外部 IP 地址。

    # curl ifconfig.me

    注意:你可能没有按照 curl 包,你需要 apt/yum 来按照包。

    10. tree 命令

    以树式的格式得到当前文件夹的结构。

  • # tree

  • .

  • |-- Desktop

  • |-- Documents

  • |   `-- 37.odt

  • |-- Downloads

  • |   |-- attachments.zip

  • |   |-- ttf-indic-fonts_0.5.11_all.deb

  • |   |-- ttf-indic-fonts_1.1_all.deb

  • |   `-- wheezy-nv-install.sh

  • |-- Music

  • |-- Pictures

  • |   |-- Screenshot from 2013-10-22 12:03:49.png

  • |   `-- Screenshot from 2013-10-22 12:12:38.png

  • |-- Public

  • |-- Templates

  • `-- Videos

  • 10 directories, 23 files  

  • 11. pstree

    这个命令显示当前运行的所有进程及其相关的子进程,输出的是类似‘tree’命令的树状格式。 

  • # pstree

  • init─┬─NetworkManager───{NetworkManager}

  •     ├─accounts-daemon───{accounts-daemon}

  •     ├─acpi_fakekeyd

  •     ├─acpid

  •     ├─apache2───10*[apache2]

  •     ├─at-spi-bus-laun───2*[{at-spi-bus-laun}]

  •     ├─atd

  •     ├─avahi-daemon───avahi-daemon

  •     ├─bluetoothd

  •     ├─colord───{colord}

  •     ├─colord-sane───2*[{colord-sane}]

  •     ├─console-kit-dae───64*[{console-kit-dae}]

  •     ├─cron

  •     ├─cupsd

  •     ├─2*[dbus-daemon]

  •     ├─dbus-launch

  •     ├─dconf-service───2*[{dconf-service}]

  •     ├─dovecot─┬─anvil

  •     │         ├─config

  •     │         └─log

  •     ├─exim4

  •     ├─gconfd-2

  •     ├─gdm3─┬─gdm-simple-slav─┬─Xorg

  •     │      │                 ├─gdm-session-wor─┬─x-session-manag─┬─evolution-a+

  •     │      │                 │                 │                 ├─gdu-notific+

  •     │      │                 │                 │                 ├─gnome-scree+

  •     │      │                 │                 │                 ├─gnome-setti+

  •     │      │                 │                 │                 ├─gnome-shell+++

  •     │      │                 │                 │                 ├─nm-applet──+++

  •     │      │                 │                 │                 ├─ssh-agent

  •     │      │                 │                 │                 ├─tracker-min+

  •     │      │                 │                 │                 ├─tracker-sto+

  •     │      │                 │                 │                 └─3*[{x-sessi+

  •     │      │                 │                 └─2*[{gdm-session-wor}]

  •     │      │                 └─{gdm-simple-slav}

  •     │      └─{gdm3}

  •     ├─6*[getty]

  •     ├─gnome-keyring-d───9*[{gnome-keyring-d}]

  •     ├─gnome-shell-cal───2*[{gnome-shell-cal}]

  •     ├─goa-daemon───{goa-daemon}

  •     ├─gsd-printer───{gsd-printer}

  •     ├─gvfs-afc-volume───{gvfs-afc-volume}  

  • 联系我们

    电话:(0755)83460032                 400-638-8808微信:天下数据IDC地址:广东省深圳市官网:http://www.idcbest.hk