[one-liner]: Command-line Fu … Useful Linux Commands (repost)

Background

Came across these commands on another blog and wanted to create my own personal copy of these useful command-line examples.

Commands

1
2
3
4
% sshfs name@server:/path/to/folder /path/to/mount/point
# Mount folder/filesystem through SSH
# Install SSHFS from http://fuse.sourceforge.net/sshfs.html
# Will allow you to mount a folder security over a network.
1
2
3
4
5
% !!:gs/foo/bar
# Runs previous command replacing foo by bar every time that foo appears
# Very useful for rerunning a long command changing some arguments globally.
# As opposed to ^foo^bar, which only replaces the first occurrence of foo, this one changes
# every occurrence.
1
2
3
4
5
% mount | column -t
# currently mounted filesystems in nice layout
# Particularly useful if you’re mounting different drives, using the following command will
# allow you to see all the filesystems currently mounted on your computer and their respective
# specs with the added benefit of nice formatting.
1
2
3
4
% [space]command
# Execute a command without saving it in the history
# Prepending one or more spaces to your command won’t be saved in history.
# Useful for pr0n or passwords on the commandline.
1
2
3
% ssh user@host cat /path/to/remotefile | diff /path/to/localfile -
# Compare a remote file with a local file
# Useful for checking if there are differences between local and remote files.
1
2
3
4
5
% mount -t tmpfs tmpfs /mnt -o size=1024m
# Mount a temporary ram partition
# Makes a partition in ram which is useful if you need a temporary working space as read/write
# access is fast.  Be aware that anything saved in this partition will be gone after your
# computer is turned off.
1
2
3
4
% dig +short txt <keyword>.wp.dg.cx
# Query Wikipedia via console over DNS
# Query Wikipedia by issuing a DNS query for a TXT record. The TXT record will also include a
# short URL to the complete corresponding Wikipedia entry.

1
2
3
% netstat -tlnp
# Lists all listening ports together with the PID of the associated process
# The PID will only be printed if you’re holding a root equivalent ID.
1
2
3
4
% dd if=/dev/dsp | ssh -c arcfour -C username@host dd of=/dev/dsp
# output your microphone to a remote computer’s speaker
# This will output the sound from your microphone port to the ssh target computer’s speaker
# port. The sound quality is very bad, so you will hear a lot of hissing.
1
2
3
% echols -l” | at midnight
# Execute a command at a given time
# This is an alternative to cron which allows a one-off task to be scheduled for a certain time.
1
2
% curl -u user:pass -d status=”Tweeting from the shell” http://twitter.com/statuses/update.xml
# Update twitter via curl
1
2
3
% ssh -N -L2001:localhost:80 somemachine
# start a tunnel from some machine’s port 80 to your local post 2001
# now you can acces the website by going to http://localhost:2001/
1
2
3
4
5
% reset
# Salvage a borked terminal
# If you bork your terminal by sending binary data to STDOUT or similar, you can get your
# terminal back using this command rather than killing and restarting the session. Note that
# you often won’t be able to see the characters as you type them.
1
2
% ffmpeg -f x11grab -s wxga -r 25 -i :0.0 -sameq /tmp/out.mpg
# Capture video of a linux desktop
1
2
3
% > file.txt
# Empty a file
# For when you want to flush all content from a file without removing it (hat-tip to Marc Kilgus).
1
2
3
% $ssh-copy-id user@host
# Copy ssh keys to user@host to enable password-less ssh logins.
# To generate the keys use the command ssh-keygen
1
2
3
4
5
6
% ctrl-x e
# Rapidly invoke an editor to write a long, complex, or tricky command
# Next time you are using your shell, try typing ctrl-x e (that is holding control key press x
# and then e). The shell will take what you’ve written on the command line thus far and paste
# it into the editor specified by $EDITOR. Then you can edit at leisure using all the powerful
# macros and commands of vi, emacs, nano, or whatever.
1
2
3
4
5
% !whatever:p
# Check command history, but avoid running it
# !whatever will search your command history and execute the first command that matches
# ‘whatever’. If you don’t feel safe doing this put :p on the end to print without executing.
# Recommended when running as superuser.
1
2
3
4
5
6
7
8
9
% mtr google.com
# mtr, better than traceroute and ping combined
# mtr combines the functionality of the traceroute and ping programs in a single network
# diagnostic tool.  As mtr starts, it investigates the network connection between the host mtr
# runs on and HOSTNAME. by sending packets with purposly low TTLs. It continues to send packets
# with low TTL, noting the response time of the intervening routers. This allows mtr to print
# the response percentage and response times of the internet route to HOSTNAME. A sudden
# increase in packetloss or response time is often an indication of a bad (or simply
# over‐loaded) link.
1
2
% cp filename{,.bak}
# quickly backup or copy a file with bash
1
2
3
4
5
% ^foo^bar
# Runs previous command but replacing
# Really useful for when you have a typo in a previous command. Also, arguments default to
# empty so if you accidentally run: echo “no typozs” you can correct it with
# ^z
1
2
% cd -
# change to the previous working directory
1
2
3
4
5
6
%:w !sudo tee %
# Save a file you edited in vim without the needed permissions
# I often forget to sudo before editing a file I don’t have write permissions on. When you come
# to save that file and get the infamous “E212: Can’t open file for writing”, just issue that
# vim command in order to save the file without the need to save it to a temp file and then
# copy it back again.
1
2
% python -m SimpleHTTPServer
# Serve current directory tree at http://$HOSTNAME:8000/
1
2
3
% sudo !!
# Run the last command as root
# Useful when you forget to use sudo for a command. “!!” grabs the last run command.

References

links
local copies

NOTE: For further details regarding my one-liner blog posts, check out my one-liner style guide primer.

This entry was posted in linux, one-liner, shell, Syndicated, sysadmin, tip, tips & tricks. Bookmark the permalink.

Comments are closed.