Stop the Unix `tar` command from creating a full directory path on unpacking
我经常在Mac OS X上使用
LaunchBar是由键盘命令调用的应用程序启动程序。按命令空间(可配置),弹出一个小窗口。开始键入应用程序、文件、命令、shell脚本、applescript等的前几个字符,按回车键,然后调用该命令。
LaunchBar为您的所有文件创建一个索引,以便快速访问整个文件系统以及一些其他特定于应用程序的细节,例如:移动文件、复制文件、调整文件大小、播放歌曲、跳过歌曲、添加提醒/注释、谷歌搜索、与整个操作系统的紧密集成、附加文本,并且足够有趣的是,您可以创建
当我完成了一个项目后,我不再希望它出现在我的索引中——我可以打开索引,将该项目排除在LaunchBar中,这是可行的,但是LaunchBar试图隐藏自己和它的应用程序包(.app),甚至更难隐藏搜索索引管理器。足够频繁的操作和过多的精神内存开销,再加上在索引中定位文件是我经常做的事情,不能使过程自动化。
我已经养成了用
在
1 | tar cvfz"project.tgz""project"`; mv"project" ~/.Trash |
如果
我有一个脚本,可以找到所有超过2周的
我有一个多级备份系统。(现场和远程)我不会在LaunchBar索引/首选项中浪费大量时间-LaunchBar的索引经常更改,手动排除已完成的项目是不可行的。LaunchBar的优势在于它能够非常快速地从索引中添加和删除内容,所有这些都需要占用3MB以下的内存。
问题/问题当我打开一个
打开我看到的那个目录
1 | /Volumes/drive-name/Users/me/Documents/Jobs/GitHub/In-Progress/Project-Name/cats/all-my-cats-files. |
除了父目录之外,每个目录都是空的,否则
好像有一个:
1 | mkdir -P /Volumes/drive-name/Users/me/Documents/Jobs/GitHub/In-Progress/Project-Name/cats |
…在
在我多年来打开的数千个
我可以看到,在您希望以特定方式解包存档以维护目录路径结构的情况下,这很方便——也许对于项目中使用的文件,某些文件和目录可能需要位于特定位置。例如:项目代码中的调用可以找到~/bin/some命令,但是无论根目录是什么,路径都是错误的(/)现在只是我的"进行中"目录中目录内的一个目录。
结语与结语我缺旗了吗?我的
- 这是Markdown(.md)中极少数的冒险之一,出于某种原因……可能是我在移动设备上键入的,我看不到Markdown->Rendered HTML显示的预览。
难住了…有没有经常使用
Mac OS X和GNU tar:
解压缩/解包时删除主要目录级别(及其内容):
1 | tar --strip-components=10 -xvzf"project.tgz" |
我想我知道了,你需要把
1 2 3 4 5 6 7 8 9 10 11 | #!/bin/sh if [ $# -eq 1 ]; then dirname=`dirname"$1"` filename=`basename"$1"` cd"$dirname" tar -czf"$filename".tar.gz"$filename" echo $dirname/$filename.tar.gz fi |