創作不易,如果以下內容對你有幫助,別忘了點一個贊,讓更多的小夥伴能看到吧~~
一、常用目錄/文件操作命令
1.展示目錄列表命令ls (list)
ls 展示當前目錄下的可見文件
ls -a 展示當前目錄下所有的文件(包括隱藏的文件)
ls -l(ll) 展示當前目錄下文件的詳細信息
ll -a 展示當前目錄下所有文件的詳細信息
ll -h 友好的顯示當前目錄下文件的詳細信息(文件的大小可讀性更強了)
2.切換目錄命令cd(change directory)
cd test 切換到test目錄下
cd .. 切換到上一級目錄
cd / 切換到系統根目錄下
cd ~ 切換到當前用戶的根目錄下
cd - 切換到上一級所在的目錄
3.目錄的創建(mkdir)和刪除(rmdir)命令
mkdir test 在當前目錄下創建一個test目錄
mkdir -p test/a/b 在test目錄下的a目錄下創建一個b目錄,如果上一級目錄不存在,則連它的父目錄一起創建
rmdir test 刪除當前目錄下的test目錄(注意:該命令只能夠刪除空目錄,如果想刪除非空目錄,rm -r test 刪除)
4.文件的創建(touch)和刪除(rm)命令
touch test.txt 在當前目錄下創建一個test.txt文件
touch ~/Desktop/test.txt 在~/Desktop目錄下創建test.txt文件
rm test.txt 刪除test.txt的文件(帶詢問的刪除,需輸入y才能刪除)
rm -f test.txt 強制刪除text.txt文件
rm -r test 遞歸刪除,即刪除test目錄以及其目錄下的子目錄(帶詢問的刪除)
rm -rf test 直接刪除test目錄以及其目錄下的子目錄
5. 文件複製(cp) 和文件移動、重命名(mv)
cp test1/a.txt(源文件路徑) test2/b.txt(複製目標路徑) 將a.txt文件複製到test2目錄下的b.txt文件
cp -r test1 test2 將目錄test1複製到test2
-r:遞歸持續複製,用於目錄的複製行爲;(常用)
mv test1/a(源文件路徑) test2/b(移動目標路徑) 將a文件移動到test2目錄下的b文件
mv a.txt b.txt 給a.txt重命名爲b.txt
6.文件打包或解壓命令tar
- 說明: Linux中的打包文件一般是以.tar結尾的,壓縮的命令一般是以.gz結尾的。而一般情況下打包和壓縮是一起進行的,打包並壓縮後的文件的後綴名一般.tar.gz。
壓縮:
tar -zcvf tar zcvf FileName.tar.gz(壓縮後的文件名) DirName(要打包壓縮的文件)
z:調用gzip壓縮命令進行壓縮
c:打包文件
v:顯示運行過程
f:指定文件名
解壓:
tar zxvf FileName.tar.gz(解壓文件名)
z:調用gzip壓縮命令進行壓縮
x:解壓文件
v:顯示運行過程
f:指定文件名
二、命令執行/基本的文件管理
1. 格式化輸出時間(date)
時間(date)
date 顯示當前日期(包括年月日、時分秒、星期)
date +%Y/%m/%d 格式化輸出年月日(以指定的/鏈接)
%S:秒,取值爲00-59
%M:分鐘,取值爲00-59
%H:小時,取值爲00-23
%d:月中的某天,取值爲01-31
%m:一年中的某月,取值爲01-12
%y:一個世紀中的某年,取值爲0-99
%Y:年,其格式爲ccyy(4個數字)
%D:以格式%m%d%y表示的日期
%T:時間,格式爲%H:%M:%S
日曆(calendar)
cal 查看當前月份的日曆
cal -y 查看一年中的日曆
2. 開關機命令/切換身份(su)
shutdown –h now 立刻進行關機
shutdown –r now 現在重新啓動計算機
su - 切換root用戶權限
su - m 切換到root用戶且保持在切換前的目錄
passwd 修改用戶密碼
logout 用戶註銷
3. 常見的熱鍵與操作技巧
- 【Tab】鍵:,命令自動補全,也可以文件名補全,變量補全
- 【Ctrc】+【C】 :中斷一個運行的命令
- 【Shift】+【PageUP】,【Shift】+【PageDown】:上下移動屏幕界面
- 命令 --help 查看命令用法詳情,如 ls --help
4. 管道命令
- 說明: “|” 表示 將前一個命令輸出的結果作爲後面的命令的輸入來處理
ll /etc/ | grep 'passwd' 在ll /etc命令顯示結果中匹配(grep) 'passwd'
5. echo文字/重定向(>和>>)
- echo 會在終端中顯示參數指定的文字,通常會和 重定向 聯合使用
echo "hello world"
終端返回: hello world
- Linux 允許將命令執行結果 重定向到一個 文件
將本應顯示在終端上的內容 輸出/追加 到指定文件中
其中- “>” 表示輸出,會覆蓋文件原有的內容
- “>>” 表示追加,會將內容追加到已有文件的末尾
echo "print('hello world')" > 01.py 將 "print('hello world')"覆蓋01.py文件原有內容
echo "print('hello world')" >> 01.py 將 "print('hello world')"追加到01.py文件末尾
6. linux文件查看
cat 由第一行開始顯示文件內容
nl 顯示的時候,順道輸出行號
more 一頁一頁的顯示文件內容,小寫q退出
less 與more類似,但是比more更好的是,他可以往前翻頁
head 只看頭幾行
tail 只看尾巴幾行
7. 遠程操作
說明:
- ssh協議: 安全外殼SSH(Secure Shell)協議由 IETF網絡工作小組所制定,是使用在傳輸層和應用層的安全協議。是應用於遠程登錄及其他網絡服務的安全性協議
ssh 用戶名@IP地址 -p 端口號(端口號可省略) 遠程連接服務器
scp ~/Desktop/01.py username@IP地址:/Demo 將 ~/Desktop/目錄下的01.py文件遠程複製到指定的服務器的某個目錄下
scp -r ~/Desktop/demo username@IP地址:/Demo 將 ~/Desktop/demo目錄下的所有文件都複製到指定服務器的某個目錄下
8.其他實用命令
passwd說明:
- /etc/passwd 是用於保存用戶信息的文件
- /usr/bin/passwd 是用於修改用戶密碼的程序
- which 命令可以查看執行命令所在位置
bin和sbin說明
- 在 Linux 中,絕大多數可執行文件都是保存在 /bin 、 /sbin 、 /usr/bin 、 /usr/sbin
- /bin ( binary )是二進制執行文件目錄,主要用於具體應用
- /sbin ( system binary )是系統管理員專用的二進制代碼存放目錄,主要用於系統管理
- /usr/bin ( user commands for applications )後期安裝的一些軟件
- /usr/sbin ( super user commands for applications )超級用戶的一些管理程序
查看命令所在位置
which ls 查看ls命令所在位置
終端返回: /bin/ls
which userdel
終端返回: /usr/sbin/userdel
查看當前用戶名
whoami 查看當前登錄的用戶名
查看配置網卡信息
- 說明:ping 一般用於檢測當前計算機到目標計算機之間的網絡 是否通暢,數值越大,速度越慢
ifconfig 查看網卡配置信息
ifconfig | grep inet 查看網卡對應的 IP 地址
ping 127.0.0.1 檢測本地網卡工作正常
ping www.baidu.com 通過跟服務器通信,查看是否聯網和網速
三、Linux文件權限與賬號管理
1. 文件權限
說明:
-
linux的文件權限主要依據三種身份來確認
- user/owner(用戶/所有者): 文件的所屬人
- group(羣組) : 這個文件附屬於某一個羣組的人
- others(其他人) :不是user(用戶)也沒加入group(羣組)的賬號,就是others(其他人)
-
文件權限查看(ll -a)
.
- -rw-rw-r-- 其中
- 首位的-表示此爲文件,並非文件夾
rw- 表示 文件的user權限可讀可寫不可執行
rw- 表示 group權限可讀可寫不可執
r-- 表示others權限可讀不可寫不可執行 - 第一個leadingme表示該文件的user/owner(用戶/所有者), 第二個leadingme表示該文件的 group(羣組)
- 42表示該文件大小爲42字節
- 4月 8 09:59 爲文件創建日期
修改文件所有者(chown)
sudo chown ubuntu 01.py 修改01.py的所有者爲ubuntu
命令返回值:-rw-rw-r-- 1 ubuntu leadingme 42 4月 8 09:59 01.py
修改文件擁有的組(chgrp)
sudo chgrp ubuntu 01.py 修改01.py的擁有的組爲ubuntu
命令返回值:-rw-rw-r-- 1 ubuntu ubuntu 42 4月 8 09:59 01.py
修改文件操作權限(chomd搭配數字法)
- 說明:
r => read => 2^2 => 4 可讀對應數字4
w => write => 2^1 => 2 可寫對應數字2
x => eXecute => 2^0 => 1 可執行對應數字1 - 結論:
rwx 可用數字表示爲 7
r-- 可用數字表示爲 4
…
sudo chmod 775 01.py 修改01.py 權限爲775(rwxrwxr-x)
命令返回值:-rwxrwxr-x 1 ubuntu ubuntu 42 4月 8 09:59 01.py
2.賬號管理
用戶管理
useradd -g usergroup -m username 創建一個用戶
useradd -G progroup username
- g 用來指定創建用戶擁有的主組(主組只能有一個)
- G 用來添加輔助組(可以添加多個)
- m 指定用戶的登錄目錄,如果不寫則無登錄目錄
usermod -G groupname username 將username用戶添加到groupname組中
usermod -s bash username 修改用戶的shell
sudo passwd username 修改某個用戶的密碼
userdel -r username 刪除指定用戶
- r 遞歸刪除該用戶的登錄目錄
id username 查看用戶的用戶名(編號),組名(編號)
羣組管理
groupadd groupname 創建一個羣組
grep groupname /etc/group 查看指定的組名是否存在,/etc/gropu存放系統所有的組名
grep groupname /etc/passwd 查看所有用戶的信息
四、進程管理
1. 查看進程
說明:
-
F (flag): 代表進程的摘要標誌,常見的是4,代表root .
-
S (stat):狀態欄,主要的分類項有下面幾種
- R(running):該進程正在運行
- S(stop):該進程當前正在睡眠狀態,但可以被喚醒
- D:不可被喚醒睡眠狀態,通常這個進程可能在等待I/O,例如打印
- T:停止狀態(stop),可能是在工作控制(後臺暫停)
- Z(Zombie): 殭屍狀態,進程已經結束卻無法從內存中移出
-
UID/PID/PPID:代表“此進程被該PID所擁有/進程的PID號碼/此程序的父進程PID號碼”
-
C:代表CPU使用率,單位爲百分比
-
PRI/NI:表示該進程被CPU所執行的優先級,數值越小,越快被CPU執行
-
ADDR/SZ/WCHAN: 指出該進程在內存的哪一部分
-
TTY:登陸者的終端位置,若爲遠程登錄則使用動態終端接口(pts/n)
-
TIME: 使用CPU的時間,注意,是此進程實際花費的CPU時間,而不是系統時間
-
CMD(command):觸發次進程的命令
ps -l 查看當前的bash界面的相關進程(也稱前臺級進程)
pstree -a 以關聯樹的方式展示全部進程的信息及相關聯繫
ps -aux 查看系統中的進程信息全部輸出,常用的命令
top 動態查看進程,每5秒更新一次
2. 終止進程
kill 進程的UID碼 終止該進程
kill -9 進程的UID碼 強制終止該進程
五、文件系統基本管理
1. 軟連接和硬連接(ln)
說明:
- ln命令主要用途:將一個文件或目錄在同一個文件系統或者另一個不同的文件系統的某個位置建立一個鏈接,類似windows系統中的超鏈接,這樣當我們在鏈接處訪問被鏈接的目錄或文件時就可以通過此鏈接來訪問,不必要再進入要訪問的文件系統中。
- 建立鏈接有兩種:硬鏈接和軟鏈接
- 在linux中文件名和文件數據是分開存儲的,文件名存儲的是文件數據的引用(地址),通常通過文件名訪問文件數據
- 軟鏈接: 創建一個軟連接,軟連接名存儲軟鏈接數據(也就是指向文件名的路徑),通過此方式間接訪問文件數據。當文件名刪除時,軟鏈接失效
- 硬鏈接: 創建一個硬鏈接,硬鏈接相當於給文件數據取了一個別名,等同於原來的文件名。如果刪除文件名,硬鏈接並不失效,只要有至少一個文件名指向文件數據,其數據所在磁盤空間不會釋放
sudo ln -s ~/Desktop/01.py Desktop/03.py 給~/Desktop/01.py(絕對路徑) 創建一個軟鏈接,軟鏈接名爲03.py
sudo ln -d ~/Desktop/01.py Desktop/03.py 給~/Desktop/01.py(絕對路徑) 創建一個硬鏈接,硬鏈接名爲03.py
2. 文件系統的掛載
mkdir /srv/linux /srv/win 創建兩個目錄
mount /dev/sda4 /srv/linux 將/dev/sda4系統文件掛載到/srv/linux
mount /dev/sda5 /srv/win 將/dev/sda4系統文件掛載到/srv/win
df 查看系統的掛載點及可用的存儲空間等
六、vim的基本操作
1. 常用模式
-
命令模式
-
插入模式
-
末行模式
-
可視化模式,命令模式按v進入
-
替換模式,命令模式下按r進入
2. 插入模式
- 默認進入文件打開的是命令模式,在這個模式下是不能插入字符的
- 在命令模式下,按"i"鍵,會切換到插入模式,然後可以編輯文件
- 當編輯完文件後,按"Esc"鍵又回到命令模式
3. 命令模式
特殊字符
- “$” 光標移動到一行的最後
- “^” 光標移動到一行的最前
- “&” 在一行中括號兩端切換
- “#” 上向切換行
- “:” 切換末行模式
常規字母
- “x” 刪除光標處的字符
- “u” 恢復上一個操作的命令,相當於撤銷;
- “yw” 複製光標處的單詞
- “yl” 複製光標處的字母
- “yy” 複製一整行
- “p” 粘貼到光標處
- “cw” 剪切一個單詞
- “cl” 剪切一個字母
- “cc” 剪切一整行
- “dw” 刪除一個單詞
- “dl” 刪除一個字母
- “dd” 刪除一整行- “i” 在光標處插入字符
特殊字母
- “I” 光標所在行的行首插入字符
- “o” 光標所在行的下一行新行插入字符
- “O” 光標所在行的上以行新行插入
- “s” 刪除光標所在字符並插入字符
- “S” 刪除光標所在行並插入字符
- “a” 光標所在字符的下一個字符插入
- “A” 光標所在行的行尾插入字符
- “gg” 光標移動到首行
- “G” 光標移動到尾行
4. 末行模式
- 在命令行模式下,按":"進入末行模式
- :q 就是退出
- :wq 保存並退出,通常連用,等同與:x
- :q! 強制退出不保存
- :wq! 強制保存退出,首先要你有足夠的限權
- :sp filename 在vim窗口上半部分打開另一個文件,(同時編輯兩個文件)
- ctrl +w 然後按下,就切換到下半文件窗口
- ctrl +w 然後按上,就切換到上半文件窗口
5.可視化模式
說明:
爲了便於選取文本,VIM 引入了可視(Visual)模式。 要選取一段文本,首先將光標移到段首,在普通模式下按 v 進入可視模式,然後把光標移到段末。 需要注意,光標所在字符是包含在選區中的
-
v 進入字符可視化模式
-
V 進入行可視化模式
-
Ctrl+v 進入塊可視化模式
-
用 v 命令進入的字符可視化模式(Characterwise visual mode)。文本選擇是以字符爲單位的。
-
用 V 命令進入的行可視化模式(Linewise visual mode)。文本選擇是以行爲單位的。
-
用 ctrl-V 進入的塊可視化模式(Blockwise visual mode)。可以選擇一個矩形內的文本。