Linuxにシンボリックリンク、ある種のショートカット、またはフォルダーがあるかどうかを確認するにはどうすればよいですか?次のスクリーンショットをご覧ください。
ご覧のように、ls
コマンドは、一部が濃い青色に着色されているオブジェクトと、薄い青色(シアン)に着色されているオブジェクトを一覧表示します。これらのシアン色のオブジェクトは何ですか?これらは実際のシンボリックリンクですか?
ご覧のとおり、hddと呼ばれるものにはcd
できません。
_root@dm500hd:/# cd hdd
-sh: cd: can't cd to hdd
_
_/media/hdd
_にリダイレクトする必要があると思いますが、hddフォルダーがないことに気づきました。
これを修正する方法はありますか?
pdate: _ls -al
_コマンドの結果は次のとおりです。
ご覧のとおり、_hdd -> /media/hdd
_と表示され、色が赤になっています。これは、破損している、または自動マウントされている、つまり物理的なHDDが接続されている場合に発生しますか?
pdate:これは_grep media /etc/auto*
_コマンドの結果です。
これらの_/etc/auto.master:/media/net
_および_/etc/auto.network
_エントリは何をしますか?
_ls -Fal /media
_コマンドの結果は次のとおりです。
これは助けになりますか?...
stat
およびfile
コマンドの結果と、/ usrおよび/ binのリストを次に示します。
これは何らかの形で私を助けますか?...それはあなたが私を助けるのですか?...
一方で、知っておくべきことは、これはBusyBoxを備えたLinuxベースのSTBであり、組み込みシステムであることです。したがって、すべてのコマンドがサポートされるわけではありません。
pdate:/sbinおよび/ usr/sbin内のファイルとサポートされているコマンドを示す最後のスクリーンショット。
pdate:新しい共有が追加されました...
この古い共有を削除し、以前と同じ名前の共有を再作成し、2番目の共有を追加しました。だから今私はそれらの2つを持っています。
_SHARES
remote share local share
mydream dream1
mydream2 dream2
LOCATIONS
remote local
C:\mydream /media/net/dream1
C:\mydream2 /media/net/dream2
_
録音は/ media/net/dream1/movieに配置されます。
また、共有の夢2については、マウントマネージャーでHDDの代替としてマウントしないことを選択しました。これは、複数のHDDとして機能させることはできないと思われるためです。どこに記録しますか?両方の場所へ?データレートが2倍になっていますか?...それは不可能だと思います。
このため、dream2共有用のmovieという名前のサブフォルダーはありません。作成時にHDD交換として指定されたものだけが、ムービーサブフォルダーを取得します。
ルートからhddにcd
すると、_/media/net/dream1
_になります。 cd
を_..
_(親)にすると、root (/)
に戻ります。
ルートで_ls -al
_は_hdd -> media/hdd
_を返します。 _ls -al hdd
_は_hdd -> media/hdd
_を返します。 _ls -al media
_は_/media/net/dream1
_を返します。
また、cd
から_/media
_への場合、別のhdd
シンボリックリンクがあります。今まで気づかなかった。これは共有がマウントされたときに自動的に作成されると思います。そして、私がこのhddにcd
した場合、それは_/media/net/dream1
_に行きます。
別のhdd
シンボリックリンク(/ media/hdd)を指すシンボリックリンクhdd
(/ hdd)は、共有フォルダー(/ media/net/dream1)を指しますか?... ..めまいがする...
Enigma2イメージのバージョン3.2.3または少なくとも3.2.0より前は、このようなものではありませんでした。
編集:HDDの代替として機能する2番目の共有を設定することにより、それが記録用のアクティブな共有になります。同時に、HDD交換として機能するように設定されていた共有は、「はい」(HDD交換として機能)に設定されていても、アクティブではなくなります。
Dream1が最初にHDD交換として使用された場合(「yes」が交換として機能する)、次にdream2がHDD交換として機能するように設定されている場合、それは記録用の新しい共有になります。 dream1に保存されているビデオファイルを表示および表示することはできますが、記録することはできません。録音にdream1を使用したい場合は、最初にdream2を「no」に設定し(HDDの代替としての機能を停止)、次にdream1を「yes」にリセットする必要があります。
したがって、いいえ、同時に2つの共有に記録することはできません。それらの1つは行かなければなりません。つまり、dream1またはdream2のいずれかであり、両方ではありません。両方が同じトランスポンダー上にある場合、複数のサービス(テレビチャンネル)を記録することは可能ですが、そうでない場合は、「無料チューナーなし」というメッセージが表示されることに言及する必要があります。これは、チューナーが1つしかないSTBです。
File、stat、またはlsを使用できます。
ファイル:
Fileコマンドを使用して、ファイルのタイプ(シンボリックリンク、ディレクトリ、デバイス)またはコンテンツ(拡張子に関係なく、テキスト、gzip、イメージ、tarなど)に基づいてファイルを分類します。
$ファイル/dev/stdout /dev/stdout: `/ proc/self/fd/1 'へのシンボリックリンク $ファイル/ proc/self/fd/1 /proc/self/fd/1: `/ dev/pts/0 'へのシンボリックリンク $ファイル/dev/pts/0 /dev/pts/0:文字特殊(136/0) $ファイル/etc/passwd /etc/passwd:ASCII text
ls:
$ ls -al /dev/stdout lrwxrwxrwx 1 root root 15 Jan 27 07:55/dev/stdout-> /proc/self/fd/1
stat:
statコマンドは、権限、サイズ、ブロック数などのファイルメタデータを出力します...
$ stat /dev/stdout ファイル: '/ dev/stdout'-> '/proc/self/fd/1' サイズ:15ブロック:0 IOブロック:4096シンボリックリンク デバイス:5h/5d Inode:1212リンク:1 アクセス:(0777/lrwxrwxrwx)Uid:(0/root)Gid:(0/root) アクセス:2014-01-27 11:22:47.971187828 -0200 変更:2014-01-27 07:55:13.996981285 -0200 変更:2014-01-27 07:55: 13.996981285 -0200 出生:-
bash:
if [[ -h dirname ]]; then
echo "it's a symbolic link"
if ! stat $(readlink dirname) &>/dev/null; then
echo "link target does not exist"
fi
fi
特定のファイルがどのような種類のエンティティであるかを確認する最も簡単な方法は、file
コマンドを使用することです。 ls
分類子マークを覚えておく必要がなく、ユーザーごと、マシンごとに異なる色の出力に依存することなく、明確で健全な出力が得られます。例えば:
mail ~ # file /test
/test: broken symbolic link to `/nonexist'
mail ~ # file /dev
/dev: directory
mail ~ # file /dev/fd
/dev/fd: symbolic link to `/proc/self/fd'
file
のないシステムを使用している場合は、stat
コマンドを使用して、それがどの種類のファイルエントリであり、どこを指しているのかを知ることができます。リンクが壊れているかどうかを確認するには、stat -L
を実行してリンクを逆参照する必要があります。リンクが壊れているとエラーが発生します。
質問の2番目の部分については、media
ディレクトリは、ある種のオートマウンタによって管理されることがよくあります。 /media/hdd
エントリは、システムでUSB大容量ストレージデバイスに使用されている場合や、適切な種類のハードドライブ(ATA vs SCSI vs Xenブロックデバイス)を待機している場合もあります。壊れたリンクは、プログラムがリンクを使用しない限り何も害を及ぼすことはありません。メディアリンクは、本当にあなたの便宜のためです。安全に/hdd
リンクを離れたり、好きなように削除したりできます。
ls -Fal
ls -Fal /media
これはおそらくある種の自動マウントポイントです。
grep media /etc/auto*
ヒットする可能性があります。