К (ре) создают файловую систему, используют одно из mkfs семейства инструментов. Выберите тот на основе того, какую файловую систему Вы хотите; наиболее распространенные:
mkfs.vfat
) для максимальной совместимости. FAT32 не имеет никакого понятия принадлежности файла или полномочий или символьных ссылок или многих других unixy понятий, просто файлы и каталоги со многими знаками пунктуации, запрещенными в именах файлов и никакой чувствительности к регистру. Максимальный размер файла составляет 4 ГБ. Выберите эту файловую систему, если просто необходимо сохранить набор файлов, которые не больше, чем 4 ГБ.Необходимо будет узнать название устройства, что диск включен. В соответствии с Linux, съемные диски обычно имеют имена как /dev/sda
, /dev/sdb
, и т.д. обязательно выберите правильный, или Вы могли бы стереть свой жесткий диск. В соответствии с Linux, можно получить список доступных дисков и их разделов путем выполнения cat /proc/partitions
; число в третьем столбце является размером в килобайтах. Можно также понять то, где диск включается путем рассмотрения имен в /dev/disk/by-path
, и модели диска в /dev/disk/by-id
. Карты флэш-памяти обычно имеют единственный раздел, пронумерованный 1.
Во многих системах эти инструменты живут в /sbin
или /usr/sbin
, который не находится в пути по умолчанию для некорневых пользователей. Кроме того, Вы будете должны, вероятно, быть корнем для выполнения их.
Для создания новой файловой системы работайте mkfs
команда на правильном устройстве:
mkfs.TYPE /dev/NAME_OF_DEVICE
Не забудьте помещать правильное число раздела. Если Вы запускаете Linux, и у Вас есть единственный жесткий диск и никакой другой подключенный внешний диск, устройство обычно /dev/sdb1
. Таким образом типичная команда
sudo mkfs.vfat /dev/sdb1 # be sure to adjust the device name if necessary
mkfs
оставит некоторые фрагменты старых данных на месте, которые не будут стерты, пока они не будут перезаписаны новым файлом. Эти фрагменты могут быть восстановлены путем рассмотрения содержания устройства, обхода файловой системы. (Нет никакой гарантии, что будет легко восстановить значимые данные из фрагментов, не надейтесь использовать это в качестве отмены для oops-I-formatted-the-wrong-device.), Если Вы хотите стереть все существующие данные, выполните следующую команду прежде mkfs
:
tee
Сделайте очень очень уверенными, что Вы выбираете правильное имя устройства, поскольку это сотрет все данные без надежды на восстановление.
Обратите внимание, что, в то время как это сотрет данные без возможности восстановления обычными средствами программного обеспечения, это может уехать, трассировки позади этого могут быть восстановлены с некоторой электронной работой. Посмотрите, что достаточно только вытереть флеш-накопитель однажды?. Единственный совместимый паранойей способ стереть данные по флеш-накопителю состоит в том, чтобы зашифровать его во-первых и уничтожает все копии ключа.
if myfunction "two"
в псевдокоде if the myfunction return code is zero when run with a single argument "two"
. Если Вы хотите инвертировать сравнение (is not zero
) можно просто добавить a !
между if
и myfunction
.
myfunction "two"
myvar=$?
if [ $myvar -gt 0 ]; then
echo yep $myvar
else
echo nope $myvar
fi
Не совсем уверенный, что Вы спрашиваете, но:
myfunction two; (( $? == 2 )) && echo yes || echo no
Почему бы не повторение из функции? Это должно быть просто:
myfunction() {
case "$1" in
one) echo "nope 0" ;;
two) echo "yep 2" ;;
esac
}
myfunction one
myfunction two
$?
всегда содержит результат последней команды. Вы, как предполагается, сохраняете его к некоторой другой переменной, если Вы хотите сохранить результат определенной команды на потом. Примечание – a CVn 06.06.2013, 14:51if ...; then ...
может быть переписан как...; if $? = 0; then ...
для игнорируемых частей в том же порядке. Это может быть больше в соответствии с тем, что Вы хотите сделать, потому что затем у Вас есть хорошее место, в котором можно сохранить значение$?
к где-то в другом месте. – a CVn 06.06.2013, 14:53