Initial commit

master
Felix Stupp 4 years ago
commit 8bddb1989c
Signed by: zocker
GPG Key ID: 93E1BD26F6B02FB7

@ -0,0 +1,13 @@
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. You just DO WHAT THE FUCK YOU WANT TO.

@ -0,0 +1,109 @@
# cptar Plugin for ZSH
This plugin adds the command `cptar` which allows copy directories using `tar`.
Using two `tar` processes can be faster if copying to a different hard drive than using `cp`,
because `cp` reads and writes file per file,
but the two `tar` processes try to read and write simultaneously.
`pv` adds a cache between both processes to optimize speed
and shows you how fast the process is progressing.
Because estimating the time left requires measuring the size of the source files,
this feature is not built in to speed up the process.
## Repository clones
The original repository will be stored on [GitHub](https://github.com/Zocker1999NET/zsh-cptar).
You can use the original reopsitory if you want to use GitHub.
Also issues and pull requests will be collected there for convenience.
This repository will be cloned to my own server.
You can use the [clone](https://git.banananet.work/zsh-plugins/cptar) instead of this repository
if you want to avoid use GitHub.
## Installation
### Prerequisites
- `mkdir`
- `pv`
- `tar`
### zsh (without plugin support)
1. Clone project
2. Add following line to your `.zshrc`:
```sh
SOURCE "path/to/repo/cptar.plugin.zsh"
```
### oh-my-zsh
1. Clone project into `~/.oh-my-zsh/custom/plugins/cptar`
2. Add `cptar` to your plugin list
```sh
plugins=(… cptar …)
```
### Antigen
1. Add following line to your `.zshrc`:
```sh
antigen bundle Zocker1999NET/zsh-cptar # GitHub if default repository unchanged
antigen bundle https://git.banananet.work/zsh-plugins/cptar # Own Server
```
or
1. Add the repository to your plugin list
```sh
antigen bundles <<EOBUNDLES
Zocker1999NET/zsh-cptar # GitHub if default repository unchanged
https://git.banananet.work/zsh-plugins/cptar # Own Server
EOBUNDLES
```
### Antibody
1. Add following line to your `.zshrc`:
```sh
antibody bundle Zocker1999NET/zsh-cptar # GitHub if default repository unchanged
antibody bundle https://git.banananet.work/zsh-plugins/cptar # Own Server
```
or
1. Add the repository to your plugin list
```sh
antibody bundles <<EOBUNDLES
Zocker1999NET/zsh-cptar # GitHub if default repository unchanged
https://git.banananet.work/zsh-plugins/cptar # Own Server
EOBUNDLES
```
## Usage
Calling `cptar SOURCE DEST` copies the directory *source* with contents to the path *dest*.
If required, a directory *DEST* will be created along required parent directories.
If *DEST* exists but is not a directory, the command will fail.
The contents of *SOURCE* will be copied into the directory *DEST*,
so ensure *DEST* is empty, does not exist or you want to merge the contents of *SOURCE* and *dest* in *dest*.
## License
This plugin is licensed under WTFPL.
Do the fuck you want to with this plugin,
but please contribute to this plugin if you have made any improvements which could be useful for others.
## Contribute
If you find any issue, report it
or fix it yourself and create a pull request.
## Idea
The code for the command `yta` was taken originally from the [mpv Arch Wiki page](https://wiki.archlinux.org/index.php/Mpv#youtube-dl_audio_with_search).
Further the command `yt` was added and the commands can now be imported by others easily.

@ -0,0 +1,4 @@
function cptar() {
mkdir -p "$2" &&
(tar -C "$1" -cf - .) | pv -trab --buffer-size 100M | (tar -C "$2" -xf - .)
}
Loading…
Cancel
Save