Symbole wieloznaczne w systemie Linux
w poprzednich postach nauczyliśmy się następujących:
- użyj
pwd
, aby znaleźć nasz bieżący katalog roboczy -
cd
, aby dostać się do katalogu -
ls
, aby wyświetlić zawartość katalogu -
file
, aby określić zawartość pliku -
less
, aby wyświetlić zawartość pliku tekstowego
teraz wydaje się, że brakuje w jaki sposób możemy manipulować plikami i katalogami/folderami.
ale zanim zaczniemy manipulować plikami i folderami musimy wiedzieć coś jeszcze.
ponieważ system Linux tak bardzo używa nazw plików, dostarcza nam znaków specjalnych, które pomagają nam szybko określić grupy nazw plików. Te znaki specjalne nazywane są symbolami wieloznacznymi.
ok, symbole wieloznaczne wydają się bardzo pomocne, ale jakie znaki reprezentują symbole wieloznaczne i jak z nich korzystać?
spójrzmy na wszystkie symbole wieloznaczne, które Shell udostępnia dzięki uprzejmości „linuksowego wiersza poleceń”
OK więc wiemy, czym są symbole wieloznaczne, przejdźmy przez kilka przykładów, aby zrozumieć użycie tych symboli wieloznacznych:
- Lista wszystkich plików kończących się na.txt
w powyższym przykładzie najpierw używamy polecenia ls
, aby wyświetlić zawartość katalogu, a następnie, ponieważ chcieliśmy tylko pliki, które kończą się na .txt
, użyliśmy symbolu wieloznacznego *
i utworzyliśmy polecenie ls *.txt
, więc Podzielmy polecenie
ls *.txt
, gdzie*
pasuje do dowolnego znaku, a*.txt
oznacza dowolny plik, który kończy się na .txt.
- Lista wszystkich .pliki TXT zaczynają się od f
w powyższym przykładzie najpierw używamy polecenia ls *.txt
, aby wyświetlić zawartość katalogu za pomocą „.txt ” w końcu, a potem, ponieważ chcieliśmy tylko pliki i foldery, które zaczynają się od f
i kończą na .txt
, użyliśmy symbolu wieloznacznego *
i utworzyliśmy polecenie ls f*.txt
.
Podzielmy więc polecenie
ls f*.txt
gdzie f
określa, że nazwa pliku powinna mieć f
na początku,*
określa, że pomiędzy nimi mogą być dowolne znaki, a.txt
oznacza dowolny plik, który ma .txt w końcu.
- Lista wszystkich .pliki txt, które zaczynają się od „textFile” i mają dokładnie 1 znak po tym. Na przykład textFile9.txt
w powyższym przykładzie najpierw wymieniliśmy wszystkie pliki tekstowe w katalogu za pomocą ls *.txt
, a następnie użyliśmy wieloznacznego znaku ?
i utworzyliśmy polecenie ls textFile?.txt
, aby filtrować wyniki zgodnie z naszym wymaganiem
, więc Podzielmy polecenie
ls textFile?.txt
, gdzietextFile
określa, że pliki powinny zaczynać się od „textfile”
jeden ?
po textFile
ponieważ chcieliśmy plików, które mają dokładnie jeden znak po „textfile”.txt
oznacza każdy plik, który ma .txt w końcu.
więc podobnie, jeśli potrzebujemy .pliki txt zaczynające się od „someText” i mają dokładnie trzy znaki po tym stworzymy poleceniels someText???.txt
teraz ?
pozwala nam być ogólnym z naszym filtrem, tzn. reprezentuje dowolny pojedynczy znak, ale co jeśli chcemy filtrować nasz wynik jeszcze bardziej
co jeśli chcemy uzyskać tylko pliki i foldery, które mają numery 2, 4 lub 6.
więc plik może zaczynać się dowolnym znakiem i kończyć dowolnym znakiem, ale powinien zawierać co najmniej jedną z trzech liczb
w powyższym przykładzie użyliśmy wieloznacznego znaku i stworzyliśmy polecenie
ls **
, aby uzyskać pożądane wyniki.
więc Podzielmy polecenie
ls **
gdzie
*
reprezentuje dowolny znak
reprezentują, że plik i foldery z liczbą 2 lub 4 lub 6
podobnie, znajdźmy
- pliki i foldery zaczynające się od litery A lub b lub s
w powyższym przykładzie użyliśmy symbolu wieloznacznego i utworzyliśmy polecenie
ls *
, aby uzyskać pożądane rezultaty.
więc Podzielmy polecenie
ls *
gdzie*
reprezentuje dowolny znak reprezentują, że plik i foldery zaczynające się od a lub b lub s
Ok, więc do tej pory widzieliśmy użycie symboli wieloznacznych *
, ?
i teraz niech przyjrzyjmy się, czym są symbole wieloznaczne klas i jak z nich korzystamy
powyższa tabela zawiera najczęściej używane symbole wieloznaczne klas. Weźmy teraz przykład, aby zrozumieć użycie klasy wildcard.
- Lista wszystkich plików i folderów, które nie kończą się liczbą
w powyższym przykładzie użyliśmy symbolu wildcard ]
i utworzyliśmy polecenie ls *]
, aby uzyskać pożądane rezultaty.
więc Podzielmy komendę
ls *]
gdzie*
reprezentuje dowolny znak!
reprezentuje tę negację reprezentuje dowolną liczbę
tak jak w powyższym przykładzie, możemy również użyć innych klas
Ok, więc to wszystko o wildcards, mamy teraz potężne narzędzie w naszych palcach.
tak więc skończyliśmy z symbolami wieloznacznymi w systemie Linux i w następnej części zaczniemy od bardzo przydatnych poleceń do manipulacji plikami i folderami w systemie Linux.
mam nadzieję, że zrozumiałeś symbole wieloznaczne i użycie symboli wieloznacznych w systemie Linux. Proszę dać mi znać, jeśli będą jakieś pytania.