Tar 命令使用

1. 打包指令:tar 前面讲解的 gzip、bzip2、xz 也能够针对目录进行压缩,但是是将目录内所有文件 分别 压缩的。而在 windows 下可以使用 winRAR 之类的压缩文件,将好多数据包成一个文件的样式。 这种将多个文件或目录包成一个大文件的指令功能,就可以称呼为 打包指令,tar 就是这样一个功能的打包指令,同时还可以通过压缩指令将该文件进行压缩。windows 中的 WinRAR 也支持 .tar.gz 的解压缩 tar 的选项与参数非常多,这里只接受几个常用的选项 打包与压缩:`tar [-z|-j|-J][cv][-f 待建立的文件名] filename` 观察文件: `tar [-z|-j|-J][tv][-f file.tar]` 解压缩: `tar [-z|-j|-J][xf][-f file.tar] [-C 目录]` 特别注意:`[-z|-j|-J]` 不可同时出现在一串指令中 特殊注意:c、t、x 也不可同时出现在一串指令中 选项与参数 c:建立打包文件,可搭配 -v来观察过程中被打包的文件名 t:查看打包文件的内容含有哪些文件,重点在查看文件名 x:接打包或解压缩的功能,可搭配 -C 在特定目录解开,特别注意 c、t、x 不能同时出现在一起 z:通过 gzip 的支持进行压缩、解压缩;此时文件名最好为 *.tar.gz j:通过 bzip2 的支持进行压缩、解压缩;此时文件名最好为 *.tar.bz2 J:通过 xz 的支持进行压缩、解压缩;此时文件名最好为 *.tar.xz v:在压缩、解压缩的过程中,将正在处理的文件名显示出来 f:后面要立刻接要被处理的文件名,建议 -f 单独写一个选项(不容易忘记) C:在指定目录解压缩 p:保留备份数据的原本权限与属性,常用语备份(-c)重要的配置文件 P:保留绝对路径,保留 root 跟路径 --exclude=FILE:在压缩过程中,排除指定的文件,不打包 最常用的是以下命令: 压 缩:tar -jcv -f filename.tar.bz2 要被压缩的文件或目录 查 询:tar -jtv -f filename.tar.bz2 解压缩:tar -jxv -f filename.tar.bz2 -C 指定目录解开 小提示:上面 -jcvf 可以写一起,但是阅读起来就没有上面这样分开好理解 ...

2022年10月6日 · 4 分钟 · Yancey

Openwrt opkg批量更新

opkg update && opkg list-upgradable | cut -d " " -f1 | xargs opkg upgrade

2022年10月5日 · 1 分钟 · Yancey

Linux Xargs 命令

如何使用xargs命令 语法: xargs [OPTIONS] [COMMAND [initial-arguments]] 举一个例子:我们用管道符传输到xargs,并为每个参数运行touch命令, -t表示在执行之前先打印,创建三个文件: [root@localhost ~]# echo "file1 file2 file3"|xargs -t touch touch file1 file2 file3 如何限制参数的数量 默认情况下,传递给命令的参数数量由系统限制决定。 -n选项指定要传递给命令的参数个数。xargs根据需要多次运行指定的命令,直到所有参数都用完为止。 下面例子指定每次传递一个参数: [root@localhost ~]# echo "file1 file2 file3"|xargs -n1 -t touch touch file1 touch file2 touch file3 如何运行多个命令 要使用xargs运行多个命令,请使用 -i或者 -I选项。在 -i或者 -I后面自定义一个传递参数符号,所有匹配的项都会替换为传递给xargs的参数。 下面例子时xargs运行两条命令,先touch创建文件,然后ls列出来: [root@localhost ~]# echo "file1 file2 file3"|xargs -t -I % sh -c 'touch %;ls -l %' sh -c touch file1 file2 file3;ls -l file1 file2 file3 -rw-r--r--. 1 root root 0 Jan 30 00:18 file1 -rw-r--r--. 1 root root 0 Jan 30 00:18 file2 -rw-r--r--. 1 root root 0 Jan 30 00:18 file3 如何指定一个分隔符 ...

2022年10月4日 · 2 分钟 · Yancey

Linux Cut 命令

Linux cut命令用于显示每行从开头算起 num1 到 num2 的文字。 语法 cut [-bn] [file] cut [-c] [file] cut [-df] [file] 使用说明: cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。 如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一。 参数: -b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。 -c :以字符为单位进行分割。 -d :自定义分隔符,默认为制表符。 -f :与-d一起使用,指定显示哪个区域。 -n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的 范围之内,该字符将被写出;否则,该字符将被排除 实例 当你执行who命令时,会输出类似如下的内容: $ who rocrocket :0 2009-01-08 11:07 rocrocket pts/0 2009-01-08 11:23 (:0.0) rocrocket pts/1 2009-01-08 14:15 (:0.0) 如果我们想提取每一行的第3个字节,就这样: $ who|cut -b 3 c c

2022年10月4日 · 1 分钟 · Yancey