티스토리 뷰

1. 링크(Link) 파일

기존 파일에 대한 또 다른 접근 포인트를 만들어주는 기능


하드 링크(Hard link)

$ ln source_file target_file

원본 파일과 동일한 i-node number를 가지는 파일을 생성

i-node number는 파일시스템별로 고유한 값이기 때문에 동일 파일시스템 내에서만 하드 링크가 가능(디렉터리는 불가능)

하드 링크 파일을 생성하면 해당 i-node의 링크 카운트(Link count)가 1 증가, 삭제하면 1 감소

i-node의 링크 카운트 값이 0이 되면 해당 파일의 i-node 정보 및 데이터 삭제


심볼릭 링크(Symbolic link)

$ ln -s source_file target_file

원본 파일에 대한 파일 경로를 파일 내용으로 하는 파일을 생성

하드 링크와 달리 i-node number가 아닌 파일 경로를 기반으로 되어 파일시스템에 제한이 없으며 디렉터리도 가능

원본 파일이 삭제되거나 이동하게 되면 해당 경로가 변경되므로 심볼릭 링크 파일은 링크가 끊어짐



2. 파일의 종류

일반 파일(Regular file): 데이터 또는 프로그램 코드에 해당하는 일련의 바이트 스트림으로 되어 있음

디렉터리(Directory): 디렉터리에 포함된 파일명과 해당 파일에 대한 정보를 담고 있는 i-node number 목록을 내용으로 가지고 있는 특수한 파일

특수 파일(Special file): 기능에 따라 다양한 형태로 존재

프로세스 간 통신(IPC, Inter Process Communication)을 위해 파이프(Pipe), 소켓(Socket) 등의 파일을 사용

디스크, 프린터, 터미널, 키보드 등의 주변장치를 사용하기 위한 장치 파일(Device file)로 블럭 단위로 입출력하는 장치 파일(버퍼링)과 문자(Character) 단위로 입출력하는 문자 장치 파일(비 버퍼링)로 구분


d: 디렉터리

b: 블럭(Block) 장치 파일

c: 문자(Character) 장치 파일

l: 심볼릭 링크 파일

p: 네임드 파이프(Named pipe)

s: 유닉스 도메인 소켓(Socket)

-: 일반 파일



3. ls 명령어(list)

특정 디렉터리에 있는 디렉터리와 파일 목록을 보여줌

$ ls [-ailFR] [file_name | directory_name]

-a: 디렉터리 내에 있는 숨김 파일을 표시

-i: 파일 및 디렉터리에 지정된 i-node number 값 표시

-l: 목록 형태로 디렉터리 및 파일의 정보를 자세히 표시

-F: 디렉터리(/), 실행파일(*), 심볼릭링크(@)의 종류를 표시

-R: 하위 디렉터리 내용 표시


접근 권한

r(4): 파일에 대한 읽기 권한, 디렉터리 내에 있는 파일명을 읽을 수 있는 권한

w(2): 파일에 대한 쓰기 권한, 디렉터리 내에 파일을 생성하거나 삭제할 수 있는 권한

x(1): 파일에 대한 실행 권한, 디렉터리 내에서 탐색을 위해 이동할 수 있는 권한



4. cd 명령어(Change Directory)

파일시스템 내의 특정 디렉터리로 이동

$ cd [directory_name]



5. mkdir 명령어(Make Directory)

새로운 디렉터리를 생성

$ mkdir [-m mode] [-p] directory_name

-m: 새로 성성할 디렉터리의 접근권한을 명시적으로 선언

-p: 계층적인 구조를 갖는 디렉터리를 한번에 생성



6. rmdir 명령어(Remove Directory)

디렉터리 삭제

$ rmdir [-p] directory_name

-p: 계층적인 구조를 갖는 디렉터리를 한꺼번에 삭제



7. chmod 명령어

파일 및 디렉터리에 대한 접근권한을 변경

$ chmod [-R] permission file_name | directory_name

-R: 하위 디렉터리와 파일의 접근권한도 변경

permission: 기호나 8진수로 접근권한을 지정

대상: u(user), g(group), o(other), a(all)

연산자: +(추가), -(제거), =(지정)

접근권한: r(읽기), w(쓰기), x(실행)



8. chown/chgrp 명령어

파일 및 디렉터리에 대한 소유주, 소유그룹을 변경

$ chown [-hR] owner file_name | directory_name

$ chgrp [-hR] group file_name | directory_name

-h: 심볼릭 링크 파일 자체의 소유주나 그룹을 변경

-R: 하위 디렉터리와 파일의 소유주나 그룹을 변경



9. umask 명령어

파일 및 디렉터리 생성 시 초기 접근권한을 명시

일반 파일을 생성할 경우 666에서 umask로 지정한 값을 빼고 디렉터리를 생성할 경우 777에서 umask로 지정한 값을 빼서 접근권한을 설정

/etc/profile 파일에 umask를 지정하여 시스템 전체 사용자에게 umask 값을 적용 가능

$ umask [mask]

mask: 파일이나 디렉터리의 접근권한으로 뺄 값을 명시



10. find 명령어

시스템 내에 있는 파일 중에서 사용자가 지정한 파일을 찾을 때 사용

$ find path [expression] [action]

-name file_name: 파일명을 지정([], ?, *의 메타 문자 사용 가능)

-type file_type: 파일 종류를 지정

-user user_name: 소유자명 또는 UID를 지정

-group group_name: 소유그룹명 또는 GID를 지정

-perm [+-]mode: 파일의 접근권한을 지정(8진수로 명시)

+-가 없을 경우 mode 권한과 정확히 일치하는 파일

+가 있을 경우 mode 권한을 부분적으로 포함하는 파일

-가 있을 경우 mode 권한을 최소한 모두 포함하는 파일

-size [+-]num[단위]: 파일의 크기를 지정

+-가 없을 경우 정확히 n, +n은 초과, -n은 미만

size의 단위는 b:blocks(Default), c:bytes k:kilobytes, M:megaytes, G:gigabytes

-atime [+-]n: 파일을 마지막으로 접근한 시간(access time)을 지정

+-가 없을 경우 정확히 n, +n은 초과, -n은 미만

-ctime [+-]n: 파일의 속성이 마지막으로 변경된 시간(change time)을 지정

+-가 없을 경우 정확히 n, +n은 초과, -n은 미만

-mtime [+-]n: 파일의 내용이 마지막으로 변경된 시간(modification time)을 지정

+-가 없을 경우 정확히 n, +n은 초과, -n은 미만

-exec command {} \;: 검색 결과 파일에 대한 추가적인 명령을 실행

{}: 검색 결과 파일 내용이 입력되는 부분

\;: 명령어의 끝을 의미

검색 조건이 둘 이상일 경우 -o(or), -a(and/default)의 논리 연산 및 ()를 추가하여 우선순위를 지정

댓글
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
링크
공지사항
Total
Today
Yesterday