Check These Out
This should handle whitespaces well and will not get confused if your filenames have "?" in them
Sometimes when copying files from one place to another, the timestamps get lost. Maybe you forgot to add a flag to preserve timestamps in your copy command. You're sure the files are exactly the same in both locations, but the timestamps of the files in the new home are wrong and you need them to match the source.
Using this command, you will get a shell script (/tmp/retime.sh) than you can move to the new location and just execute - it will change the timestamps on all the files and directories to their previous values. Make sure you're in the right directory when you launch it, otherwise all the touch commands will create new zero-length files with those names. Since find's output includes "." it will also change the timestamp of the current directory.
Ideally rsync would be the way to handle this - since it only sends changes by default, there would be relatively little network traffic resulting. But rsync has to read the entire file contents on both sides to be sure no bytes have changed, potentially causing a huge amount of local disk I/O on each side. This could be a problem if your files are large. My approach avoids all the comparison I/O. I've seen comments that rsync with the "--size-only" and "--times" options should do this also, but it didn't seem to do what I wanted in my test. With my approach you can review/edit the output commands before running them, so you can tell exactly what will happen.
The "tee" command both displays the output on the screen for your review, AND saves it to the file /tmp/retime.sh.
Credit: got this idea from Stone's answer at http://serverfault.com/questions/344731/rsync-copying-over-timestamps-only?rq=1, and combined it into one line.
Usage: flight_status airline_code flight_number (optional)_offset_of_departure_date_from_today
So for instance, to track a flight which departed yesterday, the optional 3rd parameter should have a value of -1.
eg.
flight_status ua 3655 -1
output
---------
Status: Arrived
Departure: San Francisco, CA (SFO)
Scheduled: 6:30 AM, Jan 3
Takeoff: 7:18 AM, Jan 3
Term-Gate: Term 1 - 32A
Arrival: Newark, NJ (EWR)
Scheduled: 2:55 PM, Jan 3
At Gate: 3:42 PM, Jan 3
Term-Gate: Term C - C131
Note:
html2text needs to be installed for this command. only tested on ubuntu 9.10
Alias a single character 'b' to move to parent directory. Put it into your .bashrc or .profile file.
Using "cd .." is one of the most repetitive sequence of characters you'll in the command line. Bring it down to two keys 'b' and 'enter'.
It stands for "back"
Also useful to have multiple:
alias b='cd ../'
alias bb='cd ../../'
alias bbb='cd ../../../'
alias bbbb='cd ../../../../'
Shows all block devices in a tree with descruptions of what they are.
This will remove all blank lines and lines that start with # to use for commented ines (irrespective of where the # starts in the line).
Should run on any system with ssh installed.
Replace (as opposed to insert) hex opcodes, data, breakpoints, etc. without opening a hex editor.
HEXBYTES contains the hex you want to inject in ascii form (e.g. 31c0)
OFFSET is the hex offset (e.g. 49cf) into the binary FILE
The $(!!) will expand to the previous command output (by re-running the command), which becomes the parameter of the new command newcommand.