Есть ли эквивалентный способ запоминания каталогов на смонтированных томах, таких как DOS

Более простая версия:

unzip ARCHIVE_NAME PATH_OF_FILE_INSIDE_ARCHIVE

Это воссоздаст PATH_OF_FILE_INSIDE_ARCHIVE в текущем каталоге, но только извлекает указанный файл.

Перечислять все файлы в архиве Zip:

unzip -l ARCHIVE_NAME
5
31.05.2015, 22:14
7 ответов

Ваш вопрос касается возможностей bash, которая, вероятно, является оболочкой, которую вы используете в качестве командной строки.

Для коммутирующей части вы можете использовать cd - , чтобы вернуться в предыдущий каталог.

Если вы хотите сослаться на предыдущий каталог в команде, вы можете использовать $ OLDPWD следующим образом:

 cp $OLDPWD/* .

Также посмотрите help pushd , help popd и обычно man bash .

4
27.01.2020, 20:31

UNIX и Windows Оба поставляются файлы в определенные места.

Файл программ Пройдите в одном месте. Данные в другом, USB-накопители в другом. Оба системы поддерживают доступ к данным / устройствам для различного использования.

Разница ровно Как .
В Windows вам дан прямой доступ к физическим устройствам. В Unix / Linux есть только одно дерево файловых систем, а затем каталоги и другие - несколько устройств сопоставляются с ним. Таким образом / dir / x / y и / dir / x / z может быть на совершенно разных устройствах. Кроме того, все необработанные устройства, такие как жесткие диски и USB-накопители, в каталоге / dev.

Некоторые примеры «переведены»:

Windows             Linux                  Mac

c:\Program Files    /bin                   /bin
e:\                 /home                  /home
f:\ (usb)           /media/my-usb-drive    /Volumes/my-usb-drive

Чтобы ответить на ваши другие вопросы - копирование с «C» на «E» так же просто в Linux - вы CP (копия) из / некоторые / местоположение К / Media / My-USB-накопитель

Если вы хотите обратиться к настоящему каталогу рабочего каталога, вы можете использовать $ PWD , и если вы хотите обратиться к каталогу, который вы были просто в вас Можно использовать $ OLDPWD

. Вам может потребоваться узнать больше на:

  • форматы диска - что будет работать на обеих системе *
  • Форматирование USB-накопителя
  • Zero Pictual
  • Zero Pictuate Cartible Picture для передачи между системами

* Посмотрите в NTFS - https://superuser.com/q/45130/95115

Ваш заголовок упоминает «способ их запоминания».

Вы можете использовать псевдонимы: если вы набрали

alias p='cd /bin'

или

alias programs='cd /bin'

, вы можете просто ввести p [return] или программы [return], чтобы перейти к этому каталогу.

Также последний рабочий каталог - OLDPWD, например

$ cd tmp
$ cd ~
$ echo $OLDPWD
/home/durrantm/tmp
1
27.01.2020, 20:31

Я добавлю еще одну опцию/трик.

Он использует символические ссылки, это очень полезно. Они немного похожи на ярлыки, но, в большинстве случаев, лучше (за исключением тех случаев, когда ярлыки используются в качестве оберточных скриптов, в этом случае оберточные скрипты лучше).

Также используется переменная bash's CDPATH.

cd ~
mkdir drive-letters
cd drive-letters
ln -s / c:
ln -s "$HOME" h:
ln -s /media/cdrom/ e:
CDPATH=".:~/drive-letters" # you will have to put this one in your ~/.bashrc to make it persistent

Теперь вы можете сделать:

cd c:
cd e:
4
27.01.2020, 20:31

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

Решение заключается в использовании автопрыжка .

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

 brew install autojump

Затем, что делает autojump , так это запоминает все ваши каталоги, которые вы посещали ранее. Он сохраняет оценки для различных каталогов, так что наиболее посещаемый каталог получает более высокий балл.

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

#Say you want to visit this:
cd /media/windows/users/myuserdir

#Instead do this: 
j myuserdir

Как это делается, это соответствует ключевому слову myuserdir с каталогом, содержащим ключевое слово и имеющим наивысшую оценку. Даже если вы сделаете некоторую орфографическую ошибку, он будет пытаться найти лучшее совпадение, основанное на вашей истории.

3
27.01.2020, 20:31

Если вы имеете в виду физические разделы, то они монтируются на /Volumes/PartitionName на Mac.

F:\Dir1\Dir2 будет /Volumes/PartitionName/Dir1/Dir2/. NIX не запоминает "текущую директорию" на каждом томе, но вы можете сохранить их в переменных окружения, например,

CD_1=`pwd`

сохранит текущую директорию, к которой можно получить доступ с помощью $CD_1

Другой возможностью является создание симлинков на интересующие вас каталоги.

2
27.01.2020, 20:31

Unix-системы делают разделение между томами максимально плавным. Очень немногие программы заботятся о том, какой том (под какой точкой монтирования) находится файл. Это просто не имеет значения.

Существует множество возможностей для "запоминания" нескольких каталогов. Ищите подсистемы, связанные с каталогами или со строками вообще, а не подсистемы, связанные с несколькими томами: эти подсистемы не заботятся о том, на каких томах находятся каталоги.

Очень общая подсистема "запоминания" - это установка переменной. Эта переменная может содержать путь к каталогу или любую строку, которую вы хотите туда поместить. На shell'е в стиле Борна (zsh, bash, ksh и т.д.):

f=/media/usb1/dir1/dir2
d=~/dir3/dir4
cp $f/* $d/*

Если значения содержат пробелы или \[*?, остерегайтесь, чем на shell'е в стиле Борна, кроме zsh, вам нужны двойные кавычки вокруг подстановок переменных:

cp "$f"/* "$d"/*

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

Для быстрой навигации между несколькими каталогами вы можете использовать стек каталогов . Пример:

cd /media/usr1/dir1/dir2
ls
pushd ~/dir3               # Remember /media/usr1/dir1/dir2 and go to ~/dir3
ls
cd dir4                    # Go to ~/dir3/dir4, /media/usr1/dir1/dir2 is still remembered
dirs                       # Show the directory stack
cp ~1/* .                  # Copy files from /media/usr1/dir1/dir2
popd +1                    # Forget /media/usr1/dir1/dir2
2
27.01.2020, 20:31

Вы должны знать, что способ Windows (на самом деле, скорее, способ DOS) является следствием наличия жесткого сопоставления этих низких «устройства» уровня, представленные символами ( A: , C: и т. д.).

Unix имеет (в основном) только одно дерево каталогов, и вы получаете доступ к нему более равномерно, чем в DOS. У вас есть различные возможности доступа к файловой системе. Те, которые вы, возможно, знаете из мира DOS, являются графическими, ориентированными на окна; см., например, xfe для одного кандидата. Другой, более «родной» доступ - через оболочку. Различные оболочки имеют разные возможности. Вы можете (для интенсивного интерактивного использования) взглянуть на tcsh , но в наиболее часто используемых оболочках POSIX ( bash , ksh , zsh ) у вас действительно есть концепция рабочего каталога .Вы можете перемещаться между каталогами с помощью cd , а конкретный вариант - cd - для перехода к предыдущему. Из одного каталога вы можете получить доступ к предыдущему, используя либо предопределенные переменные оболочки $ OLDPWD , либо соответствующее выражение тильды ~ - (которое напоминает вышеупомянутый cd - ). С ними вы можете, скажем, cp ./* ~ - . ksh имеет еще более мощный компакт-диск , который позволяет легко переключаться между соответствующими подкаталогами разных деревьев версий; например, cd gawk-3.1.6 gawk-4.1.2 переходит из любого подкаталога этих вариантов в соответствующий другой. В некоторых оболочках также доступны две команды pushd и popd (встроенные или через библиотеку) для запоминания каталогов, которые вы хотите посетить. Кроме того, существует концепция CDPATH , позволяющая переходить к часто используемым каталогам без полного указания полных путей. - Я написал все это об изменении каталогов, потому что это основа для наилучшего использования $ OLDPWD или соотв. ~ - , о которых я упоминал ранее в ваших командах оболочки. Описание не было бы полным без упомянутых функций завершения команд и путей; обычно с помощью клавиши Tab вы можете завершать команды, так что даже если вы явно «напишете» пути, оболочка поможет вам сделать это очень быстро.И, наконец, что не менее важно, это история оболочки; у вас есть доступ к ранее набранным командам, вы можете редактировать и / или повторно вызывать их по желанию.

6
27.01.2020, 20:31

Теги

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