Когда я перемещаю файлы с файловым менеджером GUI, я перешел к источнику и целевому каталогу в 2 различных окнах, и затем перетаскиваю. Есть ли способ сделать это в Bash (переместите файл в каталог, но смогите перейти к новому каталогу вместо того, чтобы должными быть знать, что полный путь сразу же вставляет аргумент),
Я знаю, как использовать команды как mv и CP, но оба из них берут один полный путь в качестве аргумента, и я хочу смочь перейти новому месту назначения, отдельному от навигации до исходного файла..., если это имеет смысл
Я не уверен, что понял, но вам нужен консольный файловый менеджер, чтобы вы могли перемещаться по папкам в двух панелях. Вы можете попробовать с Midnight Commander .
Установите его с помощью:
sudo apt-get install mc
Существуют две команды, которые позволяют вам легко перемещаться между каталогами:
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
Это не совсем навигация, но я предполагаю, что вы ищете TAB AUTO COMPLETION.
Это позволит вам получить полную часть любого каталога, не зная его.
Вы можете использовать функцию вкладок, которая поставляется с терминалом Ubuntu (ctrl + shift + t
). Таким образом, вы можете искать каталог назначения на второй вкладке, используя команды cd
и ls
. затем, попав в нужный каталог, вы можете использовать команду pwd
(печать рабочего каталога), чтобы получить полный путь к указанному каталогу. После этого скопируйте и вставьте путь к первой вкладке терминала, где вы выполняете команду cp
или mv
.
Если вы не знакомы с cd
и ls
, вот отличное небольшое руководство для некоторых основных команд bash.
Ускоренный курс командной строки
Надеюсь, это вам пригодится.
Я не понимаю, почему никто не упомянул два простых способа добиться того, что спрашивает.
Первый способ:
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
Я попробовал, все работает хорошо.
Другой вариант, который больше похож на идею 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>