设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 技术文摘 查看内容

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

2013-8-12 10:11| 发布者: 红黑魂| 查看: 4850| 评论: 0|来自: 开源中国编译

摘要:   也许你已经发现第一篇文章非常的有用,这篇文章是继对初级Linux用户非常有用的20个命令的一个延伸。第一篇文章的目的是为新手准备的而这篇文章则是为了Linux的中高级用户。在这里你将学会如何进行自定义搜索,知 ...
  也许你已经发现第一篇文章非常的有用,这篇文章是继对初级Linux用户非常有用的20个命令 的一个延伸。 
第一篇文章的目的是为新手准备的而这篇文章则是为了Linux的中高级用户。在这里你将学会如何进行自定义搜
索,知道正在进行的进程和停掉进程,如何使用Linux的强势功能和如何在系统内编译C,C++和JAVA程序。

21. 命令: Find

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

01root@tecmint:~# find -name *.sh
02 
03./Desktop/load.sh
04./Desktop/test.sh
05./Desktop/shutdown.sh
06./Binary/firefox/run-mozilla.sh
07./Downloads/kdewebdev-3.5.8/quanta/scripts/externalpreview.sh
08./Downloads/kdewebdev-3.5.8/admin/doxygen.sh
09./Downloads/kdewebdev-3.5.8/admin/cvs.sh
10./Downloads/kdewebdev-3.5.8/admin/ltmain.sh
11./Downloads/wheezy-nv-install.sh

注意: `-name‘选项是搜索大小写敏感。可以使用`-iname‘选项,这样在搜索中可以忽略大小写。

(*是通配符,可以搜索所有的文件;‘.sh‘你可以使用文件名或者文件名的一部分来制定输出结果)

01root@tecmint:~# find -iname *.SH ( find -iname *.Sh /  find -iname *.sH)
02 
03./Desktop/load.sh
04./Desktop/test.sh
05./Desktop/shutdown.sh
06./Binary/firefox/run-mozilla.sh
07./Downloads/kdewebdev-3.5.8/quanta/scripts/externalpreview.sh
08./Downloads/kdewebdev-3.5.8/admin/doxygen.sh
09./Downloads/kdewebdev-3.5.8/admin/cvs.sh
10./Downloads/kdewebdev-3.5.8/admin/ltmain.sh
11./Downloads/wheezy-nv-install.sh
01root@tecmint:~# find -name *.tar.gz
02 
03/var/www/modules/update/tests/aaa_update_test.tar.gz
04./var/cache/flashplugin-nonfree/install_flash_player_11_linux.i386.tar.gz
05./home/server/Downloads/drupal-7.22.tar.gz
06./home/server/Downloads/smtp-7.x-1.0.tar.gz
07./home/server/Downloads/noreqnewpass-7.x-1.2.tar.gz
08./usr/share/gettext/archive.git.tar.gz
09./usr/share/doc/apg/php.tar.gz
10./usr/share/doc/festival/examples/speech_pm_1.0.tar.gz
11./usr/share/doc/argyll/examples/spyder2.tar.gz
12./usr/share/usb_modeswitch/configPack.tar.gz

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

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


22. 命令: grep

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

件中的‘tecmint'

1root@tecmint:~# grep tecmint /etc/passwd
2 
3tecmint:x:1000:1000:Tecmint,,,:/home/tecmint:/bin/bash

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

1root@tecmint:~# grep -i TECMINT /etc/passwd
2 
3tecmint:x:1000:1000:Tecmint,,,:/home/tecmint:/bin/bash

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

01root@tecmint:~# grep -r "127.0.0.1" /etc/
02 
03/etc/vlc/lua/http/.hosts:127.0.0.1
04/etc/speech-dispatcher/modules/ivona.conf:#IvonaServerHost "127.0.0.1"
05/etc/mysql/my.cnf:bind-address      = 127.0.0.1
06/etc/apache2/mods-available/status.conf:    Allow from 127.0.0.1 ::1
07/etc/apache2/mods-available/ldap.conf:    Allow from 127.0.0.1 ::1
08/etc/apache2/mods-available/info.conf:    Allow from 127.0.0.1 ::1
09/etc/apache2/mods-available/proxy_balancer.conf:#    Allow from 127.0.0.1 ::1
10/etc/security/access.conf:#+ : root : 127.0.0.1
11/etc/dhcp/dhclient.conf:#prepend domain-name-servers 127.0.0.1;
12/etc/dhcp/dhclient.conf:#  option domain-name-servers 127.0.0.1;
13/etc/init/network-interface.conf:   ifconfig lo 127.0.0.1 up || true
14/etc/java-6-openjdk/net.properties:# localhost & 127.0.0.1).
15/etc/java-6-openjdk/net.properties:# http.nonProxyHosts=localhost|127.0.0.1
16/etc/java-6-openjdk/net.properties:# localhost & 127.0.0.1).
17/etc/java-6-openjdk/net.properties:# ftp.nonProxyHosts=localhost|127.0.0.1
18/etc/hosts:127.0.0.1    localhost


注意:您还可以使用以下选项:
-w 搜索单词 (egrep -w ‘word1|word2‘ /path/to/file).
-c 用于统计满足要求的行 (i.e., total number of times the pattern matched)
 (grep -c ‘word‘ /path/to/file).
–color 彩色输出 (grep –color server /etc/passwd).

23. 命令: man

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

01root@tecmint:~# man man
02 
03MAN(1)                                                               Manual pager utils
                                                              MAN(1)
04 
05NAME
06       man - an interface to the on-line reference manuals
07 
08SYNOPSIS
09       man [-C  file]  [-d]  [-D]  [--warnings[=warnings]]  [-R  encoding]  [-L  locale] 
 [-m  system[,...]]  [-M  path]  [-S list] [-e extension] [-i|-I]
10       [--regex|--wildcard] [--names-only] [-a] [-u] [--no-subpages] [-P pager] [-r prompt]
 [-7] [-E encoding] [--no-hyphenation] [--no-justification]  [-p
11       string] [-t] [-T[device]] [-H[browser]] [-X[dpi]] [-Z] [[section] page ...] ...
12       man -k [apropos options] regexp ...
13       man -K [-w|-W] [-S list] [-i|-I] [--regex] [section] term ...
14       man -f [whatis options] page ...
15       man-l [-C file] [-d] [-D] [--warnings[=warnings]] [-R encoding] [-L locale] [-P pager]
 [-r prompt] [-7] [-E encoding] [-p string] [-t] [-T[device]]
16       [-H[browser]] [-X[dpi]] [-Z] file ...
17       man -w|-W [-C file] [-d] [-D] page ...
18       man -c [-C file] [-d] [-D] page ...
19       man [-hV]

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

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


24. 命令: ps

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

1root@tecmint:~# ps
2 
3 PID TTY          TIME CMD
4 4170 pts/1    00:00:00 bash
5 9628 pts/1    00:00:00 ps

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

01root@tecmint:~# ps -A
02 
03 PID TTY          TIME CMD
04    1 ?        00:00:01 init
05    2 ?        00:00:00 kthreadd
06    3 ?        00:00:01 ksoftirqd/0
07    5 ?        00:00:00 kworker/0:0H
08    7 ?        00:00:00 kworker/u:0H
09    8 ?        00:00:00 migration/0
10    9 ?        00:00:00 rcu_bh
11....

注意:当你要知道有哪些进程在运行或者需要知道想杀死的进程PID时ps命令很管用。你可以把它与

grep‘合用来查询指定的输出结果,例如:

1root@tecmint:~# ps -A | grep -i ssh
2 
3 1500 ?        00:09:58 sshd
4 4317 ?        00:00:00 sshd

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


25. 命令: kill

也许你从命令的名字已经猜出是做什么的了,kill是用来杀死已经无关紧要或者没有响应的进程.它是一个非常有用

的命令,而不是非常非常有用.你可能很熟悉Windows下要杀死进程可能需要频繁重启机器因为一个在运行的进程

大部分情况下不能够杀死,即使杀死了进程也需要重新启动操作系统才能生效.但在linux环境下,事情不是这样的.

你可以杀死一个进程并且重启它而不是重启整个操作系统.

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

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


1root@tecmint:~# ps -A | grep -i apache2
2 
31285 ?        00:00:00 apache2

搜索‘apache2'进程,找到PID并杀掉它.例如:在本例中‘apache2'进程的PID是1285..

1root@tecmint:~# kill 1285 (to kill the process apache2)

注意:每次你重新运行一个进程或者启动系统,每个进程都会生成一个新的PID.你可以使用ps命令获得

当前运行进程的PID.

另一个杀死进程的方法是:

1root@tecmint:~# pkill apache2

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


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部