BASH antisèche
Ceci est mon BASH feuille de triche. Je suis ici pour recueillir des extraits de code utiles et les constructions que j'ai eu à google de temps en temps ou autrement man'en. L'article me sert personnellement comme un livre de référence, mais pourrait être utile à d'autres qui ont souvent le shell Bourne-again à faire.
Moudre
tandis que [1] # Boucle sans fin faire echo "Blah" fait
for i in $ (ls / etc) faire echo $ i fait for i in `seq 1 10`; faire echo $ i fait
Cas
case "$ 1" dans a) echo "un" ;; b) echo b " ;; *) echo "$ 1 n'est pas sur a ou b" ;; esac
Interrupteurs pour Test: http://bash-hackers.org/wiki/doku.php/commands/classictest~~HEAD=NNS ou / Usr / bin / [- help
Si-Alors-Sinon
if ["$ 1" = "a"], puis echo "un" d'autre echo "pas un" fi
dpkg + apt
Liste des fichiers installés # à partir d'un package dpkg-L [nom du paquet] # Lister les fichiers dans un paquet dpkg-c [paquet.deb] # Informations sur un paquet dpkg-I [paquet.deb] # Liste tous les paquets installés dpkg-l dpkg - get-selections> getselections.txt Installation # import à partir de sélection de fichier dpkg - set-selections <getselections.txt
netstat
# Liste tous les ports ouverts sur l'extérieur netstat-LPN | grep LISTEN | grep-v localhost
mdadm
# Testez votre e-mail # Utilise MAILADDR du fichier / etc / mdadm / mdadm.conf mdadm - moniteur -1 / dev/md0-t # Dispositif d'ajouter à la matrice mdadm - add / dev/md0 / dev/sda1 # Supprimer le périphérique à partir du tableau mdadm - remove / dev/md0 / dev/sda1 # Suppression des appareils défectueux mdadm - manage / dev/md0 - remove défectueux mdadm - manage / dev/md0 - remove a échoué Chargeur de démarrage # Réinstallez ver grub> root (hd0, 0) grub> setup (hd0) # Sortie d'informations de disque smartctl-i / dev / sdx
poste
# Disklabel mis étiquette de l'appareil e2label
Écran
Écrans # pour générer automatiquement des scripts et l'écran début de la tâche écran-S [nom d'écran]-d-m [script.sh] # Créer un nouvel écran ou pour modifier existants écran-R-d [nom d'écran] # De frappe pour quitter un écran CTRL - A - D
mysql
# Toutes les bases de données dans un fichier de vidage mysqldump-u root-psecret - all-databases> backup.sql # Seule la structure de base de données dans un fichier de vidage mysqldump-u root-psecret - no-data - toutes les bases-> backup.sql # Dump de restauration mysql-u root-psecret <backup.sql mot de passe root # reset / etc / init.d / mysql stop écho "SET MOT DE PASSE POUR'root' @'localhost' = MOT DE PASSE ('new password')"> ~ / setrootpassword.sql mysqld_safe - init-file = ~ / setrootpassword.sql # [ctrl] + [c] / etc / init.d / mysql start rm-f ~ / setrootpassword.sql imagemagick
# Redimensionner toutes les images dans le répertoire courant mogrify-redimensionner 800x600. / *. JPG # Toutes les images dans le répertoire courant à PNG converti mogrify format png. / *
unionfs-fuse
# Union entre a et b en c # Sera affiché sur un unionfs-fuse-o vache / home / a = RW :/ home / b = RW / home / ww / Desktop / c
ffmpeg
# Convertir flv en 3gp ffmpeg-i-f-3gp vcodec in.flv h263-s 176x144-ab 12,2 K-ar 8000-ac 1 out.3gp # Convertir à partir de n'importe quel format à n'importe quel autre que la perte de libre que possible ffmpeg-i infile.ext-pass 2-sameq outfile.ext
trouver
# Trouver les fichiers, et faire quelque chose avec eux trouver. -Nom "* mp3." Exec-fichier {} \; # Liens souples peuvent afficher et trouver. -Type l-exec ls-l {} \; # Inclure tous les fichiers dans un répertoire find / répertoire-type f | wc-l
sudo
# / Etc / sudoers Utilisateur # nom d'utilisateur mot de passe commande sans un permis d'exécuter un privilège # (On trouvera en annexe à la fin doit être dans / etc / sudoers) nom d'utilisateur ALL = NOPASSWD: / sbin / reboot
iptables
# Autorise tout sur ENTRÉE iptables-F; iptables-P INPUT ACCEPT # Debug connexions Compteurs de paquets # dans une chaîne à 0 iptables-Z ENTREE # Chaîne avec le paquet d'affichage du compteur iptables-L INPUT-v
FTP montage
mkdir / tmp / mnt fusible modprobe curlftpfs-v-o-o non vide ftp.host.com user = username: Mot de passe / tmp / mnt umount / tmp / mnt
umount "device is busy" - trouver-processus de blocage
fuser-m [mountpoint] site mirrorn wget
wget km http://www.website.com SAMBA mount
mount.cifs / / 192.168.0.1/share / media / share-o username = $ USERNAME, password = $ PASSWORD 32bit ou 64bit
getconf LONG_BIT / Etc / fstab
NFS: 192.168.0.1 :/ home / home nfs rsize = 8192 wsize = 8192, hard, intr 0 0
Full Disk - Trouver les porcs de mémoire
apt-get install ncdu ncdu # / Monts sans aucune autre FS / mnt # (Si les données montures de couverture sur le disque local) mnt / bind / - montage, du-sm / mnt
Chiffrement complet du système
Très bon tutoriel par Andreas Haerter: http://blog.andreas-haerter.com/2011/06/18/ubuntu-festplattenvollverschluesselung-lvm-luks
Disque par le biais du clonage LAN
dd if = / dev / hda | ssh-c blowfish-C root@otherbox.ip.addr dd of = / dev / hda Sortie courant TIMESTAMP UNIX (HE)
date +% s Astérisque
# Convertir un fichier son au format jouable Asterisk ffmpeg-i-ar 8000-ac ./input.mp3 1 à partir de 64 ans. / output.wav

8 avril 2010
Rectification:
- Tout sans fin: while true; ...
- L'analyse Ls est une sorte de no-no: cd / etc for i in *; ... ou tout simplement le cas échéant le fichier / etc / *. Les taux de croissance de eux pour toujours.
Affaire:
- Non citant mot des paramètres de test en fonction des besoins (mais pas incorrect)
Test:
- Lorsque vous utilisez le répertoire / usr / bin / [est utilisé pour le codage et / usr / bin / [utilisée à la place de [(builtin bash)
- Préféré: le [[]] Mot-clé (bash)
Imagemagick:
- .. / [JJ] [Pp] [Gg], ou aider une autre méthode pour insensibilité à la casse peut