На этот вопрос уже есть ответ:
У меня установлен Ubuntu 16.04 на моем SSD, и у меня есть жесткий диск, на котором я храню все мои файлы и программы C ++. Ubuntu распознает, что у меня есть жесткий диск. Когда я нахожусь в терминале и хочу получить доступ к своим файлам c ++ на жестком диске, как мне получить каталог? Я попытался использовать cd
, затем имя диска, но это не сработало.
Я бы хотел сделать так, чтобы каждый раз, когда я запускаю свой терминал, я автоматически оказывался на жестком диске, а не на рабочем столе.
lsblk
, а также mount
показывают л i с т всего горы ед. ( бл ок [ 1112] k ) устройства и их точки монтирования, т.е. е. точка доступа к контенту устройства. Чтобы c передать эту директорию d , в терминале выполните:
cd /path/to/dir
Чтобы установить каталог по умолчанию для каждого нового сеанса терминала, просто добавьте эта строка в файл .bashrc
в вашем домашнем каталоге. Следующая команда делает это автоматически, вам просто нужно ввести правильный путь после cd
:
echo 'cd /path/to/dir' >> ~/.bashrc
Откройте Nautilus, который является файловым браузером по умолчанию в Ubuntu. Выберите целевой каталог. Затем щелкните правой кнопкой мыши по нему и выберите «Открыть в терминале» из контекстного меню.
В открытый тип терминала pwd
. Эта команда выведет полный путь к текущему местоположению (текущее значение переменной среды $PWD
). Вы можете использовать этот путь с командой cd
в следующий раз, а также можете добавить эту команду cd
в конец ~/.bashrc
, чтобы установить этот путь как «каталог терминала по умолчанию». Это можно сделать с помощью команды:
echo -e "\ncd '$(pwd)'" | tee -a ~/.bashrc
Где:
echo
выведет на стандартный вывод строку, заключенную в кавычки. Опция -e
позволит интерпретировать экранирование обратной косой черты, поэтому \n
будет интерпретироваться как новая строка.
'$(pwd)'
расширит вывод команды pwd
как строку, заключенную в одинарные кавычки.
Вместо этого выражения мы можем использовать '$PWD'
, который (в этом случае) даст тот же результат. Sup>
труба |
перенаправит стандартный вывод на стандартный ввод команды tee
.
tee
с опцией -a
добавит строку в конец файла .bashrc
, расположенного в вашем каталоге $HOME
== ~/
(а также напечатает строку в стандартный вывод ).
Я собираюсь использовать пример от своей системы. Ваша система будет иметь различные имена дисковода, поэтому корректируйтесь соответственно
Во-первых, проверьте, что диск смонтирован, и найдите его местоположение:
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 465.8G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 461.4G 0 part /
└─sda3 8:3 0 3.9G 0 part [SWAP]
sdb 179:0 0 3.7G 0 disk
└─sdb1 179:1 0 3.7G 0 part
Файловая система на другом диске, sdb1
не смонтирован, таким образом, я собираюсь смонтировать его с помощью udisksctl
утилита
$ udisksctl mount -b /dev/sdb1
Mounted /dev/sdb1 at /media/zanna/WORK STUFF
Теперь я могу cd
к точке монтирования как это:
zanna@xubi:~$ cd /media/zanna/WORK\ STUFF/
zanna@xubi:/media/zanna/WORK STUFF$
отметьте \
символ в пути, должен был выйти из пространства. Можно ввести это сами или просто нажать TAB после ввода первых нескольких символов имени.
Для проверки файловая система смонтирована во время начальной загрузки, Вы могли добавить строку для нее к Вашему /etc/fstab
, если уже нет одного существующего. Можно создать точку монтирования для диска с любым именем, которое Вы любите:
mkdir /media/$USER/mydrive
Точно то, на что это должно быть похожим, зависит от типа файловой системы. Это более устойчиво (по моему скромному мнению), для монтирования дисков UUID, чем маркировкой, так чтобы получить UUID и тип файловой системы с одной командой, использовать
$ sudo blkid
[...]
/dev/sdb1: UUID="2d8afeac-c623-4be7-b261-44920e6b8e71" TYPE="ext4" [...]
Тип файловой системы в этом случае является ext4, поэтому что я затем сделал бы,
sudo cp /etc/fstab /etc/fstab.bak
sudoedit /etc/fstab
и проверьте, что уже нет строки там для раздела - дублирующиеся строки для того же раздела вызовут ошибки. Если бы нет, то я добавил бы, строка в конце включая UUID (используйте тот, от которого Вы добрались blkid
, не мой пример ниже!), точка монтирования и файловая система вводят как это:
UUID=2d8afeac-c623-4be7-b261-44920e6b8e71 /media/zanna/mydrive ext4 defaults 0 0
Если бы раздел является разделом NTFS, строка была бы
UUID=2d8afeac-c623-4be7-b261-44920e6b8e71 /media/zanna/mydrive ntfs-3g auto,user,rw 0 0
Если необходимо вернуться какие-либо изменения, Вы сделали, восстановите свое резервное копирование:
sudo mv /etc/fstab.bak /etc/fstab
Для получения дополнительной информации о /etc/fstab
, посмотрите страницу справки Ubuntu.
Для установки каталога по умолчанию для терминальных сеансов посмотрите Устанавливающий путь по умолчанию при открытии терминального сеанса.
NB: В целом, с помощью etckeeper предпочтителен для создания уязвимых специальных резервных копий материала в /etc