공부/유닉스

[Unix] 유닉스 이론과 실습: 디렉토리 다루기 (1)

SOIT 2023. 5. 25. 14:24

0. 유닉스의 개요

  • 유닉스의 구조
    • 커널
    • 유틸리티
  • 요약
    • 유닉스는 크게 커널, 셸, 유틸리티 등 세 부분으로 구성됨
      • 커널: 유닉스의 핵심 기능으로 프로세스 관리, 메모리 관리, 파일 시스템 관리, 장치 관리 등 컴퓨터의 모든 자원을 관리
      • : 사용자 인터페이스 제공, 사용자와 커널 사이의 중간자 역할을 담당하여 사용자가 입력한 명령을 해석한 후 커널에 넘겨주고, 결과를 받아 화면으로 출력, 본 셸(sh)/콘 셸(ksh)/ 배시 셸(bash) 등이 있음
      • 유틸리티: 각종 프로그래밍 개발 도구, 네트워크 도구 등 다양한 유틸리티를 제공

 

  • 기초 명령 사용법
    • 3개 중 1개)
      • banner 명령
      • date 명령
      • clear 명령
      • man 명령
    • 요약
      • banner: 문자열을 큰 문자로 출력
      • date: 현재 날짜와 시간 출력
      • clear: 화면을 깨끗이 지워줌
      • man: 명령에 대한 자세한 설명 출력

  • 비밀번호 변경
  • passwd 명령
    • passwd
      • 기능: 사용자 계정 비밀번호 변경
      • 형식: passwd [인자]
      • 특징
        • 8자 이상, 숫자, 특수문자 포함

1. 디렉토리 다루기

  • 경로명/경로
    • 유닉스 파일 시스템에서 딕렉토리 계층 구조에 있는 특정 파일이나 디렉토리의위치를 나타내는 것
    • 특징
      • 디렉토리와 디렉토리, 또는 디렉토리와 파일을 구별하는 구별자로 “/ “를 사용
      • 루트 디렉토리: 경로 앞에 있는 “/”
      • 구별자: 경로 중간에 나오는 “/”
    • 종류
      • 절대경로
      • 상대경로

  • 절대 경로와 상대 경로
    • 절대 경로
      • “/”로 시작
      • 특정 파일 가리키는 경로는 항상 동일
    • 상대 경로
      • 현재 디렉토리부터 시작
        • 하위: 디렉토리 이름
        • 상위: “. .”을 추가
      • 현재 디렉토리에 따라 달라짐
  • 예시

 

  • Unix
    • 절대 경로: /home/user1/Unix
    • 상대 경로: Unix
  • report
    • 절대 경로: /home/user1/Unix/report
    • 상대 경로: Unix/report
  • home
    • 절대 경로: /home
    • 상대경로: . .
  • /
    • 절대 경로: /
    • 상대경로: . ./. .

  • 현재 디렉토리 확인
    • pwd
      • 기능: 현재 위치를 확인, 현재 디렉토리의 절대 경로를 출력
      • 형식: pwd
      • 결과: export/home/user1

  • 디렉토리 이동
    • cd
      • 형식: 현재 디렉토리를 변경, 현재 작업 디렉토리를 지정한 디렉토리로 이동
      • 기능: cd [디렉토리명]
        • 옵션
          • 절대 경로
          • 상대 경로
      • 결과
        • 절대경로 지정: cd /tmp
        • 상대경로 지정: ../etc
  • cd를 이용하여 홈 디렉토리로 이동 4가지
    • 결과
      1. 절대 경로: cd/export/home/user1
      2. 상대 경로: cd ../export/homr/user1
      3. 특수 기호 ~ 사용: cd ~
      4. 지정 안 함: cd

  • 디렉토리의 파일 목록 확인
    • ls
      • 기능: 디렉토리의 내용을 출력
      • 형식: ls [옵션] [파일/디렉토리명]
      • 옵션 (-)
        • a : 숨긴 파일 포함한 모든 파일
        • d : 지정한 디렉토리 자체 정보
        • i : 첫 번째 행에 inode 번호
        • l : 파일의 상세 정보
        • u : 파일, 디렉토리 이름을 최종 접근 시간 순으로 화면에 출력
        • F : 파일의 종류 표시 (*****: 실행 파일, /: 디렉토리, @: 심볼릭 링크)
        • R : 하위 디렉토리 목록까지 출력
        • L : 심볼릭 링크 파일의 경우, 원본 파일의 정보 풀력
        • A : . 과 .. 을 제외한 모든 파일 목록
      • 옵션 같이 쓰기 가능
        • - al
        • - dl
        • - il
  • 예시
    • tmp 파일의 숨긴 파일을 포함해 모든 파일 목록의 상세 정보를 출력
      • ls -al /tmp
    • 현재 디렉토리 확인
      • ls
      • ls -a
    • 지정한 디렉토리 확인
      1. 루트 디렉토리 파일 목록 확인
        • ls /
      2. 루트 디렉토리 파일 종류 확인
        • ls -F
    • 파일 정보 확인
      • ls .bashrc
        • 디렉토리 이름 대신 파일의 이름을 지정하면 해당 파일의 정보 알 수 있음
        • 옵션 없이→ 지정한 파일 존재 여부 확인
        • 결과
          • ls .bashrc
            • .bashrc
          • ls test
            • No such file or directory(파일/디렉토리 존재하지 않음)

 

  • 주요 옵션
    • l (long) 옵션
    • d (dir) 옵션

 

  1. l (long) 옵션
    • 파일 종류
      • - : 일반 파일
      • d : 디렉토리 파일
      • l : 심볼릭 링크 파일
      • b : 블록 단위로 읽고 쓰는 블록 장치 특수 파일
      • c : 섹터 단위로 읽고 쓰는 문자 장치 특수 파일
      • p : 파이프, 프로세스 간 통신에 사용되는 특수 파일
      • s : 소켓. 네트워크 통신에 사용되는 특수 파일
  2. d (dir) 옵션
    • /export 디렉토리의 마지막 수정 시간을 알고 싶은 경우는?
      • ls -ld /export
    • 상세정보(l) + 디렉토리(d)
      • l: 상세 정보 출력, 마지막 수정시간 포함
      • d: 자체 정보 확인 (파일/디렉토리 존재 확인)
        • ls [파일명]
        • ls -d [디렉토리명]

 

  • 파일 상세 정보 보는 법
    • drwxr-xr-x 3 root sys 3 Jul 20 09:27 export
필드 값 필드 의미
d 파일 종류
rwxr-xr-x 파일 접근 권한 - 파일의 소유자, 그룹, 기타 사용자 - 읽고/수정하고/실행할 수 있는 권한 보여줌
3 하드 링크 수
root 파일 소유자
sys 파일이 속한 그룹
3 파일 크기(바이트 단위)
Jul 20 09:27 파일이 마지막으로 수정된 시간
export 파일 이름

  • 디렉토리 생성
    • mkdir
      • 특징
        • 계층적/새로운 디렉토리 생성
      • 기능
        • 디렉토리 생성
      • 형식
        • mkdir [옵션] 디렉토리명
      • 옵션
        • -p
          • 디렉토리 생성에 필요한 하위 디렉토리 함께 생성
          • 하위 디렉토리를 계층적으로 생성할 때 중간의 디렉토리가 없으면, 생성하면서 전체 디렉토리를 생성
    • 예시
      • 현재 디렉토리에서 Unix 디렉토리 생성 후 하위 디렉토리로 ch2 디렉토리 생성
        • 상대 경로
          • mkdir Unix/ch2
        • 절대 경로
          • mkdir /export/home/user1/Unix/ch2
        • 생성 후 확인 명령어
          • ls -l Unix/ch2
            • drwxr-xr-x 2 user1 staff 2 Apr 12 21:08 ch2
            • 생성됨을 확인
    • 생성
      1. 디렉토리 여러개를 동시에 생성
        • mkdir Test dir test
      2. 중간 디렉토리 자동 생성
        • -p 옵션을 사용
          • temp 디렉토리 아래 work 디렉토리 아래 prog 디렉토리 만들기
            • 오류
              • mkdir temp/work/prog
                • NO such file or directory
            • 옵션 사용
              • mkdir -p temp/work/prog
                • 성공 후 모든 하위 디렉토리 파일 목록의 상세 정보 확인(상위 디렉토리명으로 확인 가능)
                  • ls -lR temp
    • 실습
      1. 실습용 디렉토리 만들기(Practice): 현재 위치를 확인한 후(현재 작업 디렉토리의 절대 경로 출력) ch2 디렉토리 아래에 Practice 디렉토리를 생성
        • pwd
        • mkdir ch2/Practice
      2. 현재 위치 이동하기: 실습용 디렉토리로 이동한 다음 모든 파일의 상세 목록을 확인한다
        • cd Practice
        • ls -al
      3. 실습용 디렉토리 만들기: Temp 디렉토리 생성
        • mkdir Temp
        • ls -F
      4. 디렉토리 상세 정보 보기: Temp 디렉토리 자체에 대한 상세 정보 확인
        • ls -ld /Temp
      5. 디렉토리 위치 변경하기: 실습 디렉토리에서 빠져나가기
        • cd ..

  • 디렉토리 삭제
    • rmdir
      • 기능: 디렉토리 삭제
      • 형식: rmdir [옵션] 디렉토리명
      • 옵션
        • -p
          • 지정한 디렉토리를 삭제한 뒤, 그 디렉토리가 빈 디렉토리일 경우 부모 디렉토리도 자동으로 삭제
    • 특징
      • 디렉토리가 반드시 비어져야 삭제 가능
        • 하위 디렉토리가 있을 경우 rmdir로 해당 디렉토리 삭제 불가능
          • rm 명령어(3장)
            • 디렉토리와 내용물 한 번에 삭제 가능
      • 명령 다음에 공백 문자 구분되는 이름 있을 경우 각각을 다른 디렉토리로 인식
        • rmdir temp/work/prog test
    • 예시
      • rmdir Temp
728x90