Warning: Command line utilities tend to be simple but very powerful i.e. typing incorrect commands (especially the directions of < and > below) can result in your source drive being wiped out – suggest to back up important files before proceeding. Proceed with instructions below at your own risk.

Do following in an OS X terminal

1) Determine source/destination drives/disks;

mount

2) Unmount partition

diskutil unmount /Volume/XXXXXXX

3) Clone/image partition to file (assumes /dev/disk1s2 is source). Note: this can take some time depending on read/write speeds of drives;

sudo su -i
cat /dev/disk1s2|gzip -c9 > ./filename.cat.gz

4) Restore image to partition (assumes /dev/disk1s2 is destination and drive is unmounted). Note: this can take some time depending on write speeds of drives;

sudo su -i
gzcat ./filename.cat.gz > /dev/disk1s2

Above was tested using in OS X 10.12. You may get “unexpected end of file” / “uncompress failed” errors but nevertheless the commands work.

Warning: Linux utilities tend to be simple but very powerful i.e. typing incorrect commands (especially the directions of < and > below) can result in your source drive being wiped out – suggest to back up important files before proceeding. Proceed with instructions below at your own risk.

1) Install pv;


sudo apt-get install pv

2) Determine source/destination drives/disks;


sudo parted

Enter print all in the parted command line then look for /dev/sda, /dev/sdb etc. and associated partition descriptions to determine source/destination drives/disks.

3) Start the actual cloning/imaging (assumes /dev/sda is source and /dev/sdc is destination);


sudo su
pv < /dev/sda > /dev/sdc

4) Install new drive then use linux gparted utility to extend partition sizes.

Above was tested using an Ubuntu 14.04 LiveUSB with an internal source drive containing a Windows 10 and an Ubuntu 14.04 partition. Windows did report a strange error during initial boot after new drive was installed but sorted itself after restarting. No issues found booting into the Ubuntu partition.

SED examples

Posted: April 15, 2016 in Linux
Tags:

sed -i '/^#/d' vendor/broadcom/hammerhead/device-partial.mk #remove all lines beginning with #

sed -i '1,2d' vendor/broadcom/hammerhead/device-partial.mk #delete 1st 2 lines

sed -i 's_:broadcom \\_ _g' vendor/broadcom/hammerhead/device-partial.mk #replace :broadcom \ with a space

sed -i 's_:system_ system_g' vendor/broadcom/hammerhead/device-partial.mk #replace :system with system

sed -i 's_ vendor/_install -D -m 644 vendor/_g' vendor/broadcom/hammerhead/device-partial.mk #replace vendor/ with install -D -m 644 vendor/

sed '1 i\#!/bin/bash' vendor/broadcom/hammerhead/device-partial.mk #add #!/bin/bash to 1st line

Android phones may already have a terminal emulator app installed by default (otherwise install a terminal emulator app from the Google Play store) then do the following;

tar czvf - inputfilename |split -b 5M - outputfilename.tar.gz.

Resulting filenames will be outputfilename.tar.gz.aa, outputfilename.tar.gz.ab, outputfilename.tar.gz.ac etc.

inputfilename can be a file or folder, 5M in above example splits files into 5MB sizes.

To extract/recombine;

cat outputfilename* |tar xzvf -

Credits to StackExchange

Linux curl command usage example

Posted: September 2, 2015 in Linux
Tags:

Enter the following into any Terminal window to begin/continue downloading a file from most webservers.

curl -C - -O http://filename

Credits to TheGeekStuff

Try the following if you just flashed a brand new custom ROM and experienced subject error when trying to install a side loaded .apk.

Credits to Jani-

Enter the following into any Terminal Emulator app from the Google Play Store.

strings /system/lib/libeffects.so|grep -i gcc

Credits to BelzIgoh