ByteCopy , or BCP, intends to copy files accurately (down to the bytes) in a simple , safe and efficient manner.

Overview

ByteCopy v3.6

About

ByteCopy , or BCP, intends to copy files accurately (down to the bytes) in a simple , safe and efficient manner.

It's functionality , but not implementation, overlaps with that of dd , and this is by design.

dd uses low-level system calls , non-standard C, has elaborate, (tiresome ?) syntax, and is notorious for failing in mysterious or dangerous ways in inexperienced hands. This is not a defect per se; dd is an advanced and very precise tool. It was originally written in the times of tape drives, which is also perhaps the reason for some of its peculiarities.

However, dd has become the default for doing everyday tasks : backups of files, disks, flashing ISOs, etc - sometimes causing serious issues for casual users. In such cases, bcp functions alike dd , with the simple syntax of cp , and is much easier to troubleshoot and understand - while also keeping up with dd's speed by < 1 second and being more reliable, easier to casually use and port to any OS/platform. BCP displays progress by default, asks before overwriting, etc.

BCP does NOT replace or clone dd in the least - dd is it's own low-level, advanced utility, and is certainly the go-to for advanced control over the copying; BCP is for the other 90% of the time :)

Usage

If you can use cp , you can use BCP !

Usage : bcp [source file] [destination file (optional)] [overwrite ? (y/n) (optional)]

So, BCP must be given at least one argument , the name of the source file.

If given no other arguments, bcp will copy to stdout, meaning you can redirect this further to other programs.

If given another argument, the second argument is treated as the name of the destination file, and the third (if given) is treated as permission for overwriting : this can be "y" or "yes" to confirm or "n" or "no" to deny. If an output file is given but overwrite permissions are not, BCP will ask you explicitly before overwriting.

NOTES :

If this destination file does not exist, it is created.

BCP will treat arguments exactly in the order specified above.

Any arguments beyond the first three, and the third if invalid, are ignored automatically.

Examples :

bcp ~/.zshrc  /mnt/backups/zhrc.bak
	
bcp /dev/sda | gzip > drive.bak
	
bcp settings.json D:\backups\settings.json
You can #include bcp.h + compile bcp.cto incorporate BCP functionality in your own C code ! In fact, our main.c is just ~ 60 lines long !
Owner
A.P. Jo.
Hobbyist programmer in C & Python.
A.P. Jo.
A top-down shooter made for the raylib 5K gamejam.

ANTISPELL Description A top-down shooter where you have to use your enemies' attacks to spell your spells! Features Absorb letters getting close to en

Francisco Javier Andrés Casas Barrientos 3 Apr 9, 2022
simple and efficient screen recording utility for Windows

wcap Simple and efficient screen recording utility for Windows. Get latest binary here: wcap.exe press Ctrl + PrintScreen to start recording monitor (

Mārtiņš Možeiko 426 Jul 28, 2022
Minimal, type safe printf replacement library for C++

tinyformat.h A minimal type safe printf() replacement tinyformat.h is a type safe printf replacement library in a single C++ header file. If you've ev

Chris Foster 463 Jul 19, 2022
libnpy is a simple C++ library for reading and writing of numpy's .npy files.

C++ library for reading and writing of numpy's .npy files

Leon Merten Lohse 164 Aug 3, 2022
Libelf is a simple library to read ELF files

libelf Libelf is a simple library which provides functions to read ELF files. Headers #include <stdint.h> #include <elf.h> Structures typedef struct

David du Colombier 43 Jun 25, 2022
A shebang-friendly script for "interpreting" single C99, C11, and C++ files, including rcfile support.

c99sh Basic Idea Control Files Shebang Tricks C++ C11 Credits Basic Idea A shebang-friendly script for "interpreting" single C99, C11, and C++ files,

Rhys Ulerich 101 Jul 29, 2022
A tool for use with clang to analyze #includes in C and C++ source files

Include What You Use For more in-depth documentation, see docs. Instructions for Users "Include what you use" means this: for every symbol (type, func

null 2.9k Aug 1, 2022
This is a collection of tools for creating and manipulating BitTorrent v2 torrent files

torrent tools This is a collection of tools for creating and manipulating BitTorrent v2 torrent files. torrent-new can create hybrid torrents, but the

Arvid Norberg 8 Jun 1, 2022
RapidObj is an easy-to-use, single-header C++17 library that loads and parses Wavefront .obj files.

RapidObj About Integration Prerequisites Manual Integration CMake Integration API RapidObj Result Next Steps OS Support Third Party Tools and Resource

Slobodan Pavlic 77 Aug 4, 2022
Cobalt Strike BOF Files with Nim!

BOF-Nim oh yeah baby I have an inkling it's possible, right now the problem seems to be getting the go function to be present in the Symbol table. No

byt3bl33d3r 63 Jul 28, 2022
A tool to edit Cyberpunk 2077 sav.dat files

This is a holidays project and will probably not reach the user-friendly GUI state that a save editor is expected to have.

null 258 Jul 21, 2022
Load Aseprite files for animated sprites in raylib.

raylib-aseprite Load Aseprite .aseprite files for animated sprites in raylib. Features Load Aseprite files directly for use in raylib Draw individual

Rob Loach 25 Jul 27, 2022
Disassembling .class files

jvmdisassembler Contribution You can contribute by creating an issue or pull request. Please keep the code clean and readable. All contributed code mu

Jonas 6 Jun 20, 2022
Atomically exchange two files in Linux

Atomically exchange two files in Linux.

David Pape 9 May 28, 2022
A combined suite of utilities for manipulating binary data files.

BinaryTools A combined suite of utilities for manipulating binary data files. It was developed for use on Windows but might compile on other systems.

David Walters 4 Jul 12, 2022
A tool for Pikmin 1 model files

MODConv A Pikmin 1 model format converter Functionality NOTE: these are not command-line parameters, the program has a built-in input parser load (inp

null 4 Oct 20, 2021
Authenticode Hash Calculator for PE32/PE32+ files

AuthHashCalc Authenticode Hash Calculator for PE32/PE32+ files System Requirements x86/x64 Windows 7/8/8.1/10/11 Administrative privilges are not requ

null 58 Jul 27, 2022
zsh module for automatically compiling sourced files

Zinit Module Motivation The module is a binary Zsh module (think about zmodload Zsh command, it's that topic) which transparently and automatically co

zdharma-continuum 10 Jul 8, 2022
Simple and lightweight pathname parser for C. This module helps to parse dirname, basename, filename and file extension .

Path Module For C File name and extension parsing functionality are removed because it's difficult to distinguish between a hidden dir (ex: .git) and

Prajwal Chapagain 3 Feb 25, 2022