Linux命令:如何将多个⽂件及⽂件夹压缩为⼀个压缩⽂件及解压-tar命令、将⼀个⽂件移动。。。
1、如何将多个⽂件及⽂件夹压缩为⼀个压缩⽂件
  经常会忘记 tar 压缩和解压命令的使⽤,故记下来。
// 1、打包压缩
tar -zcvf pack/  #打包压缩为⼀个.gz格式的压缩包
tar -jcvf pack.tar.bz2 pack/ #打包压缩为⼀个.bz2格式的压缩包
tar -Jcvf pack/  #打包压缩为⼀个.xz格式的压缩包
// 2、解包解压
tar -zxvf /pack  #解包解压.gz格式的压缩包到pack⽂件夹
tar -jxvf pack.tar.bz2 /pack #解包解压.bz2格式的压缩包到pack⽂件夹
tar -Jxvf /pack  #解包解压.xz格式的压缩包到pack⽂件夹
  问题:我要把这些⽂件压缩为⼀个压缩⽂件
  解决⽅案:linux命令 — tar命令:
PS D:\nuxtrun\test> tar czvf .\fig.js .\package.json .\package-lock.json .\router.js .\static\ .\.nuxt\
a ./fig.js
a ./package.json
a ./package-lock.json
a ./router.js
<: ./static: Couldn't find file: Invalid argument
<: ./.nuxt: Couldn't find file: Invalid argument
<: Error exit delayed from previous errors.
  注意⽬录的话需要写通配符,否则的话就会报上⾯这个错。正确的应该这样:
PS D:\nuxtrun\test> tar czvf .\fig.js .\package.json .\package-lock.json .\router.js .\static\* .\.nuxt\*
a ./fig.js
a ./package.json
a ./package-lock.jsoncss文件怎么写
a ./router.js
a ./static/apple-app-site-association
a ./static/behavior.js
a ./static/favicon.ico
a ./
a ./l
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/plate.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>
  然后就会在该⽬录下⽣成 压缩⽂件
  将上⾯压缩的⽂件解压到当前⽬录
tar -zxvf .\
2、将⼀个⽂件移动到另⼀个⽬录下 — mv 命令
(1)作⽤:mv命令来为⽂件或⽬录改名或将⽂件由⼀个⽬录移⼊另⼀个⽬录中。该命令等同于DOS系统下的ren和move命令的组合。它的使⽤权限是所有⽤户。
(2)格式: mv  [options]  源⽂件或⽬录⽬标⽂件或⽬录
(3)第⼆个参数
  当第⼆个参数类型是⽂件时,mv命令完成⽂件重命名,它将所给的源⽂件或⽬录重命名为给定的⽬标⽂件名。
  当第⼆个参数是已存在的⽬录名称时,源⽂件或⽬录参数可以有多个,mv命令将各参数指定的源⽂件均移⾄⽬标⽬录中。
  在跨⽂件系统移动⽂件时,mv先拷贝,再将原有,⽽链⾄该⽂件的链接也将丢失。
(4)应⽤实例
// 1、将/usr/udt中的所有⽂件移到当前⽬录(⽤”.”表⽰)中:
mv /usr/udt/* .
// 2、将⽂件重命名为:
// 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是强制删除。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。