Skip to content

Instantly share code, notes, and snippets.

@jpchateau
Last active June 14, 2024 15:25
Show Gist options
  • Save jpchateau/deeedd3efde5d802f521 to your computer and use it in GitHub Desktop.
Save jpchateau/deeedd3efde5d802f521 to your computer and use it in GitHub Desktop.
Linux useful commands
apt-show-versions -b > pkg-list.txt # Récupère la liste des paquets installés
ls -al # Si l'alias ll n'existe pas
ls | wc -l # Compte le nombre de fichiers présents dans un répertoire
uname -a # Affiche le nom de l'OS courant
uname -r # Affiche la version du noyau linux
cat /proc/version # affiche le nom de la distribution
lsb_release -a # affiche les infos de la version d'ubuntu
ssh-keygen -t rsa # Génère une clé privée et une clé publique dans ~/.ssh/
ssh-keygen -l # Affiche le fingerprint de la clé ssh
alias d='cd ~/dev' # Crée un alias
useradd -G {group-name} username # ajoute un user à un groupe
echo -n password | sha1sum | awk '{print $1}'
ls -al | grep -E 'DocumentGeneratorManager|OperationManager'
ulimit -a # affiche les limitations de mémoires pour l'utilisateur courant
ulimit -n 2048 # attribue une valeur à l'option spécifiée
find . -name "*.php" -exec grep -l "guess" {} \;
find src/ -type f -print0 | xargs -0 grep -l "####"
curl http://domain.com/file.tar.gz | tar zx
curl -O http://domain.com/file.tar.gz # Télécharge le fichier avec le nom original
tar -cvf foo.tar foo/ # Crée une archive
gzip foo.tar # Compacte une archive
gzip -d file.gz # Décompacte un fichier gzip
tar zxvf foo.tar.gz # Extraction
p7zip -d foo.7z # Extraction
unzip file.zip # Décompacte un fichier zip
woof filename # Partager un fichier http://www.home.unix-ag.org/simon/woof.html
cat /etc/passwd | awk -F: '{print $ 1}' # Affiche la liste des utilisateurs
cat /etc/group | awk -F: '{print $ 1}' # Affiche la liste des groupes
sudo apt-get install ubuntu-restricted-extras
scp -r rugby/* [alias]:/path/rugby/
scp -r rugby/* [user]:[serveur]:/path/rugby/
Mise à jour de l'OS
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade / sudo do-release-upgrade
Générer un password
$ sudo apt-get install makepasswd
$ makepasswd -minchars 8
supervisor
[program:subscriptions]
command=/usr/bin/php app/console app:consumer:subscriptions
directory=/home/jpchateau/dev/labs
autostart=true
autorestart=true
startretries=3
screen
screen -S test # Démarrer une session
ctrl+a+d # pour detacher
screen -r test # Reprendre une session
screen -d -r test # Reprendre une session qui avait été détachée
(exit dans un terminal pour le kill)
https://doc.ubuntu-fr.org/screen
/etc/sudoers
Donwgrade mongodb (ex: 2.4.10 > 2.4.9) (! ne fonctionne pas pour 2.6) (ne perd pas le contenu de la bdd)
sudo apt-get install mongodb-10gen
sudo apt-get install mongodb-10gen=2.4.9
A faire en installant un nouveau poste :
sudo apt-get update
sudo apt-get install htop locate lshw hardinfo wget screen gitk jq curl # utilitaires indispensables
sudo apt-get install ruby-full # ruby
sudo apt-get install npm #npm
Après avoir installé nodejs (spécifique à ubuntu car conflit avec un autre package node, dans le but de faire tourner mocha, grunt...) :
sudo ln -s /usr/bin/nodejs /usr/sbin/node
Supprimer le cache de composer:
$ composer clear-cache
$ rm vendor/composer/installed.json
Sourcer un alias :
$ vi ~/.bashrc
alias ll='ls -alF'
$ source ~/.bashrc
Alias pour ouvrir un programme et fermer le terminal
alias postman='/home/jpchateau/Postman/app/Postman >/dev/null 2>&1 & disown && exit'
Vider le swap en RAM
sudo swapoff -a && sudo swapon -a
Augmenter la taille du swap : https://linuxhandbook.com/increase-swap-ubuntu/
Swap size recommendations : https://itsfoss.com/swap-size/
BASH set
https://www.gnu.org/software/bash/manual/html_node/The-Set-Builtin.html
Terminator shortcuts:
http://kasunweranga.blogspot.fr/2010/11/ubuntu-terminator-useful-commands.html
Ubuntu et dérivés : changer mot de passe root
Pour voir le menu de Grub, il faut rester appuyer sur Shift (ou echap) si l'affichage n'est pas automatique.
Il faut, ensuite, au moment du boot de la machine dans Grub choisir le mode "recovery" et choisir Root pour obtenir un Shell Root. À partir de là, il suffit d'écrire pour mettre un nouveau mot de passe :
($ mount -rw -o remount /)
$ passwd username #changer username par votre identifiant
Saisir le nouveau mot de passe et le valider
System benchmark
$ sudo apt-get install sysbench
$ touch sysbench.txt && sysbench --test=cpu --cpu-max-prime=20000 run >> sysbench.txt && sysbench --test=cpu --cpu-max-prime=20000 --num-threads=4 run >> sysbench.txt && sysbench --test=memory run >> sysbench.txt && sysbench --test=memory --num-threads=4 run >> sysbench.txt
Déplacer /var sur une autre partition
1) make the new partition, & format with mkfs. (in my case hda3)
2) mount the new filesystem in /mnt
# mkdir /mnt/new
# mount /dev/hda3 /mnt/new
3) Go to single-user mode so that there is no rw activity on the directory during the process (could be messy...)
# init 1
4) Backup data in var only (not the /var directory itself)
# cd /var
# cp -ax * /mnt/new
5) Rename the /var directory (to make sure this has worked before deleting it!)
# cd /
# mv var var.old
6) Make new var directory
# mkdir var
7) Unmount the new partition
# umount /dev/hda3
8) Remount it as /var
# mount /dev/hda3 /var
9) Edit /etc/fstab to include the new partition, with /var given as the mount point, so that it will be included in the filetree automatically at boot.
/dev/sda /var ext4 defaults 0 0
when y'r sure that alls well, delete var.old...
http://www.linuxquestions.org/questions/debian-26/post-installation-re-partitioning-how-to-move-var-199391/
git redonner droits si fichier créé avec un autre user :
sudo chown -Rc $UID .git/
http://stackoverflow.com/questions/6692292/git-commit-problem-unable-to-append-to-git
Installer docker sur un centOS (https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-centos-7) :
$ curl -fsSL https://get.docker.com/ | sh # install
$ sudo systemctl start docker # pour le lancer
$ sudo systemctl enable docker # pour qu'il se lance à chaque démarrage
$ sudo usermod -aG docker {user} # Pour ne pas avoir à l'utiliser en sudo
En cas de problème de clé privée avec MongoDB Compass pour se connecter à une db via tunnel ssh :
Error creating SSH Tunnel: Error while signing data with privateKey: error:06000066:public key routines:OPENSSL_internal:DECODE_ERROR
Transformer la clé privée SSH au format PEM :
ssh-keygen -p -m PEM -f ~/.ssh/id_rsa
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment