Конечно, Linux использует концепцию каталогов. Понятие каталогов такое же, как в Windows.
Концепция файловых систем также очень похожа на используемую в Windows. Обычно Windows использует NTFS или FAT - Linux обычно использует ext2, ext3, ext4 и так далее, вот и все отличие.
В Linux файлы/каталоги из всех доступных разделов организованы в одно дерево. В Windows вы ссылаетесь на различные разделы, используя букву, например, «a:», «c:», в Linux полный путь к любому доступному файлу начинается с «/» - корневой каталог. Например, на вашем жестком диске есть отдельный раздел с файлами, предназначенными для загрузки системы: вы запускаете команду 'mount' с соответствующими аргументами, и содержимое этого раздела становится доступным по пути «/boot/». Таким образом, пути f.e. «/boot »и «/home» могут относиться к данным на разных разделах, эти разделы могут иметь разные файловые системы. Вероятно, это вызвало ваше недоразумение.
Каталоги, физически расположенные в одном разделе, всегда будут иметь одну и ту же файловую систему. Когда кто-то говорит о файловой системе какого-то каталога, это на самом деле о файловой системе раздела, где находится этот каталог.
(Незначительная и, вероятно, не важная коррекция: иногда файловая система виртуальна и нет соответствующего раздела. Например, «/proc »содержит что-то, что очень похоже на файлы, но эти« файлы »являются виртуальными, они не находятся ни на одном жестком диске и содержат информацию о запущенных процессах. Существует специальная файловая система «procfs», обеспечивающая обычный файловый интерфейс для этих данных)
-121--15254-Возможно, в ядре Linux отсутствуют некоторые модули. Попробуйте следующее:
modprobe nf_conntrack_proto_sctp
modprobe nf_nat_proto_sctp
-121--243541- Первый символ первого аргумента $1
является тире -
.
1:0:1 являются значениями для расширения параметра $ {parameter: Смещение: length}
.
Это означает:
1
, т.е.: $1
0
(пронумерован от 0). Вкратце: первый символ первого позиционного параметра $1
.
Это расширение параметра доступно в ksh, bash, zsh (по крайней мере).
Если вы хотите изменить тестовую строку:
[ "${1:0:1}" = "-" ]
Другие более безопасные решения bash могут быть:
[[ $1 =~ ^- ]]
[[ $1 == -* ]]
Безопаснее, потому что это не имеет проблем с квотированием (без разделения выполняется в [[
)
Для более старых, менее способных оболочек, можно изменить на:
[ "$(echo $1 | cut -c 1)" = "-" ]
[ "${1%%"${1#?}"}" = "-" ]
case $1 in -*) set -- mysqld_safe "$@";; esac
Только команда case более устойчива к неправильным кавычкам.
Сочетание клавиш для просмотра всех приложений, уже существующих в Debian (9 Stretch):
super
+a