linux-命令-書籍
需要記住的命令
Tab鍵,提示
ctrl+c 停止某個正在執行的命令
ctrl+z 掛起某個正在執行的命令, 並不會結束.執行fg 命令可以重新啟動這個被掛起的命令.
比如vi修改檔案時需要執行其他命令,執行後按fg回到vi
ctrl+d 退出文字,相當於輸入exit
man page 線上求助page命令, 空格鍵下一頁,q退出
一、基礎命令
date
date +%y/%m/%d 20/07/10
date +%H:%M 15:43
cal
cal 2020 整年的日曆
cal 10 2020 2020年10月份的日曆
bc 計算器
scale=3 輸錯3位小數
who 連線當前伺服器的客戶端地址
mkdir test 新建test目錄
touch test 新建空的檔案test
7.1 檔案與目錄管理
. 當前目錄
… 上層目錄
- 代表前一個工作目錄
~ 代表“目前使用者身份”所在主資料夾
~account 代表account使用者所在主資料夾
pwd 顯示當前目錄
pwd -P 顯示出當前的路徑,而非使用連線路徑
mkdir 新建一個新的目錄
mkdir -p test1/test2 可以建立多層目錄
mkdir -m 711 test2 同時可授權
rmdir 刪除一個空的目錄
rmdir -p test1/test2 可以刪除多層空目錄
ll 或者 ls 檢視檔案目錄(以下引數可以組合使用)
-a 全部檔案,包括隱藏檔案
-h 以GB/M/KB 顯示檔案大小
-r 將排序結果反向輸出,預設以檔名由小到大
-R 連同子目錄一起列出來
-S 以檔案容量大小排序
-t 依時間排序
–full-time 以完整時間模式輸出
cp 複製檔案或者目錄 cp -i test /temp/test (將當前test目錄複製到/temp重新命名為test)
-a 相當於 -pdr
-f force的意思,若目標檔案已存在切無法開啟,則刪除後再嘗試一次
-i 若目標檔案已存在,在覆蓋時先詢問操作的進行 (常用)
-p 連同檔案的屬性一起復制過來,而非使用預設屬性 (備份常用)
-r 遞迴持續複製,用於目錄的複雜行為 (常用)
-s 複製成為符合連結檔案,即 快捷方式 檔案
-u 當目標檔案比原始檔舊才更新
rm 刪除檔案
-f force,忽略不存在的檔案,不會出現警告
-i 在刪除前會詢問使用者是否操作,預設
-r 遞迴刪除。非常危險、慎用
rm -i aa* 刪除所有以aa開頭的檔案
rm ./-aa 刪除帶有-開頭的檔案,必須加上./字首,因為 - 是引數,系統會誤判
mv 移動檔案
-f force,已存在直接覆蓋
-i 目標檔案已存在提示
-u 目標檔案已存在,原始檔比較新才會更新
mv aaa bbb 相當於重新命名
mv aaa bbb test 同時將aaa/bbb檔案移動到 test資料夾,最後一個必須是目錄
basename /etc/sysconfig/network 返回network,取最後的檔名
dirname /etc/sysconfig/network 返回/etc/sysconfig,取得目錄名稱
7.3 檔案內容查閱
cat 從第一行開始顯示檔案內容
-b 列出行號,僅針對非空白行
-E 將結尾的斷行字元$S顯示出來
-n 列出行號,包括空白行
-T 將【Tab】鍵以 ^I顯示出來
tac 從最後一行開始顯示, cat的倒寫形式
nl 顯示的時候順便輸出行號
more 一頁一頁的顯示檔案內容
空格鍵 向下翻頁
Enter 向下滾動一行
/字串 向下字串搜尋
:f 立刻顯示出檔名以及目錄顯示的行數
q 立刻離開more
b或 ctrl-b 往回翻頁
less 與more類似,可以往前翻頁
空格鍵 向下翻頁
【PageDown】 向下翻動一頁
【PageUp】 向上翻動一頁
/字串 向下字串搜尋
?字串 向上字串搜尋
n 重複前一個查詢
N 反向重複前一個查詢
q 退出
head 只看頭幾行,預設顯示10行
head -n 20 a 顯示20行資料
tail 只看結尾幾行,預設顯示10行
-n 後面截數字,表示幾行
-f 持續監測後面的內容,如日誌檔案監控, 按ctrl-c離開
od 以二進位制的方式讀取檔案內容
mtime 檔案內容更新時間,預設
ctime 狀態改變時間,如許可權和屬性,
atime 改檔案被讀取的時間, 如使用了cat命令. 使用舉例: ll --time=atime /etc/man.config
touch 命令可以修改上述的時間
7.5 命令與檔名查詢
which ll 檢視ll命令的路徑,根據PATH環境變數所規範的路徑去查詢
whereis 檔名查詢 whereis ifconfig
-b 只查詢二進位制檔案
find [PATH] [option] [action] 較慢
1、與時間有關的引數 -atime -ctime -mtime
-mtime n n為數字,在n天之前的“一天之內”被更改過的檔案
find /tmp -mtime 0 查詢從現在開始到24小時前tmp目錄下有改動過的檔案
-mtime +n 在n天之前(不含n天本身)被更改過的檔案
-mtime -n 在n天之內(含n天本身)被更改過的檔案
-newer file file為一個已存在檔案,列出表file還要新的檔案
2、與使用者和使用者組相關的引數
3、與檔案許可權及名稱有關的引數
find / -name passwd 查詢檔名為passwd 的檔案
find / -type p 查詢怪異的檔案比較實用 正規檔案(f)、裝置檔案(b、c)、目錄(d)、 連線檔案(l)、socket檔案(s)、FIFO(p)
find / -size +1000k 查詢大於1M的檔案
find /tmp -name ‘aa 查詢tmp目錄下檔名包含aa 的檔案
8.2 磁碟與目錄的容量:df du
df df -h /etc
-a 列出所有的檔案系統
-k 以KB顯示
-m 以MB顯示
-h 以易讀的GB/MB/KB等格式顯示 (常用)
-i 不用硬碟容量,以inode的數量顯示
du du -sm /*
-a 列出所有的檔案與目錄容量
-h 以易讀的GB/MB/KB等格式顯示
-s 列出總量而已,而不列出每個個別的目錄佔用量 (常用)
-S 不包括子目錄下的總計
-k 以KB顯示
-m 以MB顯示
9 檔案與檔案系統的壓縮與打包
9.2.2 gzip,zcat
gzip gzip -v /temp/test 壓縮 zcat test.gz 檢視壓縮檔案
-c 將壓縮的資料輸出到螢幕上,但不刪除原檔案 gzip -9 -c test > test.gz
-d 解壓檔案
-v 顯示原檔案/壓縮檔案的壓縮比
-# 壓縮等級,-1最快,但壓縮比最差, -9最慢,壓縮比最好,預設是 -6
bzip2, bzcat gzip的升級命令 yum -y install bzip2.x86_64 安裝命令
-c 將壓縮的資料輸出到螢幕上
-d 解壓檔案
-k 保留原檔案,不刪除原檔案
-z 壓縮的引數
-v 顯示原檔案/壓縮檔案的壓縮比
-# 壓縮等級,-1最快,但壓縮比最差, -9最慢,壓縮比最好,預設是 -6
9.3 tar 將目錄檔案打包,然後使用gzip/bzip2命令壓縮,-c,-t,-x同一個命令只能用到一個
-c 新建打包檔案,可搭配 -v 檢視過程中被打包的檔名
-t 檢視打包檔案的內容含有哪些檔名,重點在檢視檔名
-x 解打包或解壓縮,可以搭配 -C (大寫) 在特定目錄解開
-j 通過 bzip2 支援進行壓縮,檔名最好為 *.tar.bz2
-z 通過gzip 支援進行壓縮,檔名最好為 *.tar.gz
-v 將正在處理的檔名顯示出來
-f filename -f後面接被處理的檔名
-C 目錄 解壓時,若要在特定目錄解壓縮使用這個引數。
-P 保留備份資料的原本許可權與屬性,常用於備份(-c)重要的配置檔案
-p 保留絕對路徑,即允許備份資料中含有根目錄存在之意
--exclude=FILE 在壓縮的過程中,不要將FILE打包
常用例子,其中-j 可用 -z代替,表示使用不同的解壓工具
壓縮: tar -jcv -f filename.tar.bz2 filename
查詢: tar -jtv -f filename.tar.bz2
解壓縮: tar -jxv -f filename.tar.bz2 -C filename1
10 vi/vim
vi
有3種模式,一般模式、編輯模式、命令模式。
10.2.2 按鍵說明
一般模式
1、移動游標的方法
h/j/k/l 分別表示向左下上右移動一個字元,也可用箭頭替換, 注意:30j下移30行
Ctrl + f/b 分別表示 螢幕向下移動一頁、向上一定一頁 (常用)
Ctrl + d/u 分別表示 螢幕向下移動半頁、向上一定半頁
n 20表示游標向後移動20字元,類似20l
0或【Home】 跳到這一行的第一個字元 (常用)
或
【
E
n
d
】
跳
到
這
一
行
的
最
後
一
個
字
符
(
常
用
)
H
/
M
/
L
光
標
移
動
到
這
個
屏
幕
的
最
上
方
第
一
行
/
中
央
行
/
最
下
方
行
的
第
一
個
字
符
G
移
動
到
文
件
的
最
後
一
行
(
常
用
)
n
G
移
動
到
文
件
的
第
n
行
g
g
移
動
到
文
件
的
第
一
行
n
[
E
n
t
e
r
]
光
標
向
下
移
動
n
行
2
、
查
找
與
替
換
/
w
o
r
d
向
下
查
找
w
o
r
d
字
符
串
?
w
o
r
d
向
上
查
找
w
o
r
d
字
符
串
n
/
N
表
示
重
復
/
反
向
重
復
前
一
個
查
找
的
操
作
:
n
1
,
n
2
s
/
w
o
r
d
1
/
w
o
r
d
2
/
g
替
換
n
1
到
n
2
行
的
w
o
r
d
1
字
符
串
為
w
o
r
d
2
:
1
,
100
s
/
c
p
100
/
c
p
/
g
將
1
到
100
行
的
c
p
100
替
換
成
c
p
(
常
用
)
:
1
,
或【End】 跳到這一行的最後一個字元 (常用) H/M/L 游標移動到這個螢幕的最上方第一行/ 中央行/ 最下方行 的第一個字元 G 移動到檔案的最後一行 (常用) nG 移動到檔案的第n行 gg 移動到檔案的第一行 n[Enter] 游標向下移動n行 2、查詢與替換 /word 向下查詢word字串 ?word 向上查詢word字串 n/N 表示 重複/反向重複 前一個查詢的操作 :n1,n2s/word1/word2/g 替換n1到n2行的word1字串為 word2 :1,100s/cp100/cp/g 將1到100行的cp100替換成cp (常用) :1,
或【End】跳到這一行的最後一個字符(常用)H/M/L光標移動到這個屏幕的最上方第一行/中央行/最下方行的第一個字符G移動到文件的最後一行(常用)nG移動到文件的第n行gg移動到文件的第一行n[Enter]光標向下移動n行2、查找與替換/word向下查找word字符串?word向上查找word字符串n/N表示重復/反向重復前一個查找的操作:n1,n2s/word1/word2/g替換n1到n2行的word1字符串為word2:1,100s/cp100/cp/g將1到100行的cp100替換成cp(常用):1,s/word1/word2/g 替換第一行到最後一行的word1字串為 word2 (常用)
:1,
s
/
w
o
r
d
1
/
w
o
r
d
2
/
g
c
同
上
,
替
換
前
需
要
用
戶
確
認
3
、
刪
除
、
復
制
、
黏
貼
x
,
X
x
向
後
刪
除
一
個
字
符
,
X
向
前
刪
除
一
個
字
符
n
x
連
續
向
後
刪
除
n
個
字
符
d
d
刪
除
光
標
所
在
行
(
常
用
)
n
d
d
刪
除
光
標
所
在
行
向
下
的
n
行
(
常
用
)
d
1
G
刪
除
光
標
所
在
到
第
一
行
的
所
有
數
據
d
G
刪
除
光
標
所
在
到
最
後
一
行
的
所
有
數
據
d
s/word1/word2/gc 同上,替換前需要使用者確認 3、刪除、複製、黏貼 x,X x向後刪除一個字元,X向前刪除一個字元 nx 連續向後刪除n個字元 dd 刪除游標所在行 (常用) ndd 刪除游標所在行向下的n行(常用) d1G 刪除游標所在到第一行的所有資料 dG 刪除游標所在到最後一行的所有資料 d
s/word1/word2/gc同上,替換前需要用戶確認3、刪除、復制、黏貼x,Xx向後刪除一個字符,X向前刪除一個字符nx連續向後刪除n個字符dd刪除光標所在行(常用)ndd刪除光標所在行向下的n行(常用)d1G刪除光標所在到第一行的所有數據dG刪除光標所在到最後一行的所有數據d 刪除游標所在到該行的最後一個字元
d0 刪除游標所在到該行的最前面一個字元
yy 複製游標那一行 ,只是複製,不會黏貼
nyy 複製游標向下那n行
y1G/yG/y0/y$ 參考上面刪除命令引數
p,P 將複製的行黏貼到游標下一行,大寫黏貼到上一行
J 將游標所在行和下一行資料結合成同一行
c 重複刪除對個資料,例如向下刪除10行, 10cj
u 復原前一個操作 (常用)
Ctrl+r 重做上一個操作 (常用)
一般模式切換到命令模式
:w 將編輯的資料寫入硬碟檔案中
:w! 強制將編輯的資料寫入硬碟檔案中
:q 離開vi
:q! 強制離開vi,不儲存檔案
:wq 儲存後離開
vim 環境更改
:set nu 顯示行號
:set nonu 取消顯示行號
5、儲存、恢復、開啟檔案的警告資訊
如果上次操作被意外情況中斷,重新開啟檔案會出現警告資訊
[O]pen Read-Only 只讀方式開啟
(E)dit anyway 正常開啟,不會載入上次快取檔案內容
(R)ecover 載入上次編輯快取檔案,恢復上次的修改內容。儲存資料離開vi後需要手動刪除快取檔案
(D)elete it 確定上次快取檔案無用,直接刪除快取檔案
(Q)uit 離開
(A)bort 忽略這個編輯行為,與quit類似
6、塊的選擇、複製、黏貼 (略)
7、多視窗操作(略)
11、bash
alias 別名 alias cp=‘cp -i’ 命令cp替換 cp -i
unalias 取消別名
history 歷史命令
n 列出最近的n條歷史命令
-c 清空歷史命令
!al 執行最近以al開頭的命令
11.5.2、資料量重定向
標準輸入:程式碼為0,使用<或<<
標準輸出:程式碼為1,使用>或>>
ll / > ~/rootfile 將/目錄的ll資訊輸出到 ~/rootfile檔案
檔案不存在會自動建立
>檔案存在會先清空資料,在寫入資料
>>在檔案最下方累加資料
標準錯誤輸出:程式碼為2,使用2>或2>>
/dev/null 表示將資料寫入黑洞裝置,即丟棄
ll /aaa > rootfile 2>errFile 將標準資料和錯誤資料分別寫入不同檔案
ll /aaa > rootfile 2>&1 將標準資料和錯誤資料都寫入rootfile檔案
ll /aaa &> rootfile 同上
11.6管道命令
11.6.1、選取命令 cut,grep
echo $PATH | cut -d ‘:’ -f 5 將環境變數以: 分割,顯示第5段資料,類似java split函式
echo $PATH | cut -d ‘:’ -f 3,5 同上,但會顯示第3段與第5段資料
-c 以行為單位,取出固定字元區間
grep
-c 計算找到 查詢字串的 次數
-i 忽略大小寫
-n 順便輸出行號
-v 反向選擇,及顯示出沒有 查詢字串 的行
11.6.2 排序命令 sort、 wc、uniq
cat /tmp/my | wc 輸出檔案的行數、字數、字元數
11.6.3 雙向重定向: tee
會將資料量傳送給檔案或裝置
12.4.3 檔案比較工具
diff [-bBi] file1 file2 (可以比較檔案 和 目錄)
-b 忽略一行當中僅有多個空白符的區別 ,如 “ni hao” 和 “ni hao” 視為相同
-B 忽略空白行的區別
-i 忽略大小寫的不同
17
將某個命令直接丟給後端處理,前端不需要等待,在命令後面加個 &
tar -zpcvf /tmp/etc.tar.gz /etc > /tmp/log.txt 2>&1 & 配合管道將stout和stderr日誌傳輸到日誌檔案,並將任務丟到後臺
問題:如果當前bash關閉掉,那是不是後臺任務自動停止執行,相當父程式和子程式的關係。
答案:是的,如果是遠端連線,當連線中斷後,後臺任務就會終止
nohup 可以讓你在離線或登出系統後,還可以讓工作繼續進行
nohup 命令 或者 nohup 命令 &
[ctrl]+z 將目前的工作丟到後臺中 暫停
jobs [-lrs] 檢視目前後臺的工作狀態
-l 顯示PID的號碼
-r 僅列出正在後臺run的工作
-s 僅列出正在後臺暫停(stop) 的工作
第一列表示任務jobnumber,後面接的+表示最近丟到後臺的任務,fg命令會拿該任務
fg %jobnumber 將後臺任務拿到前臺來處理
bg %jobnumber 讓工作在後臺下的狀態變成執行中
kill -signal %jobnumber 管理後臺中的工作
-1 重新讀取一次引數的配置檔案
-2 代表與由鍵盤中輸入 [ctrl]+c 同樣的操作
-9 立刻強制刪除一個任務
-15 以正常的程式終止一個專案
17.3.1 程式的檢視
ps aux 檢視系統所有程式
ps -lA 同上
ps axjf 連同部分程式樹狀態
ps -l 僅檢視自己的bash相關程式
ps aux|egrep ‘(tomcat6-web|tomcat6-s)’ 查詢tomcat6-web 和tomcat6-s相關的程式
top 動態檢視程式的變化
-d 後面接秒數,預設5秒
-b 以批次的方式執行,通常搭配資料流重定向輸出到檔案
-n 與p搭配,執行幾次
-p 指定某個PID來進行檢視監控
top執行過程中可以使用的按鍵命令
? 顯示在top當中可以輸入的按鍵命令
P 以CPU的使用資源排序顯示
M 以記憶體的使用排序顯示
N 以PID順序顯示
k 給予某個PID一個訊號
r 給予某個PID重新制定nice值,與執行優先順序有關
q 離開top軟體
1 切換CPU的核心
top內容詳解
https://www.cnblogs.com/wangchen07026/p/7650688.html
注意點:
(1)第一行最後三個負載值最好不要超過0.8
(2)特別注意%wa,為IO等待。通常系統變慢是IO產生的問題
(3)swap儘量少用
23.2
rpm -ivh package_name 安裝軟體
-i install的意思
-v 檢視更詳細的安裝資訊
-h 以安裝資訊欄顯示安裝進度
-U 軟體未安裝過則安裝,已安裝舊版本則升級
-F 軟體未安裝過則不進行任何操作,已安裝舊版本則升級
rpm -ql jenkins 查詢jenkins安裝路徑
yum [option] [查詢工作專案] [相關引數]
-y 等待使用者輸入時,自動提供yes的響應
–installroot=/some/path 將軟體安裝在/some/path目錄,而不使用預設路徑
search 搜尋某個軟體名稱或者描述的重要關鍵字
list 列出目前yum管理的所有軟體名稱與版本 舉例:yum list jdk 列出所有jdk安裝軟體
info 同上
provides 從檔案去搜尋軟體
install 後面接需要安裝的軟體
update 後面接需要升級的軟體,若要整個系統都升級,直接update就可以
remove 刪除功能
相關文章
- linux-網路命令Linux
- linux-實用命令Linux
- Java書籍Java
- Linux-常用命令Linux
- Linux-部署專案命令Linux
- JavaScript 入門學習書籍到階段書籍JavaScript
- 【轉】linux-命令top詳解Linux
- Java全集書籍Java
- 書籍簡介
- Python書籍|分享一本Python的書籍Python
- 前端書籍&資料前端
- Java書籍推薦Java
- javascript推薦書籍JavaScript
- #敏捷個人書籍# 前言敏捷
- java學習書籍Java
- 程式設計書籍程式設計
- 金融投資系列書籍
- linux-網路管理(常用命令)Linux
- iOS精選必看書籍iOS
- 後端書籍推薦後端
- go語言書籍分享Go
- 機器學習必看書籍推薦機器學習
- iOS安全相關書籍iOS
- 說說技術書籍
- PHP新手推薦書籍PHP
- 10.物件[摘自書籍]物件
- 受益技術類書籍
- 必讀技術書籍
- 學習Javascript的書籍JavaScript
- JAVA經典書籍排行Java
- [轉]javascript推薦書籍JavaScript
- Linux好書、經典書籍推薦Linux
- 驅動開發書籍大全
- python 書籍推薦 三Python
- IT程式設計之路書籍大全程式設計
- java爬取豆瓣書籍資訊Java
- 亞馬遜銷售最好的書籍亞馬遜
- Java學習書籍彙總Java