Grundlegende Befehle auf der Kommandozeile

Aus Synology Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Vorbemerkung

Wenn man sich z. B. über Telnet in der Kommandozeile der DiskStation befindet, kann man mit folgenden Befehlen grundlegende Funktionen ausführen.

Normalerweise kann man die Bearbeitung der Befehle mit Strg+C abbrechen.

Sicherheitshinweis zu TELNET und FTP

Telnet ist OK, solange man sich im eigenen Intranet befindet, wenn man sich jedoch aus einem anderen Netzwerk einloggen will sollte man den sicheren SSH Dienst (Port 22) nutzen, bzw. FTPES. Unverschlüsselte Protokolle wie FTP und Telnet sowie deren Ports, Port 20,21 (ftp) und Port 23 (telnet) sollten NIE von außen sichtbar sein. Ausser man setzt FTPES ein, welches die Firmware im Gegensatz zu SFTP (FTP via SSH) von Hause aus bietet

Ein schlauer Zug ist es in der SSH config den Port zu verlegen, z.B. auf einen sehr hohen Port, wie 22022 (soweit scannt dann kein Portscanner mehr). Das Problem ist nur dass Synology euch gnadenlos die Einstellung nach jedem Update wieder auf 22 setzen wird. Warum Synology das tut ist mir bis heute ein Rätsel.

Wichtiger als der Port von SSH ist es ein sicheres Passwort zu haben oder gleich nur Zertifikats-Login zuzulassen!

Midnight Commander

Kommandozeile Bearbeitung macht man am besten mit dem Midnight Commander, einer Norton Commander klone.
Installation per 'ipkg install mc'.
Er enthält 2 Wichtige Komponenten:

  1. Das Hauptprogramm, als eine Art Verzeichnis Explorer. Man startet Midnight Commander mit dem Befehl:
mc -c
  1. Der Midnight Editor, als Alternative zum vi (vollster Respekt, und tiefste Verbeugung vor vi :q!)
mcedit /pfad/zu/datei

Dateiverwaltung

Verzeichnisse

In ein Verzeichnis wechseln

cd /directoryName

Wo befinde ich mich?

pwd

Verzeichnis erstellen

mkdir /directoryName

Verzeichnis anzeigen

dir
bzw.
ls

Größe eines Verzeichnisses mit Unterverzeichnissen anzeigen

du -ah /path/to/dir

Anzahl der Dateien eines Verzeichnisses mit Unterverzeichnissen anzeigen

find /path/to/dir -type f | wc -l

find listet alle Files auf (- type f), der Output wird in den wc geschickt, der mit -l die Zeilen zählt. Ausgegeben wird nur die Anzahl der Files.

Dateien

Eine Datei suchen

find / -name fileName

Löschen einer Datei

rm fileName

Löschen eines Verzeichnisses mit Inhalt

1)
rm -r directoryName
2)
rm -Rf directoryName
(laut Thread 58472)
  • Achtung: Nur mit größter Vorsicht verwenden!
  • Frage: Was stimmt nun wirklich?

Umbenennen oder Verschieben einer Datei

mv /sourceDirectory/sourceFile /destination

Datei kopieren

cp /sourceDirectory/sourceFile /destination

Mehrere Dateien kopieren

cp /sourceDirectory/*.* /destination

stand 2011 lautet der Befehl:

cp /sourceDirectory/* /destination

Ein Verzeichnis mit Unterverzeichnissen kopieren

cp -r -p /sourceDirectory /destinationpath

tar-Archive (.tar)

Ein nicht-komprimiertes tar-Archiv (.tar) erstellen

Erstellt ein nicht-komprimiertes tar-Archiv aller Dateien und Unterverzeichnisse im aktuellen Verzeichnis:

tar -cvf archivefilename.tar *

Ein komprimiertes tar-Archiv (.tgz) erstellen

Erstellt ein komprimiertes tar-Archiv aller Dateien und Unterverzeichnisse im aktuellen Verzeichnis:

tar -cvzf archivefilename.tgz *

.tar Archive entpacken

Für nicht-komprimierte .tar Archive:

tar xvf file.tar

Für gzip komprimierte .tar.gz (oder .tgz) Archive:

tar xvzf file.tar.gz

System-Verwaltung

Start und Stopp

Neustart der Synology Station

reboot

Herunterfahren der Synology Station

poweroff

Prozesse

Aktuell laufende Prozesse anzeigen

top

Alle Prozesse anzeigen

ps -w

Einen Prozess beenden

kill processID

Ein Programm beenden

killall programName

Logs

System-Logbuch anschauen

more /var/log/messages

Und wenn man das dynamisch haben will, quasi um eine log in realtime zu verfolgen

tail -f /var/log/messages

System-Start-Logbuch anschauen

dmesg | more

Programme

Ein IPKG-Programm suchen

ipkg list fileName

der Befehl "list" such nach einem genauen Pattern. Deswegen empfiehlt sich :

ipkg list *fileName*

Ein IPKG-Programm installieren

Voraussetzung dafür ist eine Installation von IPKG selbst

ipkg install fileName

grundsätzlich davor immer ipkg update

Ein IPKG-Programm deinstallieren

ipkg remove filename

Dienste neu starten

DSM 5.x, DMS 6.x und neuer

Dienste/Deamon kann man mit synoservicectl starten, stoppen, neu starten, neu laden und den status abfragen

        --start         Start service => Startet den Dienst 
        --stop          Stop service => Stoppt den Dienst 
        --restart       Restart service => Starten den Dienst neu
        --reload        Send HUP signal to service => Sendet ein "Hang Up", d.h. Das Betriebssystem sendet ein Signal zum Prozess damit er kontrolliert beenden kann um danach wieder zu starten
        --status        Query status of service. => Status des Dienstes

DSM 6.x

Das Admin-Interface (DSM) wird ab 6.0 durch den nginx-Dienst betrieben. Um das Webinterface neu zu starten kann man dies wie folgt durchführen:

synoservicectl --restart nginx

DSM 5.x

apache

synoservicectl --restart httpd-user

SMB, Windows Dateidienst

synoservicectl --restart smbd

SSH Dienst

synoservicectl --restart sshd

Cron

synoservicectl --restart crond

NTP, Zeitserver

synoservicectl --restart ntpd

FTP

synoservicectl --restart ftpd

Index-Dienst

synoservicectl --restart synoindexd


ab DSM 4.x und älter

apache

/usr/syno/etc/rc.d/S97apache-user.sh restart

zur Kompatibilität mit anderen LINUX-en kann man sich einen kleinen Script basteln der dann auf apachectl [start|restart|stop] hört, und der dann auch in der $PATH ist.
(dazu einfach auf der Konsole als root folgende Befehle nacheinander eingeben.)

touch /usr/local/bin/apachectl
echo "#!/bin/sh">/usr/local/bin/apachectl
echo '/usr/syno/etc/rc.d/S97apache-user.sh $1'>>/usr/local/bin/apachectl
chmod 755 /usr/local/bin/apachectl

danach kann man den Webserver wie gewohnt mit apachectl [start|restart|stop] steuern

appletalk

/usr/syno/etc/rc.d/S81atalk.sh restart

cron

/usr/syno/etc/rc.d/S04crond.sh stop
/usr/syno/etc/rc.d/S04crond.sh start

oder

ps |grep crond|grep -v grep|awk '{print $1}'|xargs kill -HUP

ftp

/usr/syno/etc/rc.d/S99ftpd.sh restart

index

/usr/syno/etc/rc.d/S66synoindexd.sh restart

iTunes

/usr/syno/etc/rc.d/S99iTunes.sh restart


ldap

/usr/syno/etc/rc.d/S10slapd.sh restart

zur Kompatibilität mit anderen LINUX-en kann man sich einen kleinen Script basteln der dann auf ldapctl [start|restart|stop] hört, und der dann auch in der $PATH ist.
(dazu einfach auf der Konsole als root folgende Befehle nacheinander eingeben.)

touch /usr/sbin/ldapctl
echo "#!/bin/sh">/usr/sbin/ldapctl
echo "/usr/syno/etc/rc.d/S10slapd.sh \$1">>/usr/sbin/ldapctl
chmod 755 /usr/sbin/ldapctl

danach kann man den LDAP Server wie gewohnt mit ldapctl [start|restart|stop] steuern

mysql

DSM < 5.0:

/usr/syno/etc/rc.d/S21mysql.sh restart

DSM ≥ 5.0:

/usr/share/mysql/mysql.server restart

nfs

/usr/syno/etc/rc.d/S83nfsd.sh restart

postgresql

/usr/syno/etc/rc.d/S20pgsql.sh restart

samba

/usr/syno/etc/rc.d/S80Samba.sh restart

SNMP

<pre/usr/syno/etc.defaults/rc.d/S08snmpd.sh restart</pre>

SSH

/usr/syno/etc.defaults/rc.d/S95sshd.sh restart

VPN Client

poff -a
pppd file /etc/ppp/peers/connect_*

Benötigt > DSM 4.0 und das Webinterface zeigt leider nicht an, dass man eine VPN Verbindung benutzt.

System Informationen

Systemspeicher

cat /proc/meminfo

CPU Infos

cat /proc/cpuinfo

Verwendete Interrupts

cat /proc/interrupts

Verwendete Dateisysteme

cat /proc/filesystems

Linux Version

cat /proc/version

Geräte

cat /proc/mdstat

Umgebungsvariabeln

env

Physische und logische Partitionen

Für Systeme mit mehreren Laufwerken und erweiterte Infos
cat /proc/diskstats

oder für alle Systeme

cat /proc/partitions

Sonstiges

Terminal/Konsole Bildschirm löschen

clear

Einen Dump in eine Datenbank importieren

/usr/syno/mysql/bin/mysql --user=root --password=mein-pw meine-db < /volume1/dir/mein-dump.sql

mein-pw, meine-db und mein-dump sind dabei entprechend zu ersetzen. Wenn der Dump utf-8-kodiert ist, kann ein zusätzliches --default-character-set=utf8 notwendig sein.

Unnötige Dienste stoppen

Konvertierung der Bilder stoppen (convert)

Bremst stark das Kopieren der großen Datenmengen und verbraucht Arbeitsspeicher auch wenn Photostation abgeschaltet ist.

/usr/syno/etc/rc.d/S77synomkthumbd.sh stop