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