しばらく前に、純粋なWindows環境からWindowsとMacを使用する環境に切り替えました。
ゆっくりとMacに慣れて恋に落ちながら、私をイライラするいくつかのことがあります。
そのうちの1つは、ファイルシステムに作業ディレクトリが1つしかないことです。
Unixだけを実行している人にとっては奇妙に思えるかもしれませんが、Windowsでの私の経験に従います。
C:(プログラム)、D:(データ)、E:(CD / DVD)、F:&G:(USBキー)があります。
入力したら...
CD /D F:\Dir1\Dir2
CD /D D:\Dir3\Dir4
F:
CD
D:
CD
これが有効なパスであると仮定すると、出力は次のようになります。
F:\Dir1\Dir2
D:\Dir3\Dir4
これは、「ドライブ」を交換し、各ドライブの最後の作業ディレクトリをインポートできることを示しています。
これは、フルパスを入力しなくても、あるドライブから別のドライブにコンテンツをコピーしたい場合に便利です。
そのディレクトリに移動してその内容を確認し、ターゲットドライブ/ディレクトリに切り替えてコピーを開始できます。
COPY F:*.* D:.
例えば。
私のMacでは、2つのFinderタブを持つUIを使用できますが、まだコマンドラインも使用できるようにしたいです。
マウントされたファイルシステムがそのファイルシステムの最後の作業ディレクトリを覚えて公開するようにする同等の方法はありますか?
現在は「完全なコマンドを完全に入力する」アプローチです。
答え1
Windows方式(実際にはDOS方式)はハードマッピングA:
文字(など)で表される下位レベルの「デバイス」ですC:
。
Unixには(デフォルトで)1つのディレクトリツリーがあり、DOSよりも一様にアクセスします。さまざまな方法でファイルシステムにアクセスできます。 DOSの世界で知ることができるのはグラフィック、ウィンドウ志向です。xfe
たとえば、1 つの候補を参照してください。もう1つの「基本」アクセスはシェルを介したものです。異なるシェルには異なる機能があります。 (対話式の使用のために)これを見たいかもしれませんが、tcsh
一般的なPOSIXシェル(bash
、、、)にはaという概念がありますksh
。zsh
タスクリスト。ディレクトリ間を移動できcd
、特定のバリエーションはcd -
以前のディレクトリに切り替えることです。 1つのディレクトリで事前定義されたシェル変数または$OLDPWD
そのコマンドを使用して、以前のディレクトリにアクセスできます。チルダ表現 ~-
(上記のものと似ていますcd -
。)これであなたは言うことができますcp ./* ~-
。また、異なるバージョンのツリー内の同じサブディレクトリ間を簡単に移動できる、ksh
より強力な機能もあります。たとえば、これらのバリアントのサブディレクトリから対応する他のサブディレクトリに移動できます。一部のシェルには、再訪問したいディレクトリを記憶するために使用できる2つのコマンド(ローカルまたはライブラリを介して)もあります。その後、完全パスを指定しなくてもよく使用するディレクトリに移動できるdbの概念があります。 - orを最大限に活用することが基本なので、ディレクトリの変更についてすべて書きました。以前はシェルコマンドでこれに言及しました。コマンドおよびパス補完機能に言及しないと、説明は完了しません。通常、このキーを使用してコマンドを完成させるので、パスを明示的に「書き込む」としても、シェルはそれを非常に迅速に実行するのに役立ちます。最後に重要なのはシェルの記録です。以前に入力したコマンドにアクセスでき、必要に応じて編集および/または読み込むことができます。cd
cd gawk-3.1.6 gawk-4.1.2
pushd
popd
CDPATH
$OLDPWD
~-
Tab
答え2
あなたの質問は、おそらくコマンドラインとして使用するシェルであるbashの機能に関するものです。
移行部分の場合は、cd -
以前のディレクトリへの切り替えを使用できます。
コマンドで以前のディレクトリを参照するには、$OLDPWD
次のように使用できます。
cp $OLDPWD/* .
また、一般的にhelp pushd
見てください。help popd
man bash
答え3
別のオプション/トリックを追加します。
これは非常に便利なシンボリックリンクを使用します。これはショートカットと少し似ていますが、ほとんどの点で優れています(ショートカットがラッパースクリプトとして使用されていない限り、ラッパースクリプトがより優れています)。
また、bashCDPATH
変数を使用します。
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
物理パーティションを参照する場合、これは/Volumes/PartitionName
Macにマウントされます。
F:\Dir1\Dir2 /Volumes/PartitionName/Dir1/Dir2/
'NIX は各ボリュームの「現在のディレクトリ」を覚えていませんが、環境変数に保存できます。
CD_1=`pwd`
現在のディレクトリは保存され、$ CD_1を使用してアクセスできます。
symlinks
別のオプションは、興味のあるディレクトリを作成することです。