나는 이것을 사용하여 디렉토리를 mount
설정할 수 있고 재부팅 시 이를 다시 마운트하는 /
데 사용할 수 있다는 것을 알고 있습니다./etc/fstab
fstab 파일을 테스트하는 것도 재미있습니다 mount -faV
.
fstab 파일을 보면 공간이 어마어마하게 많습니다. 공백 1개(명령 매개변수 사이의 구분 기호 등) 또는 공백 4개(탭 문자 등)가 필요합니다. 나는 거의 관습에 따라 한 번에 7개의 공간을 봅니다.
내 질문은 다음과 같습니다/etc/fstab에 있는 모든 공간은 무엇을 위한 것인가요?
(아마도 - 잘못된 번호를 받으면 영향이 있을까요?)
답변1
공백의 양은 열/필드를 미학적으로 분리하는 방법입니다. 다른 것은 의미가 없습니다. 즉열 사이의 공백 크기는 중요하지 않습니다..
열 사이의 공백은 공백(탭 포함)으로 구성되며 열 자체(예: 쉼표로 구분된 옵션)에는 따옴표가 없는 공백이 포함되어서는 안 됩니다.
fstab(5)
매뉴얼 페이지 에서 :
각 줄의 필드는 탭이나 공백으로 구분됩니다.
그리고
마운트 지점 이름에 공백이 포함된 경우 "\040"으로 이스케이프할 수 있습니다.
예
다음 행의 경우 탭 하나만 사용하여 정렬하기가 어렵습니다. 결국 fstab
공백이 없는 섹션은 지금 생각하는 것보다 더 혼란스러워 보입니다.
/dev/md3 /data/vm btrfs defaults 0 0
/var/spool/cron/crontabs /etc/crontabs bind defaults,bind
//bkpsrv/backup /mnt/backup-server cifs iocharset=utf8,rw,credentials=/etc/credentials.txt,file_mode=0660,dir_mode=0770,_netdev
아직도 "기둥"이 보이나요?
답변2
답변3
getmntent
제안하다구문 분석 오류한 줄이 글자 수 제한을 초과하는 경우. ( getmntent
이것은 /etc/fstab을 읽는 권장 방법입니다.)
man getmntent
노출된:
getmntent() 함수는 스트림에서 파일 시스템 설명 파일의 다음 라인을 읽고 파일의 라인에서 구분 필드를 포함하는 구조에 대한 포인터를 반환합니다.
보시다시피 getmtent_r
, 파일 설명자 정보를 저장하는 데 사용되는 구조는 mount
배열로 저장되므로 buflen
.보다 큰 항목에 대해서는 구문 분석 오류가 발생합니다 buflen
.
이 디자인은 단일 항목의 여러 개행 문자 \
에서는 이스케이프 문자가 제대로 작동하지 않기 때문에 선택되었습니다 .fstab
쉽게 확인할 수 있는데, 차이점은 다음과 같습니다.아니요그냥 화장품...