●리눅스에서의 파일
: 사용 목적에 따라 일반 파일, 디렉터리, 심볼릭 링크, 장치 파일로 구분
-파일: 관련있는 정보들의 집합
-일반파일
: 데이터 저장하는데 주로 사용
-디렉터리: 해당 디렉터리에 저장된 파일이나 하위 디렉터리에 대한 정보 저장
-심볼릭 링크: 원본 파일을 대신하도록 원본 파일을 다른 파일명으로 지정한 것( ex) 바로가기)
-장치파일: 리눅스 시스템에 부착된 장치들을 관리하기 위한 특수 파일
●디렉터리의 계층 구조
-트리구조: 파일을 효율적으로 관리하기 위한 계층적 구조
●디렉터리 주요 기능
디렉터리 | 기능 |
dev | 장치의 파일이 담긴 디렉터리 |
home | 사용자 홈 디렉터리가 생성되는 디렉터리 |
media | dvd/cd, usb 같은 외부 장치를 연결(마운트) |
opt | 추가 패키지 설치되는 디렉터리 |
root | root계정의 홈 디렉터리[ 루트(/) 디렉터리와 다름] |
sys | 리눅스 커널과 관련된 파일이 있는 디렉터리 |
usr | 기본 실행 파일과 라이브러리 파일, 헤더 파일 등 많은 파일 |
boot | 부팅에 필요한 커널파일 |
etc | 리눅스 성정을 위한 각종 파일 존재 |
lost+found | 파일 시스템에 문제가 생겨 복구할 경우, 문제가 되는 파일이 저장되는 디렉터리 |
mnt | 파일시스템을 임시로 마운트하는 디렉터리 |
proc | 프로세스 정보 등 커널 정보가 저장되는 디렉터리 |
run | 실행중인 서비스와 관련된 파일이 저장되는 디렉터리 |
srv | FTP,WEB 등 시스템에서 제공하는 서비스 데이터가 저장 |
imp | 시스템 사용중에 발생하는 임시 데이터가 저장 (재시작 시 모두 삭제) |
var | 시스템 운영중에 발생하는 데이터, 로그 등 내용이 자주 변경되는 파일이 주로 저장 |
●작업 디렉터리
- 현재 사용중인 디렉터리, (.)로 표시하며 pwd명령으로 확인 가능
●홈 디렉터리
-처음 사용자 계정 만들 때 지정, (~)로 표시
●경로명: 디렉터리 계층 구조에 있는 특정 파일이나 디렉터리의 위치를 나타내는 것 (/)을 구분자로 사용
- 절대 경로명: 항상 루트 디렉터리부터 시작 = 반드시 /로 시작
루트 디렉터리부터 시작해 특정 디렉터리에 이르기까지 중간에 있는 모든 디렉터리 이름 표시
특정 위치를 가르키는 절대 경로명은 항상 동일
-상대 경로명: / 이외의 문자로 시작
현재 디렉터리 기준으로 서브 디렉터리로 내려가면 서브 디렉터리명으로 시작
현재 디렉터리 기준으로 상위 디렉터리 가려면 (..)로 시작
현재 디렉터리가 어디냐에 따라 달라짐
●디렉터리 관련 명령
pwd | |
현재 디렉터리의 위치 확인 | pwd |
cd | |
지정한 디렉터리로 이동 | cd[디렉터리] |
ls 디렉터리의 내용 출력 |
-a | 숨김 파일을 포함해 모든 파일 목록 출력 |
-d | 디렉터리 자체의 정보 출력 | |
-i | 첫 번째 행에 inode 번호 출력 | |
-l | 파일의 상세 정보 출력 | |
-A | (.)와 (..)를 제외한 모든 파일 목록을 출력 | |
-F | 파일의 종류 표시(*: 실행파일, /:디렉터리, @:심볼릭 링크) | |
-L | 심볼릭 링크 파일의 경우 원본 파일의 정보를 출력 | |
-R | 하위 디렉터리의 목록까지 출력 | |
ls [옵션] [디렉터리 파일] |
mkdir | |
디렉터리 생성 | mkdir [옵션] [디렉터리] |
-p | 하위 디렉터리를 계층적으로 생성할 때 중간 단계 디렉터리 없으면 자동으로 중간 단계 디렉터리 생성 |
rmdir | |
디렉터리 삭제 | rmdir [옵션] [디렉터리] |
-p | 지정 디렉터리 삭제하고, 그 디렉터리의 부모 디렉터리가 빈 디렉터리 일 경우 부모 디렉터리도 자동 삭제 |
●파일 관련 명령
cat | |
파일 내용을 출력 | cat [옵션] [파일] |
-n | 행 번호를 붙여서 출력 |
more | |
파일 내용을 화면 단위로 출력 | more [옵션] [파일] |
+ 행 번호 | 출력을 시작할 행 번호를 지정 |
less | |
파일 내용을 화면 단위로 출력 | less [파일] |
tail 파일 뒷부분의 몇 행을 출력 |
+행 번호 | 지정한 행부터 끝까지 출력 |
-숫자 | 화면에 출력할 행의 수를 지정한다 | |
-f | 파일 출력을 종료하지 않고 주기적 출력 | |
tail [옵션] [파일] |
cp 파일이나 디렉터리를 복사 |
-i | 파일2가 이미 존재하면 덮어쓸 것인지 물어봄 |
-r | 디렉터리를 복사할 때 지정 | |
cp [옵션] [파일1 (디렉터리)] [파일2 (디렉터리)] |
mv | |
파일 또는 디렉터리를 이동하거나 이름을 바꿈 | mv [옵션] [파일1 (디렉터리1)] [파일2(디렉터리2)] |
-i | 파일2(디렉터리2)가 존재하면 덮어쓸 것인지 물어봄 |
rm | |
파일을 삭제 | rm [옵션] [파일 또는 디렉터리] |
-i | 파일을 정말 삭제할 것인지 확인 |
-r | 디렉터리를 삭제할 때 지정한다 |
●파일링크
파일 링크는 기존에 있는 파일에 새로운 이름을 붙이는 것
-리눅스에서 파일은 '파일명 + inode + 데이터 블록' 으로 구성
ln | |
파일의 링크를 생성 | ln [옵션] [원본파일] [링크파일] |
-s | 심볼릭 링크 파일을 생성 |
touch 빈 파일을 생성하거나 파일의 마지막 접근 시간 또는 수정 시간을 변경 |
-a | 접근 시간만 변경 |
-m | 수정 시간만 변경 | |
-t[[CC]YY]MMDDhhmm[.ss] | 시간을 직접 입력 | |
touch [-acm] [-r ref_file] | -t time] [ 파일] |
grep 지정한 패턴이 포함된 행을 찾는다 |
-i | 대문자, 소문자 모두 검색 |
-l | 지정한 패턴이 포함된 파일명 출력 | |
-n | 행 번호를 출력 | |
grep [옵션] [패턴] [파일] |
find 지정한 위치에서 검색 조건에 맞는 파일을 찾음 |
-name filename | 파일명으로 검색 |
-type 파일 종류 | 파일 종류로 검색 | |
-user loginID | 지정한 사용자가 소유한 모든 파일 검색 | |
-perm 접근권한 | 지정한 사용 권한과 일치하는 차일을 검색 | |
-exec 명령 {}\; | 검색된 파일에 명령을 실행 | |
-ok 명령 {}\; | 검색된 파일의 절대 경로명을 화면에 출력 | |
검색된 파일의 절대 경로명을 화면에 출력 | ||
-ls | 검색 결과를 긴 목록 형식으로 출력 | |
find [경로] [검색조건] [동작] |
●명령의 위치 찾기
whereis 지정된 경로에서 명령의 바이너리 파일이나 매뉴얼 파일의 위치 찾음 |
-b | 바이너리 파일만 검색 |
-m | 매뉴얼 파일만 검색 | |
-s | 소스 파일만 검색 | |
whereis [옵션] [파일] |
which | |
명령 파일의 위치를 찾아서 그 경로나 alias를 출력 | which [명령] |
'리눅스' 카테고리의 다른 글
LINUX (리눅스 웹서비스 설정/ su -root 와 sudo -i랑 같은가?/ufw enable 이란?/ timedatectl 이란?/ :433이란?/ 서브네팅 ) (6) | 2023.05.01 |
---|---|
LINUX (vi를 이용한 ~/.vimrc 파일 설정 / 필수 설치 패키지/ my sql설정/ 사용자 용량 제한 설정/ quota 설정) (0) | 2023.04.28 |
LINUX (vi/ vi 모드 전환 및 명령어/ 셸/ 셸 변수와 환경/ 환경 변수 설정/ Alias/ History) (0) | 2023.04.27 |
LINUX 0426 (0) | 2023.04.27 |
LINUX (운영체제/ 리눅스란?/ 명령어) (0) | 2023.04.24 |