Vorwort
Die Verwendung der Linux-Shell ist für einige Programmierer eine alltägliche Aufgabe, aber wir vergessen oft einige nützliche Shell-Befehle und -Techniken. Natürlich kann ich mich an den Befehl erinnern, aber ich kann nicht sagen, dass ich mich daran erinnern kann, wie eine bestimmte Aufgabe damit ausgeführt wird. Bitte beachten Sie, dass einige Nutzungen die Installation zusätzlicher Software auf Ihrem Linux-System erfordern. Im Folgenden gibt es nicht viel zu sagen, werfen wir einen Blick auf den detaillierten Inhalt.
Überprüfen Sie, ob der Remote-Port für Bash geöffnet ist:
echo >/dev/tcp/8.8.8.8/53 && echo "open"
Let den Prozess übertragen In den Hintergrund gehen:
Strg + z
Den Prozess in den Vordergrund holen:
fg
Generieren zufällige Hex-Zahl, wobei n die Anzahl der Zeichen ist:
openssl rand -hex n
Führen Sie einen Befehl in einer Datei in der aktuellen Shell aus:
Quelle /home/user /file.name
Die ersten 5 Zeichen abschneiden:
${variable:0:5}
SSH-Debug-Modus:
ssh -vvv user@ip_address
SSH mit PEM-Schlüssel:
ssh user@ip_address -i key.pem
Mit wget abrufen Die komplette Website-Verzeichnisstruktur wird im lokalen Verzeichnis gespeichert:
wget -r --no-parent --reject "index.html*" http://hostname/ -P /home/user /dirs
Mehrere Verzeichnisse gleichzeitig erstellen:
mkdir -p /home/user/{test,test1,test2}
Liste einschließlich untergeordneter Verzeichnisse Prozesse Prozessbaum:
ps axwef
War-Datei erstellen:
jar -cvf name.war-Datei
Festplatte testen Schreibgeschwindigkeit:
dd if=/dev/zero of=/tmp/output.img bs=8k count=256k; rm -rf /tmp/output.img
Test Lesegeschwindigkeit der Festplatte:
hdparm -Tt /dev/sda
MD5-Hash des Textes abrufen:
echo -n "text" |
XML-Format prüfen:
xmllint --noout file.xml
tar.gz in ein neues Verzeichnis extrahieren:
tar zxvf package .tar.gz -C new_dir
Verwenden Sie Curl, um HTTP-Header-Informationen abzurufen:
curl -I http://www.example.com
Ändern Sie den Zeitstempel einer Datei oder eines Verzeichnisses (JJMMTThhmm):
touch -t 0712250000 Datei
Verwenden Sie den Befehl wget, um den FTP-Download durchzuführen:
wget -m ftp:/ /username:password@hostname
Generieren Sie ein zufälliges Passwort (im Beispiel 16 Zeichen):
LANG=c < /dev/urandom tr -dc _A -Z-a-z- 0-9 |. head -c${1:-16};echo;
Eine Datei schnell sichern:
cp some_file_name{,.bkp}
Auf das freigegebene Windows-Verzeichnis zugreifen:
smbclient -U "DOMAINuser" //dc.domain.com/share/test/dir
Führen Sie den Befehl aus der Verlauf (hier ist Zeile 100):
!100
Entpacken:
unzip package_name.zip -d dir_name
Geben Sie mehrzeiligen Text ein (STRG + d zum Beenden):
cat > test.txt
Erstellen Sie eine leere Datei oder löschen Sie eine vorhandene Datei:
> ; test.txt
Zeit mit Ubuntu NTP-Server synchronisieren:
ntpdate ntp.ubuntu.com
Verwenden Sie netstat, um alle TCP4-Listening-Ports anzuzeigen:
netstat -lnt4 |. awk '{print $4}' |. cut -f2 -d: |. grep -o '[0-9]*'
qcow2 Bilddateikonvertierung:
qemu-img konvertieren -f qcow2 -O raw precision-server-cloudimg-amd64-disk1.img precision-server-cloudimg-amd64-disk1.raw
Führen Sie die Datei aus wiederholt und zeigt seine Ausgabe an (Standard ist einmal alle 2 Sekunden):
watch ps -ef
Alle Benutzerliste:
getent passwd
Root im Lese-/Schreibmodus mounten:
mount -o remount,rw /
Ein Verzeichnis mounten (dies ist der Fall, wenn Links nicht verwendet werden können):
mount --bind / source /destination
Dynamisches Update des DNS-Servers:
nsupdate <
recursive grep Alle Verzeichnisse: grep -r "some_text" /path/to/dir
Listen Sie die 10 größten Dateien auf: lsof / |. awk ' { if($7 > 1048576) print $7/1048576 "MB "$9 }' |. sort -n -u |. tail
Verbleibender Speicher anzeigen (MB):free - m |. awk '/[0-9]/{ print $4" MB" }'
Öffnen Sie Vim und springen Sie zum Ende der Datei: vim + some_file_name
Git clone den angegebenen Zweig (Master):git clone git@github.com:name/app.git -b master
Git-Wechsel zu einem anderen Zweig (entwickeln): git checkout entwickeln
Git-Zweig löschen (myfeature): git branch -d myfeature
Git löscht den Remote-Zweig git push origin :branchName
Git schiebt den neuen Zweig auf den Remote-Server: git push -u origin mynewfeature
Drucken Sie den letzten Cat-Befehl im Verlauf aus: !cat:p
Führen Sie den letzten Cat-Befehl aus der Verlauf: !cat
Alle leeren Unterverzeichnisse unter /home/user finden: find /home/user -max Depth 1 -type d -empty
Test.txt-Datei abrufen: < test.txt sed -n '50,60p'
Führen Sie den letzten Befehl aus (falls der letzte Der Befehl lautet mkdir /root/test, Folgendes wird ausgeführt: sudo mkdir /root/test): sudo !!
Erstellen Sie ein temporäres RAM-Dateisystem – Ramdisk (erstellen Sie die /tmpram-Verzeichnis zuerst): mount -t tmpfs tmpfs /tmpram -o size=512m
Grep ganze Wörter:grep -w "name" test .txt
Text an eine Datei anhängen, wenn erhöhte Berechtigungen erforderlich sind:
echo "some text" | sudo tee -a /path/file
Alle Kill-Signalparameter auflisten:
kill -l
Aufzeichnung der letzten Sitzung im Bash-Verlauf deaktivieren:
kill -9 $$
Scannen Sie das Netzwerk für offene Ports:
nmap -p 8081 172.20.0.0/16
Git-E-Mail festlegen:
git config --global user email „me@example .com“
Zur Synchronisierung mit dem Master, wenn Sie unveröffentlichte Commits haben:
git pull --rebase origin master
Alle Dateien, die „txt“ enthalten in ihren Dateinamen werden in das Verzeichnis /home/user verschoben:
find -iname "*txt*" -exec mv -v {} /home/user ;
Anzeige Dateien nebeneinander:
test.txt test1.txt einfügen
Fortschrittsbalken in der Shell:
pv data.log
Verwenden Sie Netcat, um Daten an den Graphite-Server zu senden:
echo "hosts.sampleHost 10 `date +%s`" |.
test.txt erweitern > test1.txt
Bash-Verlauf überspringen:
< Leertaste >cmd
Los zum vorherigen Arbeitsverzeichnis:
cd -
Die großen tar.gz-Dateien (jeweils 100 MB) aufteilen und wieder zusammenführen:
split –b 100m / path/to/large/archive /path/to/output/files cat files* > archive
Verwenden Sie Curl, um den HTTP-Statuscode abzurufen:
curl -sL -w " %{http_code}\n" www.example.com -o /dev/null
Root-Passwort festlegen, um die MySQL-Sicherheitsinstallation zu stärken:
/usr /bin/mysql_secure_installation
Wenn Strg + C nicht funktioniert:
Strg +
Dateieigentümer abrufen:
stat -c %U Datei. txt
Geräteliste blockieren:
lsblk -f
Dateien mit Leerzeichen am Ende ihrer Dateinamen suchen:
find . -type f -exec egrep -l " +$" {} ;
Suchen Sie die Datei, deren Dateiname das Tabulator-Einrückungszeichen hat
find - type f -exec egrep -l $'t' {} ;
Verwenden Sie „=", um horizontale Linien auszudrucken: Wählen Sie alle aus und kopieren Sie sie in Notizen
printf '%100sn' tr ' '. =ZusammenfassungDas Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels jedem beim Lernen oder bei der Arbeit helfen kann. Bitte hinterlassen Sie Nachrichten zur Kommunikation. Weitere verwandte Artikel, die die 73 häufig verwendeten Befehle in der Linux-Shell zusammenfassen, finden Sie auf der chinesischen PHP-Website!