Everything is a file
Filesystem Hierarchy Standard (1993) – powszechnie stosowana hierarchia katalogów:
/
– katalog główny (root)
/bin
,/sbin
– pliki wykonywalne, systemowe pliki wykonywalne (binaries, system binaries)
/boot
– boot loader
/dev
– urządzenia (devices)
/etc
– konfiguracja systemu (et cetera)
/home
,/root
– pliki osobiste użytkowników i użytkownika głównego
/lib
– biblioteki dlabin
isbin
(libraries)
/media
,/mnt
– punkt montowania urządzeń podłączanych do komputera i tymczasowych (mount points)
/opt
– pakiety dodatkowe (optional)
/proc
– jądro, stan procesów (process’ status)
/tmp
– pliki tymczasowe (temporary files) mogą być (zazwyczaj są) usuwane przy ponownym uruchomieniu komputera
/var
– pliki zmienne (variable files) m.in.:log
,spool
,www
,tmp
/usr
– zasoby systemowe, pliki użytkownika tylko-do-odczytu (Unix System Resources)bin
,lib
,share
,src
ls, cd, pwd
tworzenie katalogów (make directory)
utwórz brakujące nadkatalogi
usuwanie katalogów (remove directory)
usuń puste podkatalogi
kopiowanie plików (copy)
rekursywnie
tylko nowsze wersje
nie nadpisuj bez pytania
nadpisuj bez pytania
wyjaśniaj wszystko co robisz
przenoszenie plików, zmiana nazwy plików (move)
tylko nowsze wersje
nadpisuj bez pytania
usuwanie plików (remove)
usuwaj bez pytania
pytaj przed usuwaniem
rekursywnie (pliki i podkatalogi)
utwórz odniesienie (link)
link symboliczny (do etykiety pliku)
link fizyczny (do zawartości pliku)
informacje o pliku
informacje o pliku (dane z inode)
modyfikuj czas dostępu; utwórz pusty plik, jeśli nie istnieje
konkatenacja i wypisanie zawartości (catenate)
/
root, korzeń drzewa katalogów
~
katalog domowy ($HOME
)
.
katalog bieżący ($PWD
)
..
rodzic (katalog wyżej)
*
dopasowanie zachłanne
np. ls /home/*
?
dopasowanie do jednego znaku
np. ls /home/????
{}
zbiór słów
np. mkdir /home/{asia,basia,casia}
chmod
Modyfikuj uprawnienia pliku (change mod bits)
- -R
rekurencyjnie (podkatalogi i pliki)
- [ugoa][+-=][rwx]
ustal przywileje do zapisu, odczytu, wykonywania dla właściciela, grupy, innych użytkowników lub wszystkich użytkowników, np.
chmod a+rx jakiś_program
- [0-7][0-7][0-7]
ustal przywileje w zapisie oktalnym, np.
chmod 755 jakiś_program
Zmień właściciela pliku (change owner)
rekurencyjnie (podkatalogi i pliki)
niech dany użytkownik będzie właścicielem,
np. chown inf70001 jakiś_plik
niech dany użytkownik z danej grupy będzie właścicielem
np. chown inf 70001:users jakiś_plik
Zmień grupę pliku (change group)
- -R
rekurencyjnie (podkatalogi i pliki)
"
, '
np. ls 'a b'
vs. ls a b
escape: \
np.
\t
= <tab>,\n
= <newline>,\\
=\
światło (whitespaces): \t
, \n
, \\
inne: subshells ()
, `
, zmienne $
, !
,
podręcznik (manual)
informacje na temat sleep
informacje na temat komendy sleep
informacje na temat funkcji sleep
Komendy,
Polecenia systemowe,
Funkcje biblioteki (w szczególności biblioteka standardowa C),
Pliki specjalne (głównie urządzenia z /dev
) i sterowniki,
Formaty plików i konwersje,
Gry i wygaszacze ekranu,
Miscellanea,
Komendy administracyjne i demony.
wyjście
wyszukiwanie
nastepne, poprzednie wystąpienie
wyszukiwanie w manualu (według kluczy - nazw komend)
np. whatis sleep
wyszukiwanie w manualu (według wartości - opisów komend)
np. apropos sleep
alternatywny podręcznik
znajdź pliki w bazie danych (przygotowanej przez updatedb
)
locate bashrc
locate /etc/*.conf
znajdź pliki w systemie plików (trwa dłużej niż locate
)
find MIEJSCE [TESTY] [AKCJE]
nazwa pliku (także znaki: *
, ?
)
j/w, case-insensitive
typ pliku (m.in. f
– zwykły plik, plik tekstowy, d
– katalog)
pusty plik
koniunkcja dwóch warunków (domyślne, więc można pominąć)
alternatywa dwóch warunków (WARUNEK1 -o WARUNEK2
)
wykonaj polecenie
zapytaj użytkownika, a następnie wykonaj polecenie (tak jak -exec
)
zakończ działanie
wypisz rozdzielając znakiem \0 zamiast \n
Przykłady:
find ~ -name '*.java' -type f
find . -name ideas -exec kdialog --msgbox "{}" \; #kde
find . -name ideas -exec zenity --info --text="{}" \; #gnome
Wyszukaj wszystkie pliki lub katalogi w swoim katalogu domowym zaczynające się od kropki.
Wyszukaj wszystkie pliki lub katalogi w swoim katalogu domowym kończące się tyldą (~
).
Wyszukaj wszystkie katalogi w swoim katalogu domowym kończące się tyldą (~
).
Wyszukaj wszystkie katalogi w swoim katalogu domowym kończące się tyldą (~
) lub rozpoczynające się od kropki.
Wyszukaj wszystkie pliki tekstowe o nazwie kończącej się rc
i wyświetl ich zawartość za pomocą edytora tekstowego (np gedit
, kate
).
Przejdź do katalogu /tmp/
. Utwórz katalog /tmp/test/
i utwórz w nim pliki asia
, basia
, casia
, dasia
, easia
, fasia
. Za pomocą komendy find
usuń wszystkie pliki z katalogu /tmp/test/
których nazwy składają się z napisu asia
poprzedzonego dowolną literą.
Utwórz pliki i katalogi jak powyżej. Usuń wszystkie pliki z katalogu /tmp/test/
których nazwy składają się z napisu asia
poprzedzonego dowolną literą. Niech przed usunięciem pliku komenda find
zarząda potwierdzenia od użytkownika.