linux如何把多个压缩包解压到单独文件夹
发布时间:2025-05-13 23:34:02 发布人:远客网络
一、linux如何把多个压缩包解压到单独文件夹
1、在Linux系统中,批量解压多个压缩包至各自的文件夹可以按以下步骤操作:
2、首先,使用终端进入包含所有压缩包的目录。可以通过输入cd目录路径来实现,例如cd/home/user/Downloads。
3、接着,列出所有压缩文件,确认文件类型。可以使用ls*.tar*.tar.gz*.tgz*.zip命令来查看。
4、然后,针对每一个压缩文件,执行解压命令。以tar为例,可以使用tar-xvf压缩包名-C目标文件夹来解压。例如,解压一个名为example.tar的文件到/home/user/extracted目录,可以输入tar-xvf example.tar-C/home/user/extracted。
5、对于zip文件,可以使用unzip压缩包名-d目标文件夹命令。例如,解压一个名为example.zip的文件到/home/user/extracted目录,可以输入unzip example.zip-d/home/user/extracted。
6、最后,检查解压结果。可以进入目标文件夹检查文件是否正确解压。例如,使用cd/home/user/extracted进入解压文件夹,使用ls命令列出文件。
7、这样,通过简单的命令行操作,就能将多个压缩包分别解压到各自的文件夹中,方便管理和查找。
二、如何在 Linux 中安全擦除删除的文件内容
1、/etc/passwd中包含有用户的登录名、经过加密的口令、用户号、用户组号、用户注释、用户主目录和用户所用的Shell程序。其中,用户号(UID)和用户组号(GID)用于Linux系统惟一标识用户和同组用户,以及用户的访问权限。一个好的口令应当至少有6个字符,最好不要取用个人信息(如生日、名字、反向拼写的登录名),普通的英语单词也不好(因为用字典攻击法容易破解)。口令最好含有一些非字母字符(如数字、标点符号、控制字符等),并且要好记,不能写在纸上或计算机中的文件里。选择口令的一个好方法是将两个不相关的词用一个数字或控制字符相连,并截断为8个字符。当然,如果你能记住8位乱码自然更好。不应在不同机器中使用同一个口令,特别是在不同级别的用户上使用同一口令。不要将口令于终端功能键或Modem的字符串器中。用户应定期改变口令,推荐3个月改变一次。系统管理员可以强制用户定期修改口令。为防止眼明手快的人得到口令,在输入口令时应确认身边无人。
2、1.不要让文件或目录被他人读写。
3、如果不信任本组用户,umask设置为022。确保自己的.profile他人不可读写;暂存目录最好不要存放重要文件;home目录任何人不可写; uucp传输的文件应该加密,并尽快转移到自己的目录中。
4、2.若不想要其他用户读文件或目录,就要使其不允许任何人读。
5、umask设置为006/007。若不允许同组用户存取自己的文件和目录,umask设置为077;暂存文件按当前umask设置。存放重要数据到暂存文件的程序,就被写成能确保暂存文件其他用户不可读。这样,就可确保别的用户不可读home目录。
6、拷贝和移动文件的安全用cp命令拷贝文件时,若目的文件不存在,则将同时拷贝源文件的存取许可,包括Suid和Sgid许可。新拷贝的文件属拷贝用户所有,故拷贝别人的文件时应小心,不要被其他用户的Suid程序破坏文件安全。
7、用mv命令移动文件时,新移的文件存取许可与原文件相同,mv仅改变文件名。只要用户有目录的写和搜索许可,就可移走该目录中某人的Suid程序,且不改变存取许可。若目录许可设置不正确,则用户的Suid程序可能被移到不能修改和删除的目录中,从而出现安全漏洞。
8、cpio命令用于将目录结构拷贝到一个普通文件中,然后再用cpio命令将该普通文件转成目录结构。小心使用该命令,因为它能覆盖不在当前目录结构中的文件,用t选项可首先列出要被拷贝的文件。
9、不要离开登录的终端这个问题看起来简单,但却是最容易忽视的问题,哪怕只是几分钟的疏忽,也会给系统造成危害。
10、文件加密的安全crypt命令可提供给用户加密文件。它使用一个关键词将标准输入的信息编码变为不可读的杂乱字符串,送到标准输出设备。再次使用该命令,用同一关键词作用于加密后的文件,可恢复文件内容。
11、一般来说,文件加密后应删除原始文件,只留下加密后的版本,且不能忘记加密关键词。vi命令一般都有加密功能,用vi-x命令可编辑加密后的文件。加密关键词的选取规则与口令的选取规则相同。
12、由于crypt程序可能被做成特洛伊木马,故不宜用口令做为关键词。最好在加密前用pack或compress命令对文件进行压缩,然后再加密。
13、CU的问题CU命令能使用户从一个Linux系统登录到另一个Linux系统。此时,在远地系统还必须输入“~”后回车,以断开CU和远地系统的连接。
14、CU也有安全问题。如果本机安全性弱于远地机,不提倡用CU去登录远地机,以免由于本地机不安全而影响较安全的远地机。由于CU的老版本处理“~”的方法不完善,从安全性强的系统调用,会使安全性弱的系统的用户使用强系统用户的CU,传送强系统的/etc/passwd文件。
15、暂存文件和目录的安全Linux系统中暂存目录为/tmp和/usr/tmp,如果用这些目录存放暂存文件,别的用户可能会破坏这些文件。使用暂存文件最好将文件屏蔽值定义为007。保险的方法是建立自己的暂存文件和目录$Home/Mp,不要将重要文件存放于公共的暂存目录。
16、UUCP文件传输和网络安全UUCP命令用于将文件从一个Linux系统传送到另一个Linux系统。通过UUCP传送的文件,通常存于/usr/spool/uucppublic/login目录中,Login是用户的登录名,该目录存取许可为777。通过网络传输并存放于此目录的文件属于UUCP所有,文件存取许可为666和777。用户应当将通过UUCP传送的文件加密,并尽快移到自己的目录中。其它网络将文件传送到用户home目录下的RJC目录中。该目录对其他人是可写、可搜索的,但不一定是可读的,因而用户的RJC目录的存取许可方式应为733,允许程序在其中建立文件。同样,传送的文件也应加密并尽快移到自己的目录中。
17、Suid/Sgid的安全尽量不写Suid/Sgid程序。in为现有文件建立一个链,即建立一个引用同一文件的新名字。如目的文件已经存在,则该文件被删除而代之以新的链;或存在的目的文件不允许用户写,则请求用户确认是否删除该文件,因为只允许在同一文件系统内建链。若要删除一个Suid文件,就要确认文件的链接数,只有一个链才能确保该文件被删除。若Suid文件已有多个链,一种方法是改变其存取许可方式,这将同时修改所有链的存取许可;也可以Chmod000文件名,这不仅取消了文件的Suid和Sgid许可,同时也取消了文件的全部链。要想找到谁与自己Suid程序建立了链,不要立刻删除该程序,系统管理员可用Ncheck命令找到该程序的其他链。
18、智能终端的安全由于智能终端有Send Enter换码序列,因此告诉终端当前系统就像是用户敲入的一样。这是一种危险的能力,其他人可用Write命令发送信息给本用户终端。禁止其他用户发送信息的方法是使用Mesgn命令。Mesgn不允许其他用户发信息,Mesgy允许其他用户发信息。即使如此仍有换码序列的问题存在,任何一个用户用Mail命令发送同样一组换码序列,不同的要用!rm-r*替换rm-r*。
19、其他安全问题除了信任的用户外,不要运行其他用户的程序。在自己的Path中,将系统目录放在前面。用Ctrl+D或Exit退出后,在断开与系统的连接前看到login:提示后再离开,以免在用户没注销时他人进入。定时使用ls-a.命令列出当前目录中的全部文件,包括以“.”开头的文件,查看所有文件的存取许可方式和所有者。任何不属于自己的文件都应怀疑和追究。
20、以上这些是我作为Linux系统管理员对保持用户账户安全的一些建议。更重要的是要建立安全意识,了解用户。系统管理员越熟悉自己的用户和用户工作习惯源码天空
21、,就越能快速发现不寻常的事件,而不寻常的事件就意味着系统安全问题。避免用户账户不安全事故的最基本方法是预防和定期的安全检查,包括使用嗅探器。
三、Linux文件压缩和解压缩命令使用详解
在Linux系统中,我们通常使用的文件压缩命令有:bunzip2, bzip2, cpio, gunzip, gzip,split(切割文件), zgrep(在压缩文件中寻找匹配的正则表达式), zip,unzip, tar,rar。
最后四个是我比较常用的,今天的笔记就写这四个的好了。
tar命令:tar [选项...] [FILE]...
输入“tar-?”获取相关帮助信息,tar的帮助文档给出示例如下:
tar-cf archive.tar foo bar #从文件 foo和 bar创建归档文件archive.tar。
tar-tvf archive.tar #详细列举归档文件 archive.tar中的所有文件。
tar-xf archive.tar #展开归档文件 archive.tar中的所有文件。
如果是要压缩文件夹的话,输入:
tar-cvf dirArchive.tar/dirName
同样的,要将归档文件解压到特定文件夹的话,则是:
tar-xvf dirArchive.tar/dirName
下面复习一下。我们先人为做个文件夹出来,里面放置若干文件夹和文件:
我们首先创建一个tar文件,先压缩一个文件夹(testdir):
tar-cf testdir.tar testdir
然后列出该压缩包里的结构:
接着我们向这个压缩包追加文件:
当然了,上述单步操作没必要做了,压缩包里面已经有这个文件。
然后再看看这个压缩包里的结构:
如果使用示例中的-v选项,则会将压缩包里的文件属性全部列出。包括权限,创建人,字节大小,修改时间和文件名:
从tar压缩文件中解压并显示文件列表:
一般来说比较常用到的选项有主操作选项:
另外再练习一下其他的一些用法:
1、当压缩testdir目录的时候,需要将文件夹根路径内的test文件排除:
2、只压缩比指定时间更新的文件:
3、压缩所有文件名前缀为“te”的文件或文件夹(或者压缩后缀为“st”的文件):
最后补充一下常用的选项:
-p,--preserve-permissions,--same-permissions
保留解压文件权限信息(默认只为超级用户服务)
--preserve 与-p和-s一样
--same-owner 尝试解压时保持所有者关系一致(超级用户默认此项)
-r,--append 追加文件至归档结尾
-u,--update 仅追加比归档中副本更新的文件
-k,--keep-old-files 解压时不要替换存在的文件
不要替换比归档中副本更新的已存在的文件
--no-overwrite-dir 保留已存在目录的元数据
--overwrite 解压时重写存在的文件
解压时重写已存在目录的元数据(默认)
--recursive-unlink 解压目录之前先清除目录层次
--remove-files 在添加文件至归档后删除它们
-N,--newer=DATE-OR-FILE,--after-date=DATE-OR-FILE只保存比 DATE-OR-FILE更新的文件
rar command-switch 1-switch N archive files...@listfiles... path_to_extract/
Linux系统的默认软件包里是不包含rar压缩工具的,所以我们先安装rar:
sudo apt-get install rar
command选项只可以从给出的选项中输入一个(且只能一个),我们看一下它提供的命令列表:
使用举例,比如说现在我们要进行文件压缩:
在完成压缩之后,我们可以通过命令l获取压缩文件内具体的结构信息:
甚至可以通过命令p将压缩文件内的所有信息输出到控制台:
switch N部分则提供了一些功能性的选项。
比如说以追加性的方式更新压缩文件可选用-ad:
或者说想把某个文件排除在外可以选用开关-x(注意,要排除的串要紧跟在x后面,不用加任何符号),比如我们这里想要将文件夹根路径下凡是“te”开头的文件都排除:
还有加密,用开关-p,同样的,密码紧随p后面即可:
如果相对文件进行解压或者直接打开文件,就会要求你输入密码:
除此之外,还有一些常用的选项有:
ag[format] Generate archive name using the current date
cl Convert names to lower case
cu Convert names to upper case
df Delete files after archiving
ed Do not add empty directories
dw Wipe files after archiving
其他的命令和开关可参照帮助手册。
3、zip , unzip:
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
zip和unzip的使用方法是比较简单的,甚至连帮助文档都写得很简单,所以也就没什么笔记好写的了,直接看帮助文档即可。
功能说明:压缩文件。
语法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b工作目录][-ll][-n字尾字符串][-t日期时间][-压缩效率][压缩文件][文件...][-i范本样式][-x范本样式]
补充说明:zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有".zip"扩展名的压缩文件。
-A调整可执行的自动解压缩文件。
-b工作目录指定暂时存放文件的目录。
-c替每个被压缩的文件加上注释。
-d从压缩文件内删除指定的文件。
-D压缩文件内不建立目录名称。
-f此参数的效果和指定"-u"参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中。
-F尝试修复已损坏的压缩文件。
-g将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。
-i范本样式只压缩符合条件的文件。
-j只保存文件名称及其内容,而不存放任何目录名称。
-J删除压缩文件前面不必要的数据。
-k使用MS-DOS兼容格式的文件名称。
-l压缩文件时,把LF字符置换成LF+CR字符。
-ll压缩文件时,把LF+CR字符置换成LF字符。
-m将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。
-n字尾字符串不压缩具有特定字尾字符串的文件。
-o以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同。
-q不显示指令执行过程。
-r递归处理,将指定目录下的所有文件和子目录一并处理。
-S包含系统和隐藏文件。
-t日期时间把压缩文件的日期设成指定的日期。
-T检查备份文件内的每个文件是否正确无误。
-u更换较新的文件到压缩文件内。
-v显示指令执行过程或显示版本信息。
-V保存VMS操作系统的文件属性。
-w在文件名称里假如版本编号,本参数仅在VMS操作系统下有效。
-x范本样式压缩时排除符合条件的文件。
-X不保存额外的文件属性。
-y直接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX之类的系统下有效。
-z替压缩文件加上注释。
-$保存第一个被压缩文件所在磁盘的卷册名称。
-压缩效率压缩效率是一个介于1-9的数值。
linux unzip命令详解
功能说明:解压缩zip文件
语法:unzip [-cflptuvz][-agCjLMnoqsVX][-P密码][.zip文件][文件][-d目录][-x文件]或 unzip [-Z]
补充说明:unzip为.zip压缩文件的解压缩程序。
-c将解压缩的结果显示到屏幕上,并对字符做适当的转换。
-f更新现有的文件。
-l显示压缩文件内所包含的文件。
-p与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。
-t检查压缩文件是否正确。
-u与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。
-v执行是时显示详细的信息。
-z仅显示压缩文件的备注文字。
-a对文本文件进行必要的字符转换。
-b不要对文本文件进行字符转换。
-C压缩文件中的文件名称区分大小写。
-j不处理压缩文件中原有的目录路径。
-L将压缩文件中的全部文件名改为小写。
-M将输出结果送到more程序处理。
-n解压缩时不要覆盖原有的文件。
-o不必先询问用户,unzip执行后覆盖原有文件。
-P密码使用zip的密码选项。
-q执行时不显示任何信息。
-s将文件名中的空白字符转换为底线字符。
-V保留VMS的文件版本信息。
-X解压缩时同时回存文件原来的UID/GID。
[.zip文件]指定.zip压缩文件。
[文件]指定要处理.zip压缩文件中的哪些文件。
-d目录指定文件解压缩后所要存储的目录。
-x文件指定不要处理.zip压缩文件中的哪些文件。
-Z unzip-Z等于执行zipinfo指令
zip命令可以用来将文件压缩成为常用的zip格式。unzip命令则用来解压缩zip文件。
1.我想把一个文件abc.txt和一个目录dir1压缩成为yasuo.zip:
# zip-r yasuo.zip abc.txt dir1
2.我下载了一个yasuo.zip文件,想解压缩:
3.我当前目录下有abc1.zip,abc2.zip和abc3.zip,我想一起解压缩它们:
# unzip abc/?.zip
注释:?表示一个字符,如果用*表示任意多个字符。
4.我有一个很大的压缩文件large.zip,我不想解压缩,只想看看它里面有什么:
# unzip-v large.zip
5.我下载了一个压缩文件large.zip,想验证一下这个压缩文件是否下载完全了
# unzip-t large.zip
6.我用-v选项发现music.zip压缩文件里面有很多目录和子目录,并且子目录中其实都是歌曲mp3文件,我想把这些文件都下载到第一级目录,而不是一层一层建目录:
# unzip-j music.zip