====== Useful Linux Utilities ====== * [[gpg]] options ===== Useful tools with hard to remember names ===== * ''scrot -s'' -- takes screenshots of an area * generates passwords: - ''apg -a 1 -m 6 -x 6'' - ''pwgen'' * ''figlet foo'' -- creates an ASCII art formatted text ===== Mrxvt ===== [[http://materm.sourceforge.net/index.html|Mrxvt]] is a multitabbed terminal emulator based on RXVT. It doesn't require any heavy libraries like QT or GTK so it's ideal for a low powered laptop machine. Place this into your ''~/.Xdefaults'' file for some nicer defaults. mrxvt.font: 9x15 mrxvt.geometry: 100x30 mrxvt.reverseVideo: True mrxvt.loginShell: True mrxvt.scrollbarRight: True mrxvt.scrollbarStyle: rxvt mrxvt.bottomTabbar: True mrxvt.saveLines: 1500 mrxvt.visualBell: True Mrxvt.macro.Shift+Left: GotoTab -1 Mrxvt.macro.Shift+Right: GotoTab +1 Some tips: * Change tab with ''Shift+Right'' and ''Shift+Left'' * Open a new tab with ''Shift+Ctrl+t'' * Change the title of a tab by marking some text and middle click the tab's name * Open multiple tabs at startup with ''-tnum #'' in command-line args ===== SSH Port forwarding ===== Forward the webserver (port 127.0.0.1:80) at remote.host to your local machine (port 8080) and allow open this port (8080) on all local interfaces (-g): $> ssh user@remote.host -L 8080:127.0.0.1:80 -N -g ===== File Transfer through existing SSH connection ===== Have you ever been logged into a machine (maybe even over multiple hosts) and then needed a file from you local host on that machine? Using a second connection with scp is a pain in the a** especially with multiple hops. The solution is [[http://zssh.sourceforge.net/|zssh]] - a wrapper around SSH and the zmodem protocol. On you local machine just install it (''apt-get install zssh'' is your friend) and probably add the following to your ''~/.bashrc'' alias ssh=zssh When you are on the remote machine just press ''CTRL-Space'' to go into interactive mode (very much like FTP). To send a file use this: sz -e The ''-e'' option works around non 8-Bit clean terminals. You only need the ''lrzsz'' and ''ssh'' packages installed on the remote machine. ===== vmstat ===== Gives you some info about memory stats, IO and CPU states. Give sample rate in seconds as parameter. #> vmstat 3 ===== dig ===== This is a powerful replacement for ''nslookup'' Doing a zone transfer if allowed: $> dig @nameserver domain.tld axfr ===== Unlocking a CD Writer with cdrdao ===== If a write failes the writer stays inaccessable sometimes - giving an error like this: logical unit not ready, long write in progress Resetting the SCSI or ATAPI bus doesn't help. The tool cdrdao has an option to reset the device properly: #> cdrdao unlock ===== Copy an audio CD with cdrdao ===== Will use the recorder for reading and writing: #> cdrdao copy --device 0,0,0 --driver generic-mmc --datafile /exchange/cd.img --eject ===== Burn an ISO Image with cdrecord ===== #> cdrecord -v dev=0,0,0 speed=16 driveropts=burnfree image.iso ===== VIM Setup in source file ===== You can embed Setup Commands for VIM in the source file. Here is an example for a Shell Script: #Setup VIM: ex: et ts=2 nowrap syntax=sh : ===== pgrep and pkill ===== From the [[man>pgrep|manpage]]: > pgrep looks through the currently running processes and lists the process IDs which matches the selection criteria to stdout. All the criteria have to match. For example, ''pgrep -u root sshd'' will only list the processes called sshd AND owned by root. On the other hand, ''pgrep -u root,daemon'' will list the processes owned by root OR daemon. > > pkill will send the specified signal (by default SIGTERM) to each process instead of listing them on stdout. This is a nice replacement for constructions like ''%%kill `ps ax|grep 'foo'|grep -v 'grep'|awk '{print $1}'`%%'' ===== nast ===== Sweet Network Analyzer (http://nast.berlios.de/) or just install the Debian Packages. I like the ''-m'' (map LAN via ARP requests) and the ''-g'' (find a gateway host) switches most. ===== iostat I/O Device Usage Informations ===== This command-line tool is within the ''sysstat''-package and provides information about the cpu load/usage and/or about basically any device in /dev/. usage: iostat [device [device2..]] [refrehrate in sec] [repeats] refrehsrate defaults to 0, means no repeats at all. repeat defaults to infinite. ===== iptraf Network Load Informations ===== This command-line tool displays package information and Usage of several network interfaces. It has a console-graphical interface and serveral configuration options. See man-page. ===== httrack Website Copier ===== To fetch a whole site use this command: $> httrack -K0 -%q0 --keep-alive --urlhack -D http://www.example.com ===== mplayer / mencoder ===== This gives you the suggested crop parameters: $> mplayer -vf cropdetect somemovie.avi This concats two avi files $> cat part1.avi part2.avi| mencoder -noidx -ovc copy -oac copy -o output.avi - For rotating MJPEG movies as produced by the [[PowerShot S2 IS]]. This is not completely lossless but the best way I could find: $> mencoder -vf rotate=2 -ovc lavc -lavcopts vcodec=mjpeg -oac copy -o output.avi input.avi