Advanced Linux Cheat Sheet

This are just random commands that i keep forgetting and i need a place check them out instead of googling every time i need them.

Add your public key to the authorized keys of a remote host
cat ~/.ssh/  | ssh remote_host 'cat -  >> ~/.ssh/authorized_keys'

Skip first directory of a tar file
tar -zxvf ~/dokuwiki-5422200921b877a379e34cc4e0fee22a.tgz --strip 1

Check which package provides a file in Red Hat systems
$ yum whatprovides /bin/grep


$ rpm -qf /bin/ls

Show list of files on a package
$ rpm -ql glibc-common

List dependecies of a package
$ yum deplist cracklib

List packages that depend on a package
$ repoquery --whatrequires cracklib

Remove package with no dependencies
rpm -e --nodeps cracklib-dicts

Backup using rsync+ssh
rsync -avz -e ssh --progress /home/myuser/  remote.machine:/backups/

Route two networks using iptables
# echo 1 > /proc/sys/net/ipv4/ip_forward
# sysctl -w net.ipv4.conf.all.forwarding=1
# iptables -I FORWARD -i eth0 -o virbr0  -j ACCEPT
# iptables -I FORWARD -i virbr0 -o eth0 -j ACCEPT     

Connect to wifi using NetworkManager cli
$ sudo nmcli -a device  wifi connect ROUTER-SSID password 3662613362 wep-key-type phrase  ifname wlp3s0

Export/Import GPG Keys
$ gpg2 --export -a  <KEY_ID> > gpg_pubkey.asc
$ gpg2 -v --export-secret-keys -a -o gpg_key.key <KEY_ID>
$ gpg2 --import gpg_pubkey.asc 
$ gpg2 --import gpg_key.key