Відкрити поточний каталог з терміналу на браузер файлів?


15

Мій поточний каталог закопаний у декілька шарів підпапок з мого домашнього каталогу. Якщо я хочу відкрити цей каталог у файловому браузері на основі gui , я повинен двічі клацнути папку за папкою, щоб досягти її. Це дуже забирає багато часу. З іншого боку, при дуже малому натисканні клавіш і декількох натисканнях кнопки вкладки, це дуже легко досягти через термінал.

Я хочу знати, чи є спосіб відкрити поточний каталог у терміналі на браузер файлів aa. Яка команда це робити?

Для довідки, у мене є система ubuntu, але я хотів би знати, які команди знаходяться в різних дистрибутивах Linux.


2
Це дійсно залежить від того, яку операційну систему та середовище GUI ви використовуєте. Наприклад, у верхній частині голови в системі OS X open /path/to/some/directoryвідкриється вікно Finder для цього каталогу. У Windows це виклик explorer.exe In KDE або GNOME або LXDE, ймовірно, є заклики, унікальні для кожного середовища, які можна використовувати. Коротше кажучи, потрібно більше деталей для конкретного випадку використання.
DopeGhoti

Це залежатиме від конкретного "провідника файлів" або віконної системи, яку ви використовуєте. В якості довідки в Mac OS X open .відкриється вікно Finder у поточному каталозі. Подібна команда може існувати у вашій системі.
dhag

Ви повинні відредагувати своє запитання, щоб увімкнути, який провідник файлів на основі GUI ви використовуєте / хочете використовувати.
Ентоні Геоґеган

@drewbenn: Я поставив би це як відповідь, оскільки це буде працювати в різних середовищах.
saiarcot895

Відповіді:


27

xdg-open .

xdg-open є частиною пакету xdg-utils , який зазвичай встановлюється за замовчуванням у багатьох дистрибутивах (включаючи Ubuntu). Він призначений для роботи в декількох середовищах на робочому столі, викликаючи обробник за замовчуванням для типу файлу у вашому середовищі робочого столу.

Ви можете передати каталог, файл або URL , і це відкриє належну програму для цього параметра. Наприклад, у моїй системі KDE:

  • xdg-open . відкриває поточний каталог у менеджері файлів Dolphin
  • xdg-open foo.txt відкриває foo.txt в emacsclient, який я налаштував як обробник за замовчуванням для файлів .txt
  • xdg-open http://www.google.com/ відкриває google.com у моєму веб-браузері за замовчуванням

Програма відкривається як окреме вікно, і ви отримаєте відповідне повідомлення у своєму терміналі і зможете видавати інші команди або закрити свій термінал, не впливаючи на ваше нове вікно графічного інтерфейсу.

Зазвичай я отримую надруковану купу повідомлень про помилки stderr, але я просто ігнорую їх.

Редагувати:
додавання аргументів xdg-open . >/dev/null 2>&1переспрямовує помилки та вихід. Цей дзвінок не заблокує ваш термінал. Прив’язка цього псевдоніма, як, filemanager='xdg-open . >/dev/null 2>&1'може, стане в нагоді.


Золотий. Дякую
Аділ Саджу

9

Практично будь-яку програму GUI (у системах X вікон) можна відкрити з вікна терміналу в межах цього графічного інтерфейсу. Щоб відкрити будь-який додаток GUI, введіть ім'я виконуваного файлу в запиті оболонки. Більшість файлових браузерів приймають каталог як аргумент командного рядка, тому зазвичай слід передавати його .як параметр.

Ось кілька прикладів деяких популярних систем, більшість систем на базі X працює аналогічно.

У Gnome ви можете запустити nautilus(файл файлів за замовчуванням) безпосередньо, або на Gnome 2 ви можете gnome-openвідкрити будь-який файл (включаючи каталоги) за допомогою налаштованої програми обробки файлів Gnome:

$ nautilus .

або

$ gnome-open .

У KDE є два популярні браузери файлів, я не знаю команди, подібної gnome-open, хоча вона gnome-openможе бути виконана в KDE, але за замовчуванням вона відкриває додатки Gnome.

$ dolphin .

або

$ konquerer .

В OS X , як згадується в коментарях, може використовуватися аналогічна програма командного рядка open.

$ open .

Що робити, якщо ви не знаєте ім'я виконавця файлу браузера файлів вашої системи?

Якщо в Gnome 2, використовуйте gnome-open .If в ОС X, зателефонуйте open .. Кожен із них виконає налаштований браузер файлів для вашого середовища GUI.

Якщо ви не знаєте такої команди у вашій віконній системі, ось один із способів дізнатися про системи із psкомандою, яка розуміє параметри -u USERта -o FORMAT:

  1. У вікні терміналу введіть ps -u$USER -o comm > /tmp/$$A
  2. У своєму графічному інтерфейсі запустіть браузер файлів.
  3. Назад у вікно вашого терміналу введіть ps -u $USER -o comm > /tmp/$$B(Помітьте Bсуфікс, це файл, відмінний від кроку 1).
  4. Також у терміналі введіть diff /tmp/$$[AB].

Потрібно відображати ім'я вашого файлового браузера. Можливо, ви могли бачити більше одного імені, якщо інша програма стартувала під вашим ідентифікатором користувача протягом часу між дзвінками до ps.

Наприклад:

$ ps -u $USER -o comm > /tmp/$$A
$ # open file browser in gui
$ ps -u $USER -o comm > /tmp/$$B
$ diff /tmp/$$[AB]
95a96
> nautilus

Якщо ви не знаєте, який файловий браузер має ваша система, як це можна дізнатися з командного рядка?
Павло

@Paul, дивіться оновлену відповідь. Спасибі.
RobertL

2

nautilusНаскільки я пам'ятаю, Ubuntu використовується як браузер файлів за замовчуванням . Тому, щоб відкрити певну папку з терміналу, ви можете ввести щось на зразок наступного:

nautilus /path/to/your/dir

або

cd /path/to/your/dir && nautilus .

nautilusавтоматично відлучається від терміналу, на який він викликався, але припустимо, що ви використовуєте інший браузер файлів, і ви хочете закрити термінал, з якого ви викликали свій файловий браузер, ви можете nohupце зробити. Якщо ви використовуєте, скажімо, thunar(інший браузер файлів), ви можете ввести наступне:

nohup thunar /path/to/your/dir & exit

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