命令總結(jié)之系統(tǒng)篇第一章

命令總結(jié)之系統(tǒng)篇

  • 更新時間:2017年6月11日
    -由于資料過多可能會分很多篇章

alias

功能說明:設(shè)置命令的別名。
語  法:alias[別名]=[指令名稱]
參  數(shù) :若不加任何參數(shù)召庞,則列出目前所有的別名設(shè)置
說明:用戶可利用alias,自定指令的別名题画。若僅輸入alias,則可列出目前所有的別名設(shè)置德频∮こ蹋 alias的效力僅及于該次登入的操作。若要每次登入是即自動設(shè)好別名抱婉,可在/etc/profile或自己的~/.bashrc中設(shè)定指令的別名档叔。

[root@localhost ~]# alias ty=ls        #為ls設(shè)置別名
[root@localhost ~]# ty -al             #別名
總用量 5
drwxr-xr-x 4 tnak tnak 4096  4月 27 14:20 .
drwxr-xr-x 4 root root 4096  4月 27 12:34 ..
-rw-r--r-- 1 root root  255  4月 26 12:44 abc.sh
drwxr-xr-x 2 root root 4096  4月 26 13:44 ar_test
[root@localhost ~]# alias yy='ls -ar'  #設(shè)置別名,可以是命令帶參數(shù)

unalias

unalias
功能說明:刪除別名蒸绩。
  語  法:unalias [-a][別名]
  參  數(shù):
  -a  刪除全部的別名

[root@localhost ~]# unalias ty             #刪除別名
[root@localhost ~]# database]$ unalias -a   #刪除全部的別名

bc

bc 命令:Linux簡單的計算器,能進行進制轉(zhuǎn)換與計算衙四。能轉(zhuǎn)換的進制包括十六進制、十進制患亿、八進制传蹈、二進制等〔脚海可以使用的運算符號包括(+)加法惦界、(-)減法、(*)乘法咙冗、(/)除法沾歪、(^)指數(shù)、(%)余數(shù)

   參數(shù)
   -h, --help
          幫助

   -i, --interactive
          強制交互模式

   -l, --mathlib
          加載強大的數(shù)學庫

   -w, --warn
          發(fā)出警告

   -s, --standard
          嚴格按照posix bc標準

   -q, --quiet
          不輸出任何信息

   -v, --version
          查看版本
互動式的數(shù)學運算

[root@localhost ~]# bc             
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
4+5                #加
9
34%7               #求余
6
7^2+1.09*12        #比較復(fù)雜一點的數(shù)學運算
62.08
quit               #退出
互動式的進制換算

[root@localhost ~]# bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 

obase=16        #16進制
14
E
obase=7         #7進制
10
13
9
12
quit
非互動式的運算

[root@localhost ~]# echo "1+1" |bc            #加法
2
[root@localhost ~]# echo 'obase=2; 12'|bc     #轉(zhuǎn)換成2進制
1100
[root@localhost ~]# echo 'obase=2; 5^2'|bc    #運算結(jié)果轉(zhuǎn)換成2進制
11001
[root@localhost ~]# echo 'obase=2; ibase=9; 2301'|bc   #9進制轉(zhuǎn)換成2進制
11010100110

chvt

chvt - 修改虛擬終端的前臺環(huán)境,Ctrl+Alt+Fn ,這個n就是你要切換的虛擬終端的號雾消,然后可以再按Ctrl+Alt+F7回到圖形界面

[root@localhost ~]# chvt 1      #想切換到tty1灾搏,也就是一號終端 
[root@localhost ~]# chvt 7      #回到桌面

clock . hwclock

clock 命令:設(shè)置或者顯示硬件時間的近似值
必要參數(shù)
--adjust 自動調(diào)整硬件時鐘時間
--debug 運行時,輸出詳細的處理過程
--directisa 不通過設(shè)備文件/etc/rtc立润,直接對硬件時鐘進行存取
--getepoch 輸出硬件時鐘的數(shù)值到標準輸出
--hctosys 時鐘同步狂窑,使系統(tǒng)時鐘和硬件時鐘同步
--se--date 設(shè)置硬件時間
--show 顯示硬件時鐘到標準輸出
--systohc 系統(tǒng)時間寫入硬件時鐘
--test 進行測試
--utc 將硬件時鐘的時間設(shè)置為UTC
選擇參數(shù)
-setepoch-epoch=<年份> 設(shè)置硬件時鐘的年份
--version 顯示版本信息

[root@localhost ~]#  clock                #顯示硬件時鐘時間
2013年05月04日 星期六 14時24分37秒  -0.019069 seconds

[root@localhost ~]#  clock --utc          #顯示utc硬件時鐘時間
2013年05月04日 星期六 22時24分50秒  -0.000655 seconds

[root@localhost ~]# clock --set --date="05/04/2013 14:30:01"    #設(shè)置硬件時鐘時間

[root@localhost ~]# clock
2013年05月04日 星期六 14時30分06秒  -0.000904 seconds

df

  • df - 報告文件系統(tǒng)磁盤空間的使用情況 \
[root@localhost ~]# df     #列出各文件系統(tǒng)的磁盤空間使用情況

[root@localhost ~]# df -ia    #列出各文件系統(tǒng)ionde使用情況

[root@localhost ~]# df -T    #列出文件系統(tǒng)的類型

[root@localhost ~]# df -h    #目前磁盤空間和使用情況 以更易讀的方式顯示

[root@localhost ~]# df -k    #以單位顯示磁盤的使用情況

[root@localhost ~]#  df -h --total    #顯示所有文件系統(tǒng)的磁盤使用情況匯總
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root  356G   45G  293G  14% /
tmpfs                         3.9G   68K  3.9G   1% /dev/shm
/dev/sda1                     485M   40M  420M   9% /boot
/dev/mapper/VolGroup-lv_home   84G   27G   54G  33% /home
/dev/mapper/VolGroup-mytest    15G  166M   14G   2% /mnt/mytest
total                         459G   72G  365G  17%

[root@localhost ~]#  df -t ext4   #顯示ext4系統(tǒng)類型的信息
Filesystem                   1K-blocks     Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root 373083968 47049784 307086592  14% /
/dev/sda1                       495844    40339    429905   9% /boot
/dev/mapper/VolGroup-lv_home  87730488 27407812  55866232  33% /home
/dev/mapper/VolGroup-mytest   15481840   169460  14525948   2% /mnt/mytest
[root@localhost ~]#  df -x ext3  #打印除 ext3 外所有的文件系統(tǒng)
Filesystem                   1K-blocks     Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root 373083968 47049796 307086580  14% /
tmpfs                          3988852       68   3988784   1% /dev/shm
/dev/sda1                       495844    40339    429905   9% /boot
/dev/mapper/VolGroup-lv_home  87730488 27407812  55866232  33% /home
/dev/mapper/VolGroup-mytest   15481840   169460  14525948   2% /mnt/mytest

dirname

  • 顯示指定路徑除了文件名之外的路徑前綴
[root@localhost ~]#dirname /home/tank/test.bz2 
/home/tank

date

  • 打印或設(shè)置系統(tǒng)日期和時間
    根據(jù)指定格式顯示當前時間或設(shè)置系統(tǒng)時間.

-d, --date=STRING
顯示由 STRING 指定的時間, 而不是當前時間
-f, --file=DATEFILE
顯示 DATEFILE 中每一行指定的時間, 如同將 DATEFILE 中的每行作為 --date 的參數(shù)一樣

-I, --iso-8601[=TIMESPEC] 按照 ISO-8601 的日期/時間格式輸出時間. 

TIMESPEC=`date' (或者不指定時)僅輸出日期,等于 `hours', `minutes', 或`seconds' 時按照指定精度輸出日期及時間. 

-r, --reference=FILE
顯示 FILE 的最后修改時間
-R, --rfc-822
根據(jù) RFC-822 指定格式輸出日期
-s, --set=STRING
根據(jù) STRING 設(shè)置時間
-u, --utc, --universal
顯示或設(shè)置全球時間(格林威治時間)
--help
顯示本幫助文件并退出
--version
顯示版本信息并退出
格式 FORMAT 控制著輸出格式. 僅當選項指定為全球時間時本格式才有效。 分別解釋如下:
%%
文本的 %
%a
當前區(qū)域的星期幾的簡寫 (Sun..Sat)
%A
當前區(qū)域的星期幾的全稱 (不同長度) (Sunday..Saturday)
%b
當前區(qū)域的月份的簡寫 (Jan..Dec)
%B
當前區(qū)域的月份的全稱(變長) (January..December)
%c
當前區(qū)域的日期和時間 (Sat Nov 04 12:02:33 EST 1989)
%d
(月份中的)幾號(用兩位表示) (01..31)
%D
日期(按照 月/日期/年 格式顯示) (mm/dd/yy)
%e
(月份中的)幾號(去零表示) ( 1..31)
%h
同 %b
%H
小時(按 24 小時制顯示桑腮,用兩位表示) (00..23)
%I
小時(按 12 小時制顯示泉哈,用兩位表示) (01..12)
%j
(一年中的)第幾天(用三位表示) (001..366)
%k
小時(按 24 小時制顯示,去零顯示) ( 0..23)
%l
小時(按 12 小時制顯示,去零表示) ( 1..12)
%m
月份(用兩位表示) (01..12)
%M
分鐘數(shù)(用兩位表示) (00..59)
%n
換行
%p
當前時間是上午 AM 還是下午 PM
%r
時間,按 12 小時制顯示 (hh:mm:ss [A/P]M)
%s
從 1970年1月1日0點0分0秒到現(xiàn)在歷經(jīng)的秒數(shù) (GNU擴充)
%S
秒數(shù)(用兩位表示)(00..60)
%t
水平方向的 tab 制表符
%T
時間,按 24 小時制顯示(hh:mm:ss)
%U
(一年中的)第幾個星期丛晦,以星期天作為一周的開始(用兩位表示) (00..53)
%V
(一年中的)第幾個星期巨缘,以星期一作為一周的開始(用兩位表示) (01..52)
%w
用數(shù)字表示星期幾 (0..6); 0 代表星期天
%W
(一年中的)第幾個星期,以星期一作為一周的開始(用兩位表示) (00..53)
%x
按照 (mm/dd/yy) 格式顯示當前日期
%X
按照 (%H:%M:%S) 格式顯示當前時間
%y
年的后兩位數(shù)字 (00..99)
%Y
年(用 4 位表示) (1970...)
%z
按照 RFC-822 中指定的數(shù)字時區(qū)顯示(如, -0500) (為非標準擴充)
%Z
時區(qū)(例如, EDT (美國東部時區(qū))), 如果不能決定是哪個時區(qū)則為空

默認情況下,用 0 填充數(shù)據(jù)的空缺部分. GNU 的 date 命令能分辨在 `%'和數(shù)字指示之間的以下修改.

`-' (連接號) 不進行填充 `_' (下劃線) 用空格進行填充 
[root@localhost ~]#date               #顯示日期和時間
2013年 05月 04日 星期六 14:35:33 CST

[root@localhost ~]# date -s '14:35:40' #設(shè)置時間
2013年 05月 04日 星期六 14:35:40 CST
[root@localhost ~]# date +%m%d%H%M%S
0819150511

[root@localhost ~]#date 0819150511
Fri Aug 19 15:05:00 EST 2011
#date -s //設(shè)置當前時間采呐,只有root權(quán)限才能設(shè)置,其他只能查看搁骑。

#date -s 20061010 //設(shè)置成20061010斧吐,這樣會把具體時間設(shè)置成空00:00:00

#date -s 12:23:23 //設(shè)置具體時間,不會對日期做更改

#date -s "12:12:23 2006-10-10″ //這樣可以設(shè)置全部時間
[root@localhost ~]#date -d "20150305" +%s   #時間轉(zhuǎn)時間戳
1425484800

[root@localhost ~]# date -d '1970-01-01 UTC 1425484800 seconds'   #時間戳轉(zhuǎn)時間
2015年 03月 05日 星期四 00:00:00 CST
[root@localhost ~]# date +%Y%m%d   #獲取當前日期格式為yyyymmdd
20150410

[root@localhost ~]# date -d "1 day ago" +"%Y%m%d"   #獲取前一天的日期格式為yyyymmdd
20150409
# date +%Y%m%d         #顯示前天年月日
# date +%Y%m%d --date="+1 day"  #顯示前一天的日期
# date +%Y%m%d --date="-1 day"  #顯示后一天的日期
# date +%Y%m%d --date="-1 month"  #顯示上一月的日期
# date +%Y%m%d --date="+1 month"  #顯示下一月的日期
# date +%Y%m%d --date="-1 year"  #顯示前一年的日期
# date +%Y%m%d --date="+1 year"  #顯示下一年的日期
# date -s      #設(shè)置當前時間仲器,只有root權(quán)限才能設(shè)置煤率,其他只能查看。
# date -s 20080523      #設(shè)置成20080523乏冀,這樣會把具體時間設(shè)置成空00:00:00
# date -s 01:01:01      #設(shè)置具體時間蝶糯,不會對日期做更改
# date -s “01:01:01 2008-05-23″      #這樣可以設(shè)置全部時間
# date -s “01:01:01 20080523″      #這樣可以設(shè)置全部時間
# date -s “2008-05-23 01:01:01″      #這樣可以設(shè)置全部時間
# date -s “20080523 01:01:01″       #這樣可以設(shè)置全部時間
# date -d "2015-11-15 23:00:01" 
Mon Nov 15 23:00:01 PST 2015

# date -d "2015/11/15 23:0:2" 
Mon Nov 15 23:00:02 PST 2015

# date -d "2015/11/15T23:0:2" 
Mon Nov 15 08:00:02 PST 2015

# echo "2015-11-15 23:00:01" > date.txt 
# echo "2015/11/15 23:00:02" >> date.txt 
# cat date.txt 
2015-11-15 23:00:01
2015/11/15 23:00:02

# date -f date.txt 
Mon Nov 15 23:00:01 PST 2015
Mon Nov 15 23:00:02 PST 2015

# date -r date.txt 
Mon Nov 15 21:14:36 PST 2015

# date -I 
2015-11-15

# date -Ihours 
2015-11-15T21-0800

# date -Iminutes 
2015-11-15T21:16-0800

# date -Iseconds 
2015-11-15T21:16:24-0800

# date -R 
Mon, 15 Nov 2015 21:47:08 -0800

# date -u 
Tue Nov 16 05:47:13 UTC 2015

# date +"Today is %A." 
Today is Monday.

# date +"Date:%b. %e, %G" 
Date:Nov. 15, 2015

# date +"Date: %b.%e, %G" 
Date: Nov.15, 2015

# date +"%x %X" 
11/15/2015 09:50:21 PM

# date +"%Y-%m-%d %H:%M:%S" 
2015-11-15 21:51:32

# date +"%Y-%m-%d %I:%M:%S %p" 
2015-11-15 09:51:55 PM

echo

  • 顯示一行文本
[root@localhost ~]#echo "11111" #輸出11111
[root@localhost ~]#echo -n "11111" #輸出11111,不帶尾部回車
/home/test/etc> echo The back-up files are: *.bak     #可以使用模式匹配,通配符辆沦,正則匹配
The back-up files are: 0001.bak 0028.bak 0085.bak 0111.bak
[root@localhost ~]# echo -e "a\nb\nc"   
a
b
c

enable

enable命令Shell內(nèi)建命令 enable命令用于臨時關(guān)閉或者激活指定的shell內(nèi)部命令昼捍。若要執(zhí)行的文件名稱與shell內(nèi)建命令相同,可用enable -n來關(guān)閉shell內(nèi)建命令肢扯。若不加-n選項妒茬,enable可重新啟動關(guān)閉的命令

linux shell命令執(zhí)行時,shell總是先在自己的shell builtin中查找該命令蔚晨,如果找到則執(zhí)行該命令乍钻;如果找不到該命令,則會從環(huán)境變量$PATH指定的路徑中依次去查找待執(zhí)行的命令铭腕。因為了解了這一點银择,所以看起來好像沒有辦法編寫用戶自己的命令來替代shell builtin命令。幸運的是累舷,有了enable命令我們就能做到了
參數(shù):
-n:關(guān)閉指定的內(nèi)部命令浩考;
-a:顯示所有激活的內(nèi)部命令;
-f:從指定文件中讀取內(nèi)部命令被盈。

[root@localhost ~]# enable -a    #顯示所有激活的內(nèi)部命令
enable .
enable :
enable [
enable alias
enable bg
enable bind
enable break
enable builtin
enable caller

exit

  • 各種退出
[root@localhost ~]# exit    #退出當前用戶怀挠,返回上一個用戶
exit
[root@localhost ~]#

logout

  • 用戶退出系統(tǒng),其功能和login命令對應(yīng)
[root@localhost ~]# logout

free

命令顯示系統(tǒng)使用和空閑的內(nèi)存情況害捕,包括物理內(nèi)存绿淋、交互區(qū)內(nèi)存(swap)和內(nèi)核緩沖區(qū)內(nèi)存
-b 顯示內(nèi)存的單位為字節(jié)
-k 顯示內(nèi)存的單位為 KB
-m 顯示內(nèi)存的單位為 M
-o 忽略緩沖區(qū)調(diào)節(jié)列
-t 總和信息
-s<時間> 每隔指定時間執(zhí)行一次命令,單位為s
-h 以可讀形式顯示容量尝盼,需要free -V顯示版本大于3.3
-V 版本信息

[root@localhost ~]#free -s 3     #每3秒執(zhí)行一次
             total       used       free     shared    buffers     cached
Mem:        508176     353360     154816          0      63580     231656
-/+ buffers/cache:      58124     450052
Swap:       521212          0     521212

             total       used       free     shared    buffers     cached
Mem:        508176     353368     154808          0      63580     231656
-/+ buffers/cache:      58132     450044
Swap:       521212          0     521212

^C
[root@localhost ~]# free -m       #以M為單位
             total       used       free     shared    buffers     cached
Mem:           496        345        151          0         62        226
-/+ buffers/cache:         56        439
Swap:          508          0        508

[root@localhost ~]# free -k       #以K為單位
             total       used       free     shared    buffers     cached
Mem:        508176     353360     154816          0      63580     231656
-/+ buffers/cache:      58124     450052
Swap:       521212          0     521212
[root@localhost ~]#free -h
             total       used       free     shared    buffers     cached
Mem:          7.8G       6.6G       1.1G         0B        88M       3.7G
-/+ buffers/cache:       2.8G       4.9G
Swap:         7.8G         0B       7.8G

hostname

  • 用來顯示或者設(shè)置當前系統(tǒng)的主機名吞滞,主機名被許多網(wǎng)絡(luò)程序使用,來標識主機。

-a,--alias
顯示主機的別名(如果使用了的話).
-d,--domain
顯示DNS域名.不要使用命令 domainname 來獲得DNS域名,因為這會顯示NIS域名而非DNS域名.可使用 dnsdomainname 替換之.
-F,--file filename
從指定文件中讀取主機名.注釋(以一個`#'開頭的行)可忽略.
-f,--fqdn,--long
顯示FQDN(完全資格域名).一個FQDN包括一個短格式主機名和DNS域名.除非你正在使用bind或 者NIS來作主機查詢,否則你可以在/etc/hosts文件中修改FQDN和DNS域名(這是FQDN的一 部分).
-h,--help
打印用法信息并退出.
-i,--ip-address
顯示主機的IP地址(組).
-n,--node
顯示DECnet節(jié)點名.如果指定了參數(shù)(或者指定了 --file name ),那么root也可以設(shè)置一個新的節(jié)點名.
-s,--short
顯示短格式主機名.這是一個去掉第一個圓點后面部分的主機名.
-V,--version
在標準輸出上打印版本信息并以成功的狀態(tài)退出.
-v,--verbose
詳盡說明并告知所正在執(zhí)行的.
-y,--yp,--nis
顯示NIS域名.如果指定了參數(shù)(或者指定了 --file name ),那么root也可以設(shè)置一個新的NIS域.

[root@localhost ~]#hostname    #顯示主機名
hnlinux

[root@localhost ~]#hostname -s #顯示短主機名
localhost

[root@localhost ~]# hostname -a #顯示主機別名
localhost

[root@localhost ~]#hostname -i #顯示主機IP地址
127.0.0.1

[root@localhost ~]#hostname -d #顯示主機域名
localdomain

[root@localhost ~]#hostname -y #顯示NIS/YP域名
(none)

[root@localhost ~]#hostname apple #設(shè)置主機名稱
[root@localhost ~]#hostname
apple

hexdump

可用參數(shù)
[-bcCdovx] [-e format_string] [-f format_file] [-n length] [-s skip] file ...
參數(shù)含義
-b 單字節(jié)八進制顯示裁赠,十六進制顯示偏移量殿漠,每行顯示16個字符,每字符用三位顯示佩捞,不足補零绞幌,列間以空格分隔
-c 單字節(jié)字符顯示,十六進制顯示偏移量一忱,每行顯示16個字符莲蜘,每字符三位顯示,不足補空格帘营,列間以空格分隔
-C 標準十六進制+ascii碼顯示票渠,十六進制顯示偏移量,每行16個字符芬迄,每字符兩位顯示问顷,不足補0,結(jié)尾顯示當前16位數(shù)據(jù)的ascii碼值禀梳,以|框住
-d 雙字節(jié)十進制顯示杜窄,十六進制顯示偏移量,每行8組(16字節(jié))每組5位算途,不足補零羞芍,列間以空格分隔,以無符號10進制數(shù)值顯示
-e 指定格式字符串郊艘,格式字符串包含在一對單引號中荷科,格式字符串形如:'a/b "format1" "format2"'
-f 根據(jù)format file中的格式進行輸出,忽略formatfile中空行及以#開始的行會
-n length 只顯示length個字節(jié)的數(shù)據(jù)
-o 雙字節(jié)八進制顯示纱注。十六進制顯示偏移量畏浆,每行8組數(shù)據(jù),每數(shù)據(jù)占兩字節(jié)狞贱,6列刻获,不足補零,以空格分隔
-s offset 跳過從開始的offset個字節(jié)瞎嬉,默認輸入十進制蝎毡,以0x或0X開始按16進制處理,否則如以0開始按八進制處理氧枣,如果以b/k/m結(jié)尾沐兵,則原數(shù)值乘以512/1024/1048576
-v 顯示所有數(shù)據(jù),如果不包含這一選項便监,對于同上一行完全相同的數(shù)據(jù)扎谎,hexdump會以*代替顯示
-x 兩位十六進制顯示.十六進制顯示偏移量碳想,每行8組數(shù)據(jù),每數(shù)據(jù)占兩字節(jié)毁靶,4列胧奔,不足補零,以空格分隔

每個格式字符串由三部分組成预吆,每個由空格分隔龙填,第一個形如a/b,b表示對每b個輸入字節(jié)應(yīng)用format1格式拐叉,a表示對每a個輸入字節(jié)應(yīng)用format2格式岩遗,一般a>b,且b只能為1巷嚣,2,4钳吟,另外a可以省略廷粒,省略則a=1。format1和format2中可以使用類似printf的格式字符串红且,如:
%02d:兩位十進制
%03x:三位十六進制
%02o:兩位八進制
%c:單個字符等

還有一些特殊的用法:
%_ad:標記下一個輸出字節(jié)的序號坝茎,用十進制表示
%_ax:標記下一個輸出字節(jié)的序號,用十六進制表示
%_ao:標記下一個輸出字節(jié)的序號暇番,用八進制表示

%_p:對不能以常規(guī)字符顯示的用.代替
同一行如果要顯示多個格式字符串嗤放,則可以跟多個-e選項

[root@localhost ~]#echo /etc/passwd | hexdump  
0000000 652f 6374 702f 7361 7773 0a64          
000000c

[root@localhost ~]#echo /etc/passwd | od -x  
0000000 652f 6374 702f 7361 7773 0a64
0000014

[root@localhost ~]#echo /etc/passwd | xxd  
0000000: 2f65 7463 2f70 6173 7377 640a            /etc/passwd.

[root@localhost ~]#echo /etc/passwd | hexdump -C       #規(guī)范的十六進制和ASCII碼顯示
00000000  2f 65 74 63 2f 70 61 73  73 77 64 0a              |/etc/passwd.|
0000000c

[root@localhost ~]#echo /etc/passwd | hexdump -b       #單字節(jié)八進制顯示
0000000 057 145 164 143 057 160 141 163 163 167 144 012                
000000c

[root@localhost ~]#echo /etc/passwd | hexdump -c       #單字節(jié)字符顯示
0000000   /   e   t   c   /   p   a   s   s   w   d  \n                
000000c

[root@localhost ~]#echo /etc/passwd | hexdump -d       #雙字節(jié)十進制顯示
0000000   25903   25460   28719   29537   30579   02660                
000000c

[root@localhost ~]# echo /etc/passwd | hexdump -o        #雙字節(jié)八進制顯示
0000000  062457  061564  070057  071541  073563  005144                
000000c

[root@localhost ~]#echo /etc/passwd | hexdump -x        #雙字節(jié)十六進制顯示
0000000    652f    6374    702f    7361    7773    0a64                
000000c

[root@localhost ~]#echo /etc/passwd | hexdump -v  
0000000 652f 6374 702f 7361 7773 0a64          
000000c

history

  • history 命令可以用來顯示曾執(zhí)行過的命令,也可以根據(jù)顯示的治療來重新執(zhí)行需要的命令

n 顯示n個最近的記錄
-a 添加記錄
-r 讀取記錄壁酬,但不會添加內(nèi)容記錄
-w 覆蓋原有的history 文件
-c 清除記錄
-d<編號>[n] 刪除指定n條記錄
-n<文件> 讀取指定文件
-r<文件> 讀取文件但不記錄
-w<文件> 覆蓋原有文件

[root@localhost ~]# history        #查看所有執(zhí)行過的命令
    1  ls
    2  pwd
    3  fc -l
    4  history 
    
[root@localhost ~]# history 2      #顯示2條
    4  history 
    5  history 2
    
[root@localhost ~]#!4             #執(zhí)行編號是4的命令次酌,注意感嘆號
history 
    1  ls
    2  pwd
    3  fc -l
    4  history 
    5  history 2
    6  history 
    
[root@localhost ~]# history -c    #清除歷史記錄
!$ 引用前一個命令的最后一個參數(shù)


[root@localhost ~]#ls -all
總用量 1060
drwxrwxr-x. 15 tank tank    4096 8月   6 16:26 .
drwx------. 60 tank tank    4096 8月  15 16:13 ..
-rw-r--r--   1 root root    2466 7月  23 18:02 1.html
drwxr-xr-x   7 tank tank    4096 7月  17 03:02 ckeditor
drwxr-xr-x.  2 tank tank    4096 5月  29 00:08 database

[tank@localhost workspace]$ !$         #取得-all
-all
bash: -all: command not found
[root@localhost ~]# ! -N             #執(zhí)行倒數(shù)第N條命令

[root@localhost ~]#!!               #執(zhí)行上一條命令

hash

  • hash 命令:用來顯示和清除哈希表,執(zhí)行命令的時候舆乔,系統(tǒng)將先查詢哈希表岳服。

必要參數(shù)
-l 顯示哈希表
-r 清除哈希表
-d<名稱> 清除哈希表
-p<路徑> 向哈希表中增加內(nèi)容
-t<命令> 顯示命令的完整路徑

[root@localhost ~]#hash -l    #顯示哈希表 
builtin hash -p /usr/sbin/fbset fbset
builtin hash -p /bin/df df
builtin hash -p /usr/bin/quota quota
builtin hash -p /usr/bin/du du
builtin hash -p /sbin/e2fsck e2fsck
builtin hash -p /bin/uname uname
builtin hash -p /bin/ls ls

[root@localhost ~]#hash -t df  #顯示df命令的完整路徑
/bin/df

[root@localhost ~]#hash -p /usr/bin/halt halt #向哈希表中增加 halt 

[root@localhost ~]#hash -r    #清空hash表
[root@localhost ~]#hash
hits    command
   7    /usr/bin/ldd
   2    /usr/bin/last
   4    /sbin/chkconfig
   1    /bin/sh
   1    /bin/uname
   4    /bin/ls

lscpu

  • 查看 CPU 信息

主要參數(shù):
-h, --help 顯示幫助信息
-p, --parse <list> 打印出可讀的格式,而不是一個可解析格式
-s, --sysroot <dir> 指定系統(tǒng)根目錄
-x, --hex 打印十六進制數(shù)

 [root@localhost ~]# lscpu    
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    2
Core(s) per socket:    2
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 58
Stepping:              9
CPU MHz:               1600.000
BogoMIPS:              6786.67
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              3072K
NUMA node0 CPU(s):     0-3

lsblk

  • 列出所有的塊設(shè)備希俩,而且還能顯示他們之間的依賴關(guān)系

參數(shù):
-a, --all 顯示所有設(shè)備
-b, --bytes 以bytes方式顯示設(shè)備大小
-d, --nodeps 不顯示 slaves 或 holders
-D, --discard print discard capabilities
-e, --exclude <list> 排除設(shè)備 (default: RAM disks)
-f, --fs 顯示文件系統(tǒng)信息
-h, --help 顯示幫助信息
-i, --ascii use ascii characters only
-m, --perms 顯示權(quán)限信息
-l, --list 使用列表格式顯示
-n, --noheadings 不顯示標題
-o, --output <list> 輸出列
-P, --pairs 使用key="value"格式顯示
-r, --raw 使用原始格式顯示
-t, --topology 顯示拓撲結(jié)構(gòu)信息

[root@localhost ~]# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 232.9G  0 disk 
├─sda1   8:1    0  46.6G  0 part /
├─sda2   8:2    0     1K  0 part 
├─sda5   8:5    0   190M  0 part /boot
├─sda6   8:6    0   3.7G  0 part [SWAP]
├─sda7   8:7    0  93.1G  0 part /data
└─sda8   8:8    0  89.2G  0 part /personal
sr0     11:0    1  1024M  0 rom

ntpdate

  • 使用網(wǎng)絡(luò)計時協(xié)議(NTP)設(shè)置日期和時間吊宋。此命令僅應(yīng)用于 AIX 4.2 或后期版本

語法:

ntpdate [ -b] [ -d] [ -s] [ -u] [ -aKeyid] [ -eAuthenticationDelay] [ -kKeyFile] [ -oVersion] [ -pSamples] [ -tTimeOut] Server...

描述:

通過輪詢指定的確定正確時間的 NTP 服務(wù)器, ntpdate 命令設(shè)置本地日期和時間颜武。它從指定的每個服務(wù)器獲得了一些樣本璃搜,并應(yīng)用標準 NTP 時鐘過濾器和選擇算法來選擇最好的樣本。

此 ntpdate 命令使用以下方法進行時間調(diào)整:

如果它確定時鐘偏差超過 0.5 秒鳞上,它通過調(diào)用 settimeofday 子例程設(shè)置時鐘時間这吻。在引導時間,這是一個首選的方法篙议。
如果它確定時鐘偏差小于 0.5 秒橘原,它通過調(diào)用 adjtime 子例程和偏移量來調(diào)整時鐘時間。此方法傾向于用犧牲一些穩(wěn)定性來保持漂移時鐘更加準確。 當不是通過運行一個守護程序而是從 cron 命令有規(guī)則的運行 ntpdate 命令時趾断,每一小時或兩小時執(zhí)行一次可以保證足夠的走時精度拒名,從而避免調(diào)整時鐘。

注意事項:
使用很多服務(wù)器可以大幅度改善 ntpdate 命令的可靠性與精度芋酌。盡管能使用單一服務(wù)器增显,但您能通過提供至少三個或四個服務(wù)器以獲得更好的性能。
如果一個類似 xntpd 守護程序的 NTP 服務(wù)器守護程序正在同一主機上運行脐帝,命令將拒絕 ntpdate 設(shè)置日期同云。
你必須有 root 權(quán)限才能在主機上運行這個命令。

參數(shù):
-aKeyid 使用 Keyid 來認證全部數(shù)據(jù)包堵腹。
-b 通過調(diào)用 settimeofday 子例程來增加時鐘的時間炸站。
-d 指定調(diào)試方式慨蓝。判斷 ntpdate 命令會產(chǎn)生什么結(jié)果(不產(chǎn)生實際的結(jié)果)碟刺。結(jié)果再現(xiàn)在屏幕上。這個標志使用無特權(quán)的端口建丧。
-eAuthenticationDelay 指定延遲認證處理的時間秒數(shù)腿堤。
-kKeyFile 當不使用缺省值 /etc/ntp.keys 文件時阀坏,為包含密鑰的文件指定一個不同的名稱。 請參閱文件KeyFile的描述笆檀。
-oVersion 當輪詢它的發(fā)出數(shù)據(jù)包時忌堂,指定使用的 NTP 版本實現(xiàn)。 Version 的值可以是 1酗洒,2士修,3。缺省值是 3樱衷。
-pSamples 指定從每個服務(wù)器獲取的樣本的數(shù)目李命。 Samples 的值在 1 和 8 之間,并包括 1 和 8箫老。它的缺省值是 4封字。
-s 指定日志操作 syslog 設(shè)施的使用,而不是使用標準輸出耍鬓。 當運行 ntpdate 命令和 cron 命令時阔籽,它是很有用的。
-tTimeOut 指定等待響應(yīng)的時間牲蜀。給定 TimeOut 的值四舍五入為 0.2 秒的倍數(shù)笆制。缺省值是 1 秒。
-u 指定使用無特權(quán)的端口發(fā)送數(shù)據(jù)包涣达。 當在一個對特權(quán)端口的輸入流量進行阻攔的防火墻后是很有益的在辆, 并希望在防火墻之外和主機同步证薇。防火墻是一個系統(tǒng)或者計算機,它控制從外網(wǎng)對專用網(wǎng)的訪問匆篓。

 [root@localhost ~]#  ntpdate time.twc.weather.com   #同步時間
 4 Jun 14:31:53 ntpdate[20219]: step time server 65.212.71.102 offset -127.017619 sec

nc

  • 功能說明:功能強大的網(wǎng)絡(luò)工具

語  法:nc [-hlnruz][-g<網(wǎng)關(guān)...>][-G<指向器數(shù)目>][-i<延遲秒數(shù)>][-o<輸出文件>][-p<通信端口>][-s<來源位址>][-v...][-w<超時秒數(shù)>][主機名稱][通信端口...]
參  數(shù):
-g<網(wǎng)關(guān)> 設(shè)置路由器躍程通信網(wǎng)關(guān)浑度,最多可設(shè)置8個。
-G<指向器數(shù)目> 設(shè)置來源路由指向器鸦概,其數(shù)值為4的倍數(shù)箩张。
-h 在線幫助。
-i<延遲秒數(shù)> 設(shè)置時間間隔窗市,以便傳送信息及掃描通信端口先慷。
-l 使用監(jiān)聽模式,管控傳入的資料咨察。
-n 直接使用IP地址论熙,而不通過域名服務(wù)器。
-o<輸出文件> 指定文件名稱摄狱,把往來傳輸?shù)臄?shù)據(jù)以16進制字碼傾倒成該文件保存脓诡。
-p<通信端口> 設(shè)置本地主機使用的通信端口。
-r 亂數(shù)指定本地與遠端主機的通信端口二蓝。
-s<來源位址> 設(shè)置本地主機送出數(shù)據(jù)包的IP地址誉券。
-u 使用UDP傳輸協(xié)議指厌。
-v 顯示指令執(zhí)行過程刊愚。
-w<超時秒數(shù)> 設(shè)置等待連線的時間。
-z 使用0輸入/輸出模式踩验,只在掃描通信端口時使用鸥诽。

端口掃描


[root@localhost ~]# nc -v -w 2 192.168.1.34 -z 21-24            
nc: connect to 192.168.2.34 port 21 (tcp) failed: Connection refused
Connection to 192.168.2.34 22 port [tcp/ssh] succeeded!
nc: connect to 192.168.2.34 port 23 (tcp) failed: Connection refused
nc: connect to 192.168.2.34 port 24 (tcp) failed: Connection refused
傳文件


[root@localhost ~]# nc -l 1234 > test.txt    #192.168.1.10
[root@ubuntu zhangy]# nc 192.168.2.34 < test.txt   #192.168.1.11
簡單聊天工具

[root@localhost ~]# nc -l 1234          #192.168.1.10 開啟端口
[root@localhost ~]#nc 192.168.2.34 1234    #192.168.1.11連接端口
建立從本地1234端口到host.example.com的80端口連接,5秒超時

[root@localhost ~]# nc -p 1234 -w 5 blog.51yip.com 80
u為UDP連接


[root@localhost ~]# nc -u 192.168.1.102 53
模擬HTTP Headers


[root@localhost ~]# nc blog.51yip.com 80

rz

    1. 工具說明

在SecureCRT這樣的ssh登錄軟件里, 通過在Linux界面里輸入rz/sz命令來上傳/下載文件. 對于RHEL5, rz/sz默認沒有安裝所以需要手工安裝.

sz: 將選定的文件發(fā)送(send)到本地機器;
rz:運行該命令會彈出一個文件選擇窗口, 從本地選擇文件上傳到服務(wù)器(receive).
下載安裝包lrzsz-0.12.20.tar.gz: http://www.ohse.de/uwe/software/lrzsz.html
2)    軟件安裝
首先通過sftp工具把安裝文件上傳到/tmp目錄下.
# cd /tmp
# tar zxvf lrzsz-0.12.20.tar.gz && cd lrzsz-0.12.20
# ./configure && make && make install
上面安裝過程默認把lsz和lrz安裝到了/usr/local/bin/目錄下, 下面創(chuàng)建軟鏈接, 并命名為rz/sz:
# cd /usr/bin
# ln -s /usr/local/bin/lrz rz
# ln -s /usr/local/bin/lsz sz
3)    使用說明
打開SecureCRT軟件 -> Options -> session options -> X/Y/Zmodem 下可以設(shè)置上傳和下載的目錄; 然后在用SecureCRT登陸linux終端的時候:
# sz filename (發(fā)送文件到客戶端,zmodem接收可以自行啟動)
# rz (從客戶端上傳文件到linux服務(wù)端)

ssh

  • ssh 用于登錄遠程主機, 并且在遠程主機上執(zhí)行命令. 它的目的是替換 rlogin 和 rsh, 同時在不安全的網(wǎng)絡(luò)之上, 兩個互不 信任的主機之間, 提供加密的, 安全的通信連接. X11 連接和任意 TCP/IP 端口均可以通過此安全通道轉(zhuǎn)發(fā)(forward).當用戶通過 連接并登錄主機 hostname 后, 根據(jù)所用的協(xié)議版本, 用戶必須通過下述方法之一向遠程主機證明他/她的身份:
參數(shù)

-a
    禁止轉(zhuǎn)發(fā)認證代理的連接.
    
-A
    允許轉(zhuǎn)發(fā)認證代理的連接. 可以在配置文件中對每個主機單獨設(shè)定這個參數(shù).
    代理轉(zhuǎn)發(fā)須謹慎. 某些用戶能夠在遠程主機上繞過文件訪問權(quán)限 (由于代理的 UNIX 域 socket), 他們可以通過轉(zhuǎn)發(fā)的連接訪問本地代理. 攻擊者不可能從代理獲得密鑰內(nèi)容, 但是他們能夠操作這些密鑰, 利用加載到代理上 的身份信息通過認證.
    
-b bind_address
    在擁有多個接口或地址別名的機器上, 指定收發(fā)接口.
    
-c blowfish|3des|des
    選擇加密會話的密碼術(shù). 3des 是默認算法. 3des (triple-des) 用三支不同的密鑰做加密-解密-加密三次運算, 被認為比較可靠. blowfish 是一種快速的分組加密術(shù)(block cipher), 非常安全, 而且速度比 3des 快的多. des 僅支持 客戶端, 目的是能夠和老式的不支持 3des 的協(xié)議第一版互操作. 由于其密碼算法上的弱點, 強烈建議避免使用.
    
-c cipher_spec
    另外, 對于協(xié)議第二版, 這里可以指定一組用逗號隔開, 按優(yōu)先順序排列的密碼術(shù). 詳見 Ciphers
    
-e ch|^ch|none
    設(shè)置 pty 會話的 escape 字符 (默認字符: `~' ) . escape 字符只在行首有效, escape 字符后面跟一個點 (`.' ) 表示結(jié)束連接, 跟一個 control-Z 表示掛起連接(suspend), 跟 escape 字符自己 表示輸出這個字符. 把這個字符設(shè)為 ``none 則禁止 escape 功能, 使會話完全透明.

-f
    要求 在執(zhí)行命令前退至后臺. 它用于當 準備詢問口令或密語, 但是用戶希望它在后臺進行. 該選項隱含了 -n 選項. 在遠端機器上啟動 X11 程序的推薦手法就是類似于 ssh -f host xterm 的命令.
    
-g
    允許遠端主機連接本地轉(zhuǎn)發(fā)的端口.
    
-i identity_file
    指定一個 RSA 或 DSA 認證所需的身份(私鑰)文件. 默認文件是協(xié)議第一版的 $HOME/.ssh/identity 以及協(xié)議第二版的 $HOME/.ssh/id_rsa 和 $HOME/.ssh/id_dsa 文件. 也可以在配置文件中對每個主機單獨指定身份文件. 可以同時使用多個 -i 選項 (也可以在配置文件中指定多個身份文件).
    
-I smartcard_device
    指定智能卡(smartcard)設(shè)備. 參數(shù)是設(shè)備文件, 能夠用它和智能卡通信, 智能卡里面存儲了用戶的 RSA 私鑰.
    
-k
    禁止轉(zhuǎn)發(fā) Kerberos 門票和 AFS 令牌. 可以在配置文件中對每個主機單獨設(shè)定這個參數(shù).
    
-l login_name
    指定登錄遠程主機的用戶. 可以在配置文件中對每個主機單獨設(shè)定這個參數(shù).
    
-m mac_spec
    另外, 對于協(xié)議第二版, 這里可以指定一組用逗號隔開, 按優(yōu)先順序排列的 MAC(消息驗證碼)算法 (message authentication code). 詳情以 MACs 為關(guān)鍵字查詢.
    
-n
    把 stdin 重定向到 /dev/null (實際上防止從 stdin 讀取數(shù)據(jù)). 在后臺運行時一定會用到這個選項. 它的常用技巧是遠程運行 X11 程序. 例如, ssh -n shadows.cs.hut.fi emacs 將會在 shadows.cs.hut.fi 上啟動 emacs, 同時自動在加密通道中轉(zhuǎn)發(fā) X11 連接. 在后臺運行. (但是如果 要求口令或密語, 這種方式就無法工作; 參見 -f 選項.)
    
-N
    不執(zhí)行遠程命令. 用于轉(zhuǎn)發(fā)端口. (僅限協(xié)議第二版)
    
-o option
    可以在這里給出某些選項, 格式和配置文件中的格式一樣. 它用來設(shè)置那些沒有命令行開關(guān)的選項.
    
-p port
    指定遠程主機的端口. 可以在配置文件中對每個主機單獨設(shè)定這個參數(shù).
    
-q
    安靜模式. 消除所有的警告和診斷信息.
    
-s
    請求遠程系統(tǒng)激活一個子系統(tǒng). 子系統(tǒng)是 SSH2 協(xié)議的一個特性, 能夠協(xié)助 其他應(yīng)用程序(如 sftp)把SSH用做安全通路. 子系統(tǒng)通過遠程命令指定.
    
-t
    強制分配偽終端. 可以在遠程機器上執(zhí)行任何全屏幕(screen-based)程序, 所以非常有用, 例如菜單服務(wù). 并聯(lián)的 -t 選項強制分配終端, 即使 沒有本地終端.
    
-T
    禁止分配偽終端.
    
-v
    冗詳模式. 使 打印關(guān)于運行情況的調(diào)試信息. 在調(diào)試連接, 認證和配置問題時非常有用. 并聯(lián)的 -v 選項能夠增加冗詳程度. 最多為三個.
    
-x
    禁止 X11 轉(zhuǎn)發(fā).
    
-X
    允許 X11 轉(zhuǎn)發(fā). 可以在配置文件中對每個主機單獨設(shè)定這個參數(shù).
    應(yīng)該謹慎使用 X11 轉(zhuǎn)發(fā). 如果用戶在遠程主機上能夠繞過文件訪問權(quán)限 (根據(jù)用戶的X授權(quán)數(shù)據(jù)庫), 他就可以通過轉(zhuǎn)發(fā)的連接訪問本地 X11 顯示器. 攻擊者可以據(jù)此采取行動, 如監(jiān)視鍵盤輸入等.
    
-C
    要求進行數(shù)據(jù)壓縮 (包括 stdin, stdout, stderr 以及轉(zhuǎn)發(fā) X11 和 TCP/IP 連接 的數(shù)據(jù)). 壓縮算法和 gzip(1) 的一樣, 協(xié)議第一版中, 壓縮級別 ``level 用 CompressionLevel 選項控制. 壓縮技術(shù)在 modem 線路或其他慢速連接上很有用, 但是在高速網(wǎng)絡(luò)上反而 可能降低速度. 可以在配置文件中對每個主機單獨設(shè)定這個參數(shù). 另見 Compression 選項.
    
-F configfile
    指定一個用戶級配置文件. 如果在命令行上指定了配置文件, 系統(tǒng)級配置文件 (/etc/ssh/ssh_config ) 將被忽略. 默認的用戶級配置文件是 $HOME/.ssh/config
    
-L port:host:hostport
    將本地機(客戶機)的某個端口轉(zhuǎn)發(fā)到遠端指定機器的指定端口. 工作原理是這樣的, 本地機器上分配了一個 socket 偵聽 port 端口, 一旦這個端口上有了連接, 該連接就經(jīng)過安全通道轉(zhuǎn)發(fā)出去, 同時遠程主機和 host 的 hostport 端口建立連接. 可以在配置文件中指定端口的轉(zhuǎn)發(fā). 只有 root 才能轉(zhuǎn)發(fā)特權(quán)端口. IPv6 地址用另一種格式說明: port/host/hostport
    
-R port:host:hostport
    將遠程主機(服務(wù)器)的某個端口轉(zhuǎn)發(fā)到本地端指定機器的指定端口. 工作原理是這樣的, 遠程主機上分配了一個 socket 偵聽 port 端口, 一旦這個端口上有了連接, 該連接就經(jīng)過安全通道轉(zhuǎn)向出去, 同時本地主機和 host 的 hostport 端口建立連接. 可以在配置文件中指定端口的轉(zhuǎn)發(fā). 只有用 root 登錄遠程主機 才能轉(zhuǎn)發(fā)特權(quán)端口. IPv6 地址用另一種格式說明: port/host/hostport
    
-D port
    指定一個本地機器 ``動態(tài)的 應(yīng)用程序端口轉(zhuǎn)發(fā). 工作原理是這樣的, 本地機器上分配了一個 socket 偵聽 port 端口, 一旦這個端口上有了連接, 該連接就經(jīng)過安全通道轉(zhuǎn)發(fā)出去, 根據(jù)應(yīng)用程序的協(xié)議可以判斷出遠程主機將和哪里連接. 目前支持 SOCKS4 協(xié)議, 將充當 SOCKS4 服務(wù)器. 只有 root 才能轉(zhuǎn)發(fā)特權(quán)端口. 可以在配置文件中指定動態(tài)端口的轉(zhuǎn)發(fā).
    
-1
    強制 只使用協(xié)議第一版.
    
-2
    強制 只使用協(xié)議第二版.
    
-4
    強制 只使用 IPv4 地址.
    
-6
    強制 只使用 IPv6 地址.
[root@localhost ~]#ssh 192.168.1.108     #當前用戶登錄遠程主機

[root@localhost ~]#ssh 192.168.1.108 -l tank   #以tank用戶登錄遠程主機
[root@localhost ~]#ssh tank@192.168.1.108 -p 2222  #指定端口登錄
[root@localhost ~]#ssh  -D 7575 tank@192.168.1.108  #通過代理登錄 
 
[root@localhost ~]#ssh 192.168.1.2 date   #遠程執(zhí)行命令

Sun Jul 29 14:07:32 EDT 2001

[root@localhost ~]#ssh-copy-id -i .ssh/id_rsa.pub 10.90.0.136   #發(fā)送公鑰

source

  • source 命令:常用于重新執(zhí)行剛修改的初始化文件箕憾。如/etc/profile 牡借, bash_profile, bashrc?通過 source命令 在不重啟的情況下生效袭异。
    source 又稱:“點命令”是一個點符號钠龙。如: abc env?來執(zhí)行腳本
[root@localhost ~]# source /etc/profile                   #執(zhí)行/etc/profile文件

shred

  • 用法:shred [選項]... 文件...
長選項必須使用的參數(shù)對于短選項時也是必需使用的。

  -f, --force 必要時修改權(quán)限以使目標可寫

  -n, --iterations=N 覆蓋N 次御铃,而非使用默認的3 次

      --random-source=文件 從指定文件中取出隨機字節(jié)

  -s, --size=N 粉碎數(shù)據(jù)為指定字節(jié)的碎片(可使用K碴里、M 和G 作為單位)

  -u, --remove 覆蓋后截斷并刪除文件

  -v, --verbose 顯示詳細信息

  -x, --exact 不將文件大小增加至最接近的塊大小

  -z, --zero 最后一次使用0 進行覆蓋以隱藏覆蓋動作

      --help 顯示此幫助信息并退出

      --version 顯示版本信息并退出
[root@localhost ~]# shred test.sh      #粉碎文件
[root@localhost ~]#shred -u test.sh   #粉碎文件,并刪除

strace

- -c 統(tǒng)計每一系統(tǒng)調(diào)用的所執(zhí)行的時間,次數(shù)和出錯的次數(shù)等. 
-d 輸出strace關(guān)于標準錯誤的調(diào)試信息. 
-f 跟蹤由fork調(diào)用所產(chǎn)生的子進程. 
-ff 如果提供-o filename,則所有進程的跟蹤結(jié)果輸出到相應(yīng)的filename.pid中,pid是各進程的進程號. 
-F 嘗試跟蹤vfork調(diào)用.在-f時,vfork不被跟蹤. 
-h 輸出簡要的幫助信息. 
-i 輸出系統(tǒng)調(diào)用的入口指針. 
-q 禁止輸出關(guān)于脫離的消息. 
-r 打印出相對時間關(guān)于,,每一個系統(tǒng)調(diào)用. 
-t 在輸出中的每一行前加上時間信息. 
-tt 在輸出中的每一行前加上時間信息,微秒級. 
-ttt 微秒級輸出,以秒了表示時間. 
-T 顯示每一調(diào)用所耗的時間. 
-v 輸出所有的系統(tǒng)調(diào)用.一些調(diào)用關(guān)于環(huán)境變量,狀態(tài),輸入輸出等調(diào)用由于使用頻繁,默認不輸出. 
-V 輸出strace的版本信息. 
-x 以十六進制形式輸出非標準字符串 
-xx 所有字符串以十六進制形式輸出. 
-a column 
設(shè)置返回值的輸出位置.默認 為40. 
-e expr 
指定一個表達式,用來控制如何跟蹤.格式如下: 
[qualifier=][!]value1[,value2]... 
qualifier只能是 trace,abbrev,verbose,raw,signal,read,write其中之一.value是用來限定的符號或數(shù)字.默認的 qualifier是 trace.感嘆號是否定符號.例如: 
-eopen等價于 -e trace=open,表示只跟蹤open調(diào)用.而-etrace!=open表示跟蹤除了open以外的其他調(diào)用.有兩個特殊的符號 all 和 none. 
注意有些shell使用!來執(zhí)行歷史記錄里的命令,所以要使用\\. 
-e trace=set 
只跟蹤指定的系統(tǒng) 調(diào)用.例如:-e trace=open,close,rean,write表示只跟蹤這四個系統(tǒng)調(diào)用.默認的為set=all. 
-e trace=file 
只跟蹤有關(guān)文件操作的系統(tǒng)調(diào)用. 
-e trace=process 
只跟蹤有關(guān)進程控制的系統(tǒng)調(diào)用. 
-e trace=network 
跟蹤與網(wǎng)絡(luò)有關(guān)的所有系統(tǒng)調(diào)用. 
-e strace=signal 
跟蹤所有與系統(tǒng)信號有關(guān)的 系統(tǒng)調(diào)用 
-e trace=ipc 
跟蹤所有與進程通訊有關(guān)的系統(tǒng)調(diào)用 
-e abbrev=set 
設(shè)定 strace輸出的系統(tǒng)調(diào)用的結(jié)果集.-v 等與 abbrev=none.默認為abbrev=all. 
-e raw=set 
將指 定的系統(tǒng)調(diào)用的參數(shù)以十六進制顯示. 
-e signal=set 
指定跟蹤的系統(tǒng)信號.默認為all.如 signal=!SIGIO(或者signal=!io),表示不跟蹤SIGIO信號. 
-e read=set 
輸出從指定文件中讀出 的數(shù)據(jù).例如: 
-e read=3,5 
-e write=set 
輸出寫入到指定文件中的數(shù)據(jù). 
-o filename 
將strace的輸出寫入文件filename 
-p pid 
跟蹤指定的進程pid. 
-s strsize 
指定輸出的字符串的最大長度.默認為32.文件名一直全部輸出. 
-u username 
以username 的UID和GID執(zhí)行被跟蹤的命令
[root@localhost ~]#strace -o output.txt -T -tt -e trace=all -p 28979

上面的含義是 跟蹤28979進程的所有系統(tǒng)調(diào)用(-e trace=all)上真,并統(tǒng)計系統(tǒng)調(diào)用的花費時間咬腋,以及開始時間(并以可視化的時分秒格式顯示),最后將記錄結(jié)果存在output.txt文件里面睡互。
[root@localhost ~]#strace -f -F -o ~/dcop-strace.txt dcopserver

這里 -f -F選項告訴strace同時跟蹤fork和vfork出來的進程根竿,-o選項把所有strace輸出寫到~/dcop-strace.txt里 面陵像,dcopserver是要啟動和調(diào)試的程序。再次出現(xiàn)錯誤之后寇壳,我檢查了錯誤輸出文件dcop-strace.txt醒颖,文件里有很多 系統(tǒng)調(diào)用的記錄。
[root@localhost ~]#strace -o whoami-strace.txt whoami             #幫助查看庫依賴問題

open("/lib/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/i686/mmx/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/i686/mmx", 0xbffff190) = -1 ENOENT (No such file or directory) 
open("/lib/i686/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/i686", 0xbffff190) = -1 ENOENT (No such file or directory)
open("/lib/mmx/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib/mmx", 0xbffff190) = -1 ENOENT (No such file or directory) 
open("/lib/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib", {st_mode=S_IFDIR|0755, st_size=2352, ...}) = 0
open("/usr/lib/i686/mmx/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i686/mmx", 0xbffff190) = -1 ENOENT (No such file or directory) 
open("/usr/lib/i686/libnss_files.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
如果你已經(jīng)知道你要找什么九巡,你可以讓strace只跟蹤一些類型的系統(tǒng)調(diào)用图贸。例如,你需要看看在configure腳本里面執(zhí)行的程序冕广,你需要監(jiān)視的系統(tǒng)調(diào) 用就是execve疏日。讓strace只記錄execve的調(diào)用用這個命令:

[root@localhost ~]#strace -f -o configure-strace.txt -e execve ./configure

startx

  • 啟動圖形界面
[root@www ~]# startx                           #進入圖形界面

screen

[root@localhost ~]#screen       #創(chuàng)建一個screen會話

[root@localhost ~]#screen -S test      #創(chuàng)建一個帶名字的screen會話,并且attached模式

[root@localhost ~]#screen -dm test1    #并默認是detached模式撒汉,也就是建好之后不會連上去沟优。

[root@localhost ~]#screen -d -r test2  #結(jié)束當前screen并回到test2這個screen

[root@localhost ~]#screen -ls           #查看所有會話
There are screens on:
        8504.test2      (Detached)
        8010..hatch     (Detached)
        8060.test1      (Detached)
        6275.test       (Attached)
        6199.pts-3.hatch        (Detached)
5 Sockets in /var/run/screen/S-root.

[root@localhost ~]#screen -r 8060(or test1)    #恢復(fù)到以前的離線screen進程

[root@localhost ~]# Ctrl+a+d                    #按Ctrl+a,然后再按d即可保留Screen
[detached]                                  #這時會顯示出這個提示睬辐,說明已經(jīng)保留好Screen了

[root@localhost ~]#exit                        #如果你工作完成的話挠阁,這樣就表示成功退出了
[screen is terminating]

[root@localhost ~]# Ctrl+a+n      #下一個screen 會話
[root@localhost ~]# Ctrl+a+p      #上一個screen 會話
[root@localhost ~]# Ctrl+a+c      #創(chuàng)建新的screen 會話

shutdown

[root@localhost ~]#shutdown –h now   #關(guān)機 
[root@localhost ~]#shutdown –h 23:00   #晚上11點關(guān)機
[root@localhost ~]#shutdown –r now   #重啟
[root@localhost ~]#shutdown –r +30 'reboot now'   #30分鐘后重啟,并且提示reboot now

tty

用法:tty [選項]...

[root@localhost ~]# tty   #顯示當前終端
/dev/pts/4

time

[root@localhost ~]#time [options] COMMAND [arguments]
[root@localhost ~]# time ls -al  #查看執(zhí)行l(wèi)s -al所要的時間

type

type 命令被用于判斷另外一個命令是否是內(nèi)置命令
主要參數(shù):
-a 顯示一個名字的所有可能
-t 判斷一個名字當前是否是alias溯饵、keyword侵俗、function、builtin丰刊、file
-p 查看一個外部命令的執(zhí)行路徑
-P 查看內(nèi)部命令路徑

[root@localhost ~]#type -a ls
ls is aliased to `ls --color=auto'
ls is /bin/ls

[root@localhost ~]#type httpd
httpd is /usr/sbin/httpd

[root@localhost ~]#type -at ls
alias
file

[root@localhost ~]#type -t ls
alias

[root@localhost ~]#type httpd
httpd is /usr/sbin/httpd

[root@localhost ~]#type -p nginx
/usr/sbin/nginx

[root@localhost ~]#type -P kill
/bin/kill

xargs

  • xargs 又稱管道命令隘谣,構(gòu)造參數(shù)等。是給命令傳遞參數(shù)的一個過濾器,也是組合多個命令的一個工具 它把一個數(shù)據(jù)流分割為一些足夠小的塊,以方便過濾器和命令進行處理 啄巧。簡單的說 就是把 其他命令的給它的數(shù)據(jù) 傳遞給它后面的命令作為參數(shù)

主要參數(shù)
-i 用 {} 代替 傳遞的數(shù)據(jù)
-I string 用string來代替?zhèn)鬟f的數(shù)據(jù)-n[數(shù)字] 設(shè)置每次傳遞幾行數(shù)據(jù)
-n 選項限制單個命令行的參數(shù)個數(shù)
-t 顯示執(zhí)行詳情
-p 交互模式
-P n 允許的最大線程數(shù)量為n
-s[大小] 設(shè)置傳遞參數(shù)的最大字節(jié)數(shù)(小于131072字節(jié))
-x 大于 -s 設(shè)置的最大長度結(jié)束 xargs命令執(zhí)行

[root@localhost ~]#ls |grep .php |xargs -i mv {} {}.bak     #將當前目錄下php文件,改名字

[root@localhost ~]#ls |grep .php |xargs -I {} mv {} {}.bak   #與上例相同

[root@localhost ~]#find ./ -name "*.tmp" | xargs -i rm -rf {}  #刪除當前文件夾下的寻歧,tmp文件

which

  • 查找環(huán)境變量中的文件

-a 查找全部內(nèi)容,而非第一個文件
-n <文件名長度>  指定文件名長度秩仆,指定的長度必須大于或等于所有文件中最長的文件名码泛。

-p <文件名長度>  與-n參數(shù)相同,但此處的<文件名長度>包括了文件的路徑澄耍。
-w  指定輸出時欄位的寬度噪珊。
-V  顯示版本信息。

[root@localhost ~]# which find
/usr/bin/find

whereis

  • 命令的語法:whereis [-bmsu] [BMS 目錄名 -f ] 文件名

whereis命令的各選項含義如下:

-b 定位可執(zhí)行文件齐莲。
-m 定位幫助文件痢站。
-s 定位源代碼文件。
-u 搜索默認路徑下除可執(zhí)行文件铅搓、源代碼文件瑟押、幫助文件以外的其它文件。
-B 指定搜索可執(zhí)行文件的路徑星掰。
-M 指定搜索幫助文件的路徑多望。
-S 指定搜索源代碼文件的路徑

[root@localhost ~]# whereis nginx
nginx: /usr/sbin/nginx /etc/nginx /usr/share/nginx /usr/share/man/man3/nginx.3pm.gz

whatis

  • 命令是用于查詢一個命令執(zhí)行什么功能嫩舟,并將查詢結(jié)果打印到終端上。

whatis命令在用catman -w命令創(chuàng)建的數(shù)據(jù)庫中查找command參數(shù)指定的命令怀偷、系統(tǒng)調(diào)用家厌、庫函數(shù)或特殊文件名。whatis命令顯示手冊部分的頁眉行椎工。然后可以發(fā)出man命令以獲取附加的信息饭于。whatis命令等同于使用man -f命令

[root@localhost fastdfs]# whatis ls
ls                   (1)  - list directory contents
ls                   (1p)  - list directory contents

uname

  • 用法:uname [選項]...
    輸出一組系統(tǒng)信息,如果不跟隨選項,則視為只附加-s 選項维蒙。

-a, --all 以如下次序輸出所有信息掰吕。其中若-p 和
-i 的探測結(jié)果不可知則被省略:
-s, --kernel-name 輸出內(nèi)核名稱
-n, --nodename 輸出網(wǎng)絡(luò)節(jié)點上的主機名
-r, --kernel-release 輸出內(nèi)核發(fā)行號
-v, --kernel-version 輸出內(nèi)核版本
-m, --machine 輸出主機的硬件架構(gòu)名稱
-p, --processor 輸出處理器類型或"unknown"
-i, --hardware-platform 輸出硬件平臺或"unknown"

-o, --operating-system 輸出操作系統(tǒng)名稱

[root@localhost ~]# uname -a     #顯示系統(tǒng)信息 
Linux localhost.localdomain 2.6.18-238.12.1.el5 #1 SMP Tue May 31 13:23:01 EDT 2011 i686 i686 i386 GNU/Linux

[root@localhost ~]# uname -m     #顯示系統(tǒng)類型,一般情況下颅痊,i386,i686是32位系統(tǒng)殖熟,X86,X86_64是64位系統(tǒng)
i686

[root@localhost ~]# uname -n     #查看主機名
localhost.localdomain

[root@localhost ~]# uname 
Linux

init

  • init是Linux系統(tǒng)操作中不可缺少的程序之一斑响。
      
    所謂的init進程菱属,它是一個由內(nèi)核啟動的用戶級進程。
內(nèi)核自行啟動(已經(jīng)被載入內(nèi)存舰罚,開始運行纽门,并已初始化所有的設(shè)備驅(qū)動程序和數(shù)據(jù)結(jié)構(gòu)等)之后,就通過啟動一個用戶級程序init的方式营罢,完成引導進程赏陵。所以,init始終是第一個進程(其進程編號始終為1)。 
  
內(nèi)核會在過去曾使用過init的幾個地方查找它愤钾,它的正確位置(對Linux系統(tǒng)來說)是/sbin/init瘟滨。如果內(nèi)核找不到init候醒,它就會試著運行/bin/sh能颁,如果運行失敗,系統(tǒng)的啟動也會失敗倒淫。 
  
不同的運行級定義如下:(可以參考Red Hat Linux 里面的/etc/inittab) 
  
# 0 - 停機(千萬不能把initdefault 設(shè)置為0 ) 
  
# 1 - 單用戶模式 
  
# 2 - 多用戶伙菊,沒有 NFS 
  
# 3 - 完全多用戶模式(標準的運行級) 
  
# 4 - 沒有用到 
  
# 5 - X11 (xwindow) 
  
# 6 - 重新啟動 (千萬不要把initdefault 設(shè)置為6 ) 
  
這些級別在/etc/inittab 文件里指定。這個文件是init 程序?qū)ふ业闹饕募型粒钕冗\行的服務(wù)是放在/etc/rc.d 目錄下的文件镜硕。在大多數(shù)的Linux 發(fā)行版本中,啟動腳本都是位于 

/etc/rc.d/init.d中的返干。這些腳本被用ln 命令連接到 /etc/rc.d/rcn.d 目錄兴枯。(這里的n 就是運行級0-6) 
[root@localhost ~]#init 0  #關(guān)機

[root@localhost ~]#init 6  #重啟

yum

  • yum 命令:用于添加/刪除/更新RPM包,自動解決包的依賴問題以及系統(tǒng)更新升級

參數(shù)
-e 靜默執(zhí)行
-t 忽略錯誤
-R[分鐘] 設(shè)置等待時間
-y 自動應(yīng)答yes
--skip-broken 忽略依賴問題
--nogpgcheck 忽略GPG驗證
check-update 檢查可更新的包
clearn 清除全部
clean packages 清除臨時包文件(/var/cache/yum 下文件)
clean headers 清除rpm頭文件
clean oldheaders 清除舊的rpm頭文件
deplist 列出包的依賴
list 可安裝和可更新的RPM包
list installed 已安裝的包
list extras 已安裝且不在資源庫的包
info 可安裝和可更新的RPM包 信息
info installed 已安裝包的信息(-qa 參數(shù)相似)
install[RPM包] 安裝包
localinstall 安裝本地的 RPM包
update[RPM包] 更新包
upgrade 升級系統(tǒng)
search[關(guān)鍵詞] 搜索包
provides[關(guān)鍵詞] 搜索特定包文件名
reinstall[RPM包] 重新安裝包
repolist 顯示資源庫的配置
resolvedep 指定依賴
remove[RPM包] 卸載包

安裝
[root@localhost ~]# yum install php53        #安裝php5.3

[root@localhost ~]# yum groupinstall "MySQL Server"    #安裝mysql數(shù)據(jù)庫組
更新和升級
[root@localhost ~]# yum update              #全部更新

[root@localhost ~]# yum update  php53       #更新php

[root@localhost ~]# yum check-update        #檢查可更新的程序

[root@localhost ~]# yum upgrade php53       #升級php53

[root@localhost ~]# yum groupupdate "MySQL Server"    #升級mysql服務(wù)組
查找和顯示
[root@localhost ~]# yum info php53          #查看php53的安裝信息

[root@localhost ~]# yum list                #列出所有可安裝的程序包

[root@localhost ~]# yum list php53         #列出所有php53的程序包

[root@localhost ~]# yum groupinfo "MySQL Server"    #查看mysql服務(wù)組的,相關(guān)安裝包

[root@localhost ~]# yum deplist php53      #查看php53依賴情況
刪除
[root@localhost ~]# yum remove php53          #刪除php53

[root@localhost ~]# yum groupremove "MySQL Server"    #刪除mysql服務(wù)組
清除緩存
[root@localhost ~]# yum clean packages            #清除緩存目錄下的軟件包

[root@localhost ~]# yum clean headers             #清除緩存目錄下的 headers

[root@localhost ~]# yum clean oldheaders          #清除緩存目錄下舊的 headers

[root@localhost ~]# yum clean, yum clean all      #清除所有
[root@localhost ~]#  yum search iftop  #搜索安裝包
[root@localhost ~]# yum history  #查看歷史記錄矩欠,然后根據(jù)Id可以用undo撤銷指定的yum操作
Loaded plugins: fastestmirror, priorities, security
ID     | Login user               | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
    12 | root               | 2016-04-29 15:01 | Install        |    1   
    11 | root               | 2016-04-29 14:54 | O, U           |    3   
    10 | root               | 2016-01-11 14:44 | Install        |    1   
     9 | root               | 2015-12-29 10:06 | Install        |    1  <
     8 | root               | 2015-06-01 19:02 | Install        |   10 > 
     7 | root               | 2015-06-01 18:46 | Install        |    1   
     6 | root               | 2015-06-01 17:38 | Install        |    1   
     5 | root               | 2015-06-01 17:32 | I, U           |   21   
     4 | root               | 2015-06-01 17:19 | I, U           |   33   
     3 | root               | 2015-06-01 17:16 | I, U           |   64   
     2 | root               | 2015-06-01 17:14 | Install        |    1  <
     1 | System            | 2015-06-01 16:10 | Install        |  776 > 
[root@localhost ~]#  yum makecache     #生成緩存
[root@localhost ~]# yum  provides */rz 
已加載插件:fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
local/filelists_db                                                                                                                                                      | 6.3 MB     00:00 ... 
lrzsz-0.12.20-27.1.el6.x86_64 : The lrz and lsz modem communications programs
Repo        : local
匹配來自于:
Filename    : /usr/bin/rz

rpm

  • rpm是一個功能十分強大的軟件包管理系統(tǒng)财剖,它使得在Linux下安裝悠夯、升級和刪除軟件包的工作變得容易,并且具有查詢躺坟、驗證軟件包的功能沦补。與圖形化工具相比,使用命令行可以獲得更大的靈活性咪橙。以下的例子都以example-1.2.3-1.i386.rpm代表對象軟件包的名稱
參數(shù)與選項

一夕膀、安裝選項

命令格式: 

rpm -i ( or --install) options file1.rpm ... fileN.rpm 

參數(shù): 

file1.rpm ... fileN.rpm 將要安裝的RPM包的文件名 

詳細選項: 

-h (or --hash) 安裝時輸出hash記號 (``#'') 
--test 只對安裝進行測試,并不實際安裝美侦。 
--percent 以百分比的形式輸出安裝的進度产舞。 
--excludedocs 不安裝軟件包中的文檔文件 
--includedocs 安裝文檔 
--replacepkgs 強制重新安裝已經(jīng)安裝的軟件包 
--replacefiles 替換屬于其它軟件包的文件 
--force 忽略軟件包及文件的沖突 
--noscripts 不運行預(yù)安裝和后安裝腳本 
--prefix 將軟件包安裝到由 指定的路徑下 
--ignorearch 不校驗軟件包的結(jié)構(gòu) 
--ignoreos 不檢查軟件包運行的操作系統(tǒng) 
--nodeps 不檢查依賴性關(guān)系 
--ftpproxy 用 作為 FTP代理 
--ftpport 指定FTP的端口號為 

通用選項 

-v 顯示附加信息 
-vv 顯示更加詳細的信息
--root 讓RPM將指定的路徑做為"根目錄",這樣預(yù)安裝程序和后安 
裝程序都會安裝到這個目錄下 
--rcfile 設(shè)置rpmrc文件為 
--dbpath 設(shè)置RPM 資料庫存所在的路徑為 

二菠剩、刪除選項

命令格式: 

rpm -e ( or --erase) options pkg1 ... pkgN 

參數(shù) 

pkg1 ... pkgN :要刪除的軟件包 

詳細選項 

--test 只執(zhí)行刪除的測試 
--noscripts 不運行預(yù)安裝和后安裝腳本程序 
--nodeps 不檢查依賴性 

通用選項 

-vv 顯示調(diào)試信息 
--root 讓RPM將指定的路徑做為"根目錄"庞瘸,這樣預(yù)安裝程序和后安裝 
程序都會安裝到這個目錄下 
--rcfile 設(shè)置rpmrc文件為 
--dbpath 設(shè)置RPM 資料庫存所在的路徑為 

三、升級選項

命令格式 

rpm -U ( or --upgrade) options file1.rpm ... fileN.rpm 

參數(shù) 

file1.rpm ... fileN.rpm 軟件包的名字 

詳細選項 

-h (or --hash) 安裝時輸出hash記號 (``#'') 
--oldpackage 允許"升級"到一個老版本 
--test 只進行升級測試 
--excludedocs 不安裝軟件包中的文檔文件 
--includedocs 安裝文檔 
--replacepkgs 強制重新安裝已經(jīng)安裝的軟件包 
--replacefiles 替換屬于其它軟件包的文件 
--force 忽略軟件包及文件的沖突 
--percent 以百分比的形式輸出安裝的進度赠叼。 
--noscripts 不運行預(yù)安裝和后安裝腳本 
--prefix 將軟件包安裝到由 指定的路徑下 
--ignorearch 不校驗軟件包的結(jié)構(gòu) 
--ignoreos 不檢查軟件包運行的操作系統(tǒng) 
--nodeps 不檢查依賴性關(guān)系 
--ftpproxy 用 作為 FTP代理 
--ftpport 指定FTP的端口號為 

通用選項 

-v 顯示附加信息 
-vv 顯示調(diào)試信息 
--root 讓RPM將指定的路徑做為"根目錄"擦囊,這樣預(yù)安裝程序和后安裝程序都會安裝到這個目錄下 
--rcfile 設(shè)置rpmrc文件為 
--dbpath 設(shè)置RPM 資料庫存所在的路徑為 

四、查詢 

命令格式: 

rpm -q ( or --query) options 

參數(shù): 

pkg1 ... pkgN :查詢已安裝的軟件包 

詳細選項 

-p (or ``-'') 查詢軟件包的文件 
-f 查詢屬于哪個軟件包 
-a 查詢所有安裝的軟件包 
--whatprovides 查詢提供了 功能的軟件包 
-g 查詢屬于 組的軟件包 
--whatrequires 查詢所有需要 功能的軟件包 

信息選項 

顯示軟件包的全部標識 
-i 顯示軟件包的概要信息 
-l 顯示軟件包中的文件列表 
-c 顯示配置文件列表 
-d 顯示文檔文件列表 
-s 顯示軟件包中文件列表并顯示每個文件的狀態(tài) 
--scripts 顯示安裝嘴办、卸載瞬场、校驗?zāi)_本 
--queryformat (or --qf) 以用戶指定的方式顯示查詢信息 
--dump 顯示每個文件的所有已校驗信息 
--provides 顯示軟件包提供的功能 
--requires (or -R) 顯示軟件包所需的功能 

通用選項 

-v 顯示附加信息 
-vv 顯示調(diào)試信息 
--root 讓RPM將指定的路徑做為"根目錄",這樣預(yù)安裝程序和后安裝程序都會安裝到這個目錄下 
--rcfile 設(shè)置rpmrc文件為 
--dbpath 設(shè)置RPM 資料庫存所在的路徑為 

五涧郊、校驗已安裝的軟件包 

命令格式: 

rpm -V ( or --verify, or -y) options 

參數(shù) 

pkg1 ... pkgN 將要校驗的軟件包名 

軟件包選項 

-p Verify against package file 
-f 校驗所屬的軟件包 
-a Verify 校驗所有的軟件包 
-g 校驗所有屬于組 的軟件包 

詳細選項 

--noscripts 不運行校驗?zāi)_本 
--nodeps 不校驗依賴性 
--nofiles 不校驗文件屬性 

通用選項 

-v 顯示附加信息 
-vv 顯示調(diào)試信息 
--root 讓RPM將指定的路徑做為"根目錄"贯被,這樣預(yù)安裝程序和后安裝程序都會安裝到這個目錄下 
--rcfile 設(shè)置rpmrc文件為 
--dbpath 設(shè)置RPM 資料庫存所在的路徑為 

六、校驗軟件包中的文件 

語法: 

rpm -K ( or --checksig) options file1.rpm ... fileN.rpm 

參數(shù): 

file1.rpm ... fileN.rpm 軟件包的文件名 

Checksig--詳細選項 

--nopgp 不校驗GPG簽名 

通用選項 

-v 顯示附加信息 
-vv 顯示調(diào)試信息 
--rcfile 設(shè)置rpmrc文件為 

七妆艘、其它RPM選項 

--rebuilddb 重建RPM資料庫 
--initdb 創(chuàng)建一個新的RPM資料庫 
--quiet 盡可能的減少輸出 
--help 顯示幫助文件 
--version 顯示RPM的當前版本
最后更新 2016-12-21 16:45:36
合作編輯者如下:張映,糖醋冰塊cat,cwj8031
[root@localhost ~]# rpm -ivh ipchains-1.3.6-1.i386.rpm     #安裝包彤灶,并顯示詳細進度

[root@localhost ~]# rpm -i ftp://ftp.xxx.xxx            #在線安裝

[root@localhost ~]# rpm -Va                            #校驗所有的rpm包,查找丟失的文件

[root@localhost ~]# rpm -qf /usr/bin/who               #查找一個文件屬于哪個rpm包

[root@localhost ~]# rpm -qpi mon-0.37j-1.i386.rpm     #列出一個rpm包的描述信息

[root@localhost ~]# rpm -qpl mon-0.37j-1.i386.rpm            #列出一個rpm包的文件信息


[root@localhost ~]# rpm -Uvh ipchains-1.3.6-1.i386.rpm            #升級包

[root@localhost ~]# rpm -q  httpd               #查看httpd的安裝包

[root@localhost ~]# rpm -e  httpd               #移除安裝包

[root@localhost ~]# rpm -qi httpd             #得到httpd安裝包的信息
Name        : httpd                        Relocations: (not relocatable)
Version     : 2.2.3                             Vendor: CentOS
Release     : 45.el5.centos.1               Build Date: 2011年05月04日 星期三 18時54分56秒
Install Date: 2011年06月29日 星期三 08時05分34秒      Build Host: builder10.centos.org
Group       : System Environment/Daemons    Source RPM: httpd-2.2.3-45.el5.centos.1.src.rpm
Size        : 3281960                          License: Apache Software License
Signature   : DSA/SHA1, 2011年05月04日 星期三 20時31分28秒, Key ID a8a447dce8562897
URL         : http://httpd.apache.org/
Summary     : Apache HTTP 服務(wù)器
Description :
The Apache HTTP Server is a powerful, efficient, and extensible
web server.

[root@localhost ~]# rpm -ql httpd            #列出httpd中有哪些文件

[root@localhost ~]# rpm -qa                  #列出所有已安裝的包
[root@localhost ~]#  rpm -qa |grep http*      #獲取已經(jīng)安裝的以http為前綴的包

script

  • Script可用于記錄當前用戶的操作記錄批旺,默認寫在typescript文件中幌陕。

用法:usage: script [-a] [-f] [-q] [-t] [file]
參數(shù):
-a:追加到輸出文件
-f:輸出到指定文件
-q:安靜模式,不顯示Script started…這些信息
-t:指定時間文件和日志文件汽煮,格式:-t time.log action.log搏熄,用于回放操作。

[tank@localhost ~]$ script -a test.log     #生成一個log文件,記錄log
Script started, file is test.log
[tank@localhost ~]$ lll
bash: lll: command not found
[tank@localhost ~]$ pwd
/home/tank
[tank@localhost ~]$ exit       #結(jié)束記錄,這根ssh的退出有點像.
exit
Script done, file is test.log


[tank@localhost ~]$ cat test.log     #查看一下,記錄的log
Script started on 2014年08月18日 星期一 19時52分48秒
[tank@localhost ~]$ lll
bash: lll: command not found
[tank@localhost ~]$ pwd
/home/tank
[tank@localhost ~]$ exit
exit

Script done on 2014年08月18日 星期一 19時52分54秒

man

  -C, --config-file=文件   使用該用戶設(shè)置文件
  -d, --debug                輸出調(diào)試信息
  -D, --default              將所有選項都重置為默認值
      --warnings[=警告]    開啟 groff 的警告

 主要運行模式:
  -f, --whatis               等同于 whatis
  -k, --apropos              等同于 apropos
  -K, --global-apropos       search for text in all pages
  -l, --local-file
                             把“手冊頁”參數(shù)當成本地文件名來解讀
  -w, --where, --path, --location
                             輸出手冊頁的物理位置
  -W, --where-cat, --location-cat
                             輸出 cat 文件的物理位置

  -c, --catman               由 catman 使用暇赤,用來對過時的 cat
                             頁重新排版
  -R, --recode=編碼        output source page encoded in ENCODING

 尋找手冊頁:
  -L, --locale=區(qū)域
                             定義本次手冊頁搜索所采用的區(qū)域設(shè)置
  -m, --systems=系統(tǒng)       use manual pages from other systems
  -M, --manpath=路徑       設(shè)置搜索手冊頁的路徑為“路徑”

  -S, -s, --sections=列表  使用以半角冒號分隔的章節(jié)列表

  -e, --extension=擴展
                             將搜索限制在擴展類型為“擴展”的手冊頁之內(nèi)

  -i, --ignore-case          查找手冊頁時不區(qū)分大小寫字母
                             (默認)
  -I, --match-case           查找手冊頁時區(qū)分大小寫字母心例。

      --regex                show all pages matching regex
      --wildcard             show all pages matching wildcard

      --names-only           make --regex and --wildcard match page names only,
                             not descriptions

  -a, --all                  尋找所有匹配的手冊頁
  -u, --update               強制進行緩存一致性的檢查

      --no-subpages          don't try subpages, e.g. 'man foo bar' => 'man
                             foo-bar'

 控制格式化的輸出:
  -P, --pager=PAGER          使用 PAGER 程序顯示輸出文本
  -r, --prompt=字符串     給 less pager 提供一個提示行

  -7, --ascii                顯示某些 latin1 字符的 ASCII 翻譯形式
  -E, --encoding=編碼      use selected output encoding
      --no-hyphenation, --nh turn off hyphenation
      --no-justification,                              --nj   turn off justification
  -p, --preprocessor=字符串   字符串表示要運行哪些預(yù)處理器:
                             e - [n]eqn, p - pic, t - tbl,
g - grap, r - refer, v - vgrind

  -t, --troff                使用 groff 對手冊頁排版
  -T, --troff-device[=設(shè)備]   使用 groff 的指定設(shè)備

  -H, --html[=瀏覽器]     使用 www-browser 或指定瀏覽器顯示 HTML
                             輸出
  -X, --gxditview[=分辨率]   使用 groff 并通過 gxditview (X11)
                             來顯示:
                             -X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12
  -Z, --ditroff              使用 groff 并強制它生成 ditroff

  -?, --help                 give this help list
      --usage                give a short usage message
  -V, --version              print program version
[root@linux ~]# man ifconfig    #查看ifconfig手冊

info

  • 相關(guān)命令:man
  • 用法: info [OPTION]... [MENU-ITEM...]
以 Info 格式閱讀文檔。

選項:
  -k, --apropos=STRING         在所有手冊頁的索引中查找 STRING鞋囊。
  -d, --directory=DIR          將 DIR 添加至 INFOPATH止后。
      --dribble=FILENAME       將用戶的擊鍵條目在 FILENAME 中。
  -f, --file=FILENAME          指定想瀏覽的 Info 文件溜腐。
  -h, --help                   顯示此幫助并退出译株。
      --index-search=STRING    跳轉(zhuǎn)至索引條目 STRING 所指的節(jié)點微饥。
  -n, --node=NODENAME          在首個瀏覽過的 Info 文件中指定節(jié)點。
  -o, --output=FILENAME        將選中的節(jié)點全輸出至 FILENAME古戴。
  -R, --raw-escapes            輸出“原始”的 ANSI 轉(zhuǎn)義符(默認)欠橘。
      --no-raw-escapes         將轉(zhuǎn)義符輸出為普通文本。
      --restore=FILENAME       從 FILENAME 中讀取初始擊鍵條目现恼。
  -O, --show-options, --usage  跳轉(zhuǎn)至命令行選項節(jié)點肃续。
      --subnodes               遞歸輸出菜單項。
      --vi-keys                使用類似于 vi 和 less 的按鍵綁定叉袍。
      --version                顯示版本信息并退出始锚。
  -w, --where, --location      打印 Info 文件在系統(tǒng)中的位置。

如果存在第一個非選項參數(shù)喳逛,它將是個用于起始的菜單條目瞧捌;
所有在 INFOPATH 變量后跟著的“dir”文件都會搜索此條目。
如果不存在此參數(shù)润文,info 合并所有“dir”文件并顯示結(jié)果姐呐。
任何后續(xù)參數(shù)都被認為是與初始瀏覽
節(jié)點有關(guān)的菜單項名稱。

在幫助信息中按 h 獲取有關(guān)按鍵綁定的內(nèi)容典蝌。

范例:
  info                       顯示頂級目錄菜單
  info info                  顯示 Info readers 的普通手冊
  info info-stnd             顯示此 Info 程序特定手冊
  info emacs                 從頂級目錄瀏覽 emacs 節(jié)點
  info emacs buffers         在 emacs 手冊頁中瀏覽 buffers 節(jié)點
  info --show-options emacs  瀏覽與 emacs 的命令行選項有關(guān)的節(jié)點
  info --subnodes -o out.txt emacs  將整個手冊頁輸出至 out.txt
  info -f ./foo.info         顯示文件 ./foo.info曙砂,而不是查找目錄
[root@linux ~]# info ifconfig    #查看ifconfig手冊

help

  • help命令用于顯示shell內(nèi)部命令的幫助信息。help命令只能顯示shell內(nèi)部的命令幫助信息骏掀。
  • 而對于外部命令的幫助信息只能使用man或者info命令查看鸠澈。
[root@localhost ~]# help cd

快捷鍵

Ctrl + l清屏,相當于clear命令
Ctrl + o執(zhí)行當前命令截驮,并重新顯示本命令
Ctrl + s阻止屏幕輸出笑陈,鎖定
Ctrl + q允許屏幕輸出
Ctrl + c終止命令
Ctrl + z掛起命令
Ctrl + a光標移到命令行首,相當于Home
Ctrl + e光標移到命令行尾葵袭,相當于End
Ctrl + f光標向右移動一個字符
Ctrl + b光標向左移動一個字符
Alt + f光標向右移動一個單詞尾
Alt + b光標向左移動一個單詞首
Ctrl + xx光標在命令行首和光標之間移動
Ctrl + u從光標處刪除至命令行首
Ctrl + k從光標處刪除至命令行尾
Alt + r 刪除當前整行
Ctrl + w從光標處向左刪除至單詞首
Alt + d從光標處向右刪除至單詞尾
Ctrl + d刪除光標處的一個字符
Ctrl + h刪除光標前的一個字符
Ctrl + y將刪除的字符粘貼至光標后
Alt + c從光標處開始向右更改為首字母大寫的單詞
Alt + u從光標處開始涵妥,將右邊一個單詞更改為大寫
Alt + l從光標處開始,將右邊一個單詞更改為小寫
Ctrl + t交換光標處和之前的字符位置
Alt + t交換光標處和之前的單詞位置
Alt + N提示輸入指定字符后眶熬,重復(fù)顯示該字符N次
注意:Alt組合快捷鍵經(jīng)常和其它軟件沖突
gnome-terminal
應(yīng)用程序->附件->終端 
支持多個“標簽”shell的圖形化終端模擬器
Ctrl-Shift-n 創(chuàng)建新窗口
Ctrl-Shift-q關(guān)閉當前窗口
Ctrl-Shift-t 創(chuàng)建一個標簽頁
Ctrl-Shift-w 關(guān)閉一個標簽頁
Ctrl-PaUp/PgUn切換到下一個/前一個標簽頁
Ctrl-Shift-c 復(fù)制選中的文本
Ctrl-Shift-v 把文本粘帖到當前光標處
有些目錄文件創(chuàng)建時跟命令或者其他有沖突妹笆,可以添加一個完整的路徑块请,這樣就可以成功創(chuàng)
建娜氏,刪除也一樣。

tr

  • 用法:tr [選項]... SET1 [SET2]
從標準輸入中替換墩新、縮減和/或刪除字符贸弥,并將結(jié)果寫到標準輸出。

  -c, -C, --complement        首先補足SET1
  -d, --delete            刪除匹配SET1 的內(nèi)容海渊,并不作替換
  -s, --squeeze-repeats    如果匹配于SET1 的字符在輸入序列中存在連續(xù)的
                重復(fù)绵疲,在替換時會被統(tǒng)一縮為一個字符的長度
  -t, --truncate-set1        先將SET1 的長度截為和SET2 相等
      --help        顯示此幫助信息并退出
      --version        顯示版本信息并退出

SET 是一組字符串哲鸳,一般都可按照字面含義理解。解析序列如下:

  \NNN    八進制值為NNN 的字符(1 至3 個數(shù)位)
  \\        反斜杠
  \a        終端鳴響
  \b        退格
  \f        換頁
  \n        換行
  \r        回車
  \t        水平制表符
  \v        垂直制表符
  字符1-字符2    從字符1 到字符2 的升序遞增過程中經(jīng)歷的所有字符
  [字符*]    在SET2 中適用盔憨,指定字符會被連續(xù)復(fù)制直到吻合設(shè)置1 的長度
  [字符*次數(shù)]    對字符執(zhí)行指定次數(shù)的復(fù)制徙菠,若次數(shù)以 0 開頭則被視為八進制數(shù)
  [:alnum:]    所有的字母和數(shù)字
  [:alpha:]    所有的字母
  [:blank:]    所有呈水平排列的空白字符
  [:cntrl:]    所有的控制字符
  [:digit:]    所有的數(shù)字
  [:graph:]    所有的可打印字符,不包括空格
  [:lower:]    所有的小寫字母
  [:print:]    所有的可打印字符郁岩,包括空格
  [:punct:]    所有的標點字符
  [:space:]    所有呈水平或垂直排列的空白字符
  [:upper:]    所有的大寫字母
  [:xdigit:]    所有的十六進制數(shù)
  [=字符=]    所有和指定字符相等的字符

僅在SET1 和SET2 都給出婿奔,同時沒有-d 選項的時候才會進行替換。
僅在替換時才可能用到-t 選項问慎。如果需要SET2 將被通過在末尾添加原來的末字符的方式
補充到同SET1 等長萍摊。SET2 中多余的字符將被省略。只有[:lower:] 和[:upper:]
以升序展開字符如叼;在用于替換時的SET2 中以成對表示大小寫轉(zhuǎn)換冰木。-s 作用于SET1,既不
替換也不刪除笼恰,否則在替換或展開后使用SET2 縮減踊沸。
[root@localhost zhangy]# echo "TANK" |tr A-Z a-z   #大寫字母轉(zhuǎn)小寫
tank

[root@localhost zhangy]# echo 'tank zhang' | tr a-z A-Z    #小寫字線轉(zhuǎn)大寫
TANK ZHANG

[root@localhost zhangy]# cat aaa.txt       #原文件
aaa

bbb

[root@localhost zhangy]# cat aaa.txt|tr 'a' 'c'     #字母c替換字母a
ccc

bbb

[root@localhost zhangy]# cat aaa.txt|tr -d 'a'    #刪除所有字母a


bbb

[root@localhost zhangy]# cat aaa.txt|tr -d '\n\t'   刪除文件file中出現(xiàn)的換行'\n'、制表'\t'字符
aaabbb

[root@localhost zhangy]# cat aaa.txt|tr -s [a-zA-Z]   #刪除重復(fù)的字母
a

b

[root@localhost zhangy]# cat aaa.txt|tr -s '\n'    #刪除空行
aaa
bbb

[root@localhost zhangy]# cat aaa.txt |tr -s '\011' '\040'   #用空格符\040替換制表符\011
aaa

bbb
# tr a c < test     #將test文件中的a變成c
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末社证,一起剝皮案震驚了整個濱河市雕沿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌猴仑,老刑警劉巖审轮,帶你破解...
    沈念sama閱讀 212,542評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異辽俗,居然都是意外死亡疾渣,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評論 3 385
  • 文/潘曉璐 我一進店門崖飘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來榴捡,“玉大人,你說我怎么就攤上這事朱浴〉趸” “怎么了?”我有些...
    開封第一講書人閱讀 158,021評論 0 348
  • 文/不壞的土叔 我叫張陵翰蠢,是天一觀的道長项乒。 經(jīng)常有香客問我,道長梁沧,這世上最難降的妖魔是什么檀何? 我笑而不...
    開封第一講書人閱讀 56,682評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上频鉴,老公的妹妹穿的比我還像新娘栓辜。我一直安慰自己,他們只是感情好垛孔,可當我...
    茶點故事閱讀 65,792評論 6 386
  • 文/花漫 我一把揭開白布藕甩。 她就那樣靜靜地躺著,像睡著了一般周荐。 火紅的嫁衣襯著肌膚如雪辛萍。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,985評論 1 291
  • 那天羡藐,我揣著相機與錄音贩毕,去河邊找鬼。 笑死仆嗦,一個胖子當著我的面吹牛辉阶,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播瘩扼,決...
    沈念sama閱讀 39,107評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼谆甜,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了集绰?” 一聲冷哼從身側(cè)響起规辱,我...
    開封第一講書人閱讀 37,845評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體着茸,經(jīng)...
    沈念sama閱讀 44,299評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡竿音,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,612評論 2 327
  • 正文 我和宋清朗相戀三年扎运,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,747評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖榆纽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情捏肢,我是刑警寧澤奈籽,帶...
    沈念sama閱讀 34,441評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站鸵赫,受9級特大地震影響衣屏,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜奉瘤,卻給世界環(huán)境...
    茶點故事閱讀 40,072評論 3 317
  • 文/蒙蒙 一勾拉、第九天 我趴在偏房一處隱蔽的房頂上張望煮甥。 院中可真熱鬧盗温,春花似錦藕赞、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至砚偶,卻和暖如春批销,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背染坯。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評論 1 267
  • 我被黑心中介騙來泰國打工均芽, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人单鹿。 一個月前我還...
    沈念sama閱讀 46,545評論 2 362
  • 正文 我出身青樓掀宋,卻偏偏與公主長得像,于是被迫代替她去往敵國和親仲锄。 傳聞我的和親對象是個殘疾皇子劲妙,可洞房花燭夜當晚...
    茶點故事閱讀 43,658評論 2 350

推薦閱讀更多精彩內(nèi)容