操作系統簡介
我通過以下四點介紹什麼操作系統:
操作系統(Operation System,簡稱OS)是管理計算機硬件與軟件資源的程序,是計算機系統的內核與基石;
操作系統本質上是運行在計算機上的軟件程序 ;
爲用戶提供一個與系統交互的操作界面 ;
-
操作系統分內核與外殼(我們可以把外殼理解成圍繞着內核的應用程序,而內核就是能操作硬件的程序)。
操作系統簡單分類
Windows: 目前最流行的個人桌面操作系統
Unix: 最早的多用戶、多任務操作系統 .按照操作系統的分類,屬於分時操作系統。Unix 大多被用在服務器、工作站,現在也有用在個人計算機上。它在創建互聯網、計算機網絡或客戶端/服務器模型方面發揮着非常重要的作用。
Linux: Linux是一套免費使用和自由傳播的類Unix操作系統.Linux存在着許多不同的Linux版本,但它們都使用了 Linux內核 。Linux可安裝在各種計算機硬件設備中,比如手機、平板電腦、路由器、視頻遊戲控制檯、臺式計算機、大型機和超級計算機。嚴格來講,Linux這個詞本身只表示Linux內核,但實際上人們已經習慣了用Linux來形容整個基於Linux內核,並且使用GNU 工程各種工具和數據庫的操作系統。
Linux文件系統簡介
在Linux操作系統中,所有被操作系統管理的資源,例如網絡接口卡、磁盤驅動器、打印機、輸入輸出設備、普通文件或是目錄都被看作是一個文件。
也就是說在LINUX系統中有一個重要的概念:一切都是文件。其實這是UNIX哲學的一個體現,而Linux是重寫UNIX而來,所以這個概念也就傳承了下來。在UNIX系統中,把一切資源都看作是文件,包括硬件設備。UNIX系統把每個硬件都看成是一個文件,通常稱爲設備文件,這樣用戶就可以用讀寫文件的方式實現對硬件的訪問。
文件類型與目錄結構
Linux支持5種文件類型
Linux的目錄結構如下
Linux文件系統的結構層次鮮明,就像一棵倒立的樹,最頂層是其根目錄:
常見目錄說明
/bin: 存放二進制可執行文件(ls,cat,mkdir等),常用命令一般都在這裏;
/etc: 存放系統管理和配置文件;
/home: 存放所有用戶文件的根目錄,是用戶主目錄的基點,比如用戶user的主目錄就是/home/user,可以用~user表示;
/usr : 用於存放系統應用程序;
/opt: 額外安裝的可選應用程序包所放置的位置。一般情況下,我們可以把tomcat等都安裝到這裏;
/proc: 虛擬文件系統目錄,是系統內存的映射。可直接訪問這個目錄來獲取系統信息;
/root: 超級用戶(系統管理員)的主目錄(特權階級o);
/sbin: 存放二進制可執行文件,只有root才能訪問。這裏存放的是系統管理員使用的系統級別的管理命令和程序。如ifconfig等;
/dev: 用於存放設備文件;
/mnt: 系統管理員安裝臨時文件系統的安裝點,系統提供這個目錄是讓用戶臨時掛載其他的文件系統;
/boot: 存放用於系統引導時使用的各種文件;
/lib : 存放着和系統運行相關的庫文件 ;
/tmp: 用於存放各種臨時文件,是公用的臨時文件存儲點;
/var: 用於存放運行時需要改變數據的文件,也是某些大文件的溢出區,比方說各種服務的日誌文件(系統啓動日誌等。)等;
/lost+found: 這個目錄平時是空的,系統非正常關機而留下“無家可歸”的文件(windows下叫什麼.chk)就在這裏。
Linux基本命令
Linux命令大全:菜鳥教程
Linux命令快速查詢:man.linuxde.net/
命令切換命令
cd usr: 切換到該目錄下usr目錄
cd ..(或cd../): 切換到上一層目錄
cd /: 切換到系統根目錄
cd ~: 切換到用戶主目錄
cd -: 切換到上一個所在目錄
命令的操作命令(增刪改查)
1.mkdir 目錄名稱:增加目錄
2.ls或者ll(ll是ls -l的縮寫,ll命令以看到該目錄下的所有目錄和文件的詳細信息):查看目錄信息
3.find 目錄 參數:尋找目錄(查)
示例:
列出當前目錄及子目錄下所有文件和文件夾: find .
在/home目錄下查找以.txt結尾的文件名:find /home -name "*.txt"
同上,但忽略大小寫: find /home -iname "*.txt"
當前目錄及子目錄下查找所有以.txt和.pdf結尾的文件:find . \( -name "*.txt" -o -name "*.pdf" \)或find . -name "*.txt" -o -name "*.pdf"
4.mv 目錄名稱 新目錄名稱:修改目錄的名稱(改)
注意:mv的語法不僅可以對目錄進行重命名而且也可以對各種文件,壓縮包等進行 重命名的操作。mv命令用來對文件或目錄重新命名,或者將文件從一個目錄移到另一個目錄中。後面會介紹到mv命令的另一個用法。
5.mv 目錄名稱 目錄的新位置:移動目錄的位置---剪切(改)
注意:mv語法不僅可以對目錄進行剪切操作,對文件和壓縮包等都可執行剪切操作。另外mv與cp的結果不同,mv好像文件“搬家”,文件個數並未增加。而cp對文件進行復制,文件個數增加了。
6.cp -r 目錄名稱 目錄拷貝的目標位置:拷貝目錄(改),-r代表遞歸拷貝
注意:cp命令不僅可以拷貝目錄還可以拷貝文件,壓縮包等,拷貝文件和壓縮包時不 用寫-r遞歸
7.rm [-rf] 目錄: 刪除目錄(刪)
注意:rm不僅可以刪除目錄,也可以刪除其他文件或壓縮包,爲了增強大家的記憶, 無論刪除任何目錄或文件,都直接使用rm -rf 目錄/文件/壓縮包
文件的操作命令(增刪改查)
1.touch 文件名稱: 文件的創建(增)
2.cat/more/less/tail文件名稱 文件的查看(查)
cat:只能顯示最後一屏內容
more:可以顯示百分比,回車可以向下一行, 空格可以向下一頁,q可以退出查看
less:可以使用鍵盤上的PgUp和PgDn向上 和向下翻頁,q結束查看
tail-10 :查看文件的後10行,Ctrl+C結束
注意:命令 tail -f 文件 可以對某個文件進行動態監控,例如tomcat的日誌文件, 會隨着程序的運行,日誌會變化,可以使用tail -f catalina-2016-11-11.log 監控 文 件的變化
3.vim 文件:修改文件的內容(改)
vim編輯器是Linux中的強大組件,是vi編輯器的加強版,vim編輯器的命令和快捷方式有很多,但此處不一一闡述,大家也無需研究的很透徹,使用vim編輯修改文件的方式基本會使用就可以了。
在實際開發中,使用vim編輯器主要作用就是修改配置文件,下面是一般步驟:
vim 文件------>進入文件----->命令模式------>按i進入編輯模式----->編輯文件 ------->按Esc進入底行模式----->輸入:wq/q! (輸入wq代表寫入內容並退出,即保存;輸入q!代表強制退出不保存。)
4.rm -rf 文件:刪除文件(刪) 同目錄刪除:熟記 rm -rf文件 即可
壓縮文件的操作命令
1)打包並壓縮文件:
Linux中的打包文件一般是以.tar結尾的,壓縮的命令一般是以.gz結尾的。
而一般情況下打包和壓縮是一起進行的,打包並壓縮後的文件的後綴名一般.tar.gz。命令:tar -zcvf 打包壓縮後的文件名 要打包壓縮的文件,其中:
z:調用gzip壓縮命令進行壓縮
c:打包文件
v:顯示運行過程
f:指定文件名
比如:加入test目錄下有三個文件分別是 :aaa.txt bbb.txt ccc.txt,如果我們要打包test目錄並指定壓縮後的壓縮包名稱爲test.tar.gz可以使用命令:tar -zcvf test.tar.gz aaa.txt bbb.txt ccc.txt或:tar -zcvf test.tar.gz /test/
2)解壓壓縮包:
命令:tar [-xvf] 壓縮文件
其中:x:代表解壓
示例:
1 將/test下的test.tar.gz解壓到當前目錄下可以使用命令:tar -xvf test.tar.gz
2 將/test下的test.tar.gz解壓到根目錄/usr下:tar -xvf xxx.tar.gz -C /usr(-C代表指定解壓的位置)
Linux的權限命令
操作系統中每個文件都擁有特定的權限、所屬用戶和所屬組。權限是操作系統用來限制資源訪問的機制,在Linux中權限一般分爲讀(readable)、寫(writable)和執行(excutable),分爲三組。分別對應文件的屬主(owner),屬組(group)和其他用戶(other),通過這樣的機制來限制哪些用戶、哪些組可以對特定的文件進行什麼樣的操作。通過 ·ls -l· 命令我們可以 查看某個目錄下的文件或目錄的權限
示例:在隨意某個目錄下ls -l
第一列的內容的解釋信息如下:
下面將詳細講解文件的類型、Linux中權限以及文件有所有者、所在組、其它組具體是什麼?
文件的類型:
•d:代表目錄
•-:代表文件
•l:代表鏈接(可以認爲是window中的快捷方式)
Linux中權限分爲以下幾種:
•r:代表權限是可讀,r也可以用數字4表示
•w:代表權限是可寫,w也可以用數字2表示
•x:代表權限是可執行,x也可以用數字1表示
文件和目錄權限的區別:
對文件和目錄而言,讀寫執行表示不同的意義。
對於文件:
對於目錄:
在linux中的每個用戶必須屬於一個組,不能獨立於組外。在linux中每個文件有所有者、所在組、其它組的概念。
- 所有者
一般爲文件的創建者,誰創建了該文件,就天然的成爲該文件的所有者,用ls ‐ahl命令可以看到文件的所有者 也可以使用chown 用戶名 文件名來修改文件的所有者 。
- 文件所在組
當某個用戶創建了一個文件後,這個文件的所在組就是該用戶所在的組 用ls ‐ahl命令可以看到文件的所有組 也可以使用chgrp 組名 文件名來修改文件所在的組。
- 其它組
除開文件的所有者和所在組的用戶外,系統的其它用戶都是文件的其它組
如何修改文件/目錄的權限
修改文件/目錄的權限的命令:chmod
格式:[ugoa...][[+-=][rwxX]...][,...]
u表示擁有者(user)
g表示與擁有者屬於同一個羣體(group)
o表示其它以外的人(other)
a表示這三者皆是。
+表示添加權限,-表示取消權限。=表示唯一設定權限。
r:表示可讀取,w表示可寫入,x表示可運行。
示例:修改/test下的aaa.txt的權限爲屬主有全部權限,屬主所在的組有讀寫權限, 其他用戶只有讀的權限
chmod u=rwx,g=rw,o=r aaa.txt
上述示例還可以使用數字表示:
chmod 764 aaa.txt
使用數字設置權限:
語法:chmod abc file
當中a,b,c各爲一個數字,a表示User,b表示Group。c表示Other的權限。
r=4,w=2。x=1
若要rwx(可讀、可寫、可運行)屬性,則4+2+1=7
若要rw-(可讀、可寫、不可運行)屬性,則4+2=6
若要r-w(可讀、不可寫、可運行)屬性,則4+1=5
示例:
chmod a=rwx file 和 chmod 777 file 效果同樣
chmod ug=rwx,o=x file 和 chmod 771 file 效果同樣
若用chmod 4755 filename可使此程式具有root的權限
補充一個比較常用的東西:
假如我們裝了一個zookeeper,我們每次開機到要求其自動啓動該怎麼辦?
1.新建一個腳本zookeeper
2.爲新建的腳本zookeeper添加可執行權限,命令是:chmod +x zookeeper
3.把zookeeper這個腳本添加到開機啓動項裏面,命令是:chkconfig --add zookeeper
4.如果想看看是否添加成功,命令是:chkconfig --list
Linux用戶管理
Linux系統是一個多用戶多任務的分時操作系統,任何一個要使用系統資源的用戶,都必須首先向系統管理員申請一個賬號,然後以這個賬號的身份進入系統。
用戶的賬號一方面可以幫助系統管理員對使用系統的用戶進行跟蹤,並控制他們對系統資源的訪問;另一方面也可以幫助用戶組織文件,併爲用戶提供安全性保護。
Linux用戶管理相關命令:
useradd 選項 用戶名:添加用戶賬號
userdel 選項 用戶名:刪除用戶帳號
usermod 選項 用戶名:修改帳號
passwd 用戶名:更改或創建用戶的密碼
passwd -S 用戶名:顯示用戶賬號密碼信息
passwd -d 用戶名: 清除用戶密碼
useradd命令用於Linux中創建的新的系統用戶。useradd可用來建立用戶帳號。帳號建好之後,再用passwd設定帳號的密碼.而可用userdel刪除帳號。使用useradd指令所建立的帳號,實際上是保存在/etc/passwd文本文件中。
passwd命令用於設置用戶的認證信息,包括用戶密碼、密碼過期時間等。系統管理者則能用它管理系統用戶的密碼。只有管理者可以指定用戶名稱,一般用戶只能變更自己的密碼。
Linux系統用戶組的管理
每個用戶都有一個用戶組,系統可以對一個用戶組中的所有用戶進行集中管理。不同Linux 系統對用戶組的規定有所不同,如Linux下的用戶屬於與它同名的用戶組,這個用戶組在創建用戶時同時創建。
用戶組的管理涉及用戶組的添加、刪除和修改。組的增加、刪除和修改實際上就是對/etc/group文件的更新。
Linux系統用戶組的管理相關命令:
groupadd 選項 用戶組 :增加一個新的用戶組
groupdel 用戶組:要刪除一個已有的用戶組
groupmod 選項 用戶組: 修改用戶組的屬性
其他常用命令
pwd:顯示當前所在位置
grep 要搜索的字符串 要搜索的文件 --color:搜索命令,--color代表高亮顯示
ps -ef/ps aux:這兩個命令都是查看當前系統正在運行進程,兩者的區別是展示格式不同。如果想要查看特定的進程可以使用這樣的格式:ps aux|grep redis(查看包括redis字符串的進程)
注意:如果直接用ps((Process Status))命令,會顯示所有進程的狀態,通常結合grep命令查看某進程的狀態。
kill -9 進程的pid:殺死進程(-9 表示強制終止。)
先用ps查找進程,然後用kill殺掉
網絡通信命令:
查看當前系統的網卡信息:ifconfig
查看與某臺機器的連接情況:ping
查看當前系統的端口使用:netstat -an
shutdown:
shutdown -h now:指定現在立即關機
shutdown +5 "System will shutdown after 5 minutes":指定5分鐘後關機,同時送出警告信息給登入用戶。
reboot:重啓。
reboot -w:做個重開機的模擬(只有紀錄並不會真的重開機)。
轉載自:
https://mp.weixin.qq.com/s/C8kv8itPU1wHYGaH3tG9zg
https://mp.weixin.qq.com/s/-eANH2n_IDo6ojyP3RdeDA