mount
を実行すると、ハードドライブのマウントがfuseblk
。
/dev/sdb1 on /media/ecarroll/hd type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096,uhelper=udisks2)
ただし、fuseblk
では、デバイス上のファイルシステムがわかりません。 gparted
を使用して見つけましたが、コマンドラインユーティリティを使用してfsを見つける方法を知りたいです。
コメント
回答
ドンクリスティのコメントで提供された回答が最高であることがわかりました
lsblk -no name,fstype
これにより、必要なものが正確に表示され、デバイスをアンマウントする必要がなくなります。
mmcblk0 └─mmcblk0p1 exfat
こちらもご覧ください
-
lsblk
のマンページ
回答
一般的にまた、FUSEマウントポイントからそれを実装するプロセスに移動することはできません。
そのファイルシステムがどのように機能するかについて何か知っている場合は、可能かもしれません。マウントポイントではなく、デバイス側を追跡する必要があります。たとえば、あなたの場合、FUSEファイルシステムはブロックデバイス上のファイルシステムを公開しているので、ブロックされたデバイスが開いているプロセスを探すことができます: lsof /dev/sdb1
または fuser /dev/sdb1
。同様に、SSHFSでは、lsof
またはnetstat
を使用して、適切なサーバーなどに接続しているプロセスを探すことができます。プロセスIDを取得すると、ps
はそのプロセスが実行されているプログラムを通知します。
回答
/dev/sdb1
のfs
は、次の場所で見つけることができます:
fsck
コマンド:
fsck -N /dev/sdb1
mount
コマンド:
mount | grep /dev/sdb1
file
コマンド:
file -sL /dev/sdb1
df
コマンド:
df -T | grep /dev/sdb1
コメント
- これは特別な場合にのみ機能しますここで、デバイスエントリは実際のデバイスですが、FUSEの場合はめったにありません。さらに、デバイスのコンテンツがどのように見えるかを報告するだけであり、使用されているファイルシステムドライバを完全に示すとは限りません。
回答
特定のファイルについてバッキングファイルシステムにクエリを実行する一般的な方法は次のとおりです
lsblk -no name,fstype,mountpoint "$(findmnt --target "$FILE" -no SOURCE)"
出力は次のようになります
p>
sdd1 exfat /media/USER/CARD-A123
ここで、sdd1
はデバイス名、exfat
は基になるデバイス名ですファイルシステムタイプ(例:mount
はNFTSとexFatの両方でfuseblk
のみを表示し、これは実際のファイルシステムを表示します)と残りの出力はこのファイルシステムのマウントポイントです。
lsblk: : not a block device
$FILE
は読み取り可能なファイルまたはディレクトリを指していませんでした。
lsblk -no name,fstype