Terminal
Raccourcis clavier
controle + a = Aller au début de ligne
controle + u = Supprimer tout ce qu'il y a avant le curseur
controle + l = clear
controle + z = Passer le processus en arrière plan et le mettre en pause
controle + r = Chercher une commande déjà utilisée
controle + e = Reviens en fin de la ligne courante
controle + y = Colle la commande copié
alt + retour = Supprime mot par mot
controle + y = Colle la commande copié
Commandes utiles
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)
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
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 mieux
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 valide 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 space vim = curl -sLf https://spacevim.org/install.sh | bash
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
deepl = Site de traduction
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)