Polecenie XARGS w Linux z przydatnymi przykładami
- 3268
- 703
- Laura Zygmunt
XARGS to potężne polecenie Linux/UNIX do budowania i wykonywania wierszy poleceń ze standardowego wejścia. Wymaga wyjścia polecenia i przekazuje go jako argument innego polecenia. XARGS przyjmuje standardowe dane wejściowe, ograniczone przez puste miejsca lub nowe lini. Puste linie na standardowym wejściu są ignorowane.
Składnia
Xargs [opcja]… polecenie [inicjalne argumenty]…
Tutaj polecenie jest wykonywane z argumentami początkowymi argumentami i więcej argumentów odczytanych z danych wejściowych.
Opcje poleceń XARGS
Polecenia XARGS zapewnia ograniczoną liczbę argumentów wiersza poleceń, ale wystarczające do wykorzystania jego funkcji.
-0, -Null
- Elementy są oddzielone zerową, a nie białymi-a, -arg-file = plik
- Odczytaj argumenty z pliku, a nie standardowe wejście.-d, - -delimiter = znak
- Elementy w strumieniu wejściowym są oddzielone przez znak, a nie biała-E end
- Ustaw ciąg jako login EOF. Jeśli znaleziono ciąg, reszta zostanie zignorowana.-L,--max-linie = maksymalne linie
- Określ maksymalną liczbę linii (nie blank), aby wziąć jako wejście w wierszu poleceń-n,--max-args = maksymalne argaty
- Podaj maksymalne argumenty na wiersz poleceń-P,--max-procs = maksymalne procs
- Określ maksymalne procesy do działania na raz-P, -interaktywne
- Uruchom procesy interaktywne z monitem przed uruchomieniem poleceń-r,-No-Run-if-empty
- Nie uruchamiaj polecenia, jeśli argumenty wejściowe są puste.-T, -czasowy
- Wydrukuj wszystkie polecenia na ekranie, wykonując je
Przykłady polecenia Xargs
Przykład 1. Skopiuj dużą liczbę plików do innego folderu.
Czasami musieliśmy skopiować długą listę plików, w takim przypadku polecenie CP nie powiodło się z błędem „Lista argumentów zbyt długa”. Możemy użyć XARG, aby wykonać to zadanie.
Znajdź / kopię zapasową / -type f | xargs -n1 -i cp /var/www/backup/
Przykład 2: Usuń wiele plików z folderu.
Czasami musimy usunąć dużą liczbę plików z folderu. Poniżej przykład usunie wszystko .pliki dziennika z katalogu /var /log.
Znajdź/var/www/tmp/-type f | Xargs Rm -f
Powyższe polecenie nie usunie plików za pomocą przestrzeni w nazwie. Aby obsłużyć przestrzenie w poleceniu Xargs Wypróbuj poniżej polecenie.
Znajdź/var/www/tmp/-type f -print0 | xargs -0 rm -f
Przykład 3: liczba liczby linii w wielu plikach.
Poniższy przykład będzie liczył liczbę linii dla każdego .plik txt w katalogu /opt i jego subdirectory
Znajdź /opt -name "*.txt "| xargs wc -l
Aby obsłużyć pliki o przestrzeni w nazwie, użyj następującego polecenia.
Znajdź / opt / -name "*.log "-print0 | xargs -0 wc -l
Przykład 4: Wykonaj kopię zapasową wszystkich plików konfiguracyjnych.
Jeśli chcesz wykonać kopię zapasową wszystkich plików konfiguracyjnych (rozszerzenie .conf) W swoim systemie użyj poniżej polecenia.
Znajdź / -name "*.conf "| Xargs TAR CZF Config.smoła.GZ
LS -L Config.smoła.GZ
-RW-R-R--. 1 root root 193310 1 kwietnia 13:26 konfiguracja.smoła.GZ
Przykład 5. Użyj denimetru z kustonem z Xargs.
Możemy również użyć niestandardowego deleMeter z poleceniem XARGS, domyślnie używa przestrzeni i nowej linii jako ograniczenia. Użyj parametru -D, aby zdefiniować ograniczenie.
Echo „1,2,3,4,5” | xargs -d, echo
Wyjście:
1 2 3 4 5
Przykład 6: Pokaż dane wyjściowe w linii SEPREATE z XARGS.
W przykładzie 5 OUPUT wyświetla się w pojedynczej linii, możemy również określić, aby pokazać każde wyjście w linii oddziałowej.
Echo „1,2,3,4,5” | xargs -d, -l 1 echo
Wyjście:
1 2 3 4 5
Przykład 7: Obsługa pustej przestrzeni w nazwach plików lub ścieżce.
Aby obsłużyć przestrzenie w nazwach, użyj -print0 z poleceniem i -0 z poleceniem XARGS jako parametr.
Znajdź /tmp -print0 | Xargs -0 -L 1 echo
- « Jak konfigurować serwer DNS (BIND) na CentOS/RHEL 7/6/5
- Zainstaluj narzędzie FSNIPER (Monitorowanie katalogu) w Centos, Rhel i Fedora »