linux命令 常用shell命令及應用

2021-07-27 10:48:46 字數 3437 閱讀 5557

man command

linux下更好用的幫助命令—cheat

#pip install cheat

$cheat tar

[linux下更好用的幫助命令—cheat]

ubuntu終端視窗中,複製貼上的快捷鍵需要加上 shift

複製:ctrl+shift+c 貼上:ctrl+shift+v

command !$ 執行後!$把上個命令最後的引數作為輸入

!! 代表上一條命令

$(hostname)

可以這樣echo $(hostname) > 1.txt

還可以通過``來執行命令

sed "s/oldstring/newstring/g" `grep oldstring -rl yourdir`

shell 是乙個互動式的應用程式,在執行外部命令時通過 fork 來建立乙個子程序,再通過 exec 來載入外部命令的程式來執行,但是如果乙個命令是 shell 內建命令,那麼只能直接由 shell 來執行。sudo 的意思是,以別的使用者(如root)的許可權來 fork 乙個程序,引導程式並執行,因此 sudo 後面不能跟 shell 的內建命令,如:$ sudo cd /sys/kernel/debugfs

sudo: cd: command not found

在這種情況,我們又沒有 root 賬戶的密碼,我們怎樣執行該命令呢?有種辦法就是使用 sudo 獲得root shell 的許可權,然後在root shell 中執行該命令。進入root shell 很簡單,輸入sudo bash 確認本使用者的密碼即可,此時你會發現命令提示符顯示當前是 root。一旦獲得root shell,你可以執行任何命令而不需要在每條命令前輸入sudo了。

[15 useful bash shell built-in commands (with examples)]

[cd 命令:乙個內建命令]

$ history [n]

$ history [-c]

$ history [-raw] histfiles

選項與引數:

n :數字,意思是「要列出最近的 n 筆命令列表」的意思!

-c :將目前的 shell 中的所有 history 內容全部消除

-a :將目前新增的 history 指令新增入 histfiles 中,若沒有加 histfiles ,

則預設寫入 ~/.bash_history

-r :將 histfiles 的內容讀到目前這個 shell 的 history 記憶中;

-w :將目前的 history 記憶內容寫入 histfiles 中!

執行歷史命令

$ !number

$ !command

$ !!

選項與引數:

number :執行第幾筆指令的意思;

command :由最近的指令向前搜尋「指令串開頭為 command」的那個指令,並執行;

還有乙個快捷鍵

ctrl + r 在歷史命令中查詢  有時history比較多時,想找乙個比較複雜的,直接在這裡,shell會自動查詢並呼叫;將自動在命令歷史快取中增量搜尋後面入的字元。

[linux鍵盤及終端快捷鍵 

]皮皮blog

[linux檔案及目錄管理

][linux檔案格式化與相關處理及sed工具 

]linux vi vim命令、快捷鍵

[linux vi vim命令、快捷鍵]

z是針對 gzip,j是針對 bzip2,j針對xz。注意.tgz是.tar.gz的縮寫

壓 縮(可同時多個檔案或目錄):

tar -zcv -f ~/filename.tar.gz fname1 fname2 或者dirname1 dirname2

tar -jcv -f ~/filename.tar.bz2 fname1 fname2 或者dirname1 dirname2

查 詢:tar -jtv -f filename.tar.bz2

note: 如果for迴圈壓縮多個目錄,使用

dirs=$(echo ~/sysreinstall/ ~/files/desktop/   #不能加"",否則找不到路徑

for dir in $dir

docd 

tar -czf $(basename $dir).tar.gz $dir

done

解壓縮:

tar -zxv -f filename.tar.bz2 -c 欲解壓縮的目錄

tar -jxv -f filename.tar.bz2 -c 欲解壓縮的目錄

tar -xjf extra-cmake-modules_1.4

.0.orig.tar.xz

壓縮解壓.zip,  .7z檔案

sudo apt-get install p7zip p7zip-full p7zip-rar

# 7z a yajiu.7z yajiu

這條命令是將資料夾yajiu壓縮成乙個7z包

# 7z x yajiu.7z

這條命令是將yajiu.7z中的所有檔案解壓出來,x是解壓到壓縮包命名的目錄下

# 7z e yajiu.7z

這條命令是將yajiu.7z中的所有檔案解壓出來,e是解壓到當前路徑,就是壓縮包裡面的東西都抽取到當前目錄下(一般不會用這個命令)

[linux 下壓縮與解壓.zip和.rar及.7z檔案 ]

解壓rar檔案好像只能用unrar,用7z解壓出來只有0kb。壓縮也用rar吧

$sudo apt-get install rar

$sudo apt-get install unrar

安裝後可以在命令列或者檔案管理器中開啟和解壓rar檔案。

壓縮$rar a ***.rar ***

解壓unrar ***.rar

主要原因是,在windows下壓縮檔案時,是以系統的預設編碼(gbk,gb18030)來壓縮,zip檔案並沒有宣告編碼的格式,因此,linux下解壓縮時,也會使用系統預設的格式(utf-8)解壓縮,編碼格式不同,自然會出現亂碼。

解決辦法,linux下解壓zip檔案時宣告一下編碼即可。

比如對於某個windows下用zip壓縮的檔案 xx.zip,解壓時,可以利用

$ unzip -o cp936 xx.zip

實際上,cp936用gbk, gb18030也是可以的。

note:一般rar檔案在linux解壓時並不會出現檔名亂碼的情況,主要原因是rar檔案頭宣告了壓縮時的編碼。所以大家以後為了方便,盡量還是用rar方式壓縮吧。

#!/bin/bash

for i in $(ls | grep 'zip')

dounzip -o cp936 $

done

for i in $(ls | grep 'rar')

dounrar $

done

wget linkurl -p /usr/local

linux常用shell命令

常用vi命令 一般模式 游標移動 ctrl f 螢幕向前翻動一頁 ctrl b 螢幕向後翻動一頁 移動到這一行的第乙個字元處 移動到這一行的最後乙個字元處 g移動到這個檔案的最後一行 n游標向下移動n行 一般模式 查詢與替換 word 在游標之後查詢乙個名為word的字串 n1,n2s word1 ...

Linux常用Shell命令

1 使用者資料夾 語法 ls 選項 路徑 功能 顯示指定工作目錄下的內容 a all l 檔案詳細資訊 2 檢視當前工作路徑 語法 pwd 功能 當前工作目錄的絕對路徑 3 切換目錄 語法 cd 路徑 功能 切換到指定路徑 例如 切換到 home資料夾下 cd home 4 清屏 語法 clear ...

Linux常用shell命令

ls 檢視當前目錄下的所有檔案和路徑 ls a 檢視當前目錄下的所有檔案和路徑包含隱藏檔案 ls l 檢視當前目錄下的所有檔案和路徑,以列表的形式展現 ls l h 檢視當前目錄下的所有檔案和路徑,以列表的形式展現,並且看檔案大小更人性化一點 mkdir 建立資料夾 cp 複製檔案或路徑 mv 移動...