Когда я ввожу команду
ls
, я вижу список файлов и каталогов в текущем каталоге, отображаемый список довольно раздражает.
Скорее, мне нравится выполнять команду ls с параметром -1, например
ls -1
Мой вопрос заключается в том, как изменить поведение команды ls по умолчанию, чтобы она всегда выполнялась с параметром -1. То есть, как отображать файлы и каталоги в одном столбце с помощью команды ls.
Благодаря.
Один из способов заключается в создании псевдонима в файле ~/.bashrc
:
alias l1='ls -1'
, а затем, набрав l1
, ls -1
будет выполнен
В вашем домашнем каталоге откройте файл .bashrc в редакторе и добавьте alias ls = 'ls -1' .
Сначала откройте терминал (нажмите Control kbd> Alt kbd> T kbd>), введите Найдите раздел с псевдонимами для ls. В моем (сток 11.10) это выглядит так: Добавьте следующую строку после псевдонимов ls: Сохраните файл, выйдите из gedit и терминала и перезагрузите компьютер. Теперь команда ls должна выполнить ls -1 по умолчанию. gedit ./.bashrc
, чтобы открыть файл .bashrc в редакторе. [ 115] # some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
alias ls='ls -1'
Ответ Зетов - лучший. Для уточнения:
Псевдонимы лучше всего использовать для коротких, простых, часто используемых модификаций параметров команды по умолчанию. Они хранятся в памяти (после чтения из исходного файла) для лучшей производительности или повторного использования.
Функции подходят для более сложных действий, которые часто используются, а также хранятся в памяти.
Скрипты подходят для наиболее сложных и наименее часто используемых команд.
См. этот вопрос и ответы по unix stackexchange - объясняет разницу в наилучшем использовании между псевдонимами, функциями и сценариями.
Просто чтобы кое-что прояснить в ответе @RobDavenport. Вы не можете использовать функцию для переопределения команды с тем же именем.
например. чтобы добавить параметр по умолчанию к команде ls
, вы можете сделать:
alias ls='ls -1 $@'
Это добавит новый псевдоним с именем ls
, поэтому он будет вызываться вместо исходной команды. Он добавит опцию -1
и перенаправит каждый параметр $@
в исходную команду ls
.
Вы могли бы также сделать
function ls_column () {
ls -1 $@
}
Это имело бы тот же эффект, но вы должны использовать другое имя для своей функции. В противном случае он будет называть себя снова и снова.