linux運維學習:第一週作業
1 現代計算機硬件組成部分:運算器、控制器、存儲器、I/O設備(輸入,輸出設備)
中央處理器(CPU):控制器+運算器,是計算機的核心CPU的性能基本決定了計算機的性能,CPU是整個電腦系統的核心。
存儲器:可分爲內存儲器、外存儲器、高速緩衝存儲器
CPU:主要功能是按存在存儲器內的程序 ,逐條地執行程序所指定的操作.
存儲器:主要功能是存放程序和數據,程序是計算機操作的依據,數據是計算機操作的對象.
輸入、輸出設備:是用戶與機器之間的橋樑.
2 Linux 發行版
Linux 主要作爲Linux發行版(通常被稱爲"distro")的一部分而使用。
一個典型的Linux發行版包括:Linux內核,一些GNU程序庫和工具,命令行shell,圖形界面的X Window系統和相應的桌面環境,如KDE或GNOME,幷包含數千種從辦公套件,編譯器,文本編輯器到科學工具的應用軟件。
Linux的發行版本可以大體分爲兩類,一類是商業公司維護的發行版本,一類是社區組織維護的發行版本,前者以著名的Redhat(RHEL)爲代表,後者以Debian爲代表。
Redhat,應該稱爲Redhat系列,包括RHEL(Redhat Enterprise Linux,也就是所謂的Redhat Advance Server收費版本)、FedoraCore(由原來的Redhat桌面版本發展而來,免費版本)、CentOS(RHEL的社區克隆版本,免費)。Redhat應該說是在國內使用人羣最多的Linux版本,甚至有人將Redhat等同於Linux,而有些老鳥更是隻用這一個版本的Linux。所以這個版本的特點就是使用人羣數量大,資料非常多,言下之意就是如果你有什麼不明白的地方,很容易找到人來問,而且網上的一般Linux教程都是以Redhat爲例來講解的。Redhat系列的包管理方式採用的是基於RPM包的YUM包管理方式,包分發方式是編譯好的二進制文件。穩定性方面RHEL和CentOS的穩定性非常好,適合於服務器使用,但是Fedora Core的穩定性較差,最好只用於桌面應用。
Debian,或者稱Debian系列,包括Debian和Ubuntu等。Debian是社區類Linux的典範,是迄今爲止最遵循GNU規範的Linux系統。Debian最早由Ian Murdock於1993年創建,分爲三個版本分支(branch): stable, testing和unstable。其中,unstable爲最新的測試版本,其中包括最新的軟件包,但是也有相對較多的bug,適合桌面用戶。testing的版本都經過unstable中的測試,相對較爲穩定,也支持了不少新技術(比如SMP等)。而stable一般只用於服務器,上面的軟件包大部分都比較過時,但是穩定和安全性都非常的高。Debian最具特色的是apt-get /dpkg包管理方式,其實Redhat的YUM也是在模仿Debian的APT方式,但在二進制文件發行方式中,APT應該是最好的了。Debian的資料也很豐富,有很多支持的社區,有問題求教也有地方可去。
Ubuntu嚴格來說不能算一個獨立的發行版本,Ubuntu是基於Debian的unstable版本加強而來,可以這麼說Ubuntu就是一個擁有Debian所有的優點,以及自己所加強的優點的近乎完美的Linux桌面系統。根據選擇的桌面系統不同,有多個版本可供選擇,比如基於unity的Ubuntu,基於Gnome的Ubuntu Gnome,基於KDE的Kubuntu,基於LXDE的Lubuntu以及基於Xfce的Xubuntu等。特點是界面非常友好,容易上手,對硬件的支持非常全面,是最適合做桌面系統的Linux發行版本。
Gentoo,偉大的Gentoo是Linux世界最年輕的發行版本,正因爲年輕,所以能吸取在她之前的所有發行版本的優點,這也是Gentoo被稱爲最完美的Linux發行版本的原因之一。
FreeBSD,需要強調的是:FreeBSD並不是一個Linux系統!但FreeBSD與Linux的用戶羣有相當一部分是重合的,二者支持的硬件環境也比較一致,所採用的軟件也比較類似,所以可以將FreeBSD視爲一個Linux版本來比較。
FreeBSD擁有兩個分支:stable和current。顧名思義,stable是穩定版,而current則是添加了新技術的測試版。FreeBSD採用Ports包管理系統,與Gentoo類似,基於源代碼分發,必須在本地機器編後後才能運行,但是Ports系統沒有Portage系統使用簡便,使用起來稍微複雜一些。FreeBSD的最大特點就是穩定和高效,是作爲服務器操作系統的最佳選擇,但對硬件的支持沒有Linux完備,所以並不適合作爲桌面系統。
Linux 發行版:時間表
http://futurist.se/gldt/wp-content/uploads/12.10/gldt1210.svg
3 Linux的哲學思想:
一切皆文件,把幾乎所有資源,包括硬件設備都組織爲文件格式
每一個程序只做好一件事情,模塊化
只提供機制而非策略
單一目的的小程序;
組合小程序完成複雜任務;
文本文件保存配置信息;
儘量避免捕獲用戶接口
Linux 的核心思想(哲學)同時也是開源界的核心思想,那就是:自由與分享
自由:不是愚昧無知愚蠢任性的自由,而是在明白前因後果的前提下的無約束髮揮創造力
分享:不是無條件得將自己思考與成就交給全世界,而是分享給內行,分享給值得分享得人
4 Linux系統上命令的使用格式:
本格式:
COMMAND options arguments
具體說明:
COMMAND: 表示命令的名稱, 如 ls
options:定義命令的執行特性,可以有長短兩種選項:
長選項: 用 -- 引導,後面跟完整的單詞,如 --help
短選項: 用 - 引導,後面跟單個的字符, 如 -a
多個短選項可以組合使用,例如:
-h -l -a == -hla
但是長選項不能組合使用,如 --help後面就不能再跟另外一個單詞了。
options 也可以有自己的參數,注意,選項與選項之間,選項與參數之間,參數與參數之間必須有空格!
arguments:表示命令的作用對象,如上述示例中,/etc 就是ls 命令的作用對象。
在linux中,命令的選項和參數所使用的符號也有相應的含義:
[] :可省略之內容
<> : 必須提供
a|b : 二選一,或多選一
... : 前面的內容可重複出現多次
ifconfig命令:
總覽
ifconfig [接口]
ifconfig 接口 [aftype] options | address ...
描述
ifconfig 用於配置常駐內核的網絡接口。它用於在引導成功時設定網絡接口。此後,只在需要調試及系統調整時才使用。
如沒有給出參數, ifconfig 顯示當前有效接口的狀態。如給定單個 接口 作爲參數,它只顯示給出的那個接口的狀態;如果給出一個 -a 參數,它會顯示所有接口的狀態,包括那些停用的接口。否則就對一個接口進行配置。
地址族
如果跟在接口名稱後的第一個參數是它支持地址族的名稱,那麼這個地址族被用於翻譯和顯示所有的協議地址。當前支持的地址族包括 inet ( TCP/IP ,缺省), inet6 ( IPv6 ) , ax25 ( AMPR 無線分組 ), ddp ( Appletalk 2 代), ipx ( Novell IPX ) 和 netrom ( AMPR 無線分組)。
選項
接口 接口名稱。通常是一個後跟單元號的驅動設備名,例如第一個以太接口 eth0 。
up
此選項激活接口。如果給接口聲明瞭地址,等於隱含聲明瞭這個選項。
down
此選項使接口驅動設備關閉。
[-]arp
允許或禁止在接口上使用 ARP 協議。
[-]promisc
允許或禁止接口置於混雜模式。如果選用,則接口可以接收網絡上的所有分組。
[-]allmulti
允許或禁止 組播模式(all-multicast) 。 如果選用,則接口可以接收網絡上的所有組播分組。
metric N
將接口度量值設置爲整數 N。 (譯註:度量值表示在這個路徑上發送一個分組的成本,就是通過多少個路由)
mtu N
此選項設定接口的最大傳輸單元 MTU。
dstaddr addr
爲點到點鏈路(如 PPP )設定一個遠程 IP 地址。此選項現已廢棄;用 pointopoint 選項替換。
netmask addr
爲接口設定 IP 網絡掩碼。缺省值通常是 A,B 或 C 類的網絡掩碼 (由接口的 IP 地址推出),但也可設爲其它值。
add addr/prefixlen
爲接口加入一個 IPv6 地址。
del addr/prefixlen
爲接口刪除一個 IPv6 地址。
tunnel aa.bb.cc.dd
建立一個新的 SIT (在 IPv4 中的 IPv6 )設備,爲給定的目的地址建立通道。
irq addr
爲接口設定所用的中斷值。並不是所有的設備都能動態更改自己的中斷值。
io_addr addr
爲接口設定起始輸入/輸出地址。
mem_start addr
設定接口所用的共享內存起始地址。只有少數設備需要。
media type
設定接口所用的物理端口或介質類型。並不是所有設備都會更改這項值,而且它們支持的類型可能並相同。典型的 type 是 10base2 (細纜以太網), 10baseT (雙絞線 10Mbps 以太網), AUI (外部收發單元接口)等等。介質類型爲 auto 則用於讓設備自動判斷介質。同樣,並非所有設備都可以這樣工作。
[-]broadcast [addr]
如果給出了地址參數,則可以爲接口設定該協議的廣播地址。否則,爲接口設置(或清除) IFF_BROADCAST 標誌。
[-]pointopoint [addr]
此選項允許接口置爲 點到點 模式,這種模式在兩臺主機間建立一條無人可以監聽的直接鏈路。
如果還給出了地址參數,則設定鏈路另一方的協議地址,正如廢棄的 dstaddr 選項的功能。否則,爲接口設置(或清除) IFF_POINTOPOINT 標誌。
hw class address
如接口驅動程序支持,則設定接口的硬件地址。此選項必須後跟硬件的類型名稱和硬件地址等價的可打印 ASCII 字符。當前支持的硬件類型包括 ether (以太網), ax25 (AMPR AX.25), ARCnet 和 netrom (AMPR NET/ROM)。
multicast
爲接口設定組播標誌。通常無須用此選項因爲接口本身會正確設定此標誌。
address
爲接口分配的 IP 地址。
txqueuelen length
爲接口設定傳輸隊列的長度。可以爲具有高時延的低速接口設定較小值以避免在象 telnet 這樣煩人的交互通信時大量高速的傳輸。
注意
從內核版本 2.2 起不再有別名接口的顯式接口統計信息了。打印出的源地址統計信息被同一接口的所有別名地址共享。打印出的源地址統計信息被同一接口的所有別名地址共享。如果你需要每個地址的統計信息,就應該用 ipchains(8) 命令爲地址加入顯式的記帳規則。
相關文件
/proc/net/socket
/proc/net/dev
/proc/net/if_inet6
BUGS
當顯示 appletalk DDP 和 IPX 地址時不能用此命令進行更改,但可以用這條命令顯示。
又見
route(8), netstat(8), arp(8), rarp(8), ipchains(8)
例子:
[root@localhost etc]# ifconfig
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.16.1.128 netmask 255.255.0.0 broadcast 172.16.255.255
inet6 fe80::20c:29ff:fe2b:ba58 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:2b:ba:58 txqueuelen 1000 (Ethernet)
RX packets 6773 bytes 616389 (601.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1164 bytes 110303 (107.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 0 (Local Loopback)
RX packets 2385 bytes 207266 (202.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2385 bytes 207266 (202.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ifconfig eno16777736
[root@localhost etc]# ifconfig eno16777736
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.16.1.128 netmask 255.255.0.0 broadcast 172.16.255.255
inet6 fe80::20c:29ff:fe2b:ba58 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:2b:ba:58 txqueuelen 1000 (Ethernet)
RX packets 6773 bytes 616389 (601.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1196 bytes 112223 (109.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
echo 命令:
允許在標準輸出上顯示STRING(s).
NAME(名稱)
echo - 顯示一行文本
SYNOPSIS(總覽)
echo[OPTION]... [STRING]...
DESCRIPTION(描述)
允許在標準輸出上顯示STRING(s).
-n 不輸出行尾的換行符.
-e 允許對下面列出的加反斜線轉義的字符進行解釋.
-E 禁止對在STRINGs中的那些序列進行解釋.
--help 顯示幫助並退出(須單獨運行)
--version 輸出版本信息並退出(須單獨運行)
在沒有 -E 的情況下,可承認並可以內置替換以下序列:
NNN字符的ASCII代碼爲NNN(八進制)
\\
反斜線
\a
報警符(BEL)
\b
退格符
\c
禁止尾隨的換行符
\f
換頁符
\n
換行符
\r
回車符
\t
水平製表符
\v
縱向製表符
REPORTING BUGS(報告BUGS)
報告bugs,請發郵件到<[email protected]>.
SEE ALSO(另見)
以Texinfo手冊形式維護的 echo 完全文檔.如果你正確地安裝了 info 和 echo 命令
info echo
應該可以使你訪問到整個手冊.
例子:
[root@localhost etc]# echo "test"
test
[root@localhost etc]#
tty命令:
/etc/securetty 由 login(1) 使用,該文件由包含數行 tty 設備名(每行一個設備名,前面不加 /dev/) 在這些設備上可以允許 root 登錄.
NAME (名稱)
/etc/securetty 由 login(1) 使用,該文件由包含數行 tty 設備名(每行一個設備名,前面不加 /dev/) 在這些設備上可以允許 root 登錄.
FILES(相關文件)
/etc/securetty
SEE ALSO(另見)
login(1)
例子:
[root@localhost etc]# tty
/dev/pts/0
#cat /etc/securetty
root@iZ25prurj88Z:~# cat /etc/securetty
# /etc/securetty: list of terminals on which root is allowed to login.
# See securetty(5) and login(1).
console
# Local X displays (allows empty passwords with pam_unix's nullok_secure)
:0
:0.0
:0.1
:1
:1.0
:1.1
:2
:2.0
:2.1
:3
:3.0
:3.1
#...
# ==========================================================
#
# TTYs sorted by major number according to Documentation/devices.txt
#
# ==========================================================
# Virtual consoles
tty1
tty2
tty3
tty4
tty5
tty6
tty7
tty8
tty9
tty10
tty11
startx、export、pwd、history
、shutdown、poweroff、reboot、hwclock、date命令
startx
Linux系統命令startx的功能很簡單,就是啓動X Window的服務這一項,沒有其他的了。其實startx命令啓動的是xinit,然後再由xinit來啓動X Window。
功能說明:啓動X Window。
語法:startx [程序][--服務器設置]
補充說明:startx爲啓動X Window的script文件,實際上啓動X Window的程序爲xinit。
參數:
[程序] 此處所指定的[程序]爲X Window所要執行程序的配置文件。
[--服務器設置] startx預設會去讀取.xerverrc中的配置,決定啓動X Window的方式。
以上就是Linux系統startx命令的功能和使用方法了,用startx命令啓動X Window後就可以在一個窗口中運行多個程序了。
export命令:
功能說明:設置或顯示環境變量。
語 法:export [-fnp][變量名稱]=[變量設置值]
補充說明:在shell中執行程序時,shell會提供一組環境變量。 export可新增,修改或刪除環境變量,供後續執行的程序使用。export的效力僅及於該此登陸操作。
參 數:
-f 代表[變量名稱]中爲函數名稱。
-n 刪除指定的變量。變量實際上並未刪除,只是不會輸出到後續指令的執行環境中。
-p 列出所有的shell賦予程序的環境變量。
一個變量創建時,它不會自動地爲在它之後創建的shell進程所知。而命令export可以向後面的shell傳遞變量的值。當一個shell腳本調用並執行時,它不會自動得到原爲腳本(調用者)裏定義的變量的訪問權,除非這些變量已經被顯式地設置爲可用。export命令可以用於傳遞一個或多個變量的值到任何後繼腳本。 ----《UNIX教程》
pwd命令:
打印出完整的當前活動目錄名.
名字 (NAME)
pwd - 打印出當前/活動目錄的名稱
總覽 (SYNOPSIS)
pwd [OPTION]
描述 (DESCRIPTION)
打印出完整的當前活動目錄名.
--help
顯示 此幫助 信息, 然後 退出
--version
輸出 版本 信息, 然後 退出
報告 BUGS
報告錯誤 給 <[email protected]>.
另見
pwd 的 完整文檔 以 Texinfo 手冊 的 形式 維護. 如果你的系統 中 正確的 安裝了 info 和 pwd , 則命令
info pwd
應該能 讓你 訪問到 完整的手冊.
history命令:
History命令主要用於顯示歷史指令記錄內容, 下達歷史紀錄中的指令 。
1>History命令語法:
[test@linux]# history [n]
[test@linux]# history [-c]
[test@linux]# history [-raw] histfiles
參數:
n :數字,要列出最近的 n 筆命令列表
-c :將目前的shell中的所有 history 內容全部消除
-a :將目前新增的history 指令新增入 histfiles 中,若沒有加 histfiles ,
則預設寫入 ~/.bash_history
-r :將 histfiles 的內容讀到目前這個 shell 的 history 記憶中
-w :將目前的 history 記憶內容寫入 histfiles
Linux系統當你在shell(控制檯)中輸入並執行命令時,shell會自動把你的命令記錄到歷史列表中,一般保存在用戶目錄下的.bash_history文件中。默認保存1000條,你也可以更改這個值。
如果你鍵入 history, history會向你顯示你所使用的前1000個歷史命令,並且給它們編了號,你會看到一個用數字編號的列表快速從屏幕上捲過。你可能不需要查看1000個命令中的所有項目, 當然你也可以加入數字來列出最近的 n 筆命令列表。
root@iZ25prurj88Z:~# history | more
198 ll -a
199 cd ../
200 ll -a
201 mysql
202 mysql -u -p
203 ll -a
204 cd ../
205 ll -a
206 cd var
207 ll -a
208 cd backups
209 ll a
210 ll -a
211 cd home
212 cd home.
213 cd ../
214 cd home/
215 ll -a
216 cd ../
217 find / -name"dongyuan'"
shutdown、poweroff、reboot、hwclock、date命令:
shutdown命令:
shutdown 以一種安全的方式關閉系統。所有登陸用戶都可以看到關機信息提示,並且 login(1) 將被阻塞。可以指定立刻關機,也可以指定系統在一定的延時後關機。所有進程都將接收到 SIGTERM 信號。
NAME
shutdown - 關閉系統
總覽 SYNOPSIS
/sbin/shutdown [-t sec] [-arkhncfF] time [warning-message]
描述 DESCRIPTION
shutdown 以一種安全的方式關閉系統。所有登陸用戶都可以看到關機信息提示,並且 login(1) 將被阻塞。可以指定立刻關機,也可以指定系統在一定的延時後關機。所有進程都將接收到 SIGTERM 信號。這可以使 vi(1) 等程序有時間將處於編輯狀態的文件進行存儲,郵件和新聞程序進程則可以將所有緩衝池內的數據進行適當的清除等等。 shutdown 通過通知 init 進程,要求它改換運行級別來實現。運行級別 0 用來關閉系統,運行級別 6 用來重啓系統,運行級別 1 用來使系統進入執行系統管理任務狀態,如果沒有給出 -h 或 -r 標誌時,這是 shutdown 命令的默認工作狀態。具體關機或重啓所執行的操作請查閱 /etc/inittab 文件中相應的運行級別欄。
選項 OPTIONS
-a
使用 /etc/shutdown.allow 來驗證身份。
-t sec
通知 init(8) 在轉換到其它運行級別前,發送警告 (warning) 信號後延時 (sec) 秒數後再發送關閉 (kill) 信號。
-k
並非真正關機,只向所有人顯示警告信息。
-r
重啓。
-h
停機。
-n
[DEPRECATED(不應再使用)] 不調用 init(8) 程序進行關機操作,而由自己進行。不建議用戶使用這種關機方式,它的結果一般也不是你希望的那樣。
-f
重啓時跳過磁盤檢測。
-F
重啓時強制磁盤檢測。
-c
取消運行中的 shutdown 進程。不可能爲此選項指定 time 參數,但你可以在命令行輸入一條解釋消息來向所有用戶說明。(一般的shutdown指令可以用按“+”號來進行中斷)
time
關機時間。
warning-message
發送給所有用戶的消息。
time 參數的格式可以有很多種。首先,可以是 hh:mm 格式的絕對時間,其中 hh 指的是小時(一到二位數),mm 指的是分鐘(二位數)。第二種是 +m 格式,其中 m 指的是等待的分鐘數。 now 是 +0 的別名。
如果 shutdown 在調用時使用了延時,它將自動創建一個諮詢 (advisory) 文件 /etc/nologin ,作用是禁止 login(1) 允許新用戶登陸,除非 shutdown 在向 init 發信號前意外中止 (就是說,它被取消或出了什麼問題)。它會在調用 init 改變運行級之前刪除這個文件。
-f 標誌意味着 `快速重啓'。這將創建一個諮詢 (advisory) 文件 /fastboot ,此文件在系統重啓時會被檢測到。啓動腳本 rc 會檢測是否存在這樣的文件,如果有,就不會再運行 fsck(1),因爲系統是以正常方式關閉的。這之後,啓動進程會刪除 /fastboot。
-F 標誌意味着 `強制 fsck'。這將創建一個諮詢 (advisory) 文件 /forcefsck,此文件在系統重啓時會被檢測到。啓動腳本 rc 會檢測是否存在這個文件,如果有,就運行 fsck(1) 並且加上一個特殊的 `force' 標誌,以使得即使正常卸載的文件系統也被檢查。這之後,啓動進程會刪除 /forcefsck。
-n 標誌導致 shutdown 不調用 init 程序進行關機,而是自己關閉所有運行中的進程。shutdown 接下來會關閉配額 (quota),記賬 (accounting) 和交換分區,卸載所有文件系統。
訪問控制 ACCESS CONTROL
如果在 /etc/inittab 文件中有適當的條目,當按下特殊鍵 CTRL-ALT-DEL 時,shutdown 可以被 init(8) 調用。這意味着可以物理地接觸到終端鍵盤的任何人都可以關閉系統。要避免這種行爲,shutdown 可以檢測是否有授權的用戶登錄到了虛擬終端之一。如果 shutdown 在調用時帶有 -a 參數 (可以將它添加到 /etc/inittab 中 shutdown 的執行命令之後),它將檢測是否存在 /etc/shutdown.allow 文件。接下來它比較文件中的登錄名與虛擬終端的登錄用戶列表 (在/var/run/utmp)。只有當授權的用戶之一 或者 root 登錄了,它纔會繼續。否則,它會把信息
shutdown: no authorized users logged in
寫到 (物理的) 系統終端。/etc/shutdown.allow 的格式是每行一個用戶名。允許出現空行和註釋行 (以 # 開頭)。此文件當前有最多 32 個用戶的限制。
注意,如果 /etc/shutdown.allow 不存在,-a 參數將被忽略。
文件 FILES
/fastboot
/etc/inittab
/etc/init.d/halt
/etc/init.d/reboot
/etc/shutdown.allow
注意 NOTES
很多用戶忘記了傳遞 time 參數,結果被 shutdown 產生的錯誤消息所迷惑。time 參數是必須的,90% 的情況下這個參數會是 now。
Init 只能在終端模式捕獲 CTRL-ALT-DEL 並且啓動 shutdown。如果系統正在運行 X window System,X 服務器處理所有的按鍵。一些 X11 環境使得捕獲 CTRL-ALT-DEL 成爲可能,但是這個事件究竟做了什麼依賴於那個環境。
Shutdown 沒有被設計爲使用 setuid。/etc/shutdown.allow 不用來找出誰在執行 shutdown ,它*只*用來檢查當前在終端 (之一) 登錄的用戶。
作者 AUTHOR
Miquel van Smoorenburg, [email protected]
參見 SEE ALSO
fsck(8), init(8), halt(8), poweroff(8), reboot(8)
poweroff
NAME
halt, reboot, poweroff - 中止系統運行
SYNOPSIS
/sbin/halt [-n] [-w] [-d] [-f] [-i] [-p]
/sbin/reboot [-n] [-w] [-d] [-f] [-i]
/sbin/poweroff [-n] [-w] [-d] [-f] [-i]
描述
Halt 將系統正在關機的信息寫入 /var/log/wtmp 文件,然後通知內核停止重啓或關機系統。如果 halt 或 reboot 是在系統 沒有 運行在運行級別 0 或 6 ,系統將調用 shutdown(8) 命令(使用參數 -h 或 -r )。
選項
-n
在關機或重啓之前不對系統緩存進行同步。
-w
不真正重啓或關機,而僅僅將關機信息寫入 wtmp (在 /var/log/wtmp 文件裏)。
-d
不記錄此次關機情況。當使用 -n 參數時隱含 -d。
-f
強制執行 halt 或 reboot 而不去調用 shutdown(8)。
-i
在關閉或重啓系統之前關閉所有網絡界面。
-p
reboot
Halt 將系統正在關機的信息寫入 /var/log/wtmp 文件,然後通知內核停止重啓或關機系統。如果 halt 或 reboot 是在系統 沒有 運行在運行級別 0 或 6 ,系統將調用 shutdown(8) 命令(使用參數 -h 或 -r )。
hwclock
hwclock(hardware clock)
功能說明:顯示與設定硬件時鐘。
語 法:hwclock [--adjust][--debug][--directisa][--hctosys][--show][--systohc][--test]
[--utc][--version][--set --date=<日期與時間>]
補充說明:在Linux中有硬件時鐘與系統時鐘等兩種時鐘。硬件時鐘是指主機板上的時鐘設備,也就是通常可在BIOS畫面設定的時鐘。系統時鐘則是指kernel中的時鐘。當Linux啓動時,系統時鐘會去讀取硬件時鐘的設定,之後系統時鐘即獨立運作。所有Linux相關指令與函數都是讀取系統時鐘的設定。
參 數:
--adjust hwclock每次更改硬件時鐘時,都會記錄在/etc/adjtime文件中。使用--adjust參數,可使hwclock根據先前的記錄來估算硬件時鐘的偏差,並用來校正目前的硬件時鐘。
--debug 顯示hwclock執行時詳細的信息。
--directisa hwclock預設從/dev/rtc設備來存取硬件時鐘。若無法存取時,可用此參數直接以I/O指令來存取硬件時鐘。
--hctosys 將系統時鐘調整爲與目前的硬件時鐘一致。
--set --date=<日期與時間> 設定硬件時鐘。
--show 顯示硬件時鐘的時間與日期。
--systohc 將硬件時鐘調整爲與目前的系統時鐘一致。
--test 僅測試程序,而不會實際更改硬件時鐘。
--utc 若要使用格林威治時間,請加入此參數,hwclock會執行轉換的工作。
--version 顯示版本信息。
date:
date命令是顯示或設置系統時間與日期。 很多shell腳本里面需要打印不同格式的時間或日期,以及要根據時間和日期執行操作。延時通常用於腳本執行過程中提供一段等待的時間。日期可以以多種格式去打印,也可以使用命令設置固定的格式。在類UNIX系統中,日期被存儲爲一個整數,其大小爲自世界標準時間(UTC)1970年1月1日0時0分0秒起流逝的秒數。
date(選項)(參數)
-d<字符串>:顯示字符串所指的日期與時間。字符串前後必須加上雙引號;
-s<字符串>:根據字符串來設置日期與時間。字符串前後必須加上雙引號;
-u:顯示GMT; --help:在線幫助;
--version:顯示版本信息。
<+時間日期格式>:指定顯示時使用的日期時間格式。
5 man
淺談 man 命令的日常使用
Linux系統提供了相對比較豐富的幫助手冊(man),man是manual的縮寫,在日常linux系統管理中經常用到,今天就簡單聊聊man。man 本身也提供自己的幫助手冊,通過man就可以查看。
Linux系統提供了相對比較豐富的幫助手冊(man),man是manual的縮寫,在日常linux系統管理中經常用到,今天就簡單聊聊man。man 本身也提供自己的幫助手冊,通過man就可以查看。
(1)man手冊分爲多個section,每個section用一個字符表示。
這裏的section可以理解爲類別,例如:man 1 passwd 和 man 5 passwd是不一樣的類別(詳細見表一)。通常我們使用man passwd,這個時候man就按照預先設置的搜索路徑和順序去搜索passwd,當搜索到一個就停止繼續搜索並將結果顯示出來,如果我們指定了section,那麼man只會在指定的section裏去查找man幫助頁。
(2)man的配置文件。
man的配置文件是/etc/man.config,我們現學現用,可以通過man 5 man.config看看這個配置文件的幫助信息。對於man.config,我們日常使用的不多,一般都是默認的設置,比較重要的是MANPATH (man幫助文件存放的路徑)和MANSECT(man搜索的順序)兩個參數,通常不建議修改。
(3)man的日常使用。
man常用操作。使用man打開幫助手冊,裏面很多操作與我們經常使用的vi編輯器類似,當然可以通過h鍵查看具體的幫助信息,下面只簡單談談我們經常使用的一些操作。
上下翻頁。最常用的是使用空格鍵向下翻頁。另外,[Page Up] 可以向上翻頁,[Page Down]也可以實現向下翻頁,[Home]返回首頁,[End]返回末頁。
行移動。使用鍵盤方向鍵進行上下文移動,或者使用j鍵往下移動, k鍵向上移動。
查找。使用/string向下搜索string關鍵字,?string向上搜索string關鍵字。n鍵繼續關鍵字的下一個搜索,N鍵反向搜索關鍵字。
書籤。man中可以定義書籤,當我們想把幫助頁的某個位置記錄下來以便後面查看,就可以定義個書籤。例如在當前位置定義個書籤letter,我們需要輸入m鍵後,再輸入定義的書籤名letter即可。那麼如何使用這個書籤呢?在當前幫助頁裏輸入單引號'letter就可以定位到書籤的位置。
執行shell。在man頁內可以執行shell,通過!號再輸入shell即可執行。例如:!echo 'hello world',即可打印hello world。這個在日常工作中基本用不到,這裏提出來也就想開闊下大家的思路。
退出。q鍵退出當前幫助手冊。
man常用命令參數
man -a:搜索並打開所有man中同名幫助,例如 man passwd ,你首先會進入一個PASSWD(1) section用戶命令類的幫助手冊,你再按q鍵退出當前正在顯示的幫助手冊,就會進入PASSWD(5) section文件格式類的幫助手冊。
man -aw:顯示所有手冊文件的路徑。例如man -aw passwd
/usr/share/man/man1/passwd.1.gz
/usr/share/man/man5/passwd.5.gz
man -M:指定手冊文件的搜索路徑,有的時候我們自己安裝的軟件是帶有自己的幫助文件的,通常不在我們的MANPATH 裏面,那麼我們就可以手動指定man搜索的文件路徑。如 man -M /home/mysql/man mysql 顯示的就是你安裝的mysql的幫助,而不是系統默認的舊版mysql的幫助。
man -k:根據關鍵字搜索聯機幫助,是一種模糊搜索。例如要查找"passwd"相關的信息,使用man -k passwd會找到很多和passwd相關的幫助頁。
man -f:關鍵字精確搜索,與-k不同,它只搜索與關鍵字完全匹配的幫助頁。
6
1./:根
2./boot/:系統啓動目錄,內核文件vmlinuz,引導文件,啓動加載器boot loader,grub(開機設置文件相關);
3./root/:root用戶家目錄;
4./home/用戶名:普通用戶家目錄;
5./bin/:一般命令存放目錄;
6./sbin/:開機或單用戶模式還能操作的命令;
7./etc/:配置文件存放目錄,init.d下存放了各種軟件的啓動腳本;
8./dev/:任何設備與接口設備都是以文件的形式存放在此目錄,通過訪問目錄下的文件,就等於訪問某個設備,這就相當於是設備的入口,類似有/dev/null,/dev/zero,dev/tty,/dev/sd*,/dev/lp*,/dev/hd*等設備文件;
9./lib/:基本共享庫,內核模塊文件/lib/modules;
10./lib64:專用於x86_64系統上的輔助共享庫文件存放位置;
11./usr/:Unix Software Resource,Linux系統安裝完成軟件的默認安裝目錄。相當於Windows下的C:\Windows\和C:\Program files\兩個目錄的綜合。/usr/的子目錄包括:
1./usr/bin/用戶可使用命令
2./usr/include/包含文件
3./usr/lib/軟件的函數庫,目標文件以及不被一般用慣用的執行文件或腳本。
4./usr/sbin/非系統正常運行所需的系統命令。
5./usr/local/本地軟件或用戶安裝的軟件目錄
6./usr/share/放置共享文件的目錄,其中有/usr/share/man在線幫助文檔,/usr/share/doc軟件雜項文檔說明,/usr/share/zoneinfo與時區有關的時區文件。
7./usr/src/一般源碼放置位置。
12./var/:常態性變動的文件,包括緩存(cache)、登錄文件(log file)以及某些軟件運行所產生的文件,包括程序文件(lock file,run file),也許有MySQL數據庫的文件等。/var/的子目錄包括:
1./var/lib
2./var/cache程序運行過程中產生的緩存文件
3./var/lock鎖文件
4./var/log日誌文件
5./var/run
6./var/mail郵件
7./var/spool程序數據池
1./var/spool/cron
2./var/spool/mail
3./var/spool/mqueue
4./var/spool/lpd
13./opt/:第三方軟件安裝目錄
14./mnt/:臨時掛載目錄
15./media/:如cdrom,floppy等暫存媒體;
16./sys/:屬於虛擬文件系統,內存中的數據,如內核、文件系統等。
17./proc/:屬於虛擬文件系統,內存中的數據,如內核、程序進程、外部設備的狀態,網絡狀態等,處於動態變化中。
18./srv/:service,一些網絡服務啓動後,這些服務所需要取用的數據目錄。常見的服務有關www,FTP等,不同服務在不同的子文件夾中。
19./tmp/:臨時存放目錄,所用用戶都能訪問,
20./selinux/
21.Lost+found當文件發生錯誤時,將一些丟失的片段放置到這個目錄下。