Да, просто создайте zsh с configure --prefix=/home/roseck
. Это должно работать пока/, домашний раздел не смонтирован с a noexec
флаг.
Оболочка не является больше особенной, чем какое-либо другое приложение.
Если Вы не можете основываться на той машине, можно попытаться основываться на другой машине той же ОС и архитектуры, предпочтительно то же распределение ОС и версия и передать скомпилированные файлы через (остерегайтесь, хотя, что, если zsh зависит от библиотек, которые не установлены на целевой машине, Вам, возможно, придется скомпилировать их также).
Если вы используете Bash:
shopt -s extglob
rm -- !(file1|file2|file3)
, первая строка только активирует расширенный сопоставление шаблона, а после этого мы используем один из них:
! (Список шаблонов)
Все, кроме одного из данных шаблонов
и список шаблонов - это список одного или нескольких шаблонов, разделенных |
.
или с ZSH
setopt extendedglob
rm -- ^(file1|file2)
или, более портативным, используя Найти
:
find . -maxdepth 1 ! -name 'file1' ! -name 'file2' -type f -exec rm -v {} +
Добавьте имена файлов, которые вы хотите сохранить в текстовом файле, по одному на строку. Этот файл не должен быть в каталоге, либо вы должны добавить его имя.
Если имя вашего каталога FOO и имя файла PAR , сделайте следующее.
find foo -type f -print0|grep -vzZ -f bar|xargs -0 rm
Это делает следующее:
Найти -type f
поиск имен всех файлов в foo и его подкаталоги и печатает их на STDOUT. С вариантом -Print0
разграничивает имена имена файлов Nul Bytes. GREP -V -F-BAR
исключает все имена файлов, которые соответствуют строке в баре . С вариантом -Z -Z
он относится к своему входу в виде набора строк, разграниченных Nul Byte, с вариантом -Z
он разбирает его вывод с помощью байта Nul.
Xargs RM
вызовы RM
несколько раз, чтобы удалить файлы. С вариантом -0
он лечит свой вход как набор строк, разграниченных Nul Byte. Это работает с именами файлов, содержащей белое пространство.
Сделайте подкаталог TMP
, переместите все все файлы, которые вы хотите сохранить в этом каталоге и сделать RM -F *
. Это не повлияет на каталог TMP
.
После этого просто сделайте:
mv tmp/* .
rmdir tmp
(при условии, что ни один из файлов, которые вы перемещались, начинается с точки).
Это одно из немногих случаев, когда имеет смысл использовать мышь и файловый браузер, такой как Nautilus, где вы можете на самом деле Ctrl - Нажмите несколько файлов, которые вы хотите сохранить, а затем использовать меню : Редактировать -> Инвертировать выбор
, чтобы получить другие файлы, а затем удалить их.