Zusammenfassung von 73 häufig verwendeten Befehlen in der Linux-Shell

高洛峰
Freigeben: 2023-03-05 14:50:02
Original
1658 Leute haben es durchsucht

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 ' '. =

Zusammenfassung

Das 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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!