這篇文章就來跟大家介紹一下後端程式設計師必備的Linux基礎知識,有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。
在學習Linux之前,我們先來簡單的認識作業系統。
一從認識作業系統開始
#1.1 作業系統簡介
1.2 作業系統簡單分類
Windows:
目前最受歡迎的個人桌面作業系統,不做多的介紹,大家都清楚。
Unix: 最早的多用戶、多任務作業系統 .依照作業系統的分類,屬於分時作業系統。 Unix 大多被用在伺服器、工作站,現在也有用在個人電腦上。它在創建互聯網、電腦網路或客戶端/伺服器模型方面發揮著非常重要的作用。
Linux:
Linux是一套免費使用和自由傳播的類別Unix作業系統.Linux存在著許多不同的Linux版本,但它們都使用了Linux核心 。 Linux可安裝在各種電腦硬體設備中,例如手機、平板電腦、路由器、電玩控制台、桌上型電腦、大型主機和超級電腦。嚴格來講,Linux這個詞本身只表示Linux內核,但實際上人們已經習慣了用Linux來形容整個基於Linux內核,並且使用GNU 工程各種工具和資料庫的作業系統。
二 初探Linux
一個程式領域的傳奇式人物。他是Linux核心的最早作者,隨後發起了這個開源項目,擔任Linux核心的首要架構師與專案協調者,是當今世界最著名的電腦程式設計師、駭客之一。他也發起了Git這個開源項目,並為主要的開發者。
1991年,芬蘭的業餘計算機愛好者Linus Torvalds編寫了一款類似Minix的系統(基於微核心架構的類Unix作業系統)被ftp管理員命名為Linux 加入到自由軟體基金的GNU計畫中;Linux以一隻可愛的企鵝作為標誌,象徵敢作敢為、熱愛生活。
2.3 Linux的分類
一些組織或公司在核心版基礎上進行二次開發而重新發行的版本。 Linux發行版本有很多種(ubuntu和CentOS用的都很多,初學建議選擇CentOS),如下圖:
##三 Linux檔案系統概覽
######3.1 Linux檔案系統簡介#########在Linux作業系統中,所有被作業系統管理的資源,例如網路介面卡、磁碟機、印表機、輸入輸出裝置、普通檔案或是目錄都被視為一個檔案。
也就是說在LINUX系統中有一個重要的概念:一切都是檔案。其實這是UNIX哲學的一個體現,而Linux是重寫UNIX而來,所以這個概念也就傳承了下來。在UNIX系統中,把一切資源都看作是文件,包括硬體設備。 UNIX系統把每個硬體都看成是一個文件,通常稱為設備文件,這樣使用者就可以用讀寫文件的方式實現對硬體的存取。
3.2 檔案類型與目錄結構
#Linux支援5種檔案類型:
Linux的目錄結構如下:
Linux檔案系統的結構層次鮮明,就像一棵倒立的樹,最頂層是其根目錄:
常見目錄說明:
四 Linux基本指令
#下面只是給了一些比較常用的指令。推薦一個Linux指令快查網站,非常不錯,大家如果遺忘某些指令或對某些指令不理解都可以在這裡解決。
Linux指令大全:http://man.linuxde.net/
#4.1 目錄切換指令
cd usr
: 切換到該目錄下usr目錄cd ..(或cd../)
: 切換到上一層目錄cd /
: 切換到系統根目錄cd ~
: 切換到使用者主目錄#cd -
: 切換到上一個所在目錄
find .
/home
目錄下尋找以.txt結尾的檔名:find /home -name "*.txt"
find /home -iname "*.txt"
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代表遞迴拷貝
7、rm [-rf] 目錄 :
刪除目錄(刪除)
rm -rf 目錄/檔案/壓縮套件
4.3 檔案的操作指令(增刪改查)
:
檔案的建立(增)#cat/more/less/tail 檔案名稱 檔案的檢視(查)
:
只能顯示最後一螢幕內容:
可以顯示百分比,回車可以向下一行, 空格可以向下一頁,q可以退出查看:
可使用鍵盤上的PgUp和PgDn向上 和向下翻頁,q結束查看 :
查看檔案的後10行,Ctrl C結束 修改檔案的內容(變更)
vim編輯器是Linux中的強大組件,是vi編輯器的加強版,vim編輯器的命令和快捷方式有很多,但此處不一一闡述,大家也無需研究的很透徹,使用vim編輯修改文件的方式基本上會使用就可以了。 在實際開發中,使用vim編輯器主要作用就是修改設定文件,以下是一般步驟:vim 文件------>進入檔案----->指令模式------>按i進入編輯模式----->編輯檔案 ------->按Esc進入底行模式--- -->輸入:wq/q!(輸入wq代表寫入內容並退出,即儲存;輸入q!代表強制退出不儲存。)
同目錄刪除:熟記
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代表指定解壓縮的位置)
4.5 Linux的權限命令
#作業系統中每個檔案都有特定的權限、所屬使用者和所屬群組。權限是作業系統用來限制資源存取的機制,在Linux中權限一般分為讀(readable)、寫(writable)和執行(excutable),分為三組。分別對應檔案的屬主(owner),屬群組(group)和其他使用者(other),透過這樣的機制來限制哪些使用者、哪些群組可以對特定的檔案進行什麼樣的操作。透過ls -l 指令我們可以 查看某個目錄下的檔案或目錄的權限
ls -l
檔案的類型:
Linux中權限分為以下幾種:
檔案和目錄權限的差異:
對檔案和目錄而言,讀寫執行表示不同的意義。 對於檔案:#可執行動作 | |
---|---|
r | 可以使用cat檢視檔案的內容 |
w | 可以修改檔案的內容 |
#x
#對於目錄: | |
---|---|
可執行操作 | |
r | 可以查看目錄下清單 |
w | 可以建立和刪除目錄下檔案 |
在linux中的每個使用者必須屬於一個群組,不能獨立於群組外。在linux中每個檔案有所有者、所在群組、其它群組的概念。
一般為文件的創建者,誰創建了該文件,就天然的成為該文件的所有者,用ls ‐ahl指令可以看到檔案的擁有者也可以使用chown 使用者名稱 檔案名稱來修改檔案的擁有者。
當某個使用者建立了一個檔案後,這個檔案的所在群組就是該使用者所在的群組用ls ‐ahl指令可以看到文件的所有群組也可以使用chgrp 組名 檔案名來修改檔案所在的群組。
除開檔案的擁有者和所在群組的使用者外,系統的其它使用者都是檔案的其它群組
我們再來看看如何修改檔案/目錄的權限。
修改檔案/目錄的權限的指令:chmod
#範例:修改/test下的aaa.txt的權限為屬主有全部權限,屬主所在的群組有讀寫權限,
其他使用者只有讀取的權限
chmod u=rwx,g=rw,o=r aaa.txt
上述範例也可以使用數字表示:
chmod 764 aaa.txt
補充一個比較常用的東西:
假如我們裝了一個zookeeper,我們每次開機到要求其自動啟動該怎麼辦?
chmod x zookeeper
chkconfig --add zookeeper
chkconfig --list
#4.6 Linux 使用者管理
#Linux系統是一個多使用者多任務的分時作業系統,任何一個要使用系統資源的用戶,都必須先向系統管理員申請帳號,然後以這個帳號的身份進入系統。
使用者的帳號一方面可以幫助系統管理員對使用系統的使用者進行跟踪,並控制他們對系統資源的存取;另一方面也可以幫助使用者組織文件,並為使用者提供安全性保護。
Linux使用者管理相關指令:
#useradd 選項使用者名稱
:新增使用者帳號 userdel 選項使用者名稱
:刪除使用者帳號usermod 選項使用者名稱
:修改帳號passwd 使用者名稱
:變更或建立用戶的密碼passwd -S 使用者名稱
:顯示使用者帳號密碼資訊passwd -d 使用者名稱
: 清除使用者密碼useradd指令用於Linux中建立的新的系統使用者。 useradd可用於建立使用者帳號。帳號建好之後,再用passwd設定帳號的密碼.而可用userdel刪除帳號。使用useradd指令所建立的帳號,實際上是保存在/etc/passwd文字檔案中。
passwd指令用於設定使用者的認證訊息,包括使用者密碼、密碼過期時間等。系統管理者則能用它來管理系統使用者的密碼。只有管理者可以指定使用者名稱,一般使用者只能變更自己的密碼。
4.7 Linux系統使用者群組的管理
#每個使用者都有一個使用者群組,系統可以對一個使用者群組中的所有用戶進行集中管理。不同Linux 系統對使用者群組的規定有所不同,如Linux下的使用者屬於與它同名的使用者群組,這個使用者群組在建立使用者時同時建立。
使用者群組的管理涉及使用者群組的新增、刪除和修改。群組的增加、刪除和修改其實就是/etc/group檔案的更新。
Linux系統使用者群組的管理相關指令:
#groupadd 選項使用者群組
:增加一個新的使用者群組groupdel 使用者群組
:要刪除一個已有的使用者群組groupmod 選項使用者群組
: 修改使用者群組的屬性4.8 其他常用指令
#pwd
: 顯示目前所在位置#grep 要搜尋的字串要搜尋的檔案--color
: 搜尋指令,--color代表高亮顯示ps -ef
/ps aux
: 這兩個命令都是查看目前系統正在運行進程,兩者的差異在於展示格式不同。如果想要查看特定的進程可以使用這樣的格式:ps aux|grep redis
#(查看包括redis字串的進程)注意:如果直接用ps(( Process Status))指令,會顯示所有行程的狀態,通常會結合grep指令查看某個行程的狀態。
kill -9 進程的pid
: 殺死進程(-9 表示強制終止。)先用ps找出進程,然後再用kill殺掉
網路通訊指令:
shutdown
: shutdown -h now
: 指定現在立即關機;shutdown 5 "System will shutdown after 5 minutes"
:指定5分鐘後關機,同時發送警告訊息給登入使用者。 reboot
: #reboot
: 重開機。 reboot -w
: 做個重開機的模擬(只有紀錄並不會真的重開機)。
更多Linux知識,可存取Linux教學欄位!
以上是Linux基礎知識介紹(後端必備)的詳細內容。更多資訊請關注PHP中文網其他相關文章!