Acces direct aux rubriques :Système Fichiers SSH Video Compression Packages Utilisateurs Réseau Time Serveur Libérer espace disque
Système Trouver la version de votre machine
lsb_release - sc
Trouver les procecuss zombie
ps aux | awk '"[Zz]" ~ $8 { printf("%s, PID = %d\n", $8, $2); }'
Fichiers Vider un fichier
cat / dev/ null > myfile. txt
Recherche texte dans les fichiers d'un répertoire :
find / arborescence - type f - exec grep - H 'chaine' { } \;
Recherche du nom d'un fichier :
find / home/ hugo/ - name * . mo
Afficher le poids des répertoires du répertoire courant
du - sh *
Trouver les 10 plus gros fichiers et répertoires sur le système
sudo du - a / | sort - n - r | head - n 10
Trouver les fichiers
find { / path/ to/ directory} - type f - size + { file- size-in - kb} k - exec ls - lh { } \; | awk '{ print $8 ": " $5 }'
Trouver les fichiers et répertoire dont le poids est compris entre 10 et 12Mo
find / - size + 10M - size - 12M - ls
Trouver les fichiers de plus de 50Mo
find / - type f - size + 50M - exec du - h { } \; | sort - n
Rechercher les fichiers de plus de 100Mo
find / - xdev - type f - size + 100M
Supprimer beaucoup de fichiers (erreur rm -R : argument list too long)
find . - maxdepth 1 - name "*.svg" - print0 | xargs - 0 rm
Remplacer les espaces dans les noms de fichier :
rename 's/\s+/_/g' *
Trouver un processus actif :
ps - ef | grep NOM_DU_PROCESSUS
Trouver processus zombie
ps aux | grep 'Z'
pstree - p - s ZOMBIE_PID
Rechercher dans les logs
sed 's^\[.*\]^^g' error. log | sed 's^\, referer: [^\n]*^^g' | sort | uniq - c | sort - n
sed 's^\[.*\]^^g' error_log | sort | uniq - c > error_log- unique
encode/decode base64
echo - n 'hugo:boss' | base64
echo YWRtaW46cGFzc3dvcmQ= | base64 - d
Display directory files and directories size
du - sh *
Générer la documentation php :
phpdoc run - d / var / www/ wine- trip. git/ - t / var / www/ wine- trip. git/ doc/
SSH SSH (doc complète)
ssh user@XXX. XXX. XXX. XXX
Transfert fichier via SSH
scp / home/ me/ phantomjs- 1. 9. 7- linux- i686. tar. bz2
hugo@XXX. XXX. XXX. XXX:/ var / www/ api
Trandfert répertoire via SSH (ajouter un . pour copier les fichiers cachés)
scp - r / var / www/ app/ . hugo@XXX. XXX. XXX. XXX:/ var / www/ app
Meilleure solution, utiliser rsync
rsync - avz / chemin user@newsystem:/ home/ user/
Vérifier l'existence de clé SSH Lister les fichiers du répertoire .ssh de votre utilisateur
ls - al ~/ . ssh
Créer une nouvelle paire de clés publique/privée, en utilisant votre email.
ssh- keygen - t rsa - b 4096 - C "your_email@example.com"
Démarrer ssh-agent en arrière plan
eval "$( ssh- agent - s) "
Ajouter votre clé SSH à ssh-agent. Si vous utilisiez une clé existante plutôt que d'en génerer une nouvelle, vous devez remplacer id_rsa dans la commande avec le nom de votre privée existante.
ssh- add ~/ . ssh/ id_rsa
Ajouter la clé SSH à votre compte GitHub.
Video Redimensionner une vidéo
sudo apt- get install libav- tools
avconv - i input. mp4 - s 640x480 output. mp4
Changer l'encodage
ffmpeg - i movie. mov - f mp4 - vcodec copy - acodec copy output. mp4
Redimensionner une vidéo
ffmpeg - i output. mp4 - vf scale=480:270 output2. mp4
Pour utiliser le tag HTML5 video au mieux, il faut proposer 3 formats:
OGG/Theora
ffmpeg - i input. mov - acodec libvorbis - ac 2 - ab 96k - ar 44100 - b 345k - s 640x360 output. ogv
WebM/vp8
ffmpeg - i input. mov - acodec libvorbis - ac 2 - ab 96k - ar 44100 - b 345k - s 640x360 output. webm
MP4/h264
ffmpeg - i input. mov - acodec libfaac - ab 96k - vcodec libx264 - vpre slower - vpre main - level 21 - refs 2 - b 345k - bt 345k - threads 0 - s 640x360 output. mp4
Compression Compresser
tar - zcvf my- archive. tar. gz / path/ to/ my- directory
Décompresser
tar - zxvf my- archive. tar. gz
Packages Mettre à jour la liste des paquets disponibles
sudo apt- get update
Mettre à jour les packages déjà installés
sudo apt- get upgrade
Installer les nouveaux paquets
sudo apt- get dist- upgrade
Ajouter un dépôt (repository) qui n'est pas officel
sudo add- apt- repository ppa:vendor/ package
Supprimer un dépôt
sudo add- apt- repository ppa:vendor/ package -- remove
Lister les packages installés sur le système
dpkg - l
Vérifier si un paquet (ex : php5-sqlite) est installé :
dpkg - l | grep packagename
Obtenir le statut d'un paquet
dpkg- query - W - f='${Status} ${Version}\n' packagename
Vérifier si un paquet peut être installé
apt- cache search packagename
Installer un paquet :
sudo apt- get install packagename
Mettre à jour un UNIQUE paquet
sudo apt- get install -- only- upgrade
Redémarrer le server
sudo reboot
sudo shutdown - h now
Sauvegarder la liste des paquets installés
dpkg -- get- selections > backup_installed_packages. txt
Restaurer la liste des paquets installés
dpkg -- set - selections < backup_installed_packages. txt
Si des erreurs surviennent
aptitude install dselect
dselect
dpkg -- set - selections < backup_installed_packages. txt
puis
apt- get dselect- upgrade
Utilisateurs Create user
adduser toto
Give user sudo privileges
gpasswd - a toto sudo
Create group
groupadd titi
Add user to group
usermod - a - G titi toto
Réseau Faire une requête CURL derrière un proxy
curl - x http:/ / PROXY_IP:PROXY_PORT -- proxy- user PROXY_USER:PROXY_PASSWORD - L http:/ / www. website. com
Voir tous les ports ouverts
netstat - ntlp | grep LISTEN
?
netstat - anp
?
netstat - tulpen
Firewall ufw (uncomplicated firewall) Voir l'état du firewall
sudo ufw status verbose
Ouvrir un port
sudo ufw allow 80/ tcp
sudo ufw show added
sudo ufw enable
Régle d'exclusion fail2ban pour ufw
sudo ufw insert 1 deny from [ip address]
sudo ufw delete allow from [ip address]
Intérroger le fichier de zone avec
mxlookup
nslookup - type =mx port25. com
Server: 127. 0. 1. 1
Address: 127. 0. 1. 1
Non- authoritative answer:
port25. com mail exchanger = 50 ALT4. ASPMX. L. GOOGLE. com.
port25. com mail exchanger = 50 ALT3. ASPMX. L. GOOGLE. com.
port25. com mail exchanger = 10 ASPMX. L. GOOGLE. com.
port25. com mail exchanger = 30 ALT1. ASPMX. L. GOOGLE. com.
port25. com mail exchanger = 30 ALT2. ASPMX. L. GOOGLE. com.
Authoritative answers can be found from :
port25. com nameserver = ns1. p10. dynect. net.
port25. com nameserver = ns3. p10. dynect. net.
port25. com nameserver = ns2. p10. dynect. net.
port25. com nameserver = ns4. p10. dynect. net.
Time Afficher la date
date
Voir la timezone
cat / etc/ timezone
Formater la date
date + '%:z %Z'
?
find / usr/ share/ zoneinfo/ - type f| xargs md5sum | grep $( md5sum / etc/ localtime | cut - d' ' - f1)
Modifier la timezone
sudo dpkg- reconfigure tzdata
Serveur Générer une clé de cryptage (clé publique + clé privée)
ssh- keygen
Copier sa clé ssh locale pour pouvoir se connecter sans taper son mot de passe à chaque fois
cat ~/ . ssh/ id_rsa. pub | ssh user@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
ou en utilisant la commande
ssh-copy-id
ssh- copy - id user@remote_host
Supprimer un hôte du fichier
known_host
(quand son adresse IP a changé par exemple)
ssh- keygen - R hostname
Démarrer ssh-agent (pour l'utilisateur www-data)
sudo - u www- data ssh- agent sh - c 'ssh-add && echo Do some stuff here.'
Libérer de l'espace disque Trouver la taille du cache APT
du - sh / var / cache/ apt/ archives
Vider le cache APT
sudo apt- get clean
Supprimer les anciens kernels qui ne sont plus nécessaires
sudo apt- get autoremove -- purge
Supprimer les paquets et dépendances qui ne sont plus nécessaires
sudo apt- get autoremove
Vide le répertoire /var/cache/apt/archives qui contient les paquets téléchargés
sudo apt- get autoclean
Utilisez la commande dpkg-query pour trouver et supprimer les paquets les plus volumineux dont vous ne vous serez pas.
dpkg- query -- show -- showformat='${Package;-50}\t${Installed-Size}\n' | sort - k 2 - n | grep - v deinstall | awk '{printf "%.3f MB \t %s\n", $2/(1024), $1}'
Supprimer les kernels inutilisés 1. Quel kernel est utilisé actuellement ?
uname - r
2. Quels sont les kernels installés sur ma machine ?
dpkg -- list | grep linux- image
3. Supprimer les kernels qui ont une version inférieure au kernel actuel
sudo apt- get purge linux- image- x. x. x. x- generic