==== MISC QUICK COMMANDS ==== Function: Major Hayden's icanhazip Mirror'd Usage: curl https://ip.hoshisato.com Function: Linux Version Usage: uname -a && cat /etc/*release Function: Largest Directory/Files Usage: du -hsx * | sort -rh | head -10 Function: Quick Vhost Usage: bash <(curl justcurl.com -H "host: example.com " -H "x-docroot: /var/www/vhosts/example.com/public_html ") Function: Octet Permissions Usage: stat -c '%A %a %n' .* * Function: Add Swap & Persistance Usage: dd if=/dev/zero of=/swapfile bs=1024 count=2015536 && mkswap /swapfile && swapon /swapfile Usage: echo "/swapfile swap swap defaults 0 0" >> /etc/fstab Function: Make Sure You Are Actually Using Swap Usage cat /proc/sys/vm/swappiness sysctl vm.swappiness=30 add to /etc/sysctl.conf vm.swappiness=30 Function: Reset Folder and File Permissions (Great for Wordpress) Usage: find . -type d -print0 | xargs -0 chmod 02775 find . -type f -print0 | xargs -0 chmod 0664 Function: Drop Caches Usage: sync && echo 3 > /proc/sys/vm/drop_caches Function: Largest Open Files Usage: sudo lsof -s | awk '$5 == "REG"' | sort -n -r -k 7,7 | head -n 50 Function: Log Rotate Usage: logrotate -vf /etc/logrotate.conf Function: Move All Contents Up Partent Directory Usage: mv * .[^.]* .. Function: pwgen Usage: pwgen -B -c -n -y 15 Function: Scan for all TCP and UDP Open Ports Usage: sudo nmap -n -PN -sT -sU -p- 0.0.0.0 Function: Find all .conf Usage: find /etc -name "*.conf" | xargs ls –l Function: Phrase to file Usage: httpd -S > /home/rack/domains.txt 2>&1 Function: TAR Compress Usage: tar cfzv backup-$(date +%Y-%m-%d).tar.gz /home Function: TAR Uncompress Usage: tar xvzf Function: Sed and Replace Usage: sed -i 's/before/after/g' /home/file.txt Function: Quickly find Large Files and Directories Usage: du -h /var --max-depth 1 2>&1 | grep -v "^du: cannot read" | sort -h && ls -alSr /var | grep -v ^d | grep -v ^l | tail Function: Search for a String Usage: grep -R "DENY" /etc/ Function: Create SSH Key File Usage: ssh-keygen -t rsa -b 4096 -C "$(whoami)@$(hostname)-$(date -I)" Function: Check for Change Log (OpenSSH Example) Usage: rpm -q --changelog openssh | grep CVE Function: Reverse Rsync Usage: rsync -avz -e "ssh -p55555" [email protected]:/mnt/archive.tar.gz /mnt/backup Function: Issue Command based on iNode Usage: find . -inum 1446302 -exec cat {} \; Function: Bytes each IP consumed in the last week. Usage: for i in $(cat access_log |awk '{print $1}' | sort -nr |uniq -c |sort -nr |head -20 | awk '{print $2}'); do echo $i used: && grep $i access_log | awk '{s+=$10} END {print s}'; done Function: Command Line PHP Mail Test Usage: php -r "mail('[email protected]', 'php test mail', 'test worked');" Function: Awesome Strace Usage: pgrep "php-fpm|php5-fpm|apache2|httpd|nginx" | awk '{print"-p "$1}' | xargs strace -tts 4096 -vvvf 2>&1 | tee /root/strace.log Function: Reset file ownership/permissions on a hosed file system (RPM) Usage: for p in $(rpm -qa); do rpm --setperms $p; done for p in $(rpm -qa); do rpm --setugids $p; done Function: Find Installed Package Version (Ex. apt PHP) Usage: dpkg -l | grep php| awk '{print $2}' |tr "\n" " " Function: IP Blocks for entire Countires Usage: http://www.ipdeny.com/ipblocks/data/countries/ Function: Truncate / Clear out File Usage: truncate -s 0 test.txt Function: Copy File from Specific date onward Usage: find . -type f -newermt '7/12/2018 01:00:00' -exec cp -a --parents -t backup/ "{}" \; ============= UNSORTED =============== wget -m -r -nH --cut-dirs=5 ftp://user:pass@server//absolute/path/to/directory worker_rlimit_nofile 65535; php /path/to/wp-cli.phar search-replace 'http://example.com' 'https://example.com' --skip-columns=guid --dry-run ps h --ppid $(cat /var/run/apache2.pid) | awk '{print"-p " $1}' | xargs sudo strace find $1 -type f -exec stat --format '%Y :%y %n' "{}" \; | sort -nr | cut -d: -f2- | less chrome://net-internals/#events dig A plutokorea.com @ns1.hoshisato.com ps awfuxx | grep mysql|awk '{sum+=$4} END {print sum}' watch "COLUMNS= ps aux | grep [r]econnect" cat output.json | python -m json.tool -------- tar -cvzf archive.tar.gz archive/* split -b 200M archive.tar.gz "archive.tar.gz.part" cat archive.tar.gz.parta* > archive.tar.gz --- (Encrypted Archive) tar -czvpf - archive/* | gpg --symmetric --cipher-algo aes256 -o archive.tar.gz.gpg --- (Decrypt Archvive) gpg -d myarchive.tar.gz.gpg | tar xzvf - -------- $ dig hoshisato.com @8.8.8.8 +short sudo dd bs=4M if=/home/antergos-17.6-x86_64.iso of=/dev/sdb status=progress && sync while :; do sync; sleep .5; done for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done