niedziela, 29 listopada 2020

Filozofia Unix dla szaraków

 Wielu użytkowników zastanawia się, czy Gnu Linux byłby dla nich odpowiedni. Jeśli na początek zakoduje się kilka podstawowych różnic - to tak!

Po epoce gdy miliony domowników pracowały tylko na komputerach z Windowsem, przyszła następna epoka. Epoka elastyczności, kompatybilności, open source. Każdy widzi  że monopol jest zły, uzależnia i ogranicza. W odniesieniu do komputerów mamy inne systemy operacyjne takie jak dystrybucje Linuxa. Te które polecam dla początkujących użytkowników to Ubuntu i Mint. To wszystko po to, aby nie być zawiedzonym i powiedzieć "Windows był lepszy" i wracam na windę. Ale Linuxy/Unixy są trochę inne od Windowsów i warto o tym wiedzieć, gdyż nie wszystko musi być takie samo, 1:1.

Po pierwsze, urządzenie, generator, interfejs jest plikiem. A plik możemy odczytywać, zapisywać, możemy ograniczać prawami dostępu. To prostsza filozofia, gdyż z plikami każdy z użytkowników komputerów ma do czynienia na co dzień.

Program na platformie Linux robi tylko jedną rzecz. Jest to ważne. Jako zły przykład podam tu inny program na Windowsa, który już dziś dogorywa. To GG, który swego czasu był komunikatorem do rozmów tekstowych, głosowych i chyba video, radiem internetowym, platformą do rozrywki. Jak coś ma wszystko to jest do niczego-to prawda funkcjonująca w świecie IT. W Unixach program robi jedną rzecz ale dobrze. To ogromną różnica, gdyż takie programy są wtedy fundamentami do budowania złożonych skryptów i rozwiązań, cechujących się dużą stabilnością i pewnością wykonania.

Programy na platformę Linux mogą czytać ze standardowego wejścia, zapisywać do standardowego wyjścia i wyrzucać błędy do strumienia błędów. To również bardzo ważne założenie i fundament, gdyż dzięki temu nie izolujemy programów, możemy za każdym razem zmieniać dane wejściowe które przetwarzają i zapisywać wynik do innego pliku, który może posłużyć dalej. Tym samym, jeśli program działa to wiemy że dane wejściowe przetwarza na dane wyjściowe, które w każdej chwili możemy podejrzeć. A jeśli nie działa to otwieramy loga, czyli wyjście strumienia błędów.

Program kiedy działa to zwraca kod 0. A jeśli nie działa to zwraca kod błędu. Tym samym używając mały program robiący jedną rzecz w dużym skrypcie możemy warunkować jego działanie sprawdzając, jaki kod zwraca.

Programy w Linuxie mogą być połączone kaskadowo. Nazywa się to przetwarzaniem potokowym i oznacza, że wyjście jednego programu jest wejściem innego. To pozwala tworzyć rozbudowane skrypty i rozwiązania, które zajmują mało linii kodu. Przykład:
ls -l | grep "poszukiwana nazwa" > wynik.txt

Wynik działania jednego programu może być użyty jako zmienna w skrypcie. Pozwala to tworzyć czytelne i logiczne skrypty, a samo rozwiązanie ma duże możliwości. Przykład:
$data_dzis=`date`
echo "Dziś jest $data_dzis"

0 komentarzy:

Prześlij komentarz

Podziel się swoimi myślami.Spam nie będzie tolerowany.