Comments 53
UFO just landed and posted this here
Интересная ситуация с именами файлов, которые начинаются с дэфиса.
А так, спасибо за интересные извращения аля hex-имена, такое в голову не пришло бы…
А так, спасибо за интересные извращения аля hex-имена, такое в голову не пришло бы…
0
Еще один момент есть по поводу служебных символов — это бэкслэши в именах файлов. При просмотре один бэкслэш ( \ ), при удалении его, соответственно, надо экранировать им же, то есть удваивать.
0
UFO just landed and posted this here
Еще в ~/.inputrc можно добавить строчку
TAB: menu-complete
И тогда по табу bash будет перебирать варианты, сразу подставляя их в командную строку, как vim.
TAB: menu-complete
И тогда по табу bash будет перебирать варианты, сразу подставляя их в командную строку, как vim.
+2
Огонь! Спасибо! Из всего что есть — самое универсальное для себя взял вот это:
select i in *; do rm -f $i; done
А бывают папки в которые попасть можно вот так(до этого делал так: mc, переход в папку, ctrl^o):
select i in *; do cd $i; done
select i in *; do rm -f $i; done
А бывают папки в которые попасть можно вот так(до этого делал так: mc, переход в папку, ctrl^o):
select i in *; do cd $i; done
+3
В никсах для rm не предусмотрено стандартного или хотя бы распространённого способа отката удаления, вроде «корзины» в Windows?
Да, я знаю про никсовую философию, которая даёт пользователю широкие возможности по порче файлов и системы, предполагая, что он «знает, что делает», но ведь все мы люди и склонны ошибаться.
Да, я знаю про никсовую философию, которая даёт пользователю широкие возможности по порче файлов и системы, предполагая, что он «знает, что делает», но ведь все мы люди и склонны ошибаться.
0
Так в Windows DEL тоже мимо корзины удаляет. А всякие Nautilus корзинкой пользуются.
+6
О, вроде и там и там можно указать ключик для интерактивного удаления и на каждый файл будет спрашивать что с ним делать.
0
Shift+Del — мимо корзины.
Del — в корзину (если корзина не отключена)
Del — в корзину (если корзина не отключена)
0
Ну так можно использовать UNDELETE =)
Это если FAT и постоянно не производится запись на диск.
А так команда порой выручала.
Шла в составе MS-DOS 5 и выше, если не ошибаюсь.
Это если FAT и постоянно не производится запись на диск.
А так команда порой выручала.
Шла в составе MS-DOS 5 и выше, если не ошибаюсь.
0
Во всех ОС в корзину удаляют только GUI программы, которые работают с юзером. Если с командной строки удалять файл, то в корзину он не попадает, т.к. кто знает, может это скрипт удаляет временные файлы и их создают и удаляют тысячами каждую секунду.
+6
Корзина есть не что иное, как специальная папка для «удаленных» файлов. И в Windows тоже.
Так что можете создать новую, или использовать имеющуюся, и вместо удаления переносить туда файлы.
Делов-то.
Так что можете создать новую, или использовать имеющуюся, и вместо удаления переносить туда файлы.
Делов-то.
+2
ага, и создать alias на команду rm
0
Только не будет функции восстановления и из файлов с одинаковыми именами выживет лишь последний.
+2
Еще лучше создать alias shd
alias shd='rm -rf ~'
(это шутка, как в рекламе, не нужно это пытаться повторить в действительности :) )+1
Как видно, чтобы осуществить правильное перекодирование нужно знать две кодировки: предполагаемую кодировку файла и кодировку нашего терминала.
Я бы был поосторожнее с такой формулировкой. Тут скорее смысл не в том чтобы сделать кодировку файлов такой же как и кодировка терминала (которая могла случайно оказаться таковой в данный момент), а хорошо подумать в какой кодировке должны быть ваши файлы в итоге.
+1
Что-то мне кажется что -f примерах — лишнее. Постановка -f должна быть осознана под ситуацию.
+3
> С помощью одинарных кавычек нельзя удалить файл, в названии которого есть одинарная кавычка, даже заэкранировав ее.
На всякий случай:
На всякий случай:
rm 'actually it'\''s easy'
+4
Вообще, для команды rm у Linux GURU есть чудесное правило. Называется — «правило двух рук».
Перед запуском команды рукм положить под пятую точку. Затем попробовать «поднатужиться».
Если получится как у прапорщика в анекдоте — появится дополнительное время для обдумывания, пока будет приниматься душ и стираться белье… Если нет — смело жать «Enter» — ОНО само придет! :)
Перед запуском команды рукм положить под пятую точку. Затем попробовать «поднатужиться».
Если получится как у прапорщика в анекдоте — появится дополнительное время для обдумывания, пока будет приниматься душ и стираться белье… Если нет — смело жать «Enter» — ОНО само придет! :)
-5
Угу. А в ~/.my.cnf (при работе с MySQL) дописать:
Или при запуске клиента передавать опцию --safe-updates, либо --i-am-a-dummy (тот же эффект).
В этом режиме нельзя выполнить запрос DELETE или UPDATE, если в нём не указано условие WHERE. Поэтому, если вы случайно забыли добавить WHERE, то вы просто получите ошибку:
По умолчанию этот режим, кстати, добавляет ещё пару ограничений (которые, впрочем, можно отключить — но на практике это требуется редко): для select_limit устанавливается значение 1000, а для max_join_size — 1000000.
safe-updates
Или при запуске клиента передавать опцию --safe-updates, либо --i-am-a-dummy (тот же эффект).
В этом режиме нельзя выполнить запрос DELETE или UPDATE, если в нём не указано условие WHERE. Поэтому, если вы случайно забыли добавить WHERE, то вы просто получите ошибку:
ERROR 1175 (HY000): You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column
По умолчанию этот режим, кстати, добавляет ещё пару ограничений (которые, впрочем, можно отключить — но на практике это требуется редко): для select_limit устанавливается значение 1000, а для max_join_size — 1000000.
0
я невнимательный. комментарий удалён.
+6
Если имя файла содержит символ в кодировке utf8, который мы не можем набрать на клавиатуре, то удалить такой файл можно выделением его мышкой, копированием в буфер обмена и последующей вставкой на ввод команды rm.
А если я без иксов сижу, есть способ?
0
Как вариант
ls > file
Удаляете всё ненужное в виме, дописываете rm. Потом sh ./file Теоретически должно сработать
ls > file
Удаляете всё ненужное в виме, дописываете rm. Потом sh ./file Теоретически должно сработать
+5
Вы в консоли без мыши сидите? Откройте для себя gpm.
0
Нет, не сижу. Просто заинтересовало, есть ли такая возможность вообще. Спасибо за наводку. Обязательно открою.
0
gpm для мыши, mplayer через фреймбуфер, графический режим links через тот же фреймбуфер, screen для нарезания экрана на части, активное использование Alt+F[1-6]. И зачем вообще иксы?
Жаль нвидиовские проприетарные дрова с фреймбуфером не дружат.
Жаль нвидиовские проприетарные дрова с фреймбуфером не дружат.
+2
Спасибо. Но пробовал. Много что уже пробовал.
0
Скажите пожалуйста, а есть что-то кроме mplayer'а для просмотра в полный экран через фреймбуфер с сохранением соотношения сторон?
А то я так месяц просидел с фреймбуфером раз, на иксы ушел только из-за отсутствия нормального сохранения соотношения сторон автоматом, руками надо было параметр выставлять. Или сейчас mplayer так умеет?
А то я так месяц просидел с фреймбуфером раз, на иксы ушел только из-за отсутствия нормального сохранения соотношения сторон автоматом, руками надо было параметр выставлять. Или сейчас mplayer так умеет?
0
К сожалению у меня сейчас уже не сохранился конфиг, а фреймбуфр работает так себе.
Не помню удавалось ли мне решить проблему в общем виде одним конфигом, но кажется да. Может при помощи фильтра.
В худшем случае можно запускать скриптом: через mplayer -ao null -vo null -frames 0 -identify "$@" выцепить оригинальный размер (ID_VIDEO_WIDTH и ID_VIDEO_HEIGHT) и отмасштабировать (разрешение можно взять из /sys/class/graphics/fb0/virtual_size).
Не помню удавалось ли мне решить проблему в общем виде одним конфигом, но кажется да. Может при помощи фильтра.
В худшем случае можно запускать скриптом: через mplayer -ao null -vo null -frames 0 -identify "$@" выцепить оригинальный размер (ID_VIDEO_WIDTH и ID_VIDEO_HEIGHT) и отмасштабировать (разрешение можно взять из /sys/class/graphics/fb0/virtual_size).
0
Спасибо. Я как-то так и запускал, но, к сожалению, работало не всегда корректно, через раз. Может быть старое ПО было на тот момент. Одним конфигом добиться вообще не удалось, вычислял скриптом.
0
Не правильно выразился. Оно действительно работает, но не родное для монитора соотношение сторон смотрится, мягко говоря, плохо.
0
Как быстрый и простой вариант — всякие «плохие» файлы кучей можно удалять через midnight commander, если он есть в системе конечно.
0
$ rm -f *
С этим аккуратнее. Представьте, что найдётся файл с названием "-r".
+4
UFO just landed and posted this here
Маски — не панацея! Или, по крайней мере, используйте "./*" (но это не съест файлы, начинающиеся с точки)
datacompboy@nuuzerpogodible:~$ touch ./-rwer.qqq
datacompboy@nuuzerpogodible:~$ rm *qqq
rm: неверный ключ — w
Попробуйте «rm ./-rwer.qqq», чтобы удалить файл «-rwer.qqq».
Попробуйте «rm --help» для получения более подробного описания.
datacompboy@nuuzerpogodible:~$
datacompboy@nuuzerpogodible:~$ touch ./-rwer.qqq
datacompboy@nuuzerpogodible:~$ rm *qqq
rm: неверный ключ — w
Попробуйте «rm ./-rwer.qqq», чтобы удалить файл «-rwer.qqq».
Попробуйте «rm --help» для получения более подробного описания.
datacompboy@nuuzerpogodible:~$
0
Sign up to leave a comment.
Работа с «плохими» файлами в командной строке в Linux