Opublikował siefca
n 02 lis 2008 16:40:06 GMT
Jakiś czas temu opublikowałem prostą funkcję używającą narzędzia awk, której możesz użyć, aby poznać, jaki jest punkt montowania dla podanego urządzenia. Dzisiaj zamierzam podzielić się zestawem podobnych funkcji, które są nieco ulepszone. Pozwalają one określić punkt montowania dla podanego pliku specjalnego odwołującego się do urządzenia lub zwykłego pliku. Ostatnia z funkcji jest wrapperem, który używa poprzednich, aby uczynić mechanizm prostym w użyciu, gdy dane pochodzą z zewnątrz.
Czytaj dalej…
bez komentarza,
bez trackbacka
Tagi: bash, fs, funkcja, GNU, kod, Linux, mount, pdksh, shell, system plików, Unix
Opublikował siefca
so 01 lis 2008 08:57:12 GMT
Komputery Apple’a działające pod kontrolą systemu Mac OS X (Leopard) mają wygodny system tworzenia kopii zapasowych nazywający się Time Machine. To co również podoba się użytkownikom to graficzny interfejs pozwalający “latać” nad systemem plików i obserwować ułożone w trójwymiarowej osi czasu pliki i foldery. Niektóre aplikacje (jak wbudowany program pocztowy czy narzędzie do odtwarzania muzyki) są przygotowane do współpracy z Time Machine i “podróżując w czasie” przy otwartym na pierwszym planie oknie którejś z tych aplikacji możesz zobaczyć zmieniającą się w czasie zawartość (np. skrzynki pocztowej czy list odtwarzania utworów).
Czytaj dalej…
bez komentarza,
bez trackbacka
Tagi: backup, bash, dowiązanie twarde, fs, GNU, hardlink, kod, kopia bezpieczeństwa, kopia zapasowa, kopie różnicowe, Linux, pdksh, rsync, shell, system plików, Time Machine
Opublikował siefca
so 25 paź 2008 12:37:20 GMT
Pytanie
Mam w skrypcie powłoki pętlę, która iteruje po podanych jej nazwach. Reprezentują one pewne ścieżki w systemie plików. Niestety, gdy w którejś wartości znajdzie się znak gwiazdki, to przemądrzały shell w jej miejsce wstawia nazwy istniejących zbiorów pasujące do wzorca. A ja potrzebuję przekazać te gwiazdki i znaki zapytania do zmiennej, w nienaruszonej postaci.
Odpowiedź
Większość powłok próbuje nam pomóc i w przypadku pętli for … in … w miejsce nazw z listy po prawej stronie wstawia nazwy plików pasujące do symboli wieloznacznych (takich jak * czy ?).
Czytaj dalej…
jeden komentarz,
bez trackbacka
Tagi: bash, for, globalizowanie, GNU, interpreter, Linux, lista, pętla, podstawianie, powłoka, shell, symbole wieloznaczne, Unix, wildcards, wyliczanie, wzorzec
Opublikował siefca
wt 21 paź 2008 10:30:08 GMT
W systemach typu Unix istnieje polecenie o nazwie dirname, którego zadaniem jest wyświetlenie podanej nazwy ścieżkowej skróconej przez oddzielenie ostatniego elementu znajdującego się po wysuniętym najbardziej na prawo znaku ukośnika (włączając ukośnik). Wykorzystuje się je do tego, aby na podstawie ścieżki określającej nazwę pliku uzyskać nazwę katalogu. Czasami też wykorzystywane bywa w skryptach, które rekurencyjnie wywołując dirname dla tej samej zmiennej “podróżują” w głąb drzewa katalogowego. Ostatnimi czasy musiałem posłużyć się wielokrotnie wywoływanym poleceniem dirname w połączeniu ze skryptem awk. Tak więc, chcąc uniknąć zbędnego powoływania do życia osobnego procesu, a tym samym spowalniania wykonywania skryptu, pokusiłem się o stworzenie implementacji dirname w awk.
Czytaj dalej…
bez komentarza,
bez trackbacka
Tagi: awk, bash, directory, dirname, GNU, katalog, Linux, narzędzie, pdksh, polecenie, przetwarzanie tekstu, shell, Unix
Opublikował siefca
cz 16 paź 2008 17:06:03 GMT
Funkcja powłokowa getmount() próbuje określić, jaki jest punkt zamontowania w systemie plików dla podanego urządzenia. Oczywiście nie korzysta ona z pomocy użytkownika, ani tym bardziej jasnowidza, więc nie jest w stanie domyślić się ścieżki, jeśli nie jest ona nigdzie wpisana lub została schowana w gąszczu szalonych dowiązań.
Czytaj dalej…
bez komentarza,
bez trackbacka
Tagi: bash, fs, funkcja, GNU, kod, Linux, mount, pdksh, shell, system plików, Unix