Между ними есть существенная разница. Touch
команда, используемая для отметки времени файла >
Символ представляет собой стандартный выходной редиректор.
Использование двух объяснил
Использование Touch
Если файл не существует, он создаст файл.
Сенсорный обычно используется для создания флагов. Например, если вы хотите найти все файлы в вашей системе два раза, вы можете использовать следующую последовательность команд:
$ touch -t 201609292200 starttime
$ touch -t 201609292300 endtime
Это создаст следующие файлы (или изменит метку времени, если они существуют):
-rw-rw-r-- 1 ljames ljames 0 Sep 29 23:00 endtime
-rw-rw-r-- 1 ljames ljames 0 Sep 29 22:00 starttime
Теперь вы можете использовать find, чтобы отобразить или обработать все файлы, которые были изменены в этот час (время между этими двумя отметками времени, то есть между 22:00 и 23:00 по 29 сентября 2016 г.).
$ find ~/ -newer starttime ! -newer endtime -printf "%M %Tm/%Td %TH:%TM %TM %p\n"
Это частичный вывод приведенной выше команды поиска:
-rw-rw-r-- 09/29 22:08 08 /home/users/l/j/ljames/.thunderbird/lj7p62iq.default/gcontactsync/google_feed_backups/apollothethird@gmail.com_groups.xml
-rw-rw-r-- 09/29 22:08 08 /home/users/l/j/ljames/.thunderbird/lj7p62iq.default/gcontactsync/google_feed_backups/apollothethird@gmail.com.xml
-rw-rw-r-- 09/29 22:08 08 /home/users/l/j/ljames/.thunderbird/lj7p62iq.default/gcontactsync/address_book_backups/abook.mab.bak
-rw-rw-r-- 09/29 23:00 00 /home/users/l/j/ljames/endtime
drwx------ 09/29 22:44 44 /home/users/l/j/ljames/.config/google-chrome/Default/Extensions/Temp
drwx------ 09/29 22:44 44 /home/users/l/j/ljames/.config/google-chrome/Default/Extensions/fahmaaghhglfmonjliepjlchgpgfmobi
drwx------ 09/29 22:44 44 /home/users/l/j/ljames/.config/google-chrome/Default/Extensions/fahmaaghhglfmonjliepjlchgpgfmobi/1.337.0_0
Использование перенаправления вывода
Символ перенаправления перенаправит стандартный вывод в указанный файл. В зависимости от ваших настроек clobber / noclobber, если может произойти сбой. Noclobber создаст файл, только если он не существует.
Существует несколько версий вывода перенаправления, который включает в себя:
> - Перенаправить стандартный вывод. Создать или перезаписать существующий файл.
>> - Перенаправить приложение. Создать или добавить в существующий файл.
> & - Перенаправить как стандартный вывод, так и стандартную ошибку.
>> & - Перенаправить / добавить как стандартный вывод, так и стандартную ошибку
Мы могли бы использовать нашу find
команду выше, чтобы перенаправить содержимое всех файлов, созданных в течение указанного часа, в файл, который мы могли бы зарегистрировать и изучить позже:
$ find ~/ -newer starttime ! -newer endtime -printf "%M %Tm/%Td %TH:%TM %TM %p\n" > ~/files.log
file.txt
уже существует и не пусто, они, конечно, нет.