728x90
반응형
유닉스 디렉토리 계층 구조
-
~(홈디렉토리)
- 현재 사용자 계정의 홈디렉토리
- ~뒤에 로그인한 사용자 ID가 오면 해당 사용자의 홈디렉토리를 나타냄
-
.(현재 디렉토리)
- 현재 사용 중인 디렉터리를 작업 디렉터리(Working directory) 또는 현재 디렉터리(Current directory)라고 함
- 현재 디렉터리 위치: pwd 명령으로 확인
-
/(루트 디렉토리)
- root 계정의 홈디렉토리로 최상위 디렉토리를 의미
디렉토리의 주요 기능
- dev
- 장치 파일이 담긴 디렉터리
- home
- 사용자 홈 디렉터리가 생성되는 디렉터리
- media
- CD-ROM이나 USB 같은 외부 장치를 연결(마운트라고 함)하는 디렉터리
- opt
- 추가 패키지가 설치되는 디렉터리
- root
- root 계정의 홈 디렉터리 [주의] 루트(/) 디렉터리와 혼동하지 않도록 해야 함
- sys
- 리눅스 커널과 관련된 파일이 있는 디렉터리
- usr
- 기본 실행 파일과 라이브러리 파일, 헤더 파일 등 많은 파일이 있음 [참고] usr는 ‘Unix System Resource’의 약자
- boot
- 부팅에 필요한 커널 파일을 가지고 있음
- etc
- 리눅스 설정을 위한 각종 파일을 가지고 있음
- lost+found
- 파일 시스템에 문제가 발생하여 복구할 경우, 문제가 되는 파일이 저장되는 디렉터리로 보통은 비어 있음
- mnt
- 파일 시스템을 임시로 마운트하는 디렉터리
- proc
- 프로세스 정보 등 커널 관련 정보가 저장되는 디렉터리
- run
- 실행 중인 서비스와 관련된 파일이 저장됨
- srv
- FTP나 Web 등 시스템에서 제공하는 서비스의 데이터가 저장됨
- tmp
- 시스템 사용 중에 발생하는 임시 데이터가 저장됨 [주의] 이 디렉터리에 있는 파일은 재시작하면 모두 삭제됨
- var
- 시스템 운영 중에서 발생하는 데이터나 로그 등 내용이 자주 바뀌는 파일이 주로 저장됨
작업 디렉토리와 홈 디렉터리
작업 디렉터리
현재 사용 중인 디렉터리를 작업 디렉터리(Working directory) 또는 현재 디렉터리(Current directory)라고 함
현재 디렉터리: ‘.’ 기호로 표시
현재 디렉터리 위치: pwd 명령으로 확인
경로명: 파일 시스템에서 디렉터리 계층 구조에 있는 특정 파일이나 디렉터리의 위치 표시(구분자: / )
절대 경로명: 항상 루트(/) 디렉터리부터 시작 작업 디렉터리
- 반드시 /으로 시작
- 루트 디렉터리부터 시작하여 특정 파일이나 디렉터리의 위치까지 이동하면서 거치게 되는 모든 중간 디렉터리의 이름을 표시
- 특정 위치를 가리키는 절대 경로명은 항상 동일
상대 경로명: 현재 디렉터리를 기준으로 시작 작업 디렉터리
- / 이외의 문자로 시작
- 현재 디렉터리를 기준으로 서브 디렉터리로 내려가면 그냥 서브 디렉터리명을 추가
- 현재 디렉터리를 기준으로 상위 디렉터리로 가려면 ..(마침표 두 개)를 추가
- 상대 경로명은 현재 디렉터리가 어디냐에 따라 달라짐
홈 디렉터리
각 사용자에게 할당된 디렉터리로 처음 사용자 계정을 만들 때 지정
사용자는 자신의 홈 디렉터리 아래에 파일이나 서브 디렉터리를 생성하며 작업 가능
홈 디렉터리는 ‘~’ 기호로 표시: ~user1
유닉스 현재 디렉토리 확인 / 디렉토리의 파일 목록 확인
pwd
기능: 현재 위치를 확인함 → 현재 디렉터리의 절대 경로명을 출력함
ls 옵션들
- -a
- 숨길 파일을 포함하여 모든 파일의 목록을 출력함
- -d
- 디렉터리 자체의 정보를 출력함
- -i
- 첫 번째 행에 inode 번호를 출력함
- -l
- 파일의 상세 정보를 출력함
- -A
- .(마침표)와 ..(마침표 두 개)를 제외한 모든 파일 목록을 출력함
- -F
- 파일의 종류를 표시함(*: 실행 파일, /: 디렉터리, @: 심벌릭 링크)
- -L
- 심벌릭 링크 파일의 경우 원본 파일의 정보를 출력함 -
- R
- 하위 디렉터리의 목록까지 출력함
상세한 정보 출력하기: -l 옵션
- -
- 일반(정규) 파일
- d
- 디렉터리 파일
- t
- 심벌릭 링크 파일
- b
- 블록 단위로 읽고 쓰는 블록 장치 파일
- c
- 섹터 단위로 읽고 쓰는 문자 장치 파일
- p
- 파이프 파일(프로세스 간 통신에 사용되는 특수 파일)
- s
- 소켓(네트워크 통신에 사용되는 특수 파일)
디렉터리 이동하기: cd
- 현재 작업 디렉토리를 지정한 디렉토리로 이동
- 디렉토리명을 지정하지 않으면 자신의 홈 디렉토리로 이동
- 기능: 지정한 디렉터리로 이동함
디렉터리 만들기: mkdir
- 기능: 디렉터리를 생성
디렉터리 삭제하기: rmdir
- 기능: 디렉터리를 삭제
find 명령어
- 디렉토리 내의 파일이나 디렉토리(폴더)를 찾는 검색 명령어
- 단순히 파일 이름만을 가지고 찾는 것은 물론, 파일 모드, 파일 타입, 크기, 마지막으로 접근한 시간 등 여러 가지 다양한 조건으로 검색
- 파일이 아닌, 디렉토리를 검색하려면 명령어 맨 끝에 “- type d” (따옴표 제외) 라는 옵션을 붙여 주어야 함
- 루트 디렉토리 아래에서, et 로 시작하는 모든 디렉토리를 찾으려면 find / -name ‘et*’ -type d
- “/” 는 루트 디렉토리 즉 최상위 디렉토리를 의미
- b: 블록 특수 파일(block device)
- c: 캐릭터 특수 파일 (character deice)
- d: 디렉토리(directory)
- f: 일반파일(file)
- l: 심볼릭 링크(link)
- p: 파이프 (pipe)
- s: 소켓 (socket)
grep 명령어
- 하위폴더를 포함하여 존재하는 모든 파일에서 원하는 단어를 찾아주는 명령어
- 검색어 내에 공백 문자가 있을 경우는 " " 를 사용
- -i: 영문의 대소문자를 구별하지 않음
- -v: pattern을 포함하지 않는 라인을 출력
- -n: 검색 결과의 각 행의 선두에 행 번호를 넣음(first line is 1)
- -l: 파일명만 출력
- -c: 패턴과 일치하는 라인의 개수만 출력
- -r: 하위 디렉토리까지 검색
- -A: after n줄까지 출력
- -B: before n줄까지 출력
- grep hello test.
- test 라는 파일에서 hello 라는 문구가 들어간 모든 행을 찾아 출력
- grep -n hello test
- test 라는 파일에서 hello 라는 문구가 들어간 모든 행을 보여주며, 라인까지 출력
- grep -r hello cptest
- cptest 라는 폴더 내의 모든 파일 중에 hello 라는 문구가 들어간 행을 출력
- grep -i hello test
- test 라는 파일에서 hello라는 문구를 대,소문자 구분 없이 검색해서 출력
- grep -E "a|b|c" test
- test 라는 파일에서 a 또는 b 또는 c 가 있는 모든 행을 찾아 출력
- grep hello -A 5 test
- test 라는 파일에서 hello라는 단어를 찾아 이후 5행까지 출력
- grep hello -B 5 test
- test 라는 파일에서 hello라는 단어를 찾아 이전 5행까지 출력
728x90
반응형
'TEAM STUDY > LINUX' 카테고리의 다른 글
vi 에디터의 개요 (0) | 2021.01.09 |
---|---|
유닉스의 디렉토리 조작하기 (0) | 2021.01.03 |
GRUB 패스워드 설정 (0) | 2020.12.30 |
퍼미션/소유자 관리 (0) | 2020.12.26 |
운영체제 (0) | 2020.12.24 |