這裏記錄一下個人學習過程,至關於本身記個筆記,同時分享出來,若是有同窗恰好有須要而這個文章幫助到了你的話,在下也會十分開心。html
文章最後推介了幾個免費視頻,B 站和慕課上的免費學習視頻挺多,並且有些質量仍是不錯的。前端
當 cd /
進入到根目錄,ls
能夠看到一大堆子目錄,以下圖:linux
這些文件是有顏色的:git
經常使用目錄的做用以下:github
/home/用戶名
。固然,root 用戶除外;其餘更詳細的目錄做用參考 <CentOS根目錄下各目錄介紹 - 知乎>shell
一些經常使用的命令見下:apache
做用 | 命令 |
---|---|
切換目錄 | cd |
顯示當前目錄完整路徑 | pwd |
查看目錄下的信息(包括隱藏文件) | ls (ls -a ) |
列出目錄下的文件和詳細信息 | ls-l (ll ) |
建立目錄 | mkdir |
建立文件 | touch |
複製文件(文件夾) | cp (cp -r ) |
移動/重命名文件夾和目錄 | mv |
刪除文件(目錄) | rm (rm -rf ) |
刪除空文件夾 | rmdir |
查找文件 | find |
獲取幫助 | man / info |
還有幾個經常使用的快捷鍵:vim
做用 | 快捷鍵 |
---|---|
清空至行首 | Ctrl + U |
清空至行尾 | Ctrl + K |
清屏 | Ctrl + L |
終止執行的命令 | Ctrl + C |
值得一提的是,這些命令在其餘系統也可使用。安全
咱們可使用 tree
命令方便地查看目錄樹,可是系統自己卻並無安裝 tree
命令,因此咱們要首先安裝一下 sudo yum -y install tree
,而後咱們就能夠快樂使用了:bash
vim 編輯器是 CentOS 系統中使用頻率比較高的編輯器,掌握基本使用方法對之後的工做有很大幫助。
經過 vim <文件名>
的方式能夠編輯某文檔,若是文檔名不存在,那麼會新建一個文檔來進行編輯。
vim 共分爲三種模式,分別是命令模式(Command mode),輸入模式(Insert mode)和底線命令模式(Last line mode)。
啓動 vim 後就進入了命令模式,此狀態下敲擊鍵盤動做會被認爲是命令,而非輸入字符。經常使用的幾個命令:
命令模式只有一些最基本的命令,要依靠底線命令模式輸入更多命令。
在命令模式下按下 i
就進入了輸入模式。在輸入模式中,可使用如下按鍵:
功能 | 命令 |
---|---|
向上翻頁 | PageDown / Ctrl + F |
向下翻頁 | PageUp / Ctrl + B |
跳轉到文件首行 | 1G / gg |
跳轉到末尾行 | G |
跳轉到第 # 行 | #G |
行號顯示 | :set nu |
行號顯示取消 | :set nonu |
插入 | d / Del |
刪除當前行 | dd |
複製 | yy |
將緩衝區中的內容粘貼到光標位置處以後 | p |
還有一些其餘命令,好比刪除從光標處開始的 # 行內容 #dd
,複製從光標處開始的 # 行內容 #yy
等,能夠看文檔 <Linux vi/vim | 菜鳥教程> 一文。
在命令模式下按下:(英文冒號)就進入了底線命令模式。
底線命令模式能夠輸入單個或多個字符的命令,可用的命令很是多。
在底線命令模式中,基本的命令有(已經省略了冒號):
:q
退出程序;:q!
放棄對文件內容的修改並退出;:w
保存文件;:w /root/xx
另存爲;:wq
保存文件並退出;一些常見查看文件內容的命令:
功能 | 命令 |
---|---|
瀏覽文件所有內容 | more / less |
查看文件內容(顯示行號) | cat (cat -n ) |
在文本文件中查找字符串(顯示行號) | grep (grep <關鍵字> <要查找的文件> -n ) |
管道符 將一個命令的執行結果做爲另外一個命令的輸入來執行,格式 cmd1 | cmd2 ... | cmdn
好比,將 /etc
目錄中的文件名以 pass 開頭的文件列舉出來 ls /etc | grep pass*
再好比,查看 /etc
目錄下的內容,並使用 less 的形式瀏覽 ls /etc | less
功能 | 命令 |
---|---|
輸出重定向,已有原來的文件則替換 | > |
輸出重定向,若是原來的文件存在則追加在原來的內容以前 | >> |
輸入重定向,即命令的輸入不經過鍵盤來完成,而經過其餘的方式 | < |
錯誤重定向 | 2> |
輸出重定向與錯誤重定向同時實現 | &> |
好比,將 ls /
命令執行的結果輸出到 2.txt
中 ls / > 2.txt
進程: 是正在執行的一個程序或命令,每個進程都是一個運行的實體,都有本身的地址空間,並佔用必定的系統資源。
進程管理最重要的就是 ps
命令:
ps aux
,查看系統中全部進程,使用 BSD 操做系統格式;ps -le
,查看系統中全部進程,使用 Linux 標準命令格式;ps
命令輸出大約以下圖所示:
輸出的格式含義:
還有個命令 pstree
,顯示進程樹:
top
命令能夠查看系統健康狀態,和 Windows 系統中的系統管理器相似。
top
命令的交互模式中能夠執行下面命令:
?
/h
: 顯示交互模式的幫助;P
:以 CPU 使用率排序,默認就是此項;M
:之內存的使用率排序;N
:以 PID 排序;q
:退出 top
;load average 後面的三個數字的意思,分別爲系統在以前 1 分鐘,5 分鐘,15分鐘的平均負載。通常認爲小於 1 時,負載較小。若是大於 1,系統已經超出負荷。若是是多核 CPU,那麼這個數字應該不大於你的 CPU 核心數,好比雙核 CPU 時應該不大於 2。
Tasks 後面的 zombie,意思爲殭屍進程,通常是進程沒法正常運行,也沒有正常退出卡住了,也有可能這個進程正在終止過程當中,若是稍微等待一下還有,那麼就須要手工檢查一下。
%CPU(s) 的 id 是主要須要看的,意爲空閒 CPU 的百分比,若是低於 20,那麼系統的狀態就比較卡了。
殺死進程主要有下面幾個命令:
功能 | 命令 |
---|---|
殺死某個進程 | kill |
按照進程名殺死進程 | killall |
按照進程名殺死進程,加 -t 能夠按照終端號踢出用戶 |
pkill |
殺死進程時,能夠跟信號,信號不少,經常使用信號:
信號代號 | 信號名稱 | 說明 |
---|---|---|
1 | SIGHUP | 讓進程當即關閉,而後從新讀取配置文件以後重啓,平滑重啓 |
2 | SIGINT | 程序終止信號,用於終止前臺進程,至關於 ctrl + c 快捷鍵 |
9 | SIGKILL | 強制終止,用來當即結束程序的運行,本信號不能被阻塞、處理和忽略 |
15 | SIGTERM | 正常結束的信號,kill 命令默認就是這個信號,有時候進程已經發生問題,正常沒法終止,此時會使用 -9 信號 |
因此經常使用殺死進程的命令:正常殺死 kill -1 2235
或者強制殺死 kill -9 2235
咱們能夠 ps -le | more
來查看進程優先級:
PRI 表明 Priority , NI 表明 Nice,這兩個值都是優先級,數字越小表明該進程優先級越高。用戶只能修改 NI,不能直接修改 PRI,但系統最終取 PRI + NI 的值。NI 值的範圍是 -20 到 19,普通用戶調整 NI 值的範圍是 0-19,並且只能調整本身的進程,root 用戶才能設定進程 NI 值爲負值。
可使用 nice
命令來修改優先級,nice <選項> 命令
,nice 命令能夠給新執行的命令直接賦予 NI 值,可是不能修改已經存在進程的 NI 值。選項 -n 值
給命令賦予 NI 值。
好比修改 apache 的進程優先級 nice -n -5 service httpd start
若是要修改已存在的進程的優先級,須要使用 renice
命令,renice <優先級> PDID
,PID 爲某一個進程的 ID。
好比 renice -10 2125
修改 ID 2125 的進程 NI 值爲 -10。
把進程放入後臺有兩個主要命令:
<命令> &
把命令放入後臺,並在後臺執行<命令>
執行後按下 ctrl + z 快捷鍵,放在後臺暫停查看正在後臺的工做,可使用 jobs [-l]
命令,-l
是顯示工做的 PID。
+
表明最近一個放入後臺的工做,也是工做恢復時,默認恢復的工做,-
表明倒數第二個放入後臺的工做。
恢復到前臺:
fg %工做號
將後臺暫停的工做恢復到前臺執行,這裏的 % 能夠省略,注意工做號和 PID 的區別;bg %工做號
將後臺暫停的工做恢復到後臺執行,後臺恢復執行的命令,是不能和前臺有交互的,不然不能恢復到後臺執行;後臺命令脫離登錄終端執行的方法:
/etc/rc.local
文件;nohup
命令;nohup
命令的使用方法 nohup <命令> &
Secure Shell(SSH)是創建在應用層基礎上的安全網絡協議,是專爲遠程登陸會話和其餘網絡服務提供安全性的協議,可有效彌補網絡中的漏洞。經過 SSH,能夠把全部傳輸的數據進行加密,也可以防止 DNS 欺騙和 IP 欺騙。還有一個額外的好處就是傳輸的數據是通過壓縮的,因此能夠加快傳輸的速度,已經成爲Linux系統的標準配置。
ssh -p port <username>@<hostname or IP address>
複製代碼
好比我這裏購買的騰訊雲服務器就可使用 ssh root@<公網IP/域名>
鏈接,若是你設置過域名對 IP 的映射,那麼 @
後面寫你的域名也能夠,好比我就能夠 ssh root@sherlocked93
鏈接服務器。
而後就是輸入密碼,就能夠進入 CentOS 系統了,可是每次登錄都須要密碼,挺蠢的也不安全,咱們能夠設置使用 SSH 密鑰的方式,密鑰登錄的方式能夠百度一下。
鏈接系統以後,能夠經過 Ctrl+D 或者 exit
命令退出遠程登陸。
鏈接上 CentOS 以後,命令行左側的命令提示符含義以下:
SSH 能夠經過 scp 命令來上傳文件,是 Linux 系統下基於 SSH 登錄進行安全的遠程文件拷貝命令,scp 是 secure copy 的簡寫,可使用它上傳本地文件夾到遠程服務器,也能夠從遠程服務器上下載文件夾到本地:
# 上傳文件夾到遠程服務器 scp -P port -r /local/dir username@servername:/remote/dir # scp -p 2333 -r /test/a root@192.168.0.101:/var/b # 從遠程服務器下載文件夾 scp -P port -r username@servername:/remote/dir/ /local/dir # scp -p 2333 -r root@192.168.0.101:/var/b /test/a 複製代碼
-r
參數表示遞歸複製,即複製該目錄下面的文件和目錄,若是要上傳單個文件,只要把 -r
刪除。大寫的 P
表示的是端口,若是仍是默認的 SSH 端口 22 沒有更改,則不須要 -P
。
SSH 在使用時,常常會由於閒置時間過長而倍服務器自動斷開,而後又要從新鏈接,比較麻煩,能夠設置一下防止常常被服務器踢出。
一種方法就是修改服務器設置,找到所在用戶的 .ssh
目錄,如 root 用戶該目錄在:/root/.ssh/
,在該目錄建立 config 文件
vim /root/.ssh/config
複製代碼
加入下面一句:
ServerAliveInterval 60
複製代碼
而後 ESC 再 :wq
保存退出,從新開啓 root 用戶的shell,則再 SSH 遠程服務器的時候,不會由於長時間操做斷開。
還有種方法設置 $TMOUT
系統環境變量
vim /etc/profile
在最後一行加上:
export TMOUT=0 複製代碼
設置 TMOUT
參數爲 0 的意思就是設置不超時,而後 ESC 再 :wq
保存退出,再 source /etc/profile
讓配置當即生效。
參考文檔:
PS:本人博客地址 Github - SHERlocked93/blog,也歡迎你們關注個人公衆號【前端下午茶】,一塊兒加油吧~
另外能夠加入「前端下午茶交流羣」微信羣,長按識別下面二維碼便可加我好友,備註加羣,我拉你入羣~