# cheat-sheet + [Convert Emails](https://git.laurelcountycorrections.org/jpickard/cheat-sheet#converting-emails) + [File Management](https://git.laurelcountycorrections.org/jpickard/cheat-sheet#find-and-copy-files-by-extension-recursively) + [Network, Firewall, UFW](https://git.laurelcountycorrections.org/jpickard/cheat-sheet#ufw) + [NFS](https://git.laurelcountycorrections.org/jpickard/cheat-sheet#mount-nfs-share-nfs-common-or-nfs-utils) + [Merge Video](https://git.laurelcountycorrections.org/jpickard/cheat-sheet/src/branch/master/README.md#merge-video-files-with-ffmpeg) + [Hylafax](https://git.laurelcountycorrections.org/jpickard/cheat-sheet/src/branch/master/README.md#hylafax) + [Linux Users](https://git.laurelcountycorrections.org/jpickard/cheat-sheet/src/branch/master/README.md#linux-users) + [Windows](https://git.laurelcountycorrections.org/jpickard/cheat-sheet/src/branch/master/README.md#windows) + [Data Recovery](https://git.laurelcountycorrections.org/jpickard/cheat-sheet/src/branch/master/README.md#data-recovery) + [QEMU](https://git.laurelcountycorrections.org/jpickard/cheat-sheet/src/branch/master/README.md#qemu) My cheat sheet for commands I have trouble remembering. ## Converting Emails ### EML to MBOX using eml2mbox (email2mbox-git on AUR) ``` cd /path/to/eml/files eml2mbox ``` This creates `.archive.mbox`. ### MBOX to HTML Threads using Mhonarc (mhonarc on AUR) ``` cd /path/to/.archive.mbox/file mhonarc .archive.mbox ``` This creates `threads.html` and extracts all information into the directory. ## Find and copy files by extension recursively ```find . -name '*.pdf' -exec cp -r {} /home/jpickard/pdffiles \;``` ## 7-Zip compression (p7zip) ```7z a archivename.7z thingtobearchived``` ## Compress and split files (6GB chunks in below example) ```7z -v6g a ARCHIVE.7z DIRECTORY.OF.FILES``` ## Recursively unzip ```while [ "`find . -type f -name '*.zip' | wc -l`" -gt 0 ]; do find -type f -name "*.zip" -exec unzip -- '{}' \; -exec rm -- '{}' \;; done``` ## Merge PDF files #### Ghostscript ```gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=mergedfile.pdf -dBATCH file1.pdf file2.pdf``` #### ImageMagick ```convert file1.pdf[0-1] file2.pdf mergedfile.pdf``` ## Convert webp to JPG/PNG ```dwebp mycat.webp -o mycat.png``` ### ExifTool #### List metadata of image `exiftool image.jpg` #### Remove metadata of image `exiftool -all= image.jpg` /or/ `exiftool -all= *.jpg` #### Recursively, overwriting the files `exiftool -overwrite_original -recurse -all= *.jpg` ## UFW ### Examples ``` ufw status numbered ufw delete 2 ufw allow from 192.168.1.10 to any port 22 proto tcp ufw allow in on tailscal0 to interfaceip port 22 from otherdeviceip ufw reset ``` ## List ports Linux is listening on `sudo ss -tunlp` `sudo lsof -nP -iTCP -sTCP:LISTEN` ## List alive IPs on Network (nmap) `sudo nmap -n -sn 192.168.56.0/24 -oG - | awk '/Up$/{print $2}' | sort -V` ## Mount NFS Share (nfs-common or nfs-utils) `sudo mount -t nfs 10.10.0.10:/backups /var/backups` ### /etc/fstab ``` # 10.10.0.10:/backups /var/backups nfs defaults 0 0 ``` ## Merge video files with ffmpeg ``` $ cat files.txt file 'file 1.mkv' file 'file 2.mkv' file 'file 3.mkv' file 'file 4.mkv' ``` `ffmpeg -f concat -safe 0 -i files.txt -c copy output.mkv` # Hylafax ## Send a Fax `sendfax -n -d 8643605 test` // where test is a text document with content ## Remove a fax from queue `faxrm jobid` ## Watch fax status `watch -n 2 faxstat -s` # Linux Users ## Delete User `sudo deluser username` ## Add User with Specific UID `sudo adduser -u UIDNUMBER username` ## Add user to specific Group `sudo usermod -aG GROUP USERNAME` # Windows ## List usernames on machine `net user` ## Change user password `net user username newpassword` ## Disconnect from network drives/directories `net use * /del` (Then restart service `Workstation` and check `Credential Manager`) ## Create Directory and hide it ``` mkdir Pickard attrib +s +h Pickard ``` ## Manage Processes ### List Running Tasks `tasklist` ### Force Kill a Task `taskkill /IM JailTracker.exe /F` ## List Printers from CMD `wmic printer list brief` ## Clear Temporary files `rd %temp% /s /q` ## Add Persistent Static Route `route -p add 192.168.56.0 mask 255.255.255.0 192.168.30.1 metric 1` `route -p add NETWORK mask NETMASK GATEWAY metric 1` # Data Recovery ## ddrescue Take an image of a drive and log: `sudo ddrescue /dev/sdb path/to/image.dd path/to/log.txt` Clone Disk A to Disk B: `sudo ddrescue --force --no-scrape /dev/sdA /dev/sdB path/to/log.txt` # QEMU ## Get disk information `qemu-img info disk.qcow2` ## Shrink .qcow2 `qemu-img resize disk.qcow2 --shrink -10G` ## Import qcow2 `sudo qm importdisk 101 disk.qcow2 localstorageplace`