Po przeczytaniu tego samouczka możesz wyszukiwać pliki za pomocą polecenia Znajdź i wykonać określone polecenie na podstawie dopasowanych wyników.
Instrukcje i przykłady są pomocne dla większości rozkładów Linux. Treść jest zoptymalizowana zarówno dla nowych, jak i doświadczonych użytkowników Linuksa.
Wszystkie kroki opisane w tym artykule zawierają zrzuty ekranu, aby ułatwić wszystkim użytkownikom Linux do zrozumienia i zastosowania.
Przykłady użytkowania zawarte w tym artykule są następujące:
Krótkie wprowadzenie do Find and Xargs Polets
Xargs polecenie, w połączeniu z innymi poleceniami, takimi jak znajdować, używa wyjścia pierwszego polecenia jako argumentu.
Na przykład uruchommy znajdować polecenie do identyfikacji plików z określonym rozszerzeniem lub typem pliku. Możemy dodać Xargs polecenie wykonania akcji dla wszystkich plików pasujących do rozszerzenia określonego znajdować.
Jak widać w poniższym wierszu, rura oddziela polecenie 1 i polecenie 2, gdzie polecenie 1 może być dowolnym polecenie LS, i polecenie 2, w tym polecenie Xargs, a następnie konkretne działanie, takie jak kot.
[Polecenie 1] | [Polecenie 2]
Obowiązującym przykładem byłby:
LS | Xargs Cat
To polecenie wyświetli wszystkie pliki w bieżącym katalogu. Wówczas dane wyjściowe (wymienione pliki) będą używane przez XARGS jako argument, a ich treść zostanie wydrukowana zgodnie z instrukcją Xargs Cat. Zobacz następujący zrzut ekranu:
Jak znaleźć i przenosić pliki za pomocą XARGS
Pierwsza sekcja tego samouczka wyjaśnia, jak używać poleceń Find i XARGS do wyszukiwania i przenoszenia plików pasujących do warunku, w tym przypadku typu pliku.
Zacznijmy od znalezienia plików za pomocą rozszerzenia i przeniesienia ich do konkretnego katalogu za pomocą Xargs.
Przed rozpoczęciem uruchom LS polecenie wyświetlania plików i katalogów w moim wymienionym podkładce testDir.
LS
Jak widać, istnieją różne typy plików, w tym .tekst, .C, i pliki bez rozszerzeń. Zwróć także uwagę na Tutorialdir informator.
Załóżmy, że chcesz przenosić pliki z określonym rozszerzeniem do katalogu. Składnia jest następująca:
znajdować-nazwa '*.'-Type f | Xargs Mv -t
W poprzedniej składni, -nazwa Opcja poprzedza nazwę lub warunek pliku na podstawie nazwy pliku. -typ f Opcja określa, że komenda Znajdź dotyczy plików, a nie katalogów. -T Opcja przed katalogiem docelowym służy do zdefiniowania katalogu docelowego. Zwróć uwagę na kartę wieloznaczną (*) przed rozszerzeniem, instruując polecenie, aby wyszukać wszystkie pliki określonego rozszerzenia niezależnie od nazwy.
Tak więc, jeśli chcesz przenieść wszystko .tekst Pliki do nazwanego katalogu Tutorialdir, Wykonaj następujące polecenie:
znajdować . -nazwa '*.txt '-Type f | xargs mv -t samoorialdir
Jak widać, po uruchomieniu LS polecenie dwukrotnie, pliki zostały przeniesione z bieżącego katalogu do Tutorialdir Podkazkodmienia.
Składnia jest taka sama dla wszystkich typów plików. Powtórzmy to, tym razem .C akta:
znajdować . -nazwa '*.C '-Type f | xargs mv -t samoorialdir
Pierwsze polecenie LS pokazuje trzy .C Pliki w bieżącym katalogu. Po uruchomieniu polecenia Znajdź z Xargs, polecenie drzewa pokazuje wszystko .C Pliki zostały przeniesione do Tutorialdir katalog, gdzie .tekst Pliki zostały przeprowadzone w poprzednim przykładzie.
Znajdź i usuń pliki i katalogi według nazwy z XARGS
Składnia do znalezienia i usuwania plików za pomocą XARGS jest następująca:
znajdować-nazwa |. Xargs Rm
Tam jest to katalog nadrzędny, które wyszukujesz pliki i to nazwa pliku, który chcesz znaleźć i usunąć.
Zobaczmy bieżący scenariusz na poniższym zrzucie ekranu:
LS
W pierwszym przykładzie wybierz pliki według typu, jak wykonano w poprzedniej sekcji, aby je usunąć, jak pokazano poniżej:
znajdować . -nazwa "*.C "| Xargs Rm
Jak widać powyżej, wszystko .C Pliki zostały pomyślnie usunięte.
Teraz scenariusz jest następujący:
LS
W bieżącym przykładzie użyję Wildcard, aby usunąć wszystkie pliki, których nazwa zaczyna się od „plik”, Niezależnie od kontynuacji nazwy.
znajdować . -Nazwa „Plik*” | Xargs Rm
Do tej pory w tym artykule wyjaśniono, jak radzić sobie z plikami. Teraz zobaczmy, jak korzystać z Find i Xargs z katalogami. W nowym scenariuszu istnieje pięć nowych katalogów: Dir1, Dir2, Dir3, Dir4, I Dir5, Jak pokazano na poniższym obrazku:
LS
Zakładając, że chcesz usunąć wszystkie katalogi z nazwami zaczynającymi się od „reż”, Uruchom to samo polecenie. Jednak po poleceniu RM dodaj -R Flaga używana do radzenia sobie z katalogami, jak pokazano na poniższym rysunku:
znajdować . -Nazwa „reż*” | Xargs Rm -r
Znajdź i usuń pliki na podstawie uprawnień
W tej sekcji opisano znalezienie plików za pomocą określonych uprawnień i zmiana ich za pomocą XARGS.
Jak widać poniżej, pliki coś 1.txt, coś2.tekst, I coś3.tekst mają pełne uprawnienia dla wszystkich (777).
ls -l
Składnia do znalezienia plików za zgodą i ich zmiany jest pokazana poniżej:
znajdować-trwała ondulacja |. Xargs Chmod
Aby znaleźć wszystkie pliki z pełnymi uprawnieniami dla wszystkich (777) w bieżącym katalogu i zmień je na pełne uprawnienia dla właściciela oraz odczyt i wykonaj uprawnienia dla użytkowników grupy i innych (755), uruchom polecenie wykonane w następujący sposób:
znajdować . -Perm 777 | Xargs Chmod 755
Wniosek
Jak widać, polecenie Xargs, w połączeniu z poleceniem Find, jest przydatne do zadań masowych lub określonych zadań, gdy nie znasz lokalizacji pliku. Oba polecenia są łatwe do wdrożenia i mogą być włączone przez nowych użytkowników, aby ułatwić swoje wrażenia z terminalem Linux. Znajdź, a Xargs są podstawowymi poleceniami Linux, który każdy użytkownik Linux musi wiedzieć, jak złożyć wniosek. Xarg można łączyć z innymi podstawowymi poleceniami, takimi jak LS. Wyjaśnione powyżej instrukcje są pomocne dla wszystkich rozkładów Linuksa.
Sprawdź więcej artykułów, aby uzyskać więcej wskazówek i samouczków Linux.