Может кто-нибудь объяснить, как exit
работает команда в Unix-терминале?
Поиск man exit
и which exit
не был полезен, и я столкнулся со следующей проблемой.
После установки пакетов add on для Anaconda и PyCharm в моей новой системе Red Hat я заметил, что при каждом вызове exit
для выхода из сеанса терминала я получаю серию ошибок, а затем терминал завершает работу, как и ожидалось. Кажется, ошибки указывают на то, что мой вызов exit
вызывает вызов rm ~/anaconda3/.../
и rm ~/PyCharm/....
вызывает ошибку. Все каталоги также являются местоположениями пакетов, которые я скачал для этих программ (то есть numpy), см. Ниже.
$ exit
rm: cannot remove ‘~/anaconda3/lib/python3.5/site-packages/numpy/core’: Is a directory
...
...
Постановили
В моем ~/.bash_logout
файле была строка
find ~ -xdev ( -name *~ -o -name .*~ -o -name core ) -exec \rm '{}' \;
Комментирование этой строки прекратило сообщения об ошибках. Похоже, для поиска и удаления всех временных файлов. Но он также пытается найти каталоги со словом «ядро» и удалить их. Это было предустановкой в системе.
exit
является ли псевдоним?
core
файлы, заключается в том, что они обычно представляют собой файлы аварийного отключения ( дампы ядра ), которые занимают место, но редко полезны, если вы не разрабатываете программное обеспечение, вызывающее сбой. В этом случае он пытается удалить каталог с именем core
, который терпит неудачу (и хорошо, что он терпит неудачу - numpy.core
это важно для NumPy!).
ulimit -c 0
по умолчанию). В find -exec rm
любом случае, я не хочу эту команду, но вы можете добавить -type f
к ней. Вы также можете сделать намного более эффективным удаление нескольких файлов, используя -exec rm {} +
вместо этого ... \;
, чтобы он объединял несколько аргументов в одну rm
командную строку (например, xargs)
exit
выходе из этого терминального сеанса - или это происходит каждый раз, когда вы используете егоexit
после этого?