刚刚从互联网下载了一个.zip文件。我想使用终端解压缩文件。正确的方法是什么?
\*
视为文字上的星形符号。仅用于unzip *.zip
使shell扩展*
到所有以结尾的文件.zip
*
独自使用对我不起作用。它导致了filename not matched
错误。\*
做好了
apropos zip
从控制台运行以获取完整列表。
刚刚从互联网下载了一个.zip文件。我想使用终端解压缩文件。正确的方法是什么?
\*
视为文字上的星形符号。仅用于unzip *.zip
使shell扩展*
到所有以结尾的文件.zip
*
独自使用对我不起作用。它导致了filename not matched
错误。\*
做好了
apropos zip
从控制台运行以获取完整列表。
Answers:
如果unzip
您的系统上尚未安装该命令,请运行:
sudo apt-get install unzip
安装解压缩实用程序后,如果要解压缩到特定的目标文件夹,则可以使用:
unzip file.zip -d destination_folder
如果源目录和目标目录相同,则可以执行以下操作:
unzip file.zip
unzip /path/to/file.zip
cd /home/paf/Copy/Programming/Javascript/Json
步骤2(我将zip文件提取到我刚才提到的目录中):unzip file.zip -d /home/paf/Copy/Programming/Javascript/Json
unzip
可能是默认程序。换句话说,您可能不需要安装它。
[-d exdir] An optional directory to which to extract files.
一个更有用的工具是7z
,它可以压缩和解压缩一系列压缩格式,特别是lzma
通常提供最高压缩率的协议。
此命令将安装7z
:
sudo apt-get install p7zip-full
此命令列出了zip的内容:
7z l zipfile.zip
此命令提取压缩的内容:
7z x zipfile.zip
7z e
不保留目录结构- 7z x
是否...
sudo apt-get install p7zip
或sudo apt-get install p7zip-full
您需要完整版本才能获取7z
命令。完整版还是处理zip和其他格式的两种格式中的唯一一种。
这里有许多答案提到需要安装的工具,但是没有人提到Ubuntu的两种脚本语言Perl和Python已经附带了所有必要的模块,这些模块允许您解压缩zip存档,这意味着您不需要安装任何工具其他。只需使用下面介绍的两个脚本之一即可完成工作。它们相当短,如果我们愿意的话,甚至可以简化为单线命令。
#!/usr/bin/env python3
import sys
from zipfile import PyZipFile
for zip_file in sys.argv[1:]:
pzf = PyZipFile(zip_file)
pzf.extractall()
用法:
./pyunzip.py master.zip
要么
python3 pyunzip.py master.zip
#!/usr/bin/env perl
use Archive::Extract;
foreach my $filepath (@ARGV){
my $archive = Archive::Extract->new( archive => $filepath );
$archive->extract;
}
用法:
./perlunzip master.zip
要么
perl perlunzip.pl master.zip
也可以看看
'''
文件名内无):unzip(){ python -c "from zipfile import PyZipFile; PyZipFile( '''$1''' ).extractall()"; }
我喜欢bsdtar
到unzip
/ zip
。对于提取,它们非常相似:
bsdtar -x -f /one/two/three/four.zip -C /five
unzip /one/two/three/four.zip -d /five
但是对于拉锁,则bsdtar
胜出。假设您输入以下内容:
/one/two/three/alfa/four.txt
/one/two/three/bravo/four.txt
并在zip文件中添加此文件:
alfa/four.txt
bravo/four.txt
这很容易bsdtar
:
bsdtar -a -c -f four.zip -C /one/two/three alfa bravo
zip没有-d
像unzip这样的选项,因此除非您cd
先进行,否则您将无法实现以上目的。
bsdtar
但Blóðstokkinn
在放松时,显然不适合使用特殊字符(例如单词中的至少一个)。压缩时我什至没有检查。真可惜 :/ unzip
毫无问题地处理了它。
安装解压缩=============因此,如果没有安装解压缩,首先我们需要在系统上安装解压缩。unzip命令用于从ZIP存档中提取文件。
运行以下命令进行安装
unzip
sudo apt-get install unzip
unzip
Syntex$ unzip [-aCcfjLlnopqtuvy] [-d dir] zipfile
现在,请按照以下步骤操作:
解压缩文件
选项1 –如果Zip文件与您的终端机位于同一目录/文件夹中,我们希望将其解压缩到当前工作目录中。
使用以下命令来实现上述方案
sudo unzip zip_file_name.zip
如果该zip文件受某些密码保护,请使用以下命令:
sudo ubzip -P zip_file_name.zip
请确保使用-P(大写P)而不是-p,因为这是不同的选项。
选项2 –如果zip文件不在同一目录中,而我们想将文件解压缩/解压缩到其他目录中。
使用以下命令来实现上述方案
sudo unzip path/filename.zip -d another_path_or_same_path
如果我们不使用选项-d,则文件将被提取到当前工作目录中。
如果zip文件受密码保护,我们也可以使用
-P
。在Linux / Unix中使用tar命令
tar
是Tape Archive的首字母缩写。tar命令用于在Linux / Unix中处理档案。系统管理员使用tar命令经常撕了一堆文件或目录在其中被称为高压缩归档tarball
或tar
,bzip
并且gzip
在的Linux / Unix系统。tar Syntex
tar [OPTION...] [FILE]...
要么
tar需要标记
tar {-r|-t|-c|-x|-u}
tar可选标志
tar {one of the required Flags} [ -d ][-B] [ -F ] [ -E ] [ -i ] [-h ] [ -l ] [ -m ] [ -o ] [ -p ] [ -w] [ -s ] [ -U ] [ -v ] [-Number] [-b Blocks] [-f Archive]
例子
通过压缩目录或单个文件来创建tar存档文件
下面的终端命令将在目录或 当前工作目录中创建一个
.tar
名为的文件 。sample_dir.tar
/home/codebind/sample_dir
sample_dir
ripon@ripon:~$ tar -cvf sample_dir.tar sample_dir sample_dir/ sample_dir/main.cpp sample_dir/sample.png sample_dir/output ripon@ripon:~$ ls sample_dir sample_dir.tar
这些标志(-cvf)的实际含义是
-c, --create
–创建一个新档案
-x, --extract, --get
–从存档中提取文件
-f, --file ARCHIVE
–使用存档文件或设备ARCHIVE通过压缩目录或单个文件来创建
tar.gz
或tgz
存档文件下面的终端命令将在目录或 当前工作目录中创建一个
.tar.gz
名为的文件 。sample_dir.tar.gz
/home/codebind/sample_dir
sample_dir
请注意,我们在命令中添加了额外的-z标志,这实际上是-z标志的含义
-z, --gzip, --gunzip --ungzip
–使用gzip压缩档案ripon@ripon:~$ tar -cvzf sample_dir.tar.gz sample_dirsample_dir/ sample_dir/main.cpp sample_dir/sample.png sample_dir/output ripon@ripon:~$ ls sample_dir sample_dir.tar.gz
下面的命令将创建一个.tgz文件。需要注意的一个是tar.gz和tgz都是相似的。
ripon@ripon:~$ tar -cvzf sample_dir.tgz sample_dirsample_dir/ sample_dir/main.cpp sample_dir/sample.png sample_dir/output ripon@ripon:~$ ls sample_dir sample_dir.tgz
一次压缩多个目录或文件
假设,例如,我们要将
sample_dir
目录,java_test
目录和abc.py
文件压缩为名为的tar文件sample_dir.tar.gz
。运行以下命令以实现上述目标。
ripon@ripon:~$ tar -cvzf sample_dir.tar.gz sample_dir java_test abc.py sample_dir/ sample_dir/main.cpp sample_dir/sample.png sample_dir/output java_test/ java_test/HelloCV.java abc.py ripon@ripon:~$ ls sample_dir java_test abc.py sample_dir.tar.gz
.bzip2
通过压缩目录或单个文件创建存档文件ripon@ripon:~$ tar -cjvf sample_dir.tar.bz2 sample_dir sample_dir/ sample_dir/main.cpp sample_dir/sample.png sample_dir/output ripon@ripon:~$
请注意,我们
-f
在命令中添加了额外的标志,这-f
实际上是标志的含义
-f, --file ARCHIVE
–使用存档文件或设备ARCHIVE提取
.tar
存档文件我们可以使用tar命令解压缩压缩文件。下面的命令会将的内容提取
sample_dir.tar
到当前目录。ripon@ripon:~$ tar -xvf sample_dir.tar sample_dir/ sample_dir/main.cpp sample_dir/sample.png sample_dir/output ripon@ripon:~$
以下命令将提取或解压缩指定目录
/home/codebind/dir_name
中的文件,即在这种情况下。ripon@ripon:~$ tar -xvf sample_dir.tar -C /home/codebind/dir_name sample_dir/ sample_dir/main.cpp sample_dir/sample.png sample_dir/output ripon@ripon:~$
我们
-C
在命令中添加了额外的标志。这-C
实际上是标志的含义
-C, --directory DIR
–转到目录DIR
zip -v
和unzip -v
。如果安装了它会返回类似UnZip 6.00 of 20 April 2009, by Debian. Original by Info-ZIP.
(加上额外的信息多行如果没有安装,它会这样说。The program 'zip' is currently not installed. You can install it by typing: apt install zip
。