Ответ
 
LinkBack Опции темы
Старый 24.04.2012, 02:19      #1 (ссылка на пост)
levinkv
Активный пользователь
 
Аватар для levinkv
 
Регистрация: 23.01.2012
Сообщений: 54
levinkv скоро придёт к известности
Информация

По умолчанию Команда touch в Linux

Всем привет!

В этой статье будет рассказано о команде touch в Linux. Команда touch не относится к тем командам, которые применяются ежедневно, но знать об этой команде должен каждый. Основное назначение команды – установка времени доступа и модификации файла, однако это не весь ее функционал. У команды touch имеются вспомогательные функции.

Для справки: применять команду touch к файлу можно только в том случае, если вы имеете право записывать информацию в этот файл. В противном случае при вызове команды touch возникнет ошибка.

Изменение сведений о времени

Для того чтобы одновременно изменить время доступа и время модификации файла (или каталога), надо выполнить команду touch, не задавая никаких опций:

Код:
$ ls -l
-rw-r--r-- 1 hub-lex hub-lex 0 2011 Апр 15 05:00 ald_file_DB.txt
-rw-r--r-- 1 hub-lex hub-lex 0 2011 Янв 10 08:21 apache2.log
-rw-r--r-- 1 hub-lex hub-lex 0 2011 Фев 17 15:19 test_001.txt
-rw-r--r-- 1 hub-lex hub-lex 0 2009 Ноя 10 21:18 wireless.log

$ touch wireless.log

$ ls -l
-rw-r--r-- 1 hub-lex hub-lex 0 2011 Апр 15 05:00 ald_file_DB.txt
-rw-r--r-- 1 hub-lex hub-lex 0 2011 Янв 10 08:21 apache2.log
-rw-r--r-- 1 hub-lex hub-lex 0 2011 Фев 17 15:19 test_001.txt
-rw-r--r-- 1 hub-lex hub-lex 0 2012 Апр 15 05:06 wireless.log

Из вывода выше можно увидеть, что изменилось время доступа и время модификации файла wireless.log.

При необходимости можно изменить время доступа и время модификации по отдельности. Если надо изменить только время доступа, тогда следует указать опцию -a (или –time=access), а чтобы установить только время модификации, надо использовать опцию -m (или –time=modify).

Задание произвольного времени для файла

С помощью команды touch можно выбрать любую дату и время, используя опцию -t и задавая задавая значение в следующем формате: [[CC]YY]MMDDhhmm[.ss]
  • CC – первые две цифры года, задаваемого четырьмя цифрами
  • YY – год, задаваемый двумя цифрами: значение 00-68 предполагает первые две цифры – 20; значение 69-99 предполагает первые две цифры – 19; отсутствующее значение предполагает текущий год
  • MM – месяц (01-12)
  • DD – день (01-31)
  • hh – часы (01-23)
  • mm – минуты (00-59)
  • ss – секунды (00-59)

Для справки: в тех случаях, когда в шаблоне предусмотрены две цифры, а значение представляется одной цифрой, надо указывать ведущий нуль. В противном случае опция будет интерпретирована неправильно.

Ниже представлено несколько примеров использования опции -t.

Изменяем время доступа и время модификации:

Код:
$ stat NEW_TEST_FILE.txt
  File: «NEW_TEST_FILE.txt»
  Size: 0               Blocks: 0          IO Block: 4096   пустой обычный файл
Device: 805h/2053d      Inode: 6427601     Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/ hub-lex)   Gid: ( 1000/ hub-lex)
Access: 2012-04-15 06:16:59.219063838 +0400
Modify: 2012-04-15 06:16:59.219063838 +0400
Change: 2012-04-15 06:18:32.859039413 +0400

$ touch -t 197002160811 NEW_TEST_FILE.txt

$ stat NEW_TEST_FILE.txt
  File: «NEW_TEST_FILE.txt»
  Size: 0               Blocks: 0          IO Block: 4096   пустой обычный файл
Device: 805h/2053d      Inode: 6427601     Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/ hub-lex)   Gid: ( 1000/ hub-lex)
Access: 1970-02-16 08:11:00.000000000 +0300
Modify: 1970-02-16 08:11:00.000000000 +0300
Change: 2012-04-15 06:18:32.859039413 +0400

Изменяем только время модификации файла -m:

Код:
$ stat NEW_TEST_FILE.txt
  File: «NEW_TEST_FILE.txt»
  Size: 0               Blocks: 0          IO Block: 4096   пустой обычный файл
Device: 805h/2053d      Inode: 6427601     Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/ hub-lex)   Gid: ( 1000/ hub-lex)
Access: 1970-02-16 08:11:00.000000000 +0300
Modify: 1970-02-16 08:11:00.000000000 +0300
Change: 2012-04-15 06:18:32.859039413 +0400

$ touch -m -t 199907251756 NEW_TEST_FILE.txt

$ stat NEW_TEST_FILE.txt
  File: «NEW_TEST_FILE.txt»
  Size: 0               Blocks: 0          IO Block: 4096   пустой обычный файл
Device: 805h/2053d      Inode: 6427601     Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/ hub-lex)   Gid: ( 1000/ hub-lex)
Access: 1970-02-16 08:11:00.000000000 +0300
Modify: 1999-07-25 17:56:00.000000000 +0400
Change: 2012-04-15 06:19:58.210107313 +040

Изменяем только время доступа -a:

Код:
$ stat NEW_TEST_FILE.txt
  File: «NEW_TEST_FILE.txt»
  Size: 0               Blocks: 0          IO Block: 4096   пустой обычный файл
Device: 805h/2053d      Inode: 6427601     Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/ hub-lex)   Gid: ( 1000/ hub-lex)
Access: 1970-02-16 08:11:00.000000000 +0300
Modify: 1999-07-25 17:56:00.000000000 +0400
Change: 2012-04-15 06:19:58.210107313 +0400

$ touch -a -t 201002161756 NEW_TEST_FILE.txt 

$ stat NEW_TEST_FILE.txt
  File: «NEW_TEST_FILE.txt»
  Size: 0               Blocks: 0          IO Block: 4096   пустой обычный файл
Device: 805h/2053d      Inode: 6427601     Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/ hub-lex)   Gid: ( 1000/ hub-lex)
Access: 2010-02-16 17:56:00.000000000 +0300
Modify: 1999-07-25 17:56:00.000000000 +0400
Change: 2012-04-15 06:24:42.210038431 +0400

Создание нового пустого файла

Необходимость изменять дату возникает довольно редко. Однако команда touch имеет еще одно, гораздо более интересное применение. С ее помощью можно воздействовать на файл, который еще не создан. В результате команда touch создаст новый файл с указанным именем:

Код:
$ ls -l
-rw-r--r-- 1 hub-lex hub-lex 0 Апр 15 2011 05:00 ald_file_DB.txt
-rw-r--r-- 1 hub-lex hub-lex 0 Янв 10 2011 08:21 apache2.log
-rw-r--r-- 1 hub-lex hub-lex 0 Мар 16 2011 10:17 test_001.txt
-rw-r--r-- 1 hub-lex hub-lex 0 Ноя 10 2012 15:14 wireless.log

$ touch NEW_TEST_FILE.txt

$ ls -l
-rw-r--r-- 1 hub-lex hub-lex 0 Апр 15 2011 05:00 ald_file_DB.txt
-rw-r--r-- 1 hub-lex hub-lex 0 Янв 10 2011 08:21 apache2.log
-rw-r--r-- 1 hub-lex hub-lex 0 Апр 15 2012 05:42 NEW_TEST_FILE.txt
-rw-r--r-- 1 hub-lex hub-lex 0 Мар 16 2011 10:17 test_001.txt
-rw-r--r-- 1 hub-lex hub-lex 0 Ноя 10 2012 15:14 wireless.log

На сегодня это все. Чтобы следить за статьями блога, оформляйте подписку по E-MAIL или RSS.

Источник: www.levinkv.ru
levinkv вне форума   Ответить с цитированием
Ответ

Социальные закладки

Метки
touch, touch command, touch command linux, touch linux, команда touch, команда touch linux, команда touch описание

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks Вкл.
Pingbacks Вкл.
Refbacks Вкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вот все XP да VISTA а как же LINUX ? MiraMaX166 Linuxoid 51 25.10.2014 13:36
Манипуляции с датой и временем в Linux levinkv Linuxoid 4 02.03.2012 00:52
Архивация в Linux – команда tar levinkv Linuxoid 0 29.02.2012 00:48
Архивация в Linux – команда zip levinkv Linuxoid 0 29.02.2012 00:45


Реламный блок
 

Текущее время: 20:29. Часовой пояс GMT +6.


Rambler's Top100 Счётчик тиц

vBulletin Skin by MiraMaX166
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot
Время генерации страницы 0.09550 секунды с 18 запросами