Существует несколько способов получить эту информацию. Большинство из них требует, чтобы Вы проанализировали вывод другой команды.
Выполненный # fdisk /dev/sdX -l
получать общее представление о структуре файловой системы. Вывод - что-то вроде этого:
Disk /dev/sda: 320.1 GB, 320072933376 bytes, 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x9f7685a8
Device Boot Start End Blocks Id System
/dev/sda1 63 289169 144553+ 83 Linux
/dev/sda2 289170 459121634 229416232+ 83 Linux
/dev/sda3 459121635 461129759 1004062+ 82 Linux swap / Solaris
/dev/sda4 * 461129760 625142447 82006344 7 HPFS/NTFS/exFAT
Но это только скажет Вам тип раздела.
Вы могли также использовать # blkid
получить следующий вывод:
/dev/sda1: LABEL="boot" UUID="aa84c5a8-6408-4952-b577-578f2a67af86" TYPE="ext2"
/dev/sda2: LABEL="root" UUID="a430e0ef-fd35-432f-8b9a-75a49b89ad8a" TYPE="ext4"
/dev/sda3: LABEL="swap" UUID="e388806a-dc27-4f4e-a136-3d1ff4e53962" TYPE="swap"
/dev/sda4: UUID="088E027A8E026114" TYPE="ntfs"
Кроме того, для хорошо отформатированного вывода Вы могли работать # parted /dev/sdX -l
для следующего вывода:
Model: ATA WDC WD3200BEVT-7 (scsi)
Disk /dev/sda: 320GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 32.3kB 148MB 148MB primary ext2
2 148MB 235GB 235GB primary ext4
3 235GB 236GB 1028MB primary linux-swap(v1)
4 236GB 320GB 84.0GB primary ntfs boot
$ df -T
. Это - другая команда, которая не требует полномочий суперпользователя выполниться. Однако это сообщит для каждой точки монтирования
Filesystem Type 1K-blocks Used Available Use% Mounted on
rootfs rootfs 225815276 99381340 114963128 47% /
dev devtmpfs 1538396 0 1538396 0% /dev
run tmpfs 1541260 416 1540844 1% /run
/dev/sda2 ext4 225815276 99381340 114963128 47% /
tmpfs tmpfs 1541260 360 1540900 1% /dev/shm
tmpfs tmpfs 1541260 0 1541260 0% /sys/fs/cgroup
tmpfs tmpfs 1541260 900 1540360 1% /tmp
/dev/sda1 ext2 139985 30386 102372 23% /boot
/dev/sda4 fuseblk 82006340 79676036 2330304 98% /mnt
Другая команда, которая может произойти удобная, # file -sL /dev/sdXY
. Это имеет одну оборотную сторону, в которой это не работает с полным блочным устройством. Требует, чтобы точное устройство было передано. Вывод довольно аккуратен хотя:
/dev/sda1: Linux rev 1.0 ext2 filesystem data (mounted or unclean), UUID=aa84c5a8-6408-4952-b577-578f2a67af86, volume name "boot"
Все они будут всегда производиться к stdout. Можно проанализировать их в сценарии при необходимости.
Попробовать find /dir -type d -name "your_dir_name"
.
Замена /dir
с Вашим именем каталога и заменой "your_dir_name"
с именем Вы ищете.
-type d
скажет find
искать каталоги только.
Для более общего решения нахождения одного или нескольких каталогов и поиска их для чего-то как нахождение старых адресов электронной почты в репозиториях мерзавца смотрят на следующий шаблон:
find . -type d -name .git -print0|\
xargs -0r -I {} find {} -type f -print0 |\
xargs -0r grep -e 'my.old@email.address'
echo **/target
или получить одно соответствие на строку:
printf %s\\n **/target
Это работает из поля в zsh. В ударе необходимо работать shopt -s globstar
во-первых, и остерегайтесь этого, это также пересекает символьные ссылки на каталоги. В ksh93 необходимо работать set -o globstar
сначала.
Если Вы хотите соответствовать только каталогам или символьным ссылкам на каталоги, добавьте запаздывание /
(т.е. **/target/
). В zsh, для соответствия только каталогам, но не символьным ссылкам на каталоги сделайте это **/target(/)
.
В любой оболочке можно использовать find
команда:
find . -name target
На Linux и Cygwin, .
является дополнительным. Если Вы хотите соответствовать только каталогам, добавить -type d
.