俗話說,好記性不如爛筆頭,在當今移動互聯網橫行的時代,爛筆頭就是網絡,而筆記本就是各種平臺。
作為一個IT人,有人突然問你計算機是啥,你可能不會像學文科的人一樣給他說,就是電腦啊。這時候就是凸顯IT知識技能的時候了,那么我下面就給您慢慢的道來。
在1946年美籍匈牙利人馮·諾依曼首次提出了自己的計算機體系理論,簡稱馮·諾依曼體系,主要是說計算機由五大基本部件組成,分別是運算器、控制器、存儲器、I/O設備,這時候你可能會問怎么沒有CPU這么重要的東西,其實啊,CPU是集成了運算器、控制器、寄存器和緩存的一個部件。這五大部件各司其職,分別完成不同的功能,其中一、控制器是整個計算機的中樞神經,其功能是對程序規定的控制信息進行解釋,根據其要求進行控制,調度程序、數據、地址,協調計算機各部分工作及內存與外設的訪問等。二、運算器的功能是對數據進行各種算術運算和邏輯運算,即對數據進行加工處理。三、存儲器的功能是存儲程序、數據和各種信號、命令等信息,并在需要時輸出上述信息。注意,此處的存儲器不是我們常說的硬盤、磁盤、U盤等設備,而是指內部存儲器,主要用于暫時存放CPU中的運算數據,以及與各外部存儲器交換的數據。通俗的講,就是相當于現在我們常說的手機上的2G、4G、6G、8G等內存。四、I/O設備是輸入/輸出((Input/Output)設備的簡寫,主要用于連接大量的外圍設備,如鍵盤、鼠標、磁盤等。
有了底層硬件的簡要知識 ?,要想運行需要的程序,這時就必須要在硬件系統上安裝能夠驅動硬件工作的軟件系統,由此系統的概念應運而生,廣義上的系統就是我們常說的內核(kernal)+應用程序(application),而狹義上的系統只是內核(kernal),內核的功能就是驅動底層硬件設備、抽象底層的硬件設備、為程序的運行分配必要的資源等。最初的系統可能比你還年長,而windows系統你可能比較熟悉,但是你聽說過Linux系統么,這個時候很多人的回答可能是Linux是什么東西。不要著急,我也可以給您大致說一下,因為歷史的種種原因,Unix在發展到后期因為內部爭斗弒殺中已經中途沒落。在1983年9月27日,由Richard Stallman公開發起的GNU計劃,又稱革奴計劃,主要是提供大量的開源軟件,但是當時還是運行在Unix的內核上,社區上很多人都希望能夠擁有自己的內核,因此在1991年8月,Linus Torvalds 宣布成立Linux,并且開源,經過社區大量IT人的不斷努力下Linux快速成長,但是由于GNU發布的程序大都是源代碼,要編譯以后才能正常使用,因此才產生了很多公司經過編譯Linux源碼以后提供簡單便捷的二進制格式,正是因為如此Linux才產生了非常多的分支,這里只介紹幾個最著名的分支:
一、 ?Debian系,在Debian系列里,又衍生出了諸如ubuntu、knopix等令人熟知的內核系統
二、Slachware系,在Slachware系列里,又衍生出了SUSE,其中SUSE又分為企業版本的SLES和社區版本的OpenSUSE
三、RedHat系,在RedHat系列里,分為企業版本的RHEL和個人用戶版本的Fedora Core,其中我們最熟知也是使用率非常高的Centos就是RedHat企業版本的又一次發行版本。
說完了各種發行版,現在說說Linux系統本身,在Linux系統里,一切皆文件, 系統把所有的硬件資源抽象為文件,此種做法最大的好處就是設置底層硬件的一些功能就可以直接通過修改硬件所對應的文件來完成。每個安裝在內核系統上的軟件也被視為文件,在安裝完成后使用特定命令就可以看到該軟件所生成的所有文件,最常見的文件有:二進制文件、配置文件、庫文件、幫助文檔。因為我們用得最多的可能是Centos,此處給您講講硬件的抽象文件存放位置以及系統安裝完成后都會生成哪些文件。
Linux的各文件像一棵倒置的樹,所有文件都是由最頂端的根引出來的,然后一層一層往下生成,如下圖:
你是不是覺得,哇!這么多目錄,到底都是干嘛用的啊,下面我就給您講講,上面說了根(/)處于Linux文件系統樹形結構的最頂端,它是Linux文件系統的入口,所有的目錄、文件、設備都在/之下。
(1)、/bin ?該目錄存放著系統最常用的也是最重要的命令,相當于DOS下的內部命令,只不過它們是以獨立的文件形式存在。比如:ls、cp、mkdir等命令。這個目錄中的文件都是可執行的并且是普通用戶都可以使用的命令。作為系統最基礎的命令都放在這里。
(2)、/boot ?該目錄是系統內核及引導系統的程序存放位置,比如vmlinuz、initrd.img等文件都位于這個目錄中。在一般情況下,GRUB或LILO系統引導管理器在這個目錄中。
(3)、/dev ?該目錄是存儲設備文件的位置,這個目錄下存放所有Linux的外部設備文件,這些設備文件的功能類似于DOS下的.sys文件和Win下的.vxd文件。Linux將設備當成文件使用,即將設備抽象化,這樣極大地方便了我們對設備的操作控制。
(4)、/etc ?該目錄主要存放系統一些的配置文件,比如:用戶帳號及密碼配置文件等。
(5)、/home ?普通用戶的家目錄文件,在文件夾下,每個用戶都有以用戶名為文件夾的單獨目錄。有一種情況需要除外,用戶在創建此用戶是明確指明不需要創建家目錄。
(6)、/lib ?該目錄用于存放各種庫文件,這個目錄里存放著系統最基本的共享庫,其作用類似于Windows里的.dll文件。幾乎所有的應用程序都須要用到這些共享庫。
(7)、/media ?該目錄為即插即用型存儲設備的掛載點自動創建目錄。比如USB盤系統自動掛載后,會在當前目錄下產生一個子目錄;CDROM/DVD自動掛載后,也會在當前目錄中創建一個子目錄。
(8)、/mnt ?該目錄是用于存放掛載儲存設備的掛載目錄,系統提供此目錄是讓用戶臨時掛載其他的文件系統。
(9)、/opt ?用戶自己的應用程序目錄。
(10)、/proc ?系統運行過程的映射目錄,該目錄是一個虛擬的目錄,它是系統內存的映射,我們可以通過直接訪問這個目錄來獲取系統的一些相關信息。
(11)、/root ?系統管理員(超級用戶)的主目錄。
(12)、/sbin ?大多數涉及系統管理的命令都存放在該目錄中,它是超級權限用戶root的可執行命令存放地,普通用戶無權限執行這個目錄下的命令,凡是目錄sbin中包含的命令都是root權限才能執行的。
(13)、/srv ?存放網絡服務所提供的相關信息。
(14)、/sys ?該目錄是一個虛擬的文件系統,主要是記錄與核心相關的信息。 包括目前已載入的核心模組與核心偵測到的硬體裝置信息等等。
(15)、/tpm ?改目錄主要用于存放臨時文件。
(16)、/usr ?該目錄下主要存放操作系統的軟件資源。比如以后經常編譯安裝一些軟件到/usr/local下。
(17)、/var ?該目錄主要存放一些常態性變動的文件,包括緩存(cache)、登錄檔(log file)以及某些軟件運作所產生的文件, 包括程序文件(lock file, run file),或者例如MySQL數據庫的文件等等。
了解了系統的各目錄用途以后,接下來最重要的就是使用了,由于Linux不像windows有那么強大的桌面環境,因此作為學習Linux的人,你必須要適應命令行模式。Linux命令有自己的格式,通常是command [options] [arguments],即由命令本身 選項 ?參數組成。有些命令可以不帶選項和參數,因此此處的中括號表示可有可無,具體應用視情況而定。
在生活中你一定有百度或者谷歌的經歷,為什么呢,因為遇到自己不會的問題了,那么如果在Linux中遇到不會的你是不是馬上想到去百度呢?其實不然,Linux系統自身提供強大的幫助命令,可以幫助你解決很大一部分問題。其實使用Linux的幫助命令比你想的要簡單多了,下面就給您講講幫助命令的使用:
一、簡單的用法幫助
對于一些命令的使用幫助,只需要在命令后面跟上-h或者–help即可查看該命令的一些選項參數,例如:
或者
看到這些,是不是覺得還是挺簡單的呢?如果你想要查看命令本身的功能以及對參數、選項的解釋,還可以查看更為詳盡的幫助信息,那就是man ?command命令。具體用法如下:
是不是感覺好強大的樣子。細心的你可能會發現在上面這張圖片中除了對ifconfig命令本身的介紹外,在第一行還有一個IFCONFIG(8),這又是什么東西呢?其實啊,man幫助文檔分為了好幾個章節,序號不同代表不同的意思。具體的序號主要有:
? ? ? ? 1、Standard commands (標準命令)
? ? ? ? 2、System calls (系統調用)
? ? ? ? 3、Library functions (庫函數)
? ? ? ? 4、Special devices (設備說明)
? ? ? ? 5、File formats (文件格式)
? ? ? ? 6、Games and toys (游戲和娛樂)
? ? ? ? 7、Miscellaneous (雜項)
? ? ? ? 8、Administrative Commands (管理員命令)
? ? ? ? 9 、跟內核有關的文檔信息
經過上面的講解,你一定躍躍欲試,那么下面就簡單講講一些最常用的基礎命令:
一、ifconfig
ifconfig?這個是什么命令?有什么用?怎么用?如果你現在還問這么低級的問題,那么您肯定沒有認真仔細的閱讀上面的內容。通過man ifconfig的查看,我們知道ifconifg主要是用于配置一個網絡接口和查看網絡接口信息的。在實際使用中根據自己的需要選擇option和arguments。此處只作一個簡單的演示:
其中有一些比較重要的參數:
1、-a ?顯示當前主機的所有網絡接口。
2、interface ?網卡名,如:ifconfig ?interface就只查看當前網卡的信息
3、up|down ?表示啟用或者關閉網卡,如:ifconfig eth0 down,表示關閉名為eth0的網卡。
4、address ?表示給指定的網卡配置IP地址,如:ifconfig eth0 192.168.0.10/24 表示給eth0配置IP地址
二、echo
根據上面的經驗,我們首先要知道echo的具體用途:從下面的圖片中,我想你已經知道了echo只要是用于顯示信息的。
下面只說明一些重要的參數:
1、-n ?最后不需要自動換行
2、-e ?對輸出的內容中包含如下信息的需要做轉義處理
3、-E 對需要輸出的內容原樣輸出,即使有轉義字符也忽略,不加參數,默認為此項。
特殊字符:
\a 發出警告聲;
? ? ? ? ? ? ? ? \b 刪除前一個字符;
? ? ? ? ? ? ? ? \c 最后不加上換行符號;
? ? ? ? ? ? ? ? \f 換行但光標仍舊停留在原來的位置;
? ? ? ? ? ? ? ? \n 換行且光標移至行首;
? ? ? ? ? ? ? ? \r 光標移至行首,但不換行;
? ? ? ? ? ? ? ?\t 插入tab;
? ? ? ? ? ? ? ?\v 與\f相同;
? ? ? ? ? ? ? \\ 插入\字符;
? ? ? ? ? ? ?\nnn 插入nnn(八進制)所代表的ASCII字符;
三、tty
主要作用:print the file name of the terminal connected to standard input,即是顯示連接到標準輸入的終端的文件名稱。
其中有一些比較重要的參數:
1、-s? 不輸出信息,只返回一個退出狀態。
四、startx
主要作用:startx的功能很簡單,就是啟動X Window這一項服務,其實startx命令啟動的是xinit,然后再由xinit來啟動X Window。
用法:startx [程序][–服務器設置]
[程序] 此處所指定的[程序]為X Window所要執行程序的配置文件。
[–服務器設置] startx預設會去讀取.xerverrc中的配置,決定啟動X Window的方式。
五、date
主要作用:顯示或者設置系統時間、日期。
其中有一些比較重要的參數:
1、-d ?<string> ?顯示字符串所指的日期與時間,如果不指定,默認為當前系統時間。
2、-s?<string> ?根據字符串指定的日期、時間設定為當前的系統時間。
如果需要以指定的格式顯示日期或者日期,可以使用date “+”開頭的字符串指定其格式,最常用的格式如下:
%n : 下一行
%t : 跳格
%H : 小時(00-23)
%I : 小時(01-12)
%M : 分鐘(00-59)
%p : 顯示本地 AM 或 PM
%r : 直接顯示時間 (12 小時制,格式為 hh:mm:ss [AP]M)
%s : 從 1970 年 1 月 1 日 00:00:00 UTC 到目前為止的秒數
%S : 秒(00-60)
%T : 直接顯示時間 (24 小時制)
%X : 相當于 %H:%M:%S
%Z : 顯示時區
%d : 日 (01-31)
%D : 直接顯示日期 (mm/dd/yy))
%m : 月份 (01-12)
%Y : 完整年份 (0000-9999)
六、hwclock
主要作用:查詢或設置硬件時鐘
其中有一些比較重要的參數:
1、-r ?顯示硬件時鐘的時間與日期。
2、–set –date=<日期與時間>:設定硬件時鐘的日期或者時間。
3、-s ?將系統時鐘調整為與當前的硬件時鐘一致。
4、-w ?將硬件時間調整為與系統時間一致。
七、export
主要作用:用于設置或者顯示系統當前的環境變量。
命令語法:?export [-fn] [name[=value] …]
其中一些重要的參數:
-f 代表[變量名稱]中為函數名稱。
-n 刪除指定的變量。變量實際上并未刪除,只是不會輸出到后續指令的執行環境中。
實例:定義一個簡單的環境變量并查看是否生成成功。
八、pwd
主要作用:用于顯示當前工作的路徑。
命令語法:pwd [OPTION]…
其中一些重要的參數:
-L 如果當前目錄為鏈接路徑時,顯示鏈接路徑。
-P 顯示實際的物理路徑,而非使用鏈接(link)路徑。
九、history
主要作用:用于顯示歷史命令記錄,或者下達歷史紀錄中的指令。
命令語法:history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg…]
其中一些重要的參數:
n 數字,表示要列出最近的 n 條命令列表。
-c :清空目前shell中的所有 history 內容。
-a :將目前新增的history 指令增入 histfiles 中,若沒有加 histfiles,則預設寫入 ~/.bash_history。
-r :將 histfiles 的內容讀到當前shell 的 history 記憶中。
-w :將目前的 history 記憶內容寫入 histfiles。
實例:
1、顯示所有的命令歷史記錄
2、顯示后10條歷史命令
3、執行特定的歷史指令,如上圖中的224條,注意如果要執行最近的上一次指令,只需要輸入?。〖纯?。
十、shutdown
主要作用:停止、關機或重新啟動系統。
命令語法:shutdown [OPTIONS…] [TIME] [WALL…]
其中一些重要的參數:
-H 暫停正在運行的Linux系統。
-P :對Linux系統執行關機操作,不加選項時默認此項。
-r:重新啟動系統。
-h :定時關機,除非中途指定了停止操作。
-k :只是發送警告信息給所有用戶,但不會真正關機。
-c “message” 指定將在“系統關閉”窗口中的“消息”區域顯示的消息。
實例:由于此實例沒辦法截圖,因此給給出具體的幾個用法。
1、shutdown ?-r now ? 馬上重新啟動
2、shutdown -h +20 ? ?20分鐘以后關機。
十一、poweroff
主要作用:在關閉計算機操作系統之后,還會發送ACPI指令,通知電源,最后切斷系統電源供應。
命令語法:poweroff [OPTIONS…]
其中一些重要的參數:
-n:關閉操作系統時不執行sync操作。
-w:不真正關閉操作系統,僅在日志文件“/var/log/wtmp”中記錄。
-d:關閉操作系統時,不將操作寫入日志文件“/var/log/wtmp”中。
-f:強制關閉操作系統。
-i:關閉操作系統之前關閉所有的網絡接口。
-h:關閉操作系統之前將系統中所有的硬件設置為備用模式。
實例:如果使用poweroff而不加參數,則表示直接關閉系統。
十二、reboot
主要作用:重新啟動系統。
命令語法:reboot [OPTIONS…]
其中一些重要的參數:
-n:重啟前保留當前數據。
-w:模擬重啟,并將數據寫入到“/var/log/wtmp”日志文件中。
-d:重啟操作系統時,不將操作寫入日志文件“/var/log/wtmp”中。
-f:強制關閉操作系統。
-i:關閉操作系統之前關閉所有的網絡接口。
實例:如果確定需要重啟系統,直接輸入reboot即可,或者根據需要添加響應的選項參數。
密密麻麻寫了一大片,就是為了給諸如像我一樣初學Linux的同學有一個初步的認識。在今后的時間里,還將會對Linux中更加高級的知識加以記錄。
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/90069