Только для завершения, вот еще одна команда для монтирования раздела как доступного только для чтения (полезно для спящих разделов Windows):
udisksctl mount --block-device /dev/sda3 --options ro
Если у вас есть разрешение на монтирование раздела с помощью файлового менеджера ( если вы являетесь администратором, например), то вы должны иметь возможность запускать эту команду, не используя sudo.
Это доступно в новейших версиях Ubuntu (например, 13.04 и 13.10). [!d2 ]
Если udisksctl недоступен, возможно, udisks. У него разные аргументы, поэтому проверьте man-страницу.
Вот два способа сделать это. Существует больше, но концепция будет такой же: либо расширять то, что у вас есть, либо перебирать список и разбивать каждый элемент списка на части.
ничего особенного, что нужно сделать с помощью touch. Просто добавьте те же аргументы, что и для команды mkdir, чтобы включить файлы.
bash-4.3$ mkdir -p mydir/{colors/{basic,blended},shape,animals/{mammals,reptiles}}
bash-4.3$ tree mydir
mydir
├── animals
│ ├── mammals
│ └── reptiles
├── colors
│ ├── basic
│ └── blended
└── shape
7 directories, 0 files
bash-4.3$ touch mydir/{colors/{basic/{red,blue,green},blended/{yellow,orange,pink}},shape/{circle,square,cube},animals/{mammals/{platipus,bat,dog},reptiles/{snakes,crocodile,lizard}}}
bash-4.3$ tree mydir
mydir
├── animals
│ ├── mammals
│ │ ├── bat
│ │ ├── dog
│ │ └── platipus
│ └── reptiles
│ ├── crocodile
│ ├── lizard
│ └── snakes
├── colors
│ ├── basic
│ │ ├── blue
│ │ ├── green
│ │ └── red
│ └── blended
│ ├── orange
│ ├── pink
│ └── yellow
└── shape
├── circle
├── cube
└── square
Если вы заметили, у всех ваших каталогов есть файлы для создания. Таким образом, мы можем создать список элементов (фактически массив bash) и перебрать их, используя mkdir с удалением суффикса, а затем touch. Пример:
bash-4.3$ arr=( mydir/{colors/{basic/{red,blue,green},blended/{yellow,orange,pink}},shape/{circle,square,cube},animals/{mammals/{platipus,bat,dog},reptiles/{snakes,crocodile,lizard}}} )
bash-4.3$ for i in "${arr[@]}"; do mkdir -p "${i%/*}" && touch "$i"; done
bash-4.3$ tree mydir
mydir
├── animals
│ ├── mammals
│ │ ├── bat
│ │ ├── dog
│ │ └── platipus
│ └── reptiles
│ ├── crocodile
│ ├── lizard
│ └── snakes
├── colors
│ ├── basic
│ │ ├── blue
│ │ ├── green
│ │ └── red
│ └── blended
│ ├── orange
│ ├── pink
│ └── yellow
└── shape
├── circle
├── cube
└── square
7 directories, 15 files
Замечание: если у вас есть пробелы в любом имени файла или каталога, убедитесь, что вы одинажите или дважды указываете эти элементы, например:
arr=( mydir/{'with space',without_space/{file1,file2}} )
См. также.
mkdir -p mydir/{colors/{basic,blended},shape,animals/{mammals,reptiles}}
touch mydir/colors/{basic/{red,blue,green},blended/{yellow,orange,pink}}
touch mydir/shape/{circle,square,cube}
touch mydir/animals/{mammals/{platypus,bat,dog},reptiles/{snakes,crocodile,lizard}}
это идеальное решение .....
Вот два способа сделать это. Существует больше, но концепция будет такой же: либо расширять то, что у вас есть, либо перебирать список и разбивать каждый элемент списка на части.
ничего особенного, что нужно сделать с помощью touch. Просто добавьте те же аргументы, что и для команды mkdir, чтобы включить файлы.
bash-4.3$ mkdir -p mydir/{colors/{basic,blended},shape,animals/{mammals,reptiles}}
bash-4.3$ tree mydir
mydir
├── animals
│ ├── mammals
│ └── reptiles
├── colors
│ ├── basic
│ └── blended
└── shape
7 directories, 0 files
bash-4.3$ touch mydir/{colors/{basic/{red,blue,green},blended/{yellow,orange,pink}},shape/{circle,square,cube},animals/{mammals/{platipus,bat,dog},reptiles/{snakes,crocodile,lizard}}}
bash-4.3$ tree mydir
mydir
├── animals
│ ├── mammals
│ │ ├── bat
│ │ ├── dog
│ │ └── platipus
│ └── reptiles
│ ├── crocodile
│ ├── lizard
│ └── snakes
├── colors
│ ├── basic
│ │ ├── blue
│ │ ├── green
│ │ └── red
│ └── blended
│ ├── orange
│ ├── pink
│ └── yellow
└── shape
├── circle
├── cube
└── square
Если вы заметили, у всех ваших каталогов есть файлы для создания. Таким образом, мы можем создать список элементов (фактически массив bash) и перебрать их, используя mkdir с удалением суффикса, а затем touch. Пример:
bash-4.3$ arr=( mydir/{colors/{basic/{red,blue,green},blended/{yellow,orange,pink}},shape/{circle,square,cube},animals/{mammals/{platipus,bat,dog},reptiles/{snakes,crocodile,lizard}}} )
bash-4.3$ for i in "${arr[@]}"; do mkdir -p "${i%/*}" && touch "$i"; done
bash-4.3$ tree mydir
mydir
├── animals
│ ├── mammals
│ │ ├── bat
│ │ ├── dog
│ │ └── platipus
│ └── reptiles
│ ├── crocodile
│ ├── lizard
│ └── snakes
├── colors
│ ├── basic
│ │ ├── blue
│ │ ├── green
│ │ └── red
│ └── blended
│ ├── orange
│ ├── pink
│ └── yellow
└── shape
├── circle
├── cube
└── square
7 directories, 15 files
Замечание: если у вас есть пробелы в любом имени файла или каталога, убедитесь, что вы одинажите или дважды указываете эти элементы, например:
arr=( mydir/{'with space',without_space/{file1,file2}} )
См. также.
mkdir -p mydir/{colors/{basic,blended},shape,animals/{mammals,reptiles}}
touch mydir/colors/{basic/{red,blue,green},blended/{yellow,orange,pink}}
touch mydir/shape/{circle,square,cube}
touch mydir/animals/{mammals/{platypus,bat,dog},reptiles/{snakes,crocodile,lizard}}
это идеальное решение .....