This will find any regular file starting with the current directory and use /dev/urandom to overwrite that file. It will is the same size of the file (in blocks) as the file. Can't handle files with spaces or odd characters in the name (who does that anyway?)
new way to replace text file with dd,faster than head,sed,awk if you do this with big file Show Sample Output
Show running time. eta, progressbar Show Sample Output
This command dumps a mounted disk to an ISO image. (Use "mount" to get the mounted disk's name.) Make sure to un-mount the disk first.
Blocksize (bs) is not mandatory. It's only needed when the count option is specified.
The comp.unix.shell posting by St?phane Chazelas also lists the following offsets: type 32768 (1 byte) id 32769 (5 bytes) version 32774 (1 byte) system_id 32776 (32 bytes) volume_id 32808 (32 bytes) volume_space_size 32848 (8 bytes) escape_sequences 32856 (32 bytes) volume_set_size 32888 (4 bytes) volume_sequence_number 32892 (4 bytes) logical_block_size 32896 (4 bytes) path_table_size 32900 (8 bytes) type_l_path_table 32908 (4 bytes) opt_type_l_path_table 32912 (4 bytes) type_m_path_table 32916 (4 bytes) opt_type_m_path_table 32920 (4 bytes) root_directory_record 32924 (34 bytes) volume_set_id 32958 (128 bytes) publisher_id 33086 (128 bytes) preparer_id 33214 (128 bytes) application_id 33342 (128 bytes) copyright_file_id 33470 (37 bytes) abstract_file_id 33507 (37 bytes) bibliographic_file_id 33544 (37 bytes) creation_date 33581 (17 bytes) modification_date 33598 (17 bytes) expiration_date 33615 (17 bytes) effective_date 33632 (17 bytes) file_structure_version 33649 (1 byte) application_data 33651 (512 bytes)
MBR is first 512B in partions.
For DVD: dd if=/dev/cdrom of=cd.iso Show Sample Output
This is to overcome the issue of slow I/O by reading once and forwarding the output to several processes (e. g. 3 in the given command). One could also invoke grep or other programs to work on read data. Show Sample Output
I sometimes have use an usb stick to distribute files to several standalone "internet" pc's. I don't trust these machines period. The sticks I have do not have a write protection. So as a added security measure I fill the unused space on the (small) usb stick with a file with randomly generated bits. Any malware that tries to write to this stick will find no space on it. Tested on slackware 14 Note: you may need root access to write to the device. This depends on your mount options. Show Sample Output
This will write to TAPE (LTO3-4 in my case) a backup of files/folders. Could be changed to write to DVD/Blueray. Go to the directory where you want to write the output files : cd /bklogs Enter a name in bkname="Backup1", enter folders/files in tobk="/home /var/www". It will create a tar and write it to the tape drive on /dev/nst0. In the process, it will 1) generate a sha512 sum of the tar to $bkname.sha512; so you can validate that your data is intact 2) generate a filelist of the content of the tar with filesize to $bkname.lst 3) buffer the tar file to prevent shoe-shining the tape (I use 4GB for lto3(80mb/sec), 8gb for lto4 (120mb/sec), 3Tb usb3 disks support those speed, else I use 3x2tb raidz. 4) show buffer in/out speed and used space in the buffer 5) show progress bar with time approximation using pv ADD : To eject the tape : ; sleep 75; mt-st -f /dev/nst0 rewoffl TODO: 1) When using old tapes, if the buffer is full and the drive slows down, it means the tape is old and would need to be replaced instead of wiping it and recycling it for an other backup. Logging where and when it slows down could provide good information on the wear of the tape. I don't know how to get that information from the mbuffer output and to trigger a "This tape slowed down X times at Y1gb, Y2gb, Y3gb down to Zmb/s for a total of 30sec. It would be wise to replace this tape next time you want to write to it." 2) Fix filesize approximation 3) Save all the output to $bkname.log with progress update being new lines. (any one have an idea?) 4) Support spanning on multiple tape. 5) Replace tar format with something else (dar?); looking at xar right now (https://code.google.com/p/xar/), xml metadata could contain per file checksum, compression algorithm (bzip2, xv, gzip), gnupg encryption, thumbnail, videopreview, image EXIF... But that's an other project. TIP: 1) You can specify the width of the progressbar of pv. If its longer than the terminal, line refresh will be written to new lines. That way you can see if there was speed slowdown during writing. 2) Remove the v in tar argument cvf to prevent listing all files added to the archive. 3) You can get tarsum (http://www.guyrutenberg.com/2009/04/29/tarsum-02-a-read-only-version-of-tarsum/) and add >(tarsum --checksum sha256 > $bkname_list.sha256) after the tee to generate checksums of individual files !
By this command you can take the snapshot of you harddisk (full) and create the image , the image will be directly store on remote server through ssh. Here i am creating the image of /dev/hda and saving it at 4.2.2.2 as /root/server.img.
in case your openssl does not have zlib support: openssl:Error: 'zlib' is an invalid command.
Useful when you need to generate password or random hash string. If you need longer string adjust parameter for "head -c 20" Show Sample Output
Create a file with random binary content. Required pv, units packages. It use openssl to encrypt zeros using aes-256 and time stamp as password to generate a pseudo-random file. Show Sample Output
Due to @tremby, here: http://unix.stackexchange.com/a/172088/58343. I'm looking for a way to parallelize openssl and feed that to dd since openssl is the bottleneck on my machine: http://unix.stackexchange.com/questions/253466/parallelize-openssl-as-input-to-dd
1. Sends an email to announce the start of the command 2. Raw data copy of block device over ssh to a new host 3. Sends an email to announce the end of the command Make sure the lvm device at the other side exists and has the same amount of logical units.
commandlinefu.com is the place to record those command-line gems that you return to again and again. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on, discussed and voted up or down.
Every new command is wrapped in a tweet and posted to Twitter. Following the stream is a great way of staying abreast of the latest commands. For the more discerning, there are Twitter accounts for commands that get a minimum of 3 and 10 votes - that way only the great commands get tweeted.
» http://twitter.com/commandlinefu
» http://twitter.com/commandlinefu3
» http://twitter.com/commandlinefu10
Use your favourite RSS aggregator to stay in touch with the latest commands. There are feeds mirroring the 3 Twitter streams as well as for virtually every other subset (users, tags, functions,…):
Subscribe to the feed for: