Skip to content

Instantly share code, notes, and snippets.

@NerOcrO
Last active August 11, 2019 12:37
Show Gist options
  • Save NerOcrO/5991103 to your computer and use it in GitHub Desktop.
Save NerOcrO/5991103 to your computer and use it in GitHub Desktop.
command line unix

Trouver un fichier avec un répertoire exclue

  • find . -type f -name "*.md" -not -path "./node_modules/*"

Trouver une occurence dans un fichier d'une certaine extension

  • grep -rni --exclude-dir={node_modules,.git,dist,public,.cache,vendor,_,off} "currentTarget" /var/www | grep "\.js"

Racourcis

  • ctrl+a : aller en début de ligne
  • ctrl+e : aller en fin de ligne
  • ctrl+w : supprimer le mot avant le curseur
  • alt+d : supprimer le mot après le curseur
  • ctrl+k : supprimer tout ce qu'il y a après le curseur
  • ctrl+u : supprimer tout ce qu'il y a avant le curseur

Voir ce qui prend du temps au démarrage

sudo systemd-analyze blame

Convertir un PSD en images

convert fichier.psd /home/nerocro/tmp/fichier.png

Changer le propriétaire

chown -R www-data:www-data [DIRECTORY]

Connaître le code hexadécimal d'un caractère

echo -n " "|hexdump

Changer les permissions

chmod -R 777 [DIRECTORY]

Changer les permissions que des fichiers

find . -type f -exec chmod 644 -- {} +

Pour que deux utilisateurs aient les mêmes permissions

sudo vim /etc/group et mettre un utilisateur sur le groupe de l'autre et vice versa

Chercher une chaîne de caractère dans des fichiers

grep -rni "string" [DIRECTORY]

Différence entre deux répertoires

diff -q [DIR1] [DIR2] | sort

Chercher un fichier de type windows (CRLF)

http://stackoverflow.com/questions/73833/how-do-you-search-for-files-containing-dos-line-endings-crlf-with-grep-on-linu

Nombre d'occurence d'une chaîne de caractères dans des fichiers

grep -r '<record ' [DIRECTORY] | wc -l

Mettre un processus en tâche de fond

On est dans un vim par exemple :

Ctrl + z

Puis :

fg

Autre solution (le & lance en arriève plan)

compass watch [DIRECTORY] &

Colorisation des logs avec tail

tail -f -n 50 /var/log/apache2/error.log | perl -pe 's/\[error\]/\e[1;31;40m$&\e[0m/g'

tail -f -n 50 /var/log/apache2/error.log | ccze

Documentation apt-get

http://doc.ubuntu-fr.org/apt-get

Forcer une installation à cause des dépendances

sudo apt-get -f install [logiciel]

Si on a un fichier .deb

http://www.everyjoe.com/2005/11/27/technology/howto-use-dpkg-to-install-deb-files/

dpkg -i le_fichier.deb

/!\ Pour un logiciel qui n'est pas dans un dépot, il y a forcément un .deb ou un makefile qui installera au bon endroit.

/!\ Quand un package fait foirer mon unix, soit revenir en arrière avec apt-get remove ou télécharger le package via un wget et faire un dpkg

reverse-i-search

Ctrl + r

Si plus de place sur le disque

  • Vider les logs
  • sudo apt-get clean
  • du -h => pour repérer les gros fichiers
  • df -h => pour voir la taille des différents disques

Pour travailler à distance sur un samba

Il faut avoir le même utilisateur qui gère apache, samba et la création du répertoire à modifier (/var/www/...)

vim /etc/apache2/envars

vim /etc/samba/smb.conf

Mieux travailler

Créer un répertoire partagé sous Windows et le monter sous Linux /etc/fstab

sudo mount -a

sudo umount [DIRECTORY]

Se connecter en SSH

ssh user@host

Copier un fichier à distance

scp -r [SOURCE] user@host:[DESTINATION]
scp -r user@host:[SOURCE] [DESTINATION]

Mise à jour d'une base de données MySQL

zcat [ZIP/GZ FILES] | mysql -h [HOST] -u [USER] -p [DATABASE]

Autres solutions

gzip -d [ZIP FILES]

mysqlimport -h [HOST] -u [USER] -p -v -L [DATABASE] [DUMP_FILE]

mysql -h [HOST] -u [USER] -p[PASS] [DATABASE] < [DUMP_FILE]

Exemple : mysql -h localhost -u root -proot db < toto.sql

Pour changer le message de bienvenu quand on s'authentifie

sudo vim /etc/update-motd.d/

Connaître les variables bash

echo $ + TABULATION

Avoir les permissions sur un répertoire avec son utilisateur

sudo adduser <username> www-data

sudo chown -R www-data:www-data /var/www

sudo chmod -R g+rw /var/www

sudo reboot

Désactiver le bluetooth au démarrage

sudo vim /etc/rc.local

rfkill block bluetooth

Changer le nom de la machine

gksudo gedit /etc/hostname

sudo vim /etc/hosts

Lancer une application proprement

sudo vim /etc/init.d/your_file

sudo chmod 755 /etc/init.d/your_file

sudo /etc/init.d/your_file start

Nombre d’occurrence dans un fichier log

egrep "/Sep/2013" /var/log/apache2/access.log | wc -l

egrep "/Sep/2013" /var/log/apache2/access.log | cut -d\" -f2 | awk '{print $1 " " $2}' | cut -d? -f1 | sort | uniq -c | sort -n | sed 's/[ ]*//'

grep -cr '<record ' [chemin]

Nombre d'occurence de 404

awk '$9 == "404" {print $7}' access.log |sort|uniq -c|sort -rn| head -n 50

Changer le format d'un fichier avec vim

:set fileformat=unix

Enregistrer le bureau

CTRL + SHIT + ALT + R

Patcher un fichier

patch -p1 < views.patch

How can I make shutdown not require admin password?

http://askubuntu.com/questions/1190/how-can-i-make-shutdown-not-require-admin-password

Optimiser des PNG

find /chemin/vers/mon/dossier/ -type f -name '*.png' -exec bash -c "pngcrush -brute -rem text {} /tmp/crush.png && mv /tmp/crush.png {}" \;

Se connecter sur un autre poste utilisant la connexion à distance

rdesktop -u iexp -g 1280x1024 IP

Réduire le grattage sur son disque dur

vim /etc/sysctl.conf => rajouter vm.swappiness=10

Exporter l'image d'un layer photoshop

convert website-design.psd website-screenshot.png

Voir qui c'est connecté

https://www.digitalocean.com/community/tutorials/how-to-monitor-system-authentication-logs-on-ubuntu

Structure Unix

Réseaux

  • nmap -sP 192.168.0.* : pour avoir les IPs du réseaux
  • sudo nmap -sS 192.168.0.10 : scan discret des ports
  • sudo nmap -sV 192.168.0.10 : scan pas du tout discret des ports mais avec leur version de serveur
  • https://danielmiessler.com/study/tcpdump/
  • sudo tcpdump -D : pour connaître l'interface utilisé avec -i
  • sudo tcpdump -i lo -A : pour tout scanner
  • sudo tcpdump -n "host 192.168.0.10 and port 80" -A : ip gaming
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment