Linux命令
1改变工作目录位置 执行格式:cd [name] :name 可为目录名称、路径或目录缩写。 Example: cd 改变目录位置,至使用者 login 时的 working directory (起始目录)。 cd dir1 改变目录位置,至 dir1 之目录位置下。 cd ~user 改变目录位置,至使用者的 working directory (起始目录)。 cd .. 改变目录位置,至目前目录的上层( 即 parent of working directory) cd ../user 改变目录位置,至相对路径 user 之目录位置下。 cd /../.. 改变目录位置,至绝对路径( Full path ) 之目录位置下。 2复制文件 执行格式: cp [-r] source destination Example: cp file1 file2 将文件 file1 复制成 file2 cp file1 dir1 将文件 file1 复制到目录 dir1 下,文件名仍为 file1。 cp /tmp/file1 将目录 /tmp 下的文件 file1 复制到现行目录下,文件名仍为 file1。 cp /tmp/file1 file2 将目录 /tmp 下的文件 file1 复制到现行目录下,文件名为 file2 cp -r dir1 dir2 (recursive copy) 复制整个目录。若目录 dir2存在,则将目录 dir1,及其所有文件和子目录,复制到目录 dir2 下,新目录名称为 dir1。若目录 dir2 不存在,则将dir1,及其所有文件和子目录,复制为目录 dir2。 3移动或更改文件、目录名称 执行格式: mv source destination Example: mv file1 file2 将文件 file1,更改文件名为 file2。 mv file1 dir1 将文件 file1,移到目录 dir1下,文件名仍为 file1。 mv dir1 dir2 若目录 dir2 存在,则将目录 dir1,及其所有文件和子目录,移到目录 dir2 下,新目录名称为 dir1。若目录 dir2 不存在,则将dir1,及其所有文件和子目录,更改为目录 dir2。 4建立新目录 执行格式: mkdir directory-name Exmaple : mkdir dir1 建立一新目录 dir1。 tar tar最初用于建立磁带备份系统,目前广泛用于建立文件发布档案。建立名称为tar的档案: tar cvf ye.tar *.txt 将当前目录的所有文件存档到ye.tar中; tar cvf ye.tar *.* 浏览档案内容: tar tvf ye.tar *.* 取出档案内容: tar xvf ye.tar *.* 5删除目录 执行格式: rmdir directory-name 或 rm -r directory-name Example : rmdir dir1 删除目录 dir1,但 dir1 下必须没有文件存在,否则无法删除。 rm -r dir1 删除目录 dir1,及其下所有文件及子目录。 6删除文件 执行格式: rm filename (filename 可为文件名,或文件名缩写符号。) Example : rm file1 删除文件名为 file1 之文件。 rm file? 删除文件名中有五个字符,前四个字符为file 之所有文件。 rm f* 删除文件名中,以 f 为字首之所有文件。 rm -rf file 删除名为file的文件夹及其里面的内容 7文件名的缩写符号 ? 代表文件名称中之单一字符。 代表文件名称中之一字串。 8查看文件内容 执行格式: cat filename Example : cat file1 以连续显示方式,查看文件名 file1 之内容。 执行格式: more filename 或 cat filename | more Example : more file1 以分页方式,查看文件名 file1 之内容。 cat file1 | more 同上。 9查看目录所占磁盘容量 执行格式: du [-s] directory Example : du dir1 显示目录 dir1 的总容量及其次目录的容量(以 k byte 为容量)。 du -s dir1 显示目录 dir1 的总容量。 文件传输 10拷贝文件或目录至远端工作站 执行格式: rcp [-r] source hostname:destination source 可为文件名、目录名或路径,hostname 为工作站站名,destination 为路径名称. Example : rcp file1 doc:/home/user 将文件 file1,拷贝到工作站 doc 路径 /home/user 之目录下。 rcp -r dir1 doc:/home/user 将目录 dir1,拷贝到工作站 doc 路径/home/user 之目录下。 11自远端工作站,拷贝文件或目录 执行格式: rcp [-r] hostname:source destination ( hostname 为工作站名,source 为路径名,destination 可为文件名、目录名或路径 )。 Example : rcp doc:/home/user/file1 file2 将工作站 doc 中,位于 /home/user 目录下之文件file1,拷贝到目前工作站之目录下,文件名改为file2。 rcp -r doc:. 将工作站 doc 中,位于 /home/user 目录下之目录 dir1,拷贝到目前工作站之目录下目录名称仍为 dir1。 12文件模式之设定 改变文件或目录之读、写、执行之允许权 执行格式:chmod [-R] mode name ( name 可为文件名或目录名;mode可为 3 个 8 位元之数字,或利用ls -l 命令,列出文件或目录之读、写、执行允许权之文字缩写。) mode : rwx rwx rwx r:read w:write x:execute user group other 缩写 : (u) (g) (o) Example : %chmod 755 dir1 将目录dir1,设定成任何使用者,皆有读取及执行之权利,但只有拥有者可做修改。 %chmod 700 file1 将文件file1,设定只有拥有者可以读、写和执行。 %chmod o+x file2 将文件file2,增加拥有者可以执行之权利。 %chmod g+x file3 将文件file3,增加群组使用者可执行之权利。 %chmod o-r file4 将文件file4,除去其它使用者可读取之权利。 1`2`12`12`12`12`12`12`1权,改为使用者 user 所有。 13检查自己所属之群组名称 执行格式:groups 14改变文件或目录之群组拥有权 执行格式:chgrp [-R] groupname name ( name 可为文件名或目录名 ) Example : %chgrp vlsi file1 将文件 file1 之群组拥有权,改为 vlsi 群组。 %chgrp -R image dir1 将目录dir1,及其下所有文件和子目录,改为 image 群组。 15改变文件或目录之最后修改时间 执行格式:touch name ( name 可为文件或目录名称。) 16文件之连结 同一文件,可拥有一个以上之名称,可将文件做数个连结。 执行格式:ln oldname newname ( Hard link ) Example : ln file1 file2 将名称 file2,连结至文件 file1。 执行格式:ln -s oldname newname ( Symblick link ) Example : ln -s file3 file4 将名称 file4,连结至文件file3。 17文件之字串找寻 执行格式:grep string file Example : grep abc file1 寻找文件file1中,列出字串 abc 所在之整行文字内容。 18找寻文件或命令之路径 执行格式:whereis command ( 显示命令之路径。) 执行格式:which command ( 显示命令之路径,及使用者所定义之别名。) 执行格式:whatis command ( 显示命令功能之摘要。) 执行格式:find search-path -name filename -print( 搜寻指定路径下,某文件之路径 。) Example : %find / -name file1 -print ( 自根目录下,寻找文件名为 file1 之路径。. 19 vi 的操作模式 vi 提供两种操作模式:输入模式(insert mode)和指令模式(command mode)。当使用者进入 vi 后,即处在指令模式下,此刻键入之任何字符皆被视为指令。在此模式下可进行删除、修改等动作。若要输入资料,则需进入输入模式。 19.1输入模式 如何进入输入模式 l a (append) 由光标之后加入资料。 l A 由该行之末加入资料。 l i (insert) 由光标之前加入资料。 l I 由该行之首加入资料。 l o (open) 新增一行于该行之下供输入资料之用。 l O 新增一行于该行之上供输入资料之用。 如何离开输入模式 l 《ESC》 结束输入模式。 19.2指令模式 光标之移动(以下命令区分大小写) l h 向左移一个字符。 l J 向上移一个字符。 l K 向下移一个字符。 l L 向右移一个字符。 l ^移至该行之首 l $ 移至该行之末。 l H 移至视窗的第一列。 l M 移至视窗的中间那列。 l L 移至视窗的最后一列。 l G 移至该文件的最后一列。 l + 移至下一列的第一个字符处。 l - 移至上一列的第一个字符处。 l ( 移至该句之首。 (注一) l ) 移至该句之末。 l { 移至该段落之首。 (注二) l } 移至该段落之末。 l nG 移至该文件的第 n 列。 l n+ 移至光标所在位置之后的第 n 列。 l n-移至光标所在位置之前的第 n 列。 l 会显示该行之行号、文件名称、文件中最末行之行号、光标所在行号占总行号之百分比。 注一:句子(sentence)在vi中是指以‘!’、‘.’或‘?’结束的一串字。 注二:段落(paragraph)在vi中是指以空白行隔开的文字. 19.3视窗的移动 l ^F 视窗往下卷一页(front) l ^B 视窗往上卷一页(back) l ^D 视窗往下卷半页(down) l ^U 视窗往上卷半页(up) l ^E 视窗往下卷一行 l ^Y 视窗往上卷一行 ^表示Ctrl 19.4删除、复制及修改指令介绍 (此单元较少使用) d(delete)、c(change)和y(yank)这一类的指令在 vi 中的指令格式为: Operator + Scope command (运算子) (范围) 运算子: l d 删除指令。删除资料,但会将删除资料复制到记忆体缓冲区。 l y 将资料(字组、行列、句子或段落)复制到缓冲区。 l p 放置(put)指令,与 d 和 y 配和使用。可将最后delete或yank的资料放置于光标所在位置之行列下。 l c 修改(change)指令,类似delete与insert的组和。删除一个字组、句子等之资料,并插入新键资料。 范围: l e 由光标所在位置至该字串的最后一个字符。 l w 由光标所在位置至下一个字串的第一个字符。 l b 由光标所在位置至前一个字串的第一个字符。 l $ 由光标所在位置至该行的最后一个字符。 l 由光标所在位置至该行的第一个字符。 l ) 由光标所在位置至下一个句子的第一个字符。 l ( 由光标所在位置至该句子的第一个字符。 l { 由光标所在位置至该段落的最后一个字符。 l } 由光标所在位置至该段落的第一个字符。 整行动作: l dd 删除整行。 l D 以行为单位,删除光标后之所有字符。 l cc 修改整行的内容。 l yy yank整行,使光标所在该行复制到记忆体缓冲区。 19.5删除与修改 l x 删除光标所在该字符。 l X 删除光标所在之前一字符。 l dd 删除光标所在该行。 l r 用接于此指令之后的字符取代(replace)光标所在字符。如: ra 将光标所在字符以 a 取代之。 l R 进入取代状态,直到《ESC》为止。 l s 删除光标所在之字符,并进入输入模式直到《ESC》。 l S 删除光标所在之该行资料,并进入输入模式直到《ESC》。 19.6移动与复制 利用 delete 及 put 指令可完成资料移动之目的。 利用 yank 及 put 指令可完成资料复制之目的。 yank 和 delete 可将指定的资料复制到记忆体缓冲区,而借由 put 指令可将缓冲区内的资料复制到屏幕上。 例: 移动一行 .在该行执行 dd .光标移至目的地 .执行 p 复制一行 .在该行执行 yy .光标移至目的地 .执行 p 19.7指令重复 在指令模式中,可在指令前面加入一数字 n,则此指令动作会重复执行 n次。 例: 删除10行 .10dd 复制10行 .10yy 指标往下移10行 .10j 19.8取消前一动作(Undo) 即复原执行上一指令前的内容。 u 恢复最后一个指令之前的结果。 U 恢复光标该行之所有改变。 19.9搜寻 在vi中可搜寻某一字串,使光标移至该处。 /字串 往光标之后寻找该字串。 ?字串 往光标之前寻找该字串。 n 往下继续寻找下一个相同的字串。 N 往上继续寻找下一个相同的字串。 19.10资料的连接 J 句子的连接。将光标所在之下一行连接至光标该行的后面。 若某行资料太长亦可将其分成两行,只要将光标移至分开点,进入输入模式 (可利用 a、i等指令)再按《Enter》即可。 19.11环境的设定 :set nu 设定资料的行号。 :set nonu 取消行号设定。 :set ai 自动内缩。 :set noai 取消自动内缩。 19.12自动内缩(automatic indentation) 在编辑文件或程序时,有时会遇到需要内缩的状况,‘:set ai’即提供自动内缩的功能,用下例解释之: .vi test .(进入编辑视窗后) this is the test for auto indent 《Tab》start indent ← :set ai (设自动内缩) 《Tab》data 《Tab》data 《Tab》data ← :set noai (取消自动内缩) the end of auto indent. .注: 可删除《Tab》字符。 19.13ex指令 读写资料 :w 将缓冲区的资料写入磁盘中。 :10,20w test 将第10行至第20行的资料写入test文件。 :10,20w>>test 将第10行至第20行的资料加在test文件之后。 :r test 将test文件的资料读入编辑缓冲区的最后。 删除、复制及移动 :10,20d 删除第10行至第20行的资料。 :10d 删除第10行的资料。 :%d 删除整个编辑缓冲区。 :10,20co30 将第10行至第20行的资料复制至第30行之后。 :10,20mo30 将第10行至第20行的资料移动至第30行之后。 字串搜寻与取代 s(substitute)指令可搜寻某行列范围。g(global)指令则可搜寻整个编辑缓冲区的资料。 s指令以第一个满足该条件的字串为其取代的对象,若该行有数个满足该条件的字串,也仅能取代第一个,若想取代所有的字串则需加上g参数。 :1,$s/old/new/g 将文件中所有的‘old’改成‘new’。 :10,20s/^/ / 将第10行至第20行资料的最前面插入5个空白。 :%s/old/new/g 将编辑缓冲区中所有的‘old’改成‘new’。 19.14恢复编辑时被中断的文件 在编辑过程中,若系统当掉或连线中断,而缓冲区的资料并还未被写回磁盘时,当再度回到系统,执行下列指令即可回复中断前的文件内容。 %vi -r filename 19.15编辑多个文件 vi亦提供同时编辑多个文件的功能,方法如下: %vi file1 file2 … 当第一个文件编修完成后,可利用‘:w’将该缓冲区存档,而后再利用 ‘:n’载入下一个文件。 gedit 编辑器可以打开多个文件,并直接编辑 20 PS命令 20.1Linux ps命令 在Linux下ps命令是用于查看系统上运行的进程的最基本的命令之一。它提供了当前进程的同时,如用户ID,CPU使用率,内存使用率,命令名称等,它不显示实时数据,如top或htop命令的详细信息。但是,即使是功能和输出简单,但它仍然是一个必用的过程管理/监控工具,每一个Linux新手应该知道这一点,好好学习。在这篇文章中,我们将使用ps命令以不同的方式来查看进程、筛选和排序它们,以加强基础部分。 语法注意: ps命令带有2种不一样的风格,分别是BSD和UNIX。新用户经常会混淆和错误地解释这两种风格。所以要弄清楚他们,继续操作之前这里是一些基本的信息。 注意:"ps aux"和"ps -aux"不相同。例如"-u"用来显示该用户的进程。但是"u"则是显示详细的信息。 BSD风格:在BSD风格的语法选项前不带连字符。 ps aux UNIX/LINUX的风格:在linux风格的语法选项前面有一个破折号如常。… ps -ef 混合使用两种Linux系统上的语法风格是好事儿。例如“ps ax -f”。但在这篇文章中,我们将主要集中在UNIX风格的语法。 20.2如何使用ps命令呢? 1、显示所有进程: 下面的命令将列出所有的进程: $ ps ax $ ps -ef 加上管道输出给less,来滚动显示 "u"或者"-f"参数来显示所有进程的详细信息 $ ps aux $ ps -ef -f 注意:为什么用户列不显示我的用户名,但显示其他用户,如root、www等,对于所有的用户名(包括你)如果长度大于8个字符,然后ps将只显示UID,而不是用户名。 2、根据用户显示进程: 由进程的所属用户使用“-u”选项后跟用户名来显示。多个用户名可以提供以逗号分隔。 $ ps -f -u www-data UID PID PPID C STIME TTY TIME CMD www-data 1329 1328 0 09:32 ? 00:00:00 nginx: worker process www-data 1330 1328 0 09:32 ? 00:00:00 nginx: worker process www-data 1332 1328 0 09:32 ? 00:00:00 nginx: worker process www-data 1377 1372 0 09:32 ? 00:00:00 php-fpm: pool a.localhost www-data 1378 1372 0 09:32 ? 00:00:00 php-fpm: pool a.localhost www-data 4524 2359 0 10:03 ? 00:00:00 /usr/sbin/apache2 -k start www-data 4527 2359 0 10:03 ? 00:00:00 /usr/sbin/apache2 -k start www-data 4528 2359 0 10:03 ? 00:00:00 /usr/sbin/apache2 -k start 3、通过名字和进程ID显示进程: 通过名字或命令搜索进程,使用“-C”选项后面加搜索词。 $ ps -C apache2 PID TTY TIME CMD 2359 ? 00:00:00 apache2 4524 ? 00:00:00 apache2 4525 ? 00:00:00 apache2 ... 4、根据CPU或者内存进行排序: 系管理员经常希望找出那些消耗大量内存或CPU的进程。排序选项将基于特定的字段或参数让进程列表进行排序。 “–sort”选项由逗号分隔的多个字段可以用指定。此外,该字段可以带有前缀“-”或“”符号,表示降序或升序分别排序。通过进程列表进行排序有很多参数,你可以检查手册页的完整列表。 $ ps aux --sort=-pcpu,+pmem 显示前5个消耗了大部分的CPU进程。 $ ps aux --sort=-pcpu | head -5 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 2.6 0.7 51396 7644 ? Ss 02:02 0:03 /usr/lib/systemd/systemd --switched-root --system --deserialize 23 root 1249 2.6 3.0 355800 30896 tty1 Rsl+ 02:02 0:02 /usr/bin/X -background none :0 vt01 -nolisten tcp root 508 2.4 1.6 248488 16776 ? Ss 02:02 0:03 /usr/bin/python /usr/sbin/firewalld --nofork silver 1525 2.1 2.3 448568 24392 ? S 02:03 0:01 /usr/bin/python /usr/share/system-config-printer/applet.py 5、用树的风格显示进程的层次关系: 许多进程实际上是一些父进程分的分支,知道这父子进程关系往往是有用的。在'–forest'选项将建立ASCII艺术风格层次的树视图。 下面的命令将搜索进程名字为Apache2,形成一个树结构来显示详细的信息。 $ ps -f --forest -C apache2 UID PID PPID C STIME TTY TIME CMD root 2359 1 0 09:32 ? 00:00:00 /usr/sbin/apache2 -k start www-data 4524 2359 0 10:03 ? 00:00:00 \_ /usr/sbin/apache2 -k start www-data 4525 2359 0 10:03 ? 00:00:00 \_ /usr/sbin/apache2 -k start www-data 4526 2359 0 10:03 ? 00:00:00 \_ /usr/sbin/apache2 -k start www-data 4527 2359 0 10:03 ? 00:00:00 \_ /usr/sbin/apache2 -k start www-data 4528 2359 0 10:03 ? 00:00:00 \_ /usr/sbin/apache2 -k start 尽量不要使用任何的排序和树风格一起展示,因为他们使用了不同的顺序。 6、显示一个父进程的子进程: 这里有一个例子显示所有apache进程的分支 $ ps -o pid,uname,comm -C apache2 PID USER COMMAND 2359 root apache2 4524 www-data apache2 4525 www-data apache2 4526 www-data apache2 4527 www-data apache2 4528 www-data apache2 [term] The first process that is owned by root is the main apache2 process and all other apache2 processes have been forked out of this main process. The next command lists all child apache2 processes using the pid of the main apache2 process [term] $ ps --ppid 2359 PID TTY TIME CMD 4524 ? 00:00:00 apache2 4525 ? 00:00:00 apache2 4526 ? 00:00:00 apache2 4527 ? 00:00:00 apache2 4528 ? 00:00:00 apache2 7、显示一个进程的线程: “-L”选项将显示进程的线程。它可以用来显示特定进程的所有线程或者所有进程。 下面的命令将显示所有id为3150的进程所拥有的线程。 $ ps -p 3150 -L 8、改变要显示的列: ps命令可以配置为只显示选中的列表。为了显示完整列表可以查看手册。 下面的命令只显示PID,用户名,CPU,内存和命令的列。 $ ps -e -o pid,uname,pcpu,pmem,comm 可以重命名列标签,相当的灵活。 $ ps -e -o pid,uname=USERNAME,pcpu=CPU_USAGE,pmem,comm PID USERNAME CPU_USAGE %MEM COMMAND 1 root 0.0 0.0 init 2 root 0.0 0.0 kthreadd 3 root 0.0 0.0 ksoftirqd/0 4 root 0.0 0.0 kworker/0:0 5 root 0.0 0.0 kworker/0:0H 7 root 0.0 0.0 migration/0 8 root 0.0 0.0 rcu_bh 9 root 0.0 0.0 rcuob/0 10 root 0.0 0.0 rcuob/1 9、显示进程运行的时间: 表示进程的运行时间。对于运行的时间,列默认情况下是不显示的,可以使用“-O”选项查看。 $ ps -e -o pid,comm,etime 10、把ps命令变成一个实时查看器: 像往常一样,watch命令可以用来实时捕捉ps显示进程。简单的例子如下: $ watch -n 1 'ps -e -o pid,uname,cmd,pmem,pcpu --sort=-pmem,-pcpu | head -15' 输出在桌面上像这样: Every 1.0s: ps -e -o pid,uname,cmd,pmem,pcpu --... Sun Dec 1 18:16:08 2013 PID USER CMD %MEM %CPU 3800 1000 /opt/google/chrome/chrome - 4.6 1.4 7492 1000 /opt/google/chrome/chrome - 2.7 1.4 3150 1000 /opt/google/chrome/chrome 2.7 2.5 3824 1000 /opt/google/chrome/chrome - 2.6 0.6 3936 1000 /opt/google/chrome/chrome - 2.4 1.6 2936 1000 /usr/bin/plasma-desktop 2.3 0.2 9666 1000 /opt/google/chrome/chrome - 2.1 0.8 3842 1000 /opt/google/chrome/chrome - 2.1 0.8 4739 1000 /opt/google/chrome/chrome - 1.8 1.0 3930 1000 /opt/google/chrome/chrome - 1.7 1.0 3911 1000 /opt/google/chrome/chrome - 1.6 0.6 3645 1000 /opt/google/chrome/chrome - 1.5 0.4 3677 1000 /opt/google/chrome/chrome - 1.5 0.4 3639 1000 /opt/google/chrome/chrome - 1.4 0.4 输出将被刷新,每1秒刷新统计数据。不过不要以为这是类似上面。 21服务启动停止 21.1查看Linux启动的服务 . 代码如下: chkconfig --list 查询出所有当前运行的服务 chkconfig --list atd 查询atd服务的当前状态 21.2停止所有服务并且在下次系统启动时不再启动,如下所示: . 代码如下: chkconfig --levels 12345 NetworkManager off 如果想查看当前处于运行状态的服务,用如下语句过滤即可 . 代码如下: chkconfig --list |grep on 21.3如果只是想当前的设置状态有效,在系统重启动后即不生效的话,可以用如下命令停止服务 . 代码如下: service sshd stop 22top 命令 top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定. 1.命令格式: top [参数] 2.命令功能: 显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等 3.命令参数: -b 批处理 -c 显示完整的治命令 -I 忽略失效过程 -s 保密模式 -S 累积模式 -i<时间> 设置间隔时间 -u<用户名> 指定用户名 -p<进程号> 指定进程 -n<次数> 循环显示的次数 23tail 命令 tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容. 1.命令格式; tail[必要参数][选择参数][文件] 2.命令功能: 用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。 3.命令参数: -f 循环读取 -q 不显示处理信息 -v 显示详细的处理信息 -c<数目> 显示的字节数 -n<行数> 显示行数 --pid=PID 与-f合用,表示在进程ID,PID死掉之后结束. -q, --quiet, --silent 从不输出给出文件名的首部 -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒 23.1使用实例: 实例1:显示文件末尾内容 命令: tail -n 5 log2014.log 输出: [root@localhost test]# tail -n 5 log2014.log 2014-09 2014-10 2014-11 2014-12 ==============================[root@localhost test]# 说明: 显示文件最后5行内容 实例2:循环查看文件内容 命令: tail -f test.log 输出: [root@localhost ~]# ping 192.168.120.204 > test.log & [1] 11891[root@localhost ~]# tail -f test.log PING 192.168.120.204 (192.168.120.204) 56(84) bytes of data. 64 bytes from 192.168.120.204: icmp_seq=1 ttl=64 time=0.038 ms 64 bytes from 192.168.120.204: icmp_seq=2 ttl=64 time=0.036 ms 64 bytes from 192.168.120.204: icmp_seq=3 ttl=64 time=0.033 ms 64 bytes from 192.168.120.204: icmp_seq=4 ttl=64 time=0.027 ms 64 bytes from 192.168.120.204: icmp_seq=5 ttl=64 time=0.032 ms 64 bytes from 192.168.120.204: icmp_seq=6 ttl=64 time=0.026 ms 64 bytes from 192.168.120.204: icmp_seq=7 ttl=64 time=0.030 ms 64 bytes from 192.168.120.204: icmp_seq=8 ttl=64 time=0.029 ms 64 bytes from 192.168.120.204: icmp_seq=9 ttl=64 time=0.044 ms 64 bytes from 192.168.120.204: icmp_seq=10 ttl=64 time=0.033 ms 64 bytes from 192.168.120.204: icmp_seq=11 ttl=64 time=0.027 ms [root@localhost ~]# 说明: ping 192.168.120.204 > test.log & //在后台ping远程主机。并输出文件到test.log;这种做法也使用于一个以上的档案监视。用Ctrl+c来终止。 实例3:从第5行开始显示文件 命令: tail -n +5 log2014.log 输出: [root@localhost test]# cat log2014.log 2014-01 2014-02 2014-03 2014-04 2014-05 2014-06 2014-07 2014-08 2014-09 2014-10 2014-11 2014-12 ============================== [root@localhost test]# tail -n +5 log2014.log 2014-05 2014-06 2014-07 2014-08 2014-09 2014-10 2014-11 2014-12 ==============================