
1. 리눅스 파일과 디렉터리
- 리눅스 = 시스템 관련 정보와 장치를 관리하기 위해 파일을 사용함
(1) 리눅스 파일
- 리눅스는 파일을 효과적으로 관리하기 위해 디렉터리를 사용함
- 파일 : 관련있는 정보들의 집합
- 디렉터리는 폴더처럼 계층구조를 가지고 있음
- 리눅스는 전체 파일을 용도에 따라 계층적인 디렉터리로 구분하여 관리함
- 일반 파일 : 데이터 저장, 텍스트/실행/이미지 등 리눅스에서 사용하는 대다수 파일
- 디렉터리 : 해당 디렉터리에 저장된 파일이나 서브 디렉터리에 대한 정보가 저장됨
- 심볼릭 링크 : 원본 파일을 대신하도록 원본 파일을 다른 파일명으로 지정한 것 (보통 @표시가 되어있음)
- 장치 파일 : 리눅스 시스템에 부착된 장치들을 관리하기 위한 특수 파일
- file 명령 : 파일 종류를 확인하는 명령
| -- /home에 있는 .bash_pro와 다운로드 종류 알아보기 -- .어쩌고 써있는건 숨긴 파일임 file .bash_pro ASCII text << text 파일이라는 뜻 file 다운로드 다운로드 : directory |
(2) 리눅스 디렉터리
- 트리구조 : 파일을 효율적으로 관리하기 위해 디렉터리를 계층적으로 구성함
- 하부 디렉터리로 나뉘고 각 디렉터리에 파일이 저장됨
- 리눅스에서도 모든 디렉터리의 출발점을 루트(Root) 디렉터리라고 하며 '/'로 표시됨
- 최상단에 root 디렉터리('/')가 있음
- 디렉터리 아래에 있는 디렉터리를 서브 디렉터리 또는 하위 디렉토리라고 함
- 서브 디렉터리 입장에서 보면 자신을 포함하고 있는 디렉터리를 상위 디렉터리 혹은 부모 디렉터리라고 함
- 상위 디렉터리는 '..'로 표시하고 '.'는 현재 디렉터리를 말함
- root 디렉터리는 유일하게 부모 디렉터리가 없는 디렉터리임
| ls -F |
- 디렉터리 이름의 끝에 붙은 /는 해당 파일이 디렉터리임을, @은 심볼릭 링크임을 뜻함
- lib, sbin, bin, lib64는 디렉터리가 아니라 심볼릭 링크임
- dev : 장치 파일이 담긴 디렉터리
- home : 사용자 홈 디렉터리
- media : DVD나 CD, USB와 같은 외부 장치를 마운트(연결)하는 디렉터리
- opt : 추가 패키지가 설치되는 디렉터리
- root : root 계정의 홈 디렉터리, / 디렉터리와 다른 것
- sys : 리눅스 커널과 관련된 파일이 있는 디렉터리
- usr : Unix System Resource의 약자로 기본 실행 파일과 라이브러리, 헤더 파일 등 많은 파일을 가지고 있음
- boot : 부팅에 필요한 커널 파일을 가진 디렉터리
- etc : 리눅스 설정을 위한 각종 파일을 가진 디렉터리
- lost+found : 보통은 비어있는 디렉터리, 파일 시스템에 문제가 발생되어 복구할 경우, 문제가 되는 파일이 저장되는 디렉터리
- mnt : 파일 시스템을 임시로 마운트 하는 디렉터리
- proc : 프로세스 정보 등 커널 관련 정보가 저장되는 디렉터리
- run : 실행 중인 서비스와 관련된 파일이 저장됨
- srv : FTP와 Web등 시스템에서 제공하는 서비스의 데이터가 저장됨
- tmp : 시스템 사용 중에 발생하는 임시 데이터가 저장됨, 시스템을 재시작하면 이 디렉터리에 있는 파일은 모두 삭제됨
- var : 시스템 운영 중에 발생하는 데이터나 로그 등 내용이 자주 바뀌는 파일이 주로 저장됨
- 작업 디렉터리 : 현재 디렉터리 (pwd)
- 홈 디렉터리 : 각 사용자에게 할당된 디렉터리, 처음 사용자 계정을 만들 때 지정함, 사용자는 자신의 홈 디렉터리 아래 파일이나 서브 디렉터리를 생성하여 작업, 홈 디렉터리는 '~'로 표시됨, cd ~ 홈 디렉터리로 이동
- 경로명 : 디렉터니는 계층 구조에 있는 특정 파일이나 디렉터리의 위치를 나타내는 것
- 절대 경로 : /로 시작, 루트 디렉토리에서 원하는 디렉토리까지 모든 디렉토리명을 명시
- 상대 경로 : /외의 문자로 시작, 현재 경로에서 찾아가는 것, 현재 경로가 root의 3~4번째 서브 디렉터리라도 하위 디렉터리가 원하는 경로라면 그 폴더명만 cd 하면됨
(3) 디렉터리 이름과 규칙
- 파일과 디렉터리 이름은 255자까지 가능
- 파일과 디렉터리 이름의 영문은 대문자와 소문자를 구별하여 다른 글자로 취급함
- 파일과 디렉터리 이름이 '.'로 시작하면 숨김 파일로 간주함
- 파일과 디렉터리 이름으로 모든 ASCII 문자를 사용할 수 있음
- 혼란을 줄 수 있으므로 '/'와 특수문자는 삼가기
2. 디렉터리 관리 명령
(1) 디렉터리 확인과 이동
- pwd : 현재 디렉터리 위치 확인, 현재 디렉터리의 절대 경로를 출력
- cd : 지정한 디렉터리로 이동함
* 디렉터리에서 다른 디렉터리로 이동할 때는 cd 명령을 사용
* cd 명령과 함께 이동하고자 하는 목적지를 지정하면 이동함
* 이동할 디렉터리의 경로명으로 절대 경로명과 상대 경로명 둘 다 사용 가능
* 상위 디렉터리 이동 시 cd .. 현재 경로 출력 cd .
| cd /tmp pwd >> /tmp cd ../usr/lib pwd >> /usr/lib cd ../../home/user1 pwd >> /home/user1 cd ~ pwd >> /home |
- ls 명령 : 디렉터리에 있는 파일이나 서브 디렉터리 등 디렉터리 내용을 보는 명령
* 다양한 옵션 제공, 옵션 연결 시 -뒤에 나열
-a : 숨긴 파일 포함 모두 출력, '.', '..'도 표현됨
-l : 파일의 상세 정보 출력 (-일반, d디렉터리, l심볼릭링크, b블록장치, c문자장치, p파이프, s소켓), 숫자는 하드 링크 개수임
-i : 첫번째 행에 inode 번호 출력
-d : 디렉터리 자체의 정보를 출력
-F : 파일의 종류 표시 (*:실행파일, /:디렉터리, @:심볼릭링크, 표시없음:일반파일)
-A : '.'와 '..'를 제외한 모든 파일 목록을 출력
-L : 심볼릭 링크 파일의 경우 원본 파일 정보 출력
-R : 서브 디렉터리 목록까지 출력
dir, vidr : 디렉터리의 내용을 보여줌 -l과 비슷
(2) 디렉터리 생성과 삭제
- 홈 디렉터리와 쓰기 권한이 있는 디렉터리에 사용자의 필요에 따라 디렉터리를 생성할 수 있음
- mkdir : 디렉터리 생성
- mkdir dir1 dir2 dir3 도 가능
- 옵션 -p : 서브 디렉터리를 계층적으로 생성할 때 중간 단계의 디렉터리가 없으면 자동으로 중간 단계 디렉터리를 생성한 뒤 지정한 디렉터리를 생성함
- mkdir /temp/mid/dir1 << 에러 발생 '그런 파일이나 디렉터리가 없습니다'
mkdir -p /temp/mid/dir1
- rmdir : 디렉터리를 삭제함
- 옵션 -p 지정한 디렉터리와 부모 디렉터리가 빈 경우 부모 디렉터리도 자동 삭제함
- rmdir을 할 때는 해당 디렉터리가 비어있어야 함, 남아있을 경우 에러 출력
- rmdir dir1 dir2 dir3 가능
3. 파일 관리 명령
(1) 파일 내용 출력
ⓐ cat : 파일 내용을 연속으로 출력
- 옵션 -n : 행번호를 붙여서 출력
ⓑ more : 파일 내용을 화면 단위로 출력
- 파일 내용을 연속 출력 시 내용이 많으면 스크롤되어 내용 확인이 어려움
- 화면 단위로 파일 내용을 출력해주는 more 명령어 사용
- 옵션 +행번호 : 출력을 시작할 행 번호를 지정함
ⓒ less : 파일 내용을 화면 단위로 출력
- more 명령은 스크롤되어 지나간 명령을 다시 볼 수 없음
- less 명령을 사용하면 파일 내용을 앞, 뒤로 스크롤하며 이동할 수 있음
- 방향키 : j 아래, k 위, spacebar/CTRL+f 다음화면 이동, spacebar/CTRL+k 이전화면 이동
ⓓ tail : 파일 내용의 뒷 부분을 출력함
- 기본값이 10
- 옵션 : +행번호(지정한 행부터 끝까지)
-f(출력을 종료하지 않고 주기적으로 출력)
-숫자(화면에 출력할 행의 수 지정)
(2) 파일 복사
- cp : 파일이나 디렉터리를 복사함
- 옵션 -i : 파일 2가 이미 존재하면 덮어쓸 것을 물어봄
-r : 디렉터리를 복사할 때 지정
- 두 인자가 모두 파일인 경우 : 원본 파일을 다른 파일로 복사함
> 두번째 인자로 지정한 파일이 존재하지 않은다면, 원본 파일을 복사해서 새로 만듬
- 두 번째 인자가 디렉터리인 경우 : 파일을 해당 디렉터리 아래에 복사함
> 파일을 복사하면서 파일명을 원본 파일과 다르게 지정하면 새로운 파일명으로 복사됨
- 두번째 인자가 디렉터리인 경우 : 파일을 다른 디렉터리에 복사할 경우 해당 디렉터리에 복사 권한이 있어야 함
- 인자를 여러개 지정할 경우 : cp 명령에서 첫번째 자리에 파일을 여러개 지정하고 마지막 인자를 디렉터리로 설정하면
여러 파일이 해당 디렉터리에 한번에 여러개 복사됨
'컴퓨터공학부' 카테고리의 다른 글
| [차크라 명상] 명상을 위한 좌법 익히기 (0) | 2026.03.31 |
|---|---|
| [문제 해결 알고리즘] 분할 정복 알고리즘 ① (0) | 2026.03.30 |
| [SQLD/SQLP] 6. Optimizer Hint (0) | 2026.03.28 |
| [문제 해결 알고리즘] 알고리즘의 개요 및 복잡도 (0) | 2026.03.27 |
| [자료구조] 리스트와 집합 (0) | 2026.03.26 |