заставить ls отображать текущую дату и время

заставить ls отображать текущую дату и время

Я хотел бы, чтобы ls отображал текущую дату и время в качестве побочного эффекта каждый раз, когда я использую ls. Как мне изменить то, что делает команда?

решение1

Одним из вариантов было бы создание псевдонима, который вызывает date, например alias ls='date;ls'. Вот пример:

$ touch a b c
$ ls
a  b  c
$ alias ls='date;ls'
$ ls
Mon Oct 14 10:37:29 BST 2013
a  b  c

решение2

Определите переменную PS1 для вашей оболочки, это то место, где вы должны видеть все, что хотите в своей оболочке.

Пример:

export PS1="\t [\u@\h \W]\$ "
12:01:58 [user@host ~]$ ls /etc/fstab
/etc/fstab
12:02:00 [user@host ~]$ ls /etc/motd
/etc/motd

решение3

Я не понимаю, почему вы хотите это сделать. Может быть, вы могли бы поделиться тем, чего вы на самом деле пытаетесь достичь, и мы могли бы помочь вам найти лучшее решение.

Что я лично делаю, так это редактирую свою строку PS1. Моя строка PS1 отображает много информации в подсказке, что-то вроде этого: Линия PS1 Как вы можете видеть, она отображает массу информации помимо даты и времени. Чтобы отображать дату и время на вашей PS1, добавьте \@для отображения времени и \dдля отображения даты.

Отвечая на ваш вопрос явно, вы могли бы создать псевдоним в вашем .bashrc. Для этого добавьте следующую строку в ваш ~/.bashrc:

alias ls='date && ls'

Вы заявили, что не хотите менять работу команды. Хотя здесь может показаться, что все наоборот, но вы должны понимать, как работают псевдонимы, чтобы оценить тот факт, что это на самом деле не меняет команду ls. Если вы выполните ls из скрипта, команда будет вызвана в подоболочке, что не позволит родительской оболочке применить к ней ваши правила псевдонима. Следовательно, вызовы скриптов не lsбудут прерываться из-за изменения формата вывода.

EDIT: Поскольку некоторые другие могут быть заинтересованы в самой линейке PS1, вы можете найти соответствующие подробностиздесь. Будьте осторожны, он довольно большой, и если у вас есть каталоги, содержащие тысячи файлов, производительность оболочки будет заметно снижаться.

Связанный контент