Users4Users : Die besten NICHT-geheimen "Shell-Tricks" der Linux-User

Kernelman

Member
AW: ping, whois, traceroute, nmap

Nachtrag zum Befehl "whois":

TypeRyder schrieb:
2. whois
Was mache ich, wenn ich wissen will, wem eine Domain gehört? Ich könnte z.B. ins Impressum der jeweiligen Webseite schauen, aber das ist nur in einem kleinen Teil der Fälle erfolgreich (da es nicht überall eine Impressumspflicht gibt und zum anderen viele Betreiber auch ihr Recht auf Anonymität wahrnehmen und kein Impressum einstellen - was allerdings in D leicht teure Folgen haben kann :mad:). Will ich die Information schnell und auch möglichst genau haben, dann kann ich den whois-Befehl nutzen.

Die whois-Ausgabe ist sehr umfangreich. Neben dem üblichen Disclaimer am Anfang, der auf die Datenschutzbestimmungen und die Nutzung der whois-Datenbanken informiert, erhalte ich die Informationen zur gewünschten Domain. Darin enthalten sind unter anderem die Informationen
a) Wem gehört die Domain? (im Beispiel die REGISTRANT-Informationen)
b) Wer ist der administrative Ansprechpartner? (Der ADMIN-C)
c) Wer ist der technische Ansprechpartner? (Der TECH-C)

Der administrative Ansprechpartner ist zuständig für alle INHALTLICHEN Fragen und zum Beispiel für die Verletzung der Impressumspflicht zuständig. Der TECH-C wiederum ist Ansprechpartner für alle technischen Probleme mit der Domain. Die entsprechenden Daten in Klammern werden bei einer whois-Abfrage natürlich ausgegeben, sind aber durch mich ersetzt worden (es ist keine gute Idee, Adressdaten, Emailadressen oder Telefonnummern in öffentlichen Foren zu posten...).
Zu weiteren Inhalten schaut euch bitte die MAN-Seiten und die darin angegebene weiterführende Literatur an.
Da TypeRyder ja bekanntermaßen an Gedächtnisschwund leidet und zusätzlich als sehr "debianlastig" gilt, ist es ihm nachzusehen, dass er manche Information nicht oder nur eingeschränkt weitergibt.:rolleyes:

Für SuSE-Nutzer sei ergänzend angeführt, dass "whois" u.U. nachinstalliert werden muss.
Code:
apt install whois

OT:
Jetzt lässt sich auch nachvollziehen, warum der gute alte TR hier so lange nicht zugange war. Er hat schlicht und einfach seine Zugangsdaten VERGESSEN!;)


Gruß

KM
 

TypeRyder

Member
AW: Users4Users : Die besten NICHT-geheimen "Shell-Tricks" der Linux-User

Mist, erwischt - ich muss unbedingt mit meinem Arzt sprechen, damit er die Dosis erhöht... *Drogen einwerf*

Aaaaaaber... um hier nicht nur rumzuspammen, auch noch was sinnvolles, zu dem mich Kernelmans Beitrag gebracht hat:

Der alias-Befehl
Mit dem alias-Befehl kann man sich längere Befehlsketten vereinfachen, indem man ihnen ein einfaches Wort zuweist.
Bei SuSE z.B. gibts als Standardalias dir="ls -l".

Welche Aliase bereits eingerichtet sind, erfährt man mit dem Befehl:
Code:
alias
Und so kann man selber einen Alias anlegen:
Code:
alias [gewünschte Bezeichnung] = "[bisheriger Befehl'
am Beispiel dir:
Code:
alias dir = "ls -l"
Mir hilft das natürlich nix - ob ich den ursprünglichen Befehl oder den von mir eingerichteten Alias vergesse, hat grad die gleichen Konsequenzen... :)
 
AW: Users4Users : Die besten NICHT-geheimen "Shell-Tricks" der Linux-User

So, jetzt will (und kann) ich meinen Senf auch mal zugeben.
Ich wollte vor kurzem mal wissen, wie ich den freien Platz auf der Festplatte herausfinde.
Da gibt es einen recht einfachen Befehl.
Code:
 df
Kann man sich gut mit der Eselsbrücke DIE FESTPLATTE merken.
Dabei gleich ein Gruss an BASTI, der mir dies verraten hat ;o)
 

TypeRyder

Member
AW: Users4Users : Die besten NICHT-geheimen "Shell-Tricks" der Linux-User

Moin zusammen,

aus der Grabbelkiste der Kommandozeilentools habe ich grad ein nettes Programm gefunden, daß ich euch nicht vorenthalten will.

Wer sich immer schon gefragt hat, wie man diese netten Hintergrundgrafiken hinbekommt, auf denen irgendwelche logfiles eingebunden sind, der sollte sich mal root-tail anschauen.

Das Programm wird HIER vorgestellt, nützliche Informationen inklusive eines Anwendungsbeispieles gibts in der Manpage.

Das ganze kann man z.B. folgendermaßen aufrufen:
Code:
root-tail -g 800x250+100+50 /var/log/messages,green
Der Befehl bewirkt die Ausgabe der messages-Logdatei in grüner Farbe mit einer 800x250-Auflösung. Im Anhang sieht man dann, wie das aussieht.
 

Rain_Maker

Administrator
Teammitglied
Rund um Kernelmodule

Hallo,

Und hier die wichtigsten Befehle zum Umgang mit Kernelmodulen. Für alle neueren Distributionen mit einem Kernel aus der 2.6er Reihe, haben Module folgende Struktur:

Modulname.ko

ko = Kernel Object

Die laufende Kernelversion zeigt der Befehl
Code:
uname -r
an.

1. Zunächst, wie lade bzw. entlade ich ein Modul?

Hierzu braucht es Rootrechte.

Code:
su

(Passwort)
Laden eines Moduls

Code:
modprobe Modulname # Dieser Befehl sollte bevorzugt verwendet werden

insmod /Pfad_zum_Modul/Modulname.[B]ko[/B] #älterer Befehl und dann
nützlich, wenn ein Modul noch nicht installiert wurde, also z.B. 
direkt nach dem Kompilieren eines Moduls zum Testen geeignet
Enladen des Moduls.


Code:
modprobe -r Modulname #-r = remove

rmmod Modulname
2. Welche Module sind gerade geladen? (geht auch als "normaler" User)

Code:
lsmod
Ist ein bestimmtes Modul geladen?

Code:
lsmod|grep Modulname
Hierbei kommt es oft zu mehreren Treffern, da bei lsmod auch angegeben wird, welche Module in Abhängigkeit eines anderen Moduls geladen wurden.

Beispiel, das Kernelmodul "fglrx", welches zum CSS-ATI Treiber gehört:
Code:
lsmod|grep fglrx
fglrx                 399020  8
agpgart                33096  2 fglrx,intel_agp
Die abhängigen Module fglrx und intel_agp sieht man hier beim Modul agpgart hinten angestellt.

3. Informationen zu einem Modul (keine Rootrechte erforderlich)
Code:
/sbin/modinfo Modulname
Als normaler User muß der vollständige Pfad angegeben werden, als root reicht 'modinfo Modulname' aus.

Weitere Informationen finden sich in den jeweiligen Manpages, also unter:
Code:
man modprobe

man insmod

man rmmod

man lsmod

man modinfo
Greetz,

RM
 

Rain_Maker

Administrator
Teammitglied
Wo lag der Befehl schon wieder? => which

Hallo,

Der Befehl "which" zeigt einem den vollen Pfad eines (Shell) Kommandos an.

Unter Ubuntu/Debian liegen die ganzen Binaries von KDE in /usr/* und bei SuSE?

Code:
find /usr/ -name konqueror
dauert erstens ewig und liefert kein brauchbares Ergebnis.

Wo war das denn noch mal bei SuSE?

Code:
which konqueror
/opt/kde3/bin/konqueror
Ah ja, SuSE legt KDE/GNOME in /opt/ ab.

Der Vorteil zu 'locate' oder 'find' liegt darin, daß nur ausführbare Dateien angezeigt werden und z.B. keine Dokumentationen.

Greetz,

RM
 

Rain_Maker

Administrator
Teammitglied
Etwas präziser bitte => head, tail, grep&co

Man kennt das ja als gestresster Umsteiger/Einsteiger.

Da werden einem solche Dinge wie "Schaue mal in Datei *xy* nach Fehlern oder dem Eintrag von *blablubb* nach", oder sowas wie "Was sind denn die letzten paar Ausgabe von *dingens*, bevor *bumens* passiert?" von irgendwelchen Helfern nur so um die Ohren gehauen.

Da hat man nun nach meist mühevoller Suche die entsprechende Datei gesucht und die ist natürlich ellenlang.

Statt aber nun die Datei mit einem Texteditor zu öffnen und Mit "Suchen" durch den ganze Text zu gehen, und sich dann die entsprechenden Zeile heraus zu kopieren, kann man das auch den "Rechenknecht" erledigen lassen, dazu ist er schließlich da.

1. Suche nach (einem) bestimmten Begriff(en) in einer Datei/Shellausgabe:

Code:
grep Suchbegriff /Pfad/zur/Datei/Datei
Beispiel: Ist das Modul "v4l" in meiner xorg.conf enthalten?

Code:
grep v4l /etc/X11/xorg.conf
        Load  "v4l"
Wie man sieht, spuckt grep gleich die gesamte Zeile aus.

Linux ist aber "case-sensitive", was tun, wenn ich nicht mehr genau weiß, ob der Begriff Groß-/Kleinschreibung enthält?

Code:
grep -i Suchbegriff /Pfad/zur/Datei/Datei
Der Parameter "-i" steht für "Ignore case".

Beispiel:
Code:
grep dri /etc/X11/xorg.conf
        Load  "dri"
grep -i dri /etc/X11/xorg.conf
        Load  "dri"
        Driver      "kbd"
        Driver      "mouse"
        Option      "VendorName" "ATI Proprietary Driver"
        Driver      "fglrx"
Section "DRI"
Man sieht glaube ich den Unterschied deutlich.

Und wenn ich mehrere Begriffe auf einmal suchen will?

Hier hilft "egrep" (extended grep), die Syntax muß man sich nur einmal genau ansehen, egrep akzeptiert übrigens auch die selben Parameter wie grep (z.B. -i).

Code:
egrep 'Suchbegriff1|Suchbegriff1|Suchbegriff2|Suchbegriff3|' /Pfad/zur/Datei/Datei
Beispiel: Sind in der Konfiguration meiner Netzwerkkarte

- Benutzersteuerung aktiviert?

- eine feste IP eingestellt oder DHCP?

- Der Startmodus auf Automatisch, Manuell oder eine andere Option gesetzt?

Da wir nicht 100% genau wissen, was GROSS und was klein geschrieben ist, nutzen wir "-i".
Wie man auch sehen kann, reichen Teile des später wirklich gefundenen Begriffes als Suchwort aus, das Setzen von"Wildcards" wie "*" ist bei grep NICHT nötig, wohl aber bei eth*, weil ich die MAC-Adresse meiner Karte auch nicht auswendig weiß *g*.

Code:
egrep -i 'usercontrol|bootpro|startmod' /etc/sysconfig/network/ifcfg-eth*
BOOTPROTO='static'
STARTMODE='ifplugd'
USERCONTROL='yes'
OK, Karte bekommt eine feste IP (static) wird bei Kabelanschluß aktiviert (ifplugd) und ich kann sie als "normaler" Nutzer mit Kinternet steuern (USERCONTROL='yes').

Was steht denn so "drumherum" um meinen Suchbegriff?

Hier nutzt man die Optionen -A*AnzahlderZeilen* oder -B*AnzahlderZeilen*.

-A = After => Was steht dahinter?

-B = Before => Was steht davor?

Grep eignet sich hervorragend zur Benutzung in einer "Pipe", wenn man eine Shellausgabe filtern will.

Beispiel: In meinen Smart-Channeln habe ich doch irgendwo einen Channel mit den Paketen für das flash-plugin. Da ich nicht weiß (oder mal so tue *g*) wie genau die Syntax aussieht und genauer wissen will, wie der Channel definiert wird, schaue ich mir die 5 Zeilen vor und nach dem Suchbegriff mal an. Dazu verwende ich den smart-Befehl, der mir die gesamte :)eek:) Channellliste ausspuckt und "pipe" ihn durch grep.

Code:
smart channel --show|grep -A5 -B5 flash
type = apt-rpm
name = SUSE Linux 10.0 APT Suser-oc2pus Repository
baseurl = ftp://ftp.gwdg.de/pub/linux/suse/apt/SuSE/10.0-i386/
components = suser-oc2pus

[B][flash]
type = apt-rpm
baseurl = http://macromedia.mplug.org/rpm/
components = macromedia[/B]

[jpackage-5.0]
Versucht das mal ohne die Pipe und mit meiner ellenlangen Channellliste, das macht keinen Spaß *g*.

2. Davor oder dahinter? => "head" und "tail"

Die Befehle "head" und "tail" zeigen die ersten/letzten N Zeilen einer Datei -bzw. durch eine Pipe wie oben- einer Shellausgabe an.

Die Syntax ist denkbar einfach:

Code:
head/tail -n *AnzahlderZeilen* /Pfad/zur/Datei/Datei

Befehl | head/tail -n *AnzahlderZeilen*
Beispiel: Was waren die letzten 10 Ausgaben meines Bootlogs?

Hier brauchen wir übrigens Rootrechte, da die entsprechende Datei nicht für User lesbar ist, das erledigen wir mit "sudo".

Code:
sudo tail -n 10 /var/log/boot.msg
Password:
<notice>startproc: execve (/usr/sbin/powersaved) [ /usr/sbin/powersaved -d -f /var/run/acpid.socket -v 3 ], [ HOME=/ PATH=/sbin:/usr/sbin:/bin:/usr/bin:/lib/klibc/bin SHELL=/bin/sh RUNLEVEL=5 PREVLEVEL=N DAEMON=/usr/sbin/powersaved ]
done
Starting Firewall Initialization (phase 2 of 2) SuSEfirewall2: Warning: ip6tables does not support state matching. Extended IPv6 support disabled.
Nov 20 11:04:43.732 [notice] We now have enough directory information to build circuits.
done
Nov 20 11:04:44.532 [notice] Tor has successfully opened a circuit. Looks like client functionality is working.
done
Master Resource Control: runlevel 5 has been reached
Skipped services in runlevel 5: irq_balancer
<notice>killproc: kill(4525,3)
OK, tor/privoxy läuft also ;)

"Live"-Mitschnitt von Logdateien => "-f"

Der Parameter -f (=follow) ist hervorragend geeignet um die Systemmeldungen zu verfolgen, hierzu verwendet man tail und betrachtet die Datei /var/log/messages.

Bei jeder neuen Meldung wird aktualisiert, auch hier sind wieder Rootrechte erforderlich.

Code:
sudo tail -f /var/log/messages
Dieses Vorgehen ist zur Beobachtung des Systemverhaltens, wenn man z.B. Hardware wie einen USB-Dongle o.ä. einsteckt/aussteckt sehr nützlich.

Greetz,

RM
 

spidy

Moderator
AW: Users4Users : Die besten NICHT-geheimen "Shell-Tricks" der Linux-User

"Wow !"

Das entwickelt sich ja zu der reinsten Fundgrube ! Sehr hilfreich !

Vielen Dank an alle !

Spidy
:D
 

TypeRyder

Member
AW: Users4Users : Die besten NICHT-geheimen "Shell-Tricks" der Linux-User

Dateirechte und Dateieigentümer per Konsole managen

Linux als Multiusersystem kennt von Haus aus die Zuordnung von Dateien und Verzeichnissen zu einzelnen Usern oder Gruppen. Diese kann man natürlich auch sehr schnell und einfach per Konsole verwalten.

1. Herausfinden, wem eine Datei gehört und welche Rechte es gibt
Auf der Konsole kann ich mit
Code:
ls -l /pfad/zur/gewünschten/datei
sehr einfach sehen, welche Rechte eine Datei hat und wem sie gehört.
Beispiel:
Code:
ls -l nc-linux.tar.gz 
-rw-r--r-- 1 typeryder typeryder 8403227 2005-12-30 19:28 nc-linux.tar.gz
Die Ausgabe zeigt uns, daß es sich bei nc-linux.tar.gz um eine Datei handelt (erste Stelle ist ein -), der eigentümer Lese- und Schreibrechte hat (zweite, dritte und vierte Stelle rw-), andere Angehörige der Gruppe die Datei lesen können (fünfte, sechste und siebte Stelle r--) und auch alle anderen die Datei lesen können (achte, neunte und zehnte Stelle r--). Der Eigentümer der Datei ist typeryder, die zugehörige Gruppe ist ebenfalls typeryder.

Kurze Anmerkung zur Gruppe: Unter SuSE würde hier sehr wahrscheinlich die Gruppe "users" stehen. Debian legt für jeden Benutzer auch eine eigene Gruppe an, daher ist dies bei Debiansystemen nicht automatisch die Gruppe users.


2. Eigene Gruppenzugehörigkeit rausfinden
Manchmal kann es schon helfen, daß man als User zu der Gruppe gehört, die auf eine Datei (dies können unter Unix auch Geräte sein) zugreifen kann. Dies ist z.B. wichtig für Zugriffe auf Sounddevices oder gemeinsame Dateien, die den Nutzern einer Gruppe zugänglich sein sollen.
Zu welchen Gruppen ich gehöre, kann ich mit dem Befehl
Code:
groups
erfahren.


3. User neuen Gruppen hinzufügen
Als root kann ich in der Datei /etc/group/ einer Gruppe neue User hinzufügen. Gleiches funktioniert auch mit dem Befehl "adduser", bei dem ich dann den User und die neue Gruppe als Argumente übergebe.


4. Eigentümer und/oder Gruppe einer Datei ändern
Den Eigentümer oder die Gruppenzugehörigkeit einer Datei kann man mit dem Befehl
Code:
chown
ändern.

Als Ausgangsbasis habe ich eine Datei mit Namen "rechtevergabe.txt".
Code:
-rw------- 1 typeryder typeryder 8403227 2005-12-30 19:28 rechtevergabe.txt
Diese Datei gehört bisher dem User typeryder und auch zur Gruppe typeryder. Die Gruppe will ich jetzt umstellen auf die Gruppe users, so daß auch andere User, die in der Gruppe users eingetragen sind, auf die Datei zugreifen können:
Code:
chown dateieigentümer:gruppe /pfad/zur/Datei
chown typeryder:users rechtevergabe.txt
ein erneutes ls zeigt dann folgendes:
Code:
-rw------- 1 typeryder users 8403227 2005-12-30 19:28 rechtevergabe.txt

5. Rechte einer Datei ändern
Damit im obigen Beispiel die Mitglieder der Gruppe users auch auf die Datei zugreifen können, muss ich jetzt noch die Rechte ändern. Dies kann ich mit dem Befehl
Code:
chmod
machen.

Der Befehl chmod erlaubt sowohl eine Rechtevergabe mit symbolischen Bezeichungen (u für users, g für Gruppe, o für others und a für all) plus die jeweiligen Änderungen); die Rechte sind entsprechend r für lesen, w für schreiben und x für das Ausführen einer Datei. Die Rechte werden dann mit +, - oder = entweder neu vergeben, entfernt oder gleichgelassen.

Bei symbolischen Änderungen sieht unser obiger Fall so aus:
Code:
chmod g+rw rechtevergabe.txt
In der Oktalversion werden die Rechte über eine Zifferkombination vergeben
Code:
chmod 744 /pfad/zur/Datei
gibt z.B. alle Rechte an den Eigentümer (die 7 auf der ersten Stelle) und Leserechte für die Gruppe und alle anderen (die 4 auf der zweiten und dritten Stelle). Die möglichen Ziffernkombinationen sind 4 = nur lesen, 5 = lesen und ausführen, 6 = lesen und schreiben und 7 = alle Rechte.

In unserem Beispiel sieht die Rechtevergabe mit dem Oktalsystem folgendermaßen aus:
Code:
chmod 660 rechtevergabe.txt
Auf den ersten Blick wirkt die Oktaleingabe vielleicht umständlicher als die symbolische Eingabe. Wenn man sich aber erstmal an die Ziffern gewöhnt hat, ist man mit dem System IMHO schneller unterwegs.
 

cm

Administrator
Teammitglied
AW: Users4Users : Die besten NICHT-geheimen "Shell-Tricks" der Linux-User

Console:
Code:
passwd username
Mit diesen Befehl könnt ihr unter root von einem bereits hinzugefügent User das Passwort ändern.
 

jo

New Member
Zum nachlesen und Schreibtischvermüllen. / Instant Ordnerlösching

Wer jetzt nach dieser Flut von nützlichen Beiträgen meint:

"Das kann ich mir sowieso nicht alles merken" (Auch ohne TypeRiders Gedächtnis

verständlich), sollte sich DAS mal genauer anschauen.

Ist zwar nicht so hilfreich wie das, was hier schon alles gepostet wurde (meldet euch doch

mal bei Wikipedia, ist echt druckreif), aber immerhin auch ohne Konsolenbefehl erreichbar.

Ach ja, wer mal einen Ordner samt Inhalt löschen will, ohne erst hineninzuwechseln,

Code:
cd $NameDesZuLöschendenOrdners
den Inhalt in die ewigen /dev/null-Gründe zu schicken und anschließend wieder mit

Code:
cd ..
und

Code:
rmdir $NameDesZuLöschendenOrdners
Klarschiff zu machen (kann v. a. mit Unterverzeichnisssen etwas dauern), solte lieber

Code:
rm -r $NameDesZuLöschendenOrdners
oder

Code:
rm -r /Pfad/zur/Datei\Ordner
verwenden. Löscht Ordner samt Inhalt und Unterverzeichnissen in 0,nix. Und

anschließend sieht der Konquerorhintergrund (je nach Coloer-Scheme) aus wie das

T-Shirt von Meister Glatze.
 

jo

New Member
Wildcards

Neben <TAB> gibt es auch noch eine andere Art des Vervollständigen von Begriffen aller Art:

Die Wildcard. Hört sich spektakulär an, ist aber nur ein simler * .

(Tastenkombi: <Shift><Taste neben dem Ü>) Beispiele:

Code:
locate kochre*
Sucht alle Dateien, die mit "kochre" anfangen.

Code:
locate *zepte
sucht alle Dateien, die mit "zepte" aufhören.

Code:
locate k*e.txt
Sucht alle Dateien, die mit "k" anfangen und auf "e.txt" enden.

Code:
rm -r *
Löscht alle Dateien und Ordner im aktuellen Verzeichnis.

Die Wildcard kann also Zeichen aller Art und beliebiger Anzahl symbolisieren. Praktisch

beim Suchen!

adJO
 

TypeRyder

Member
AW: Users4Users : Die besten NICHT-geheimen "Shell-Tricks" der Linux-User

Bisweilen muss man einen Nutzer einer bestehenden Gruppe hinzufügen - beispielsweise, wenn er die Gruppenrechte benötigt, um eine damit zusammenhängende Resource (Sound, Brenner etc.) zu nutzen.

Einen User könnt ihr einer Gruppe mit dem Befehl "gpasswd" hinzufügen:
Code:
gpasswd -a (Username) (Gruppenname)
Alternativ kann man die Gruppen auch händisch mit einem Editor seiner Wahl bearbeiten, sie finden sich (zumindest unter debian) unter: /etc/group
 
AW: Users4Users : Die besten NICHT-geheimen "Shell-Tricks" der Linux-User

Ergänzung:
TypeRyder schrieb:
Bisweilen muss man einen Nutzer einer bestehenden Gruppe hinzufügen - beispielsweise, wenn er die Gruppenrechte benötigt, um eine damit zusammenhängende Resource (Sound, Brenner etc.) zu nutzen.
gpasswd dient eigentlich zum Ändern von Gruppenpasswörtern.

Um die Gruppenzugehörigkeit eines Users z.B. unter openSUSE zu ändern wird der Befehl groupmod verwendet:
Code:
groupmod -A <User> <Group>
bzw.
Code:
groupmod -R <User> <Group>
um den betreffenden User wieder aus der Grupe zu entfernen.
 

[d]Tod

New Member
AW: Users4Users : Die besten NICHT-geheimen "Shell-Tricks" der Linux-User

Twingo1803 schrieb:
So, jetzt will (und kann) ich meinen Senf auch mal zugeben.
Ich wollte vor kurzem mal wissen, wie ich den freien Platz auf der Festplatte herausfinde.
Da gibt es einen recht einfachen Befehl.
Code:
 df
Kann man sich gut mit der Eselsbrücke DIE FESTPLATTE merken.
Dabei gleich ein Gruss an BASTI, der mir dies verraten hat ;o)
und mit dem kleinen zusatz -h wird das ganze auch für uns menschen verständlich ;)

Code:
df -h
 

Rain_Maker

Administrator
Teammitglied
AW: Users4Users : Die besten NICHT-geheimen "Shell-Tricks" der Linux-User

Wo wir gerade bei "-h" als Parameter sind, der ausnahmsweise nicht für "help" steht (hier bedeutet er "human readable"), fällt mir noch ein Befehl ein, bei dem der selbe Parameter zum Einsatz kommt:

Code:
du -h
zeigt die Größe eines Verzeichnisses samt Unterordner an.

Mit dem Parameter "--max-depth=*Zahl*" kann man einschränken, wieviele Unterverzeichnisebenen angezeigt werden.

Code:
du -h --max-depth=1 /usr/src/
zeigt also die Größe von /usr/src/ samt der Unterordner, die sich direkt darin befinden, aber ohne deren Unterordner an.

Code:
du -h --max-depth=1 /usr/src/
4,0K    /usr/src/kernel-modules
23M     /usr/src/linux-2.6.22.9-ccj54-obj
4,1M    /usr/src/debug
27M     /usr/src/linux-2.6.18.8-0.7-obj
276M    /usr/src/linux-2.6.18.8-0.7
303M    /usr/src/linux-2.6.22.9-ccj54
148K    /usr/src/linux-2.6.18.8-0.5
466M    /usr/src/packages
1,1G    /usr/src/
(BTW: Die knapp 500MB, die sich da in "packages" befinden, findet man hier grösstenteils in unserem Downloadarchiv.)

Ganz Mutige probieren den obigen Befehl mal ohne --max-depth, aber Vorsicht, wenn Ihr nicht schwindelfrei seid!

Weitere Informationen liefert wie immer die Manual-Page:

Code:
man du
Greetz,

RM
 

Kernelman

Member
Nachtrag zum Befehl "chmod"

Hier wird von TypeRyder beschrieben, wie Rechte an einzelnen Dateien oder
Verzeichnissen geändert werden können.

Nun kann es auch vorkommen, daß man für alle Dateien oder Ordner in einem
Verzeichnis die Rechte auf einmal setzen möchte. Nachdem Dateien und Ordner
jeweils andere Rechte benötigen, benötigt man unterschiedliche Syntaxen.

Mit chmod <irgendwas> kommt man nicht ans Ziel.

Der Befehl find erweist sich als nützlicher Helfer für rekursive Rechtevergabe.

Rechteänderung (rekursiv) aller Dateien in einem Verzeichnis:
Code:
find  /home/kernelman/beispielordner/ -type f -exec chmod 644 {} \;
wobei -type <Typ> definiert, welche Art von Datei dem Befehl "chmod" übergeben wird.
f steht für "normale Datei".
d für "Verzeichnis"
l
für"symbolischer Link"

Also lautet die Syntax zum Ändern der Rechte aller Verzeichnisse:
Code:
find  /home/kernelman/beispielordner/ -type d -exec chmod 755 {} \;
Gruß

KM
 

Rain_Maker

Administrator
Teammitglied
Quadkonsole - für die, die viel zu tun haben ...

Weniger ein "Shelltrick" als eher eine "trickreiche Shell" (für KDE-User) ist "Quadkonsole".

Der Name ist Programm, man hat in einem Fenster vier Konsolen gleichzeitig und vor allem auch gleichzeitig sichtbar zur Verfügung und kann mit "STRG+SHIFT+Pfeiltasten" zwischen den Konsolen navigieren (oder durch einfaches Aktivieren mit der Maus, das Fenster, über dem sich der Mauszeiger befindet, ist automatisch aktiv, auch ohne Klicken).

Das sieht in voller Aktion dann so aus:



- Rechts oben die Antwort auf die brennenden Frage "Was hatte ich denn noch mal für ein CD-ROM Laufwerk?"

- Links oben wird gerade über ein chroot mein Archlinux aus einer laufenden openSUSE 11.0 heraus aktualisiert (chroot ist ne feine Sache)

- Links unten baut gerade ein neuer Madwifi-Snapshot (nur ein Test, nicht "for production use" gedacht)

- Rechts unten (last but not least) steht dann übrigens, aus welchen Repositorien man quadkonsole für openSUSE bekommt :)

Einziger (bisheriger) Wermutstropfen:

Das Ganze funktioniert zur Zeit leider nur unter KDE 3.5.X (unter Arch mit KDE 4.1.3 gab es Probleme mit der dcop-Schnittstelle), an einer KDE4-Portierung wird aber wohl gearbeitet.

Greetz,

RM
 

helmut

New Member
AW: Inhalt von Dateien anzeigen.....

Rain_Maker schrieb:
Gut für kleine Dateien.

Überflüssig, denn es gibt
Bei less gibt es viele Möglichkeiten, z.B. mit dem Befehl "/" nach Text suchen, also mit Tippen von
/txt
wird nach "txt" gesucht. Vorher kann mit "i" zwischen suchen mit/ohne Berücksichtigung der Groß- und Kleinschreibung umgeschaltet werden.

Und noch viel mehr ... einfach mal "h" Tippen, um die ausführliche Hilfe von less zu erhalten (und wers nicht in der Hilfe findet: die Hilfe wird mit "q" verlassen).

Wenn der output eines Programms untersucht werden soll, nehme ich lieber less als grep, vor allem wenn ich nach unterschiedlichen Dingen suche oder nach dem ersten Fund das Suchergebnis verfeinern will ...

Ein ls -lR | less beispielsweise ist zuweilen ganz praktisch ...

grep und ls wurden in anderen Beiträgen hier kurz vorgestellt ....
 
Oben