metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2010-09-28 12:27 pm

Русские имена файлов в линуксе

Немного клинит иногда на таком вопросе: есть линукс, с русской(UTF8) локалью. Изредка в нем расовые черти создают файлы с русскими именами. Или же монтируется на него smbmount папка с виндосервера, где эти же расовые черти держат файлы с русскими именами.
На него я подключаюсь по SSH с линукса, где русского в помине нет (не помню почему), какая локаль - тоже не помню. Изредка нужно поработать с этими файлами с русскими именами.
Вопрос - как ввести русское имя файла, или хотя бы одну букву из него, чтобы нажать Tab и дополнить?

А то сегодня я докатился до того, что подключился туда с N900 (в которой русский почему-то работает искаропки нормально), переименовал файл в английское имя и потом уже с ним нормально работал.

Т.е. я сходу не соображу, как ввести имя файла в консоль, если я не могу его набрать. Разве что всунуть `ls -l | tail -n N | head -n 1` таким образом чтобы оно вывело имя файла из определенного места, подобрав значение N :)
develop7: (Default)

[personal profile] develop7 2010-09-28 12:43 pm (UTC)(link)
mc? это такой «аналог» FAR.

[identity profile] permea-kra.livejournal.com 2010-09-28 12:49 pm (UTC)(link)
man printf

[identity profile] potan.livejournal.com 2010-09-28 12:54 pm (UTC)(link)
Русские имена часто различаются количеством пробелов. Соотверственно "* * *.doc" выбирает файлы с более чем тремя пробелами. Обычно хватает, что бы их переименовать.

[identity profile] vp.livejournal.com 2010-09-28 12:56 pm (UTC)(link)
тебя спасет белорусская латинка!
ciabie vyratuje bielaruskaja lacinka!

[identity profile] hamster37.livejournal.com 2010-09-28 01:28 pm (UTC)(link)
man ls --escape
man $'bla\123bla' bash quoting style

Сейчас поломанных имен файлов под рукой нет, а когда-то пришлось повозится с перекодировкой :)

[identity profile] gmax-lj.livejournal.com 2010-09-28 07:08 pm (UTC)(link)
прямой способ -- настроить локаль. если очень хочется в гамаке, с аквалангом и на лыжах -- ls --inode, find -inum -exec