General Linux Cheatsheet

# Users management
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
useradd/passwd/deluser <username>
sudo adduser nzxt2

# Create grup
sudo addgroup developers
sudo adduser nzxt2 developers

# Fucking shit
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
base64 -d file-name.txt

python> 
import string
string.lowercase.index('a')
string.lowercase[1]

# Hardware information
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
lshw -short       			# hardware information
lshw -C bus -short
lshw -C memory -short

#
# Finding stuffs
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
find . -user root -perm 777
find / -name "[0-9]*"
find . -name ".[a-b]*"
find / -size 0 -exec ls {} \;
find . -size 1033c
find . -type f -readable -size 1033c ! -executable
find . -user foo -group bar
find . -gid 1 -uid 1
find /home -name .bashrc -exec grep $PATTERN {} \;

# look for executables files of level00 user
find / -perm /u=s -user flag00 2>/dev/null



# Compressed files
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
unzip 		file.zip
zipgrep 	*.txt file.zip
tar xf 		file.tar
tar xvfz 	file.tar.gz
tar xvfj 	file.tar.gz2
tar ztvf 	file.tar.gz | grep foo
gzip -d 	file.gz
zcat 		file.gz 				# just read
zgrep 'blah' /var/log/maillog*gz

zip -r file.zip /foo/*
tar cv file.tar files/
tar czf file.tar.gz files/
tar cjf file.tar.gz2 files/
gzip file


# Shells
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
# free a shell
python -c 'import pty;pty.spawn("/bin/bash")'
echo os.system('/bin/bash')
/bin/sh -i

# system info
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
df -hT /
free -m
pstree
pgrep bash

ps -ef
ps aux
ps -f -C apache2
ps aux --sort=-pcpu,+pmem
ps -ef --forest
ps --ppid 666
ps -p 666 -L    # show threads
watch -n 1 'ps -e -o pid,uname,cmd,pmem,pcpu --sort=-pmem,-pcpu | head -15'

iostat -x -d 2
iotop --only
pidstat -p 666

viz. iostat, sar, sysstat. 

linux basics

#snippets/linux

# SSH magics 
# Tunnel $REMOTE:15672 to localhost:15672
ssh -L 15672:localhost:15672 devops@$REMOTE -N

# Processes
ps f -g<PID>
ps -eo pid,comm,lstart,etime,time,args | grep node


# DISK UTILS

# check biggest directories
du -a . | sort -n -r | head -n 10


# PERFORMANCE TIPS

yum install sysstat