linux的常用命令

Linux命令



(命令的選項說明對命令的要求,

命令的參數(shù)是命令操作的對象,

選項和參數(shù)可有可無,即選項和參數(shù)并非必須。)

ifconfig

ifconfig是linux中用于顯示或配置網(wǎng)絡(luò)設(shè)備(網(wǎng)絡(luò)接口卡)的命令,英文全稱是network interfaces configuring


echo

echo命令的功能是在顯示器上顯示一段文字,一般起到一個提示的作用。

該命令的一般格式為: echo [ -n ] 字符串

其中選項n表示輸出文字后不換行;字符串能加引號,也能不加引號。用echo命令輸出加引號的字符串時,將字符串原樣輸出;用echo命令輸出不加引號的字符串時,將字符串中的各個單詞作為字符串輸出,各字符串之間用一個空格分割。

功能說明:顯示文字。

語   法:echo [-ne][字符串]或 echo [--help][--version]

補(bǔ)充說明:echo會將輸入的字符串送往標(biāo)準(zhǔn)輸出。輸出的字符串間以空白字符隔開, 并在最后加上換行號。

如果增加了>和>>輸出重定向就有了新的作用

例如:echo wz > /tmp/1.txt

wz這個字符串就會被輸入到1.txt

再例如:echo wzz>> /tmp/1.txt ?

注意:wzz這個字符串就會被追加到wz下面一行,如果wzz也用>則會覆蓋wz字符串

tty

tty [選項]...

[功能]打印連接到標(biāo)準(zhǔn)輸入的終端的文件名。

[描述]

命令項:

-s, --silent, --quiet: 什么也不打印,只是返回退出狀態(tài)碼。

--help: 打印幫助信息。

--version: 打印版本信息并退出。

返回的狀態(tài)碼:

0 表示標(biāo)準(zhǔn)輸入是一個終端。

1 表示標(biāo)準(zhǔn)輸入不是一個終端。

2 表示給定的參數(shù)是不正確的參數(shù)。

3 表示發(fā)生了寫錯誤。

[舉例]

*查看當(dāng)前的標(biāo)準(zhǔn)終端文件描述符號:

[quietheart@lv-k etc]$ tty

/dev/pts/6

這里,輸入tty之后,輸出"/dev/pts/6"就是當(dāng)前連接的終端對應(yīng)的文件描述符號,我們可以通過向這個文件,這樣會看到當(dāng)前終端會輸出我們寫入的數(shù)據(jù),例如:

[quietheart@lv-k etc]$ echo "mytest" >/dev/pts/6

mytest

可見,向/dev/pts/6文件寫入的內(nèi)容,直接顯示到我們的終端上面了。如果我在機(jī)器上面開了多個終端,然后我在別的終端中輸入上面的echo命令,那么將會看到對應(yīng)"/dev/pts/6"的終端上面會顯示相應(yīng)的字符了。

*運(yùn)行tty什么也不輸出,然后查看其退出碼:

[quietheart@lv-k etc]$ tty -s

[quietheart@lv-k etc]$ echo $?

0

這里,使用shell的命令"echo $?"來顯示上一條命令的退出狀態(tài)碼。狀態(tài)碼的含義如下:

0 表示標(biāo)準(zhǔn)輸入是一個終端。

1 表示標(biāo)準(zhǔn)輸入不是一個終端。

2 表示給定的參數(shù)是不正確的參數(shù)。

3 表示發(fā)生了寫錯誤。

[其它]

*基本概念:

1,tty(終端設(shè)備的統(tǒng)稱):

tty一詞源于Teletypes,或者teletypewriters,原來指的是電傳打字機(jī),是通過串行線用打印機(jī)鍵盤通過閱讀和發(fā)送信息的東西,后來這東西被鍵盤與顯示器取代,所以現(xiàn)在叫終端比較合適。終端是一種字符型設(shè)備,它有多種類型,通常使用tty來簡稱各種類型的終端設(shè)備。

2,pty(虛擬終端):

如果我們遠(yuǎn)程telnet到主機(jī)或使用xterm時,也需要一個終端交互,這就是虛擬終端pty(pseudo-tty)

3,pts/ptmx(pts/ptmx結(jié)合使用,進(jìn)而實(shí)現(xiàn)pty):

pts(pseudo-terminal slave)是pty的實(shí)現(xiàn)方法,與ptmx(pseudo-terminal master)配合使用實(shí)現(xiàn)pty。


startx

功能說明:啟動X Window。

語法:startx [程序][--服務(wù)器設(shè)置]

補(bǔ)充說明:startx為啟動X Window的script文件,實(shí)際上啟動X Window的程序為xinit。

參數(shù):

[程序] 此處所指定的[程序]為X Window所要執(zhí)行程序的配置文件。

[--服務(wù)器設(shè)置] startx預(yù)設(shè)會去讀取.xerverrc中的配置,決定啟動X Window的方式。

以上就是Linux系統(tǒng)startx命令的功能和使用方法了,用startx命令啟動X Window后就可以在一個窗口中運(yùn)行多個程序了。


export?

功能說明設(shè)置或顯示環(huán)境變量。(比如我們要用一個命令,但這個命令的執(zhí)行文件不在當(dāng)前目錄,這樣我們每次用的時候必須指定執(zhí)行文件的目錄,麻煩,在代碼中先執(zhí)行export,這個相當(dāng)于告訴程序,執(zhí)行某某東西時,需要的文件或什么東東在這些目錄里)

語  法export [-fnp][變量名稱]=[變量設(shè)置值]

補(bǔ)充說明在shell中執(zhí)行程序時,shell會提供一組環(huán)境變量。 export可新增,修改或刪除環(huán)境變量,供后續(xù)執(zhí)行的程序使用。export的效力僅及于該此登陸操作。

參  數(shù)

-f  代表[變量名稱]中為函數(shù)名稱。

-n  刪除指定的變量。變量實(shí)際上并未刪除,只是不會輸出到后續(xù)指令的執(zhí)行環(huán)境中。

-p  列出所有的shell賦予程序的環(huán)境變量。

一個變量創(chuàng)建時,它不會自動地為在它之后創(chuàng)建的shell進(jìn)程所知。而命令export可以向后面的shell傳遞變量的值。當(dāng)一個shell腳本調(diào)用并執(zhí)行時,它不會自動得到原為腳本(調(diào)用者)里定義的變量的訪問權(quán),除非這些變量已經(jīng)被顯式地設(shè)置為可用。export命令可以用于傳遞一個或多個變量的值到任何后繼腳本。

pwd?

Linux中用pwd命令來查看”當(dāng)前工作目錄“的完整路徑。 簡單得說,每當(dāng)你在終端進(jìn)行操作時,你都會有一個當(dāng)前工作目錄。

在不太確定當(dāng)前位置時,就會使用pwd來判定當(dāng)前目錄在文件系統(tǒng)內(nèi)的確切位置。

1.命令格式:

pwd[選項]

2.命令功能:

查看”當(dāng)前工作目錄“的完整路徑

3.常用參數(shù):

一般情況下不帶任何參數(shù)

如果目錄是鏈接時:

格式:pwd?-P顯示出實(shí)際路徑,而非使用連接(link)路徑。

4.常用實(shí)例:

實(shí)例1:用?pwd?命令查看默認(rèn)工作目錄的完整路徑

命令:

pwd

輸出:

[root@localhost?~]#pwd

/root

[root@localhost?~]#

實(shí)例2:使用?pwd?命令查看指定文件夾

命令:

pwd

輸出:

[root@localhost?~]#cd?/opt/soft/

[root@localhost?soft]#pwd

/opt/soft

[root@localhost?soft]#

實(shí)例三:目錄連接鏈接時,pwd?-P顯示出實(shí)際路徑,而非使用連接(link)路徑;pwd顯示的是連接路徑

命令:

pwd?-P

輸出:

[root@localhost?soft]#cd?/etc/init.d

[root@localhost?init.d]#pwd

/etc/init.d

[root@localhost?init.d]#pwd?-P

/etc/rc.d/init.d

[root@localhost?init.d]#

實(shí)例4:/bin/pwd

命令:

/bin/pwd?[選項]

選項:

-L目錄連接鏈接時,輸出連接路徑

-P輸出物理路徑

輸出:

[root@localhost?init.d]#/bin/pwd

/etc/rc.d/init.d

[root@localhost?init.d]#/bin/pwd?--help

[root@localhost?init.d]#/bin/pwd?-P

/etc/rc.d/init.d

[root@localhost?init.d]#/bin/pwd?-L

/etc/init.d

[root@localhost?init.d]#

實(shí)例五:當(dāng)前目錄被刪除了,而pwd命令仍然顯示那個目錄

輸出:

[root@localhost?init.d]#cd?/opt/soft

[root@localhost?soft]#mkdir?removed

[root@localhost?soft]#cd?removed/

[root@localhost?removed]#pwd

/opt/soft/removed

[root@localhost?removed]#rm?../removed?-rf

[root@localhost?removed]#pwd

/opt/soft/removed

[root@localhost?removed]#/bin/pwd

/bin/pwd:?couldn't?find?directory?entryin“..”with?matching?i-node

[root@localhost?removed]#cd

[root@localhost?~]#pwd

/root

History

Linux下History命令主要用于顯示歷史指令記錄內(nèi)容, 下達(dá)歷史紀(jì)錄中的指令 。

>History命令語法:

[www.linuxidc.com@linux]# history [n]

[www.linuxidc.com@linux]# history [-c]

[www.linuxidc.com@linux]# history [-raw] histfiles

參數(shù):

n? :數(shù)字,要列出最近的 n 筆命令列表

-c :將目前的shell中的所有 history 內(nèi)容全部消除

-a :將目前新增的history 指令新增入 histfiles 中,若沒有加 histfiles,則預(yù)設(shè)寫入 ~/.bash_history

-r :將 histfiles 的內(nèi)容讀到目前這個 shell 的 history 記憶中

-w :將目前的 history 記憶內(nèi)容寫入 histfiles。Linux系統(tǒng)當(dāng)你在shell(控制臺)中輸入并執(zhí)行命令時,shell會自動把你的命令記錄到歷史列表中,一般保存在用戶目錄下的.bash_history文件中。默認(rèn)保存1000條,你也可以更改這個值。如果你鍵入 history, history會向你顯示你所使用的前1000個歷史命令,并且給它們編了號,你會看到一個用數(shù)字編號的列表快速從屏幕上卷過。你可能不需要查看1000個命令中的所有項目, 當(dāng)然你也可以加入數(shù)字來列出最近的 n 筆命令列表。linux中history命令不僅僅讓我們可以查詢歷史命令而已. 我們還可以利用相關(guān)的功能來幫我們執(zhí)行命令。運(yùn)行特定的歷史命令history會列出bash保存的所有歷史命令,并且給它們編了號,我們可以使用“嘆號接編號”的方式運(yùn)行特定的歷史命令.

語法說明:

[www.linuxidc.com@linux]# [!number] [!command] [!!]

參數(shù)說明:

number :第幾個指令的意思;

command? :指令的開頭幾個字母

! :上一個指令的意思!

History命令實(shí)戰(zhàn)

1.出所有的歷史記錄:

[www.linuxidc.com@linux] # history

2.只列出最近10條記錄:

[www.linuxidc.com@linux] # history 10 (注,history和10中間有空格)

3.使用命令記錄號碼執(zhí)行命令,執(zhí)行歷史清單中的第99條命令

[www.linuxidc.com@linux] #!99 (!和99中間沒有空格)

4.重復(fù)執(zhí)行上一個命令

[www.linuxidc.com@linux] #!!

5.執(zhí)行最后一次以rpm開頭的命令(!代表的是字符串,這個String可以隨便輸,Shell會從最后一條歷史命令向前搜索,最先匹配的一條命令將會得到執(zhí)行。)

[www.linuxidc.com@linux] #!rpm

6.逐屏列出所有的歷史記錄:

[www.linuxidc.com@linux]# history | more

7.立即清空history當(dāng)前所有歷史命令的記錄

[www.linuxidc.com@linux] #history -c


shutdown

shutdown命令可以安全地關(guān)閉或重啟Linux系統(tǒng),它在系統(tǒng)關(guān)閉之前給系統(tǒng)上的所有登錄用戶提示一條警告信息。該命令還允許用戶指定一個時間參數(shù),可以是一個精確的時間,也可以是從現(xiàn)在開始的一個時間段。

精確時間的格式是hh:mm,表示小時和分鐘,時間段由+ 和分鐘數(shù)表示。系統(tǒng)執(zhí)行該命令后會自動進(jìn)行數(shù)據(jù)同步的工作。

該命令的一般格式

語  法:shutdown [-efFhknr][-t 秒數(shù)][時間][警告信息]

參  數(shù):

-c  當(dāng)執(zhí)行"shutdown -h 11:50"指令時,只要按+鍵就可以中斷關(guān)機(jī)的指令。

-f  重新啟動時不執(zhí)行fsck。

-F  重新啟動時執(zhí)行fsck。

-h  將系統(tǒng)關(guān)機(jī)。

-k  只是送出信息給所有用戶,但不會實(shí)際關(guān)機(jī)。

-n  不調(diào)用init程序進(jìn)行關(guān)機(jī),而由shutdown自己進(jìn)行。

-r  shutdown之后重新啟動。

-t<秒數(shù)>  送出警告信息和刪除信息之間要延遲多少秒。

[時間]  設(shè)置多久時間后執(zhí)行shutdown指令。

[警告信息]  要傳送給所有登入用戶的信息。

需要特別說明的是該命令只能由超級用戶使用。

例1,系統(tǒng)在十分鐘后關(guān)機(jī)并且馬上重新啟動

# shutdown –r +10

例2,系統(tǒng)馬上關(guān)機(jī)并且不重新啟動

# shutdown –h now

poweroff

poweroff命令用來關(guān)閉計算機(jī)操作系統(tǒng)并且切斷系統(tǒng)電源。

?語法 poweroff(選項)?

選項 -n:關(guān)閉操作系統(tǒng)時不執(zhí)行sync操作;?

-w:不真正關(guān)閉操作系統(tǒng),僅在日志文件“/var/log/wtmp”中;

?-d:關(guān)閉操作系統(tǒng)時,不將操作寫入日志文件“/var/log/wtmp”中添加相應(yīng)的記錄;

?-f:強(qiáng)制關(guān)閉操作系統(tǒng);

?-i:關(guān)閉操作系統(tǒng)之前關(guān)閉所有的網(wǎng)絡(luò)接口;

?-h:關(guān)閉操作系統(tǒng)之前將系統(tǒng)中所有的硬件設(shè)置為備用模式。

?實(shí)例 如果確認(rèn)系統(tǒng)中已經(jīng)沒有用戶存在且所有數(shù)據(jù)都已保存,需要立即關(guān)閉系統(tǒng),可以使用poweroff命令

?使用poweroff立即關(guān)閉系統(tǒng): poweroff

Reboot

【語法】reboot[選項]

【詳解】reboot指令用于重啟該計算機(jī)。它的作用和shutdown -r now是一樣的。

【選項】

選項相應(yīng)功能

-n重啟前保留當(dāng)前數(shù)據(jù)。

-f強(qiáng)制重啟計算機(jī)。

-w模擬重啟,并將數(shù)據(jù)寫入到“/var/log/wtmp”日志文件中。

-d重啟,但不寫入日志。

-i重啟計算機(jī)前關(guān)閉網(wǎng)絡(luò)。

hwclock?

功能說明:顯示與設(shè)定硬件時鐘。

語  法hwclock[--adjust][--debug][--directisa][--hctosys][--show][--systohc][--test]

[--utc][--version][--set--date=<日期與時間>]

補(bǔ)充說明:在Linux中有硬件時鐘與系統(tǒng)時鐘等兩種時鐘。硬件時鐘是指主機(jī)板上的時鐘設(shè)備,也就是通常可在BIOS畫面設(shè)定的時鐘。系統(tǒng)時鐘則是指kernel中的時鐘。當(dāng)Linux啟動時,系統(tǒng)時鐘會去讀取硬件時鐘的設(shè)定,之后系統(tǒng)時鐘即獨(dú)立運(yùn)作。所有Linux相關(guān)指令與函數(shù)都是讀取系統(tǒng)時鐘的設(shè)定。

參  數(shù):

--adjust? hwclock每次更改硬件時鐘時,都會記錄在/etc/adjtime文件中。使用--adjust參數(shù),可使hwclock根據(jù)先前的記錄來估算硬件時鐘的偏差,并用來校正目前的硬件時鐘。

--debug? 顯示hwclock執(zhí)行時詳細(xì)的信息。

--directisa? hwclock預(yù)設(shè)從/dev/rtc設(shè)備來存取硬件時鐘。若無法存取時,可用此參數(shù)直接以I/O指令來存取硬件時鐘。

--hctosys? 將系統(tǒng)時鐘調(diào)整為與目前的硬件時鐘一致。

--set?--date=<日期與時間>? 設(shè)定硬件時鐘。

--show? 顯示硬件時鐘的時間與日期。

--systohc? 將硬件時鐘調(diào)整為與目前的系統(tǒng)時鐘一致。

--test? 僅測試程序,而不會實(shí)際更改硬件時鐘。

--utc? 若要使用格林威治時間,請加入此參數(shù),hwclock會執(zhí)行轉(zhuǎn)換的工作。

--version? 顯示版本信息。

使用示例

示例一 hwclock命令與clock命令是一個東西

[root@linuxso.com~]#type -a hwclock

hwclock is /sbin/hwclock

hwclock is /usr/sbin/hwclock

[root@linuxso.com~]#ls-l /sbin/hwclock /usr/sbin/hwclock

-rwxr-xr-x 1 root root 34096 2010-01-07 /sbin/hwclock

lrwxrwxrwx 1 root root??? 18 08-13 00:14 /usr/sbin/hwclock -> ../../sbin/hwclock

[root@linuxso.com~]#type -a clock

clock is /sbin/clock

[root@linuxso.com~]#ls -l /sbin/clock

lrwxrwxrwx 1 root root 7 08-13 00:14 /sbin/clock -> hwclock

[root@linuxso.com~]#

示例二 顯示硬件時鐘

[root@linuxso.com~]#hwclock

2010年11月06日 星期六 21時09分28秒? -0.134840 seconds

[root@linuxso.com~]#hwclock -r

2010年11月06日 星期六 21時09分33秒? -0.469123 seconds

[root@linuxso.com~]#hwclock --show

2010年11月06日 星期六 21時09分45秒? -0.127548 seconds

[root@linuxso.com~]#

示例三 修改日期并同步到硬件時鐘

[root@linuxso.com~]#date

2010年 11月 06日 星期六 21:11:57 CST

[root@linuxso.com~]#date 11062112<== 格式 mmddHHMM,即 月日時分

2010年 11月 06日 星期六 21:12:00 CST

[root@linuxso.com~]#hwclock -w

[root@linuxso.com~]#hwclock

2010年11月06日 星期六 21時12分13秒? -0.648818 seconds

[root@linuxso.com~]#

注:要使系統(tǒng)時間準(zhǔn)確,最好還是使用ntp方式

示例四 使用ntpdate命令從網(wǎng)絡(luò)同步時間,再同步到硬件時鐘

ntpdate命令是使用NTP協(xié)議來從網(wǎng)絡(luò)同步時間的命令。NTP=Network Time Protocol網(wǎng)絡(luò)時間協(xié)議。

[root@linuxso.com~]#ntpdate 0.rhel.pool.ntp.org

6 Nov 21:17:55 ntpdate[4829]: step time server 123.146.124.28 offset -1.025258 sec

[root@linuxso.com~]#date

2010年 11月 06日 星期六 21:17:59 CST

[root@linuxso.com~]#hwclock -w

date

使用方式 : date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]

說明 : date 可以用來顯示或設(shè)定系統(tǒng)的日期與時間,在顯示方面,使用者可以設(shè)定欲顯示的格式,格式設(shè)定為一個加號后接數(shù)個標(biāo)記,其中可用的標(biāo)記列表如下 :

時間方面 :

% : 印出

% %n : 下一行

%t : 跳格

%H : 小時(00..23)

%I : 小時(01..12)

%k : 小時(0..23)

%l : 小時(1..12)

%M : 分鐘(00..59)

%p : 顯示本地 AM 或 PM

%r : 直接顯示時間 (12 小時制,格式為 hh:mm:ss [AP]M)

%s : 從 1970 年 1 月 1 日 00:00:00 UTC 到目前為止的秒數(shù) %S : 秒(00..61)

%T : 直接顯示時間 (24 小時制)

%X : 相當(dāng)于 %H:%M:%S

%Z : 顯示時區(qū)

日期方面 :

%a : 星期幾 (Sun..Sat)

%A : 星期幾 (Sunday..Saturday)

%b : 月份 (Jan..Dec)

%B : 月份 (January..December)

%c : 直接顯示日期與時間

%d : 日 (01..31)

%D : 直接顯示日期 (mm/dd/yy)

%h : 同 %b

%j : 一年中的第幾天 (001..366)

%m : 月份 (01..12)

%U : 一年中的第幾周 (00..53) (以 Sunday 為一周的第一天的情形)

%w : 一周中的第幾天 (0..6)

%W : 一年中的第幾周 (00..53) (以 Monday 為一周的第一天的情形)

%x : 直接顯示日期 (mm/dd/yy)

%y : 年份的最后兩位數(shù)字 (00.99)

%Y : 完整年份 (0000..9999)

若是不以加號作為開頭,則表示要設(shè)定時間,而時間格式為 MMDDhhmm[[CC]YY][.ss],

其中 MM 為月份,

DD 為日,

hh 為小時,

mm 為分鐘,

CC 為年份前兩位數(shù)字,

YY 為年份后兩位數(shù)字,

ss 為秒數(shù)

把計 :

-d datestr : 顯示 datestr 中所設(shè)定的時間 (非系統(tǒng)時間)

–help : 顯示輔助訊息

-s datestr : 將系統(tǒng)時間設(shè)為 datestr 中所設(shè)定的時間

-u : 顯示目前的格林威治時間

–version : 顯示版本編號

例子 :

顯示時間后跳行,再顯示目前日期 : date +%T%n%D

顯示月份與日數(shù) : date +%B %d

顯示日期與設(shè)定時間(12:34:56) : date –date 12:34:56

注意 : 當(dāng)你不希望出現(xiàn)無意義的 0 時(比如說 1999/03/07),則可以在標(biāo)記中插入 – 符號,比如說 date +%-H:%-M:%-S 會把時分秒中無意義的 0 給去掉,像是原本的 08:09:04 會變?yōu)?8:9:4。另外,只有取得權(quán)限者(比如說 root)才能設(shè)定系統(tǒng)時間。 當(dāng)你以 root 身分更改了系統(tǒng)時間之后,請記得以 clock -w 來將系統(tǒng)時間寫入 CMOS 中,這樣下次重新開機(jī)時系統(tǒng)時間才會持續(xù)抱持最新的正確值。

創(chuàng)建以當(dāng)前時間為文件名的

mkdir `date +%Y%m%d`

備份以時間做為文件名的

tar cvf ./htdocs`date +%Y%m%d`.tar ./*

date命令如何獲得上星期的日期?

lastmonth=`date +%Y-%m --date="-1 month"`"-01";

然后 awk -v 作為一個參數(shù)這樣傳進(jìn)去簡單點(diǎn)。

#date -d "-1 week" "+%Y%m%d %A"

舉一反三:date命令獲得前天,昨天,明天,后天,上個月,下個月的日期

date -d "-2 day" "+%Y%m%d %A"?? 或 date --date="2 days ago" "+%Y%m%d %A"

date -d "-1 day" "+%Y%m%d %A"?? 或 date --date="1 day ago" "+%Y%m%d %A"

date -d "1 day" "+%Y%m%d %A"

date -d "2 day" "+%Y%m%d %A"

date -d "-1 month" "+%Y%m%d %A"

date -d "1 month" "+%Y%m%d %A"

echo `date -d "-1 month" "+%Y-%m-%d %X"`

還有其他用法:

date +%s?? 可以得到UNIX的時間戳;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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