文件查看及查找命令

cat  查看一个文件

  -E: 显示行结束符$

  -n: 对显示出的每一行进行编号

  -A:显示所有控制符

  -b:非空行编号

  -s:压缩连续的空行成一行

  -T:显示制表符

常用:cat -An /etc/passwd

[root@station29 ~]# cat -An /etc/passwd
     1  root:x:0:0:root:/root:/bin/bash$
     2  bin:x:1:1:bin:/bin:/sbin/nologin$
     3  daemon:x:2:2:daemon:/sbin:/sbin/nologin$
     4  adm:x:3:4:adm:/var/adm:/sbin/nologin$
     5  lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin$
     6  sync:x:5:0:sync:/sbin:/bin/sync$
     7  shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown$
     8  halt:x:7:0:halt:/sbin:/sbin/halt$
     9  mail:x:8:12:mail:/var/spool/mail:/sbin/nologin$

more 分页查看文件

文件内容较多时,用more命令查看,空格键下翻,b键上翻,Q退出

[root@station29 ~]# more install.log
Installing libgcc-4.4.7-17.el6.x86_64
warning: libgcc-4.4.7-17.el6.x86_64: Header V3 RSA/SHA1 Signature, key ID c10
5b9de: NOKEY
Installing fontpackages-filesystem-1.41-1.1.el6.noarch
Installing m17n-db-1.5.5-1.1.el6.noarch
Installing liberation-fonts-common-1.05.1.20090721-5.el6.noarch
Installing setup-2.8.14-20.el6_4.1.noarch
Installing xkeyboard-config-2.16-1.el6.noarch
Installing xml-common-0.6.3-33.el6.noarch
Installing iso-codes-3.16-2.el6.noarch
Installing filesystem-2.4.30-3.el6.x86_64
Installing dejavu-fonts-common-2.33-1.el6.noarch
Installing mozilla-filesystem-1.9-5.1.el6.x86_64
Installing control-center-filesystem-2.28.1-40.el6.x86_64
Installing paktype-fonts-common-2.0-8.el6.noarch
Installing mesa-dri-filesystem-11.0.7-4.el6.x86_64

head 显示前十行内容

[root@station29 ~]# head install.log
Installing libgcc-4.4.7-17.el6.x86_64
warning: libgcc-4.4.7-17.el6.x86_64: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Installing fontpackages-filesystem-1.41-1.1.el6.noarch
Installing m17n-db-1.5.5-1.1.el6.noarch
Installing liberation-fonts-common-1.05.1.20090721-5.el6.noarch
Installing setup-2.8.14-20.el6_4.1.noarch
Installing xkeyboard-config-2.16-1.el6.noarch
Installing xml-common-0.6.3-33.el6.noarch
Installing iso-codes-3.16-2.el6.noarch
Installing filesystem-2.4.30-3.el6.x86_64

 -c#:指定获取前#个字节

[root@station29 ~]# head -c6 install.log
Instal[root@station29 ~]# 

-n#:指定获取前#

[root@station29 ~]# head -n6 install.log
Installing libgcc-4.4.7-17.el6.x86_64
warning: libgcc-4.4.7-17.el6.x86_64: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Installing fontpackages-filesystem-1.41-1.1.el6.noarch
Installing m17n-db-1.5.5-1.1.el6.noarch
Installing liberation-fonts-common-1.05.1.20090721-5.el6.noarch
Installing setup-2.8.14-20.el6_4.1.noarch

-#:指定行数

[root@station29 ~]# head -3 install.log
Installing libgcc-4.4.7-17.el6.x86_64
warning: libgcc-4.4.7-17.el6.x86_64: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Installing fontpackages-filesystem-1.41-1.1.el6.noarch

tail 默认显示文件后面10行的内容

[root@station29 ~]# tail install.log
Installing iwl3945-firmware-15.32.2.9-4.el6.noarch
Installing ql2200-firmware-2.02.08-3.1.el6.noarch
Installing rt73usb-firmware-1.8-7.el6.noarch
Installing ipw2100-firmware-1.3-11.el6.noarch
Installing ql23xx-firmware-3.03.27-3.1.el6.noarch
Installing ipw2200-firmware-3.1-4.el6.noarch
Installing rootfiles-8.1-6.1.el6.noarch
Installing man-pages-3.22-20.el6.noarch
Installing words-3.0-17.el6.noarch
*** FINISHED INSTALLING PACKAGES ***[root@station29 ~]# 

-n#:指定获取后#

[root@station29 ~]# tail -n2  install.log
Installing words-3.0-17.el6.noarch
*** FINISHED INSTALLING PACKAGES ***[root@station29 ~]#

-#:指定行数

[root@station29 ~]# tail -2  install.log
Installing words-3.0-17.el6.noarch
*** FINISHED INSTALLING PACKAGES ***[root@station29 ~]# 

-f:实时查看文件的最新变化  用于排查故障的时候  等同于tailf

[root@station29 ~]# tailf install.log
Installing iwl3945-firmware-15.32.2.9-4.el6.noarch
Installing ql2200-firmware-2.02.08-3.1.el6.noarch
Installing rt73usb-firmware-1.8-7.el6.noarch
Installing ipw2100-firmware-1.3-11.el6.noarch
Installing ql23xx-firmware-3.03.27-3.1.el6.noarch
Installing ipw2200-firmware-3.1-4.el6.noarch
Installing rootfiles-8.1-6.1.el6.noarch
Installing man-pages-3.22-20.el6.noarch
Installing words-3.0-17.el6.noarch
*** FINISHED INSTALLING PACKAGES ***

cut:文本内容切割并按要求输出

-d:指明分隔符

-f:指明要取出的字段

如要取出此文件内容的第一段

[root@station29 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
[root@station29 ~]# cut -d ":" -f1 /etc/passwd
root
bin
daemon
adm
lp
sync

wc:查看文件内容有多少字符,多少行,多少字节

[root@station29 ~]# wc /etc/passwd
  35   54 1672 /etc/passwd

wc -l:统计行数    (常用)

[root@station29 ~]# wc -l /etc/passwd
35 /etc/passwd

sort:排序

  -r 逆序

  -n 按照数字大写

  -f  忽略字符串大小写

  -t c” 以后面的字符作为分隔符

  -k  选择某个字段 进行排序

[root@station29 ~]# cat /etc/passwd | sort -t ":" -k3
root:x:0:0:root:/root:/bin/bash
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin

uniq:删除重复     (常和sort命令一起使用)

  -c 显示每行重复出现的次数

  -d 仅显示重复

  -u 显示不重复

连续且完全相同方为重复

last显示登陆用户,排序后显示登陆的次数

[root@station29 ~]# last | cut -d' ' -f1 | sort | uniq -c
      1 
     26 reboot
      1 wtmp

  文本检索工具

grep:作用:文本搜索工具,根据用户指定的模式,对目标文件逐行进行匹配检查,打印匹配到的行

     模式:由正则表达式的元字符及文本字符所编写出的过滤条件

 -v:取反   显示不能被匹配到的行

 -i:忽略字符的大小写

 -n:显示行号

 -c:显示统计到的行数,等同于wc -l

 -o:仅显示匹配到的字符串

 -q:静默输出(不输出任何信息) 只关心命令的执行结果 不关心输出结果

 -A #:#

 -B #:#

 -C #:前后#行  查看日志 搜索关键字排查错误的时候

 -e:指定多个条件,条件是或的关系

 -w 匹配整个单词

 -E === egrep 支持扩展的正则表达式

 -F === fgrep 不支持正则表达式

 

显示出/etc/passwdroot的前后两行(第一个root为第一行,所以没有前两行)

[root@station29 ~]# grep -C 2 'root' /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
--
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin

 基本正则表达式

 字符匹配:

       .:匹配任意单个字符

[]:匹配指定范围内的任意单个字符  ——>  如:[abc] a | b | c

[^]:匹配指定范围外的任意单个字符 ——>  如:[^abc] abc之外的字符

[:alnum:] 数字和字符

[:alpha:] 英文大小写字符 a-z A-Z

[:lower:] 小写字母

[:upper:] 大写字母

[:space:] 专门匹配空格

 

匹配次数:用在要指定其出现的次数的字符的后面,用于限制其前面字符出现的次数

  *:匹配其前面的字符任意次    0-无穷

[root@station29 ~]# grep "r*" /etc//passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

.*:任意长度的任意字符出现任意次

[root@station29 ~]# grep "gdm.*" /etc/passwd
gdm:x:42:42::/var/lib/gdm:/sbin/nologin

  \?:匹配前面的字符出现0次或者1(其前面的字符是可有可无的)

  \+:匹配前面的字符至少1

  \{m,\}:匹配前的字符至少出现m

  \{m,n\}:匹配前面的字符出现至少m次至多n

  \{0,n\}:匹配前面的字符最多出现n

  \{m,\}:匹配前的字符至少出现m

 

位置锚定:用来定位字符出现的位置

  ^ 锚定行首(用于模式最左侧)

[root@station29 ~]# grep "^root" /etc//passwd
root:x:0:0:root:/root:/bin/bash

$ 锚定行尾(用于模式最右侧)

[root@station29 ~]# grep "bash$" /etc//passwd
root:x:0:0:root:/root:/bin/bash
zhouao:x:500:500:zhouao:/home/zhouao:/bin/bash
openstack:x:3000:3000::/home/openstack:/bin/bash

^$:匹配空行

^[[:space:]]*$:空行或包含空白字符的行

单词:非特殊字符组成的连续字符(字符串)都称为单词

\b  \b:匹配词首和词尾 

[root@station29 ~]# grep '\broot' /etc//passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

\<  \>:匹配词首和词尾

例如:找出/etc/passwd下以/bin/bash结尾的行

[root@station29 ~]# grep "bash\>" /etc//passwd
root:x:0:0:root:/root:/bin/bash
zhouao:x:500:500:zhouao:/home/zhouao:/bin/bash
openstack:x:3000:3000::/home/openstack:/bin/bash

分组及引用

\(\):将一个或多个字符捆绑在一起,当做一个整体进行处理

分组括号中的模式匹配到的内容会被正则表达式引擎自动记录于内部的变量中

   \1:模式从左侧起,第一个括号以及与之匹配的右括号之间的模式所匹配到的字符

   \2:模式从左侧起,第二个括号以及与之匹配的右括号之间的模式所匹配到的字符

   \3:模式从左侧起,第三个括号以及与之匹配的右括号之间的模式所匹配到的字符

[root@station29 ~]# grep "r..t" /etc//passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
[root@station29 ~]# grep "^\(r..\)t.*\1" /etc//passwd
root:x:0:0:root:/root:/bin/bash

egrep:支持扩展的正则表达式实现类似于grep文本过滤功能

-G:支持基本正则表达式

扩展正则表达式

字符匹配

       .:匹配任意单个字符

[]:匹配指定范围内的任意单个字符  ——>  如:[abc] a | b | c

[^]:匹配指定范围外的任意单个字符 ——>  如:[^abc] abc之外的字符

[:alnum:] 数字和字符

[:alpha:] 英文大小写字符 a-z A-Z

[:lower:] 小写字母

[:upper:] 大写字母

[:space:] 专门匹配空格

次数匹配:

匹配次数:用在要指定其出现的次数的字符的后面,用于限制其前面字符出现的次数

  *:匹配其前面的字符任意次    0-无穷

  ?:0或一次,其前的字符是可有可无的

  +:其前的字符至少一次

  {m}:其前的字符m

  {m,n}:至少m次,至多n

位置锚定:

  ^:行首锚定

  $:行位锚定

  \<  \>:词首锚定

  \b  \b:词首锚定

分组及引用:

  ():分组,括号内的模式匹配到的内容会被正则表达式引擎自动记录于内部的变量中

  \1:模式从左侧起,第一个括号以及与之匹配的右括号之间的模式所匹配到的字符

  \2:模式从左侧起,第二个括号以及与之匹配的右括号之间的模式所匹配到的字符

  \3:模式从左侧起,第三个括号以及与之匹配的右括号之间的模式所匹配到的字符

:

  a|b:a或者b

  C|cat:Ccat

  (c|C)at:catCat

例如:找出etc/passwd文件中的两位数或三位数

[root@station29 ~]# egrep "\<[0-9]{2,3}\>" /etc/passwd
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
[root@station29 ~]# egrep "\<[0-9]{2,3}\>" /etc/passwd | cut -d: -f3,4
8:12
10:14
11:0
12:100
13:30
14:50
99:99
81:81
113:113

文件查找命令

find:实时查找工具,根据我们指定的内容或者条件在系统上进行实时查找

根据文件名查找

     -name 可以使用通配符 比如 * [] [^]

        find . -name “????”

例如:我想找某个文件名叫 yum /etc

[root@station29 ~]# find /etc/ -name "yum"
/etc/logrotate.d/yum
/etc/yum

 -iname 文件名称忽略大小写

[root@station29 ~]# find /etc/ -iname "think"
/etc/test/think
/etc/test/Think

根据属主和属组来查找

     -user  (查找属主指定用户的所有文件)

     -group (查找属组指定组的所有文件)

     -uid   (查找属主指定的UID的所有文件)

     -gid   (查找属组指定的GID的所有文件)

     -nouser 查找没有属主的文件或者目录  

     -nogroup 查找没有属组的文件或者目录

drwx------. 2 gdm    gdm    4096 Apr  8 21:00 orbit-gdm
drwx------. 2 gdm    gdm    4096 Apr  8 21:01 pulse-AThZYiEcGGK5
-rw-r--r--. 1 root   root      0 Apr  1 11:38 tianjin
[root@station29 ~]# find /tmp -user gdm
/tmp/orbit-gdm
/tmp/orbit-gdm/linc-8ff-0-1f7ec1765e7bc
/tmp/orbit-gdm/linc-8d7-0-2f1d8aa3391d9
/tmp/orbit-gdm/linc-900-0-6e691ca28c58d
/tmp/orbit-gdm/linc-8fe-0-16fedb9f41908
/tmp/orbit-gdm/linc-8fd-0-12f82f71240f1
/tmp/orbit-gdm/linc-905-0-3d0482583370
[root@station29 ~]# find /tmp -group gdm
/tmp/orbit-gdm
/tmp/orbit-gdm/linc-8ff-0-1f7ec1765e7bc
/tmp/orbit-gdm/linc-8d7-0-2f1d8aa3391d9
/tmp/orbit-gdm/linc-900-0-6e691ca28c58d
/tmp/orbit-gdm/linc-8fe-0-16fedb9f41908
/tmp/orbit-gdm/linc-8fd-0-12f82f71240f1
/tmp/orbit-gdm/linc-905-0-3d0482583370
/tmp/orbit-gdm/linc-8fc-0-2f41c894bb0a2

根据文件类型查找

-type f 普通文件

              d 目录

              l 链接文件

              s 套接字文件

              b 块设备

              c 字符设备

              p 管道

[root@station29 ~]# find /dev -type b -ls
 11341    0 brw-rw----   1 root     disk              Apr  8 20:58 /dev/ram9
 11330    0 brw-rw----   1 root     disk              Apr  8 20:58 /dev/ram7
 11320    0 brw-rw----   1 root     disk              Apr  8 20:58 /dev/ram8
 11310    0 brw-rw----   1 root     disk              Apr  8 20:58 /dev/ram6
 11302    0 brw-rw----   1 root     disk              Apr  8 20:58 /dev/ram5
 11286    0 brw-rw----   1 root     disk              Apr  8 20:58 /dev/ram3
 11277    0 brw-rw----   1 root     disk              Apr  8 20:58 /dev/ram4

组合条件:

与:-a

或:-o

非:-not, !

多个条件要使用\(\)  不能使用“”

例如:查找/usr目录下不属于rootlpgdm的所有文件或目录

[root@station29 ~]# find /usr -not \( -user root -o -user lp -o -user gdm \)
/usr/libexec/abrt-action-install-debuginfo-to-abrt-cache

此题可理解为查找/usr目录下非rootlpgdm的所有文件或目录

find

查找

/usr

/usr目录

-not

\(\)

多个条件要使用\(\)  不能使用“”

-user root

查找属主指定用户的所有文件或目录root

-o

user lp

查找属主指定用户的所有文件或目录lp

-o

-user gdm

查找属主指定用户的所有文件或目录gdm

根据文件大小来查找                常用单位:k M G

         -size  +:大于多少的文件

         -size  -:小于多少的文件           

         -size   :等于多少的文件

[root@station29 ~]# find /tmp -size -100k
/tmp
/tmp/keyring-jZvoAq
/tmp/keyring-jZvoAq/socket.pkcs11
/tmp/keyring-jZvoAq/socket.ssh
/tmp/keyring-jZvoAq/socket
/tmp/.ICE-unix
/tmp/.ICE-unix/2351
/tmp/pulse-Pdz6rX1vqurd
/tmp/pulse-Pdz6rX1vqurd/pid
/tmp/pulse-Pdz6rX1vqurd/native
/tmp/keyring-RBkZ6c

根据时间来查找

        -mtime +7  7天以前的  从第8天开始

        -mtime 7   当前时间往前推第7

        -mtime -7  当前时间往前推第7天以内

[root@station29 ~]# find /tmp -atime +7
/tmp/keyring-jZvoAq/socket.pkcs11
/tmp/keyring-jZvoAq/socket.ssh
/tmp/keyring-jZvoAq/socket
/tmp/keyring-1sJnSE/socket.pkcs11
/tmp/keyring-1sJnSE/socket.ssh
/tmp/keyring-1sJnSE/socket
/tmp/keyring-fa8GPq/socket.pkcs11
/tmp/keyring-fa8GPq/socket.ssh
[root@station29 ~]# stat /tmp/keyring-GggOAV/socket
  File: `/tmp/keyring-GggOAV/socket'
  Size: 0           Blocks: 0          IO Block: 4096   socket
Device: 806h/2054d  Inode: 524364      Links: 1
Access: (0755/srwxr-xr-x)  Uid: (  500/  zhouao)   Gid: (  500/  zhouao)
Access: 2017-03-31 08:28:12.218218519 +0800
Modify: 2017-03-31 08:28:10.672218526 +0800
Change: 2017-03-31 08:28:10.672218526 +0800

根据权限来查找

        -perm 755 精确匹配有755权限的文件

        -perm -222 必须包含全部的222权限才可以

        -perm +222(CentOS 6)

              /222(CentOS 7)

              只要有一个比如说属主 属组或者其他人有一个拥有写权限即可

[root@station29 ~]# find ./ -perm 644 -ls
8388610   56 -rw-r--r--   1 root     root        50606 Mar 24 05:57 ./install.log
8393099    4 -rw-r--r--   1 root     root          176 May 20  2009 ./.bash_profile
8388611   12 -rw-r--r--   1 root     root        10033 Mar 24 05:53 ./install.log.syslog
8393132    0 -rw-r--r--   1 root     root            0 Apr  1 11:32 ./tianjin
8393102    4 -rw-r--r--   1 root     root          129 Dec  4  2004 ./.tcshrc
8393100    4 -rw-r--r--   1 root     root          176 Sep 23  2004 ./.bashrc

[root@station29 ~]# find ./ -perm /666 -ls
8388609    4 dr-xr-x---   7 root     root         4096 Apr  8 21:03 ./
8393137    4 -rw-------   1 root     root           67 Apr  3 15:18 ./.xauthHk2uLQ
8393128    4 drwx------   3 root     root         4096 Mar 24 06:01 ./.config
8393129    4 drwx------   3 root     root         4096 Mar 24 06:01 ./.config/ibus
8393130    4 drwx------   2 root     root         4096 Mar 24 06:01 ./.config/ibus/bus
8393133    4 drwxr-xr-x   2 root     root         4096 Apr  1 15:10 ./test
8393124    4 -rw-------   1 root     root         1478 Mar 24 05:57 ./anaconda-ks.cfg
8388610   56 -rw-r--r--   1 root     root        50606 Mar 24 05:57 ./install

原创文章,作者:Linux.rookie,如若转载,请注明出处:http://www.178linux.com/72844

(0)
Linux.rookieLinux.rookie
上一篇 2017-04-08
下一篇 2017-04-09

相关推荐

  • 马哥教育网络班N22期+第3周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 2、取出最后登录到当前系统的用户的相关信息。     [root@zabbix ~]# id $(who | cut -d' ' -f1 | tail -n 1)    &nbs…

    Linux干货 2016-08-30
  • Linux基础命令 -管道密切配合使用 tee

    基础命令和管道密切配合使用  tee     基础命令:tee   tee命令 功能: 把命令1的STDOUT保存在文件名中,然后管道输入给命令2; 补充说明:tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。 使用场景: 1.保存不同阶段的输出 2.复杂管道的故障排除 3.同时查看和记录…

    Linux干货 2016-08-03
  • Linux软件包安装

    Linux系统和Windows系统在软件包安装上区别很大:     软件运行环境:         API: Application Programming Interface    POSIX: P…

    Linux干货 2016-08-21
  • Linus Torvalds 语录 Top 10

    下面是Linux的创始人Linus Torvalds的一些言论,这是我个人认为最有意思的10句。如果你想看更多的Linus Torvalds说过的话,你可以看看他在维基百科上的词条:Linux Torvalds。我们在下面给出中英文对照,希望你能喜欢。 “Really, I’m not out to dest…

    Linux干货 2015-04-03
  • 控制字体颜色的输出echo[转载]

    http://onlyzq.blog.51cto.com/1228/546459 echo显示带颜色,需要使用参数-e格式如下:echo -e "\033[字背景颜色;文字颜色m字符串\033[0m"例如: echo -e "\033[41;37m TonyZhang \033[0m"其中41的位置…

    Linux干货 2017-02-01
  • 2016 10 19 第5天作业

    20161019第5天作业 软链接和硬链接的区别 硬链接 ①硬链接文件不能跨分区创建 ②一个硬链接文件的删除不影响其他链接的访问 ③链接文件指向的源文件被删除后,链接文件还能正常访问源文件的数据 ④硬链接的文件类型是 –  普通文件 ⑤硬链接和源文件的属性(大小,权限,时间戳,Inode号)相同 ⑥硬链接不能对目录创建 ⑦创建硬链接会增…

    Linux干货 2016-10-20

评论列表(1条)

  • renjin
    renjin 2017-04-12 11:33

    详细的介绍了linux中的一些基本命令的用法,内容总结的很好,排版也很不错,赞!