Komenda dotykowa w Linuksie
Komenda dotykowa może być użyta do modyfikacji znaczników czasu dostępu/modyfikacji plików. Jest ono częściej używane do szybkiego tworzenia pustych plików.
Ten post pokazuje kilka bardzo prostych i szybkich przykładów użycia polecenia touch do modyfikacji znaczników czasu lub tworzenia plików.
Tworzenie pustego pliku
Aby po prostu utworzyć pusty plik za pomocą polecenia touch, użyj poniższej składni.
$ touch abc.txt
Jeśli plik już istnieje, jego czas dostępu zostanie zaktualizowany.
Tworzenie wielu plików za pomocą touch
Aby utworzyć wiele plików, podaj ich nazwy oddzielone spacją.
$ touch abc.txt cde.txt xyz.txt
Twórz wiele i wiele plików
Jeśli z jakiegoś powodu chcesz utworzyć wiele plików, to polecenia takie jak te będą bardzo pomocne
# Create files with names A to Z$ touch {A..Z}# Create files with names 1 to 20$ touch {1..20}# Create files with extension$ touch {1..1000}.txt# Create 10K files$ touch {1..10}{1..1000}
A potem użyj polecenia ls, aby zobaczyć, co wszystko zostało utworzone.
Unikanie tworzenia nowych plików
Jeśli chcesz tylko zaktualizować czas dostępu do istniejącego pliku, bez jego tworzenia, użyj opcji '-c'. Jeśli plik istnieje, touch zaktualizuje czas dostępu, w przeciwnym razie nie zrobi nic
$ touch -c hello.txt
Zmień czas dostępu do pliku – 'a'
Aby zmienić tylko czas dostępu do pliku użyj opcji '-a' wraz z nazwą pliku.
$ touch -a abc.txt
Aby sprawdzić czas dostępu użyj polecenia stat
$ stat a.txt File: ‘a.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty fileDevice: 801h/2049d Inode: 5904730 Links: 1Access: (0664/-rw-rw-r--) Uid: ( 1000/enlightened) Gid: ( 1000/enlightened)Access: 2016-03-10 15:04:24.281533071 +0530Modify: 2016-03-10 15:00:16.117864128 +0530Change: 2016-03-10 15:04:24.281533071 +0530
Zmień czas zmodyfikowany '-m'
Użyj opcji '-.m', aby zmienić czas zmodyfikowany pliku
$ touch -m a.txtThen check the file statistics with the stat command -$ stat a.txt File: ‘a.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty fileDevice: 801h/2049d Inode: 5904730 Links: 1Access: (0664/-rw-rw-r--) Uid: ( 1000/enlightened) Gid: ( 1000/enlightened)Access: 2016-03-10 15:04:24.281533071 +0530Modify: 2016-03-10 15:05:03.409475551 +0530Change: 2016-03-10 15:05:03.409475551 +0530
Aby zmienić czas modyfikacji wielu plików, użyj symboli wieloznacznych
$ touch -m *.txt
Zmień czas dostępu i czas modyfikacji razem
Użyj opcji a i m, aby zmienić czas dostępu i czas modyfikacji. dostęp i czas modyfikacji
$ touch -am a.txt
$ stat a.txt File: ‘a.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty fileDevice: 801h/2049d Inode: 5904730 Links: 1Access: (0664/-rw-rw-r--) Uid: ( 1000/enlightened) Gid: ( 1000/enlightened)Access: 2016-03-10 15:07:39.633235119 +0530Modify: 2016-03-10 15:07:39.633235119 +0530Change: 2016-03-10 15:07:39.633235119 +0530
Ustawienie konkretnego czasu dostępu/modyfikacji zamiast czasu bieżącego
Aby ustawić czas dostępu/modyfikacji na konkretną datę, użyj opcji t i podaj datę w formacie
YY]MMDDhhmm
$ touch -c -t 1603051015 a.txtor$ touch -c -t 201603051015 a.txt
Uwaga -. Jeśli pominiesz opcję c, zostanie utworzony nowy plik z podanym datetime, jeśli nie istnieje.
Użyj znacznika czasu innego pliku jako odniesienia
$ touch -r ref.txt abc.txt
Powyższe polecenie ustawi czas dostępu/modyfikacji abc.txt na czas ref.txt
Określ czas jako ciąg znaków
Oprócz opcji t, jest jeszcze jedna opcja '-d', która akceptuje czas w formatach czytelnych dla człowieka.
Poniższy przykład podaje tylko datę. Czas jest automatycznie ustawiony na 00:00
$ touch -c -d '14 Mar' abc.txt
Albo wystarczy podać czas, a zostanie wybrana bieżąca data –
$ touch -d '14:24' abc.txt
Podsumowanie
To były jedne z podstawowych przykładów polecenia touch. Aby dowiedzieć się więcej, sprawdź stronę man z poleceniem „man touch”.
Albo przeczytaj strony manuala online tutaj:
https://man7.org/linux/man-pages/man1/touch.1.html
https://linux.die.net/man/1/touch