Что-то вроде этого?
find -type f -printf '%Ta\t%p\n' | egrep "^(Sun|Mon)" | cut -f 2-
Обратите внимание, что это использует время последнего изменения файла, не время создания (которым, насколько я знаю, не сохранен нигде),
Если вывод echo $0
команда -bash
это означает это bash
был вызван как оболочка входа в систему. Если вывод только bash
, затем Вы находитесь в оболочке невхода в систему.
man bash
говорит где-нибудь в строке 126:
A login shell is one whose first character of argument zero is a -, or one started with the --login option.
Посмотрите больше о здесь: Различие между Входом в систему Shell и Невходом в систему Shell?.
Теперь, для объяснения, почему Вы добираетесь /bin/bash
во втором случае я могу сказать, что программа (в Вашем случае Ваш файловый менеджер, вероятно, наутилус) или сценарий может изменить свое собственное $0
к чему-то еще. Как пример видят то, что происходит с $0
в моем терминале (тот же терминал все время):
Различие до способа, которым они были запущены. удар инициализирует по-другому (прочитайте различные сценарии запуска) в зависимости от он - argv [0]. Если строка запускается с дефиса -
как в -bash
затем это работает как оболочка входа в систему, в противном случае это будет работать как интерактивная оболочка. Это может также работать как неинтерактивная оболочка (т.е. в сценарии оболочки).
Для обнаружения больше, лучше читать руководство, man bash
раздел INVOCATION.
Оболочка запускается, когда Вы входите в систему, но она также запускается программами как make
, или когда Вы выполняете сценарий оболочки, или когда Вы вводите :sh
кому: vi
, или когда Вы создаете новое окно терминала.
Первоначально, чтение оболочки в ~/.profile
когда Вы вошли в систему или работали su
. Этот сценарий сделал бы, вещам нравится, объявляют, была ли у Вас новая электронная почта, настройте свое стирание и уничтожьте символы, и установите и экспортируйте ТЕРМИН и СОЕДИНИТЕ переменные каналом. При запуске почти в любом другом контексте оболочка не читала ~/.profile
, потому что выполнение большинства тех вещей было бы избыточно. Вы, как ожидали, экспортируете любые важные переменные оболочки в новую оболочку.
Путем оболочка знала, читать ли в ~/.profile
должен был проверить ли первый символ argv[0]
, иначе $0
, был '-'
.
Запуск с csh
, псевдонимы были представлены. Псевдонимы не экспортировались в среде. csh
был разработан для чтения в двух различных сценариях инициализации. ~/.login
было только для чтения, когда пользователь вошел в систему, и сигнал, чтобы сделать, это было то, если argv[0]
начался '-'
. ~/.cshrc
был считан каждый раз, когда оболочка была запущена. В целом, помещенный псевдоним в ~/.cshrc
и все остальное в ~/.login
. csh
также поддерживаемый ~/.logout
, который в большинстве случаев просто очистил экран и работал fortune
.
Другие оболочки приняли эти те же функции. ksh
читал бы в ~/.kshrc
, bash
читал бы в ~/.bashrc
, и это было то, куда Вы поместите свои определения псевдонима.
Так, короче говоря, приложение, которое порождает оболочку, добирается, чтобы решить, должно ли это быть "оболочкой входа в систему", в этом случае существует это '-'
вначале, или регулярная оболочка. В большинстве случаев оболочка, это будет интерактивным, запускается как оболочка входа в систему, и оболочка означала только выполнять некоторые команды, или поскольку аргументами или из сценария, и затем выходить является регулярная оболочка.
Но это - все до прихоти приложения, которое запускает оболочку.