zoukankan      html  css  js  c++  java
  • 对 Linux 初级、中级、高级用户非常有用的 60 个命令

    对 Linux 初级、中级、高级用户非常有用的 60 个命令

    初级篇:

    你打算从Windows换到Linux上来,还是你刚好换到Linux上来?哎哟!!!我说什么呢,是什么原因你就出现在我的世界里了。从我以往的经验来说,当我刚使用Linux,命令,终端啊什么的,吓了我一跳。我担心该记住多少命令,来帮助我完成所有任务。毫无疑问,在线文档,书籍,man pages以及社区帮了我一个大忙,但是我还是坚信有那么一篇文章记录了如何简单学习和理解命令的秘籍。这激发了我掌握Linux和使它容易使用的积极性。本文就是通往那里的阶梯。

    1. ls命令

    ls命令是列出目录内容(List Directory Contents)的意思。运行它就是列出文件夹里的内容,可能是文件也可能是文件夹。

    root@raspberrypi:/# ls
    bin   boot.bak  etc   lib         media  opt   root  sbin     srv  tmp  var
    boot  dev       home  lost+found  mnt    proc  run   selinux  sys  usr

    “ls -l”命令以详情模式(long listing fashion)列出文件夹的内容。

    root@raspberrypi:/# ls -l
    total 92
    drwxr-xr-x   2 root root  4096 Jul 26 12:19 bin
    drwxr-xr-x   2 root root 16384 Jan  1  1970 boot
    drwxr-xr-x   2 root root  4096 Jan  1  1970 boot.bak
    drwxr-xr-x  12 root root  3060 Aug 26  2013 dev
    drwxr-xr-x 100 root root  4096 Aug 26  2013 etc
    drwxr-xr-x   3 root root  4096 Jul 26 11:47 home
    drwxr-xr-x  13 root root  4096 Aug 19 16:36 lib
    drwx------   2 root root 16384 Jul 26 11:22 lost+found
    drwxr-xr-x   2 root root  4096 Jul 26 11:24 media
    drwxr-xr-x   2 root root  4096 Jun 15 15:44 mnt
    drwxr-xr-x   7 root root  4096 Aug 26 02:09 opt
    dr-xr-xr-x  75 root root     0 Jan  1  1970 proc
    drwx------   7 root root  4096 Aug 23 01:47 root
    drwxr-xr-x  13 root root   600 Aug 26 02:44 run
    drwxr-xr-x   2 root root  4096 Jul 26 12:19 sbin
    drwxr-xr-x   2 root root  4096 Jun 20  2012 selinux
    drwxr-xr-x   3 root root  4096 Aug 22 10:17 srv
    dr-xr-xr-x  12 root root     0 Jan  1  1970 sys
    drwxrwxrwt   4 root root  4096 Aug 26 02:51 tmp
    drwxr-xr-x  10 root root  4096 Jul 26 11:24 usr
    drwxr-xr-x  11 root root  4096 Jul 26 13:43 var

    "ls -a"命令会列出文件夹里的所有内容,包括以"."开头的隐藏文件。

    root@raspberrypi:/# ls -a
    . bin boot.bak etc lib media opt root sbin srv tmp var
    .. boot dev home lost+found mnt proc run selinux sys usr

    注意:在Linux中,文件以“.”开头的就是隐藏文件,并且每个文件,文件夹,设备或者命令都是以文件对待。ls -l 命令输出:

    1. d (代表了是目录).
    2. rwxr-xr-x 是文件或者目录对所属用户,同一组用户和其它用户的权限。
    3. 上面例子中第一个ravisaive 代表了文件文件属于用户ravisaive
    4. 上面例子中的第二个ravisaive代表了文件文件属于用户组ravisaive
    5. 4096 代表了文件大小为4096字节.
    6. May 8 01:06 代表了文件最后一次修改的日期和时间.
    7. 最后面的就是文件/文件夹的名字

    更多"ls"例子请查看 15 linux中ls命令实例

    2. lsblk命令

    "lsblk"就是列出块设备。除了RAM外,以标准的树状输出格式,整齐地显示块设备。

    lsblk -l”命令以列表格式显示块设备(而不是树状格式)。

    注意:lsblk是最有用和最简单的方式来了解插入的USB设备的名字,特别是当你在终端上处理磁盘/块设备时。

    3. md5sum命令

    md5sum”就是计算和检验MD5信息签名。md5 checksum(通常叫做哈希)使用匹配或者验证文件的文件的完整性,因为文件可能因为传输错误,磁盘错误或者无恶意的干扰等原因而发生改变。

    4. dd命令

    dd”命令代表了转换和复制文件。可以用来转换和复制文件,大多数时间是用来复制iso文件(或任何其它文件)到一个usb设备(或任何其它地方)中去,所以可以用来制作USB启动器。

    root@raspberry:~# dd if=/home/user/Downloads/debian.iso of=/dev/sdb1 bs=512M; sync

    注意:在上面的例子中,usb设备就是sdb1(你应该使用lsblk命令验证它,否则你会重写你的磁盘或者系统),请慎重使用磁盘的名,切忌。

    dd 命令在执行中会根据文件的大小和类型 以及 usb设备的读写速度,消耗几秒到几分钟不等。

    5. uname命令

    "uname"命令就是Unix Name的简写。显示机器名,操作系统和内核的详细信息。

    root@raspberrypi:/# uname -a
    Linux raspberrypi 3.6.11+ #528 PREEMPT Tue Aug 20 00:25:53 BST 2013 armv6l GNU/Linux

    注意: uname显示内核类别, uname -a显示详细信息。上面的输出详细说明了uname -a

    1. Linux“: 机器的内核名
    2. tecmint“: 机器的节点名
    3. 3.8.0-19-generic“: 内核发布版本
    4. #30-Ubuntu SMP“: 内核版本
    5. i686“: 处理器架构
    6. GNU/Linux“: 操作系统名

    6. history命令

    history”命令就是历史记录。它显示了在终端中所执行过的所有命令的历史。

    注意:按住“CTRL + R”就可以搜索已经执行过的命令,它可以在你写命令时自动补全。

    7. sudo命令

    sudo”(super user do)命令允许授权用户执行超级用户或者其它用户的命令。通过在sudoers列表的安全策略来指定。

    注意:sudo 允许用户借用超级用户的权限,然而"su"命令实际上是允许用户以超级用户登录。所以sudosu更安全。
    并不建议使用sudo或者su来处理日常用途,因为它可能导致严重的错误如果你意外的做错了事,这就是为什么在linux社区流行一句话:

    “To err is human, but to really foul up everything, you need root password.”
    “人非圣贤孰能无过,但是拥有root密码就真的万劫不复了。” # 译

    aa

    8. mkdir命令

    mkdir”(Make directory)命令在命名路径下创建新的目录。然而如果目录已经存在了,那么它就会返回一个错误信息"不能创建文件夹,文件夹已经存在了"("cannot create folder, folder already exists")

    root@raspberrypi:/opt/labpark# mkdir raspbox

    注意:目录只能在用户拥有写权限的目录下才能创建。mkdir:不能创建目录`tecmint`,因为文件已经存在了。(上面的输出中不要被文件迷惑了,你应该记住我开头所说的-在linux中,文件,文件夹,驱动,命令,脚本都视为文件)

    9. touch 命令

    touch”命令代表了将文件的访问和修改时间更新为当前时间。touch命令只会在文件不存在的时候才会创建它。如果文件已经存在了,它会更新时间戳,但是并不会改变文件的内容。

    root@raspberrypi:/opt/labpark# touch rasp.txt

    注意:touch 可以用来在用户拥有写权限的目录下创建不存在的文件。

    10. chmod 命令

    chmod”命令就是改变文件的模式位。chmod会根据要求的模式来改变每个所给的文件,文件夹,脚本等等的文件模式(权限)。

    在文件(文件夹或者其它,为了简单起见,我们就使用文件)中存在3中类型的权限

    Read (r)=4
    Write(w)=2
    Execute(x)=1

    所以如果你想给文件只读权限,就设置为'4';只写权限,设置权限为'2';只执行权限,设置为1; 读写权限,就是4+2 = 6, 以此类推。

    现在需要设置3种用户和用户组权限。第一个是拥有者,然后是用户所在的组,最后是其它用户。

    这里root的权限是 rwx(读写和执行权限),
    所属用户组权限是 r-x (只有读和执行权限, 没有写权限)
    对于其它用户权限是 -x(只有只执行权限)

    为了改变它的权限,为拥有者,用户所在组和其它用户提供读,写,执行权限。

    11. chown命令

    chown”命令就是改变文件拥有者和所在用户组。每个文件都属于一个用户组和一个用户。在你的目录下,使用"ls -l",你就会看到像这样的东西。

    root@raspberrypi:/opt# ls -l
    total 24
    drwxr-xr-x 2 root root 4096 Aug 26 02:51 labpark
    drwxr-xr-x 3 root root 4096 Aug 22 12:20 node
    drwxr-xr-x 2 root root 4096 Aug 21 06:57 python
    drwxr-xr-x 7 root root 4096 Aug 19 16:41 vc
    -rw-r--r-- 1 root root 13 Aug 22 10:04 vsftpd.txt
    d-wx-wx-wx 2 root root 4096 Aug 22 11:26 wwwroot

    在这里,目录labpark属于用户"root",和用户组"root",

    chown”命令用来改变文件的所有权,所以仅仅用来管理和提供文件的用户和用户组授权。

    测试试用的是一个Raspberry,所以系统里有一个默认用户pi,属于用户组pi的,试用下面的命令,

    root@raspberrypi:/opt# chown pi:pi labpark/

    可以看到labpark的所属组已经更改为pi pi

    root@raspberrypi:/opt# ls -l
    total 24
    drwxr-xr-x 2 pi   pi   4096 Aug 26 02:51 labpark
    drwxr-xr-x 3 root root 4096 Aug 22 12:20 node
    drwxr-xr-x 2 root root 4096 Aug 21 06:57 python
    drwxr-xr-x 7 root root 4096 Aug 19 16:41 vc
    -rw-r--r-- 1 root root   13 Aug 22 10:04 vsftpd.txt
    d-wx-wx-wx 2 root root 4096 Aug 22 11:26 wwwroot

    注意:“chown”所给的文件改变用户和组的所有权到新的拥有者或者已经存在的用户或者用户组。

    12. apt命令

    Debian系列以“apt”命令为基础,“apt”代表了Advanced Package Tool。APT是一个为Debian系列系统(Ubuntu,Kubuntu等等)开发的高级包管理器,在Gnu/Linux系统上,它会为包自动地,智能地搜索,安装,升级以及解决依赖。

    root@raspberrypi:/opt# apt-get install nginx
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    nginx is already the newest version.
    0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
    

      

    root@raspberrypi:/opt# apt-get update
    Get:1 http://mirrordirector.raspbian.org wheezy Release.gpg [490 B]
    Hit http://raspberrypi.collabora.com wheezy Release.gpg
    Hit http://archive.raspberrypi.org wheezy Release.gpg
    Get:2 http://mirrordirector.raspbian.org wheezy Release [14.4 kB]
    Hit http://raspberrypi.collabora.com wheezy Release
    Hit http://archive.raspberrypi.org wheezy Release
    Hit http://raspberrypi.collabora.com wheezy/rpi armhf Packages
    Hit http://archive.raspberrypi.org wheezy/main armhf Packages
    Get:3 http://mirrordirector.raspbian.org wheezy/main armhf Packages [7,415 kB]
    1% [3 Packages 22.9 kB/7,415 kB 0%] [Waiting for headers] [Waiting for headers]^C

    注意:上面的命令会导致系统整体的改变,所以需要root密码(查看提示符为"#",而不是“$”).和yum命令相比,Apt更高级和智能。

    见名知义,apt-cache用来搜索包中是否包含子包mplayerapt-get用来安装,升级所有的已安装的包到最新版。

    关于apt-get 和 apt-cache命令更多信息,请查看 25 APT-GET和APT-CACHE命令

    13. tar命令

    tar”命令是磁带归档(Tape Archive),对创建一些文件的的归档和它们的解压很有用。

    root@raspberry:~# tar -zxvf abc.tar.gz (记住'z'代表了.tar.gz)
    
    root@raspberry:~# tar -jxvf abc.tar.bz2 (记住'j'代表了.tar.bz2)
    
    root@raspberry:~# tar -cvf archieve.tar.gz(.bz2) /path/to/folder/abc

    注意: "tar.gz"代表了使用gzip归档,“bar.bz2”使用bzip压缩的,它压缩的更好但是也更慢。

    了解更多"tar 命令"的例子,请查看 18 Tar命名例子

    14. cal 命令

    cal”(Calender),它用来显示当前月份或者未来或者过去任何年份中的月份。

    root@raspberrypi:/opt# cal
        August 2013
    Su Mo Tu We Th Fr Sa
                 1  2  3
     4  5  6  7  8  9 10
    11 12 13 14 15 16 17
    18 19 20 21 22 23 24
    25 26 27 28 29 30 31

    显示指定的年份的月份,可以是过去的也可以是未来的。

    root@raspberrypi:/opt# cal 10 1986
        October 1986
    Su Mo Tu We Th Fr Sa
              1  2  3  4
     5  6  7  8  9 10 11
    12 13 14 15 16 17 18
    19 20 21 22 23 24 25
    26 27 28 29 30 31

    注意: 你不需要往回调整日历50年,既不用复杂的数据计算你出生那天,也不用计算你的生日在哪天到来,[因为它的最小单位是月,而不是日]。

    15. date命令

    date”命令使用标准的输出打印当前的日期和时间,也可以深入设置。

    root@raspberrypi:/opt# date
    Mon Aug 26 03:21:36 UTC 2013

    设置系统时间:

    root@raspberrypi:/opt# date --set='26 aug 2013 11:42'
    Mon Aug 26 11:42:00 UTC 2013

    注意:这个命令在脚本中十分有用,以及基于时间和日期的脚本更完美。而且在终端中改变日期和时间,让你更专业!!!(当然你需要root权限才能操作这个,因为它是系统整体改变)

    16. cat命令

    cat”代表了连结(Concatenation),连接两个或者更多文本文件或者以标准输出形式打印文件的内容。

    在book.txt中只有一个book单词,在facebook.txt中只有facebook一个单词,然后连接之后输出如下:

    root@raspberrypi:/opt/labpark# cat book.txt facebook.txt
    book
    facebook

    ! 叫做非,带'!'的反向字符串为真

    更多请阅读Linux cat 命令的实例 13 Linux中cat命令实例

    17. cp 命令

    “copy”就是复制。它会从一个地方复制一个文件到另外一个地方。

    root@raspberrypi:/opt/labpark# cp book.txt book_backup.txt

    注意: cp,在shell脚本中是最常用的一个命令,而且它可以使用通配符(在前面一块中有所描述),来定制所需的文件的复制。

    18. mv 命令

    mv”命令将一个地方的文件移动到另外一个地方去。

    root@raspberrypi:/opt/labpark# mv nihao.txt /opt/python/

    注意:mv 命令可以使用通配符。mv需谨慎使用,因为移动系统的或者未授权的文件不但会导致安全性问题,而且可能系统崩溃。

    19. pwd 命令

    pwd”(print working directory),在终端中显示当前工作目录的全路径。

    root@raspberrypi:/opt/labpark# pwd
    /opt/labpark

    注意: 这个命令并不会在脚本中经常使用,但是对于新手,当从连接到nux很久后在终端中迷失了路径,这绝对是救命稻草。

    20. cd 命令

    最后,经常使用的“cd”命令代表了改变目录。它在终端中改变工作目录来执行,复制,移动,读,写等等操作。

    注意: 在终端中切换目录时,cd就大显身手了。“cd ~”会改变工作目录为用户的家目录,而且当用户发现自己在终端中迷失了路径时,非常有用。“cd ..”从当前工作目录切换到(当前工作目录的)父目录。

    这些命令肯定会让你在Linux上很舒服。但是这并不是结束。例如,如果你熟练使用这些命令,欢呼吧,少年,你会发现你已从小白级别提升为了中级用户了。在下篇文章,我会介绍像“kill”,"ps","grep"等等命令,期待吧,我不会让你失望的。

    对中级 Linux 用户非常有用的 20 个命令

    21. 命令: Find

    搜索指定目录下的文件,从开始于父目录,然后搜索子目录。

    root@raspberrypi:/opt/labpark# find book*
    book_backup.txt
    book.txt
    root@raspberrypi:/opt/labpark# find -name *.c
    ./hello.c
    root@raspberrypi:/opt/labpark# find -iname FACE*
    ./facebook.txt

    注意: `-name‘选项是搜索大小写敏感。可以使用`-iname‘选项,这样在搜索中可以忽略大小写。(*是通配符,可以搜索所有的文件;‘.sh‘你可以使用文件名或者文件名的一部分来制定输出结果)

    注意:以上命令查找根目录下和所有文件夹以及加载的设备的子目录下的所有包含‘tar.gz'的文件。

    ’find'命令的更详细信息请参考35 Find Command Examples in Linux

    22. 命令: grep

    grep‘命令搜索指定文件中包含给定字符串或者单词的行。举例搜索‘/etc/passwd‘文件中的‘pi'

    root@raspberrypi:/opt/labpark# grep pi /etc/passwd
    pi:x:1000:1000:,,,:/opt/wwwroot:/bin/bash

    使用’-i'选项将忽略大小写。

    root@raspberrypi:/opt/labpark# grep -i  'PI' /etc/passwd
    pi:x:1000:1000:,,,:/opt/wwwroot:/bin/bash

    使用’-r'选项递归搜索所有自目录下包含字符串 “localhost“.的行。

    root@raspberrypi:/opt/labpark# grep -r "localhost" /etc/php5/
    /etc/php5/cgi/php.ini:SMTP = localhost
    /etc/php5/cli/php.ini:SMTP = localhost
    /etc/php5/fpm/php.ini:SMTP = localhost

    注意:您还可以使用以下选项:

    1. -w 搜索单词 (egrep -w ‘word1|word2‘ /path/to/file).
    2. -c 用于统计满足要求的行 (i.e., total number of times the pattern matched) (grep -c ‘word‘ /path/to/file).
    3. –color 彩色输出 (grep –color server /etc/passwd).

    23. 命令: man

    man‘是系统帮助页。Man提供命令所有选项及用法的在线文档。几乎所有的命令都有它们的帮助页,例如:

    root@raspberrypi:/opt/labpark# man
    What manual page do you want?
    root@raspberrypi:/opt/labpark# man man
    MAN(1)                        Manual pager utils                        MAN(1)
    
    NAME
           man - an interface to the on-line reference manuals
    
    SYNOPSIS
           man  [-C  file]  [-d]  [-D]  [--warnings[=warnings]]  [-R encoding] [-L
           locale] [-m system[,...]] [-M path] [-S list]  [-e  extension]  [-i|-I]
           [--regex|--wildcard]   [--names-only]  [-a]  [-u]  [--no-subpages]  [-P
           pager] [-r prompt] [-7] [-E encoding] [--no-hyphenation] [--no-justifiâ€
           cation]  [-p  string]  [-t]  [-T[device]]  [-H[browser]] [-X[dpi]] [-Z]
           [[section] page ...] ...
           man -k [apropos options] regexp ...
           man -K [-w|-W] [-S list] [-i|-I] [--regex] [section] term ...
           man -f [whatis options] page ...
           man -l [-C file] [-d] [-D] [--warnings[=warnings]]  [-R  encoding]  [-L
           locale]  [-P  pager]  [-r  prompt]  [-7] [-E encoding] [-p string] [-t]
           [-T[device]] [-H[browser]] [-X[dpi]] [-Z] file ...
           man -w|-W [-C file] [-d] [-D] page ...
           man -c [-C file] [-d] [-D] page ...
           man [-hV]
    
    DESCRIPTION

    上面是man命令的系统帮助页,类似的有cat和ls的帮助页。

    注意:系统帮助页是为了命令的使用和学习而设计的。

    24. 命令: ps

    ps命令给出正在运行的某个进程的状态,每个进程有特定的id成为PID。

    root@raspberrypi:/opt/labpark# ps
      PID TTY          TIME CMD
     2801 pts/1    00:00:01 bash
     2868 pts/1    00:00:00 su
     2885 pts/1    00:00:00 su
     2892 pts/1    00:00:00 bash
     2981 pts/1    00:00:00 ps

    使用‘-A‘选项可以列出所有的进程及其PID。

    root@raspberrypi:/opt/labpark# ps -A
      PID TTY          TIME CMD
        1 ?        00:00:01 init
        2 ?        00:00:00 kthreadd
        3 ?        00:00:00 ksoftirqd/0
        5 ?        00:00:00 kworker/0:0H
        6 ?        00:00:00 kworker/u:0
        7 ?        00:00:00 kworker/u:0H
        8 ?        00:00:00 khelper
        9 ?        00:00:00 kdevtmpfs
       10 ?        00:00:00 netns
       12 ?        00:00:00 bdi-default
       13 ?        00:00:00 kblockd
       14 ?        00:00:00 khubd
       15 ?        00:00:00 rpciod
       16 ?        00:00:00 khungtaskd
       17 ?        00:00:00 kswapd0
       18 ?        00:00:00 fsnotify_mark
       19 ?        00:00:00 nfsiod
       20 ?        00:00:00 crypto
       27 ?        00:00:00 kthrotld
       28 ?        00:00:00 VCHIQ-0
       29 ?        00:00:00 VCHIQr-0
       30 ?        00:00:00 VCHIQs-0
       31 ?        00:00:00 iscsi_eh
       32 ?        00:00:00 dwc_otg
       33 ?        00:00:00 DWC Notificatio
       35 ?        00:00:00 deferwq
       36 ?        00:00:00 kworker/u:2
       37 ?        00:00:15 mmcqd/0
       38 ?        00:00:00 jbd2/mmcblk0p2-
       39 ?        00:00:00 ext4-dio-unwrit
      154 ?        00:00:00 udevd
      636 ?        00:00:00 udevd
      650 ?        00:00:00 udevd
     1523 ?        00:00:01 ifplugd
     1546 ?        00:00:00 ifplugd
     1686 ?        00:00:00 kworker/0:2
     1784 ?        00:00:00 dhclient
     1839 ?        00:00:00 rc
     1848 ?        00:00:02 startpar
     1914 ?        00:00:00 rsyslogd
     1940 ?        00:00:00 php5-fpm
     1941 ?        00:00:00 php5-fpm
     1942 ?        00:00:00 php5-fpm
     1967 ?        00:00:00 cron
     2005 ?        00:00:00 dbus-daemon
     2048 ?        00:00:00 nginx
     2050 ?        00:00:00 nginx
     2069 ?        00:00:00 mysqld_safe
     2443 ?        00:00:14 mysqld
     2444 ?        00:00:00 logger
     2501 ?        00:00:00 sshd
     2529 ?        00:00:00 thd
     2537 ?        00:00:00 vsftpd
     2692 ?        00:00:00 ntpd
     2715 ?        00:00:00 rc.local
     2718 ?        00:00:00 rc.local
     2720 ?        00:00:25 python
     2723 ?        00:00:02 sshd
     2728 ?        00:00:00 console-kit-dae
     2795 ?        00:00:00 polkitd
     2801 pts/1    00:00:01 bash
     2868 pts/1    00:00:00 su
     2875 pts/1    00:00:00 bash
     2885 pts/1    00:00:00 su
     2892 pts/1    00:00:00 bash
     2934 ?        00:00:00 kworker/0:1
     2971 ?        00:00:00 flush-179:0
     2982 pts/1    00:00:00 ps

    注意:当你要知道有哪些进程在运行或者需要知道想杀死的进程PID时ps命令很管用。你可以把它与‘grep‘合用来查询指定的输出结果,例如:

    root@raspberrypi:/opt/labpark# ps -A | grep -i nginx
     2048 ?        00:00:00 nginx
     2050 ?        00:00:00 nginx

    ps命令与grep命令用管道线分割可以得到我们想要的结果。

    25. 命令: kill

    也许你从命令的名字已经猜出是做什么的了,kill是用来杀死已经无关紧要或者没有响应的进程.它是一个非常有用的命令,而不是非常非常有用.你可能很熟悉Windows下要杀死进程可能需要频繁重启机器因为一个在运行的进程大部分情况下不能够杀死,即使杀死了进程也需要重新启动操作系统才能生效.但在linux环境下,事情不是这样的.你可以杀死一个进程并且重启它而不是重启整个操作系统.

    杀死一个进程需要知道进程的PID.

    假设你想杀死已经没有响应的‘nginx'进程,运行如下命令:

    root@raspberrypi:/opt/labpark# kill 2048

    注意:kill需要PID作为参数,pkill可以选择应用的方式,比如指定进程的所有者等.

    26. 命令: whereis

    whereis的作用是用来定位命令的二进制文件资源或者帮助页.举例来说,获得ls和kill命令的二进制文件/资源以及帮助页:

    root@raspberrypi:/# whereis ls
    ls: /bin/ls /usr/share/man/man1/ls.1.gz
    root@raspberrypi:/# whereis kill
    kill: /bin/kill /usr/share/man/man2/kill.2.gz /usr/share/man/man1/kill.1.gz

    注意:当需要知道二进制文件保存位置时有用.

    27. 命令: service

    service‘命令控制服务的启动、停止和重启,它让你能够不重启整个系统就可以让配置生效以开启、停止或者重启某个服务。

    查看当前服务状态

    root@raspberrypi:/# service --status-all
     [ ? ]  alsa-utils
     [ - ]  bootlogs
     [ ? ]  bootmisc.sh
     [ ? ]  checkfs.sh
     [ ? ]  checkroot-bootclean.sh
     [ - ]  checkroot.sh
     [ - ]  console-setup
     [ + ]  cron
     [ + ]  dbus
     [ ? ]  dphys-swapfile
     [ ? ]  fake-hwclock
     [ - ]  hostname.sh
     [ ? ]  hwclock.sh
     [ + ]  ifplugd
     [ - ]  kbd
     [ - ]  keyboard-setup
     [ ? ]  killprocs
     [ ? ]  kmod
     [ - ]  lightdm
     [ - ]  motd
     [ ? ]  mountall-bootclean.sh
     [ ? ]  mountall.sh
     [ ? ]  mountdevsubfs.sh
     [ ? ]  mountkernfs.sh
     [ ? ]  mountnfs-bootclean.sh
     [ ? ]  mountnfs.sh
     [ ? ]  mtab.sh
     [ ? ]  mysql
     [ ? ]  networking
     [ - ]  nfs-common
     [ + ]  nginx
     [ - ]  ntp
     [ + ]  php5-fpm
     [ ? ]  plymouth
     [ ? ]  plymouth-log
     [ - ]  procps
     [ ? ]  rc.local
     [ - ]  rmnologin
     [ - ]  rpcbind
     [ - ]  rsync
     [ + ]  rsyslog
     [ ? ]  sendsigs
     [ + ]  ssh
     [ - ]  sudo
     [ + ]  triggerhappy
     [ + ]  udev
     [ ? ]  udev-mtab
     [ ? ]  umountfs
     [ ? ]  umountnfs.sh
     [ ? ]  umountroot
     [ - ]  urandom
     [ + ]  vsftpd
     [ - ]  x11-common

    查看nginx服务的状态:service nginx status

    root@raspberrypi:/# service nginx status
    [ ok ] nginx is running.

    停止nginx服务:

    root@raspberrypi:/# service nginx stop
    Stopping nginx: nginx.
    root@raspberrypi:/# service nginx status
    [FAIL] nginx is not running ... failed!

    启动nginx服务:

    root@raspberrypi:/# service nginx start
    Starting nginx: nginx.
    root@raspberrypi:/# service nginx status
    [ ok ] nginx is running.

    注意:要想使用service命令,进程的脚本必须放在‘/etc/init.d‘,并且路径必须在指定的位置。

    如果要运行“service apache2 start”实际上实在执行“service /etc/init.d/apache2 start”.

    28. 命令: alias

    alias是一个系统自建的shell命令,允许你为名字比较长的或者经常使用的命令指定别名。

    我经常用ls -l‘命令,它有五个字符(包括空格)。于是我为它创建了一个别名‘l'。

    root@raspberrypi:/# alias l='ls -l'
    root@raspberrypi:/# alias
    alias l='ls -l'

    试试它是否能用:

    root@raspberrypi:/# l
    total 92
    drwxr-xr-x   2 root root  4096 Jul 26 12:19 bin
    drwxr-xr-x   2 root root 16384 Jan  1  1970 boot
    drwxr-xr-x   2 root root  4096 Jan  1  1970 boot.bak
    drwxr-xr-x  12 root root  3060 Aug 26 10:43 dev
    drwxr-xr-x 100 root root  4096 Aug 26 10:43 etc
    drwxr-xr-x   3 root root  4096 Jul 26 11:47 home
    drwxr-xr-x  13 root root  4096 Aug 19 16:36 lib
    drwx------   2 root root 16384 Jul 26 11:22 lost+found
    drwxr-xr-x   2 root root  4096 Jul 26 11:24 media
    drwxr-xr-x   2 root root  4096 Jun 15 15:44 mnt
    drwxr-xr-x   7 root root  4096 Aug 26 03:11 opt
    dr-xr-xr-x  79 root root     0 Jan  1  1970 proc
    drwx------   7 root root  4096 Aug 23 01:47 root
    drwxr-xr-x  14 root root   620 Aug 26 11:45 run
    drwxr-xr-x   2 root root  4096 Jul 26 12:19 sbin
    drwxr-xr-x   2 root root  4096 Jun 20  2012 selinux
    drwxr-xr-x   3 root root  4096 Aug 22 10:17 srv
    dr-xr-xr-x  12 root root     0 Jan  1  1970 sys
    drwxrwxrwt   4 root root  4096 Aug 26 11:39 tmp
    drwxr-xr-x  10 root root  4096 Jul 26 11:24 usr
    drwxr-xr-x  11 root root  4096 Jul 26 13:43 var

    去掉’l'别名,要使用unalias命令:

    root@raspberrypi:/# unalias l
    root@raspberrypi:/# alias
    root@raspberrypi:/# ^C
    root@raspberrypi:/# l
    bash: l: command not found

    去掉‘l’别名之后,再输入‘l’,就会报 commadn not found!

    29.命令: df

    报告系统的磁盘使用情况。在跟踪磁盘使用情况方面对于普通用户和系统管理员都很有用。 ‘df‘ 通过检查目录大小工作,但这一数值仅当文件关闭时才得到更新。

    root@raspberrypi:/# df
    Filesystem     1K-blocks    Used Available Use% Mounted on
    rootfs          15128576 2169496  12325996  15% /
    /dev/root       15128576 2169496  12325996  15% /
    devtmpfs          216120       0    216120   0% /dev
    tmpfs              44876     232     44644   1% /run
    tmpfs               5120       0      5120   0% /run/lock
    tmpfs              89740       0     89740   0% /run/shm
    /dev/mmcblk0p1     57288   18512     38776  33% /boot

    加上 -h 参数,按M为单位输出

    root@raspberrypi:/# df -h
    Filesystem      Size  Used Avail Use% Mounted on
    rootfs           15G  2.1G   12G  15% /
    /dev/root        15G  2.1G   12G  15% /
    devtmpfs        212M     0  212M   0% /dev
    tmpfs            44M  232K   44M   1% /run
    tmpfs           5.0M     0  5.0M   0% /run/lock
    tmpfs            88M     0   88M   0% /run/shm
    /dev/mmcblk0p1   56M   19M   38M  33% /boot

    df’命令的更多例子请参阅 12 df Command Examples in Linux.

    30. 命令: du

    估计文件的空间占用。 逐层统计文件(例如以递归方式)并输出摘要。

    注意: ‘df‘ 只显示文件系统的使用统计,但‘du‘统计目录内容。‘du‘命令的更详细信息请参阅10 du (Disk Usage) Commands.

    31. 命令: rm

    'rm' 标准移除命令。 rm 可以用来删除文件和目录。

    'rm' 不能直接删除目录,需要加上相应的'-rf'参数才可以。

    警告: "rm -rf" 命令是一个破坏性的命令,假如你不小心删除一个错误的目录。一旦你使用'rm -rf' 删除一个目录,在目录中所有的文件包括目录本身会被永久的删除,所以使用这个命令要非常小心。

    33. 命令: passwd

    这是一个很重要的命令,在终端中用来改变自己密码很有用。显然的,因为安全的原因,你需要知道当前的密码。

    root@raspberrypi:/opt/wwwroot# passwd
    Enter new UNIX password:
    Retype new UNIX password:
    passwd: password updated successfully

    34. 命令: lpr

    这个命令用来在命令行上将指定的文件在指定的打印机上打印。

    root@raspberry:~# lpr -P deskjet-4620-series 1-final.pdf

    注意: "lpq"命令让你查看打印机的状态(是开启状态还是关闭状态)和等待打印中的工作(文件)的状态。

    35. 命令: cmp

    比较两个任意类型的文件并将结果输出至标准输出。如果两个文件相同, ‘cmp‘默认返回0;如果不同,将显示不同的字节数和第一处不同的位置。

    以下面两个文件为例:

    先看看book.txt有什么吧:

    root@raspberrypi:/opt/labpark# cat book.txt
    Hi, this is the book.

    再看看test.txt

    root@raspberrypi:/opt/labpark# cat test.txt
    Hi,this is test file!

    .比较一下这两个文件,看看命令的输出。

    root@raspberrypi:/opt/labpark# cmp book.txt test.txt
    book.txt test.txt differ: byte 4, line 1

    36. 命令: wget

    Wget是用于非交互式(例如后台)下载文件的免费工具.支持HTTPHTTPSFTP协议和 HTTP 代理。

    root@raspberrypi:/opt# wget http://www.nodejs.org/dist/v0.11.5/node-v0.11.5.tar.gz
    --2013-08-26 11:59:38--  http://www.nodejs.org/dist/v0.11.5/node-v0.11.5.tar.gz
    Resolving www.nodejs.org (www.nodejs.org)... 165.225.133.150
    Connecting to www.nodejs.org (www.nodejs.org)|165.225.133.150|:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 15054281 (14M) [application/octet-stream]
    Saving to: `node-v0.11.5.tar.gz'
    
    42% [===============>                       ] 6,436,208   1.17M/s  eta 13s

    37 命令: mount

    mount 是一个很重要的命令,用来挂载不能自动挂载的文件系统。你需要root权限挂载设备。

    在插入你的文件系统后,首先运行"lsblk"命令,识别出你的设备,然后把分配的设备名记下来。

    对 Linux 专家非常有用的 20 个命令

    41. 命令: ifconfig

    ifconfig用来配置常驻内核的网络接口信息。在系统启动必要时用来设置网络适配器的信息。之后,它通常是只需要在调试时或当系统需要调整时使用。

    root@raspberrypi:/opt# ifconfig
    eth0      Link encap:Ethernet  HWaddr b8:27:eb:1c:aa:00
              inet addr:10.2.58.80  Bcast:10.2.59.255  Mask:255.255.254.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:75745 errors:0 dropped:0 overruns:0 frame:0
              TX packets:34414 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:24591939 (23.4 MiB)  TX bytes:3747774 (3.5 MiB)
    
    lo        Link encap:Local Loopback
              inet addr:127.0.0.1  Mask:255.0.0.0
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
    检查所有的网络适配器

    “-a”参数用来显示所有网络适配器(网卡)的详细信息,包括那些停用的适配器。

    root@raspberrypi:~# ifconfig -a
    eth0      Link encap:Ethernet  HWaddr b8:27:eb:1c:aa:00
              inet addr:10.2.58.80  Bcast:10.2.59.255  Mask:255.255.254.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:1768 errors:0 dropped:0 overruns:0 frame:0
              TX packets:708 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:250870 (244.9 KiB)  TX bytes:75918 (74.1 KiB)
    
    lo        Link encap:Local Loopback
              inet addr:127.0.0.1  Mask:255.0.0.0
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
    
    wlan0     Link encap:Ethernet  HWaddr e8:4e:06:0e:05:a6
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

    42. 命令: netstat

    netstat命令显示各种网络相关的信息,如网络连接,路由表,接口统计,伪装连接,组播成员身份等....

    root@raspberrypi:~# netstat -a
    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State
    tcp        0      0 *:mysql                 *:*                     LISTEN
    tcp        0      0 *:http                  *:*                     LISTEN
    tcp        0      0 *:ftp                   *:*                     LISTEN
    tcp        0      0 *:ssh                   *:*                     LISTEN
    tcp        0     52 10.2.58.80:ssh          nihaopc.sohu-inc.:58688 ESTABLISHED
    udp        0      0 *:52725                 *:*
    udp        0      0 *:bootpc                *:*
    udp        0      0 10.2.58.80:ntp          *:*
    udp        0      0 localhost:ntp           *:*
    udp        0      0 *:ntp                   *:*
    Active UNIX domain sockets (servers and established)
    Proto RefCnt Flags       Type       State         I-Node   Path
    unix  2      [ ACC ]     STREAM     LISTENING     2613     /var/run/php5-fpm.sock
    unix  2      [ ACC ]     STREAM     LISTENING     2634     /var/run/dbus/system_bus_socket
    unix  2      [ ACC ]     SEQPACKET  LISTENING     482      /run/udev/control
    unix  8      [ ]         DGRAM                    2532     /dev/log
    unix  2      [ ACC ]     STREAM     LISTENING     3061     /var/run/mysqld/mysqld.sock
    unix  2      [ ]         DGRAM                    3066     /var/run/thd.socket
    unix  3      [ ]         STREAM     CONNECTED     2612
    unix  3      [ ]         STREAM     CONNECTED     3663
    unix  2      [ ]         DGRAM                    2536
    unix  2      [ ]         DGRAM                    3626

    显示所有tcp相关端口:

    root@raspberrypi:~# netstat -at
    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State
    tcp        0      0 *:mysql                 *:*                     LISTEN
    tcp        0      0 *:http                  *:*                     LISTEN
    tcp        0      0 *:ftp                   *:*                     LISTEN
    tcp        0      0 *:ssh                   *:*                     LISTEN
    tcp        0     52 10.2.58.80:ssh          nihaopc.sohu-inc.:58688 ESTABLISHED

    显示所有连接的统计信息:

    root@raspberrypi:~# netstat -s
    Ip:
        2363 total packets received
        0 forwarded
        0 incoming packets discarded
        2348 incoming packets delivered
        1383 requests sent out
        12 dropped because of missing route
    Icmp:
        0 ICMP messages received
        0 input ICMP message failed.
        ICMP input histogram:
        0 ICMP messages sent
        0 ICMP messages failed
        ICMP output histogram:
    Tcp:
        141 active connections openings
        1 passive connection openings
        0 failed connection attempts
        70 connection resets received
        1 connections established
        708 segments received
        978 segments send out
        8 segments retransmited
        0 bad segments received.
        70 resets sent
    Udp:
        395 packets received
        0 packets to unknown port received.
        0 packet receive errors
        397 packets sent
    UdpLite:
    TcpExt:
        2 delayed acks sent
        213 packets directly queued to recvmsg prequeue.
        36114 bytes directly received in process context from prequeue
        35 packet headers predicted
        239 acknowledgments not containing data payload received
        2 congestion windows recovered without slow start after partial ack
        8 other TCP timeouts
        70 connections reset due to early user close
        TCPRcvCoalesce: 3
        TCPOFOQueue: 91
    IpExt:
        InNoRoutes: 7
        InMcastPkts: 41
        InBcastPkts: 1204
        InOctets: 428992
        OutOctets: 116913
        InMcastOctets: 1744
        InBcastOctets: 253841

    好的!由于某些原因如果你不想解析netstat 输出的主机、端口和用户名称的话 

    root@raspberrypi:~# netstat -an

    好,你可能需要获取的 netstat 持续输出的动态信息,通过传递中断输出指令 (ctrl + c)来停止。

    root@raspberrypi:~# netstat -c

    更多关于“netstat”的例子和使用方法,浏览文章“20个netstat 的使用案例”

    43. 命令: nslookup

    网络实用程序,用于获得互联网服务器的信息。顾名思义,该实用程序将发现通过查询 DNS 域的名称服务器信息。

    root@raspberrypi:~# nslookup

    45.命令: uptime

    你连接到你的 Linux 服务器时发现一些不寻常或恶意的东西,你会做什么?猜测......不,绝不!你可以运行uptime来验证当服务器无人值守式到底发生了什么事情。

    root@raspberrypi:~# uptime
     04:09:59 up 7 min,  1 user,  load average: 0.01, 0.31, 0.24

    50. 命令:w

    是否觉得命令'w'很滑稽?但是事实上不是的。它是一个命令,尽管只有一个字符长!命令"w"是uptimewho命令,以前后的顺序组合在一起。

    root@raspberrypi:~# w
     04:10:30 up 7 min,  1 user,  load average: 0.01, 0.27, 0.23
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    root     pts/0    10.2.58.132      04:04    0.00s  0.65s  0.03s w

    52. 命令: top

    显示CPU进程信息。这个命令自动刷新,默认是持续显示CPU进程信息,除非使用了中断指令(Ctrl+c)。

    root@raspberrypi:~# top
    top - 04:11:19 up 8 min,  1 user,  load average: 0.00, 0.23, 0.22
    Tasks:  67 total,   1 running,  66 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  1.7 us,  0.7 sy,  0.0 ni, 97.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    KiB Mem:    448760 total,   133924 used,   314836 free,    10656 buffers
    KiB Swap:   102396 total,        0 used,   102396 free,    66232 cached
    
      PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND
     2816 root      20   0  9920 6008 3032 S   1.0  1.3   0:04.21 python
     2922 root      20   0  4664 1356 1028 R   1.0  0.3   0:00.09 top
     1857 root      20   0  2012 1856 1496 S   0.3  0.4   0:00.64 startpar
     2539 mysql     20   0  279m  31m 5672 S   0.3  7.2   0:03.22 mysqld
     2818 root      20   0  9804 3260 2628 S   0.3  0.7   0:00.68 sshd
        1 root      20   0  2144  728  620 S   0.0  0.2   0:01.63 init
        2 root      20   0     0    0    0 S   0.0  0.0   0:00.00 kthreadd
        3 root      20   0     0    0    0 S   0.0  0.0   0:00.01 ksoftirqd/0
        5 root       0 -20     0    0    0 S   0.0  0.0   0:00.00 kworker/0:0H
        6 root      20   0     0    0    0 S   0.0  0.0   0:00.08 kworker/u:0
        7 root       0 -20     0    0    0 S   0.0  0.0   0:00.00 kworker/u:0H
        8 root       0 -20     0    0    0 S   0.0  0.0   0:00.00 khelper
        9 root      20   0     0    0    0 S   0.0  0.0   0:00.00 kdevtmpfs
       10 root       0 -20     0    0    0 S   0.0  0.0   0:00.00 netns
       11 root      20   0     0    0    0 S   0.0  0.0   0:00.43 kworker/0:1
       12 root      20   0     0    0    0 S   0.0  0.0   0:00.00 bdi-default
       13 root       0 -20     0    0    0 S   0.0  0.0   0:00.00 kblockd

    另查看 12 TOP命令例子 ·[@Lesus 注:htop比top命令更好用,不过需要自己安装]

    53. 命令: mkfs.ext4

    这个命令在指定的设备上创建一个新的ext4文件系统,如果这个命令后面跟的是个错误的设备,那么整个设备就会被擦除和格式化,所以建议不要运行这个命令,除非你清楚自己正在干什么。

    Mkfs.ext4 /dev/sda1 (sda1 block will be formatted)
    mkfs.ext4 /dev/sdb1 (sdb1 block will be formatted)

    更多查看: Ext4是什么及怎么创建和转换

    54. vi/emac/nano 命令

    vi (visual), emacnano 是 linux 中最常用的一些编辑器。它们经常用于编辑文本,配置,… 等文件. A quick guide to work around vi and nano is, emac is a.

    55. 命令: rsync

    Rsync复制文件,参数-P开启进度条。如果你已经安装了rsync,你可以使用一个简单的别名。

    root@raspberrypi:~# alias cp='rsync -aP'

    现在尝试在终端复制一个大文件,这样将会看到显示剩余部分的输出,与进度条类似。

    而且,保持和维护备份是系统管理员不得不做的最重要、最无聊的工作之一。Rsync是一个用于新建和维护备份的非常好用的终端工具(也存在许多其它工具)。

    [root@raspberry~]$ rsync -zvr IMG_5267 copy=33 copy=ok.jpg ~/Desktop/ 
    
    sending incremental file list 
    IMG_5267 copy=33 copy=ok.jpg 
    
    sent 2883830 bytes  received 31 bytes  5767722.00 bytes/sec 
    total size is 2882771  speedup is 1.00

    注意-z表示压缩, -v表示详细信息,-r表示递归。

    56. 命令: free

    跟踪内存的使用和资源一样重要,就像管理员执行的任何其它任务,可以使用 'free' 命令来在这里救援.

    root@raspberrypi:/opt/labpark# free
                 total       used       free     shared    buffers     cached
    Mem:        448760     134304     314456          0      10664      66648
    -/+ buffers/cache:      56992     391768
    Swap:       102396          0     102396

    3

    以可读的格式显示,检查当前内存使用

    root@raspberrypi:/opt/labpark# free -h
                 total       used       free     shared    buffers     cached
    Mem:          438M       131M       307M         0B        10M        65M
    -/+ buffers/cache:        55M       382M
    Swap:          99M         0B        99M

    设定 时间间隔 后 ,持续检查 使用状态

    root@raspberrypi:/opt/labpark# free -s 3
                 total       used       free     shared    buffers     cached
    Mem:        448760     134552     314208          0      10680      66652
    -/+ buffers/cache:      57220     391540
    Swap:       102396          0     102396
    
                 total       used       free     shared    buffers     cached
    Mem:        448760     134552     314208          0      10680      66652
    -/+ buffers/cache:      57220     391540
    Swap:       102396          0     102396

    阅读更多10个Free命令使用实例

    57. mysqldump 命令

    好了,现在你从名字上就能明白这个命令所代表的作用。mysqldump 命令会转储(备份)数据库的全部或特定一部分数据到一个给定的文件中。例如:

    [root@raspberry~]$ mysqldump -u root -p --all-databases > /home/server/Desktop/backupfile.sql

    注意: mysqldump 需要 mysql 在运行中并且有正确的授权密码。我们在 用mysqldump命令备份数据库中讨论了一些有用的 “mysqldump” 命令用法。

    58. mkpasswd 命令

    根据指定的长度,产生一个难猜的随机密码。

    [root@raspberry ~]$ mkpasswd -l 10
    zI4+Ybqfx9
    [root@raspberry ~]$ mkpasswd -l 20 
    w0Pr7aqKk&hmbmqdrlmk

    注意: -l 10 产生一个10个字符的随机密码,而-l 20 产生 20个字符的密码,它可以设置为任意长度来取得所希望的结果。这个命令很有用,经常在脚本语言里使用来产生随机的密码。你可能需要 yum 或 apt ‘expect’ 包来使用这个命令。

    apt-get install expect
    //或者
    yum  install expect

    59. Command: paste

    合并两个或多个文本文件,按行来进行合并。示例。如果 a1.txt 的内容是:

    root@raspberrypi:/opt/labpark# cat a1.txt
    1
    2
    3
    4
    5

    如果 a2.txt 的内容是:

    root@raspberrypi:/opt/labpark# cat a2.txt
            a
            b
                    c
            d
            e
            f

    合并a1.txt, a2.txt 两个或多个文本文件,按行来进行合并.输出到 a3.txt 文件之后查看a3.txt

    root@raspberrypi:/opt/labpark# paste a1.txt a2.txt > a3.txt
    root@raspberrypi:/opt/labpark# cat a3.txt
    1               a
    2               b
    3                       c
    4               d
    5               e
                    f

    60.Command: lsof

    lsof 是"list open files("列表中打开的文件") 的缩写,显示您的系统当前已打开的所有文件。这是非常有用的对于想找出哪些进程使用某一特定文件,或显示为单个进程打开所有文件。一些有用的 10 个lsof 命令示例,你可能会感兴趣阅读。

    这里并没有结束,系统管理员会很多东西,为你提供漂亮的界面,服务于你的工作。系统管理实际上是学习和实现的一门优雅的艺术。我们会尽力给你介绍 linux 专业人员必须了解的知识以及一些其他必要东西,linux本身是基础的,简单的。深入理解是不断学习的过程。你的美言好词总是在不断鼓励我们写出更多的优秀,丰富的文章。"喜之以分享,助我来传播"。

  • 相关阅读:
    MeasureSpec学习
    android之GridView实现九宫格布局
    android 检查网络是否可用,如果不可用弹出设置,让用户改变
    Android Studio中新建项目时Your android sdk is out of date or is missing templates的解决办法
    android studio 改变主题及字体大小
    使用URL读取网络图片资源
    Exception raised during rendering: java.lang.System.arraycopy([CI[CII)V
    android获取在res文件下的图片资源
    星座物语APP
    第十三次会议
  • 原文地址:https://www.cnblogs.com/didi/p/3282137.html
Copyright © 2011-2022 走看看