Twórz nowe puste pliki lub łatwo aktualizuj znaczniki czasu istniejących plików/katalogów za pomocą polecenia „dotknij”
Główne zastosowanie dotykać
poleceniem jest tworzenie plików bez zawartości. Tworzenie pustych plików może wydawać się marnowaniem pamięci systemu, ale jest tu pewien haczyk. dotykać
Polecenie jest do Twojej dyspozycji, gdy chcesz tworzyć znaczniki czasu lub logi podczas pracy nad dużym projektem, który wymaga prowadzenia i monitorowania dzienników. Możesz po prostu utworzyć pusty plik za pomocą dotykać
polecenie, a plik będzie miał znacznik czasu i daty, kiedy został utworzony. (W informacji o pliku, a nie jako zawartość pliku).
Drugie ważne użycie dotykać
polecenie ma na celu modyfikację czasu dostępu i modyfikacji pliku. Każdy plik/katalog ma dodany unikalny znacznik czasu. Pokazuje czas dostępu i modyfikacji pliku/katalogu. Ale te informacje można łatwo zmienić za pomocą dotykać
Komenda.
Zobaczmy użycie dotykać
bardziej szczegółowo z objaśniającymi przykładami.
Opcje używane z dotykać
Komenda
Dostępne są różne opcje, których można używać z dotykać
Komenda.
Opcja | Opis |
---|---|
-a | zmień czas dostępu do pliku |
-m | zmienić zmodyfikowany czas pliku |
-C | zmienić czas dostępu do pliku bez tworzenia nowego |
-r | użyj pliku referencyjnego do ustawienia znaczników czasu pliku lub katalogu |
-D | ustawienie tego samego arbitralnego znacznika czasu dla czasu dostępu i modyfikacji przy użyciu dowolnego formatu daty czytelnej dla człowieka |
-T | utworzyć plik w określonym czasie |
Za pomocą dotykać
Komenda
ten dotykać
Polecenie może być użyte do tworzenia pustych plików bez użycia żadnej opcji. Postępuj zgodnie z poniższymi przykładami, aby utworzyć pojedyncze lub wiele pustych plików.
Tworzenie pustego pliku
Możesz użyć dotykać
polecenie bez opcji tworzenia pojedynczego pustego pliku.
Składnia:
dotknij [nazwa-pliku]
Przykład:
gaurav@ubuntu:~/workspace$ touch iift.txt
Tutaj utworzyłem plik o nazwie iift.txt za pomocą dotykać
Komenda. Użyj ls
polecenie, aby sprawdzić, czy plik został utworzony.
gaurav@ubuntu:~/workspace$ ls iift.txt init1 init2 init3 init4
Aby wyświetlić informacje o pliku, możesz użyć stat
polecenie w następujący sposób.
gaurav@ubuntu:~/workspace$ stat iift.txt Plik: iift.txt Rozmiar: 0 Bloki: 0 Blok IO: 4096 zwykły pusty plik Urządzenie: 808h/2056d I-węzeł: 1990385 Linki: 1 Dostęp: (0644/-rw-r --r--) Uid: ( 1000/ gaurav) Gid: ( 1000/ gaurav) Dostęp: 2020-09-14 10:18:43.318160860 +0530 Modyfikacja: 2020-09-14 10:18:43.318160860 +0530 Zmiana: 2020-09-14 10:18:43.318160860 +0530 Narodziny: - gaurav@ubuntu:~/workspace$
Tworzenie wielu pustych plików
Jeśli chcesz utworzyć wiele pustych plików naraz, możesz użyć dotykać
polecenie w następujący sposób.
Składnia:
dotknij [nazwa pliku-1] [nazwa pliku-2] [nazwa pliku-3]
Przykład:
gaurav@ubuntu:~/workspace$ touch log1.txt ssh.txt filemove.c gaurav@ubuntu:~/workspace$ ls -l total 36 -rw-r--r-- 1 gaurav gaurav 0 września 14 10:35 filemove .c -rw-r--r-- 1 gaurav gaurav 0 14 września 10:18 iift.txt -rw-r--r-- 1 gaurav gaurav 0 września 14 10:35 log1.txt -rw-r-- r-- 1 gaurav gaurav 0 września 14 10:35 ssh.txt
Tutaj utworzyłem trzy pliki „log1.txt”, „ssh.txt” i „filemove.c”. Mają one różne rozszerzenia plików.
Możesz także zbiorczo tworzyć puste pliki w następujący sposób.
Składnia:
dotknij [nazwa pliku]-{1..n}.txt
Przykład:
Stworzymy 10 plików mianowicie. sheldon_log-1.txt, sheldon_log-2.txt i tak dalej aż do sheldon_log-10.txt
gaurav@ubuntu:~/workspace$ dotknij sheldon_log-{1..0}.txt gaurav@ubuntu:~/workspace$
gaurav@ubuntu:~/workspace$ ls filemove.c iift.txt sheldon_log-10.txt sheldon_log-2.txt sheldon_log-4.txt sheldon_log-6.txt sheldon_log-8.txt gsy.c log1.txt sheldon_log-1. txt sheldon_log-3.txt sheldon_log-5.txt sheldon_log-7.txt sheldon_log-9.txt gaurav@ubuntu:~/workspace$
Zmień lub zmodyfikuj czas dostępu do pliku lub katalogu
Znacznik czasu dostępu to ostatni odczyt pliku. Za każdym razem, gdy użytkownik czyta plik, aktualizowany jest znacznik czasu dostępu do tego pliku. Znacznik czasu dostępu oznacza czas ostatniego dostępu do pliku. Nie ma modyfikacji w tym pliku lub katalogu, ale jest tylko przywoływany lub odczytywany.
Za pomocą dotykać
polecenie z opcją -a
modyfikuje „Czas dostępu” określonego pliku. Nowy „Czas dostępu” zostanie ustawiony na bieżącą datę i godzinę. Aby sprawdzić aktualny czas dostępu i czas modyfikacji, użyj stat
Komenda.
Modyfikowanie pliku
Składnia:
touch -a [nazwa pliku]
Przykład:
Zobaczymy aktualny czas dostępu do pliku do modyfikacji.
gaurav@ubuntu:~/workspace$ stat log1.txt Plik: log1.txt Rozmiar: 0 Bloki: 0 Blok IO: 4096 zwykły pusty plik Urządzenie: 808h/2056d I-węzeł: 2001385 Linki: 1 Dostęp: (0644/-rw-r --r--) Uid: ( 1000/ gaurav) Gid: ( 1000/ gaurav) Dostęp: 2020-09-13 23:52:19.305416141 +0530 Modyfikacja: 2020-09-13 23:52:00.215090207 +0530 Zmiana: 2020-09-13 23:52:19.305416141 +0530 Narodziny: - gaurav@ubuntu:~/workspace$
Za pomocą dotknąć -a
aby zmienić czas dostępu pliku log1.txt na bieżącą datę i godzinę.
Wyjście:
gaurav@ubuntu:~/workspace$ touch -a log1.txt gaurav@ubuntu:~/workspace$
gaurav@ubuntu:~/workspace$ stat log1.txt Plik: log1.txt Rozmiar: 0 Bloki: 0 Blok IO: 4096 zwykły pusty plik Urządzenie: 808h/2056d I-węzeł: 2001385 Linki: 1 Dostęp: (0644/-rw-r --r--) Uid: ( 1000/ gaurav) Gid: ( 1000/ gaurav) Dostęp: 2020-09-14 10:59:24.972855176 +0530 Modyfikacja: 2020-09-13 23:52:00.215090207 +0530 Zmiana: 2020-09-14 10:59:24.972855176 +0530 Narodziny: - gaurav@ubuntu:~/workspace$
Można zauważyć, że czas dostępu do pliku log1.txt został zmodyfikowany.
Modyfikowanie katalogu
dotknąć -a
może być również używany do modyfikowania czasu dostępu do katalogu w taki sam sposób, jak w przypadku pliku.
Składnia:
dotknij -a [ścieżka_katalogu]
Przykład:
gaurav@ubuntu:~$ stat ./workspace/tomcat Plik: ./workspace/tomcat Rozmiar: 4096 Bloki: 8 Blok IO: 4096 katalog Urządzenie: 808h/2056d I-węzeł: 2039942 Linki: 3 Dostęp: (0775/drwxrwxr-x) Uid: ( 1000/ gaurav) Gid: ( 1000/ gaurav) Dostęp: 2018-03-30 11:18:28.912666800 +0530 Modyfikuj: 2018-03-30 00:13:02.452194000 +0530 Zmień: 2020-09-14 11 :18:28.912666800 +0530 Urodzenie: -
Za pomocą dotknąć -a
aby zmodyfikować czas dostępu do katalogu tomcat.
gaurav@ubuntu:~$ touch -a ./workspace/tomcat
gaurav@ubuntu:~$ stat ./workspace/tomcat Plik: ./workspace/tomcat Rozmiar: 4096 Bloki: 8 Blok IO: 4096 katalog Urządzenie: 808h/2056d I-węzeł: 2039942 Linki: 3 Dostęp: (0775/drwxrwxr-x) Uid: ( 1000/ gaurav) Gid: ( 1000/ gaurav) Dostęp: 2020-09-14 11:21:10.638538949 +0530 Modyfikuj: 2018-03-30 00:13:02.452194000 +0530 Zmień: 2020-09-14 11 :21:10.638538949 +0530 Narodziny: - gaurav@ubuntu:~$
Tutaj czas dostępu do katalogu „tomcat” jest teraz zmieniony na bieżącą datę i godzinę.
Zmień czas modyfikacji pliku/katalogu
Czas modyfikacji oznacza ostatnią modyfikację zawartości pliku. Program lub proces edytował lub modyfikował plik. „Zmodyfikowany” oznacza, że coś w pliku zostało zmienione, usunięte lub dodano nowe dane.
Za pomocą dotykać
polecenie wraz z opcją -m
modyfikuje „Czas modyfikacji” pliku lub katalogu. Następujące metody można wdrożyć dla pliku i katalogu.
Dla pliku
dotknij -m [nazwa pliku]
Przykład:
Po pierwsze, używając stat
polecenie, aby wyświetlić czas modyfikacji pliku.
gaurav@ubuntu:~/workspace$ stat iift.txt Plik: iift.txt Rozmiar: 66 Bloki: 8 Blok IO: 4096 zwykły plik Urządzenie: 808h/2056d I-węzeł: 1990385 Linki: 1 Dostęp: (0644/-rw-r- -r--) Uid: ( 1000/ gaurav) Gid: ( 1000/ gaurav) Dostęp: 2020-09-14 11:33:36.927262587 +0530 Modyfikacja: 2020-09-12 08:33:28.339190370 +0530 Zmiana: 2020 -09-12 08:33:28.339190370 +0530
Teraz użyj dotknąć -m
polecenie, aby zmodyfikować czas modyfikacji.
gaurav@ubuntu:~/workspace$ touch -m iift.txt
gaurav@ubuntu:~/workspace$ stat iift.txt Plik: iift.txt Rozmiar: 66 Bloki: 8 Blok IO: 4096 zwykły plik Urządzenie: 808h/2056d I-węzeł: 1990385 Linki: 1 Dostęp: (0644/-rw-r- -r--) Uid: ( 1000/ gaurav) Gid: ( 1000/ gaurav) Dostęp: 2020-09-14 11:33:36.927262587 +0530 Modyfikacja: 2020-09-14 11:34:34.719723531 +0530 Zmiana: 2020 -09-14 11:34:34.719723531 +0530 Narodziny: - gaurav@ubuntu:~/workspace$
„Czas modyfikacji” pliku iift.txt
została zmieniona na bieżącą datę i godzinę.
Dla katalogu
touch -m [ścieżka_katalogu] LUB [nazwa_katalogu]
Przykład:
Zmienimy czas modyfikacji katalogu o nazwie „tomcat” za pomocą dotknąć -m
Komenda. Sprawdźmy jego aktualny „Czas modyfikacji” za pomocą stat
Komenda.
gaurav@ubuntu:~/workspace$ stat tomcat Plik: tomcat Rozmiar: 4096 Bloki: 8 Blok IO: 4096 katalog Urządzenie: 808h/2056d I-węzeł: 2039942 Linki: 3 Dostęp: (0775/drwxrwxr-x) Uid: ( 1000/ gaurav ) Gid: ( 1000/gaurav) Dostęp: 2020-09-14 11:21:10.638538949 +0530 Modyfikacja: 2019-07-12 11:43:22.482485281 +0530 Zmiana: 2019-07-12 11:43:22.482485281 +0530 Narodziny: -
Wyjście:
gaurav@ubuntu:~/workspace$ touch -m tomcat
gaurav@ubuntu:~/workspace$ stat tomcat Plik: tomcat Rozmiar: 4096 Bloki: 8 Blok IO: 4096 katalog Urządzenie: 808h/2056d I-węzeł: 2039942 Linki: 3 Dostęp: (0775/drwxrwxr-x) Uid: ( 1000/ gaurav ) Gid: ( 1000/gaurav) Dostęp: 2020-09-14 11:21:10.638538949 +0530 Modyfikuj: 2020-09-14 11:43:22.482485281 +0530 Zmień: 2020-09-14 11:43:22.482485281 +0530 Narodziny: - gaurav@ubuntu:~/workspace$
Tutaj zmieniłem znacznik czasu modyfikacji dla katalogu „tomcat”.
Zmiana czasu dostępu bez tworzenia nowego pliku
dotykać
polecenie po uruchomieniu tworzy nowy pusty plik. Ale mogą wystąpić sytuacje, w których plik jest już utworzony i chcesz tylko zmodyfikować czas dostępu tego pliku bez tworzenia nowego.
W tej sytuacji możesz użyć dotykać
polecenie z -C
opcja, która pozwala uniknąć tworzenia nowego pliku i nadal pozwala na modyfikację znacznika czasu Access.
Składnia:
dotknij -c [nazwa pliku]
Przykład:
gaurav@ubuntu:~/workspace$ touch -c iift.txt gaurav@ubuntu:~/workspace$ ls demo gsy.c log1.txt sheldon_log-1.txt sheldon_log-3.txt sheldon_log-5.txt sheldon_log-7.txt sheldon_log-9.txt filemove.c iift.txt sheldon_log-10.txt sheldon_log-2.txt sheldon_log-4.txt sheldon_log-6.txt sheldon_log-8.txt tomcat gaurav@ubuntu:~/workspace$
Podobnie możesz zmienić czas dostępu do już istniejącego katalogu. Możesz to zrobić w następujący sposób.
Przykład:
Wyświetlanie aktualnego znacznika czasu dostępu do katalogu tomcat.
gaurav@ubuntu:~/workspace$ stat tomcat Plik: tomcat Rozmiar: 4096 Bloki: 8 Blok IO: 4096 katalog Urządzenie: 808h/2056d I-węzeł: 2039942 Linki: 3 Dostęp: (0775/drwxrwxr-x) Uid: ( 1000/ gaurav ) Gid: ( 1000/gaurav) Dostęp: 2020-09-14 11:21:10.638538949 +0530 Modyfikuj: 2020-09-14 11:43:22.482485281 +0530 Zmień: 2020-09-14 11:43:22.482485281 +0530 Narodziny: - gaurav@ubuntu:~/workspace$
gaurav@ubuntu:~/workspace$ touch -c tomcat
Tutaj zmieniłem czas dostępu do istniejącego już katalogu „tomcat”.
Wyjście:
gaurav@ubuntu:~/workspace$ stat tomcat Plik: tomcat Rozmiar: 4096 Bloki: 8 Blok IO: 4096 katalog Urządzenie: 808h/2056d I-węzeł: 2039942 Linki: 3 Dostęp: (0775/drwxrwxr-x) Uid: ( 1000/ gaurav ) Gid: ( 1000/gaurav) Dostęp: 2020-09-14 20:18:52.625031128 +0530 Modyfikacja: 2020-09-14 20:18:52.625031128 +0530 Zmiana: 2020-09-14 20:18:52.625031128 +0530 Narodziny: - gaurav@ubuntu:~/workspace$
Krzyżowe sprawdzanie wyników:
gaurav@ubuntu:~/workspace$ touch -c temp.cpp gaurav@ubuntu:~/workspace$ ls temp.cpp ls: brak dostępu do 'temp.cpp': Brak takiego pliku lub katalogu gaurav@ubuntu:~/workspace$
Tutaj próbowałem użyć dotknąć -c
z temp.cpp
. Ten plik nie istnieje. Stąd możemy powiedzieć, że używając dotykać
z opcją -C
unika tworzenia nowych pustych plików i modyfikuje znacznik czasu tylko dla istniejącego pliku.
Modyfikowanie znacznika czasu dostępu i modyfikacji do określonej daty i godziny
W poprzednich blokach musiałeś zauważyć, że za każdym razem, gdy używamy dotykać
polecenie zmiany znaczników czasu, jest zmieniane na aktualny czas i datę.
Mogą jednak wystąpić sytuacje, w których konieczne może być użycie niestandardowej godziny i daty. Za pomocą dotykać
polecenie z -C
oraz -T
opcje mogą służyć temu celowi.
Przykład:
Zmienię znacznik czasu dostępu i modyfikacji w pliku iift.txt do niestandardowego czasu i daty.
gaurav@ubuntu:~/workspace$ stat iift.txt Plik: iift.txt Rozmiar: 66 Bloki: 8 Blok IO: 4096 zwykły plik Urządzenie: 808h/2056d I-węzeł: 1990385 Linki: 1 Dostęp: (0644/-rw-r- -r--) Uid: ( 1000/ gaurav) Gid: ( 1000/ gaurav) Dostęp: 2020-09-14 12:04:07.091786565 +0530 Modyfikacja: 2020-09-14 12:04:07.091786565 +0530 Zmiana: 2020 -09-14 12:04:07.091786565 +0530 Urodzenie: -
Datę i godzinę można określić w formacie: {CCYY}MMDDggmm.ss
Parametr | Opis |
CC | Pierwsze dwie cyfry roku |
YY | Drugie dwie cyfry roku |
MM | Miesiąc roku (01-12) |
DD | Dzień miesiąca (01-31) |
hh | Godzina dnia (00-23) |
mm | Minuty na godzinę (00-59) |
Używam datownika jako 203011051820 (tj. 5-listopad-2030, godzina 18:20).
gaurav@ubuntu:~/workspace$ touch -c -t 203011051820 iift.txt
To polecenie zmieni znacznik czasu dostępu i modyfikacji dla pliku iift.txt następująco.
gaurav@ubuntu:~/workspace$ stat iift.txt Plik: iift.txt Rozmiar: 66 Bloki: 8 Blok IO: 4096 zwykły plik Urządzenie: 808h/2056d I-węzeł: 1990385 Linki: 1 Dostęp: (0644/-rw-r- -r--) Uid: ( 1000/ gaurav) Gid: ( 1000/ gaurav) Dostęp: 2030-11-05 18:20:00.000000000 +0530 Modyfikacja: 2030-11-05 18:20:00.000000000 +0530 Zmiana: 2020 -09-14 20:39:55.641781140 +0530 Narodziny: - gaurav@ubuntu:~/workspace$
Używanie pliku referencyjnego do ustawiania znacznika czasu
dotykać
Polecenie może być również użyte z opcją -r
aby użyć znacznika czasu wybranego pliku referencyjnego w bieżącym pliku.
Składnia:
touch -r [plik_odniesienia] [rzeczywisty_plik]
Przykład:
Użyjemy gsy.c
plik jako plik referencyjny. Więc sygnatury czasowe gsy.c
zostanie użyty do pliku iift.txt
. Sprawdźmy najpierw aktualne znaczniki czasu obu tych plików za pomocą stat
Komenda.
gaurav@ubuntu:~/workspace$ stat gsy.c Plik: gsy.c Rozmiar: 0 Bloki: 0 Blok IO: 4096 zwykły pusty plik Urządzenie: 808h/2056d I-węzeł: 2001385 Linki: 1 Dostęp: (0644/-rw-r --r--) Uid: ( 1000/ gaurav) Gid: ( 1000/ gaurav) Dostęp: 2020-09-14 10:59:24.972855176 +0530 Modyfikacja: 2020-09-13 23:52:00.215090207 +0530 Zmiana: 2020-09-14 10:59:24.972855176 +0530 Narodziny: - gaurav@ubuntu:~/workspace$ stat iift.txt Plik: iift.txt Rozmiar: 66 Bloki: 8 Blok IO: 4096 zwykły plik Urządzenie: 808h/2056d I-węzeł : 1990385 Linki: 1 Dostęp: (0644/-rw-r--r--) Uid: ( 1000/ gaurav) Gid: ( 1000/ gaurav) Dostęp: 2025-10-19 18:20:00.000000000 +0530 Modyfikuj: 2025-10-19 18:20:00.000000000 +0530 Zmiana: 2020-09-14 20:39:55.641781140 +0530
Korzystanie z polecenia dotknij -r
Teraz.
gaurav@ubuntu:~/workspace$ touch -r gsy.c iift.txt
Wyjście:
gaurav@ubuntu:~/workspace$ stat iift.txt Plik: iift.txt Rozmiar: 66 Bloki: 8 Blok IO: 4096 zwykły plik Urządzenie: 808h/2056d I-węzeł: 1990385 Linki: 1 Dostęp: (0644/-rw-r- -r--) Uid: ( 1000/ gaurav) Gid: ( 1000/ gaurav) Dostęp: 2020-09-14 10:59:24.972855176 +0530 Modyfikacja: 2020-09-13 23:52:00.215090207 +0530 Zmiana: 2020 -09-14 21:04:27.640026328 +0530 Narodziny: - gaurav@ubuntu:~/workspace$
Z danych wyjściowych widzimy, że znaczniki czasu dla pliku iift.txt
zmienił się. Nowe znaczniki czasu są teraz podobne do tych z pliku referencyjnego gsy.c
Wniosek
W tym samouczku dowiedzieliśmy się o dotykać
polecenie i różne dostępne z nim opcje do tworzenia nowych pustych plików i zmieniania znaczników czasu istniejących plików na różne sposoby.