1、如何將多個文件及文件夾壓縮為一個壓縮文件
經常會忘記 tar 壓縮和解壓命令的使用,故記下來。
// 1、打包壓縮
tar -zcvf pack.tar.gz pack/ #打包壓縮為一個.gz格式的壓縮包 tar -jcvf pack.tar.bz2 pack/ #打包壓縮為一個.bz2格式的壓縮包 tar -Jcvf pack.tar.xz pack/ #打包壓縮為一個.xz格式的壓縮包 // 2、解包解壓
tar -zxvf pack.tar.gz /pack #解包解壓.gz格式的壓縮包到pack文件夾 tar -jxvf pack.tar.bz2 /pack #解包解壓.bz2格式的壓縮包到pack文件夾 tar -Jxvf pack.tar.xz /pack #解包解壓.xz格式的壓縮包到pack文件夾

問題:我要把這些文件壓縮為一個壓縮文件
解決方案:linux命令 — tar命令:https://www.runoob.com/linux/linux-comm-tar.html
PS D:\nuxtrun\test> tar czvf dev.tar.gz .\nuxt.config.js .\package.json .\package-lock.json .\router.js .\static\ .\.nuxt\ a ./nuxt.config.js a ./package.json a ./package-lock.json a ./router.js tar.exe: ./static: Couldn't find file: Invalid argument
tar.exe: ./.nuxt: Couldn't find file: Invalid argument
tar.exe: Error exit delayed from previous errors.
注意目錄的話需要寫通配符,否則的話就會報上面這個錯。正確的應該這樣:
PS D:\nuxtrun\test> tar czvf dev.tar.gz .\nuxt.config.js .\package.json .\package-lock.json .\router.js .\static\* .\.nuxt\* a ./nuxt.config.js a ./package.json a ./package-lock.json a ./router.js a ./static/apple-app-site-association a ./static/behavior.js a ./static/favicon.ico a ./static/robots.txt a ./static/sitemap202102.xml a ./static/wechatCode.css a ./.nuxt/App.js a ./.nuxt/axios.js a ./.nuxt/client.js a ./.nuxt/components a ./.nuxt/empty.js a ./.nuxt/index.js a ./.nuxt/loading.html a ./.nuxt/middleware.js a ./.nuxt/router.js a ./.nuxt/server.js a ./.nuxt/store.js a ./.nuxt/utils.js a ./.nuxt/views a ./.nuxt/views/app.template.html a ./.nuxt/views/error.html a ./.nuxt/components/no-ssr.js a ./.nuxt/components/nuxt-build-indicator.vue a ./.nuxt/components/nuxt-child.js a ./.nuxt/components/nuxt-error.vue a ./.nuxt/components/nuxt-link.client.js a ./.nuxt/components/nuxt-link.server.js a ./.nuxt/components/nuxt-loading.vue a ./.nuxt/components/nuxt.js PS D:\nuxtrun\test>
然后就會在該目錄下生成 dev.tar.gz 壓縮文件

將上面壓縮的文件解壓到當前目錄
tar -zxvf .\dev.tar.gz
2、將一個文件移動到另一個目錄下 — mv 命令
(1)作用:mv命令來為文件或目錄改名或將文件由一個目錄移入另一個目錄中。該命令等同於DOS系統下的ren和move命令的組合。它的使用權限是所有用戶。
(2)格式: mv [options] 源文件或目錄 目標文件或目錄
(3)第二個參數
當第二個參數類型是文件時,mv命令完成文件重命名,它將所給的源文件或目錄重命名為給定的目標文件名。
當第二個參數是已存在的目錄名稱時,源文件或目錄參數可以有多個,mv命令將各參數指定的源文件均移至目標目錄中。
在跨文件系統移動文件時,mv先拷貝,再將原有文件刪除,而鏈至該文件的鏈接也將丟失。
(4)應用實例
// 1、將/usr/udt中的所有文件移到當前目錄(用”.”表示)中:
mv /usr/udt/* . // 2、將文件test.txt重命名為wbk.txt: mv test.txt wbk.txt // 3、把當前目錄的一個子目錄里的文件移動到另一個子目錄里 mv 文件名/* 另一個目錄 // 4、移動當前文件夾下的所有文件到上一級目錄 mv * ../
三、刪除文件夾和文件的命令 - rm命令
-r,就是向下遞歸,不管有多少級目錄,一並刪除
-f,就是直接強行刪除,不作任何提示的意思
1、刪除文件使用實例:
rm -f /var/log/httpd/access.log // 將會強制刪除/var/log/httpd/access.log這個文件
2、刪除文件夾實例:
rm -rf /var/log/httpd/access // 將會刪除/var/log/httpd/access目錄以及其下所有文件、文件夾
Linux cannot remove is a directory 解決辦法:如果直接用 rm -f ssh/ 會提示刪除不了,cannot remove is a directory 表示這是個目錄不能刪除,但是我們可以采用強制刪除的辦法,請看下面示例在這里用戶cb文件夾是一個目錄,可用rm -rf cb刪除:-r是遞歸處理,就是一層一層的刪;-f是強制刪除。
