10. Arbeiten mit Files
======================
|
| next | back | WS 2015/16 - 1 |
Ändern der Zugriffsrechte von Files
===================================
Ändern des Eigentümers von Files
--------------------------------
chown [-R] <Nutzername> <Filename> {<Filename>}
Ändern des Eigentümers der Files in den
spezifizierten neuen Nutzernamen.
-R - Eigentümer rekursiv absteigend ändern
Ändern der Gruppe von Files
----------------------------
chgrp [-R] <Gruppenname> <Filename> {<Filename>}
Ändern der Gruppenzugehörigkeit der Files in den
spezifizierten neuen Gruppennamen.
-R - Gruppe rekursiv absteigend ändern
|
| next | back | WS 2015/16 - 2 |
Ändern der Zugriffsrechte von Files
-----------------------------------
chmod [-R] <Zugriffsrechte> <Filename> {<Filename>}
<Zugriffsrechte>:=<numerische Zugriffsrechte> |
<symbolische Zugriffsrechte>
numerische Zugriffsrechte:
400 - Leserechte Eigentümer
200 - Schreibrechte Eigentümer
100 - Ausführungsrechte Eigentümer
040 - Leserechte Gruppe
020 - Schreibrechte Gruppe
010 - Ausführungsrechte Gruppe
004 - Leserechte Welt
002 - Schreibrechte Welt
001 - Ausführungsrechte Welt
Kombinationen sind zulässig z.B.
755 - alles für den Eigentümer, der Rest
darf alles ausser verändern.
Beispiel:
chmod 755 xyz abc
chmod -R 700 xyz abc Dab
|
| next | back | WS 2015/16 - 3 |
symbolische Zugriffsrechte:
[<Ziel>]<Operator>[<Recht>]
Rechte:
r - lesen
w - schreiben
x - ausführen
Ziel
u - Nutzer
g - Gruppe
o - Welt
Operatioren
+ - Recht hinzufügen
- - Recht streichen
= - Recht absolute setzen
Beispiele:
chmod u=rx xxx
chmod og= xxx
|
| next | back | WS 2015/16 - 4 |
Verwalten der File-Creation-Maske
---------------------------------
umask [<Maske>]
Setzen und Anzeigen der Bits der File-Creation-Maske eines Prozesses.
Wird kein Parameter angegeben werden die gesetzten Bits der
File-Creation-Maske angezeigt. In der Maske werden die Bits oktal
kodiert, für die beim Erzeugen eines neuen Files keine Zugriffsrechte
gegeben werden sollen.
Beispiele:
umask - Anzeigen der File-Creation-Maske des Prozesses
umask 022 - Schreibrechte für Gruppe und Other bei neuen Files
prinzipiell gelöscht - am Institut default
umask 077 - alle Zugriffsrechte für Gruppe und Other bei neuen
Files prinzipiell gelöscht - für sehr Vorsichtige
|
| next | back | WS 2015/16 - 5 |
Benennung von Files
===================
Umbenennen von Files
--------------------
mv [-fi] <Quellfile> <Ziel-Direktory>
mv [-fi] <Quellfile> <Ziel-File>
Umbenennen des Quellfiles(alt) in das Zielfile(neu). Ist das Zielfile
ein Direktory, wird der Basis-Name des Quellfiles der Filename im
Zieldirektory.
-f - überschreiben von bestehenden Files ohne nachfragen
-i - interaktiv
Beispiele:
mv xxx yyy - umbenennen des Files xxx in yyy
mv xxx Yyy - Yyy ist eine Direktory. Das File
wird in Yyy/xxx umbenannt.
|
| next | back | WS 2015/16 - 6 |
Erzeugen eines neuen Namens für ein File
----------------------------------------
ln [-fns] <Quellfile> <Zielfile>
Erzeugen eines neuen Namens <Zielfile> für ein bestehendes File
<Quellfile>.
-s - erzeugen eines symbolischen Namens
-n - bestehende Files nicht ueberschreiben
-f - Erzeugen des neuen Files ohne Nachfrage
Beispiele:
ln xxx yyy
ln -s /vol/fob-vol3/mi99/xxx yyy
|
| next | back | WS 2015/16 - 7 |
Operationen über Files
======================
Zählen
------
Berechnen der Anzahl von Zeilen, Wörtern und Zeichen in einem
File
wc [-c][-m][-l][-w] <Filename> {<Filename>}
-c Anzahl der Bytes ausgeben
-m Anzahl der Zeichen ausgeben
-l Anzahl der Zeilen
-w Anzahl der Worte
Beispiele:
> wc mkthml
11 50 409 mkhtml
>
|
| next | back | WS 2015/16 - 8 |
Inhalt eines Files nach verschiedenen Gesichtspunkten sortieren
---------------------------------------------------------------
sort [Optionen] [<Filename>]
Inhalt des Files (oder Standardeingabe) nach verschiedenen
Gesichtspunkten (Optionen) sortieren und auf Standard-
ausgabe ausgeben.
-b ignorieren führender Leerzeichen
-f ignorieren Groß-Klein-Schreibung
-i ignorieren nicht-druckbare Zeichen
-n numerische Sortierung
-r Sortierung in umgekehrter Reihenfolge
u.s.w.
Beispiele:
sort abc
sort -r abc
|
| next | back | WS 2015/16 - 9 |
Files vergleichen
=================
Vergleichen von Files Zeile bei Zeile
-------------------------------------
diff [Optionen] <Filename1> <Filename2>
diff [Optionen] <Directoryname1> <Directoryname2>
Optionen:
für Files
-b - führende Leerzeichen ignorieren
-i - ignoriere Groß-/Kleinbuchstaben
-t - Tabulatoren expandieren
-w - ignoriere Leerzeilen (einschließlich Blanks und Tabs)
-c - Differenzprotokoll mit 3 Zeilen Umgebung der Differenz
-e - erzeugen eines Scriptes fuer ed
-n - ähnlich -e
-C number - Differenzprotokoll mit <number> Zeilen Umgebung
für Directories
-s - identische Files anzeigen
-l - langes Format
-r - rekursiv
|
| next | back | WS 2015/16 - 10 |
Vergleich von Files Zeichen für Zeichen
---------------------------------------
cmp [-l][-s] <Filename1> <Filename2>
-l - Ausgabe der Zeichen oktal und Adresse dezimal
-s - nur Rückkehrwert erzeugen, keine Ausgabe
|
| next | back | WS 2015/16 - 11 |
Suchen
======
Suchen von Zeichenketten in Files
---------------------------------
grep [-chn] [-l] [-q] "Zeichenkette" <File1> {<File>}
egrep [Optionen] <regulärer Ausdruck> <File1> {<File>}
-c - nur zählen
-h - Filename unterdrücken
-l - nur Filenamen anzeigen
-q
-n - Zeilennummern ausgeben
-s - keine Fehlerausgabe
-v - inverse Ausgabe (Zeilen, die Zeichenkette nicht enthalten)
Beispiele:
grep mail *
grep -cl mail *
|
| next | back | WS 2015/16 - 12 |
Suchen von Files im Filesystem
------------------------------
find <Direktory> [Optionen] [Aktionen]
Optionen
-name <name> - suche File mit Namen <name>
-newer <filename> - suche Files neuer als File <filename>
-follow - symbolischen Links folgen
-ctime <n> - suche Files, deren Status vor <n> Tagen
+n älter als n Tage
n genau n Tage
-n weniger als n Tage
geändert wurde
-mtime <n> - suche Files, die vor <n> Tagen
modifiziert wurden
-group <name> - suche Files der Gruppe <name>
-user <name> - suche Files des Nutzers <name>
-perm <mode> - suche Files mit Zugriffsrechten <mode>
- genau diese Bits gesetzt
- - diese Bits sind auch gesetzt
-type c - Filetype (b,c,d,f,l,p,s)
Aktionen
-ls - ls Kommando ausführen für das gefundene File
-exec <Kommando> - ausführen des Kommandos <Kommando> für
das gefundene File
-print - gefundenen Filename ausgeben
|
| next | back | WS 2015/16 - 13 |
Beispiele:
find / -name core -print
find / -name core -exec rm {} \;
find /usr/bin -perm 4111 -user root -print
find /usr/bin -perm -4111 -user root -print
find /usr/bin -perm -4000 -user root -print
|
| next | back | WS 2015/16 - 14 |
Suchen von Files in Locate-Datenbasis
locate [-d path | --database=path] [-e | --existing]
[-i | --ignore-case ] [--version] [--help] pattern...
Bestimmen von Binaries, Sources und Manual-Pages von Kommando-Files
whereis [-bmsu] [-B|M|S directory ... -f] filename ...
Bestimmen des benutzten Filenamen oder Aliases für ein Kommando
which [ filename ....]
|
| next | back | WS 2015/16 - 15 |
Informationen abzweigen
-----------------------
Lesen von Stadardeingabe und Schreiben auf Standardausgabe und
in ein File
tee [-ai] <File>
Optionen
-a - Anfügen der Ausgabe an das File
-i - ignoriere Interrupts
Beispiel:
ls -lisa | tee xxx
|
| next | back | WS 2015/16 - 16 |
Komprimieren von Files
======================
GNU-Zip - Packen und Entpacken von Files mittels Lempel-Ziv-Kodierung
---------------------------------------------------------------------
Gepackte Files haben die Endung: .gz
gzip [ -acdfhlLnNrtvV19 ] [-S <suffix>] [ <name> ... ]
gunzip [ -acfhlLnNrtvV ] [-S <suffix>] [ <name> ... ]
gzcat [ -fhLV ] [ name ... ]
gzip - packen
gunzip - entpacken
gzcat - anzeigen auf Standardausgabe
Beispiele:
gzip abc # es entsteht abc.gz
gunzip abc.gz # es entsteht abc
gcat abc.gz # abc wird nach Standardausgabe ausgegeben
# abc.gz bleibt unverändert
|
| next | back | WS 2015/16 - 17 |
GNU-BZip - Packen und Entpacken von Files mittels
Block-Sorting-Text-Compremierung (Burrows-Wheeler)
-------------------------------------------------------------
Gepackte Files haben die Endung: bz2
bzip2 [ -cdfkstvzVL123456789 ] [ <filenames> ... ]
bunzip2 [ -fkvsVL ] [ <filenames> ... ]
bzcat [ -s ] [ <filenames> ... ]
bzip2recover <filename>
bzip2 - packen
bunzip2 - entpacken
bzcat - anzeigen auf Standardausgabe
bzip2recover - entpacken mit fehlerhafter Prüfsumme
Beispiele:
bzip2 abc # packen, es entsteht abc.bz2
bunzip2 abc.bz2 # entpacken, es entsteht abc
bzcat abc.bz2 # abc wird nach Standardausgabe ausgegeben
# abc.bz2 bleibt unverändert
bzip2recover abc.bz2 # entpacken mit fehlerhafter Prüfsumme
|
| next | back | WS 2015/16 - 18 |
Standard Kompremierungsprogramm
altes Lempel-Ziv-Verfahren
--------------------------------
Gepackte Files haben die Endung: .Z
compress [-fv] [ -b <bits> ] [ <file> ... ]
uncompress [-cfv] [ <file> ... ]
zcat [ <file> ... ]
compress - packen
uncompress - entpacken
zcat - Ausgabe auf Standardausgabe
Packen und Entpacken von Files
Gepackte Files haben die Endung: .z
pack [-f] [-] <file> ...
unpack <file> ...
pcat <file>
pack - packen
unpack - entpacken
pcat - Ausgabe auf Standardausgabe
|
| next | back | WS 2015/16 - 19 |
Einpacken und Auspacken von Files und Directories
=================================================
tar - tape archiving utility
----------------------------
Erzeugen und entpacken von Bandarchiven und Archiv-Files
Erzeugen eines Tapearchives
tar c[bBeEfFhiklnopPqvwX[0-7]] [block] [tar-file] [exclude-file]
{-I include-file | -C directory | file | file } ...
Beispiel:
tar -cvf xyz.tar ./xyz
Erzeugen eines Inhaltsverzeichnisses eines Tapearchives
tar t[BefFhiklnqvX[0-7]] [tarfile] [exclude-file]
{-I include-file | file} ...
Beispiel:
tar -tvf xyz.tar
Auspacken eines Tapearchives
tar x[BefFhiklmnopqvwX[0-7]] [tarfile] [exclude-file] [file ...]
Beispiel:
tar -xvf xyz.tar
|
| next | back | WS 2015/16 - 20 |
cpio - Copy file archives in and out
------------------------------------
Erzeugen eines File-Archives (copy out):
cpio -o [-aABcLPvV] [-C bufsize] [-H header] [-O file [-M message]]
Beispiel:
ls | cpio -oc > ../new-file-archiv
Erzeugen von Files aus einem File-Archive (copy in):
cpio -i [-bBcdfkmPrsStuvV6] [-C bufsize] [-E file] [-H header]
[-I file [-M message]] [-R id] [pattern ...]
Beispiel:
cat newfile | cpio -icd "beispiel1/a1" "beispiel2/*"
Erzeugen einer Kopie von Files:
cpio -p [ -adlLmPuvV ] [ -R id ] directory
Beispiel:
cd /usr/old
find . -print | cpio -pdlmv /home/newdir
Achtung: cpio erwartet manchmal auf der Standardeingabe Listen
von Filename.
|
| next | back | WS 2015/16 - 21 |
Bestimmen der Plattenbelegung
-----------------------------
df [-F FSType] [-abegklntV] [-oFSType-specific_options]
[block_device | directory | file | resource ... ]
Beispiele:
df
df -k
df -k /vol/fob-vol3
Bestimmen der Größe von Direktories und Files
----------------------------------------------
du [-adkLr] [-o|-s] [file ...]
Beispiele:
du
du .
du -sk .
du -sk abc
|
| next | back | WS 2015/16 - 22 |
Drucken von Files
-----------------
Druckauftrag absenden
---------------------
lp [-c] [-m] [-p] [-s] [-w] [-d destination]
[-f form-name] [-H special-handling] [-n number]
[-o option] [-P page-list] [-q priority-level]
[-S character-set | print-wheel] [-t title]
[ -T content-type [-r]] [-y mode-list] [ file ... ]
Beispiel:
lp -d lpbeat postscritptfile
lp -d lpemu postscritptfile
Druckauftrag absenden
---------------------
lpr [-P destination] [-# number] [-C class]
[-J job] [-T title] [-i [ indent ]]
[-1 | -2 | -3 | -4 font] [-w cols] [-m]
[-h] [-s] [-filter_option] [ file ... ]
Beispiele
lpr -P lpbeat postscritptfile
lpr -P lpemu postscritptfile
|
| next | back | WS 2015/16 - 23 |
Druckerwarteschlange anschauen (alt)
------------------------------
lpq [-P destination] [-l] [+[ interval]] [request-ID ... ]
[user ...]
Beispiel:
/usr/ucb/lpq -l
Druckwarteschlange anschauen
----------------------------
lpstat [-d] [-r] [-R] [-s] [-t] [-a [list]]
[-c [list]] [-f [list] [-l]] [-o [list]]
[-p [list] [-D] [-l]] [-S [list] [-l]]
[-u [login-ID-list]] [-v [list]]
Beispiel:
lpstat -t
|
| next | back | WS 2015/16 - 24 |
Druckerauftrag löschen
----------------------
für Aufträge, die mit lpr abgeschickt wurden:
lprm [-P destination] [-] [request-ID ...] [user ...]
Beispiele:
lprm -P lpemu 607
lprm 301
für Aufträge, die mit lp abgeschickt wurden:
cancel [request-ID ... ] [destination ...]
cancel -u user ... [destination ...]
Beispiele:
cancel lpbeat-607
|
| next | back | WS 2015/16 - 25 |
Postsriptfile erzeugen
----------------------
a2ps [Optionen] --output=<Ausgabefile> [<Eingabefile>]
a2ps konvertiert ASCII-Files in Postscriptfiles. Standardmäßig wird von
Standardeingabe gelesen und auf den Standarddrucker gedruckt.
Beispiele:
a2ps --help - anzeigen aller Optionen (Hilfe)
a2ps xxx - Die Datei xxx wird auf dem
Standarddrucker gedruckt
a2ps --output=xxx.ps xxx - Die Datei xxx wird in das
File xxx.ps umgewandelt
lp xxx.ps
|
| back | WS 2015/16 - 26 |