Wprowadzenie do operatorów Unix
Unix to system operacyjny wywodzący się z AT&T Unix. Został zbudowany przy użyciu języka C i asemblera. W tym artykule przyjrzymy się różnym typom operatorów obecnych w UNIX. Unix składa się z 3 części: jądra, powłoki i programów.
- Jądro jest rdzeniem Uniksa, który zarządza czasem i pamięcią dla zadań
- Shell to CLI (interfejs wiersza poleceń) między jądrem a użytkownikiem. Gdy użytkownik loguje się do systemu, wchodzi do powłoki, w której akceptuje polecenia i wywołuje odpowiedni program w celu przetworzenia tego samego.
- Programy i pliki - Różne polecenia Uniksa są udokumentowane w podręczniku, do którego można uzyskać dostęp, wpisując man. Istnieją również procesy, które działają w powłoce identyfikowanej przez ich unikalny PID (identyfikator procesu). Pliki i katalogi przechowywane w systemie Unix mają hierarchiczną strukturę / ścieżkę zaczynającą się od /, oznaczającą lokalizację katalogu głównego.
Typy operatorów w Uniksie
Istnieje 5 typów podstawowych operatorów w Uniksie, które są:
1. Arytmetyka
2. Relacyjny
3. Boolean
4. Operatory testowania plików
5. Bitowy
1) Operatory arytmetyczne
Służą one do wykonywania arytmetycznych operacji matematycznych. Oto niektóre z operatorów arytmetycznych:
- Dodawanie (+): Służy do dodawania 2 operandów
Np .: c = `expr $ a + $ b` - Odejmowanie (-): Służy do wykonywania odejmowania między 2 operandami
Np .: c = `expr $ a - $ b` - Mnożenie (*): Używany do pomnożenia wartości 2 argumentów
Np .: c = `expr $ a \ * $ b` - Dzielenie (/): Służy do dzielenia pierwszego operandu przez drugi
Np .: c = `expr $ a / $ b` - Moduł (%): Służy do zapewnienia reszty uzyskanej przez podzielenie pierwszego operandu przez drugi
Np .: f = `expr $ a% $ b` - • Przypisanie (=): Służy do przypisywania wartości podanej w drugim operandzie do pierwszego
Np .: c = $ b - Przyrost (++): Służy do zwiększania wartości argumentu o 1.
Np .: ((a ++)) - Przyrost po, ((++ a)) - Przyrost przed, ((a–)) - Po zmniejszeniu, ((–a)) - Przed zmniejszeniem
2) Operatory relacyjne
Służą one do porównania i znalezienia relacji między 2 operandami. Oto niektóre z operatorów relacyjnych:
- Równość (== lub -eq): Zwraca true, jeśli oba operandy są równe i false, jeśli nie są równe.
Np .: $ a == $ b - Nierówność (! = Lub -ne): Jest to przeciwieństwo operatora równości, w którym zwraca wartość true, jeśli oba operandy nie są równe i odwrotnie.
Np .: $ a! = $ B - Większy niż (> lub -gt): Zwraca wartość true, jeśli pierwszy operand jest większy niż drugi i odwrotnie.
Np .: $ a> $ b - Mniejszy niż (<lub -lt): Zwraca wartość true, jeśli pierwszy operand jest mniejszy niż drugi i odwrotnie.
Np .: $ a <$ b - Większy lub równy (> = lub -ge): Zwraca wartość true, jeśli pierwszy argument jest większy lub równy drugiemu argumentowi, a wartość false, jeśli nie.
Np .: $ a> = $ b - Mniejszy lub równy (<= lub -le): Zwraca wartość true, jeśli pierwszy operand jest mniejszy lub równy drugiemu argumentowi, a fałsz, jeśli nie.
Np .: $ a <= $ b
3) Operatory logiczne / logiczne
Służą one do wykonywania operatorów logicznych na operandach.
- Logiczne AND (&& lub -a): Zwraca logiczną wartość true, jeśli oba operandy spełniają warunek true, w przeciwnym razie zwraca false.
Przykład: gdy a = 20 ib = 5, to ($ a -lt 10 -a $ b -gt 1) staje się fałszywe, ponieważ a jest nie mniejsze niż 10 - Logiczne OR (|| lub -o): Zwraca wartość logiczną true, jeśli jeden z operandów spełnia warunek, w przeciwnym razie zwraca false.
Przykład: gdy a = 20 ib = 5, to ($ a -lt 10 -o $ b -gt 1s) staje się prawdą, ponieważ b większe niż 1 jest prawdą - Nie równa się (!): Zwraca wartość logiczną true, jeśli wartość argumentu ma wartość false i odwrotnie.
Np .: Jeśli a = prawda (! $ A == prawda) jest fałszem
4) Operatory plików
Służą one do testowania właściwości powiązanych z różnymi plikami systemu plików Unix.
- -b operator: To prawda, gdy plik istnieje i jest specjalnym plikiem blokowym, w przeciwnym razie zwróci false
- -c operator: Będzie to prawdą, gdy plik istnieje i jest znakiem specjalnym, w przeciwnym razie zwróci fałsz.
- -d operator: Zwróci true, jeśli podana nazwa pliku to katalog, w przeciwnym razie zwróci false.
- -e operator: Zwróci true, jeśli dany plik istnieje, w przeciwnym razie zwróci false.
- -g operator: Ten operator zwróci true, jeśli bit SGID (Set Group ID) dla danego pliku jest ustawiony na true.
- -k operator: Zwraca wartość true, jeśli bit lepki danego pliku jest ustawiony na wartość true.
- -r operator: Zwraca true, jeśli podany plik jest czytelny dla zalogowanego użytkownika, inny zwróci false.
- -s operator: Sprawdza rozmiar podanego pliku i zwraca true, jeśli jest większy niż zero, w przeciwnym razie zwróci false.
- -u operator: Zwraca wartość true, jeśli dany plik ma ustawiony bit SUID (Ustaw ID użytkownika) na true.
- -w operator: Zwróci wartość true, jeśli dany plik musi uzyskać dostęp do zapisu przez użytkownika, a zwróci wartość false.
- -x operator: Sprawdza i zwraca wartość true, jeśli dany plik może zostać wykonany przez innego użytkownika, zwraca wartość false.
5) Operatory bitowe
Służą one do wykonywania operacji bitowych na operandach.
- Bitowe AND (&): Tutaj operacja AND jest wykonywana na każdym bicie operandu.
Np .: Rozważmy a = 55 ib = 23 dla wszystkich poniższych przykładów
a & b = 01 - Bitowe OR (|): Tutaj operacja OR jest wykonywana na każdym bicie operandu.
Np .: a | b = 77 - Bitowe XOR (^): Tutaj operacja XOR jest wykonywana na każdym operandzie.
Np .: a b = 76 - Uzupełnienie (~): Wykonuje uzupełnienie na każdym bicie argumentu i zwraca wartość.
Np .: ~ a = AA
Operatory arytmetyczne mogą być używane niezależnie, podczas gdy inne typy operatorów muszą być przypisane do instrukcji warunkowych, takich jak instrukcje if, aby zmienić swoją funkcję.
To podsumowuje główne typy operatorów w Uniksie wraz z ich przykładami.
Polecane artykuły
To jest przewodnik dla operatorów Unix. Tutaj omawiamy wprowadzenie i typy operatorów w Uniksie, które obejmują arytmetyczny, relacyjny, logiczny i bitowy itp. Możesz także zapoznać się z następującymi artykułami, aby dowiedzieć się więcej -
- Operatorzy VB.NET
- Kariera w Uniksie
- Ściągawka dla systemu UNIX
- Operatory logiczne w języku Python
- Operatory bitowe w JavaScript