File Directory & Linking Files
2019. 12. 8. 11:48ㆍcoding
Filenames
- 알파벳 (대소문자 구분), 숫자, 하이픈, 밑줄, 점 사용 가능
- 공백 및 다른 특수문자 사용 자제 (쓰는 경우 이름을 따옴표로 감싸거나 모든 특수문자 앞에 \를 추가
- /는 사용 불가
Wild Cards
- Token : that specifies that one or more different characters can be used to satisfy a specific request
- ? : Any single character
- c? → ca는 일치, cat 는 불일치
- c?t → cat는 일치, cad는 불일치
- c??t → caat는 일치, cat는 불일치
- [...] : Any single character in the set
- f[aoei]d → fad, fed 는 일치, fud 는 불일치
- f[a-d]t → fat, fbt는 일치, fet는 불일치
- f[A-z][0-9] → fA3, f^2는 일치, fa33은 불일치
-
- : Zero or more characters
-
- : 모든 파일
- f*, *f : f로 시작하거나 끝나는 모든 파일
- . : 파일 이름에 .을 가지는 모든 파일
-
- : Zero or more characters
- ? : Any single character
Files in Unix
- Regular, Directory, Character Special(단말기), Block Special(디스크), Symbolic Link, FIFO(파이프), Socket(네트워크)
- Regular Files (Ordinary Files)
- Text Files : ASCII code로 구성
- Binary Files : data files and program files
A Directory Hierarchy
- Directory files
- A directory is a file that contains the names and locations of all files stored on a physical device
- /(The Root) > bin, usr, dev ... > ..
- Root directory (/)
- The highest level in the hierarchy, not have a parent directory (belongs to a system administrator)
- home directory (~ or ~userID)
- working directory (. or $pwd)
Pathnames
- Pathname
- 디렉토리 계층구조 내의 위치를 규정하고 특정 파일이나 디렉토리를 구분
- 경로명 내의 (/) → 객체명(파일이나 디렉토리) 들 간의 구분자
- 처음 위치의 (/) → root directory를 의미
- Absolute pathname (Full pathname)
- Specifies a file or directory in relation to the entire file hierarchy
- Starts the root directory (/) and lists each directory along the path to the final destination
- Uses a slash(/) separates multiple directory or file names
- Relative pathname
- Describes the location of a file or directory in relation to the current directory
- Do not begin with a slash
- Uses slashes within the pathname as delimiters between object names
Detour : A disk file format
- In unix, a file system has four structural sections known as blocks (Boot block, super block, inode block, Data blocks)
- Boot block : boot program → used to load kernel into memory
- Super Block : contains information about file system, total size of disk, free blocks, location of bad blocks
- Inode block : Information node block → information about each file in the data block (file owner, file type, permission, address)
- Data block
Directory Representation / link
Linking files
-
Hard Link
- 디렉토리 내의 inode는 파일 이름을 물리적인 장치에 직접 연결, 다중 파일 링크 허용
- 하나의 파일에 대한 다중 링크 → unix 에서 물리적인 파일은 단지 하나의 inode만 가질 수 있지만, 여러개의 이름을 가질 수 있다.
- 하드링크는 파일에 대해서만 사용될 수 있으나, 소프트링크는 파일 외에 디렉토리에도 사용될 수 있다.
- Advantages
- Allow access to original file name via the file name or the inode number
- The original file continues to exist as long as at least one directory contains its inode
- Checks for the existence of the original file
- Disadvantages
- Cannot link to a file in a different file system
- Prevents owner from truly deleting it, and it counts against his/her disk quota
-
Symbolic Link
- Links to Different File systems
- Advantages
- Allow access to original file name
- Can use either relative or absolute path to access the original file
- Can cross partition and drives
- Allows the creation of a link to a directory
- Disadvantages
- Created without checking the existence of the shared file
- Cannot access the shared file if its path has restricted permissions
- Can be circular linked to another symbolic linked file
'coding' 카테고리의 다른 글
UNIX 외워둬야 할 명령어들 총정리 (0) | 2019.12.08 |
---|---|
vi editor cheat sheet / vi 명령어 정리 (0) | 2019.12.08 |
Linux Shell 명령어 정리 (0) | 2019.12.08 |
styled-component 와 css 잘 사용하기 (0) | 2019.12.08 |
[C 프로그래밍] 주소록 프로그램 만들기 (0) | 2019.06.13 |