常用快捷鍵:
ctrl+d 退出終端
ctrl+c 退出程序
ctrl+z 當前程序后臺執(zhí)行,fg恢復
ctrl+a/Home 光標移至輸入行頭
ctrl+e/End 光標移至輸入行末
ctrl+w 向左刪除一個單詞
ctrl+k 向右刪除全部
ctrl+u 向左刪除全部
ctrl+y 粘貼上次刪除的指令
ctrl+l 清屏
Alt+space 向前刪除一個單詞
up/down 恢復之前輸入的指令
pwd - 返回用戶當前所處的路徑
table - 自動補全
cd 目錄 - 切換到指定目錄
cd .. - 回到上層目錄
cd /home - 回到主目錄
cd - 返回當前用戶主目錄
cd / - 返回系統(tǒng)目錄
cd ~ - 進入電腦根目錄
cd 相對路勁/絕對路勁 - 進入指定目錄
ls 目錄/絕對/相對 - 顯示目標當前/目標文件下的內容
-a 顯示當前文件下所有內容(包括隱藏)
-l/-lh 顯示當前文件下所有內容詳細信息 字節(jié)/kb
-r 倒序排序顯示
-R 遞歸顯示
-S 從大到小排序
-Sr 從小到大
-t 創(chuàng)建時間排序
-RS 遞歸從大到小
mkdir 目錄名/相對/絕對 - 當前/指定目錄下創(chuàng)建目錄
mkdir -p 遞歸創(chuàng)建目錄,如果不存在就創(chuàng)建
mkdir -p 目錄/{目錄1,目錄2}/{目錄1,目錄2,目錄3} 遞歸遍歷創(chuàng)建
touch 文件名/相對/絕對 - 當前/指定目錄創(chuàng)建指定文件
cat 讀取文本信息
tac 逆序讀取文本信息
vim 寫入操作
1.vim 文件名 - 打開文件
2.按i輸入內容
3.按Esc退出輸入模式
4.wq保存并退出
rm - 刪除文件
rm 文件路徑 - 刪除指定文件,y確定/n取消
rm -f 文件路徑 刪除不詢問,直接刪
rm -r 文件夾路徑 刪除指定文件夾
-f 強制
-i 詢問
-n 不覆蓋
rmdir 文件夾路徑 刪除指定文件夾(必須為空)
cp - 拷貝
cp 文件路徑1 文件路徑2 - 將文件1復制到文件2
不存在就創(chuàng)建 存在就詢問
cp 文件路徑 文件夾路徑 - 將文件復制粘貼到指定文件夾中
cp -r 文件夾1 文件夾2 將文件夾1所有內容復制到文件夾2中
mv 文件路徑1 文件路徑2 - 將文件1移動到文件2
如果前面路徑相同,就相當于重命名
mv 文件 文件夾 - 將文件直接移動到指定文件夾
mv 文件夾路徑1 文件夾路徑2 將1移動到2(非空也行)
6.history指令 獲取歷史記錄(指令的歷史記錄) history .顯示當前系統(tǒng)已經(jīng)執(zhí)行過的所有的指令#如果想要顯示歷史記錄的時候顯示指令執(zhí)行的時間需要修改-/.bashrc文件:export HISTTIMEFORMAT-" [%y-m-%d%T]" 1#修改完成后需要通過指令: source-/.bashrc去執(zhí)行這個配置文件, 最后歷史記錄的時間才會生效
創(chuàng)建鏈接:
1)創(chuàng)建軟連接(掌握)
ln -s 源文件路徑 軟連接文件地址 - 給源文件在指定位置創(chuàng)建一個軟連接(本質就是保源文件的絕對地址,可以理解為windows的快捷方式)
注意:必須寫絕對路徑!移動或者刪除,軟連接無效
2)創(chuàng)建硬鏈接
In 源文件路徑 硬連接文件地址 -給源文件在指定位置創(chuàng)建一個硬鏈接
硬鏈接本質是新的引用,刪除或者移動不影響源文件,只是變?yōu)槠胀ㄎ募?/p>
進程相關指令
1)ps - 查看當前進程信息
ps -aux 查看當前所有進程信息
ps grep 進程名/ID - 根據(jù)進程名/進程id查看指定進程
2)top - 實時查看當前所有進程和系統(tǒng)信息
top -p pid1,pid2,...實時查看指定進程信息
3)free - 顯示當前內存信息,kb為單位
free 單位 - 顯示指定的單位顯示內存信息
4.kill指令
kill 進程id - 殺掉指定id進程
kill -1/-9/-15 進程id -
-1:不間斷重啟
-9:強制殺死進程
-15:正常結束
pkill 進程名 - 殺死指定進程名對應的程序
killall 進程名 - 殺死和進程名相關的所有進程
5)uptime 獲取系統(tǒng)信息
用戶管理
一個Linux操作系統(tǒng)可以有多個user,也可以有多個group;
users - 查看當前用戶
groups - 查看當前分組
groupadd 分組名 - 創(chuàng)建分組(管理員才能創(chuàng)建,可以通過查看/etc/group 文件查看所有分組)
useradd 戶用名 - 添加指定用戶(1.用戶創(chuàng)建成功后系統(tǒng)會自動在/home目錄下創(chuàng)建一個和用戶名同名的文件夾;2.會自動創(chuàng)建和用戶名同名的分組,并且將當前的用戶添加到分組中)
useradd -G 分組1,分組2,....創(chuàng)建指定用戶,并且將用戶添加到指定分組中,
usermod -G分組列表 用戶名 -修改分組 root才有權限
passwd 用戶名 - 修改密碼 root才有權限
passwd - 修改當前賬戶
su 用戶名 - 切換用戶(root不要密碼,其他用戶要密碼)
sudo - 在命令前sudo是以管理員身份執(zhí)行指令
注意:不是所有用戶都可以添加sudo命令
如果想用sudo必須添加配置
a.ubuntu:將需要有管理員身份的賬號添加到sudo分組中
b.redhat 和 centos:在/etc/sudoers配置文件中添加代碼:
Allow root to run any commands anywhere
root ALL=(ALL) ALL (默認的)
xiaoming ALL=(ALL) ALL (添加的)
11.文件權限
默認情況下文件和文件夾的權限:文件所有者有讀寫權限,同組用戶和其他用戶都是只讀權限
1)chmod指令
chmod權限值 文件路徑 - 將指定文件的權限修改成指定值
權限: rwx r-- rw-
權限二進制:111 100 110
權限值: 7 4 6
chmod [a,u,g,o]/[+-]/[r,w,x] 文件地址 - 給指定用戶添加或刪除指定權限
a - 所有用戶
u - 文件所有者
g - 同組用戶
o - 其他用戶
- 添加權限
刪除權限
r - 讀權限
w - 寫權限
x - 執(zhí)行權限
chmod a-x 文件地址 刪除所有用戶的執(zhí)行權限
chmod u+w 文件地址 給文件所有者添加寫的權限
12.日志管理
1)顯示文件內容
a.cat指令 - 直接顯示文件中所有的內容
cat 文件 - 直接查看文件所有內容
總結: 查看文件內容的時候可以加參數(shù)-n,讓內容在顯示的時候顯示行號
b.查看部分內容
head N 文件地址 - 顯示指定文件前N行內容(-n參數(shù)無效)
tail N 文件地址 - 顯示指定文件最后N行內容(-n參數(shù)無效)
c.分頁顯示
less 文件 - 按頁顯示文件內容(通過快捷鍵控制內容顯示過程; 文件內容不會打印到shell/終端里)
less -N 文件 - 按頁顯示文件內容,每次翻頁的時候翻N行
more 文件 - 按頁顯示文件內容(通過快捷鍵控制內容顯示過程; 文件內容會打印到shell/終端里)
more -N 文件 - 按頁顯示文件內容,每次翻頁的時候翻N行
快捷鍵:
- 按 j 向下一行
- 按 k 向上一行
- 按 f 向下翻一頁
- 按b 向上翻一頁
- 按 g 到全文開頭
- 按 G 到全文結尾
- 按 Q 退出
2)結果的處理
凡是有的打印結果的指令,我們都可以通過相關指令對應結果進行處理
a. 管道 - |
如果需要對某一個指令的結果使用另外的指令進行二次處理的時候,就需要用到管道(|)
b.sort - 排序
sort - 從小到大排序(將一行內容作為一個字符串,按字符串大小對應內容進行排序,默認不區(qū)分大小寫)
cat a.txt |sort # 對a.txt的文件內容從小到大排序顯示
sort的參數(shù):
-r - 逆序
-nk 1 - 數(shù)值大小排序
-nk 2 - 字符大小排序(默認)
cat a.txt|sort -nk 1 # 對a.txt的文件內容按數(shù)字大小從小到大排序
cat a.txt|sort -rnk 1 # 對a.txt的文件內容按數(shù)字大小從大到小排序
cat a.txt|sort -nk 2 # 對a.txt的文件內容按字符大小從小到大排序(默認)
cat a.txt|sort -rnk 2 # 對a.txt的文件內容按字符大小從大到小排序
c.uniq -去重
uniq - 只能將緊挨著的相同行去掉重復的(如果需要去掉所有重復的行,先排序將相同的行放到一起)
cat a.txt|uniq # 去掉a.txt文件內容中相鄰重復的行
cat a.txt|sort|uniq # 去掉a.txt文件內容中所有重復的行
uniq的參數(shù)
-c - 重復次數(shù)
d.awk - 獲取列
awk '{print $N}' - 獲取內容中第N列的數(shù)據(jù)
history|awk '{print $2}' # 獲取歷史記錄第2列的內容
history|awk '{print $2,$3}' # 獲取歷史記錄第2列和第3列的內容
練習:
history |awk '{print $4}' |sort |uniq ‐c | sort ‐rnk 1 | head ‐n 3 # 統(tǒng)計最常用的3個指令及其使用次數(shù)
3)輸出重定向 - >/>>
執(zhí)行有打印結果的指令 > 文件地址 - 將指定指令執(zhí)行的結果保存到指定文件中(先清除原文件內容再添加)
執(zhí)行有打印結果的指令 >> 文件地址 - 將指定指令執(zhí)行的結果保存到指定文件中(直接將結果追加到原文件中)
history > a.txt #將當前歷史記錄直接保存到a.txt文件中
# 將最常用的3個指令及其使用次數(shù)保存到a.txt文件中
history |awk '{print $4}' |sort |uniq ‐c | sort ‐rnk 1 | head ‐n 3 > a.txt
4)統(tǒng)計
wc -c/-w/-l 文件地址 - 統(tǒng)計指定文件中字符/單詞/行的數(shù)量
5)查找
grep - 找內容
a. grep 內容 文件地址 - 在指定文件中查找指定內容(返回文件中所有包含指定內容的行)
grep you a.txt # 獲取a.txt中包含you的所有的行
grep的參數(shù):
-n - 顯示結果的時候顯示行號
-i - 查找內容的時候忽略大小寫
-E - 按正則表達式進行匹配
使用方法: grep -E '正則表達式' 文件
注意: Linux操作系統(tǒng)中正則表達式不支持:\d,\D,\w,\W,\s,\S,\b,\B; 其他語法都支持
-v - 忽略字段
grep you a.txt -v # 獲取a.txt中不包含you的所有的行
b. 執(zhí)行有打印結果的指令 |grep 內容 - 在指令執(zhí)行結果中查找指定內容
c. grep -r 內容 文件夾地址 -在指定文件夾中所有的文件中查找指定內容
find - 找文件
find 文件夾路徑 -name 文件名 - 在指定文件夾下按文件名找指定文件
# 找指定文件名
find dir1 -name 'test1.py' # 在文件夾dir1找名字是test1.py的文件
find dir1 -name '*.txt' # 在文件夾dir1找后綴是txt的所有文件
find dir1 -name 'test*.txt'
find dir1 -name 'test*'
find dir1 -name '*c.txt'
find 文件夾路徑 -size +/-文件大小 - 在指定文件夾下找文件大小滿足條件的所有的文件
find dir1 -size +4k # 查找在文件夾dir1中所有大于4k的文件
find dir1 -size -4k # 查找在文件夾dir1中所有小于4k的文件
find dir1 -size +5k -size -10k # 查找在文件夾dir1中所有大于5k并且小于10k的文件(文件大小如果是小數(shù),算的時候向上取整)
find dir1 -size +4k -name '*.txt' # 查找在文件夾dir1中所有大于4k的txt文件
查指令
which 指令名 -精確查找當前指令對應的文件的路徑
whereis 指令名 -查找和指定指令相關的所有的文件的路徑
man 指令名 -獲取指定指令的使用手冊
指令名 — help -獲取指定指令的幫助文檔
13.網(wǎng)絡管理
ifconfig 查看網(wǎng)卡狀態(tài)
netstat -natp 查看當前系統(tǒng)所有網(wǎng)絡連接狀態(tài)
netstat -natp|grep 端口號 指定端口網(wǎng)絡狀態(tài)
ping地址 - 給指定地址對應的服務器發(fā)送數(shù)據(jù)(檢測網(wǎng)絡暢通)
ping -i 時間 地址 間隔時間i就會ping一次
ping -c 次數(shù) 地址 設置ping的次數(shù),默認無限
wget 地址 - 下載
14.壓縮和解壓縮、歸檔和解歸檔
壓縮可以讓文件變小,一般在文件需要傳輸前都會對文件進行壓縮。注意,壓縮指令只針對一個文件
歸檔可以將一個文件夾變成一個文件(tar),
歸檔和解歸檔:tar
tar -cvf 歸檔文件地址 需要歸檔的文件夾/文件地址 -對指定文件/文件夾進行歸檔
tar -xvf 歸檔文件地址 - 解歸檔
tar -xvf 歸檔文件地址 -C 目標地址 - 解歸檔到指定位置
2)壓縮和解壓 gzip,gunzip,xz
gzip 文件地址 - 壓縮指定文件,壓縮后刪除原文件
注意:壓縮后生成.gz文件
gzip -c 文件地址 > 壓縮文件地址 壓縮后保留原文件
gzip -d 壓縮文件地址 -解壓指定文件 (加 -c >地址,保存源文件)
gzip -l 列出壓縮文件中的內容
b.gunzip
gunzip 壓縮文件地址-解壓(刪除源文件)
c.xz
xz 文件地址 - 壓縮指定文件(壓縮后后綴.xz)
xz -d 壓縮文件地址 - 解壓指定文件
包管理工具: yum
yum search:搜索軟件包,例如yum search nginx
yum list installed:列出已經(jīng)安裝的軟件包,例如yum list installed I grep zlib.
yum install:安裝軟件包,例如yum install nginx.
yum remove:刪除軟件包,例如yum remove nginx。
yum update:更新軟件包,例如yum update可以更新所有軟件包,而yum update tar只會更新tar
yum check-update:檢查有哪些可以更新的軟件包。
yum info :顯示軟件包的相關信息,例如yum info nginx
源代碼構建安裝
- wget安裝包的路徑 -下載安裝包
- gunzip/tar壓縮包 -解壓、解歸檔
3.(設置安裝路徑) - cd安裝包目錄執(zhí)行: make && make install -編譯安裝包程序-添加快捷方式
5,給可執(zhí)行文件添加軟連接到usr/bin目錄下壓縮解壓縮和歸檔/解歸檔-gzip/gunzip/xz/ tar發(fā)送遠程文件-scp指令scp文件root@IP地址:服務器上保存被發(fā)送文件的路徑
15.軟件安裝和包管理工具
Linux的包管理工具是yum

vim的使用
1.vim的三種模式
命令模式:末尾沒冒號也沒插入的時候
(另外兩種情況按1/2次Esc進入)
編輯模式:末尾會顯示‘--插入--’/‘--insert--’,并且可以對文件進行編輯
(在命令模式下按i就可以進入編輯模式)
末行模式:末尾顯示冒號,并且冒號后邊可以輸入內容
(在命令模式下輸入冒號就可以進入末行模式)
2.vim的配置
通過編輯~/.vimrc文件或者/etc/vimrc文件可以對vim編輯器進行相關配置
set nu
set ts=4
set autoindent
set expandtab
set ruler
set nohls
syntax on
3.基本操作
1)保存和退出
所有保存和退出的指令都是末行模式下執(zhí)行的
w - 只保存(相當于ctrl+s)
q - 直接退出(只有內容全部保存了才能退出,否則只能q!強退)
wq - 先保存再退出
注意:強制執(zhí)行在指令后加!
2)所有光標操作對應的指令都是在命令模式下執(zhí)行的
^ - 直接將光標移動到行首 home
- 光標移動到行尾
w - 光標移動到下一個單詞
3)文本操作
一下指令前面如果沒有冒號表示在命令模式下執(zhí)行,有冒號的在末行模式下執(zhí)行
dd - 刪除當前光標所在的行
數(shù)字dd - 數(shù)字如果是N,從光標所在的位置開始刪N行
:%d - 末行模式下%d,刪除所有
d0 - 從光標刪除到行首
d$ - 從光標刪除到行尾
dw - 刪除一個單詞
u - 撤銷
ctrl+r 反撤銷
yy - 復制光標所在的行
數(shù)字yy - 如果數(shù)字是N,從光標所在的位置復制N行
p -粘貼
4)查找
/正則 - 查找當前文件中符合正則的內容(結果可以用n和N來切換)
vim中正則的要求:
1)python正則中所有語法有效
2)單獨使用有特殊功能的符號,在使用的時候加\才有效
r'd+' -> /\d\+
r'\d{3}' -> /\d\{3}
r'and|or' -> /and\|or
: 1,$s/被替換的對象對應的正則/替換內容/參數(shù) - 將文件中正則匹配到的內容替換成指定內容
例子:1,$s/\d/shabi/gi
參數(shù):
g - 全局匹配(替換所有,默認一行一個)
i - 匹配時忽略大小寫
c - 替換時給出提示
e - 忽略錯誤
高級操作
1)比較文件
vim -d 文件路徑1 文件路徑2
2)同時打開和編輯多個文件
vim 文件路徑1 文件路徑2...
#1.切換窗口
在末行模式下輸入:ls 可以查看當前打開的所有文和文件對應的標號
在末行模式下輸入:b標號 可以將當前窗口中的內容切換到指定標號對應的文件內容
#2.窗口的拆分
在末行模式下輸入: sp/vs 可以將當前窗口垂直/水平方向進行拆分;拆分后可以在命令窗口按ctrl + w來切換窗口
修改阿里鏡像源

在unbuntu配置sublime-text3就python環(huán)境
https://blog.csdn.net/hiudawn/article/details/81042284
定時任務 - at 命令
預約任務:只會執(zhí)行一次
3天后的下午五點執(zhí)行命令
at 5pm+3days
命令
atq 查看at的任務隊列
atrm 編號 - 刪除指定任務
在星期五的23點59分查找所有.log文件刪掉
59 23 * * 5 find / -name ".log" -delete
59 23 * * 5 find / -name ".log" --exec rm -f {} ;