1 linux學習階段
第 1 階段:linux 環境下的基本操作命令,包括 文件操作命令(rm mkdir chmod, chown) 編輯工具使用(vi vim)linux 用戶管理(useradd userdel usermod)等
第 2 階段:linux 的各種配置(環境變量配置,網絡配置,服務配置)
第 3 階段:linux 下如何搭建對應語言的開發環境(大數據,JavaEE, Python 等)
第 4 階段:能編寫 shell 腳本,對 Linux 服務器進行維護。
第 5 階段:能進行安全設置,防止攻擊,保障服務器正常運行,能對系統調優。
第 6 階段:深入理解 Linux 系統(對內核有研究),熟練掌握大型網站應用架構組成、並熟悉各個環節的部署和維護方法。
2 關機重啓
shutdown
shutdown -h now # 表示立即關機
shutdown -h 1 # 表示 1 分鐘後關機
shutdown -r now # 立即重啓
syn # 把內存的數據同步到磁盤
reboot #重啓
#關機或者重啓時,都應該先執行以下 sync 指令,把內存的數據寫入磁盤,防止數據丟失。
3 系統的運行級別
切換到指定運行級別的指令: init[0123456]
實例:如何找回丟失的root密碼
進入到單用戶模式,然後修改密碼,因爲進入單用戶模式root不需要密碼即可登錄。
4 幫助指令
man [命令或配置文件] #(功能描述:獲得幫助信息)
man ls
help 命令 (功能描述:獲得 shell 內置命令的幫助信息)
help cd
5 文件目錄類指令
pwd #顯示當前工作目錄的絕對路徑
cd ~ or cd : #回到home目錄
mkdir #創建目錄
mkdir -p /home/animal/cat #創建多級目錄
rmdir #刪除空目錄,如果目錄下有文件無法刪除,如刪除非空目錄必須用 rm -rf
touch #創建空文件
touch hello.txt
cp #拷貝文件到指定目錄
cp [選項] source dest # -r 遞歸複製整個文件夾
cp a.txt b/ #複製當前文件夾下的a文件到b文件夾中
cp -r a/ b/ #將a文件夾整個拷貝到b文件夾中,
rm #刪除文件和目錄
mv #移動文件和目錄
cat #以只讀的形式查看文件 -n 顯示行號
more #以全屏的方式按頁顯示文本文件的內容
less #以分屏的方式查看文件內容
history #查看已經執行過歷史命令,也可以執行歷史指令
!178 #執行編號爲178的歷史指令
head #顯示文件的開頭部分內容,默認情況下 head 指令顯示文件的前 10 行內容
head -n 5 /etc/profile #查看前五行
tail #輸出文件中尾部的內容,默認情況下 tail 指令顯示文件的後 10 行內容
tail -n 5 /etc/profile
tail -f 文件 # 實時追蹤該文檔的所有更新,工作經常使用
軟連接 硬鏈接
由於linux下的文件是通過索引節點(Inode)來識別文件,硬鏈接可以認爲是一個指針,指向文件索引節點的指針,系統並不爲它重新分配inode。每添加一個一個硬鏈接,文件的鏈接數就加1。
符號連接(Symbolic Link),也叫軟連接。軟鏈接文件有類似於Windows的快捷方式。它實際上是一個特殊的文件。在符號連接中,文件實際上是一個文本文件,其中包含的有另一文件的位置信息。
ln -s 源文件 目標文件 #軟鏈接
ln 源文件 目標文件 #硬鏈接
6 搜索查找類
find 指令
find [搜索範圍] [選項] #選項 -name 指定文件名查找 -user 指定用戶名所有文件 -size 文件大小查找
find /home -name hello.txt #在home文件夾下查找hello.txt文件
find /opt -user bing #在opt目錄下查找用戶名稱爲bing的文件
find / -size +20M #在整個系統中查找大於20M的文件(+n 大於 -n小於 n等於)
locate 指令
locate指令能夠快速定位文件路徑。locate 指令利用事先建立的系統中所有文件名稱及路徑的locate 數據庫實現快速定位給定的文件。 Locate 指令無需遍歷整個文件系統,查詢速度較快。爲了保證查詢結果的準確度,管理員必須定期更新 locate 時刻。
由於 locate 指令基於數據庫進行查詢, 所以第一次運行前,必須使用 updatedb 指令創建 locate數據庫。
locate 搜索文件
updatedb
locate hello.txt # locate 指令快速定位 hello.txt 文件所在目錄
grep 指令和 管道符號 |
grep 過濾查找 , 管道符 “|”,表示將前一個命令的處理結果輸出傳遞給後面的命令處理。
grep [選項] 查找內容 源文件 #選項 -n 顯示匹配及行號
cat hello.txt | grep -n yes #在 hello.txt 文件中,查找 "yes" 所在行,並且顯示行號
cat hello.txt | grep -ni yes #不區分大小寫
7 壓縮和解壓類
gzip/gunzip 指令
gzip 用於壓縮文件, gunzip 用於解壓 。使用 gzip 對文件進行壓縮後,不會保留原來的文件。
gzip 文件 #壓縮文件,只能將文件壓縮爲*.gz 文件
gzip hello.txt #壓縮成hello.txt.gz
gunzip 文件.gz #解壓縮文件
gunzip hello.txt.gz
zip/unzip 指令
zip [選項] XXX.zip 將要壓縮的內容 #壓縮文件和目錄的命令 -r 遞歸壓縮,即壓縮目錄
zip -r test.zip /home/ #將 /home 下的 所有文件進行壓縮到test.zip文件中
unzip [選項] XXX.zip #解壓縮文件 -d<目錄> :指定解壓後文件的存放目錄
unzip -d /new/ test.zip #將test.zip 解壓到/new/目錄下
tar 指令
tar 指令 是打包指令,最後打包後的文件是 .tar.gz 的文件。
tar [選項] XXX.tar.gz 打包的內容 #選項: -z 打包同時壓縮 -x 解包.tar 文件
# -c 產生.tar打包文件 -v 顯示詳細信息 -f 指定壓縮後的文件名
tar -cvf log.tar log.log 僅打包,不壓縮!
tar -zcvf log.tar.gz log.log 打包後,以 gzip 壓縮
tar -jcvf log.tar.bz2 log.log 打包後,以 bzip2 壓縮
tar –xvf file.tar //解壓 tar包
tar -xzvf file.tar.gz //解壓tar.gz