linux常用命令

linux命令多而雜,很多命令使用的時候都需要百度才能找到,下面是我常用的一些命令,總結起來就不用到處去找了。

其他

sudo命令以系統管理者的身份執行指令

查看電腦目前的環境變量: echo $PATH

編輯文件

vi /路徑/文件名

Page Up和Page Down鍵上下翻頁

按下Insert鍵,可以見到窗口左下角有“Insert”字樣,表示當前爲插入編輯狀態,這時從鍵盤輸入的內容將插入到光標位置;再按下Insert鍵,左下角將有“Replace”字樣,表示當前爲替換編輯狀態,這時從鍵盤輸入的內容將替換光標位置的內容

編輯完內容後,按下Esc鍵 保存並退出 :wq 不保存退出 :q!

終端

打開終端: ctrl+alt+t

打開新終端: ctrl+shift+t

關閉終端: ctrl + d

如何讓Linux的腳本關閉終端後繼續執行?

在Linux的shell終端中執行一個命令時是不能關掉終端的,否則程序也會終止,但是有些耗時比較長的命令是無法保證一直開着終端的。

解決方法是nohup命令,在程序的前面加上nohup,程序的後面加上&,這樣程序就會一直執行直到結束。

比如:nohup python test.py &

回車,然後提示一堆東西,再次回車,回到shell界面。這就可以了。

還有一個問題:程序在執行中會輸出一些信息,如果後臺執行的話,這些信息是不是沒法看了?(比如:程序執行出錯終端,想看看報錯信息之類的)。使用了nohup命令後,會在當前目錄下生成一個nohup.out的日誌文件,記錄的就是命令的輸出。

目錄操作(路徑)

目錄的查看:ls //查看當前目錄下的文件及目錄
ls -l filename //文件屬性
ls dir //目錄中包含的內容
ls -d dir //顯示目錄本身
ls -a dir //顯示所有文件(包含隱藏文件)
ls -s dir //查看並按照大小排序

新建目錄: mkdir [路徑名]
要刪除空目錄,請使用該-d選項: rm -d dirname
要刪除非空目錄及其中的所有文件,請使用r(遞歸)選項: rm -r dirname
如果目錄中的目錄或文件受到寫保護,系統將提示您確認刪除。要刪除非空目錄和所有文件而不提示,請使用r(遞歸)和-f選項:

rm -rf dirname

要一次刪除多個目錄,請使用rm命令,後跟以空格分隔的目錄名稱:

rm -r dirname1 dirname2 dirname3

與文件相同,您還可以使用通配符(*)和常規擴展來匹配多個目錄。

路徑

顯示當前路徑: pwd

切換路徑:cd 目錄名 //進入到指定的目錄中
cd - //當前目錄和當前目錄之前所在的目錄之間切換
cd ~ //進入當前用戶家目錄
cd … //進入當前目錄的上層目錄

刪除

  • 刪除文件

常規刪除a.txt文件: rm a.txt
要一次刪除多個文件,請使用rm命令後跟由空格分隔的文件名:

rm filename1 filename2 filename3

您還可以使用通配符(*)和常規擴展來匹配多個文件。例如,要刪除.pdf當前目錄中的所有文件,請使用以下命令:

rm *.pdf

強行刪除file.log文件: rm -f file.log

  • 刪除目錄

rm -rf 目錄名字

壓縮文件操作

zip 壓縮

(1)壓縮一個文件

zip -r archive_name.zip filename (-r是壓縮文件)

(2)將當前文件夾下的所有文件打包成一個 new1.zip 文件

zip new1.zip *

(3)把當前文件夾下所有 my1*.doc 的文件打包成一個 new1.zip 文件

zip new1.zip my1*.doc

(4)把一個文件 abc.txt 和一個目錄 dir1 壓縮成爲 yasuo.zip

zip -r yasuo.zip abc.txt dir1

(5)將 /home/Blinux/html/ 這個目錄下所有文件和文件夾打包爲當前目錄下的 html.zip

備註:-q 爲安靜模式,在壓縮的時候不顯示指令的執行過程

zip -qr html.zip /home/Blinux/html

(6)添加一個文件到 .zip 文件中

備註:如果當初並沒有把 my32.doc 壓在 new1.zip 裏面,現在把它加進去。-g 選項是增加而不要重新產生的意思。

zip -g new1.zip my32.doc

(7)將更改過的文件添加到壓縮包中

備註:如果當初 my2*.doc 都已經壓縮進 new1.zip 裏面了,但是後來 my2*.doc 中有幾個文件有更改,又不想去找出到底是哪些文件更改了,這條命令請系統自行幫助檢查,更改過的才更新到壓縮,否則就不必動。

zip -u new1.zip my2*.doc

(8)刪除除 .zip 文件中的指定文件

備註:如果當初 my18.doc 是壓縮在 new1.zip 中的一個文件,現在這條命令把它從壓縮文件中抽走並刪掉。-d 是刪除的意思。

zip -d new1.zip my18.doc

unzip 解壓縮

(1)把文件解壓到當前目錄下

unzip test.zip

(2)如果要把文件解壓到指定的目錄下,需要用到-d參數。

unzip -d /temp test.zip

(3)解壓的時候,有時候不想覆蓋已經存在的文件,那麼可以加上 -n 參數

unzip -n test.zip
unzip -n -d /temp test.zip

(4)將壓縮文件 test.zip 在指定目錄 tmp 下解壓縮,如果已有相同的文件存在,要求 unzip 命令覆蓋原先的文件

unzip -o test.zip -d /tmp/

(5)只看一下 zip 壓縮包中包含哪些文件,不進行解壓縮

unzip -l test.zip

(6)查看顯示的文件列表還包含壓縮比率
unzip -v test.zip

(7)檢查 zip 文件是否損壞
unzip -t test.zip

二、tar格式

tar是在Linux中使用得非常廣泛的文檔打包格式。它的好處就是它只消耗非常少的CPU以及時間去打包文件,它僅僅只是一個打包工具,並不負責壓縮。下面是如何打包一個目錄:

  tar -cvf archive_name.tar directory_to_compress     

  -c參數是建立新的存檔

  -v參數詳細顯示處理的文件

  -f參數指定存檔或設備

打包之後如何解包:

  tar -xvf archive_name.tar

上面這個解包命令將會將文檔解開在當前目錄下面。當然,你也可以用下面的這個命令來解包到指定的路徑:

  tar -xvf archive_name.tar -C new_dir        (解包的參數是-C,不是小寫c)

三、tar.gz格式

這種格式是我使用得最多的壓縮格式。它在壓縮時不會佔用太多CPU的,而且可以得到一個非常理想的壓縮率。
壓縮方式:

 tar -zcvf archive_name.tar.gz filename

解壓縮方式:

 tar -zxvf archive_name.tar.gz

上面這個解包命令將會將文檔解包在當前目錄下面。當然,你也可以用下面的這個命令來指定解包的路徑:

 tar -zxvf archive_name.tar.gz -C new_dir

移動/重命名 文件

詳細介紹可以看下面的鏈接:

http://www.sohu.com/a/213687177_660184

linux實用命令之如何移動文件夾及文件下所有文件:

mv [options] 源文件或目錄 目標文件或目錄

[options]主要參數(幾個重要的參數)

-i:交互方式操作。如果mv操作將導致對已存在的目標文件的覆蓋,此時系統詢問是否重寫,要求用戶回答”y”或”n”,這樣可以避免誤覆蓋文件。
-f:禁止交互操作。mv操作要覆蓋某個已有的目標文件時不給任何指示,指定此參數後i參數將不再起作用。 - r 指示mv將參數中列出的全部目錄和子目錄均遞歸地移動。

第二個參數

當第二個參數類型是文件時,mv命令完成文件重命名,它將所給的源文件或目錄重命名爲給定的目標文件名。
當第二個參數是已存在的目錄名稱時,源文件或目錄參數可以有多個,mv命令將各參數指定的源文件均移至目標目錄中。在跨文件系統移動文件時,mv先拷貝,再將原有文件刪除,而鏈至該文件的鏈接也將丟失。

移動多個文件或目錄到指定目錄下:

mv 目錄1 目錄2 目錄3 目標目錄

系統默認前面的目錄/文件是要移動的目錄/文件,最後一個目錄是目標目錄(文件要移動到的地方)。

重命名目錄

mv directory_1/ directory_2/

運行sh文件

假設一個sh命令:start.sh
那麼我進入這個命令所在的路徑,然後輸入:
start.sh
卻不能執行。

原因:
Linux不像DOS,默認的先搜索當前路徑,而Linux一般情況下是按$PATH變量去搜索的,用戶的當前路徑是不包含在此變量中的,所以要執行當前路徑下的start.sh(必須是有可執行屬性)文件,需要明示其路徑,用相對路徑如./start.sh或絕對路徑。

假設你的文件在//test/start.sh
運行的話就
./start.sh
/test/start.sh
sh start.sh

3種方法

./即當前目錄,…/上一級目錄。
你不可能把所有目錄都加到路徑變量$PATH中,所以執行當前目錄下的文件時用./,這是習慣。

進程

檢查是否在運行apt,apt-get相關的進程:

grep -i apt

如果存在與apt相關的正在運行的進程,kill掉進程:

sudo kill -9

或者直接簡單粗暴的:

sudo killall apt apt-get

查看cpu內存佔用率:

gnome-system-moniter

常見錯誤

1. Permission denied

運行test.sh腳本文件報錯:

.........Permission denied

爲了獲得執行權限,藉助chmod指令修改文件權限即可。運行以下命令:

chmod 777 test.sh

然後再運行腳本文件就可以了。

./test.sh
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章