изменить параметры команды по умолчанию

15

Когда я ввожу команду

ls

Я вижу список файлов и каталогов в текущем каталоге, отображаемый список довольно раздражает.

Скорее, мне нравится выполнять команду ls с параметром -1, например

ls -1

Мой вопрос заключается в том, как изменить поведение команды ls по умолчанию, чтобы она всегда выполнялась с параметром -1. т.е. как отображать файлы и каталоги в одном столбце с помощью команды ls.

Благодарю.

hrishikeshp19
источник

Ответы:

14

Одним из способов будет создание псевдонима в вашем ~/.bashrcфайле:

alias l1='ls -1'

затем, набрав l1, ls -1будет выполнен

zetah
источник
Как найти файл ~ / .bashrc? Я нашел приложение "bash" в компьютере \ bin, но не текстовый файл с именем, которое вы упомянули.
AlainD
@AlainD Файл .bashrc находится в вашем домашнем каталоге, а не в / bin. ~ Расширяет свой домашний каталог в Баше, так что путь будет читать что - то вроде /home/user/.bashrc
Джишна
Я использую псевдоним lsl = "ls -l", так как мне не нужно выходить из домашнего ряда, чтобы войти в него.
dvnkiss
4

В вашей домашней директории откройте файл .bashrc в редакторе и добавьте псевдоним ls = 'ls -1' .

Сначала откройте терминал (нажмите ControlAltT), введите, gedit ./.bashrcчтобы открыть файл .bashrc в редакторе.

Найдите раздел с псевдонимами для ls. У меня (сток 11.10) это выглядит так:

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

Добавьте следующую строку после псевдонимов ls:

alias ls='ls -1'

Сохраните файл, выйдите из gedit и терминала и перезагрузите компьютер. Теперь команда ls должна выполнить ls -1 по умолчанию.

Джеймс
источник
1
Это переопределяет "ls", чтобы теперь он работал как "ls -1" по умолчанию для этого пользователя. Если вы предпочитаете использовать новую команду, то ответ @zetah охватывает это.
Джеймс
В моем домашнем каталоге на uBuntu 14.04 LTS я вижу только кучу папок, а файла .bashrc нет.
AlainD
1

Ответ Зетов лучший. Разработать:

Псевдонимы лучше всего использовать для коротких, простых, часто используемых модификаций параметров команды по умолчанию. Они сохраняются в памяти (после чтения из исходного файла) для лучшей производительности или повторного использования.

Функции подходят для более сложных действий, которые часто используются, а также хранятся в памяти.

Скрипты подходят для самых сложных и наименее часто используемых команд.

См. Этот вопрос и ответы по unix stackexchange - объясняется разница в наилучшем использовании псевдонимов, функций и сценариев.

RobDavenport
источник
1

Просто чтобы уточнить что-то для ответа @RobDavenport. Вы не можете использовать функцию, чтобы переопределить команду с тем же именем.

например, чтобы добавить параметр по умолчанию к lsкоманде, которую вы можете сделать:

alias ls='ls -1 $@'

Это добавит новый вызванный псевдоним, lsпоэтому он будет вызываться вместо исходной команды. Это добавит -1параметр и перенаправит каждый параметр $@в исходную lsкоманду.

Вы могли бы также сделать

function ls_column () {
  ls -1 $@
}

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

Тим
источник