友快網

導航選單

【學習】linux基礎知識:基礎命令彙總,以樹形形式檢視指定目錄內容等

一丶Linux常用基礎命令

1。tree命令:以樹狀形式檢視指定目錄內容(只能檢視目錄內容,不能檢視檔案內容)

tree ——以樹形結構顯示當前目錄下的檔案資訊

tree 目錄 ——樹形結構顯示指定目錄下的檔案資訊

2。clear :清屏操作

3。ls :檢視當前資料夾下的內容

#1)使用方法ls——顯示當前目錄下檔案資訊

ls 目錄或檔名 ——顯示指定目錄下檔案資訊#2)相關引數-a:顯示指定目錄下所有子目錄與檔案,包含隱藏檔案-R:遞迴方式列出所有目錄中的內容-h:配合-l以人性的方式顯示檔案大小-l:以列表方式顯示檔案的詳細資訊#3)檔案型別(根據第一個字元判斷)-: 普通檔案

d : 目錄

l : 符號連結,相當於windows中的快捷方式

s : 套接字

p : 管道

b : 塊裝置

c : 字元裝置#4)使用者的操作許可權(2-10個字元)其他人對檔案的操作許可權(8,9,10個字元)

檔案所有者對檔案的操作許可權(2,3,4個字元)

檔案所屬組使用者對檔案的操作許可權(5,6,7個字元)#5)引數之間結合使用:ls -la:列出當前目錄下所有檔案的相關資訊,包括隱藏檔案

ls-ltr:列出當前目錄下的檔案,按照時間逆向排序#6)萬用字元*:表示0個或多個字元?:表示任一字元[a-z]:表示a-zde任一字元,若是0-9表示任一數字字元[abcd]:表示a|b|c|d任一字母

4。cd 切換目錄,命令使用方式:cd+路徑

# 1)切換到家目錄

cd

cd ~

cd /home

cd $HOME

# 2)回到上次目錄

cd -

5。pwd:檢視使用者當前所處的工作目錄

6。which:顯示命令所在的目錄

7。touch:如果檔案存在,更新檔案的最後修改時間,如果檔案不存在,建立新檔案(touch檔名)

8。mkdir:建立資料夾(mkdir -p aa/bb/cc 建立多級目錄)

9。rmdir:只能刪除空資料夾

10。rm:刪除檔案

-r 刪除目錄名

-i 提示使用者是否刪除檔案或目錄

-f強制刪除()以此刪除的檔案或目錄不會放入回收站中,資料不易恢復

11。cp源目錄或檔案 目錄或檔案(若有目錄複製需要用-r 引數; 用-a引數,可以保留被複製檔案的一些屬性資訊 )

cp  要複製的檔案(file1) file(不存在);   建立file, 將file1中的內容複製到file

cp file1 file(存在); file1 覆蓋 file

cp file dir(存在);複製file 到 dir 目錄

cp - r dir(存在) dir1(存在); 將dir (包含)目錄複製到dir1目錄中

cp - r dir (存在) dir1(不存在); 建立dir1, 將dir (不包含)中的內容複製到dir1中

12。mv改名或者移動檔案(mv file1 file2)

#1)。改名

mv file(存在) file1(不存在)

mv dir(存在) dir1(不存在)

mv file(存在) file2(存在):file檔案覆蓋file2檔案,file 改名為file2

#2)。移動

mv file(檔案) dir(存在的目錄):將file 檔案移動到dir中

mv fir(目錄存在) dir1(目錄存在):將dir移動到dir1中,dir就會作為dir1的子目錄而存在

13。cat(檢視):將檔案內容一次性輸出到終端,使用方式 cat 檔名,缺點:終端顯示的內容有限,如果檔案太長無法全部顯示

14。more:將檔案內容顯示到終端,但是隻能一直向下瀏覽,不能回退,使用方式 more 檔名

顯示下一行:回車

顯示下一頁:空格

退出:q(ctrl+c)

15。less :檔案內容分頁顯示到終端,可以自由上下瀏覽。使用方式:less 檔名

顯示下一行:回車、ctrl+p、鍵盤向下鍵

顯示上一行:ctrl+n、鍵盤向上鍵

顯示下一頁:空格、PageDown

顯示上一頁:PageUp

退出:q

16。head:從檔案頭部開始檢視前n行的內容

#使用方式  如果沒有指定行數,預設顯示前10行

head -n[行數] 檔名

17。tail:從檔案尾部向上檢視最後n行的內容

#使用方式  如果沒有指定行數,預設顯示最後10行內容

tail -n[行數] 檔名

18。重定向

# 檔案存在覆蓋

ls -l > text。log 2>&1

# 檔案存在,在末尾追加

ls -l >> test。log 2>&1

19。管道:一個命令的輸出可以透過管道作為另一個管道的輸入(引數)

20。軟連線

1) ln -s 檔名 快捷方式的名字

2) 目錄也可以建立軟連線

3) 注意事項

<1>ln建立軟連線要用絕對路徑,因為如果不使用絕對路徑,一旦這個連線檔案發生位置變動,就不能找到那個檔案了

<2>軟連線檔案的大小是:路徑+檔名的總位元組數

21。硬連線

1)ln 檔名 硬連線的名字

2)本質:不同檔名所在的inode節點是相同的,相同的inode節點指向了相同的資料塊,所以他們的檔案內容是一樣的,檔案內容會同步

3)注意事項

<1>不能建在目錄上

<2>對絕對路徑沒有要求

<3>不能跨檔案系統

4)應用場景

<1>可以起到同步的作用(修改file的內容,會在其餘三個硬連線檔案上同步)

<2>可以起到保護檔案的作用(刪除檔案的時候,只要硬連線計數比不為0,不會真正刪除)

22。wc:顯示檔案行數,位元組,單詞數

1) wc -l file 顯示檔案的總行數2) wc -c file 顯示檔案的總位元組數3) wc -w file 顯示檔案的總單詞數4) wc file 顯示檔案的總行數,單詞數和總位元組數

23。whoami:顯示當前登入的使用者名稱

24。who:檢視當前所有登入系統的使用者資訊

25。shutdown | reboot | init

reboot:重啟系統

shutdown -r now:重啟系統,shotdown會給別的使用者提示

shutdown -h now:立刻關機

shutdown -h 15:30:系統在今天的15:30會關機

shutdown -h + 10:再過十分後自動關機

init 0: 關機

26。exit:退出當前登入的終端或者遠端終端或者 su 切換的使用者

27。passwd:修改使用者密碼

28。sudo臨時獲得root許可權(sudo 命令——會提示使用者輸入當前使用者的密碼)

29。ssh

ssh要登入的使用者名稱@ip, 然後提示輸入密碼

30。 ftp

ftp ip,然後提示輸入使用者名稱和密碼,然後就登入到了遠端伺服器上,get是下載, put是上傳檔案

例:ftp localhost——>密碼——->pwd——>cd day02——>get a03。txt  (下載)

例:ftp localhost——>密碼——->pwd——>cd day02——>put 23。txt  (上傳)

31。scp:遠端複製檔案,若複製目錄需要 -r 引數

1) scp -r mytest@ip:/home/mytest/。。。。 本地目錄

例: scp python@localhost:/home/python/day02/a03。txt 。/2) scp -r filename 遠端機器使用者@ip:路徑

例:scp 23。txt python@localhost:/home/python/day02/

二丶使用者許可權、使用者、使用者組

1。chmod 修改檔案許可權

1) 文字設定法

命令:chmod [who] [+|-|=] [mode] 檔名

操作物件【who】

u —— 使用者(user)

g —— 同組使用者(group)

o —— 其他使用者(other)

a —— 所用使用者(all)【預設】

運算子【+-=】            + —— 新增許可權            - —— 取消許可權            = —— 賦予給定許可權並取消其他許可權

許可權【mode】

r —— 讀

w —— 寫

x —— 執行2)數字設定法

命令:chmod [+|-|=][mode] 檔名

運算子【+-=】            + —— 新增許可權            - —— 取消許可權            = —— 賦予給定許可權並取消其他許可權 (預設為=)數字表示的含義            0 —— 沒有許可權(-)

1 —— 執行許可權(x)            2 —— 寫許可權(w)            4 —— 讀許可權(r)

2。chown :修改檔案所有者和所屬組

1) 修改檔案所有者用法:chown 檔案所有者 檔名

sudo chown mytest file。txt

2) 修改檔案所有者和所屬組用法:chown 檔案所有者:檔案所屬組 檔名

sudo chown mytest:mytest file。txt

3。chgrp:修改檔案所屬組

使用方法:chgrp 使用者組 檔案或目錄

sudo chgrp mytest file。txt

4。find

1)按檔名查詢 -name

find 路徑 -name “檔名”

2)按檔案型別查詢 -type

find 路徑 -type 型別(普通型別用f表示而不是 -)

3) 按檔案大小查詢 -size

命令:find  路徑  -size  範圍

範圍

大於:+表示 ——  +100k

小於:-表示  ——  -100k

等於: 不需要新增符號 ——  100k

大小

M 必須大寫(10M)

k 必須小寫(20k)

c 表示位元組數

4)按檔案日期

建立日期:-ctime -n/+ n

-n: n天以內

+n: n天以外

修改日期:-mtime -n/+n

訪問日期:-atime -n/+n

5) 高階查詢

find 。/ -type d -exec shell命令 {} \;

find 。/ -type d -exec ls -l {} \;

find 。/ -type d -ok shell命令 {} \;

find 。/ -type d -exec ls -l {} \;

find 。/ -type d -ok shell命令 {} \;

find 。/ -type d -ok ls -l {} \;

ok比較安全, 特別是在執行rm刪除檔案的時候。

find 。/ -type d | xargs shell命令

find 。/ -type d | xargs ls -l

5。 grep

l    grep -r(有目錄) “查詢的內容” 搜尋的路徑                -r引數, 若是目錄, 則可以遞迴搜尋                -n引數可以顯示該查詢內容所在的行號                -i引數可以忽略大小寫進行查詢                -v引數不顯示含有某字串2    搜尋當前目錄下包含hello world字串的檔案

grep -r -n “hello world” 。/    ————顯示行號

grep -r -i -n “HELLO world” 。/  ————-忽略大小小查詢3    先使用find命令查詢檔案, 然後使用grep命令查詢哪些檔案包含某個字串                find 。 -name “*。c” | xargs grep -n “main”

6。壓縮工具

l    gzip和bzip2

不能壓縮目錄,只能一個一個檔案進行壓縮,壓縮之後會使原檔案消失

gzip *    壓縮當前目錄下所有的檔案, 但是目錄不能壓縮

gunzip *  解壓當前目錄下所有的。gz檔案

bzip2 *  壓縮當前目錄下所有的檔案, 但是目錄不能壓縮

bunzip2 * 解壓當前目錄下所有的。 bz2檔案2    tar工具(*****)

相關引數說明

z:用gzip來壓縮/解壓縮檔案

j:用bzip2來壓縮/解壓縮檔案

c:create, 建立新的壓縮檔案, 與x互斥使用

x:從壓縮檔案中釋放檔案, 與c互斥使用

v:詳細報告tar處理的檔案資訊

f:指定壓縮檔案的名字

t: 檢視壓縮包中有哪些檔案3    壓縮:

tar cvf 壓縮包名字。tar 原材料[要打包壓縮的檔案或目錄]

tar zcvf 壓縮包名字。tar。gz 原材料[要打包壓縮的檔案或目錄]

tar jcvf 壓縮包名字。tar。bz2 原材料[要打包壓縮的檔案或目錄]4    解壓縮:

tar  xvf  已有的壓縮包(test。tar。gz)tar

tar  zxvf  已有的壓縮包(test。tar。gz)

tar  jxvf  已有的壓縮包(test。tar。bz2)

解壓到指定目錄:新增引數 -C(大寫)

tar zxvf test。tar。gz -C 解壓目錄(。/mytest)5    檢視壓縮包中有哪些檔案

tar -tvf test。tar

6    zip工具

壓縮:zip -r 壓縮包名 要壓縮的檔案(含檔案或目錄)

壓縮目錄需要使用引數-r

使用該命令不需要指定壓縮包字尾

zip -r xxx file dir ——-生成xxx。zip檔案

解壓縮:unzip壓縮包名

解壓縮到指定目錄:新增引數 –d 解壓目錄

unzip xxx。zip -d /home/itcast/test/day1

注意:解壓目錄若不存在則會建立.

7。軟體的安裝解除安裝

1。線上安裝

軟體安裝:sudo apt-get install 軟體名

軟體解除安裝:sudo apt-get remove 軟體名

更新軟體列表:sudo apt-get update

清理安裝包:sudo apt-get clean

清理的是快取路徑:/var/cache/apt/archives2 軟體包安裝

在Ubuntu系統下必須有deb格式的安裝包

軟體安裝

sudo dpkg -i xxx。deb

軟體解除安裝

sudo dpkg –r 軟體名

8。vim

1)。  三種基本工作模式:命令模式、文字輸入模式、末行模式

2)。  命令模式:使用者按下ESC鍵, 就可以使vi進入命令模式下

儲存退出

快捷鍵

操作

ZZ

儲存退出

程式碼格式化

快捷鍵

操作

gg=G

程式碼格式化

游標移動

快捷鍵

操作

h

游標左移

j

游標下移

k

游標上移

l

游標右移

M

移動游標到中間行

gg

游標移動到檔案開頭

G/L

游標移動到檔案末尾的行首

O

游標移到行首

$

游標移到行尾

nG

行跳轉,例12G,跳到12行處

刪除命令

快捷鍵

操作

x

刪除游標後一個字元,相當於Del

X

刪除游標前一個字元,相當於Backspace

dw

刪除游標開始位置的字,包含游標所在字元

D[d$]

刪除游標後本行所有內容,包含游標所在字元

dd

刪除游標所在行(本質其實是剪下)

ndd

從游標當前行向下刪除指定的行數,如15dd

v/ctrl+v

使用h、j、k、l移動選擇內容,然後按d刪除其中ctrl+v是列模式,v為非列模式

撤銷和反撤銷命令

快捷鍵

操作

u

一步一步撤銷,相當於word文件ctrl+z

ctrl-r

反撤銷,相當於word文件的ctrl+y

複製貼上

快捷鍵

操作

yy

複製當前行

nyy

複製n行,如10yy

p

在游標所在位置向下新開闢一行,貼上

P

在游標所在位置向上新開闢一行,貼上

剪下操作

按dd或者ndd刪除,將刪除的行儲存到剪貼簿中,然後按p/P就可以貼上了

可視模式

快捷鍵

操作

v/ctrl+v

使用h、j、k、l移動選擇內容;使用d刪除 使用y賦值 使用p貼上到游標的後面 使用P貼上到游標的前面

替換操作

快捷鍵

操作

r

替換當前字元

R

替換當前行游標後的字元

文字移動

快捷鍵

操作

>>

文字行右移

<<

文字行左移動

查詢命令

快捷鍵

操作

/

/xxxx, 從游標所在位置開始搜尋,按n向下搜尋,按N向上搜尋

?xxxx, 從游標所在的到位置開始搜尋,按n向上搜尋,按N向下搜尋

3)。 文字輸入模式:從命令模式切換到文字輸入模式模式只需輸入如下命令:

快捷鍵

操作

i

在游標前插入

a

在游標後插入

I

在游標所在行的行首插入

A

在游標所在行的行尾插入

o

在游標所在的行的下面新建立一行,行首插入

O

在游標所在的行的上面新建立一行,行首插入

s

刪除游標後邊的字元,從游標當前位置插入

S

刪除游標所在當前行,從行首插入

按列模式插入

先按ctrl+v進入列模式,按hjkl移動選定某列,按I或者shift+i 向前插入,然後插入字元,最後按兩次esc

4)。 末行模式:從命令模式切換的末行模式,輸入冒號(:)

儲存退出

快捷鍵

操作

q

退出

q!

強制退出,不儲存修改內容

w

儲存修改內容,不退出

wq

儲存並退出

x

相當與wq

替換操作

快捷鍵

操作

:s/old/new/

游標所在行的第一個old替換為new

:s/old/new/g

游標所在行的所有old替換為new

:m, ns/old/new/g

將第m行至第n行之間的old全部替換成new

:%s/old/new/g

當前檔案的所有old替換為new

:1, $s/old/new/g

當前檔案愛你的所有old替換為new

:%s/old/new/gc

同上,但是每次替換需要使用者確認

下面表格中old表示原字串,new表示新字串

快捷鍵

操作

:s/old/new/

游標所在行的第一個old替換為new

:s/old/new/g

游標所在行的所有old替換為new

:m, ns/old/new/g

將第m行至第n行之間的old全部替換成new

:%s/old/new/g

當前檔案的所有old替換為new

:1, $s/old/new/g

當前檔案愛你的所有old替換為new

:%s/old/new/gc

同上,但是每次替換需要使用者確認

快速翻屏

快捷鍵

操作

ctr+u

向上翻半屏

ctrl+d

向下翻半屏

ctrl+f

向上翻一屏

ctrl+b

向後翻一屏

5)。 分屏:在末行模式下執行shell命令,!shell命令 按下兩次esc可以回到命令模式;從末行模式切換回命令模式,按兩次ESC,退格(backspace)或者回車鍵

* 在開啟檔案之後分屏

快捷鍵

操作

sp

當前檔案水平分屏

vsp

當前檔案垂直分屏

sp 檔名

當前檔案和另一個檔案水平分屏

vsp 檔名

當前檔案和另一個檔案垂直分屏

ctrl-w-w

在多個視窗切換游標

wall/wqall/xall/qall/qall!

儲存/儲存退出/儲存退出/退出/強制退出分屏視窗

在開啟檔案之前分屏:

分屏: vim -on file1 file2。。。垂直分屏: vim -On file1 file2 。。。注意 : n可以省略,有幾個檔案就分即屏

6)。vim的配置檔案

使用者級別配置檔案

~/。vimrc, 修改使用者級別的配置檔案只會影響當前使用者, 不會影響其他的使用者。

例如: 在使用者的家目錄下的。vimrc檔案中新增

set tabstop=4  ——設定縮排4個空格

set nu        ——設定行號

set shiftwidth=4  ——-設定gg=G縮排4個空格, 預設是縮排8個空格

系統級別配置檔案

/etc/vim/vimrc, 修改了系統級別的配置檔案將影響系統下的所有使用者。

說明: 由於linux是多使用者作業系統, 建議只在使用者級別的配置檔案下進行修改, 不要影響其他使用者。

上一篇:【新機試用】iphone 12開箱上手:配置升級,效能提升,配置升級,續航高
下一篇:python中的r# folium,r語言、r語言、語言、語法、語法都在這裡了!