Как заставить консоль выводить (подтверждать) некоторые команды?

У меня 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) в консоли?

1
задан 7 August 2013 в 11:15

1 ответ

Для команд ln, cp, mv и rmdir следует использовать опцию -v или --verbose. Из man cp и man mv:

  -v, --verbose
          explain what is being done

Из man ln:

   -v, --verbose
          print name of each linked file

Из man rmdir :

  -v, --verbose
          output a diagnostic for every directory processed

Обратите внимание, что у вас нет возможности запрашивать подтверждение при использовании rmdir, поскольку rmdir удаляет пустые каталоги. Вместо этого вы можете использовать rm -d с опцией -i (см. Ниже).

Для команды rm следует использовать опцию -i. Из man rm:

   -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'
0
ответ дан 7 August 2013 в 11:15

Другие вопросы по тегам:

Похожие вопросы: