Useful Linux Commands
Here are some useful linux commands for the terminal that are not as widely known or used. Many of them can also be used on MacOs as well.
redo the last command but as root
sudo !!
open an editor to run a command (probably a long one)
ctrl + x + e
Fix or change a really long command that you last ran with a text editor
fc
create a super-fast disk for IO dependent tasks to run on it
mkdir -p /mnt/ramdisk && mount -t tmpfs tmpfs /mnt/ramdisk -o size=8192M
don’t add the command to the history
(add one space in front of the command)
ls -lhistory # check the history
create a tunnel with SSH to port that is not open to the public (local port 8080 -> remote host’s 127.0.0.1 on port 6070)
ssh -L 8080:127.0.0.1:6070 root@my-public-server.com -N
Log output but don’t show it on the console
cat somefile | tee -a log.txt | cat > /dev/null
Exit terminal but leave all processes running
disown -a && exit
Clear your terminal without “clear” command
ctrl + l # L
Paste the arguments of the previous command
alt + -
Completely clean and clear your terminal
reset
Get CPU info quickly
cat /proc/cpuinfo
Get memory info quickly
cat /proc/meminfo
Recursively find a text in a directory that have a lot of files in it
grep -rn /etc/ -e text_to_find
Find files bigger than 100 MB
find -type f -size +100MB -exec ls -lah {} \;
Create a web server in the current directory to serve files from it
python -m SimpleHTTPServer
Find your public IP
curl ifconfig.me
Get a tree view of folders only three levels deep
tree -L 3
Get a tree view of processes
pstree
Use the last command’s arguments
!$