ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Linux/리눅스] 03. 파일 명령어 , 디렉토리 명령어 , 링크 명령어 , 하드 링크 , 소프트 링크
    Linux 2018. 12. 20. 12:52
    반응형

     

    Linux 파일 시스템 계층 구조


    파일 시스템 계층 구조


    Linux 시스템의 모든 파일
    :: 파일 시스템 계층 구조 , 반전된 단일 디렉토리 트리로 구성된 파일 시스템에 저장된다.

    루트가 최상단에 위치하고 디렉토리와
    하위 디렉토리의 분기는 하단으로 뻗어 나간다. ( 뒤집힌 나무 모양 )

     



    / 디렉토리는 파일 시스템 계층 구조의 최상단에 있는 루트 디렉토리이다.

    / 문자는 파일 이름에서 디렉토리 구분자로도 사용된다.



     위치

     목적

     /usr

     설치된 소프트웨어, 공유 라이브러리, 포함된 파일 및 

     정적 읽기 전용 프로그램 데이터 중요한 하위 디렉토리에는 다음이 포함된다.

     - /usr/bin   :   사용자 명령

     - /usr/sbin  :  시스템 관리 명령

     - /usr/local :   로컬 사용자 지정 소프트웨어

     /etc

     이 시스템 고유 구성 파일이다.

     /var

     재부팅 후에도 존재하는 이 시스템 고유 가변 데이터이다.

     동적으로 변경되는 파일은 /var 에 있을 수 있다.

     (예: DB, 캐시, 로그, 프린터, 웹 콘텐츠 등) 

     /run

     마지막 부팅 이후 시작된 프로세스의 런타임 데이터이다.

     프로세스 ID 파일, 잠금 파일 등

     재부팅하면 다시 생성된다.

     /home

     정규 사용자가 개인 데이터 및 구성 파일을 저장하는 홈 디렉토리이다.

     /root

     관리자 슈퍼유저 루트의 홈 디렉토리이다.

     /tmp

     임시 파일용 공간이다.

     10일 동안 액세스, 변경, 수정되지 않은 파일은 자동으로 삭제된다.

     다름 임시 데릭토리는 /var/tmp에 존재한다.

     30일 이상 액세스, 변경, 수정되지 않은 파일은 자동으로 삭제된다.

     /boot

     부팅 프로세스를 시작하는 데 필요한 파일이다.

     /dev

     하드웨어에 액세스 하기 위해 시스템이 사용하는 특수 장치 파일을 포함한다.





    명령줄 도구를 사용하여 파일 관리


    디렉토리 만들기


    mkdir 명령은 디렉토리를 만든다.
    파일 이름이 이미 존재하거나, 존재하지 않는 상위 디렉토리에 만들려는 경우에는 오류가 발생한다.


    mkdir -p 옵션을 사용할 경우 존재하지 않는 상위 디렉토리를 함께 만들지만,
    실수로 의도하지 않은 디렉토리를 만들수 있다.




    파일 복사


    cp 명령은 파일을 복사하여 똑같은 파일을 만든다.

    새 파일의 이름은 중복되면 안된다.

    만약 중복된다면 cp 명령으로 인해 기존 파일을 덮어쓰게 된다.


     


    여러 가지 파일을 복사할 때 마지막 인수는 디렉토리여야 한다.

    복사된 파일은 새 디렉토리에서도 원래 이름을 유지한다.

    만약 중복될 경우 덮어쓰기가 될 수도 있다.

    파일들이 들어있는 디렉토리를 복사하려면  -r 옵션이 필요하다. ( r  :  recursive )


     



    파일 이동


    1. mv 명령을 사용하여 같은 디렉토리의 파일 이름을 변경할수 있다.



    copyfile.txt 파일의 이름을 rename.txt 이라는 이름으로 변경하였다.



    2. 또는 파일 위치를 새 디렉토리로 옮긴다. 

       파일의 내용은 변경되지 않는다.



    pastefile.txt 파일을 MyMP3 디렉토리 안으로 이동시켰다.

    그리하여 Musics 디렉토리에는 MyMP3 디렉토리와 rename.txt. 파일만이 남게 되었고,

    기존에 존재했던 pastefile.txt 파일은 movefile.txt 이라는 이름으로 이동하면서 변경되었다.




    파일 및 디렉토리 제거


    rm은 기본적으로 디렉토리가 아닌 파일을 삭제한다.
    디렉토리 와 다양한 하위 디렉토리/파일을 삭제하려면 -r 옵션을 사용해야 한다.
    삭제 취소를 위한 Windows의 복원 가능한 휴지통 같은 기능은 없으니 조심해야 한다.

     

    MyMP3 디렉토리에 존재하는 3개의 파일 들을 삭제 하였다.
    ls 명령을 통해 삭제가 성공적으로 이루어진 것을 확인할 수 있다.

     







    rm 명령으로는 디렉토리를 제거할 수 없다.
    rm -r 명령을 통하여 디렉토리가 제거된 것을 확인할 수 있다.

    - rm -ri 명령을 통하여 삭제를 확인하는 대화형 메시지가 표시된다.
    - rm -rf 명령을 통하여 강제로 삭제를 수행할 수 있다.
    - rmdir 명령은 디렉토리가 비어 있는 경우에만 삭제할 수 있다.




     

    파일 링크 만들기


    LINK

     Hard Link             ( #  ln  file1  file2 )

     Soft Link              ( # ln  -s  file1  file2 )

     (= Symbolic Link)


    링크는 하드 링크와 심볼릭 링크라고 불리우는 소프트 링크가 있다.

    심볼릭 링크는 하드 링크의 단점을 보완한 Windows의 바로가기 아이콘이라고 생각한다면 이해하기 쉬울 것이다.


    심볼릭 링크의 장점으로는

    - 디렉토리 링크 가능하다.

    - 파일시스템 제한이 없다.




    하드 링크 만들기




    ln 명령은 하드 링크를 만든다.

    1. echo "  " 으로 > linkfile.txt 파일을 만든다.
    2. ln 명령으로 linkfile.txt 을 바라보는 hardlinkfile.txt 하드 링크를 만든다.
    3. rm 명령으로 원본 파일인 linkfile.txt 를 지워도 cat 명령으로 하드 링크 된 파일은 확인이 가능하다.

    새 하드 링크가 생성된 후에는 기존의 하드 링크 중 무엇이 원본인지 알 수 없게 된다.

    원본 파일이 삭제된 경우에도 하드 링크가 존재하는 한 그 파일의 내용을 확인할 수 있다.



    소프트 링크 만들기


     


    ln -s 명령은 심볼릭 링크라고도 불리는 소프트 링크를 만든다.

    소프트 링크는 일반 파일은 아니지만 기존 파일/디렉토리를 가리키는 특별한 유형의 파일이다.

    소프트 링크는 디렉토리를 가리킬 수 있다.

    소프트 링크가 가리키는 대상은 다른 파일 시스템일 수 도 있다.


     

    기존 파일이 삭제되면 소프트 링크는 여전히 삭제된 파일을 가리킨다.

    하지만 대상은 없는 것을 검은색 바탕으로 확인할 수 있다.

    Dangling Soft Link


     


    내용을 확인할 때 그런 파일이나 디렉토리가 없다는 것을 확인할 수 있다.

    반응형
Designed by Tistory.