Що означає * ~?


14

В кінці макіяжу я побачив

rm -f *~ *.class

Я розумію *.class, але що *~?



Це питання слід закрити, а один із його дублікатів буде відкрито натомість: unix.stackexchange.com/questions/76189/… Оскільки дублікат є більш канонічним (див. Meta.unix.stackexchange.com/questions/2840/… ).
goldilocks

Відповіді:


25

Це в основному видалення резервних файлів.

*~означає всі файли, що закінчуються на ~.

Багато системних програм Unix / Linux створюють файли резервного копіювання, які закінчуються ~.

Наприклад, редактори emacsта nanoредактори автоматично зберігають резервну копію кожного редагованого файлу. Коли він зберігає файл, стара версія зберігається за допомогою імені файлу з ~доданим до кінця тильдом ( ).

Vimзробимо те саме, якщо ви покладете :set backupв своє .vimrc.

*~на Unix / Linux - це як *.bakу Windows.


Ах! Я це переосмислював. Думав, що це видалення всіх домашніх каталогів чи щось таке
Xodarap

18
~розширюється лише в домашній каталог, якщо він з’являється на початку слова.
Мікель

Вам слід бути дуже обережним, якщо ви коли-небудь публікуєте веб-сайт, щоб за будь-яку ціну виключити цей файл, як один із класичних способів атакувати його на веб-сайт, щоб шукати той файл, який буде просто відображатись вашим веб-сервером у вигляді текстових файлів, і таким чином розкривати ваш сервер код (що погано, оскільки жоден код не є надійним на 100%)
Kiwy
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.