他の質問を調査中に見つかりました(コメントが追加されました)。
me@it: ~ $ date ; sudo find / -maxdepth 1 -xdev -type d | grep -ve '/$' | sort
Thu Aug 31 14:58:25 MST 2017
/bin
/boot [*]
/.config
/dev
/etc
/home [*]
/lib
/lib64
/lost+found
/media
/mnt
/opt
/proc
/root
/run
/sbin
/srv
/sys
/tmp
/usr
/var
しかし、私も知っています
me@it: ~ $ date ; lsblk
Thu Aug 31 14:52:58 MST 2017
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 465.8G 0 disk
├─sda1 8:1 0 16.6G 0 part
├─sda2 8:2 0 97.7G 0 part
├─sda3 8:3 0 500M 0 part /boot [*]
├─sda4 8:4 0 1K 0 part
└─sda5 8:5 0 351G 0 part
└─LVM2_crypt 254:0 0 351G 0 crypt
├─LVM2_crypt-swap 254:1 0 3.9G 0 lvm [SWAP]
├─LVM2_crypt-root 254:2 0 20G 0 lvm /
└─LVM2_crypt-home 254:3 0 327.1G 0 lvm /home [*]
sr0 11:0 1 1024M 0 rom
それでは、なぜ合計がfind / -xdev
表示されますか? FWIW、および順序が問題を引き起こさないようです。/boot
/home
-maxdepth 1
-xdev
me@it: ~ $ sudo su -
it ~ # date ; diff -wB <(find / -maxdepth 1 -xdev -type d | sort) <(find / -xdev -maxdepth 1 -type d | sort)
Thu Aug 31 15:09:53 MST 2017
it ~ # logout
私は何を逃したことがありませんか?そうでない場合、上記の最初の噴出でなぜとが表示されますか/boot
?/home
ベストアンサー1
find -xdev
落ちないマウントポイントであるディレクトリに移動しましたが、それでも表示されます。これを試みると、その他のマウントポイントが一覧表示されますが、その内容は表示されないことfind / -xdev -maxdepth 2
がわかります。/dev
/proc
/sys
find
その理由は、マウントポイントとして使用されたディレクトリではなく、マウントされたファイルシステムのルートがリストされているにもかかわらず、マウントポイントが親ファイルシステムに存在するためであると思います。
マウントポイントを省略する便利な方法はありません。後処理を実行する場合df -P
、または(Linuxの場合)出力を比較して、巡回ルートと同じデバイスにあることを確認できますstat -c %d
。しかし、まれなケースですが、これはかなりのオーバーヘッドです。