У меня Ubuntu установлена на нескольких машинах, и я хотел бы повторить поведение консоли, обнаруженной на одной из них во всех моих установках (все они 12.04, 64 и 32-битные).
Я установил Ubuntu Studio 12.04 («lowlatency») несколько месяцев назад, и, может быть, я тогда что-то сделал, а может, и нет, но я получаю своего рода «эхо» всех команд, для которых я считаю, что это важно иметь один (как rm
, rmdir
, ln
, cp
и mv
). Мне также предлагается подтвердить тип команд rm
, что, на мой взгляд, замечательно, хотя иногда немного раздражает ... в любом случае, когда я не хочу беспокоиться, я просто добавляю -f
, и все это хорошо.
Вот пример с cp
:
foo@bar: /tmp$ cp hello.txt world.txt
`hello.txt` -> `world.txt`
То же самое с mv
. Я вполне уверен, что я не настраивал это сам, поэтому я думаю, что это поведение по умолчанию. Я хотел бы сделать то же самое на других машинах, и почему бы даже не контролировать все это вручную и решать, какие команды получают эхо или нет, если это возможно. Я подозреваю, что это как-то связано с файлом ~/.bashrc
, но это все, что я могу сделать самостоятельно.
Как я могу заставить некоторые команды отображать некоторую обратную связь (например, ln
, cp
, mv
) и другие запросы на подтверждение (например, rm
и rmdir
) в консоли?
Для команд ln
, cp
, mv
и rmdir
следует использовать опцию -v
или --verbose
. Из man cp
и man mv
:
blockquote>-v, --verbose explain what is being done
Из
man ln
:blockquote>-v, --verbose print name of each linked file
Из
man rmdir
:blockquote>-v, --verbose output a diagnostic for every directory processed
Обратите внимание, что у вас нет возможности запрашивать подтверждение при использовании
rmdir
, посколькуrmdir
удаляет пустые каталоги. Вместо этого вы можете использоватьrm -d
с опцией-i
(см. Ниже).Для команды
rm
следует использовать опцию-i
. Изman rm
:blockquote>-i prompt before every removal
Теперь, если вы хотите, чтобы эти команды выполнялись с этими параметрами все время в терминале, вы можете использовать псевдонимы. Итак, добавьте следующие строки в конец файла
~/.bashrc
или в файл~/.bash_aliases
:alias cp='cp -v' alias mv='mv -v' alias ln='ln -v' alias rmdir='rmdir -v' #or, better for what you asked: alias rmdir='rm -id' alias rm='rm -i'