ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • CLI - Directory, file 생성
    Programming/Git 2020. 10. 28. 23:23

    오늘은 Directory와 file을 생성하는 방법에 대해서 공부하도록 해요 :)

     

    오늘 공부할 4가지 주제 입니다.

     

    1. mkdir
    2. mkdir 주의할 점
    3. touch
    4. ls -al

     

    1. mkdir

     

    mkdir - make directories의 약자입니다. directory 즉, folder를 만드는 명령어입니다.

     

    man mkdir로 매뉴얼을 살펴볼게요.

     

     

    man mkdir를 입력한 화면

    매뉴얼은 시간이 있으시면 읽어보시는 걸 추천드립니다.

    SYNOPSIS 부분을 보시면 만드는 방법이 상세하게 적혀있습니다.

    []로 감싸진 부분은 넘어가 주시고 mkdir directoty name을 입력하면 dir를 생성할 수 있다고 나와있습니다.

     

    자! 그럼 이제 Home dir에서 folder01이라는 dic을 생성해 보겠습니다.

     

     

     

    mkdir foler01을 입력한 화면

    ls 명령어로 확인해보니 folder01이라는 dir가 생성됐습니다.

    어려운 게 없죠??


     

    2. mkdir 주의할 점

     

    Directory를 생성할 때는 주의할 점이 있습니다.

    바로 공백(space)입니다. 우리가 지금까지 사용했던 GUI에서는 folder를 생성할 때 공백을 이용해서 이름을 만들기도 했습니다.

    하지만 CLI에서는 공백을 사용하면 다음과 같은 상황이 발생합니다.

     

     

    mkdir Hello World를 입력한 화면

    우리가 원하는 한 개의 Hello World dir가 생성된 게 아니라 두 개의 Hello dir과 World dir이 생성됐습니다.

     

    그럼 단어를 구분하고 싶다면 어떻게 해야 할까요??

    이름을 지을 때 CamelCase를 사용하셔도 되고 _(underbar)를 이용한 snake_case를 사용하셔도 됩니다.

    두 번째 방법으로는 \(back slash)를 이용하는 방법입니다.

    escape sequence처럼 \과 공백을 사용하면 공백을 넣을 수 있습니다.

     

     

     mkdir HelloWorld와 mkdir Hello\ World를 입력한 화면 

    하지만 \를 이용한 방법은 사용하지 않는 것을 추천드립니다.

    정말 죽어도 공백을 사용하고 싶을 때만 사용해 주세요.


     

    3. touch

     

    touch 명령어는 file을 생성하고 생성시간을 수정하는 명령어입니다.

     

    file을 생성한다. mkdir이랑 비슷해 보이죠?? 하지만 차이점이 있습니다.

    mkdir은 Directory 즉 folder를 생성하고 touch는 file을 생성합니다.

    그럼 매뉴얼을 살펴보겠습니다.

     

     

    man touch를 입력한 화면

    설명에는 file의 access와 수정시간을 바꾼다고 나와있습니다.

    그리고 Description을 보면 만약 file이 없다면 default Permission으로 생성한다고 나와있습니다.

    Permission은 권한입니다. 이에 대해서는 따로 포스팅할 예정이니 권한이구나! 하고 넘어가 주세요 :)

    그럼 file을 생성해보겠습니다.

     

     

    touch file01을 입력한 화면

    우리가 만든 folder01 dir에 file01을 생성했습니다.

    그리고 ls로 확인해보니 아까 만든 Hello dir들과 file01이 같이 있는 것을 알 수 있습니다.

    그럼 여기서 사소한 문제가 있는걸 눈치채셨나요?

    어떤 게 file이고 어떤게 folder인지 구별하실 수 있나요??? 구별할 수 없죠??

    이제 구별하는 방법을 알아보겠습니다!


     

    4. ls -al

     

    ls -al 은 ls 명령어에 '-a'와 '-l' 두 가지가 결합된 명령어입니다.
    -a 는 숨겨진 dir, file을 표시하라는 명령어이고
    -l 은 dir, file을 자세히 표시하라는 명령어입니다.

    즉, ls -al은 List를 숨겨진 dir과 file까지 자세히 보여달라는 명령어입니다.

     

    ls의 매뉴얼을 다시 볼까요??

     

     

    man ls를 입력한 화면

    Description을 보시면 -a와 -l에 대한 설명이 나와있습니다.

     

    -a를 읽어보시면 dot(.)으로 시작하는 이름의 dir를 포함한다고 쓰여있습니다.

    그럼 .로 시작하는 dir을 생성해 보도록 하겠습니다.

     

     

     

    mkdir .HiddenFolder를 입력한 화면

     

    분명 mkdir .HiddenFolder을 입력해서 HiddenFolder를 생성했는데 보이지 않습니다.

    이름 앞에 .을 추가하면 보이지 않는 dir을 생성합니다.

     

    그럼 ls -al를 입력해보겠습니다.

    ls와 -al사이에 공백이 있어야 합니다.

     

     

    ls -al을 입력한 화면

    앞에 drwxr-xr-x와 같이 어렵게 보이는 말들이 막 적혀있습니다.😦

    너무 무서워하지 말고 천천히 살펴보면 예상이 가능한 것들이 몇 가지 보입니다. 

     

    제일 마지막에 적혀있는 것은 dir과 file의 이름을 나타냅니다. 우리가 만들었던 .HiddenFolder, Hello, file01이 보이시죠??

    그 앞에 숫자는 월 - 일 - 시간 인것을 알 수 있습니다.

    그리고 자세히 보시면 제일 앞에 drwxr에서  d가 있고 -가 있습니다.

    d는 Directoty를 나타내고 _은 file을 나타냅니다.

    그럼 이제 우리는 어느 것이 dir이고 어느것이 file인지 구별할 수 있죠??

    folder01 dir에서는 file01만 file입니다.

     

    그리고  mkdir .HiddenFolder로 생성한 보이지 않는 dir을 볼 수 있습니다.

     

    그럼 이제 시간에 주목해주세요.

    처음 touch를 설명할 때 modification time, 시간을 수정한다고 했었죠??

    다시 touch file01을 입력해보겠습니다.

     

     

    touch file01을 다시 입력한 화면

    /folder01 dir에는 file01이라는 file이 이미 존재하므로 새로운 file01 생성된 것이 아니라 생성 시간이 22:57 → 23:19으로 touch file01을 입력했을 때의 시간으로 변경되었습니다.

     

     

     

     

    728x90

    'Programming > Git' 카테고리의 다른 글

    Git - Commit Message Convention  (0) 2021.12.22
    CLI - cat 명령어  (0) 2020.11.20
    CLI - cd 명령어  (0) 2020.10.26
    CLI 알아보기  (0) 2020.10.23
Designed by Tistory.