Как переместиться между 2 совсем другими каталогами в терминал?

Когда я перемещаю файлы с файловым менеджером GUI, я перешел к источнику и целевому каталогу в 2 различных окнах, и затем перетаскиваю. Есть ли способ сделать это в Bash (переместите файл в каталог, но смогите перейти к новому каталогу вместо того, чтобы должными быть знать, что полный путь сразу же вставляет аргумент),

Я знаю, как использовать команды как mv и CP, но оба из них берут один полный путь в качестве аргумента, и я хочу смочь перейти новому месту назначения, отдельному от навигации до исходного файла..., если это имеет смысл

0
задан 24 September 2013 в 19:27

6 ответов

Я не уверен, что понял, но вам нужен консольный файловый менеджер, чтобы вы могли перемещаться по папкам в двух панелях. Вы можете попробовать с Midnight Commander .

Установите его с помощью:

sudo apt-get install mc
0
ответ дан 24 September 2013 в 19:27

Существуют две команды, которые позволяют вам легко перемещаться между каталогами:

pushd
popd

Например, перейдите к первому каталогу с помощью cd:

cd /home/aperson/more/path/to/a/very/long/and/annoying/to/type/ [ 1112]

Затем используйте pushd для перехода в другой каталог:

pushd /home/aperson/more/path/to/a/different/very/long/and/annoying/to/type/

Теперь, когда вы снова позвоните popd, вы вернетесь в первый каталог.

Это только помогает с навигацией, хотя вам все равно придется делать mv или cp отдельно.

В зависимости от того, сколько вам нужно сделать, возможно, стоит присвоить ваши пути переменным, чтобы вам не приходилось вводить полный путь:

DIR1="/home/aperson/a/very/long/and/annoying/to/type/"
DIR2="/home/aperson/a/different/very/long/and/annoying/to/type/"

Теперь вы можете использовать $DIR1 и $DIR2 для ссылки на каталоги, т. Е.

cp somestuff.stuff $DIR1
cd $DIR1
mv somestuff.stuff $DIR2
cd $DIR2
0
ответ дан 24 September 2013 в 19:27

Это не совсем навигация, но я предполагаю, что вы ищете TAB AUTO COMPLETION.

Это позволит вам получить полную часть любого каталога, не зная его.

Вот отличный учебник для этого .

0
ответ дан 24 September 2013 в 19:27

Вы можете использовать функцию вкладок, которая поставляется с терминалом Ubuntu (ctrl + shift + t). Таким образом, вы можете искать каталог назначения на второй вкладке, используя команды cd и ls. затем, попав в нужный каталог, вы можете использовать команду pwd (печать рабочего каталога), чтобы получить полный путь к указанному каталогу. После этого скопируйте и вставьте путь к первой вкладке терминала, где вы выполняете команду cp или mv.

enter image description here

Если вы не знакомы с cd и ls, вот отличное небольшое руководство для некоторых основных команд bash.

Ускоренный курс командной строки

Надеюсь, это вам пригодится.

0
ответ дан 24 September 2013 в 19:27

Я не понимаю, почему никто не упомянул два простых способа добиться того, что спрашивает.

Первый способ:

cd -  #goes back to previous directory

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

cd $OLDPWD

Для получения дополнительной информации перейдите по ссылке https://superuser.com/questions/113219/go -back-to-previous-directory-in-shell

РЕДАКТИРОВАТЬ: я нашел действительно хорошую функцию .bashrc в следующей ссылке Адама Каца, которая необходима для легкой навигации в bash shell: [ 114] https://unix.stackexchange.com/questions/31161/quick-directory-navigation-in-the-terminal

Я попробовал, все работает хорошо.

0
ответ дан 24 September 2013 в 19:27

Другой вариант, который больше похож на идею GUI «вырезать и вставить».

cd /long/path/to/wherever/the/file/is/now
mv file_to_move /tmp/
cd /destination/directory/somewhere/else/
mv /tmp/file_to_move ./

Но на самом деле, он включает в себя гораздо больше, чем простой сингл cp <source> <destination>

0
ответ дан 24 September 2013 в 19:27

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

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