Команда Touch в Linux: как се прилага и практични примери

В Linux всеки отделен файл е свързан с времеви отпечатъци и всеки файл съхранява информацията за последно време на достъп, време на последна модификация и време на последна промяна. Така всеки път, когато създаваме нов файл и осъществяваме достъп или модифицираме съществуващ файл, времевите марки на този файл се актуализират автоматично.

Важно е да отбележим каква е разликата между времето на модификация (modification time) и времето на промяна (change time).

Времето на модификация: е времето, когато съдържанието на файла е било последно модифицирано. Например, използвали сте редактор, за да добавите ново съдържание или да изтриете съществуващо съдържание.

Времето за промяна: е времето, когато inode на файла е променен. Например чрез промяна на разрешения, собственост, име на файл, брой твърди връзки.

В тази статия ще разгледаме някои полезни практически примери за touch команди в Linux. Преди да се насочим към примерите, ще разгледаме следните флагове:

-a, промяна на времето за достъп (access time)

-m, промяна на времето за модификация (modification time)

-c, ако файлът не съществува, не го създавай

-t, използва специфично време, вместо текущото време

-r, използвай времената на този файл, вместо текущото време

-h  промяна на времето за символни връзки (symbolic links)

--help, показване на помощното меню

--version, показва версията на командата

Linux-touch-command

1. Как да създадем файл

Следната команда ще създаде празен файл с името file.txt.

$ touch file.txt

2. Как да създадем няколко файла

С помощта на touch командата, могат да бъдат създадени няколко файла наведнъж.

$ touch create.txt multiple.txt files.txt

За създаването на множество файлове можете да използвате и следната команда:

$ touch file{1..3}.txt

Ще бъдат създадени три файла file1.txt, file2.txt и file3.txt.

3. Промяна на времето за достъп (access time)

За да промените или актуализирате времето за достъп, използвайте опцията -a. Ако файлът не съществува, ще бъде създаден нов празен файл с името.

$ touch -a file1.txt

Delta Marketplace - как да създадете VPS с предварително инсталиран софтуер с няколко клика?

4. Промяна на времето за модификация (modification time)

Ако искате да промените единствено времето за модификация на файла, тогава използвайте опцията -m. Имайте предвид, че това ще актуализира само последните времена на модификация (не времената за достъп) на файла.

$ touch -m file1.txt

5. Промяна на времето за достъп и модификация

За да промените както времето за достъп, така и времето за модификация, използвайте заедно флаговете -am.

$ touch -am file1.txt

6. Промяна на времевия отпечатък на symbolic link

Когато използвате символно свързано име на файл с командата touch, информацията за времевия печат на оригиналния файл, който е посочен от symbolic link-а, се променя. За да промените времето за достъп и модифициране с текущото време използвайте опцията -h:

$ touch -h file4.txt

7. Изрично зададено време за достъп и модификация

Можете изрично да зададете дата на достъп и промяна, като използвате опцията -c и -t. Форматът ще бъде както следва:

$ touch -c -t CCYYMMDDhhmm.ss file1.txt (месец/ден/час/минути)
  • CC – първите две цифри на  годината
  • YY – вторите две  цифри на годината
  • MM – месеца (01-12)
  • DD – деня  (01-31)
  • hh – часа (00-23)
  • mm – минутите (00-59)
  • ss – секундите (00-59)

8. Използване на времевия отпечатък на друг файл

Следната команда ще актуализира времевия отпечатък на файла file1.txt, с времевия отпечатък на файла file2.txt. Така и двата файла ще бъдат с едни и същи показатели.

$ touch -r file2.txt file1.txt

9. Промяна на датата като стринг

Можете също да посочите датата и часа като стринг, като използвате опцията -d.

$ touch -d "1 Jan" file1.txt
$ touch -d "2 days ago 12:00" file1.txt
$ touch -d 11am file1.txt

В заключение, командата touch е проста, но мощна програма, която може да се използва за създаване, модифициране и актуализиране на файлове в Linux.

Това е инструмент от командния ред, който е лесен за използване и може да ви спести много време при работа с файлове.

Независимо дали искате да създадете нов файл, да промените времевия отпечатък на съществуващ файл или да актуализирате съдържанието на файл, командата "touch" е идеалният инструмент за работата.

Детелин Илиев

Детелин Илиев

Детелин има над 5 годишен опит с Linux и е добре запознат с интерфейса му и работата под команден ред. Разполага със Cpanel сертификат, познава отлично Cpanel средата и с лекота управлява уеб хостинг акаунти. Има богат опит с WordPress и в свободното си време използва платформата за създаване на съдържание.