Symbole wieloznaczne w systemie Linux

w poprzednich postach nauczyliśmy się następujących:

  1. użyj pwd, aby znaleźć nasz bieżący katalog roboczy
  2. cd, aby dostać się do katalogu
  3. ls, aby wyświetlić zawartość katalogu
  4. file, aby określić zawartość pliku
  5. 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ń”

symbole wieloznaczne

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

star wildcard

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

wildcard-star-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*.txtgdzie
f określa, że nazwa pliku powinna mieć fna 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

pytanie wieloznaczne

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, gdzie
textFile 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 polecenie
ls 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

wspornik wieloznaczny

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

wspornik poleceń abs

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

polecenia klas wieloznacznych

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ą

cyfra klasy wildcard

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.