我知道这些不是要传递给 tar 命令的额外标志,它们不只是要添加到存档中的文件名吗?
我正在尝试按照本教程下载内容。但是当我使用教程中的以下代码时:
curl https://start.spring.io/starter.tgz -d style=web -d name=simple | tar -xzvf
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
tar: option requires an argument -- 'f'
Run Code Online (Sandbox Code Playgroud)
如何解决此错误以成功从链接下载内容?
以下是 CentOS 7 上的完整终端输出:
[user@localhost ui]$ curl https://start.spring.io/starter.tgz -d style=web -d name=simple | tar -xzvf
tar: option requires an argument -- 'f'
Try `tar --help' or `tar --usage' for more information.
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
10 49930 9 4976 100 21 6989 29 0:00:07 --:--:-- 0:00:07 6988 …Run Code Online (Sandbox Code Playgroud) 我的目录结构如下:
/home/workspace/build/
Run Code Online (Sandbox Code Playgroud)
/home/workspace/js/jai.1.js
/home/workspace/js/jai.2.js
/home/workspace/js/jai.3.js
/home/workspace/js/jai.4.js
Run Code Online (Sandbox Code Playgroud)
我想焦油所有的js文件,其前缀是JAI是在/home/workspace/js/目录/home/workspace/build/目录。
假设创建的 tar 文件名为bundle.tar.gz
所以 bundle.tar.gz应该包含以下文件
jai.1.js
jai.2.js
jai.3.js
jai.4.js
Run Code Online (Sandbox Code Playgroud)
我想使用tar命令来实现这一点,而不是将文件复制到目的地,然后对其进行 tar 处理。
编辑
我想从destination目录中解压缩它,即/home/workspace/build/
这就是现在所拥有的:
find /home/a -mtime -1 -type f -print0 | xargs -0 tar -pcf $file01| tee -a $LOGFILE 2>&1
Run Code Online (Sandbox Code Playgroud)
我明白什么tar -cf是但什么是tar -pcf?
我myVar在 bash 中有一个变量,其中包含一个长字符串,如下所示:
-rw-rw-rw- root/root 16 2018-02-12 10:03 foo_tar/baz1234_
Run Code Online (Sandbox Code Playgroud)
我想删除myVar最后一个斜杠(包括最后一个斜杠)之前的所有内容,这样myVar最终只存储baz1234_. 如何删除所有内容并将结果存储在变量中?
我遇到过处理 sed 的解决方案,但那些解决文件处理的问题,因此我的问题。
Internet 上的资源都是关于如何从源代码构建 rpm 文件的。
但我已经编译了软件的二进制 tarball。但我不想直接提取到/,因为这样很难维护。如何从二进制 tarball 构建 rpm 包。
有一系列著名的软件以 tarball 的形式提供了二进制包,其具有清晰的树形结构,与根目录中的树形结构相同。
等等。
许多软件提供商都发布了通用 tarball 以使软件在不同的 Linux 发行版中通用。
有什么必要的方法吗?
我正在尝试 tar 整个目录,除了一些子目录..
目录my-base-dir被压缩,但排除的目录/文件也包括在内?
tar -cf my-base-dir/bak/site/site.tar my-base-dir --exclude=my-base-dir/bak/db/* --exclude=my-base-dir/bak/site/*
Run Code Online (Sandbox Code Playgroud)
排除的路径相对于当前工作目录是正确的。因为输出 tar 文件放在其中之一
我想备份我的全新电脑的整个驱动器。
我尝试了这个命令:
sudo tar -czvf disk.tar /dev/nvme0n1
Run Code Online (Sandbox Code Playgroud)
但1秒后就结束了。
存档中的 nvme0n1 文件为 0 字节。
这里有什么问题吗?
编辑:
我之前总是在分区上运行此命令,因此我没有(已删除的)文件:
dd if=/dev/zero of=moh bs=100M
rm moh
Run Code Online (Sandbox Code Playgroud) 我试图从整个 tar.gz 中提取一个文件,但它不起作用。以下是我试图模拟问题的命令
mkdir test
touch test/version.txt
echo "1.0.2" > test/version.txt
tar zcvf rootfs.tar -C test .
gzip -f -9 -n -c rootfs.tar > rootfs.tar.gz
tar xf rootfs.tar.gz version.txt
tar: version.txt: Not found in archive
tar: Exiting with failure status due to previous errors
Run Code Online (Sandbox Code Playgroud)
你能提供原因吗,上面的tar.gz中有version.txt文件
我有一个tgz具有以下文件结构的文件
- folder
- subdir1
- file1.txt
- file2.text
- subdir2
- file1.txt
Run Code Online (Sandbox Code Playgroud)
当我运行时tar -tf folder.tgz,它输出以下内容:
folder/
folder/subdir1/
folder/subdir1/file1.txt
folder/subdir1/file2.txt
folder/subdir2/
folder/subdir2/file1.txt
Run Code Online (Sandbox Code Playgroud)
如何排除目录名称,以便输出列表为:
folder/subdir1/file1.txt
folder/subdir1/file2.txt
folder/subdir2/file1.txt
Run Code Online (Sandbox Code Playgroud)