Terminal
Raccourcis clavier
controle + a = Aller au début de ligne
controle + e = Reviens en fin de la ligne courante
controle + k = Supprimer tout ce qu'il y a après le curseur
controle + u = Supprimer tout ce qu'il y a avant le curseur
controle + l = clear / Nettoyer l'écran
controle + z = Passer le processus en arrière plan et le mettre en pause
controle + r = Chercher une commande déjà utilisée
controle + y = Colle la commande copié
alt + retour = Supprime mot par mot
Commandes utiles
Nfs :
sudo apt-get install nfs-kernel-server
/path/to/shared/folder "ip-de-la-machine"(rw,sync,no_subtree_check) : dans le fichier de conf /etc/exports pour autoriser les machines
sudo systemctl restart nfs-kernel-server
sudo apt-get install nfs-common
sudo mkdir /mnt/shared_folder
sudo mount -t nfs server_ip:/path/to/shared/folder /mnt/shared_folder
sudo -i = ROOT environment
su - = ROOT environment (faire juste "su" permet d'avoir les permissions ROOT mais garde l'environement user)sudo !! = Dernière commande en root
fg = Passer le processus au premier plan
bg = Continuer la tâche en arrière plan (fait continuer la tache mise en arrière plan et pause par ctrl z)
date -s "02/04/2020 17:30:00" : pour changer l'heure du systeme
chsh = permet de changer le shell par default de l'utilisateur actuel
cat /etc/debian_version = donne la version actuel de debian
systemctl stop <service> (fonctionne aussi avec start/status/restart et reload le cas échéant)
/sbin/shutdown -h 0 = Éteindre le pc
/sbin/reboot = Redémarrer le pc
ln -s <vrai-fichier> <fichier-lien-symbolique> = Lien symbolique
scp <envoi> <reception> = Copier des fichiers à distance (pour chemin distant faire user@ip:/chemin )
dmesg = Montrer tous les périphériques
umount = Démonter un volume
eject = Ejecter une clé USB ou autre
htop ou top = Permet de voir les ressources hardware (CPU, RAM entre autres)
find [chemin] -name "texte" = Trouver un ficher avec son nom
grep -ril "<texte>" [chemin] = Chercher un texte dans les fichiers du dossier/sous-dossier du chemin indiqué
tail -f <fichier> = Lire les dernières lignes d'un fichier et print aussi les appends qui se feront
PS: faire "less" puis faire "F" (maj + f) pour faire la même chose en plus pratiquetar -czvf <nom-archive> <fichier> = Compresser en gzip
tar -xzvf <fichier> = Extraire un fichier gzip
pwgen -sy 16 1 = genere un mdp de 16 caracteres
pgp -c <nom-du-fichier> = Chiffrer un fichier
pgp -d <nom-du-fichier-a-dechiffrer> = Déchiffrer un fichier
ssh-keygen -t rsa -b 4096 = Clé privée/publique ssh
ssh-keygen -t ed25519 = Pareil en mieuxopenssl req -in <csr> -noout -modulus | openssl md5 = obtiens le hash md5 de la signature
systemctl --type=service --state=runnig = listes tous les services en cours d'utilisation
nc "ip" "port" = intialise une connexion tcp
gnome-disks = formate une cle USB
openssl req -sha512 -newkey rsa:2048 -keyout "ficher.key" -out "ficher.crt" = génere une signature sur un fichier avece création de clef
openssl x509 -in <clépublique> -noout -modulus | openssl md5 = obtiens le hash md5 de la clé publique
openssl rsa -in <cléprivée> -noout -modulus | openssl md5 = obtiens le hash md5 de la clé privé rsa
openssl req -noout -text -in "fichier.csr" = vérifie le csr
openssl enc -d -aes-256-cbc -in fichier_chiffre.txt -out fichier_clair.txt = dechiffre un fichier (changer l'algo)
sudo usbguard list-devices = liste les objets connecté au pc
sudo usbguard allow-device 9 -p = autorise l'objet connecté
sudo usbguard list-rules = liste les règles autorisé
Commandes Nmap
nmap -O = Affiche l'OS des machines lors du scan
nmap -sV = Affiche la version des services qui tournent sur les machines lors du scan
nmap -vvvv = Mode verbeux
nmap -sL = Liste les cibles à scanner
nmap -sT = Effectue un scan TCP
nmap -sN = Effectue un scan qui exploitent une faille de la RFC TCP pour différencié les ports ouvert et fermé
nmap -sS = Effectue un scan relativement discret et furtif
nmap -sP = Effectue un scan qui détermine si les hotes sont en ligne
nmap -F = Effectue un scan rapide (ce limite au 100 ports connus les plus utilisés)
nmap -A = Effectue un scan complet et aggressif
nmap -Pn = Effectue un scan qui considère que tout les hotes sont connecté (saute l'étape de découverte des hotes)
nmap -sV = Effectue un scan qui teste si les ports sont ouverts pour déterminé le service en écoute et sa version
nmap -oA = Enregistre le résultat de la commande Nmap dans un fichier créé par lui même (toujours utilisé en combinaison d'autres options)
xsltproc scan.xml -o scan.html = Permet de convertir le fichier créé par Nmap en fichier html
Vim
Mode normal et visuel
Certain raccourcis ne sont valides que sous spacevim
maj+v = mode "visuel"
y pour copié
controle + r = sélection d'un block (rectiligne)
gv reprends la dernière sélection faites
o basucule en mode insertion + retour à la ligne
shift + j = fait revenir la ligne du bas d'un écran en haut
shift + c = supprime tout ce qui est après le curseur
shift + v = sélection la ligne du curseur
cc supprime la ligne du curseur et ce place au début de la ligne
Ctrl x Ctrl f = permet de compléter un path du système dans vim
dd supprime la ligne du curseur
gu passe la sélection en miniscule
x pour couper
p pour coller
u pour revenir en arrière
i pour passer en édition/insertion
échap pour quitter
q pour quitter
gU passe la sélection en masjuscule
controle + r = annule l'annulation
"==" aligne la ligne
zz centre la vue sur le curseur
"." repete le dernier changement
gqq formate la ligne
controle + f = scroll en bas
controle + b = scroll en haut
w pour sauvegarder
q! pour quitter sans enregistrer
wq pour sauvegarder et quitter
Mode normal et visuel
controle + ws = split horizontalement
controle + wq = ferme la fenêtre courante (si split)
controle + wv = split verticalement
controle + wh = bascule sur la fenêtre de gauche
controle + wj = bascule sur la fenêtre du dessous
controle + wk = bascule sur la fenêtre du dessus
controle + wl = bascule sur la fenêtre de droite
controle + "+" = agrandit la fenêtre courante
controle + "-" = réduit la fenêtre courante
controle + "=" = égalise les fenêtres courante
controle + r = echange les positions des fenêtres split
Navigation
"0" vas au début de la ligne courante
quand on éffectue une recherche avec "/" n permet de passer au mot suivant
"fin" permet d'aller à la fin de la ligne courante
Action en mode insertion
controle + t = permet d'indenté une ligne
controle + d = permet de désindenté une ligne
Autre
:set number = numéroter les lignes
Pour chercher dans un man/vim/less = /"mot-a-chercher"
Sous vim pour rechercher et remplacer = :%s/"ancien truc"/"nouveau truc"/g
(très ressemblant à la commande sed, dans tout le document utiliser l'exemple, pour faire que sur un mot il faut retirer le "%" et le "g" de fin, et pour ne faire qu'une ligne il faut aussi retirer le "%" mais laisser le "g" de fin)Pour installer Vimscode
Git
git clone <adress> = Copier le dépot git depuis son repository
git init = Permet de créer un nouveau dépot git localement (nouveau projet)
git status = Permet de voir les modifications faites qui seront prises en compte (rouge non ajouté, vert ajouté), permet aussi d'avoir des informations par rapport à la branche distante (ex: 2 commit behind)
git add <.> = Permet d'ajouter les fichiers pour enregistrer leurs modifications
git diff = Permet de voir les modifications ajoutés précedemment avec git add
git commit -m "first commit"
git push = Permet d'envoyer les modifications enregistrées par git commit au dépot distant
git checkout <ma branche< = Permet de changer de branche
Site incroyable pour les commandes git : https://gitexplorer.com
Site pour comprendre comment fonctionne les commandes git: https://learngitbranching.js.org/
Fun commands
oneko
cmatrix -rb
sl = train
train fou:
alias nomcommande='while true;do
sl -aF
done'sudo apt install oneko cmatrix sl
Scripting
$0 = Le nom du script (par exemple, si le script se nomme monScript.sh et qu il est appelé depuis son répertoire de stockage, la veleur de $0 sera ./monScript.sh
$1, $2, ... = Les arguments passés au script: $1 est le premier arguement, etc.
$* = Liste de tous les arguments passés au script, séparés par un espace.
$# = Donne le nombre d'arguments passés au script
$? = Code retour de la dernière commande exécutés. Valeur 0 c'est bien, Valeur != 0 c'est pas bien
$! = Donne le numéro de processus de la dernière commande lancée en tache de fond
$$ = Donne le numéro de processus du script lui même
Autre
apt install zsh = Installer zsh (souvent couplé avec ohmyzsh)
sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)" = Installer ohmyzsh
Pour changer le theme de zsh = vim .zshrc et changer le thème avec "ys" pareil pour root (su -) (sudo -i)
windows + l = Verrouiller la session
add-apt-repository non-free = Ajout dépot non libre pour driver
Souvent suivi de "apt update" puis "apt install firmware-iwlwifi"
maj+fleche pour sélectionner un texte (firefox ou autre)
tilix = cool terminal emulator
DISPLAY:0.0 = Redirection sur une autre interface graphique(ssh)
upower -i `upower -e | grep 'BAT'` : affiche les informations de la batterie
upower -i /org/freedesktop/UPower/devices/battery_BAT0 : pareil qu'en haut
acpi -ib : affiche l'etat des batteries