Vielleicht haben viele Leute die Namen Shell oder Bash gehört, aber ich frage mich, ob Sie wissen, was sie sind?
Kehren wir zum Grundwissen über Computer zurück: Alle Computer bestehen aus Hardware und Software. Hardware ist der Teil, den jeder berühren und sehen kann, wie zum Beispiel: Tastatur, Bildschirm, CPU, Speicherkörper, Festplatte usw. Ohne Hardware gäbe es den sogenannten Computer nicht, denn die Eingabe und Ausgabe des gesamten Systems sowie die Berechnungen sind untrennbar mit der Hardware verbunden. Darf ich fragen: Wie benutzt man einen Computer ohne Tastatur und Bildschirm? Allerdings werden die Eingaben, die Sie über die Tastatur vornehmen, und die Ausgaben, die Sie auf dem Bildschirm sehen, tatsächlich durch die Software ermöglicht. Die Software, die direkt mit dieser Hardware kommuniziert, ist der sogenannte Kernel. Der Kernel muss in der Lage sein, Tastatureingaben zu übernehmen, sie dann zur Verarbeitung an die CPU zu übergeben und schließlich die Ausführungsergebnisse auf dem Bildschirm auszugeben. Natürlich muss bis auf Tastatur und Bildschirm die gesamte Hardware vom Kernel unterstützt werden, bevor sie verwendet werden kann.
Woher weiß der Kernel also, was wir auf der Tastatur eingeben? Dafür ist die Shell verantwortlich, die wir hier vorstellen. Denn die vom Computer selbst verarbeiteten Daten sind binärer Maschinencode, der sich stark von der Sprache unterscheidet, die wir Menschen gewohnt sind. Wenn wir beispielsweise den Befehl pwd eingeben, wissen wir, dass dies das Drucken des Arbeitsverzeichnisses bedeutet (eine sehr einfache menschliche Stimme), aber als Kernel weiß er nicht, was pwd ist. Der Kernel schaut sich dabei nur den Maschinencode an Zeit, die Shell Es wird uns helfen, pwd in Code zu übersetzen, den der Kernel verstehen kann. Wenn wir Computer verwenden, beschäftigen wir uns daher grundsätzlich mit der Shell und kommunizieren nicht direkt mit dem Kernel, geschweige denn direkt mit der Hardware.
Skript zum Sichern von Websites und Datenbanken, die mit dem Batch-Programm bat unter Windows entwickelt wurden
@echo off set date=%date:~0,4%-%date: ~5,2%-%date:~8,2% mysqldump -uroot -ppassword -A -B > D:\back\"%date%".sql rar.exe a -k -r -s -ml D:\bak\"%date%".sql.rar D:\bak\"%date%".sql del D:\bak\*.sql rar.exe a -k -r -s -ml D:\bak\"%date%"htdocs.rar D:\work\PHPnow\htdocs
Befehlsskript zum Löschen der Systemprotokolldatei /var/log/message
# 使用root身份运行这个脚本 # 清除日志版本,版本:v1 cd /var/log cat /dev/null > messages echo "Logs cleaned up."
Probleme:
1. Es kann nicht ohne Root-Ausführungsberechtigungen ausgeführt werden
2. Es gibt keine Prozesskontrolle, um festzustellen, ob die Datei existiert
LOG_DIR=/var/log # $UID为0的时候,用户才具有root用户的权限 ROOT_UID=0 # 使用root用户来运行 if [ "$UID" -ne "$ROOT_UID" ] then echo "Must be root to run this script." exit 1 fi cd $LOG_dir || { echo "Can't change to necesary directory." >&2 exit 1 } cat /dev/null > messages echo "Logs cleaned up." exit 0 # 推出之前返回0表示成功,返回1表示失败
Das obige ist der detaillierte Inhalt vonWas genau ist ein Shell-Skript? Wie benutzt man?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!