タグ付けされた質問 「cd-command」

cdは、作業ディレクトリを変更するために組み込まれたシェルです。

4
ディレクトリ内のCDへのエイリアスとコマンドの呼び出し
が.bash_profileあり、その点でエイリアスのセットがあります。現時点では、これらのエイリアスは1つのコマンドのみを実行し、非常に簡単でした。ただし、作成しようとしている新しいエイリアスを使用して2つのことを行いたいと思います。 ディレクトリへのCD そのディレクトリからコマンドを実行します
21 bash  alias  cd-command 

3
シンボリックリンクを介してcdした場合、pwdが実際のパスではなくシンボリックリンクを表示するのはなぜですか?
ln -s 1 2ディレクトリ内にあるtestディレクトリへのソフトリンク()を作成し、ソフトリンク()を開き、cd 2を使用して現在のパスを表示しましたpwd。表示されたパスは~/test/2でした~/test/1。 WindowsのようなOSでは異なり、ショートカットにより実際のディレクトリに移動します。Linuxでこのソフトリンクがどのように機能するか、少し混乱しています。のようなショートカットではありませんWindowsか?なぜパスはそうではないの~/test/1ですか? $ mkdir test $ cd test $ mkdir 1 $ ln -s 1 2 $ cd 2 $ pwd /home/dazz/test/2

7
削除したディレクトリからcdする必要があるのはなぜですか?
私のサーバーには、次のようなディレクトリ構造があります。 /myproject/code 通常、サーバーへのssh接続があり、そのディレクトリに「スタンド」します。 root@machine:/myproject/code# コードの新しいバージョンをデプロイすると、コードディレクトリが削除されるため、次のようにします。 root@machine:/myproject/code# ./run -bash: ./run: No such file or directory そして、私が見つけた唯一の解決策は、CDを出し入れすることです: root@machine:/myproject/code# cd ../code root@machine:/myproject/code# ./run Running... これを回避できますか?それはやや奇妙な動作です。なぜこれが起こるのか、良い説明があれば感謝します。

6
シンボリックリンクのエイリアスと同等ですか?
ホームフォルダー内のいくつかのディレクトリを頻繁にジャンプして、それらの作成にうんざりする必要があることに気づきました。従来はシンボリックリンクであった、より迅速なアプローチが必要です。 ただし、ホームディレクトリを多数のシンボリックリンクで煩雑にしたくありません。~/links/ディレクトリを作成し、シンボリックリンクで混乱させることもできますが、それでもいです。また、毎日変更するシンボリックリンク(.bashrcで定義)を作成して、現在のディレクトリにジャンプすることもできます。 シンボリックリンクを効果的にエイリアスし、クイックナビゲーションのリンクとして認識されるもののls、ホームディレクトリを実行しても実際には表示されず、現在のセッションを超えて持続しないものを作成する方法はありますか?


1
不完全なディレクトリ名が与えられたときにcdが自動的に選択するのは標準的な動作ですか?
と呼ばれる3つのフォルダーProjectAがProjectBありProjectCます。をtab完了cdしてcd Projectを押すとEnter、が選択されProjectCます。これは、他の同様のケースにも当てはまることがわかりました。デフォルトでは、辞書式順序で最後になります(ただし、これは最後に変更/追加された可能性もあります)。 これはのデフォルトの動作cdですか?ここで誤って何かを設定しましたか? OSX 10.10.3をbash 4.3で実行しています。

2
cdを入力せずにディレクトリを変更しますか?
コマンドラインでbashにディレクトリを入力するだけで、次のようなコマンドなしでディレクトリを変更することは可能cdですか? たとえば、これを書く代わりに可能です: $ cd /tmp 私はこれだけを書きたいです: $ /tmp 言い換えれば、ディレクトリをアプリケーションとして呼び出す場合、そのディレクトリを機能するディレクトリとして設定する必要があります。

1
pushd、popd vs cd、cd- in bashおよびzsh
bashとzshのpushd / popdの動作に違いはありますか?zsh cdでは、cd-はpushd / popd(cdのときにディレクトリを自動的に追加/ポップします)とまったく同じように動作しますが、bash cdではdirスタックに影響しません。 誰かが私に素晴らしいポインタをくれるとしたら。
16 bash  zsh  cd-command  pushd 

3
引数としてディレクトリを使用して1つのコマンドを実行し、同じディレクトリにcdする方法は?「そのようなファイルやディレクトリはありません」
以下を行うための短い関数を作成したいと思います。ファイル「file.tex」をドキュメントディレクトリに移動するとします。 mv file.tex ~/Documents 次に、cdそのディレクトリに移動します。 cd ~/Documents これを任意のディレクトリに一般化し、これを実行できるようにします。 mv file.tex ~/Documents follow しているとfollow、コマンドが前のコマンドから先を読んで、それに応じて実行します。単純なディレクトリの場合、これはあまり時間を節約しませんが、ネストされたディレクトリで作業するとき、ただ使用できるとすればすごいでしょう mv file.tex ~/Documents/folder1/subfolder1 follow 私はそれが比較的簡単だと思った、と私はこのような何かをすることができます follow() { place=`history 2 | sed -n '1p;1q' | rev | cut -d ' ' -f1 | rev` cd $place } しかし、これはうまくいかないようです。echoした場合$place、目的の文字列を取得します(でテストしています~/Documents)が、最後のコマンドは No such file or directory ディレクトリは確かに存在します。私は迷っています。手伝ってくれませんか?
15 bash  cd-command 

3
フォルダー名がこのようになったのはなぜですか。スクリプトを使用してこれを修正するにはどうすればよいですか?
他の場所に答えがある場合は申し訳ありませんが、問題を検索する方法がわかりません。 Redhat Linux HPCサーバーでいくつかのシミュレーションを実行していましたが、フォルダー構造を処理して出力を保存するためのコードには不幸なバグがありました。フォルダーを作成するための私のmatlabコードは次のとおりです。 folder = [sp.saveLocation, 'run_', sp.run_number, '/']; どこsp.run_numberが整数でした。文字列に変換するのを忘れていましたが、何らかの理由でmkdir(folder);(matlabで)実行は成功しました。実際、シミュレーションは問題なく実行され、データは一致するディレクトリに保存されました。 今、フォルダ構造がクエリ/印刷されると、次の状況が発生します: タブのオートコンプリートを試みると: run_ run_^A/ run_^B/ run_^C/ run_^D/ run_^E/ run_^F/ run_^G/ run_^H/ run_^I/ 私が使うときls:run_ run_? run_? run_? run_? run_? run_? run_? run_? run_? run_?。 私はrsyncを使ってどこでもMy Macに転送する場合--progress:オプションショーrun_\#003/で整数を一致数(私は仮定)となどをsp.run_number10日の実行があるので、3桁にパッド入りrun_\#010/ ファインダーでフォルダーを表示すると、 run_ run_ run_ run_ run_ run_ run_ run_ run_ run_? この質問を見て、ls | LC_ALL=C …

4
ディレクトリと相対パスへのシンボリックリンク
ディレクトリへの絶対パス(Blink)でシンボリックリンクを作成しました。たとえば次のツリーがあります。 $ ls -l /tmp/A total 0 lrwxrwxrwx 1 root root 6 Apr 3 12:27 Blink -> /tmp/B -rw-r--r-- 1 root root 0 Apr 3 12:27 foo $ ls -l /tmp/B total 0 -rw-r--r-- 1 root root 0 Apr 3 12:27 bar 次に/ tmp / Aに移動し、ディレクトリをBlinkに変更します。 $ cd /tmp/A $ …


1
bashリリースでの複数の引数を持つcdの異なる動作
ここに私を困惑させている何かを投稿します。アプリケーションサーバーをJessieからStretchにアップグレードすると、bashスクリプトが破損しました。 調査の結果、cdコマンドの動作の変更に限定しました。ここでは、スクリプトが実行していることが良いアイデアであるかどうか、または改善できるかどうかについては、行動の変更/変更の認識の意識に焦点を当てています。 ジェシー $echo *-* xxxx-1.0b xxxx-run $cd *-* cdは動作し、最初のディレクトリにcdします。実際には、*-runは同じディレクトリへのシンボリックリンクです。 ストレッチ $echo *-* xxxx-1.0b xxxx-run $cd *-* bash: cd: too many arguments bash Jessieでは4.3.30(1)、Stretchでは4.4.12(1)です。 なぜジェシーとストレッチの間の行動の変化ですか?
14 bash  cd-command 

1
ドットドット(..)とは何ですか?シンボリックリンクと動作が異なるのはなぜですか?
..(二重ドット)の性質を理解しようとしています。アクセス方法によって異なるターゲットを指しているようです。 例:- /outer/ middle/ inner/ inner --> ./middle/inner/ 今、に/outer/middle/inner/..つながり/outer/middle/ますが、シンボリックリンクからアクセスすると、に/outer/inner/..つながり/outer/ます。..ここには2つの異なるものがあるようです。 ..正確には何ですか?シンボリックリンク?ハードリンク?または、ディレクトリにアクセスするときにパスに応じて動的に生成されますか?または、シンボリックリンクに関する私の理解が間違っている可能性があります。 編集: その他の関連する観察 /outer/ middle/ file inner/ f --> ./../file inner --> ./middle/inner/ 今、私は/outer/inner/fそれを介してファイルにアクセスしようとすると動作します。しかし、それは/outer/inner/../fileファイルを指し示していないため、そうすべきではありません。ファイルはにあり/outer/middle/inner/..ます。これは上記の動作と矛盾するようです!?


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.