第一周作業
一、計算機由硬件系統和軟件系統兩部分組成如下:
計算機硬件由CPU、內存、輸入設備、輸出設備組成。
1、中央處理器(CPU,Central Processing Unit)
CPU的功能主要是對輸入指令的判斷和運算;CPU包括運算器、控制器和寄存器三部分;
(1)、運算器
執行各種算術和邏輯運算操作,計算機運行時,運算器的操作和操作種類由控制器決定。運算器處理的數據來自存儲器;處理后的結果數據通常送回存儲器,或暫時寄存在運算器中。
(2)、控制器
指揮計算機的各個部件按照指令的功能要求協調工作的部件
(3)、寄存器
暫存指令、數據和地址
2、內存
作用:用于暫時存放CPU中的運算數據,以及與硬盤等外部存儲器交換的數據。只要計算機在運行中,CPU就會把需要運算的數據調到內存中進行運算,當運算完成后CPU再將結果傳送出來;內存分為隨機存儲器(RAM)、只讀存儲器(ROM)、高速緩存存儲器;
(1)、隨機存儲器(RAM):既可以從中讀取數據,也可以寫入數據。當機器電源關閉時,存于其中的數據就會丟失。
(2)、只讀存儲器(ROM):在制造ROM的時候,信息(數據或程序)就被存入并永久保存。這些信息只能讀出,一般不能寫入,即使機器停電,這些數據也不會丟失。ROM一般用于存放計算機的基本程序和數據。
(3)、高速緩存存儲器:就是平??吹降囊患壘彺?L1 Cache)、二級緩存(L2 Cache)、三級緩存(L3 Cache)這些數據,它位于CPU與內存之間,是一個讀寫速度比內存更快的存儲器。當CPU向內存中寫入或讀出數據時,這個數據也被存儲進高速緩沖存儲器中。當CPU再次需要這些數據時,CPU就從高速緩沖存儲器讀取數據,而不是訪問較慢的內存,當然,如需要的數據在Cache中沒有,CPU會再去讀取內存中的數據。
3、輸入設備
鍵盤,鼠標,攝像頭,掃描儀,光筆,手寫輸入板,游戲桿,語音輸入裝置等都屬于輸入設備。是人或外部向計算機進行輸入的一種裝置,用于把原始數據和處理這些數據的程序輸入到計算機中。
4、輸出設備
用于接收計算機數據的輸出顯示、打印、聲音、控制外圍設備操作等。也是把各種計算結果數據或信息以數字、字符、圖像、聲音等形式表現出來。常見的輸出設備有顯示器、打印機、繪圖儀、影像輸出系統、語音輸出系統、磁記錄設備等。
計算機軟件有系統軟件和應用軟件組成
1、系統軟件
指控制和協調計算機及外部設備,支持應用軟件開發和運行的系統,是無需用戶干預的各種程序的集合,主要功能是調度,監控和維護計算機系統;負責管理計算機系統中各種獨立的硬件,使得它們可以協調工作。系統軟件使得計算機使用者和其他軟件將計算機當作一個整體而不需要顧及到底層每個硬件是如何工作的。代表性的系統軟件是操作系統;
2、應用軟件
為滿足用戶不同領域、不同問題的應用需求而提供的那部分軟件。 它可以拓寬計算機系統的應用領域,放大硬件的功能。
二、Linux的發行版及它們之間的聯系和區別
Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基于POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟件、應用程序和網絡協議。它支持32位和64位硬件。Linux繼承了Unix以網絡為核心的設計思想,是一個性能穩定的多用戶網絡操作系統。
Linux的發行版有數百種之多;發行版=GUN(開源軟件)+Linux(內核)
1、Debian
Debian Project誕生于1993年8月13日,它的目標是提供一個穩定容錯的Linux版本。Debian沒有商業公司提供支持,而是由一批Linux愛好者進行升級改進。在Debian的基礎上還有一些衍生版
(1)、Ubuntu
Ubuntu是一個以桌面應用為主的Linux操作系統,Ubuntu基于Debian發行版和unity桌面環境,與Debian的不同在于它每6個月會發布一個新版本。Ubuntu的目標在于為一般用戶提供一個最新的、同時又相當穩定的主要由自由軟件構建而成的操作系統。Ubuntu具有龐大的社區力量,用戶可以方便地從社區獲得幫助。
(2)、Linux Mint
Linux Mint由Linux Mint Team團隊于2006年開始發行,是一份基于Debian和Ubuntu的Linux發行版。其目標是提供一種更完整的即刻可用體驗,這包括提供瀏覽器插件、多媒體編解碼器、對DVD播放的支持、Java和其他組件,它也增加了一套定制桌面及各種菜單,一些獨特的配置工具,以及一份基于web的軟件包安裝界面。Linux Mint是對用戶友好而功能強大的操作系統。它誕生的目的是為家庭用戶和企業提供一個免費的,易用的,舒適而優雅的桌面操作系統。
(3)、knopix
KNOPPIX是以自由軟體Linux的Debian套件為主干,不必安裝,免用硬碟,直接在光碟上執行完整的Linux作業系統,它既可以用來當桌上工作站用,也可以用來當網路伺服主機。
2、Slackware
Slackware Linux是由Patrick Volkerding開發的GNU/Linux發行版。它堅持KISS(Keep It Simple Stupid)的原則。一開始,配置系統會有一些困難,但是更有經驗的用戶會喜歡這種方式的透明性和靈活性。 Slackware 很多特性體現出了KISS原則,最為有名的一些例子就是不依賴圖形界面的文本化系統配置、傳統的服務管理方式和不解決依賴的包管理方式。它的最大特點就是安裝靈活,目錄結構嚴謹,版本力求穩定而非追新。Slackware的軟件包都是通常的tgz(tar/gzip) 或者txz(xz) 格式文件再加上安裝腳本。Tgz/Txz 對于有經驗的用戶來說,比RPM更為靈活,并避免了APT 之類管理器可能帶來的的依賴地獄。其二次開發版主要有:
(1)、S.u.S.E
SUSE Linux,針對個人用戶。一個連接數據庫的最佳Linux版本,基于2.4.10內核的SuSE 7.3,在原有版本的基礎上提高了易用性。安裝過程通過GUI完成,磁盤分區過程也非常簡單,但它沒有為用戶提供更多的控制和選擇。
(2)、SLES
SUSE Linux Enterprise Server,由SUSE提供的企業級Linux操作系統。
(3)、OpenSUSE
OpenSUSE是著名Novell公司旗下的 Linux的發行版,發行量在歐洲占第一位。它采用的KDE4.3作為默認桌面環境,同時也提供GNOME桌面版本。它的軟件包管理系統采用自主開發的YaST,頗受好評。他的用戶界面非常華麗,甚至超越windows7,而且性能良好。
3、RedHat
Red Hat Linux是公共環境中表現上佳的服務器。它擁有自己的公司,能向用戶提供一套完整的服務,這使得它特別適合在公共網絡中使用。這個版本的Linux也使用最新的內核,還擁有大多數人都需要使用的主體軟件包rpm。安裝過程也十分簡單明了。它的圖形安裝過程提供簡易設置服務器的全部信息。磁盤分區過程可以自動完成,還可以選擇GUI工具完成。主要使用范圍是美洲和中國,RedHat 9.0之后分為Fedora Core和RHEL;
(1)、Fedora Core
它是一套從Red Hat Linux發展出來的免費Linux系統。Fedora Core 的前身就是Red Hat Linux。Fedora是一個開放的、創新的、前瞻性的操作系統和平臺,基于Linux。它允許任何人自由地使用、修改和重發布,無論現在還是將來。它由一個強大的社群開發,這個社群的成員以自己的不懈努力,提供并維護自由、開放源碼的軟件和開放的標準。Fedora 項目由 Fedora 基金會管理和控制,得到了 Red Hat, Inc. 的支持。Fedora 是一個獨立的操作系統,是Linux的一個發行版,可運行的體系結構包括 x86(即i386-i686), x86_64 和 PowerPC。每六個月更新一次。
(2)、RHEL:RedHat Enterprise Linux
Red Hat公司發布的面向企業用戶的Linux操作系統。
(3)、CentOS
CentOS(Community ENTerprise Operating System)是Linux發行版之一,它是來自于Red Hat Enterprise Linux依照開放源代碼規定釋出的源代碼所編譯而成。由于出自同樣的源代碼,因此有些要求高度穩定性的服務器以CentOS替代商業版的Red Hat Enterprise Linux使用。CentOS 是RHEL(Red Hat Enterprise Linux)源代碼再編譯的產物,而且在RHEL的基礎上修正了不少已知的 Bug ,相對于其他 Linux 發行版,其穩定性值得信賴。
三、Linux的哲學思想
1、一切皆文件:
把幾乎所有資源統統抽象為文件形式:包括硬件設備,甚至通信接口等;
open(打開),read(讀),write(寫),close(關閉),delete(刪除)create(創建)
2、由眾多功能單一的程序組成:一個程序只做一件事,并且做好;
啟示:堅持做一件事,你才能做好。
組合小程序完成復雜任務;
3、盡量避免跟用戶交互;
目標:易于以編程的方式實現自動化任務;
4、使用文本文件保存配置信息;
四、Linux系統命令的使用格式及常用命令簡介
1、命令語法通用格式:
COMMAND OPTIONS ARGUMENTS
命令 選項 參數
COMMAND:命令
發起一命令:請求內核將某個二進制程序運行為一個進程;
程序 –> 進程
靜態 –> 動態(有生命周期)
命令本身是一個可執行的程序文件:二進制格式的文件,有可能會調用共享庫文件;
多數程序文件都存放在:/bin,/sbin,/usr/bin/,/usr/sbin, /usr/local/bin,/usr/local/sbin;
普通命令:/bin,/usr/bin,/usr/local/bin;
管理命令:/sbin,/usr/sbin,/usr/local/sbin;
共享庫:/lib,/lib64,/usr/lib,/usr/lib64,
32bit的庫:/lib,/usr/lib,/usr/local/lib;
64bir的庫:/lib64,/usr/lib64,/usr/local/lib64 (64可以兼容32的庫)
注意:并非所有的命令都有一個在某目錄與之對應的可執行程序文件
命令必須遵循特定格式規范:exe,msi,ELF(Linux)
~}# file /bin/ls :查看文件內容的類型
命令分為兩類:
由shell程序自帶的命令:內置命令(builtin)
獨立的可執行程序文件,文件名即命令名,外部命令,可執行程序;
shell程序是獨特的程序,負責解析用戶提供的命令:
環境變量:
PATH:從哪些路徑中查找用戶鍵入的命令字符串所對應的命令文件;
~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin(冒號分隔)
查找次序:自左向右,以第一個為準;
OPTIONS:選項;指定命令的運行特性;
選項有兩種表現形式:
短選項:-C,例如-l,-d;
注意:有些命令的選項沒有-;
如果同一命令同時使用多個短選項,多數可以合并:-l -d = -ld
長選項:–word,例如:–help,–human;
注意:長選項不能合并;
注意:有些選項可以帶參數,此稱為選項參數:
ARGUMENTS:參數
命令的作用對象,表示命令對什么生效;
注意:不同的命令的參數:有些命令可同時帶多個參數,之間以空白符分隔;
例如:ls -ld /var /etc
2、常用命令
ifconfig
ifconfig(interfaces config),通常需要以root身份登錄或使用sudo執行,ifconfig工具不僅可以被用來簡單地獲取網絡接口配置信息,還可以修改這些配置。
(1).命令格式:
ifconfig [網絡設備] [參數]
(2).命令功能:
ifconfig 命令用來查看和配置網絡設備。當網絡環境發生改變時可通過此命令對網絡進行相應的配置。
(3).命令參數:
up 啟動指定網絡設備/網卡。
down 關閉指定網絡設備/網卡。該參數可以有效地阻止通過指定接口的IP信息流,如果想永久地關閉一個接口,我們還需要從核心路由表中將該接口的路由信息全部刪除。
arp 設置指定網卡是否支持ARP協議。
-promisc 設置是否支持網卡的promiscuous模式,如果選擇此參數,網卡將接收網絡中發給它所有的數據包
-allmulti 設置是否支持多播模式,如果選擇此參數,網卡將接收網絡中所有的多播數據包
-a 顯示全部接口信息
-s 顯示摘要信息(類似于 netstat -i)
add 給指定網卡配置IPv6地址
del 刪除指定網卡的IPv6地址
<硬件地址> 配置網卡最大的傳輸單元
mtu<字節數> 設置網卡的最大傳輸單元 (bytes)
netmask<子網掩碼> 設置網卡的子網掩碼。掩碼可以是有前綴0x的32位十六進制數,也可以是用點分開的4個十進制數。如果不打算將網絡分成子網,可以不管這一選項;如果要使用子網,那么請記住,網絡中每一個系統必須有相同子網掩碼。
tunel 建立隧道
dstaddr 設定一個遠端地址,建立點對點通信
-broadcast<地址> 為指定網卡設置廣播協議
-pointtopoint<地址> 為網卡設置點對點通訊協議
multicast 為網卡設置組播標志
address 為網卡設置IPv4地址
txqueuelen<長度> 為網卡設置傳輸列隊的長度
(4).使用實例:
實例1:顯示網絡設備信息(激活狀態的)
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:BF:26:20
inet addr:192.168.120.204 Bcast:192.168.120.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8700857 errors:0 dropped:0 overruns:0 frame:0
TX packets:31533 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:596390239 (568.7 MiB) TX bytes:2886956 (2.7 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:68 errors:0 dropped:0 overruns:0 frame:0
TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2856 (2.7 KiB) TX bytes:2856 (2.7 KiB)
說明:
eth0 表示第一塊網卡, 其中 HWaddr 表示網卡的物理地址,可以看到目前這個網卡的物理地址(MAC地址)是 00:50:56:BF:26:20
inet addr 用來表示網卡的IP地址,此網卡的 IP地址是 192.168.120.204,廣播地址, Bcast:192.168.120.255,掩碼地址Mask:255.255.255.0
lo 是表示主機的回壞地址,這個一般是用來測試一個網絡程序,但又不想讓局域網或外網的用戶能夠查看,只能在此臺主機上運行和查看所用的網絡接口。比如把 HTTPD服務器的指定到回壞地址,在瀏覽器輸入 127.0.0.1 就能看到你所架WEB網站了。但只是您能看得到,局域網的其它主機或用戶無從知道。
第一行:連接類型:Ethernet(以太網)HWaddr(硬件mac地址)
第二行:網卡的IP地址、子網、掩碼
第三行:UP(代表網卡開啟狀態)RUNNING(代表網卡的網線被接上)MULTICAST(支持組播)MTU:1500(最大傳輸單元):1500字節
第四、五行:接收、發送數據包情況統計
第七行:接收、發送數據字節數統計信息。
實例2:啟動關閉指定網卡
命令:
ifconfig eth0 up
ifconfig eth0 down
說明:
ifconfig eth0 up 為啟動網卡eth0 ;ifconfig eth0 down 為關閉網卡eth0。ssh登陸linux服務器操作要小心,關閉了就不能開啟了,除非你有多網卡。
實例3:配置IP地址
[root@localhost ~]# ifconfig eth0 192.168.120.56 netmask 255.255.255.0 broadcast 192.168.120.255
說明:
/給eth0網卡配置IP地址:192.168.120.56,加上子掩碼:255.255.255.0,加上個廣播地址: 192.168.120.255
實例4:啟用和關閉ARP協議
[root@localhost ~]# ifconfig eth0 arp
[root@localhost ~]# ifconfig eth0 -arp
說明:
ifconfig eth0 arp 開啟網卡eth0 的arp協議;
ifconfig eth0 -arp 關閉網卡eth0 的arp協議;
實例5:設置最大傳輸單元
[root@localhost ~]# ifconfig eth0 mtu 1480
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:BF:26:1F
inet addr:192.168.120.203 Bcast:192.168.120.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1480 Metric:1
RX packets:8712395 errors:0 dropped:0 overruns:0 frame:0
TX packets:36631 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:597062089 (569.4 MiB) TX bytes:2643973 (2.5 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:9973 errors:0 dropped:0 overruns:0 frame:0
TX packets:9973 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:518096 (505.9 KiB) TX bytes:518096 (505.9 KiB)
[root@localhost ~]# ifconfig eth0 mtu 1500
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:BF:26:1F
inet addr:192.168.120.203 Bcast:192.168.120.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8712548 errors:0 dropped:0 overruns:0 frame:0
TX packets:36685 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:597072333 (569.4 MiB) TX bytes:2650581 (2.5 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:9973 errors:0 dropped:0 overruns:0 frame:0
TX packets:9973 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:518096 (505.9 KiB) TX bytes:518096 (505.9 KiB)
說明:
設置能通過的最大數據包大小為 1500 bytes
備注:用ifconfig命令配置的網卡信息,在網卡重啟后機器重啟后,配置就不存在。要想將上述的配置信息永遠的存的電腦里,那就要修改網卡的配置文件了。
echo:回顯
語法:
echo [SHORT-OPTION]… [STRING]…
選項:
-n:不進行換行操作;
-e:讓轉義符生效,\字符開頭的是轉義符;
\n:換行;
\t:橫向制表符
\v:縱向制表符;
\b:退格鍵;
參數:
STRINBG可以使用引號,單引號和雙引號;
單引號:強引用,變量引用不執行替換;
~]# echo '$SHELL'
雙引號:弱引用,變量引用會被替換;
~]# echo "$SHELL"
注意:變量引用的正規符號
${name}
例:
[root@iZ25hfz3698Z ~]# echo "hello mage"
hello mage
[root@iZ25hfz3698Z ~]# echo -e "hello \nmage"
hello
mage
[root@iZ25hfz3698Z ~]# echo "$SHELL"
/bin/bash
[root@iZ25hfz3698Z ~]# echo '$SHELL'
$SHELL
用echo命令打印帶有色彩的文字:
文字色:
echo -e "\e[1;31mThis is red text\e[0m" ##e[1;31m 將顏色設置為紅色;;##e[0m 將顏色重新置回
This is red text
顏色碼:重置=0,黑色=30,紅色=31,綠色=32,黃色=33,藍色=34,洋紅=35,青色=36,白色=37
背景色:
echo -e "\e[1;42mGreed Background\e[0m" Greed Background
顏色碼:重置=0,黑色=40,紅色=41,綠色=42,黃色=43,藍色=44,洋紅=45,青色=46,白色=47
文字閃動:
echo -e "\033[37;31;5mMySQL Server Stop…\033[39;49;0m"
紅色數字處還有其他數字參數:0 關閉所有屬性、1 設置高亮度(加粗)、4 下劃線、5 閃爍、7 反顯、8 消隱
tty
用于顯示終端機連接標準輸入設備的文件名稱。
在Linux操作系統中,所有外圍設備都有其名稱與代號,這些名稱代號以特殊文件的類型存放于/dev目錄下。你可以執行tty(teletypewriter)指令查詢目前使用的終端機的文件名稱。
語法
tty [-s][–help][–version]
參數說明:
-s或–silent或–quiet 不顯示任何信息,只回傳狀態代碼。
–help 在線幫助。
–version 顯示版本信息。
實例
顯示當前終端
~]# tty
/dev/pts/4
startx
用來啟動X Window,其實startx命令啟動的是xinit,然后再由xinit來啟動X Window
語法:startx [程序][–服務器設置]
補充說明:startx為啟動X Window的script文件,實際上啟動X Window的程序為xinit。
參數:
?。鄢绦颍?此處所指定的[程序]為X Window所要執行程序的配置文件。
?。?#8211;服務器設置] startx預設會去讀取.xerverrc中的配置,決定啟動X Window的方式。
export
Linux export命令用于設置或顯示環境變量。
在shell中執行程序時,shell會提供一組環境變量。export可新增,修改或刪除環境變量,供后續執行的程序使用。export的效力僅及于該次登陸操作。
語法
export [-fnp][變量名稱]=[變量設置值]
參數說明:
-f 代表[變量名稱]中為函數名稱。
-n 刪除指定的變量。變量實際上并未刪除,只是不會輸出到后續指令的執行環境中。
-p 列出所有的shell賦予程序的環境變量。
實例
列出當前所有的環境變量
# export -p //列出當前的環境變量值
declare -x HOME=“/root“
declare -x LANG=“zh_CN.UTF-8“
declare -x LANGUAGE=“zh_CN:zh“
declare -x LESSCLOSE=“/usr/bin/lesspipe %s %s“
declare -x LESSOPEN=“| /usr/bin/lesspipe %s“
declare -x LOGNAME=“root“
declare -x LS_COLORS=““
declare -x MAIL=“/var/mail/root“
declare -x OLDPWD
declare -x PATH=“/opt/toolchains/arm920t-eabi/bin:/opt/toolchains/arm920t-eabi/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games“
declare -x PWD=“/root“
declare -x SHELL=“/bin/bash“
declare -x SHLVL=“1“
declare -x SPEECHD_PORT=“6560“
declare -x SSH_CLIENT=“192.168.1.65 1674 22“
declare -x SSH_CONNECTION=“192.168.1.65 1674 192.168.1.3 22“
declare -x SSH_TTY=“/dev/pts/2“
declare -x TERM=“XTERM“
declare -x USER=“root“
declare -x XDG_SESSION_COOKIE=“93b5d3d03e032c0cf892a4474bebda9f-1273864738.954257-340206484“
定義環境變量
# export MYENV //定義環境變量
# export -p //列出當前的環境變量
declare -x HOME=“/root“
declare -x LANG=“zh_CN.UTF-8“
declare -x LANGUAGE=“zh_CN:zh“
declare -x LESSCLOSE=“/usr/bin/lesspipe %s %s“
declare -x LESSOPEN=“| /usr/bin/lesspipe %s“
declare -x LOGNAME=“root“
declare -x LS_COLORS=““
declare -x MAIL=“/var/mail/root“
declare -x MYENV
declare -x OLDPWD
declare -x PATH=“/opt/toolchains/arm920t-eabi/bin:/opt/toolchains/arm920t-eabi/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games“
declare -x PWD=“/root“
declare -x SHELL=“/bin/bash“
declare -x SHLVL=“1“
declare -x SPEECHD_PORT=“6560“
declare -x SSH_CLIENT=“192.168.1.65 1674 22“
declare -x SSH_CONNECTION=“192.168.1.65 1674 192.168.1.3 22“
declare -x SSH_TTY=“/dev/pts/2“
declare -x TERM=“XTERM“
declare -x USER=“root“
declare -x XDG_SESSION_COOKIE=“93b5d3d03e032c0cf892a4474bebda9f-1273864738.954257-340206484“
定義環境變量賦值
# export MYENV=7 //定義環境變量并賦值
# export -p
declare -x HOME=“/root“
declare -x LANG=“zh_CN.UTF-8“
declare -x LANGUAGE=“zh_CN:zh“
declare -x LESSCLOSE=“/usr/bin/lesspipe %s %s“
declare -x LESSOPEN=“| /usr/bin/lesspipe %s“
declare -x LOGNAME=“root“
declare -x LS_COLORS=““
declare -x MAIL=“/var/mail/root“
declare -x MYENV=“7“
declare -x OLDPWD
declare -x PATH=“/opt/toolchains/arm920t-eabi/bin:/opt/toolchains/arm920t-eabi/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games“
declare -x PWD=“/root“
declare -x SHELL=“/bin/bash“
declare -x SHLVL=“1“
declare -x SPEECHD_PORT=“6560“
declare -x SSH_CLIENT=“192.168.1.65 1674 22“
declare -x SSH_CONNECTION=“192.168.1.65 1674 192.168.1.3 22“
declare -x SSH_TTY=“/dev/pts/2“
declare -x TERM=“XTERM“
declare -x USER=“root“
declare -x XDG_SESSION_COOKIE=“93b5d3d03e032c0cf892a4474bebda9f-1273864738.954257-340206484“
pwd
顯示當前所在目錄的絕對路徑
語法
pwd [–help][–version]
參數說明:
–help 在線幫助。
–version 顯示版本信息。
例:
[root@CMCC120 /usr/local/NC-CR/data/9]
pwd
/usr/local/NC-CR/data/9
history
history命令用于顯示指定數目的指令命令,讀取歷史命令文件中的目錄到歷史命令緩沖區和將歷史命令緩沖區中的目錄寫入命令文件。
該命令單獨使用時,僅顯示歷史命令,在命令行中,可以使用符號!執行指定序號的歷史命令。例如,要執行第2個歷史命令,則輸入!2。
歷史命令是被保存在內存中的,當退出或者登錄shell時,會自動保存或讀取。在內存中,歷史命令僅能夠存儲1000條歷史命令,該數量是由環境變量HISTSIZE進行控制。
語法
history(選項)(參數)
選項
-c:清空當前歷史命令;
-a:將歷史命令緩沖區中命令寫入歷史命令文件中;
-r:將歷史命令文件中的命令讀入當前歷史命令緩沖區;
-w:將當前歷史命令緩沖區命令寫入歷史命令文件中。
參數
n:打印最近的n條歷史命令。
實例
使用history命令顯示最近使用的10條歷史命令,輸入如下命令:
[root@CMCC120 /usr/local/NC-CR/data/9]
history 10
999 2016-12-05 16:41:19 root ll -rt /inputs/dpi_log/|head
1000 2016-12-05 16:41:36 root logout
1001 2016-12-05 18:10:26 root cd .ssh/
1002 2016-12-05 18:10:27 root ll
1003 2016-12-05 18:10:34 root cat id_rsa.pub
1004 2016-12-05 18:21:00 root cd /usr/local/NC-CR/data/9/
1005 2016-12-05 18:21:05 root du -shc *
1006 2016-12-05 18:26:14 root tty
1007 2016-12-05 18:44:09 root pwd
1008 2016-12-05 18:48:33 root history 10
shutdown
關機命令
語法:
shutdown [OPTION…] [TIME] [WALL…]
選項 時間
shutdown -r +10 "hello everyone"
選項OPTIONS:
-h:halt,關機
-r:reboot:重啟
-c:cancel,取消
時間TIME:
now:立刻
hh:mm:指定時間,時分
+m :幾分鐘后
+0
WALL:
所有人的終端都發送一個信息;可以廣播聊天;
poweroff
用來關閉計算機操作系統并且切斷系統電源。
語法
poweroff (選項)
選項:
-n:關閉操作系統時不執行sync操作;
-w:不真正關閉操作系統,僅在日志文件“/var/log/wtmp”中;
-d:關閉操作系統時,不將操作寫入日志文件“/var/log/wtmp”中添加相應的記錄;
-f:強制關閉操作系統;
-i:關閉操作系統之前關閉所有的網絡接口;
-h:關閉操作系統之前將系統中所有的硬件設置為備用模式。
例如:[root@zf ~]# poweroff -f #強制關機
reboot
reboot命令用來重新啟動正在運行的Linux操作系統。
語法:
reboot (選項)
選項:
-d:重新開機時不把數據寫入記錄文件/var/tmp/wtmp。本參數具有“-n”參數效果;
-f:強制重新開機,不調用shutdown指令的功能;
-i:在重開機之前,先關閉所有網絡界面;
-n:重開機之前不檢查是否有未結束的程序;
-w:僅做測試,并不真正將系統重新開機,只會把重開機的數據寫入/var/log目錄下的wtmp記錄文件。
實例
reboot //重開機。
reboot -w //做個重開機的模擬(只有紀錄并不會真的重開機)。
hwclock
hwclock = clock
顯示或設定硬件時鐘;主板上的紐扣電池;
選項:
-s,–hctosys:以硬件為準,把系統時間設置為硬件時間;
-w,–systohc:以系統為準,把硬件時鐘調整為系統時鐘;
例:
[root@CMCC101 ~/shell]
hwclock
2016年12月05日 星期一 19時05分57秒 -0.244289 seconds
date
顯示日期時間;
語法:
dateb [OPTION]… [+FORMAT]
FORMAT:格式符
%Y:年
%m:月
%d:日
%H:時
%M:分
%S:秒
%s:時間戳,自UTC 時間 1970-01-01 00:00:00 以來所經過的秒數;(Unix元年)
時間戳是指格林威治時間1970年01月01日00時00分00秒(北京時間1970年01月01日08時00秒)
%F:%Y-%m-%d,顯示年月日;
%T:%H:%M:%S,顯示時分秒;
date +"%F %T"
2016-12-04 17:18:37
date +%c:顯示詳細信息;
Sun 04 Dec 2016 05:20:03 PM CST
2016年12月04日 星期日 17時20分50秒
…
設定日期時間:date [MMDDhhmm[[CC]YY][.ss]]
月日時分 年 .秒
-s:設置時間
date -s "2016-11-27 00:50:00" 修改到指定時間
例:
[root@CMCC101 ~/shell]
date
2016年 12月 05日 星期一 19:10:26 CST
五、Linux獲取命令的使用幫助
內部命令:
help COMMAND
外部命令:
1、命令自帶簡要格式的使用幫助
~]# COMMAND –help
2、使用手冊:manual,man
位置:/usr/share/man
~]# man COMMAND
SECTION:
NAME:功能性說明
SYNOPSIS:語法格式
DESCRIPTION:描述
OPTIONS:選項
EXAMPLES:使用示例
AUTHOR :作者
BUGS:報告程序bug的方式
SEE ALSO:參考
SYNOPSIS:
[]:可選內容;
<>: 必須提供的內容;
a|b|c:多選一;
…:同類內容可出現多個;
{}:對a|b|c與其他的分隔;
man命令打開手冊以后的操作方法:
翻屏:
空格鍵:向下翻一屏;
b:向上翻一屏;
Ctrl+d :向下翻半屏;
Ctrl+u :向上翻半屏;
回車鍵:向下一行;
K:向上翻一行;
G:跳到最后一行;
#G:跳到指定行,例:1G:跳到第一行;
文件搜索:用"/"或“?”
/keyword:不區分大小寫,從文件首部向文件尾部依次查找;
?keyword:不區分大小寫,從文件尾部向文件首部依次查找;
n:與查找命令方向相同;
N:與查找命令方向相反;
退出:
q:quit;
選項:
-M /PATH/TO?SOMEDIR:到指定目錄下查找命令手冊并打開之;
man章節的劃分:
/usr/share/man
man1,man2,…
1:用戶命令說明:
2:系統調用;
3:C庫調用;
4:設備文件及特殊文件;
5:文件格式:(配置文件格式)
6:游戲使用幫組;
7:雜項;
8:管理工具及守護進程;
~}# man CHAPTER COMMAND
man 章節 命令
注意:并非每個COMMAND在所有章節下都有手冊:
查看命令在哪個章節有手冊,用whatis:
~]# whatis COMMAND
其執行過程是查詢數據庫進行的;
手動更新數據庫:
~]# makewhatis
六、Linux發行版的目錄命令規則
/:根目錄,所有的目錄、文件、設備都在/之下,/就是Linux文件系統的組織者,也是最上級的領導者。
/bin:bin 就是二進制(binary),可執行文件。一般用戶命令在/bin;/usr/bin;/usr/local/bin;
/boot:Linux的內核及引導系統程序所需要的文件目錄,比如 vmlinuz initrd.img 文件都位于這個目錄中。在一般情況下,GRUB或LILO系統引導管理器也位于這個目錄。
/cdrom:這個目錄在剛剛安裝系統的時候是空的??梢詫⒐怛屛募到y掛在這個目錄下。例如:mount /dev/cdrom /cdrom
/dev:dev 是設備(device)的英文縮寫。這個目錄對所有的用戶都十分重要。因為在這個目錄中包含了所有linux系統中使用的外部設備。但是這里并不是放的外部設備的驅動程序。這一點和常用的windows,dos操作系統不一樣。它實際上是一個訪問這些外部設備的端口??梢苑浅7奖愕厝ピL問這些外部設備,和訪問一個文件,一個目錄沒有任何區別。
/etc:在這個目錄下存放了系統管理時要用到的各種配置文件和子目錄。要用到的網絡配置文件,文件系統,x系統配置文件,設備配置信息,設置用戶信息等都在這個目錄下。
/home:如果建立一個用戶,用戶名是"xx",那么在/home目錄下就有一個對應的/home/xx路徑,用來存放用戶的主目錄。
/lib:lib是庫(library)。這個目錄是存放系統動態連接共享庫的,直接調用的工具。庫文件一般放在/lib;/usr/lib;/usr/local/lib;
/lost+found:在ext2或ext3文件系統中,當系統意外崩潰或機器意外關機,而產生一些文件碎片放在這里。當系統啟動的過程中fsck工具會檢查這里,并修復已經損壞的文件系統。有時系統發生問題,有很多的文件被移到這個目錄中,可能會用手工的方式來修復,或移到文件到原來的位置上。
/mnt:這個目錄一般是用于存放掛載儲存設備的掛載目錄的,比如有cdrom等目錄。可以參看/etc/fstab的定義。
/media:掛載點目錄;移動設備。
/opt:可選目錄;第三方軟件安裝位置。
/proc:可以在這個目錄下獲取系統信息。這些信息是在內存中,由系統自己產生的。
/root:Linux超級權限用戶root的家目錄。
/sbin:這個目錄是用來存放系統管理員的系統管理程序。大多是涉及系統管理的命令的存放,是超級權限用戶root的可執行命令存放地,普通用戶無權限執行這個目錄下的命令,這個目錄和/usr/sbin; /usr/X11R6/sbin或/usr/local/sbin目錄是相似的,凡是目錄sbin中包含的都是root權限才能執行的。
/selinux :對SElinux的一些配置文件目錄,SElinux可以讓linux更加安全。
/srv :服務啟動后,所需訪問的數據目錄,舉個例子來說,www服務啟動讀取的網頁數據就可以放在/srv/www中;
/sys:偽文件系統,跟硬件設備相關的屬性映射文件
/tmp:臨時文件目錄,用來存放不同程序執行時產生的臨時文件。有時用戶運行程序的時候,會產生臨時文件。/tmp就用來存放臨時文件的。/var/tmp目錄和這個目錄相似。
/usr:這是linux系統中占用硬盤空間最大的目錄。用戶的很多應用程序和文件都存放在這個目錄下。在這個目錄下,可以找到那些不適合放在/bin或/etc目錄下的額外的工具
/usr/local:這里主要存放那些手動安裝的軟件,即不是通過“新立得”或apt-get安裝的軟件。它和/usr目錄具有相類似的目錄結構。讓軟件包管理器來管理/usr目錄,而把自定義的腳本(scripts)放到/usr/local目錄下面、。
/usr/share :系統共用的東西存放地,比如 /usr/share/fonts 是字體目錄,/usr/share/doc和/usr/share/man幫助文件。
/var :可變化的文件;例:系統默認日志存放目錄,可以理解為vary的縮寫。
/var/cache/:應用程序本身運作過程中會產生的一些暫存檔;
/var/lib/: 程序本身執行的過程中,需要使用到的數據文件放置的目錄。在此目錄下各自的軟件應該要有各自的目錄。舉例來說,MySQL 的數據庫放置到/var/lib/mysql/而 rpm 的數據庫則放到/var/lib/rpm 去!
/var/lock/ :某些裝置或者是檔案資源一次只能被一個應用程序所使用,如果同時有兩個程序使 用該裝置時,就可能產生一些錯誤的狀況,因此就得要將該裝置上鎖(lock),以確保該裝置只會給單一軟件所使用。
/var/log/ :這是用來存放系統日志的目錄!里面比較重要的檔案如 /var/log/messages, /var/log/wtmp(記錄登入者的信息)等。
/var/mail/ :放置個人電子郵件信箱的目錄,不過這個目錄也被放置到/var/spool/mail/目錄中! 通常這兩個目錄是互為鏈接文件啦!
原創文章,作者:moer,如若轉載,請注明出處:http://www.www58058.com/62682
其實上面的圖可以自己畫的,總結的很好,有例子有說明,加油