0x0102
KDT - Linux 파일시스템 본문
리눅스 파일시스템
1. 리눅스 파일이란
리눅스에서는 모든 것이 파일로 이루어져 있으며, 폴더마저 파일로 분류된다.
파일을 다룸으로써 리눅스의 모든 것을 다룰 수 있다.
2. 디렉터리 구조
리눅스의 디렉터리는 모든 폴더 상위에 루트폴더 (/)가 존재한다.
윈도우에서는 c드라이브, d드라이브 등 두개 이상의 폴더 시작점을 갖는 반면 리눅스는 루트 디렉토리가 유일한 시작점이다.
3. 대표적인 디렉터리 역할
/bin
시스템 관련 중요 명령어들이 주로 저장되며 대부분의 명령어 실행파일이 이 곳에 배치된다.
/dev
디바이스 파일이 배치되는 디렉터리로 디스크, 키보드, 마우스 등 하드웨어를 제어할 수 있도록 돕는 특수 파일을 의미한다.
/etc
리눅스에서 사용하는 대부분의 설정파일이 배치되는 곳이며 애플리케이션 및 리눅스 자체 설정 파일들이 저장된다.
/home
각 사용자 계정명으로 생성되는 디렉터리로 해당 사용자의 개인적 파일이 저장되는 곳이다.
이 외에도 /sbin, /tmp, /usr, /var 등의 디렉터리가 존재한다.
4. 절대경로 vs 상대경로
절대경로 : 해당 요소의 모든 경로를 기입해 경로 지정 +:정확한 경로 지정 -:특정상황에서 불필요하게 긴 경로 기입
상대경로 : 현재 명령을 내리는 지점과 파일 위치를 감안하여 상대적으로 경로 지정 +:경로지정 간소화 -:파일의 위치나 명령을 내리는 지점이 바뀌는 경우 해석이 달라지기 때문에 함께 변경해야함
5. 디렉토리간 이동
$cd 이동할 디렉토리
change directory의 약자로 상대경로나 절대경로를 입력하여 경로를 바꿀 수 있다.
기본적으로 .은 현재 위치, ..은 직전 경로를 나타낸다.
cd 혹은 cd ~ 를 입력하여 home디렉토리로 쉽게 이동할 수 있다.
6. 와일드카드(*)
*은 0부터 무한대의 글자를 의미하며 ls a*의 경우 a로 시작하는 모든 파일을 조회하고 싶다는 의미이다.
?은 임의의 1글자를 의미하며 ls a?의 경우 a로 시작하는 두글자 파일을 조회한다.
7. ls 옵션들 (한 번에 여러 옵션 지정 가능)
ls : 파일 목록
ls -l : 상세조회로 파일의 권한과 생성시각등을 같이 보여준다.
ls -a : 전체조회로 숨겨진 파일(.으로 시작하는 파일)도 조회한다.
ls -t : 생성 날짜 내림차순으로 파일 목록을 조회한다.
ls -F : 파일의 종류를 조회한다. (대문자 필수)
+ ls 에서 확인했을 때 디렉터리 용도의 파일이면 /, 실행 가능 파일이라면 *, 심볼릭 링크라면 @가 붙는다.
8. 조회옵션에 파라미터 붙이기
ls -a / : 루트폴더 내의 모든 요소 조회
ls --quote-name : --quote라는 이름의 옵션을 사용하는데 파일이름에 따옴표를 붙인다.
9. 리눅스 파일 조작 명령어
폴더 생성 : $ mkdir 옵션 디렉터리명
+ mkdir -p test/2024/1/11 -> p태그를 추가하면 test,2024,1,10 네개의 폴더를 한 번에 만들 수 있다.
파일 생성 : $ touch 생성할 파일
파일 및 디렉터리 삭제 : $ rm 파일 , $rm -r 디렉터리 명 (디렉터리 및 디렉터리 하위 모든 것 삭제 주의)
+ rm -i 파일명 : 삭제할지 말지를 한 번 더 물어보고 삭제 진행
+ rmdir 디렉터리명 : 숨겨진 파일까지 모두 지워야만 삭제가능한 안전한 명령어
파일 내용물 출력 : $ cat 옵션 파일이름 (-n : 행 번호 출력 옵션)
스크롤 출력 : $ less 옵션 파일명
파일 디렉터리 복사 : $ cp 옵션 복사할 파일 복사할 위치
파일 옮기기 : $ mv 옵션 이동할 파일 목적지 (파일 이름을 바꾸는데 사용할 수도 있음)
+ mv file1 file2 -> file1 소멸, mv file1 dir1 -> 파일 이동 (파일명 2개를 주는 것이 아닌 파일명 - 폴더명 순으로 입력해야 의도한 이동 가능)
링크 만들기 : $ ln 옵션 링크할 파일 링크이름
-> 링크를 사용하는 이유 : 긴 절대경로를 별명으로 줄여서 사용하기 위해 / 버전이 여러개인 파일을 구분하기 위해
- 하드링크 vs 심볼릭 링크
하드링크 : 한 파일에 파일 이름 여러 개 부여. 삭제 시 rm 명령어로 별명 삭제. 나머지 하드링크는 역할 수행. ex) $ cp /etc/crontab file1 //크론탭을 현재 경로의 file1로 복사, ln file1 file2 // file1에 file2 별명 붙임, cat file2 // == file1 오픈
심볼릭링크 : 디렉터리는 하드링크로 지정할 수 없고 하드링크는 서로 다른 디스크에 걸쳐 만드는게 불가능하기 때문에 하드링크에 -s 옵션을 추가하여 심볼릭 링크 생성. ls -l로 조회가능하며 심볼릭 링크는 참조형 변수처럼 해당 파일의 위치만 갖고 있기 때문에 원본 삭제 시 기능 x
파일 찾기 : $ find 검색할디렉터리 검색조건 액션
ex) $ find . -name gittest.txt -print 의 경우 .은 경로가 현재 작업 폴더라는 의미이며, -name gittest.txt는 gittest.txt 파일을 찾아달라는 의미, -print는 경로를 콘솔에 찍어달라는 의미이다.
파일 내부 검색 : $ grep 찾는문자 경로ㅎ
+ -i 찾는문자 경로 : 대소구문자 구분 없이 검색 -v 안찾는문자 경로 : 해당 문자가 포함되지 않은 문장만 검색
-r --color 찾는문자열 경로 : -r은 해당 디렉토리 하위까지 다 검색하는 옵션 --color는 찾은 문자열을 강조해달라는 의미
사용법, 명령어 설명, 지정 가능한 옵션과 설명 : $ --help
온라인 메뉴얼 출력 : $ man
명령어 검색 : $ which (type과의 차이점은 which -a 명령어 형식으로 실행했을 때 명령어 전체의 경로를 보여줌)
'Study > System Engineer' 카테고리의 다른 글
KDT - Linux Text Editor (1) | 2024.01.15 |
---|---|
KDT - Linux 권한 (0) | 2024.01.12 |
KDT - java 다형성과 이종모음 (0) | 2024.01.10 |
KDT - Linux 셸 (1) | 2024.01.10 |
KDT - java 기본 타입과 참조타입 (1) | 2024.01.05 |