쌓고 쌓다
[Linux] 파일 시스템 본문
리눅스에서 디렉토리 구분은 /(슬래시), 윈도우에서는 (역슬래시)
리눅스의 디렉토리는 윈도우에서 폴더 개념이다.
리눅스의 최상위 디렉토리는 / 이다.
그 아래 다양한 디렉토리 들이 있다.
/bin : 기본 명령어
/sbin : 부팅관련 명령어
/etc : 환경설정 파일
/usr : 명령어, 시스템 프로그램, 라이브러리 루틴
/kernel : 커널 이미지
/dev : 디바이스 파일
/home : 사용자 홈디렉토리
/export : NFS 마운트
/lib 라이브러리
/var : 메일, 로그 스풀링, 웹서비스
/tmp : 임시파일
/proc : 시스템 정보를 저장하는 가상 파일 시스템
/lost+found : 훼손된 파일 장소
/cdrom : cdrom
/mnt : 외부 장치 마운트
Partition
"sd" : interface type
"a" : sequence of disk
"1", "3", "5" : sequence of partition
Mount command
: 파일 시스템을 디렉토리에 연결
Mount [-option] [device-name mount-point]
옵션
- -a : /etc/fstab에 명시된 파일 시스템을 마운트할 때
- -t : 파일 시스템의 유형을 지정하는 옵션 ( 지정하지 않을시 /etc/fstab 파일을 참조 ) ex) Ext3, ext4, f2fs, btrfs
- -l : 현재 디스크의 파티션 정보를 출력합니다.
- -> mount -t <파일 시스템 타입> <장치 파일> <마운트 포인트>
- mount -t iso9660 /dev/cdrom /mnt/cdrom
- mount -t ext4 /dev/sdb /home/dltmdals6718/test
- mount -l
- 마운트 포인트는 임의의 디렉토리여야 함
- 반드시 포맷(파일 시스템 생성)후 사용
USB를 꼽으면 내 컴퓨터 폴더에 자동으로 연결되고
외장하드를 꼽아도 :E 이런식으로 폴더가 만들어진다.
이렇게 디스크와 같은 물리적인 장치를 특정 디렉토리에 연결시켜주는것을 마운트라고 한다.
윈도우는 자동으로 해준다...ㅠ
마운트 과정
- sudo mkfs.ext4 /dev/sdb
- mkdir /home/dltmdals6718/newdisk
- sudo mount -t ext4 /dev/sdb /home/dltmdals6718/newdisk
- mount -l ( 현재 정보 출력 )
fdisk command
fdisk [-option] [device-name]
- 디스크의 파티션을 설정할때 필요하다.
- 이것은 시스템 administrator (root)의 허가가 필요하다.
- -l : 디스크 정보를 보여준다
- fdisk /dev/sdb ( m: show help page, n: add a new partiton, w: write table to disk and exit )
mkfs command
: 파티션한 것을 포맷할 때 사용한다. ( ext3, ext4, and F2F2이런 형식으로 )
- root를 사용함 ( sudo )
- mkfs.[파일 시스템] [옵션] [디스크 파티션]
- sudo mkfs.ext4 /dev/sdb
- mkfs는 make file system의 약자
unmount command
: mount 한것을 해제할 때 사용
- unmount /dev/sda1 (device name)
- unmount /mnt/ssd (mount point)
Command-line prompt
Prompt (프롬프트) : 컴퓨터가 입력을 받을 준비가 되어있다는것을 알려주는 것.
- echo $PS1 : 현재 사용중인 쉘을 확인한다.
- 기본 PS1 형식 : \u@\h:\w\$
- \u : 사용자명을 표시한다.
- \h : 시스템 호스트 (서버의호스트)를 표시한다.
- \w : 현재 디렉토리를 표시한다.
- \$ : 루트이면 #, 일반 사용자면 $를 표시한다.
pwd command ( printing working directory )
: 현재 어떤 디렉토리에 있는가 절대경로로 표시한다.
pwd
- ~ : Home directory
통로 찾기
cd command
: 현재 디렉토리를 변경해준다.
cd [directory]
- cd /home/jean/source
- cd . : 현재 디렉토리로 이동(아무동작X)
- cd .. : 부모(상위) 디렉토리로 이동
- cd /home/jean
- cd ../joseph
디렉토리 생성과 삭제
mkdir command
: 새 디렉토리를 만들때 사용 ( 일반파일은 touch command )
mkdir [-option] [directory]
- mkdir test
- mkdir test1 test2 test3 ( 한번에 여러개 가능 )
- mkdir -p/home/dltmdals6718/mid/test ( mid 폴더가 없을경우 자동으로 만들어주게함)
- -p : middle 디렉토리를 자동으로 만들어준다. (없을경우)
rmdir command
: 비어있는 디렉토리를 삭제한다.
rmdir [-option] [directory]
- rm -r : 파일이 들어있는 디렉토리를 삭제할때 사용 ( 사용에 주의 )
파일 생성, 복사, 삭제
touch command ( 파일 생성 )
- cat >, >> 명령 또한 파일 생성하는것임
- touch abc.txt : abc.txt 파일 생성
- cat /proc/meminfo > mem.txt
cat file(s) > file2 : 파일 여러개를 합쳐 큰 파일을 만들때 사용
cat file file2 file3 > file4 : 파일을 합쳐 4를 만드는것??
cat file1 엔터후 내용 입력후 Ctrl + d 눌러 저장
cat file : 그 파일의 내용을 출력한다.
cat >> file : 그 파일의 내용을 뒤 이어서 작성
cp command ( 파일 복사 )
cp [-option] source destination
- cp file1 file2 : file1을 복사해 file2를 만든다.
- cp file1 dir1/ : file1을 디렉토리 안에 복사한다.
- -r : 디렉토리 전체를 ( 폴더가 안비었을때 ) 복사할때 사용한다. (recursive)
- cp -r dir1/ dir2/
rm command ( 파일, 디렉토리 삭제 )
rm [-option] filename
- rm file1.txt : file1.txt 파일을 삭제한다.
- rm -r dir1/ : dir1 디렉토리를 삭제한다. ( rmdir과 달리 파일이 있어도 삭제해버림)
List directory contents
ls command
: 디렉토리에 있는 내용(디렉토리, 내용, 이름) 등을 확인한다.
ls [-option] [directory or filename]
- -l : 파일과 디렉토리에 대해 자세한 정보를 보여준다.
- -a : 숨겨진 파일이나 디렉토리도 보여준다.
- -i : 파일의 인덱스 값을 보여준다.
- -al : 숨김파일을 포함하여 목록 자세히 출력 (자주쓴다, 옵션을 여러개 묶기 가능)
ls -al로 보여지는 목록에 포함된 내용들
File Type
- d : 디렉토리를 뜻함
- - : 보통의 평범한 파일을 뜻함
Permissions
- r : read
- w : write
- x : execute
Number of links
Owner name
Group name
Size
Late modified time 과 날짜
디렉토리 또는 파일 이름
네모친 순서대로
파일 타입, 권한, 링크, Owner name, Group name, 크기, 마지막 수정 날짜, 디렉토리 또는 파일이름 입니다.
와일드 카드 ( * / ? )
- lst *.txt : txt파일 모두 찾음
- ls list? : list와 한글자가 더 포함된 것을 찾음
'프로그래밍 > 리눅스' 카테고리의 다른 글
[Linux] uniq 명령어 (0) | 2022.04.06 |
---|---|
[Linux] 파일 조작 (0) | 2022.04.05 |
[Linux] 리다이렉션 ( Redirection ) (0) | 2022.04.05 |
[Linux]Vi 에디터 (0) | 2022.03.22 |
[Linux] 파일 권한 (0) | 2022.03.15 |