文章目錄
1、UNIX和Linux發展史
UNIX是爸爸
Linux兒子(由unix發展而來)
tcp/ip協議也是應運而生的!
linux是天生的網絡操作系統
2、Linux的版本
內核版本:https://www.kernel.org/ 定期更新
- 內核版本下載來,自己加工以後就成了發行版本
發行版本:redhat,centos,ubuntu,紅旗Linux…等等
- 這些發行版本的內核都是一樣的
3、開源的軟件簡介
Apache是一個基金會,裏面有很多開源的項目
開源不代表免費(僅僅是開放源代碼),但開源軟件絕大多數都是免費的,可自由傳播,改良,甚至銷售
開源帶來的好處:產品越來越優秀,越來越安全(因爲,有更多的人蔘與進來。)
4、Linux的應用領域
1、各種網站的後臺操作系統:
比如:https://searchdns.netcraft.com
這個網站可以查看,某個網站使用的系統
2、嵌入式應用
智能家電,航空系統,智能卡,手機,相機…等等
5、Linux注意事項
- Linux的命令嚴格區分大小寫(Linux中的所有字母都是區分大小寫的)
- Linux的所有東西都是文件;包括硬件
- 硬盤文件:/dev/sd[a-p]
- 光盤文件:/dev/sr0等
- Linux文件都是“沒有”後綴名的,是靠 文件權限來區分的
- 但是有一些壓縮包文件(tgz,tar,bz2,gz…),腳本文件(sh),配置文件(conf),網頁文件(html,css,php,java),這些所謂的擴展名,都僅僅是爲了方便管理員來管理文件,沒有擴展名照樣使用。
- Linux的所有存儲設備都得掛載(分配盤符)以後用戶才能使用,比如,硬盤,光盤,U盤
- windows下的程序不能直接在Linux中安裝運行的
6、Linux服務器端的維護
各個目錄的功能(大部分都是一種規範約定)
目錄名 | 目錄作用 |
---|---|
/bin |
存放系統命令的目錄,普通用戶和超級用戶都可以執行,不過放在/bin下的命令在單用戶模式下也可以執行 |
/sibn |
保存和系統環境設置相關的命令,只有超級用戶可以使用這些命令鏡像系統環境的設置,但有些命令可以允許普通用戶查看 |
/uer/bin/ |
存放系統命令的目錄,普通用戶和超級用戶都可以執行,這些命令和系統啓動無關,在單用戶模式下不能執行 |
/usr/sbin/ |
存放根文件系統不必要的系統管理命令,例如多數服務程序,只有超級用戶可以使用,其實,在Linux中,在sbin目錄中的命令只有超級用戶能用,bin下的所有用戶都可以用 |
/boot/ |
系統啓動目錄,保存系統啓動相關的文件,如內核文件和啓動引導程序文件(grub)等 |
/dev/ |
設備文件保存位置,一些硬件文件,硬盤等等 |
/etc/ |
配置文件保存位置。系統內所有采用默認安裝方式(rpm安裝)的服務的配置文件全部在這個目錄保存,如:用戶賬號密碼,服務啓動腳本,一些服務的配置文件 |
/home/ |
普通用戶的家目錄,每個用戶都要有一個默認登錄位置,這個位置就是該用戶的家目錄,所有普通用戶的家目錄就是在/home下建立一個和用戶名相同的目錄,如:用戶user的家目錄:/home/user |
/lib/ |
系統調用的函數庫保存位置 |
/lost+found/ |
當系統意外崩潰或者機器意外關機,而產生的一些文件碎片放在這裏,當系統啓動的過程中fsck工具會檢查這裏,並修復已經損壞的文件系統,這個目錄只在每個分區中出現,例如 /lost+found/就是根分區的備份恢復目錄,/boot/lost+found/ 就是/boot分區的備份恢復目錄 |
/media/ |
掛載目錄,系統建議是用來掛載媒體設備的,例如軟盤和光盤 |
/mnt/ |
掛載目錄,早起Linux中只有這一個掛載目錄,並沒有細分,現在這個目錄系統建議掛載額外設備,例如,u盤,移動硬盤和其他系統的分區 |
/misc/ |
掛載目錄,系統建議用來掛載NFS服務的共享目錄 |
/opt/ |
第三方安裝的軟件保存位置,這個目錄就是防止和安裝其他軟件的位置,比如 jdk,tomcat…,但也不強迫,有的人喜歡放到usr下也是可以的 |
proc |
虛擬文件系統,該目錄中的數據並不保存到硬盤中,而是保存在內存中,主要保存系統的內核,進程,外部設備狀態和網絡裝填燈 |
/sys/ |
虛擬文件系統,和/proc目錄相似,保存在內存中,保存內核相關信息 |
/root/ |
超級用戶的家目錄,即 / |
/srv/ |
服務數據目錄,一些系統服務啓動之後,可以在這個目錄中保存所需要的的數據 |
/tmp/ |
臨時目錄,系統存放臨時文件的目錄,該目錄下所有用戶都可以訪問和寫入,我們建議此目錄中不能重要數據,每次開機最好清空此目錄 |
/usr/ |
系統軟件資源目錄,注意usr不是user的縮寫,而是“Unix Software Resource”的縮寫,所以不是存放用戶數據,而是存放系統軟件資源的目錄,系統中安裝的軟件大多保存這裏 |
/var/ |
動態數據保存位置,主要保存緩存和日誌以及軟件運行所產生的的文件 |
proc和sys是存放在內存中的兩個目錄,重啓會消失。不要往裏面寫東西,東西一來不會保存,而且當你寫滿以後就會系統就會出錯
usr,系統軟件資源目錄(system,software,resource)類似於windows的windows目錄
注意事項:
1、遠程服務器不允許關機,只能重啓
2、重啓服務應該關閉運行着的服務!!
3、不要在服務器訪問高峯運行高負載命令:高負載命令:進行大數據的操作,壓縮,掃描複製等等
4、遠程配置防火牆的時候記得對自己開放,防火牆甄別是通過:ip地址,端口號,net地址,包數據
5、數據和日誌的定時備份,權限的合理分配(最小分配,夠用就行),密碼的強壯性和定時更新,系統啓動的服務越少越好
7、Linux命令
命令的基本格式:
命令 -選項 參數
比如:ls -la /etc
簡化選項和完整選項:-a --a
,單槓和雙槓
個別命令可能不遵循此格式
文件處理
每一個文件都有一個i節點號,每個進程都有一個進程號,每個用戶都有一個標識號碼
`ls` ls ->(類比於) list ,查看當前目錄的所有文件
`ls -a` 所有文件 -> list -all,包括隱藏文件
`ls -l` l -> long 文件的完整信息
`ls -ld` 查看某個目錄的詳細信息,比如 ls -ld /etc
`ls -h` 人性化的顯示數據,比如文件大小,不加h顯示的是字節數
`ls -i` 查看文件的inode號(inode存儲文件的詳細信息),即i節點
完整信息7個部分,分別是:文件類型和權限,文件基數,文件所屬者,文件所屬組,文件大小,文件最後更新時間,文件名
`mkdir` 創建目錄
`mkdir -p` 遞歸創建目錄,即同時創建多個目錄
`cd` 切換目錄
`pwd` 顯示當前目錄
`.` 當前目錄
`..` 上級目錄
`rmdir` [目錄名] 刪除空目錄
`cp 文件目錄或文件` (-p保留的文件屬性,比如時間等等)
`touch [文件名]` 創建文件,文件名可以含有空格(加雙引號),但儘量不要這樣做。
`cat [文件]` 查看文件內容
`cat -n [文件]` 顯示行號
`tac [文件]` 倒敘查看
`more [文件]` 來查看很多內容的文件這時進入查看文件的狀態,
空格或者f來翻頁,回車一行行的瀏覽找到以後,使用q退出瀏覽狀態
`less [文件]` less不僅含有more的所有功能,而且可以使用↑來向上翻行,
pageUp向上翻頁,在瀏覽狀態下輸入 /log ,
這樣他就會在這個文件中搜索log,並且高亮顯示。(即可搜索關鍵字)
`head -n [文件]` 查看文件的前n行內容(n爲數字)
`tail -n [文件]` 查看文件的末尾n行內容(n爲數字)
`tail -f [文件]` 動態顯示文件最後一行的內容,常用來查看日誌動態的變化
`ln -s [軟鏈接名]` ln -s /tmp/sjt 在tmp目錄下創建sjt軟鏈接(軟鏈接即快捷方式),
軟鏈接的權限都是rwx rwx rwx,不加 -s 生成的是硬鏈接,
硬鏈接不可以跨分區,不允許生成指向目錄的快捷方式
權限管理
只有所有者和管理員才能更改權限
{ugoa}
u:所屬者,g:所屬組,o:其他人,a:所有人
{±=}
+:增加權限,-:減少權限,=:重新授予權限(不管原來是什麼,現在就是我授予的權限)
{rwx}
r:可讀權限(4) ,w:可寫權限(2) ,x:可執行權限(1)
最前面的一個字符含義:
- l是鏈接(link)
- d是目錄(directories)
- c是字符設備文件(char)
- b是塊設備(block)
- -是文件
可以同時對幾個用戶來分配權限,用逗號隔開即可
只有管理員才能改變文件或者目錄的所有者
`chown [用戶] [文件或者目錄]` 更改所屬者
`chgrp [用戶組] [文件或者目錄]` 更改所屬組
文件搜索
find [搜索範圍] [匹配條件]
`find / -name init` 在根目錄下按照文件名來搜索名叫init的文件
`find / -iname init` -iname,不區分大小寫查詢,* 可以模糊匹配,?可以匹配單個字母
在/etc目錄下搜索
#按文件大小來查找
`find / -size +204800` 在根目錄下查找文件大於100M的文件
`find / -size -204800` 在根目錄下查找文件小於100M的文件
在linux中,文件的大小要換算成“數據塊”
一個數據塊 512字節 0.5k
即 1k=2個數據塊
100M=102400K=204800個數據塊
`find / -user [username]` 根據所有者查找
`find / -group [groupname]` 根據所屬組查找
超過5分鐘的可以用+
多條件查詢:
根據文件類型查找:
find找到的結果,可以再追加命令-exec
或者-ok
,在追加你想要的命令,這樣就可以把你find出來的東西,執行你的命令,-exec
是立刻執行,-ok
是一一確認。
`locate [文件名]` 查找系統文件,但要注意一些臨時目錄是查不着的,要定期維護更新數據,
`updatedb` 更新數據表
`which [命令]` 查看命令所在的目錄
幫助命令
man
和 info
是大同小異的
`man ls` 使用命令man查看 ls 命令的解釋
`whatis [命令]`
`whereis [命令]`
`apropos [配置文件]` 查看配置文件的幫助信息,(不寫配置文件的絕對路徑)
進入以後有些ls的信息,按q
退出
Linux中數字1代表命令的幫助,5代表配置文件的幫助,兩者都有的話優先顯示命令的幫助,你也可以man 5 passwd
`[命令] --help` 查看該命令的一些選項
`help umask` 查看一些內置命令的幫助
什麼是內置命令,你使用which
和whatis
的時候,顯示不出來幫助的一些信息
用戶管理
`useradd [用戶名]` 這一步其實只是創建了一些文件,想要登錄系統,還需要設置密碼
`passwd [用戶名]` 這裏就設置了密碼,即用戶可登錄你的系統。
`who` 查看登錄的用戶
用戶,登錄終端(tty表示本機,pts表示虛擬終端),時間(系統ip地址)
w
命令
壓縮解壓
Linux中的壓縮格式,.gz
.zip
文件格式,Linux和windows中都可以識別
`gzip [文件名]` 壓縮該文件,注意,gzip只能壓縮文件,不能壓縮目錄
`gunzip [壓縮的文件]` 解壓該文件
`gzip -d [壓縮的文件]` 解壓該文件
`tar [參數] [目錄]` 打包(壓縮)目錄,比如 `tar -zcf [目錄]`
`tar -xf [目錄]` 解包(解壓縮)目錄,和上面的壓縮,只有 `-c`和`-x`(解包)的區別
tar
命令的可選參數
`zip sjt.zip sjt` 壓縮文件sjt
`zip -r sjtD.zip sjtD` 壓縮目錄sjtD
`unzip [文件或者目錄]` 解壓縮
bzip2的壓縮度很高,一般用來壓縮大文件,bunzip2
解壓縮
總結如下:
網絡命令
`w` 查看當前在線用戶 ,who也可以
`write [用戶名]` 給該在線用戶發送一條消息,寫錯了,`ctrl+backspace`來刪除,直接刪除,刪除不掉。寫完以後`Ctrl+D`來保存發送。
`wall [內容]` 廣播一些東西,所有在線用戶都可以收到
`ping [ip地址]` 查看地址是否通暢
`ping -c 4 [ip地址]` ping4次目標地址
`ifconf` 查看當前計算機的網卡信息
`mail [用戶名]` 發送郵件給用戶,在線與否都可以
`mail` 接收查看當前的郵件,然後直接輸入郵件的序列號,就可以查看該郵件,h查看郵件列表,`d [序列號]` 刪除郵件,`q` 退出
`last` 查看所有用戶的登錄情況,包括多次登錄的用戶,只要來過就會記錄
`lastlog` 查看所有用戶的最後一次登錄情況
`lastlog -u [用戶的id]` 查看指定用戶最後一次登錄的信息
`traceroute [ip地址或者域名]` 顯示數據包到主機間的路徑
`netstat -anop` 查看監聽的地址及其端口和狀態
netstat
命令的選項和常用示例
mount
命令來掛載光盤
關機重啓
關機之前需要注意,停止機器上的服務
`shutdown [選項] [時間]` 選項 -c,-r,-h
`shutdown -r now` 立即重啓
`shutdown -r 20:30` 晚上八點半重啓
`shutdown -h now` 立即關機
`shutdown -h 20:30` 晚上八點半關機
`shutdown -c` 取消上一個關機命令
`logout` 退出登錄
還有一些其他的關機重啓操作,但是shutdown
更加安全
8、vim
vim是功能強大的全屏幕文本編輯器,它的作用是建立,編輯,顯示查看文本文件
vim沒有菜單,只有命令
定位命令和刪除命令是在編輯模式進行的
命令模式下
常見命令總結:
vim的使用技巧
編輯模式下:
:r [文件的絕對路徑] 可以將該文件的內容導入到光標處
:r ![命令] 可以將命令的執行結果寫入到本文件的光標處
k 向上(↑)移動光標
j 向下(↓)移動光標
h 向左(←)移動光標
l 向右(→)移動光標
9、軟件包管理
簡介
軟件包分類:
- 源碼包(腳本安裝包)
- 優點:開源,可自由選擇所需的功能;軟件是編譯安裝,所以更適合自己的系統,更加穩定效率也更高;卸載方便(直接刪除安裝目錄即可)
- 缺點:安裝步驟較多,尤其安裝大型軟件時,它還依賴了其他的環境;編譯時間過長;編譯安裝出錯,對新手很不友好
- 二進制包(rpm包,系統默認包),二進制包是目前使用最多的,二進制包是經過編譯的。即機器可以識別的代碼包(即010101…),這樣做的優點是安裝快,缺點是無法看到源代碼,功能選擇不靈活,依賴性強
RPM包管理 -rpm命令管理
名字中,硬件or軟件平臺缺失的話,說明適合任意平臺
安裝命令:
總之用rpm處理的時候,依賴會很頭疼。。。
RPM包管理 -yum在線管理
使用yum
命令來管理rpm包,自動下載依賴的rpm包
這樣就會自動下載依賴並且自動確認安裝該包
yum -y undate [包名] 升級對應的包名
yum -y update 更新所有的軟件包,包括Linux的內核,這樣可能會導致系統宕機
yum -y remove [包名] 卸載對應的包名,卸載包的時候,要注意,卸載這個包時,這個包的依賴也都會卸載,其他包(甚至系統)
也可能依賴已經卸載的這個包的依賴包,這樣就會導致其他軟件不可用或者系統崩潰,
所以用這個命令一定要小心,最好不要使用...
源碼包管理
源碼包的安裝位置一般是:/usr/local/軟件名/
service