📄 hfs.txt
字号:
..//%%ffoooo The header file for the file ./foo, containing the resource fork and the Finder's metadata for the file. Additionally, the file %RootInfo in the root directory of the HFS filesystem is a header file for the root directory. This is not quite the %RootInfo file referred to in the AppleDouble specification. The header files used in this scheme are version 2 AppleDouble header files. Their format is described briefly in the section ``A Guide to Special File Formats'' in this document. They are documented in detail in ``AppleSingle/AppleDouble Formats: Developer's Note (9/94)'', available from Apple's Developer Services Page <http://devworld.apple.com>. Note that the naming convention for the header file can cause name conflicts. For instance, using Apple's 7-bit ASCII name conversion (see the names mount option) the name %Desktop could be interpreted either as the header file for the file Desktop or as the file with 0xDE as the hexadecimal representation of its first character, and "sktop" as the remaining 5 characters. The problem arises when both files exist, since only one will be accessible. The behavior of the HFS filesystem in the case of such a conflict is undefined, and may change in future releases. (If this causes problems for you, please don't report it as a bug; I didn't design this ``standard'', Apple did.) nneettaattaallkk The scheme used by the Netatalk afpd. Associated with each directory is a special directory and a metadata file. The directory ./bar is represented by: ..//bbaarr The directory itself, containing subdirectories, the data forks of files, and the following special directory. ..//bbaarr//..AApppplleeDDoouubbllee A special directory holding AppleDouble header files for ./bar and the files it contains, but not for the subdirectories it contains. ..//bbaarr//..AApppplleeDDoouubbllee//..PPaarreenntt The header file for the directory ./bar, containing the Finder's metadata for the directory. The files in a directory are represented as two files: ..//ffoooo The data fork of the file ./foo. ..//..AApppplleeDDoouubbllee//ffoooo The header file for file ./foo, containing the resource fork and the Finder's metadata. The header files used in this scheme are version 1 AppleDouble header files. They are described briefly in the section ``A Guide to Special File Formats'' in this document. The format is documented in detail in the ``Apple II File Type Notes'' under the type ``$E0.0002/$E0.0003-AppleDouble'', and in Appendix B of the ``A/UX Toolbox: Macintosh ROM Interface'' manual. 22..66.. ggiidd==nn default value: gid of the mounting process Specifies the group that owns all files and directories on the filesystem. (Same as for the MS-DOS and HPFS filesystems.) 22..77.. nnaammeess=={{77bbiitt,, 88bbiitt,, aallpphhaa,, ccaapp,, llaattiinn,, nneettaattaallkk,, ttrriivviiaall}} default value: varies as follows +o If the fork option is set to double, then names defaults to alpha. +o If the fork option is set to netatalk, then names defaults to netatalk. +o If the fork option is set to cap (or has taken that value by default), then names defaults to cap. This option determines how to convert between valid Macintosh filenames and valid Linux filenames. The 7bit, 8bit and alpha options correspond to Apple's recommended conventions named ``7-bit ASCII'', ``8-bit'' and ``7-bit alphanumeric''. 77bbiitt When converting from Macintosh filenames to Linux filenames the NULL (0x00), slash (/) and percent (%) characters and the extended 8-bit characters (hexadecimal codes 0x80-0xff) are replaced by a percent character (%) followed by the two-digit hexadecimal code for the character. When converting from Linux filenames to Macintosh filenames the string "%YZ" is replaced by the character with hexadecimal code 0xYZ. If 0xYZ is not a valid hexadecimal number or is the code for NULL or colon (:) then the string "%YZ" is unchanged. A colon (:) is replaced by a pipe character (|). 88bbiitt When converting from Macintosh filenames to Linux filenames the NULL (0x00), slash (/) and percent (%) characters are replaced by a percent character (%) followed by the two-digit hexadecimal code for the character. When converting from Linux filenames to Macintosh filenames the string "%YZ" is replaced by the character with hexadecimal code 0xYZ. If 0xYZ is not a valid hexadecimal number or is the code for NULL or colon (:) then the string "%YZ" is unchanged. A colon (:) is replaced by a pipe character (|). aallpphhaa When converting from Macintosh filenames to Linux filenames only the alphanumeric characters (a-z, A-Z and 0-9), the underscore (_) and the last period (.) in the filename are unchanged. The remaining characters are replaced by a percent character (%) followed by the two-digit hexadecimal code for the character. When converting from Linux filenames to Macintosh filenames the string "%YZ" is replaced by the character with hexadecimal code 0xYZ. If 0xYZ is not a valid hexadecimal number or is the code for NULL or colon (:) then the string "%YZ" is unchanged. A colon (:) is replaced by a pipe character (|). ccaapp The convention used by the Columbia AppleTalk Package's AUFS. When converting from Macintosh filenames to Linux filenames the characters from space ( ) through tilde (~) (ASCII 32-126) are unchanged, with the exception of slash (/). The slash (/) and all characters outside the range 32-126 are replaced by a colon (:) followed by the two-digit hexadecimal code for the character. When converting from Linux filenames to Macintosh filenames the string ":YZ" is replaced by the character with hexadecimal code 0xYZ. If 0xYZ is not a valid hexadecimal number or is the code for NULL or colon (:) then the colon is replaced by a pipe character (|). llaattiinn When converting from Macintosh filenames to Linux filenames the characters from space ( ) through tilde (~) (ASCII 32-126) are unchanged, with the exception of slash (/) and percent (%). The extended 8-bit Macintosh characters with equivalents in the Latin-1 character set are replaced by those equivalents. The remaining characters are replaced by a percent character (%) followed by the two-digit hexadecimal code for the character. When converting from Linux filenames to Macintosh filenames the string "%YZ" is replaced by the character with hexadecimal code 0xYZ. If 0xYZ is not a valid hexadecimal number or is the code for NULL or colon (:) then the string "%YZ" is unchanged. The Latin-1 characters with equivalents in the extended 8-bit Macintosh character set are replaced by those equivalents. A colon (:) is replaced by a pipe character (|). Thanks to Holger Schemel (aeglos@valinor.owl.de) for contributing this conversion mode. nneettaattaallkk The convention used by the Netatalk afpd. When converting from Macintosh filenames to Linux filenames the characters from space ( ) through tilde (~) (ASCII 32-126) are unchanged, with the exception of slash (/) and any initial period (.). The slash (/) and any initial period (.) and all characters outside the range 32-126 are replaced by a colon (:) followed by the two-digit hexadecimal code for the character. When converting from Linux filenames to Macintosh filenames the string ":YZ" is replaced by the character with hexadecimal code 0xYZ. If 0xYZ is not a valid hexadecimal number or is the code for NULL or colon (:) then the colon is replaced by a pipe character (|). ttrriivviiaall When converting from Macintosh filenames to Linux filenames a slash character (/) is replaced by a colon (:). When converting from Linux filenames to Macintosh filenames a colon (:) is replaced by a slash character (/). 22..88.. ppaarrtt==nn default value: 0 Specifies which HFS partition to mount from a Macintosh CDROM or hard drive. Partitions are numbered from 0 and count only those identified in the partition table as containing HFS filesystems. This option is only useful when the Linux platform doesn't fully support Macintosh partition tables. In particular on MkLinux and Linux-Pmac this option is useless. Note that in versions before 0.8.3 partitions were numbered from 1. 22..99.. qquuiieett If included in the options, then chown and chmod operations will not return errors, but will instead fail silently. (Same as for the MS- DOS and HPFS filesystems.) 22..1100.. ttyyppee==cccccccc default value: ``????'' Specifies the 4-character string specifying the Finder's Type for new files. 22..1111.. uuiidd==nn default value: uid of the mounting process Specifies the user that owns all files and directories on the filesystem. (Same as for the MS-DOS and HPFS filesystems.) 22..1122.. uummaasskk==nn default value: umask of the mounting process Specifies (in octal) the umask used for all files and directories. (Same as for the MS-DOS and HPFS filesystems.) 33.. WWrriittiinngg ttoo HHFFSS FFiilleessyysstteemmss Each of the values of the fork mount option yields a different representation of the Macintosh-specific parts of a file within the structure of the Linux filesystem. There are, therefore, slightly different steps involved in copying files if you want to preserve the resource forks and the Finder's metadata. It is important to remember not to use normal user-level tools to modify a filesystem mounted with the afpd mount option. Regardless of the value of the fork mount option you can do virtually everything to the data fork of a file that you can to a file on any other filesystem. The limitations are essentially the same as those imposed by the MS-DOS filesystem: +o You can't change the uid or gid of files. +o You can't set the set-uid, set-gid or sticky permission bits. +o You can't clear the execute permission bits. Likewise you can do virtually everything to a directory that you can to a directory on another file system with the following exceptions: +o You can't create, delete or rename resource forks of files or the Finder's metadata. Note, however, that they are created (with defaults values), deleted and renamed along with the corresponding data fork or directory. +o You can't change permissions on directories. +o You can't change the uid or gid of directories. +o You can't create multiple links to files.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -