"ls"は、2つの異なる端末で同じコンピュータの同じフォルダにある異なるファイルを表示します。どうやってこれができますか?

今、非常に奇妙な状況に直面しました。私はTMUXセッションでSSHを介してUbuntuを実行しているクラウドVMで何かを管理しています。これで、2つのウィンドウが開いていて同じ(仮想)PCにある場合でも、異なるファイルが表示されます。

ターミナル1:

pan@gergo-skynet-master:~/shared/Lammps/new-lengths/125$ pwd                                                                            
/home/pan/shared/Lammps/new-lengths/125                                                                                                 
pan@gergo-skynet-master:~/shared/Lammps/new-lengths/125$ hostname
gergo-skynet-master.desy.de                                                                                                             
pan@gergo-skynet-master:~/shared/Lammps/new-lengths/125$ ls                                                                             
*****_annotated.in  data.lammps             ******.py  process         rg           run1.restart                                                                                                                                           
SHAKE_10             dump_*****.lammpstrj  lammps.out   process.py      rg.dump      ******.data                                                                                                                                        
SHAKE_7              extract_data.sh         log.lammps   process_all.py  run.restart                                                                                                                                                         
pan@gergo-skynet-master:~/shared/Lammps/new-lengths/125$ 

NO2。ターミナル:

pan@gergo-skynet-master:~/shared/Lammps/new-lengths/125$ pwd
/home/pan/shared/Lammps/new-lengths/125
pan@gergo-skynet-master:~/shared/Lammps/new-lengths/125$ hostname
gergo-skynet-master.desy.de
pan@gergo-skynet-master:~/shared/Lammps/new-lengths/125$ ls
*****_annotated.in  extract_data.sh  *****.py  process  process.py  process_all.py  ******.data
pan@gergo-skynet-master:~/shared/Lammps/new-lengths/125$ 

一部のファイル名を検閲する必要がありましたが、わかります。

ねえ

私が確認したこと:

  • 私は同じファイルシステムの場所にいます。
  • lsどちらの端末にもエイリアスはありません。
  • 私は同じコンピュータの両方の端末で同じユーザーです。

上記が正しいと確信していますが、これがどのように可能であるか混乱しています。下位端末で CD を使用しても、上位端末で表示されるファイルはすべて表示されません。この状況をデバッグするには、どこから始めるべきかわかりません。今後も同じ問題で重要なファイルを見ることができないのではないかと心配になって、ぜひ端末を閉じる前に何が起こったのか調べたいと思います。

どんなアイデアがありますか?どのような追加情報が役に立ちますか?

ベストアンサー1

この動作にはいくつかの理由があります。次の一連のイベントを考えてみましょう。

  1. ディレクトリを作成し、そのディレクトリに移動してファイルを作成します。

    mkdir /tmp/dir1
    cd /tmp/dir1
    touch file{1,2,3}
    
  2. 別の端末でディレクトリの名前を変更し、元の名前で新しいディレクトリを作成し、別のファイルで入力します。

    mv /tmp/dir1 /tmp/dir2
    mkdir /tmp/dir1
    cd /tmp/dir1
    touch file{4,5,6}
    
  3. これで、元の端末に次のものが表示されます。

    $ pwd
    /tmp/dir1
    $ ls
    file1 file2 file3
    

    2番目の端末には次のものが表示されます。

    $ pwd
    /tmp/dir1
    $ ls
    file4 file5 file6
    

この動作を引き起こす可能性があるさまざまな状況があります(たとえば、2つの端末に対して別々のインストール名前空間で実行(おそらくコンテナで実行))。しかし、上記の説明がもっともらしい説明のようです。

おすすめ記事