11个有用的Linux命令

Linux命令行吸引了大多数Linux爱好者。一个正常的Linux用户一般掌握大约50-60个命令来处理每日的任务。Linux命令和它们的转换对于Linux用户、Shell脚本程序员和管理员来说是最有价值的宝藏。有些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

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

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 (pick on random selection)

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}

(0)

相关推荐

  • Linux命令集

    Linux命令集 命令动词 简要说明 cd directory 进入指定的目录 cd .. 进入上一级目录 cd /directory 进入目录 cd 进入用户自己的目录 cp file_from file_to 拷贝文件 ln [-s] source linkname 为一个文件建立连结 ls [directory] 查看指定目录下的文件 ls -l [directory] 查看指定目录下文件的详细 ls -a [directory] 查看指定目录下的所有文件 mkdir new_direct

  • 开发人员必知的8个常用linux命令

    我们以一些文本举例.假设我们有2个文件,里面有订单关于第三方的放置地点和发送回应.cat order.out.log8:22:19 111, 1, Patterns of Enterprise Architecture, Kindle edition, 39.998:23:45 112, 1, Joy of Clojure, Hardcover, 29.998:24:19 113, -1, Patterns of Enterprise Architecture, Kindle edition,

  • 致命的7个Linux命令

    1.rm -rf / 此命令将递归并强制删除 / 目录下的所有文件.2.char esp[] __attribute__ ((section(".text"))) /* e.s.prelease */= "\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68″"\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99″"\xdf\x81\x68\x8d\x92\xdf\xd

  • linux命令学习之10个网络命令和监控命令

    网络和监控命令类似于这些: hostname, ping, ifconfig, iwconfig, netstat, nslookup, traceroute, finger, telnet, ethtool 用于查看linux服务器ip地址,管理服务器网络配置 ,通过 telnet 和ethernet建立与linux之间的网络链接,查看linux的服务器信息等.下面让我们看看在linux下的网络和监控命令的使用.1. hostname 复制代码 代码如下: hostname 没有选项,显示主机

  • Linux系统信息查看常用命令

    系统 # uname -a               # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue   # 查看操作系统版本# cat /proc/cpuinfo      # 查看CPU信息# hostname               # 查看计算机名# lspci -tv              # 列出所有PCI设备# lsusb -tv              # 列出所有USB设备# lsmod                  # 列出加载

  • 11个有用的Linux命令

    Linux命令行吸引了大多数Linux爱好者.一个正常的Linux用户一般掌握大约50-60个命令来处理每日的任务.Linux命令和它们的转换对于Linux用户.Shell脚本程序员和管理员来说是最有价值的宝藏.有些Linux命令很少人知道,但不管你是新手还是高级用户,它们都非常方便有用.1. sudo !!命令没有特定输入sudo命令而运行,将给出没有权限的错误.那么,你不需要重写整个命令,仅仅输入'!!'就可以抓取最后的命令. 复制代码 代码如下: $ apt-get update E: C

  • 详解在Linux下9个有用的touch命令示例

    touch 命令用于创建空文件,也可以更改 Unix 和 Linux 系统上现有文件时间戳.这里所说的更改时间戳意味着更新文件和目录的访问以及修改时间. 让我们来看看 touch 命令的语法和选项: 语法: # touch {选项} {文件} touch 命令中使用的选项: 在这篇文章中,我们将介绍 Linux 中 9 个有用的 touch 命令示例. 示例:1 使用 touch 创建一个空文件 要在 Linux 系统上使用 touch 命令创建空文件,键入 touch ,然后输入文件名.如下所

  • 在 Linux 命令行中使用 tcpdump 抓包的一些功能

    tcpdump 是一款灵活.功能强大的抓包工具,能有效地帮助排查网络故障问题. 以我作为管理员的经验,在网络连接中经常遇到十分难以排查的故障问题.对于这类情况, tcpdump 便能派上用场. tcpdump 是一个命令行实用工具,允许你抓取和分析经过系统的流量数据包.它通常被用作于网络故障分析工具以及安全工具. tcpdump 是一款强大的工具,支持多种选项和过滤规则,适用场景十分广泛.由于它是命令行工具,因此适用于在远程服务器或者没有图形界面的设备中收集数据包以便于事后分析.它可以在后台启动

  • 关于Linux命令行下的数学运算示例详解

    前言 有几个有趣的命令可以在 Linux 系统下做数学运算: expr . factor . jot 和 bc 命令. 可以在 Linux 命令行下做数学运算吗?当然可以!事实上,有不少命令可以轻松完成这些操作,其中一些甚至让你大吃一惊.让我们来学习这些有用的数学运算命令或命令语法吧. expr 首先,对于在命令行使用命令进行数学运算,可能最容易想到.最常用的命令就是 expr ( 表达式 expression .它可以完成四则运算,也可以用于比较大小.下面是几个例子: 变量递增 $ count

  • 如何在Linux命令行与其他用户通信

    在 Linux 命令行里向其他用户发送信息很简单,很多命令都可以做到这点,麻烦的是你需要从众多命令中挑选一个合适的命令来使用.因此,我挑选了四种常用的 Linux 用户通信命令分享给大家并为你们讲解这四种命令是如何工作的. wall wall 命令(意为 write all )允许你向所有在系统已登录的用户发送信息.任何用户都可以使用 wall 命令,但 wall 命令通常是系统管理员用来向用户发送公告通知的(比如服务器将关闭维护). 一个系统管理员可能会发送如下信息: $ wall The s

  • cygwin 在windows下使用linux命令的方法

    但是cygwin过于复杂庞大,下载比较费劲,本人最终没有下载,也没有用过.个人感觉GunWin32是一个不错的选择,GnuWin32使windows用户可以在命令行窗口中使用各种各样的linux命令,就跟使用普通的windows命令一样简单. 1.下载GnuWin32,GnuWin32的安装文件(GetGnuWin32-0.6.3.exe)下载地址:http://sourceforge.net/projects/getgnuwin32/,官网地址:http://gnuwin32.sourcefo

  • Python实现Linux命令xxd -i功能

    一. Linux xxd -i功能 Linux系统xxd命令使用二进制或十六进制格式显示文件内容.若未指定outfile参数,则将结果显示在终端屏幕上:否则输出到outfile中.详细的用法可参考linux命令xxd. 本文主要关注xxd命令-i选项.使用该选项可输出以inputfile为名的C语言数组定义.例如,执行echo 12345 > test和xxd -i test命令后,输出为: unsigned char test[] = { 0x31, 0x32, 0x33, 0x34, 0x3

  • 分享20个Unix/Linux 命令技巧

    让我们用这些Unix/Linux命令技巧开启新的一年,提高在终端下的生产力.我已经找了很久了,现在就与你们分享. > /path/to/file.log # 或使用如下格式 : > /path/to/file.log # 然后删除它 rm /path/to/file.log 如何记录终端输出? 试试使用script命令行工具来为你的终端输出创建输出记录. script my.terminal.sessio 输入命令: ls date sudo service foo stop 要退出(结束sc

  • 利用shell编程实现DOS风格的Linux命令行

    如果你是习惯于Windows命令提示符的IT人,当你第一次使用Linux命令行时,一定会感到无所适从.你所熟悉的DOS命令再Linux中基本不存在.摆在你面前的是一大堆要记背的命令. 一种替代方案是利用强大的Linux外壳命令编写shell脚本,让你在Linux下也能用DOS命令.下面告诉你怎么做. shell脚本编写基础    从定时备份到执行简单命令,Linux的shell脚本可以执行各种功能.几乎所有的程序都可以用shell脚本来运行.在脚本中甚至可以包含一些简单的条件选择.shell脚本

随机推荐