Wyszukiwanie w witrynie

5 sposobów na opróżnienie lub usunięcie dużej zawartości pliku w systemie Linux


Czasami, gdy masz do czynienia z plikami w terminalu Linux, możesz chcieć wyczyścić zawartość pliku bez konieczności otwierania go przy użyciu dowolnego edytora wiersza poleceń Linuksa. Jak można to osiągnąć?

W tym artykule omówimy kilka różnych sposobów opróżniania zawartości pliku za pomocą kilku przydatnych poleceń.

Uwaga: zanim zaczniemy przyglądać się różnym sposobom, pamiętaj, że ponieważ w Linuksie wszystko jest plikiem, musisz zawsze upewnić się, że opróżniane pliki nie są ważnymi plikami użytkownika lub systemowymi . Wyczyszczenie zawartości krytycznego pliku systemowego lub konfiguracyjnego może prowadzić do krytycznego błędu lub awarii aplikacji/systemu.

Mając to na uwadze, poniżej znajdują się sposoby czyszczenia zawartości pliku z wiersza poleceń.

Ważne: na potrzeby tego artykułu w poniższych przykładach użyliśmy pliku access.log.

1. Opróżnij zawartość pliku, przekierowując do wartości Null

Najłatwiejszy sposób opróżnienia lub wyczyszczenia zawartości pliku za pomocą przekierowania powłoki null (nieistniejący obiekt) do pliku, jak poniżej:

> access.log

2. Opróżnij plik przy użyciu „prawdziwego” przekierowania polecenia

Tutaj użyjemy symbolu : to wbudowane polecenie powłoki, które jest zasadniczo równoważne z poleceniem true i może być użyte jako brak operacji (brak operacji) .

Inną metodą jest przekierowanie wyniku wbudowanego polecenia : lub true do pliku w następujący sposób:

: > access.log
OR 
true > access.log

3. Opróżnij plik za pomocą narzędzi cat/cp/dd z /dev/null

W Linuksie urządzenie null jest zasadniczo wykorzystywane do odrzucania niepożądanych strumieni wyjściowych procesu lub jako odpowiedni pusty plik dla strumieni wejściowych. Zwykle odbywa się to za pomocą mechanizmu przekierowania.

Plik urządzenia /dev/null jest zatem plikiem specjalnym, który zapisuje (usuwa) wszelkie przesłane do niego dane wejściowe lub jego dane wyjściowe są takie same, jak w przypadku pustego pliku.

Dodatkowo możesz opróżnić zawartość pliku, przekierowując do niego wyjście /dev/null (plik) jako dane wejściowe za pomocą polecenia cat:

cat /dev/null > access.log

Następnie użyjemy polecenia cp, aby wyczyścić zawartość pliku, jak pokazano.

cp /dev/null access.log

W poniższym poleceniu dd if oznacza plik wejściowy, a of odnosi się do pliku wyjściowego.

dd if=/dev/null of=access.log

4. Opróżnij plik za pomocą polecenia echo

Tutaj możesz użyć polecenia echo z pustym ciągiem i przekierować go do pliku w następujący sposób:

echo "" > access.log
OR
echo > access.log

Uwaga: należy pamiętać, że pusty ciąg znaków to nie to samo, co wartość null. Ciąg znaków jest już obiektem, ponieważ może być pusty, podczas gdy wartość null oznacza po prostu nieistnienie obiektu.

Z tego powodu, gdy przekierujesz powyższe polecenie echo do pliku i przejrzysz zawartość pliku za pomocą polecenia cat, wyświetli się pusta linia (pusty ciąg znaków).

Aby wysłać do pliku wynik zerowy, użyj flagi -n, która informuje echo, aby nie wyświetlało końcowego znaku nowej linii prowadzącego do pustej linii utworzonej w poprzednim poleceniu.

echo -n "" > access.log

5. Opróżnij plik za pomocą polecenia obcinania

Polecenie obcinanie pomaga zmniejszyć lub rozszerzyć rozmiar pliku do określonego rozmiaru.

Można go zastosować z opcją -s, która określa rozmiar pliku. Aby opróżnić zawartość pliku, użyj rozmiaru 0 (zero), jak w następnym poleceniu:

truncate -s 0 access.log

To na razie tyle. W tym artykule omówiliśmy wiele metod czyszczenia lub opróżniania zawartości plików przy użyciu prostych narzędzi wiersza poleceń i mechanizmów przekierowania powłoki.

Prawdopodobnie nie są to jedyne dostępne praktyczne sposoby, aby to zrobić, dlatego możesz nam również powiedzieć o innych metodach, które nie są wymienione w tym przewodniku, korzystając z poniższej sekcji opinii.