轉載 longctw 版權聲明:只為分享、歡迎轉載^V^ https://blog.csdn.net/xulong_08/article/details/81463054 Linux是目前應用最廣泛的伺服器操作系統,基於Unix,開源免費,由於系統的穩定性和安全性,市場占有率很高,幾乎成為程式代碼運 ...
轉載 longctw
Linux是目前應用最廣泛的伺服器操作系統,基於Unix,開源免費,由於系統的穩定性和安全性,市場占有率很高,幾乎成為程式代碼運行的最佳系統環境。linux不僅可以長時間的運行我們編寫的程式代碼,還可以安裝在各種電腦硬體設備中,如手機、路由器等,Android程式最底層就是運行在linux系統上的。
一、linux的目錄結構
- bin (binaries)存放二進位可執行文件
- sbin (super user binaries)存放二進位可執行文件,只有root才能訪問
- etc (etcetera)存放系統配置文件
- usr (unix shared resources)用於存放共用的系統資源
- home 存放用戶文件的根目錄
- root 超級用戶目錄
- dev (devices)用於存放設備文件
- lib (library)存放跟文件系統中的程式運行所需要的共用庫及內核模塊
- mnt (mount)系統管理員安裝臨時文件系統的安裝點
- boot 存放用於系統引導時使用的各種文件
- tmp (temporary)用於存放各種臨時文件
- var (variable)用於存放運行時需要改變數據的文件
二、linux常用命令
- 命令格式:命令 -選項 參數 (選項和參數可以為空)
- 如:ls -la /usr
2.1 操作文件及目錄
命令 | 參數 | 示例 | 說明 |
cd | cd /home | 切換目錄 | |
pwd | pwd | 顯示當前工作目錄目錄 | |
touch | touch 1.txt | 創建空文件 | |
mkdir | mkdir testdir | 創建一個新目錄 | |
-p | mkidr -p dir1/dir2/dir3/ | 創建多級目錄,父目錄不存在情況下先生成父目錄 | |
cp | cp 1.txt | 複製文件或目錄 | |
-r | cp -r dir1/ | 遞歸處理,將指定目錄下的文件與子目錄一併拷貝 | |
mv | mv dir1 dir2 | 移動文件或目錄、文件或目錄改名 | |
rm | rm 1.txt | 刪除文件 | |
-r -f |
rm -rf dir1 |
r同時刪除該目錄下的所有文件, f強制刪除文件或目錄 |
|
rmdir | rmdir dir1 | 刪除空目錄 | |
cat | cat 1.txt | 顯示文本文件內容 | |
more | more 1.txt |
分頁顯示文本文件內容,可前後翻頁,空格向後,b向前 |
|
less | less 1.txt |
分頁顯示文本文件內容,可前後翻頁,空格向後,b向前,支持底行模式(後面介紹) |
|
head | head 1.txt | 查看文本開頭部分,預設十行 | |
-[num] | head -20 1.txt | 查看文本開頭部分指定行數 | |
tail | tail 1.txt | 查看文本結尾部分,預設十行 | |
-[num] | tail -20 1.txt | 查看文本結尾部分指定行數 | |
-f | tail -f 1.txt | 迴圈滾動讀取文件並動態顯示在屏幕上,根據文件屬性追蹤 | |
-F | tail -F 1.txt | 迴圈滾動讀取文件並動態顯示在屏幕上,文件文件名追蹤 | |
wc | wc 1.txt |
統計文本的行數、字數、字元數 |
|
-m |
wc -m 1.txt | 字元數 | |
-w | wc -w 1.txt | 文本字數 | |
-l | wc -l 1.txt | 文本行數 | |
find | -name | find / -name 1.txt | 在文件系統中的指定目錄下查找指定的文件 |
grep | grep aaa 1.txt | 在指定文件中查找包含指定內容的行,例:在1.txt中查找包含aaa的所有行 | |
ln | ln 1.txt 1_bak.txt | 建立鏈接文件, | |
-s |
ln -s 1.txt 1_bak.txt | 對源文件建立符號連接,而非硬連接 |
2.2 系統常用命令
命令 | 參數 | 示例 | 說明 |
top | top |
顯示當前系統中耗費資源最多的進程 |
|
date | date | 顯示系統當前時間 | |
ps | 較少單獨使用,配參數根據需求,ps -ef 或者ps-aux | ||
-e /-A | ps -e |
顯示所有進程,環境變數 |
|
-f | ps -ef | 全格式顯示 | |
-a | ps -a |
顯示所有用戶的所有進程(包括其它用戶) |
|
-u | ps -au |
按用戶名和啟動時間的順序來顯示進程 |
|
-x | ps -aux | 顯示無控制終端的進程 | |
kill | -9 | kill -9 pid | 強制殺死一個進程 |
df | df | 顯示文件系統磁碟空間的使用情況 | |
-h | df -h | 以人類可讀的方式顯示,Kb,Mb,GB等 | |
du |
顯示指定的目錄及其子目錄已使用的磁碟空間的總和 |
||
-s | du -s * | 進顯示指定目錄的總和,*當前目錄下表示所有 | |
-h | du -sh * | 以人類可讀的方式顯示,Kb,Mb,GB等 | |
free | free | 顯示當前記憶體和交換空間的使用情況 | |
ifconfig | ifconfig | 網卡網路配置,常用於查看當前IP地址 | |
ifconfig eth0 192.168.12.22 | 臨時修改系統IP(重啟後失效) | ||
ping | ping baidu.com | 測試網路的連通性 | |
hostname | hostname | 查看主機名 | |
shutdown | -r | shutdown -r | 先關機,再重啟 |
-h | shutdown -h | 關機後不重啟 | |
halt | halt |
關機後關閉電源,相當於shutdown -h |
|
reboot | reboot |
重新啟動 相當於shutdown -r |
2.3 壓縮解壓縮
命令 | 參數 | 示例 | 說明 |
gzip | gzip 1.txt | 壓縮後面的文件或者文件夾 | |
-d | gzip -d 1.txt.gz | 解壓後面的壓縮文件 | |
-[num] | gzip -9 1.txt |
用指定的數字num調整壓縮的速度,-1或--fast表示最快壓縮方法(低壓縮比),-9或--best表示最慢壓縮方法(高壓縮比)。系統預設值為6 |
|
tar | -c | tar -cvf 1.tar 1.txt | 建立一個壓縮文件的參數指令,例,將1.txt壓縮為1.tar,也可指定多個文件或文件夾 |
-x | tar -xvf 1.tar 1.txt | 解開一個壓縮文件的參數指令 | |
-z |
tar -zcvf 1.tar.gz 1.txt tar -zxvf 1.tar.gz 1.txt |
是否需要用 gzip ,使用gzip壓縮或解壓 | |
-v | 壓縮的過程中顯示文件 | ||
-f | 使用檔名,在 f 之後要立即接檔名 |
2.4 文件許可權操作
- linux文件許可權的描述格式解讀
- r 可讀許可權,w可寫許可權,x可執行許可權(也可以用二進位表示 111 110 100 --> 764)
- 第1位:文件類型(d 目錄,- 普通文件,l 鏈接文件)
- 第2-4位:所屬用戶許可權,用u(user)表示
- 第5-7位:所屬組許可權,用g(group)表示
- 第8-10位:其他用戶許可權,用o(other)表示
- 第2-10位:表示所有的許可權,用a(all)表示
- r 可讀許可權,w可寫許可權,x可執行許可權(也可以用二進位表示 111 110 100 --> 764)
命令 | 參數 | 實例 | 說明 |
chmod | chmod u+r 1.txt |
修改文件或目錄的許可權 u表示當前用戶,g表示同組用戶,o表示其他用戶,a表示所有用戶 r表示可讀,w表示可寫,x表示可執行 例:修改1.txt文件給當前用戶添加可執行許可權 |
|
-R | chmod -R u+r dir1 | 修改指定目錄及其子目錄的所有文件的許可權 | |
三位數字 | chmod 764 1.sh |
直接指定文件的許可權 7:表示可讀可寫可執行,4+2+1 6:表示可讀可寫,4+2 ... |
|
chown | chown user1:group1 1.txt |
修改文件的所屬用戶和組 例:將1.txt文件的所屬用戶指定為user1,組為group1 |
|
-R | chown -R user1:group1 1.txt |
修改目錄下所有文件及子目錄的所屬用戶和組 用數字來表示許可權(r=4,w=2,x=1,-=0) |
三、linux系統常用快捷鍵及符號命令
命令 | 參數 | 實例 | 說明 |
ctrl + c | 停止進程 | ||
ctrl + l | 清屏 | ||
ctrl + r | 搜索歷史命令 | ||
ctrl + q | 退出 | ||
tab | 自動補全 | ||
> | echo "haha" > 1.txt |
將前一條命令的輸出,寫入到後面的文本中 將文本清空,然後寫入 |
|
>> | echo "lala" >> 1.txt |
將前一條命令的輸出,寫入到後面的 文本中 不清空文本,追加到文本最後 |
|
| | cat 1.txt | grep 'hello' |
管道命令,以前一個命令的輸出作為輸入,然後進行運算 例:列印1.txt中帶有hello字元串的行 |
|
* | 通配符,指所有 |
四、vim編輯器
vi / vim是Linux上最常用的文本編輯器而且功能非常強大。只有命令,沒有菜單,下圖表示vi命令的各種模式的切換圖。
4.1 修改文本
i |
在游標前插入 |
I |
在游標當前行開始插入 |
a |
在游標後插入 |
A |
在游標當前行末尾插入 |
o |
在游標當前行的下一行插入新行 |
O |
在游標當前行的上一行插入新行 |
:wq | 保存並退出 |
4.2 定位命令
:set nu | 顯示行號 |
:set nonu | 取消行號 |
gg | 跳到首行 |
G | 跳到末行 |
:n | 跳到第n行 |
4.3 替換和取消命令
u | undo,取消上一步操作 |
Ctrl + r |
redo,返回到undo之前 |
r |
替換游標所在處的字元 |
R |
從游標所在處開始替換,按Esc鍵結束 |
4.3刪除命令
x | 刪除游標所在處字元 |
nx | 刪除游標所在處後的n個字元 |
dd | 刪除游標所在行。ndd刪除n行 |
dG | 刪除游標所在行到末尾行的所以內容 |
D | 刪除游標所在處到行尾的內容 |
:5,7d | 刪除指定範圍的行 |
4.4 常用快捷鍵
Shift+ zz | 保存退出,與“:wq”作用相同 |
v | 進入字元可視模式 |
V | 進入行可視模式 |
Ctrl + v | 進入塊可視模式 |