对新手Linux用户非常有用的20个命令.docx
《对新手Linux用户非常有用的20个命令.docx》由会员分享,可在线阅读,更多相关《对新手Linux用户非常有用的20个命令.docx(21页珍藏版)》请在冰豆网上搜索。
对新手Linux用户非常有用的20个命令
也许你已经发现第一篇文章非常的有用,这篇文章是继对刚刚接触Linux用户非常有用的20个命令的一个延伸。
第一篇文章的目的是为新手准备的而这篇文章则是为了Linux的中高级用户。
在这里你将学会如何进行自定义搜索,知道正在进行的进程和停掉进程,如何使用Linux的强势功能和如何在系统内编译C,C++和JAVA程序。
21.命令:
Find
搜索指定目录下的文件,从开始于父目录,然后搜索子目录。
viewsource
01root@tecmint:
~#find-name*.sh
02./Desktop/load.sh
03./Desktop/test.sh
04./Desktop/shutdown.sh
05./Binary/firefox/run-mozilla.sh
06./Downloads/kdewebdev-3.5.8/quanta/scripts/externalpreview.sh
07./Downloads/kdewebdev-3.5.8/admin/doxygen.sh
08./Downloads/kdewebdev-3.5.8/admin/cvs.sh
09./Downloads/kdewebdev-3.5.8/admin/ltmain.sh
10./Downloads/wheezy-nv-install.sh
注意:
`-name‘选项是搜索大小写敏感。
可以使用`-iname‘选项,这样在搜索中可以忽略大小写。
(*是通配符,可以搜索所有的文件;‘.sh‘你可以使用文件名或者文件名的一部分来制定输出结果)
viewsource
01root@tecmint:
~#find-iname*.SH(find-iname*.Sh/find-iname*.sH)
02./Desktop/load.sh
03./Desktop/test.sh
04./Desktop/shutdown.sh
05./Binary/firefox/run-mozilla.sh
06./Downloads/kdewebdev-3.5.8/quanta/scripts/externalpreview.sh
07./Downloads/kdewebdev-3.5.8/admin/doxygen.sh
08./Downloads/kdewebdev-3.5.8/admin/cvs.sh
09./Downloads/kdewebdev-3.5.8/admin/ltmain.sh
10./Downloads/wheezy-nv-install.sh
viewsource
01root@tecmint:
~#find-name*.tar.gz
02/var/www/modules/update/tests/aaa_update_test.tar.gz
03./var/cache/flashplugin-nonfree/install_flash_player_11_linux.i386.tar.gz
04./home/server/Downloads/drupal-7.22.tar.gz
05./home/server/Downloads/smtp-7.x-1.0.tar.gz
06./home/server/Downloads/noreqnewpass-7.x-1.2.tar.gz
07./usr/share/gettext/archive.git.tar.gz
08./usr/share/doc/apg/php.tar.gz
09./usr/share/doc/festival/examples/speech_pm_1.0.tar.gz
10./usr/share/doc/argyll/examples/spyder2.tar.gz
11./usr/share/usb_modeswitch/configPack.tar.gz
注意:
以上命令查找根目录下和所有文件夹以及加载的设备的子目录下的所有包含‘tar.gz’的文件。
22.命令:
grep
‘grep‘命令搜索指定文件中包含给定字符串或者单词的行。
举例搜索‘/etc/passwd‘文件中的‘tecmint’
viewsource
1root@tecmint:
~#greptecmint/etc/passwd
2tecmint:
x:
1000:
1000:
Tecmint,,,:
/home/tecmint:
/bin/bash
使用’-i’选项将忽略大小写。
viewsource
1root@tecmint:
~#grep-iTECMINT/etc/passwd
2tecmint:
x:
1000:
1000:
Tecmint,,,:
/home/tecmint:
/bin/bash
使用’-r’选项递归搜索所有自目录下包含字符串“127.0.0.1“.的行。
viewsource
01root@tecmint:
~#grep-r"127.0.0.1"/etc/
02/etc/vlc/lua/http/.hosts:
127.0.0.1
03/etc/speech-dispatcher/modules/ivona.conf:
#IvonaServerHost"127.0.0.1"
04/etc/mysql/f:
bind-address=127.0.0.1
05/etc/apache2/mods-available/status.conf:
Allowfrom127.0.0.1:
:
1
06/etc/apache2/mods-available/ldap.conf:
Allowfrom127.0.0.1:
:
1
07/etc/apache2/mods-available/info.conf:
Allowfrom127.0.0.1:
:
1
08/etc/apache2/mods-available/proxy_balancer.conf:
#Allowfrom127.0.0.1:
:
1
09/etc/security/access.conf:
#+:
root:
127.0.0.1
10/etc/dhcp/dhclient.conf:
#prependdomain-name-servers127.0.0.1;
11/etc/dhcp/dhclient.conf:
#optiondomain-name-servers127.0.0.1;
12/etc/init/network-interface.conf:
ifconfiglo127.0.0.1up||true
13/etc/java-6-openjdk/net.properties:
#localhost&127.0.0.1).
14/etc/java-6-openjdk/net.properties:
#http.nonProxyHosts=localhost|127.0.0.1
15/etc/java-6-openjdk/net.properties:
#localhost&127.0.0.1).
16/etc/java-6-openjdk/net.properties:
#ftp.nonProxyHosts=localhost|127.0.0.1
17/etc/hosts:
127.0.0.1localhost
注意:
您还可以使用以下选项:
-w搜索单词(egrep-w‘word1|word2‘/path/to/file).
-c用于统计满足要求的行(i.e.,totalnumberoftimesthepatternmatched)(grep-c‘word‘/path/to/file).
–color彩色输出(grep–colorserver/etc/passwd).
23.命令:
man
‘man‘是系统帮助页。
Man提供命令所有选项及用法的在线文档。
几乎所有的命令都有它们的帮助页,例如:
viewsource
01root@tecmint:
~#manman
02MAN
(1)ManualpagerutilsMAN
(1)
03NAME
04man-aninterfacetotheon-linereferencemanuals
05SYNOPSIS
06man[-Cfile][-d][-D][--warnings[=warnings]][-Rencoding][-Llocale][-msystem[,...]][-Mpath][-Slist][-eextension][-i|-I]
07[--regex|--wildcard][--names-only][-a][-u][--no-subpages][-Ppager][-rprompt][-7][-Eencoding][--no-hyphenation][--no-justification][-p
08string][-t][-T[device]][-H[browser]][-X[dpi]][-Z][[section]page...]...
09man-k[aproposoptions]regexp...
10man-K[-w|-W][-Slist][-i|-I][--regex][section]term...
11man-f[whatisoptions]page...
12man-l[-Cfile][-d][-D][--warnings[=warnings]][-Rencoding][-Llocale][-Ppager][-rprompt][-7][-Eencoding][-pstring][-t][-T[device]]
13[-H[browser]][-X[dpi]][-Z]file...
14man-w|-W[-Cfile][-d][-D]page...
15man-c[-Cfile][-d][-D]page...
16man[-hV]
上面是man命令的系统帮助页,类似的有cat和ls的帮助页。
注意:
系统帮助页是为了命令的使用和学习而设计的。
24.命令:
ps
ps命令给出正在运行的某个进程的状态,每个进程有特定的id成为PID。
viewsource
1root@tecmint:
~#ps
2PIDTTYTIMECMD
34170pts/100:
00:
00bash
49628pts/100:
00:
00ps
使用‘-A‘选项可以列出所有的进程及其PID。
viewsource
01root@tecmint:
~#ps-A
02PIDTTYTIMECMD
031?
00:
00:
01init
042?
00:
00:
00kthreadd
053?
00:
00:
01ksoftirqd/0
065?
00:
00:
00kworker/0:
0H
077?
00:
00:
00kworker/u:
0H
088?
00:
00:
00migration/0
099?
00:
00:
00rcu_bh
10....
注意:
当你要知道有哪些进程在运行或者需要知道想杀死的进程PID时ps命令很管用。
你可以把它与‘grep‘合用来查询指定的输出结果,例如:
viewsource
1root@tecmint:
~#ps-A|grep-issh
21500?
00:
09:
58sshd
34317?
00:
00:
00sshd
ps命令与grep命令用管道线分割可以得到我们想要的结果。
25.命令:
kill
也许你从命令的名字已经猜出是做什么的了,kill是用来杀死已经无关紧要或者没有响应的进程.它是一个非常有用的命令,而不是非常非常有用.你可能很熟悉Windows下要杀死进程可能需要频繁重启机器因为一个在运行的进程大部分情况下不能够杀死,即使杀死了进程也需要重新启动操作系统才能生效.但在linux环境下,事情不是这样的.你可以杀死一个进程并且重启它而不是重启整个操作系统.
杀死一个进程需要知道进程的PID.
假设你想杀死已经没有响应的‘apache2‘进程,运行如下命令:
viewsource
1root@tecmint:
~#ps-A|grep-iapache2
21285?
00:
00:
00apache2
搜索‘apache2‘进程,找到PID并杀掉它.例如:
在本例中‘apache2‘进程的PID是1285..
viewsource
1root@tecmint:
~#kill1285(tokilltheprocessapache2)
注意:
每次你重新运行一个进程或者启动系统,每个进程都会生成一个新的PID.你可以使用ps命令获得当前运行进程的PID.
另一个杀死进程的方法是:
viewsource
1root@tecmint:
~#pkillapache2
注意:
kill需要PID作为参数,pkill可以选择应用的方式,比如指定进程的所有者等.
26.命令:
whereis
whereis的作用是用来定位命令的二进制文件资源或者帮助页.举例来说,获得ls和kill命令的二进制文件/资源以及帮助页:
viewsource
1root@tecmint:
~#whereisls
2ls:
/bin/ls/usr/share/man/man1/ls.1.gz
viewsource
1root@tecmint:
~#whereiskill
2kill:
/bin/kill/usr/share/man/man2/kill.2.gz/usr/share/man/man1/kill.1.gz
注意:
当需要知道二进制文件保存位置时有用.
27.命令:
service
‘service‘命令控制服务的启动、停止和重启,它让你能够不重启整个系统就可以让配置生效以开启、停止或者重启某个服务。
在Ubuntu上启动apache2server:
viewsource
1root@tecmint:
~#serviceapache2start
2*Startingwebserverapache2apache2:
Couldnotreliablydeterminetheserver'sfullyqualifieddomainname,using127.0.1.1forServerName
3httpd(pid1285)alreadyrunning[OK]
重启apache2server:
viewsource
1root@tecmint:
~#serviceapache2restart
2*Restartingwebserverapache2apache2:
Couldnotreliablydeterminetheserver'sfullyqualifieddomainname,using127.0.1.1forServerName
3...waiting.apache2:
Couldnotreliablydeterminetheserver'sfullyqualifieddomainname,using127.0.1.1forServerName[OK]
停止apache2server:
viewsource
1root@tecmint:
~#serviceapache2stop
2*Stoppingwebserverapache2apache2:
Couldnotreliablydeterminetheserver'sfullyqualifieddomainname,using127.0.1.1forServerName
3...waiting[OK]
注意:
要想使用service命令,进程的脚本必须放在‘/etc/init.d‘,并且路径必须在指定的位置。
如果要运行“serviceapache2start”实际上实在执行“service/etc/init.d/apache2start”.
28.命令:
alias
alias是一个系统自建的shell命令,允许你为名字比较长的或者经常使用的命令指定别名。
我经常用‘ls-l‘命令,它有五个字符(包括空格)。
于是我为它创建了一个别名‘l’。
viewsource
1root@tecmint:
~#aliasl='ls-l'
试试它是否能用:
viewsource
01root@tecmint:
~#l
02total36
03drwxr-xr-x3tecminttecmint4096May1011:
14Binary
04drwxr-xr-x3tecminttecmint4096May2111:
21Desktop
05drwxr-xr-x2tecminttecmint4096May2115:
23Documents
06drwxr-xr-x8tecminttecmint4096May2014:
56Downloads
07drwxr-xr-x2tecminttecmint4096May716:
58Music
08drwxr-xr-x2tecminttecmint4096May2016:
17Pictures
09drwxr-xr-x2tecminttecmint4096May716:
58Public
10drwxr-xr-x2tecminttecmint4096May716:
58Templates
11drwxr-xr-x2tecminttecmint4096May716:
58Videos
去掉’l’别名,要使用unalias命令:
viewsource
1root@tecmint:
~#unaliasl
再试试:
viewsource
1root@tecmint:
~#l
2bash:
l:
commandnotfound
开个玩笑,把一个重要命令的别名指定为另一个重要命令:
viewsource
1aliascd='ls-l'(setaliasofls-ltocd)
2aliassu='pwd'(setaliasofpwdtosu)
3....
4(Youcancreateyourown)
5....
想想多么有趣,现在如果你的朋友敲入‘cd’命令,当他看到的是目录文件列表而不是改变目录;当他试图用’su‘命令时,他会进入当前目录。
你可以随后去掉别名,向他解释以上情况。
29.命令:
df
报告系统的磁盘使用情况。
在跟踪磁盘使用情况方面对于普通用户和系统管理员都很有用。
‘df‘通过检查目录大小工作,但这一数值仅当文件关闭时才得到更新。
viewsource
01root@tecmint:
~#df
02Filesystem1K-blocksUsedAvailableUse%Mountedon
03/dev/sda14792922478119083767594818%/
04none4040%/sys/fs/cgroup
05udev1005916410059121%/dev
06tmpfs2028248162020081%/run
07none5120051200%/run/lock
08none101412062810134921%/run/shm
09none102400441023561%/run/user
10/dev/sda5184307798529472746%/boot
11/dev/sda79598951661104910456761%/data
12/dev/sda89195319257032872185281%/personal
30.命令:
du
估计文件的空间占用。
逐层统计文件(例如以递归方式)并输出摘要。
viewsource
01root@tecmint:
~#du
028./DailyPics/wp-polls/images/default_gradient
038./DailyPics/wp-polls/images/default
0432./DailyPics/wp-polls/images
058./DailyPics/wp-polls/tinymce/plugins/polls/langs
068./DailyPics/wp-polls/tinymce/plugins/polls/img
0728./DailyPics/wp-polls/tinymce/plugins/polls
0832./DailyPics/wp-polls/tinymce/plugins
0936./DailyPics/wp-polls/tinymce
10580./DailyPics/wp-polls
111456./DailyPics
1236./Plugins/wordpress-author-box
1316180./Plugins
1412./MayArticles2013/XtremeDownloadManager
154632./MayArticles2013/XCache
31.命令:
rm
‘rm’标准移除命令。
rm可以用来删除文件和目录。
删除目录
viewsource
1root@tecmint:
~#rmPassportApplicationForm_Main_English_V1.0
2rm:
cannotremove`PassportApplicationForm_Main_English_V1.0':
Isad