Я хочу сравнить список пакетов в компьютере с авторизованным списком, который я имею. Как я сделал бы это? Следующее работало бы?
cd /home
touch authorizedlist.txt
(list contents) >> authorizedllist.txt
touch currentlist.txt
dpkg -l | cut -d ' ' -f3 | less >> currentlist.txt
touch difflist.txt
diff authorizedlist.txt currentlist.txt >> difflist.txt
Существует ли способ и создать новый текстовый файл и добавить содержание к нему в одной команде вместо того, чтобы делать касание, затем вставляющее текст? Кроме того, существует ли способ только распечатать то, что является ненужным от currentlist и не, что отсутствует в нем?
Да.
touch
устанавливает метку времени модификации данного файла к "теперь". Если данный файл еще не существует, он создается. Это - распространенный способ создать пустые файлы.
>>
перенаправление добавляет вывод в данный файл. Подобный touch
это создает файл, если это еще не существует. Но имейте в виду, это добавляет данные в существующий файл.
>
перенаправление перезаписывает данный файл с выводом предыдущей команды. Если файл еще не существует, он создается. Если это уже существует, это становится усеченным (который является: очищенный или освобожденный), и затем вывод записан в него.
less
так называемый пейджер. Это: это предназначено для интерактивного использования, таким образом, можно просмотреть большие файлы и использовать пространство и b (вне других) для движения вперед и назад в выводе команды или файле. При перенаправлении вывода команды в файл так или иначе Вы можете (и если) опускают less
звонить.
Соедините:
cd /home
(list contents) > authorizedlist.txt
dpkg -l | cut -d ' ' -f3 > currentlist.txt
diff authorizedlist.txt currentlist.txt > difflist.txt