I've been using debian since
potato, now mainly use
I'm using awesome window manager now.
My setup is on github: usrjim/env
debian 6 squeeze
build mongodb extension for PHP under Debian 6 squeeze
$ apt-get install php5-dev build-essential php-pear $ pecl install mongo
install / uninstall services
$ update-rc.d service-name defaults $ update-rc.d -f service-name remove
list one level dir by size
$ du -k --max-depth=1|sort -nr|more
$ convert original.jpg -resize 640x640 resized.jpg
find file in a folder
$ find -maxdepth x|grep 'name'
$ import screenshot.png
paste to terminal
get file full path
$ find `pwd` -name the_file
tar and ssh file
$ tar cf - dir | ssh remote_host "(cd dir2; tar xf -)"
| h | help | |---------+-----------------------------------| | f | fields | | V | forest view | | H | threads | | R | sort | |---------+-----------------------------------| | i | toggle idle task | |---------+-----------------------------------| | L | locate string | | & | find again | | > and < | move sort column | |---------+-----------------------------------| | x | toggle highlight for sort field | | y | toggle highlight for running task | | z | toggle color | | B | toggle bold | |---------+-----------------------------------| | A | alternative display | | a | move to next field group | | w | move to previous field group | | g | enter field group | |---------+-----------------------------------| | k | kill a pid |
display non-idle with one frame:
top -ibn 1
ps sort by cpu:
ps aux --sort c
show memory usage in detail:
pmap -x [pid]
lolcat: a colorful cat
about acl on ubuntu, FilePermissionsACLs, a quick note:
copy acl from one dir to another:
getfacl dir1 | setfacl -b -n -M - dir2
Output from getfacl is accepted as input for
-ndo not recalculate effective rights mask,
-read from stdin.
check permission recursively:
to check permission on file/dir:
sudo -u user stat /path/to/dir/or/file
to check write permission:
sudo -u user test -w /path/to/dir/or/file; echo $?
sudo -u user test -w /path/to/dir/or/file && echo "ok" || echo "not ok"
check read and execute permission use
tmux, to highlight the active pane, can set both fg and bg color, which will show as a bold line for the active pane:
set-option -g pane-active-border-fg red set-option -g pane-active-border-bg red
to test I created a 3G disk from virtualbox, and resize it to 1G.
$ fdisk -l $ fdisk -c -u /dev/sdb here: n -> p -> 1 t -> 8e p w $ pvs $ pvcreate /dev/sdb1 $ vgs $ vgcreate -s 32M sitedata /dev/sdb1 $ vgdisplay sitedata (get PE) $ lvs $ lvcreate -l 95 -n sitephotos sitedata $ mkfs.ext4 /dev/sitedata/sitephotos $ mount /dev/sitedata/sitephotos /opt/sitephotos $ df -h
$ umount /opt/sitephotos $ e2fsck -ff /dev/sitedata/sitephotos $ resize2fs /dev/sitedata/sitephotos 1G $ lvreduce -L -2G /dev/sitedata/sitephotos $ mount /dev/sitedata/sitephotos /opt/sitephotos
create from free space
$ vgdisplay sitedata (get PE) $ lvcreate -l 64 -n sitedoc sitedata $ mount /dev/sitedata/sitedoc /opt/sitedoc $ df -h
find modified files during an installation:
$ touch /tmp/afile $ find /etc -newer /tmp/afile
can check accessed too:
$ find /etc -anewer /tmp/afile
to find between custom peroid:
$ touch -t 200712021345.00 /tmp/file1 $ touch -t 200712040130.00 /tmp/file2 $ find /etc -newer /tmp/file1 -a ! -newer /tmp/file2
iTerm, set profile
keys option to
Command Editing Shortcuts
| Ctrl + a | go to the start of the command line | | Ctrl + e | go to the end of the command line | | Ctrl + k | delete from cursor to the end of the command line | | Ctrl + u | delete from cursor to the start of the command line | | Ctrl + w | delete from cursor to start of word (i.e. delete backwards one word) | | Ctrl + y | paste word or text that was cut using one of the deletion shortcuts (such as the one above) after the cursor | | Ctrl + xx | move between start of command line and current cursor position (and back again) | | Alt + b | move backward one word (or go to start of word the cursor is currently on) | | Alt + f | move forward one word (or go to end of word the cursor is currently on) | | Alt + d | delete to end of word starting at cursor (whole word if cursor is at the beginning of word) | | Alt + c | capitalize to end of word starting at cursor (whole word if cursor is at the beginning of word) | | Alt + u | make uppercase from cursor to end of word | | Alt + l | make lowercase from cursor to end of word | | Alt + t | swap current word with previous | | Ctrl + f | move forward one character | | Ctrl + b | move backward one character | | Ctrl + d | delete character under the cursor | | Ctrl + h | delete character before the cursor | | Ctrl + t | swap character under cursor with the previous one | | Ctrl + _ | undo |
Command Recall Shortcuts
| Ctrl + r | search the history backwards | | Ctrl + g | escape from history searching mode | | Ctrl + p | previous command in history (i.e. walk back through the command history) | | Ctrl + n | next command in history (i.e. walk forward through the command history) | | Alt + . | use the last word of the previous command |
Command Control Shortcuts
| Ctrl + l | clear the screen | | Ctrl + s | stops the output to the screen (for long running verbose command) | | Ctrl + q | allow output to the screen (if previously stopped using command above) | | Ctrl + c | terminate the command | | Ctrl + z | suspend/stop the command |
Bash Bang (!) Commands
Bash also has some handy features that use the ! (bang) to allow you to do some funky stuff with bash commands.
| !! | run last command | | !blah | run the most recent command that starts with ‘blah’ (e.g. !ls) | | !blah:p | print out the command that !blah would run (also adds it as the latest command in the command history) | | !$ | the last word of the previous command (same as Alt + .) | | !$:p | print out the word that !$ would substitute | | !* | the previous command except for the last word (e.g. if you type ‘find some_file.txt /‘, then !* would give you ‘find some_file.txt‘) | | !*:p | print out what !* would substitute |