BASH της σκονάκι
Αυτό είναι το BASH εξαπατήσει φύλλο μου. Είμαι εδώ για να συλλέξει χρήσιμα κομμάτια κώδικα και κατασκευάσματα που είχα στο Google από καιρό σε καιρό ή άλλως man'en. Το άρθρο αυτό εξυπηρετεί προσωπικά εμένα ως ένα βιβλίο αναφοράς, αλλά θα μπορούσε να είναι χρήσιμο στους άλλους που έχουν συχνά το Bourne-again κέλυφος να κάνει.
Αλέστε
ενώ [1] # Ατελείωτη βρόχο κάνω echo "Blah" γίνεται
for i in $ (ls / etc) κάνω echo $ θ γίνεται for i in `επόμενα 1 10`? κάνω echo $ θ γίνεται
Περίπτωση
περίπτωση "$ 1" σε α) echo "ένα" ?? β) β echo " ?? *) echo "$ 1 δεν είναι Α ή Β" ?? ESAC
Διακόπτες για δοκιμής: http://bash-hackers.org/wiki/doku.php/commands/classictest ή / Usr / bin / [- Βοήθεια
Αν-then-else
if ["$ 1" = "Α"], στη συνέχεια, echo "ένα" αλλού echo "όχι" fi
dpkg + apt
# Λίστα των εγκατεστημένων αρχείων από ένα πακέτο dpkg-L [το όνομα του πακέτου] # Εμφάνισε τα αρχεία σε ένα πακέτο dpkg-γ [package.deb] # Πληροφορίες για ένα πακέτο dpkg-i [package.deb] # Εμφάνισε όλα τα εγκατεστημένα πακέτα dpkg-l dpkg - get-selections> getselections.txt Εγκατάσταση # εισαγωγή από την επιλογή αρχείου dpkg - set-selections <getselections.txt
netstat
# Εμφανίζει όλα τα ανοιχτά λιμάνια προς τα έξω netstat-LPN | grep ΑΚΟΥΣΤΕ | grep-v localhost
mdadm
# Ελέγξτε το email σας # Χρησιμοποιεί MAILADDR από το / etc / mdadm / mdadm.conf mdadm - οθόνη -1 / dev/md0-t # Συσκευής να προσθέσετε στη σειρά mdadm - προσθήκη / dev/md0 / dev/sda1 # Αφαιρέστε τη συσκευή από τον πίνακα mdadm - αφαίρεση / dev/md0 / dev/sda1 # Κατάργηση ελαττωματικές συσκευές mdadm - διαχείριση / dev/md0 - Θέτετε τους ελαττωματικούς mdadm - διαχείριση / dev/md0 - αφαίρεση απέτυχε # Re-εγκατάσταση του φορτωτή εκκίνησης grub grub> root (hd0, 0) grub> setup (hd0) # Εξόδου πληροφοριών δίσκου smartctl-i / dev / sdX
ext
# Disklabel που e2label ετικέτα της συσκευής
Οθόνη
# Οθόνες για να δημιουργήσει αυτόματα scripts και εργασία οθόνη εκκίνησης οθόνη-S [ψευδώνυμο]-δ-μ [script.sh] # Δημιουργία ενός νέου οθόνη ή την τροποποίηση υφιστάμενων screen-r-δ [ψευδώνυμο] # Πληκτρολόγησης για να βγείτε από μια οθόνη CTRL - Α - Δ
mysql
# Όλες οι βάσεις δεδομένων σε ένα αρχείο ένδειξης σφαλμάτων mysqldump-u root-psecret - όλες τις βάσεις δεδομένων-> backup.sql # Μόνο η δομή της βάσης δεδομένων σε ένα αρχείο ένδειξης σφαλμάτων mysqldump-u root-psecret - χωρίς στοιχεία - όλες οι βάσεις δεδομένων-> backup.sql # Αποτύπωση Επαναφορά mysql-u root-psecret <backup.sql κωδικό του root # επαναφορά / etc / init.d / mysql στάση ηχώ "SET κωδικό πρόσβασης για'root' @'localhost' = ΚΩΔΙΚΟΣ ('new password')"> ~ / setrootpassword.sql mysqld_safe - init-file = ~ / setrootpassword.sql # [Ctrl] + [c] / etc / init.d / mysql ξεκινήσει rm-f ~ / setrootpassword.sql ImageMagick
# Αλλάξτε το μέγεθος όλων των εικόνων στον τρέχοντα κατάλογο mogrify-μέγεθος 800x600. / *. JPG # Όλες οι εικόνες στον τρέχοντα κατάλογο για να μετατρέψει PNG mogrify-μορφή PNG. / *
UnionFS-ασφάλεια
# Ένωσης μεταξύ α και β στο γ # Θα πρέπει να αναρτάται σε UnionFS-ασφάλεια-o αγελάδα / home / RW = ένα σπίτι :/ / β = RW / home / ww / Desktop / c
ffmpeg
# Μετατροπή flv σε 3gp ffmpeg-i-f 3gp-vcodec in.flv H263-s 176x144-αβ 12.2k-AR 8000-AC 1 out.3gp # Μετατροπή από σχεδόν οποιοδήποτε format σε οποιαδήποτε άλλη ελεύθερη η απώλεια όσο το δυνατόν ffmpeg-i infile.ext-pass 2-sameq outfile.ext
βρείτε
# Βρείτε αρχεία, και να κάνουμε κάτι μαζί τους βρείτε. -Όνομα "* mp3."-Exec αρχείο {} \? # Soft links μπορείτε να δείτε και βρείτε. -Τύπος L-exec ls-l} {\? # Συμπερίληψη όλων των αρχείων σε έναν κατάλογο βρείτε κατάλογο /-type f | wc-l
sudo
# / Etc / sudoers # Όνομα χρήστη εντολή κωδικό πρόσβασης χωρίς άδεια εκτελέσει μια προνομιακή # (Επισυνάπτονται στο τέλος πρέπει να είναι από το / etc / sudoers) username ALL = NOPASSWD: / sbin / reboot
iptables
# Αφήστε τα πάντα στην είσοδο iptables-F? iptables-P INPUT ACCEPT # Αποσφαλμάτωση συνδέσεις # Μετρητές πακέτων σε μια αλυσίδα στο 0 iptables-Z INPUT # Αλυσίδα με μετρητή πακέτο προβολής iptables-L-INPUT κατά
FTP βουνό
mkdir / tmp / mnt ασφάλεια modprobe curlftpfs-v-o-μη κενό ftp.host.com o χρήστης = όνομα: κωδικός / tmp / mnt umount / tmp / mnt
umount "συσκευή είναι απασχολημένη" - βρείτε-αποκλειστές διαδικασία
fuser-μ [mountpoint] wget ιστοσελίδα mirrorn
wget-χιλιόμετρα http://www.website.com SAMBA βουνό
mount.cifs / / 192.168.0.1/share / media / μετοχή-o username = $ username, password = $ ΚΩΔΙΚΟΥ 32bit ή 64bit
getconf LONG_BIT / Etc / fstab
NFS: 192.168.0.1 :/ home / home nfs rsize = 8192 wsize = 8192, σκληρά, intr 0 0
Ο δίσκος είναι γεμάτος - Βρείτε γουρούνια μνήμη
apt-get install ncdu ncdu # / Βάσεις και χωρίς καμία άλλη ΕΛ / mnt # (Εάν τα δεδομένα αναρτήσεις κάλυψη στον τοπικό δίσκο) mnt / δεσμεύουν / - mount, du-SM / mnt
Πλήρης κρυπτογράφηση του συστήματος
Πολύ καλό φροντιστήριο από τον Ανδρέα Haerter: http://blog.andreas-haerter.com/2011/06/18/ubuntu-festplattenvollverschluesselung-lvm-luks
Δίσκου μέσω της κλωνοποίησης LAN
dd if = / dev / hda | ssh-γ Blowfish-Γ root@otherbox.ip.addr dd of = / dev / hda Η τρέχουσα παραγωγή TIMESTAMP UNIX (Ε.Τ.)
ημερομηνία +% s Αστερίσκος
# Μετατροπή αρχείου ήχου σε μορφή που μπορεί να αναπαραχθεί το Asterisk ffmpeg-i-AR 8000-AC ./input.mp3 1 από 64. / output.wav

8 Απρίλη, 2010
Λείανσης:
- Ατελείωτες ενώ: ενώ η αλήθεια? ...
- Ανάλυσης Ls είναι ένα είδος μη-όχι: cd / etc για το i στο *? ... Ή απλά αν ισχύει το / etc / *. Οι ρυθμοί ανάπτυξης τους για πάντα.
Υπόθεση:
- Δεν αναφέροντας λέξη τις παραμέτρους της δοκιμής, όπως απαιτείται (αλλά όχι εσφαλμένη)
Δοκιμή:
- Όταν χρησιμοποιείτε το / usr / bin / [που χρησιμοποιούνται για την κωδικοποίηση, και / usr / bin / [που χρησιμοποιείται αντί του [(ενσωματωμένο bash)
- Προτεινόμενα: το [[]] Λέξη (bash)
ImageMagick:
- .. / [Jj] [PP] [Gg], ή να βοηθήσει άλλη μέθοδο για την υπόθεση-αναισθησία μπορεί να