Как перемещаться по каталогам с нелатинскими символами?

Я просто не знаю, возможно ли это и как cd, например, в каталоге, который не назван латинскими символами.

Пример: $ cd άλφα или $ cd альфа

Обновление: в терминале все нормально, но в среде CLI нет.

4
задан 15 September 2013 в 23:24

4 ответа

1118 Да, конечно, это возможно, пока существуют каталоги с этими именами.

Простой способ:

terminal

Как я сделал:

  • Я выполнил команду ls в родительском каталог, в котором указан каталог с нелатинскими символами.
  • С помощью мыши я выбрал название каталога (больше ничего).
  • Я набрал cd, затем Пробел , затем нажал Shift + Вставить и, конечно же, Enter (опять ничего больше).

Если вы не можете использовать мышь, см. это краткое руководство .

Правильный путь:

  • Добавьте новые раскладки клавиатуры, которые вам нужны (греческий, русский, ...)

    • Войдите в Системные настройки & rarr; Личные & rarr; Раскладка клавиатуры и добавьте новую раскладку:

      add new keyboard layout

  • Когда вы печатаете в терминале, переключаться между макетами и печатать на каком языке вы хотите.


Для tty1 (куда вы можете перейти с помощью Ctrl + Alt + F1 ) - и не только - I нашел еще один трюк:

~ $ ls 
bin         Desktop    file.gif  nohup.out  Sent to Ubuntu One  ttyrecord  άλφα
Descărcări  Documente  Muzică    Poze       tmp.txt             Video
~ $ ls > tmp.txt # redirect the output of 'ls' command to 'tmp.txt' file
~ $ cat tmp.txt
bin
Descărcări
Desktop
Documente
file.gif
Muzică
nohup.out
Poze
Sent to Ubuntu One
tmp.txt
ttyrecord
Video
άλφα
~ $ # our directory is on line 13 (in my case); we will use this number in next command
~ $ cat tmp.txt | sed -n 13p
άλφα
~ $ cd $(cat tmp.txt | sed -n 13p)
~/άλφα $ # voila
~/άλφα > rm -v ../tmp.txt
removed ‘../tmp.txt’
~/άλφα $
0
ответ дан 15 September 2013 в 23:24

Вы можете использовать zsh в качестве терминала по умолчанию (если вы это сделаете, я бы посоветовал также получить oh-my-zsh для дополнительных вкусностей). zsh tab-complete позволяет вам «прокручивать» содержимое каталога, нажимая tab. Вы можете увидеть то, о чем я говорю в 0:53 в этом видео: http://www.youtube.com/watch?v=fE3tYK_wUj8

0
ответ дан 15 September 2013 в 23:24

Отличительной особенностью файлов и каталогов в Linux является то, что все они имеют номер inode . Например, выполнение ls -i дает мне в моей домашней папке следующие результаты:

6038625 图片/
5809021 搜狐影音/
6038605 文档/
6038600 桌面/

Теперь хорошо то, что мы можем использовать это число, чтобы получить его имя с помощью команды find с его -inum и cd для любой из этих папок, например, так:

$ pwd                                                              
/home/xieerqi
$ cd "$(find -maxdepth 1 -type d -inum 6038625)"                   
$ pwd
/home/xieerqi/图片

И, конечно, поскольку мы сделали ls -i из текущего рабочего каталога, нам нужно только -maxdepth 1. На самом деле это очень частый подход к удалению имен файлов, которые проблематично или невозможно получить с помощью копирования-вставки.

0
ответ дан 15 September 2013 в 23:24

Возможность избежать необходимости делать это вообще: sudo apt-get install nautilus-open-terminal

Это добавляет пункт «Открыть в терминале» в меню «Файл» и контекстное меню, вызываемое правой кнопкой мыши (когда файл не выбран). в Наутилусе. то есть: перейдите в папку «Nautilus» в папку «нарушитель», а затем - «Файл» - «Открыть в терминале».

0
ответ дан 15 September 2013 в 23:24

Другие вопросы по тегам:

Похожие вопросы: