CLI 기본 명령어 정리

박하린·2025년 4월 9일

🍥 CLI(Comand-Line Interface)

CLI는 가상 터미널 또는 터미널을 통해 사용자와 컴퓨터가 상호작용을 하는 방식을 뜻한다. 글자를 이용해서 컴퓨터에 명령을 내리는 형식이다.


CLI 기본 명령어

🌟 pwd(print working directory)

터미널의 현재 위치를 알려주는 명령어, 현재 작업중인 디렉토리의 절대 경로를 출력

pwd

디렉토리는 컴퓨터에서 파일을 분류하기 위해 사용하는 공간으로 폴더와 같은 역할이다.

🌟ls

list의 약자, 특정 디렉토리의 포함된 파일이나 하위 디렉토리 리스트를 출력

ls [-옵션]

💫ls명령어의 옵션

  • ls -a : 숨겨진 파일이나 디렉토리를 포함한 모든 리스트를 출력
  • ls -l : 리스트에 자세한 내용까지 포함하여 출력권한, 하위 파일 수, 크기, 수정일 등
  • ls -R : 하위 디렉토리의 리스트까지 출력
  • ls -r : 리스트를 내림차순으로 정렬하여 출력
  • ls -h : 파일 크기를 편리하게 나타내어 출력
  • ls -S : 리스트를 파일 크기 순으로 정렬하여 출력

옵션을 두 개 이상 조합하여 사용할 수 있으며 옵션의 순서는 영향을 끼치지 않는다.

🌟cd(change directory)

cd [파일명]
  • 마우스와 아이콘이 없는 CLI에서 dir와 dir를 이동하는 명령어이다.

ex) Download라는 폴더로 이동하려면 cd Download라는 명령어를 사용하면 된다.

cd ~
  • '~'는 home directory를 뜻하며 cd와 ~사이를 띄워서 입력해야한다.
  • 터미널의 어디에서든 cd ~를 사용하면 home dir로 이동할 수 있다.
  • cd ~는 cd만 입력해도 정상적으로 실행된다.
cd ..
  • '..'은 parent directory를 뜻하며, parent dir은 상위 dir이다.
  • 최상위 dir인 root dir에서는 cd .. 명령어를 입력해도 위치가 바뀌지 않는다.

💫 cd 명령어

  • cd / 명령어는 root directory로 이동한다.
  • cd .은 현재 dir로 이동하는 명령어이며, file이나 dir을 복사할 때 유용하게 사용된다.
  • cd 명령어 뒤에 파일의 주소를 복사하여 이동하는 것도 가능하다.

🌟mkdir(make directory)

디렉토리를 만들 때 사용하는 명령어이다.

mkdr [폴더명, 경로]

💫옵션

  • 디렉토리 안에 디렉토리를 추가하려면 -p 옵션을 사용한다.
  • 디렉토리에 권한을 추가하려면 -m 옵션을 사용한다.
  • 디렉토리를 생성할 때 메세지를 출력하려면 -v 옵션을 사용한다.

🌟 touch

touch [파일명]

새로운 파일을 생성할 수 있으며, 이미 해당 파일명의 파일이 존재할 경우엔 해당 파일의 액세스 시간과 수정 시간을 현재 시간으로 수정한다.

🌟파일이 존재하지 않을 경우 경고 표시

touch -c [파일명]

-c 옵션을 사용할 경우엔, 파일이 존재하지 않을 경우 새 파일을 생성하지 않고 경고를 출력한다. 파일을 업데이트 하고 싶을 경우에 사용한다.

💫특정 날짜와 시간으로 수정

touch -t [[CC]YY]MMDDhhmm [파일명]

특정 날짜와 시간으로 파일을 수정할 수 있다.

💫여러 개의 파일 생성

touch [파일명1] [파일명2] [파일명3]

🌟mv

mv [파일명] [폴더명/파일명]
mv [파일명] [변경될 파일명]

파일이나 디렉토리의 위치를 옮기거나 이름을 바꿀 때 사용한다.
mv 명령어는 복사가 아니기 때문에 원본 파일은 사라지고 새 위치에서만 존재하게 되며, 이름을 바꾸는 것도 현재의 위치로 옮기는 것으로 처리된다.

💫 옵션

  • -i : 같은 이름의 파일이 있으면 덮어쓸지 물어본다.
  • -f : 강제로 덮어쓰기를 진행한다.
  • -n : 기존 파일이 있으면 덮어쓰지 않는다.
  • -v : 무슨 일이 일어나는지 자세히 보여준다. (verbose 모드)

🐱cat(concatenate)

cat [옵션] [파일명]

파일 내용을 출력하거나, 여러 파일을 이어붙일 때 사용하는 명령어이다.

1. 여러 파일 이어보기

cat test1.txt test2.txt

test1.txt파일과 test2.txt파일을 이어서 보여준다.

2. 파일 합치기

cat test1.txt > test2.txt

두 파일을 합쳐서 test2.txt로 보여준다. 대신 기존의 test1.txt파일은 사라진다.

🐾 옵션

  • -n : 출력되는 줄마다 번호를 붙여준다.
  • -b : 비어있지 않은 줄에만 번호를 붙여준다.
  • -E : 줄 끝에 $를 표시해서 줄바꿈을 확인할 수 있다.
  • -T : tab을 ^I로 변환해서 보여준다.

cat은 작은 텍스트 파일을 확인할 때 좋지만, 큰 파일은 빨리 지나가기 때문에 확인하기 힘들다. 이럴 때는 less나 more명령어와 함께 사용하는 것이 좋다.

💾 cp(copy)

cp [옵션] [원본 대상] [복제될 파일명]

파일이나 디렉토리를 복사할 때 사용하는 명령어이다.

📼 옵션

  • -r, -R : 재귀적으로 디렉토리 전체를 복사한다.
  • -i : 덮어쓰기 전에 물어본다.
  • -f : 강제로 덮어쓴다. (force)
  • -u : 수정된 파일만 복사한다. (update)
  • -v : 복사 과정 보여주기 (verbose)
  • -p : 권한, 시간, 정보 유지해서 복사한다.
  • --parents : 경로 구조를 유지한 채 복사한다.

🔧 rm(remove)

rm [옵션] [파일/디렉토리]

파일이나 디렉토리를 삭제할 때 사용하는 명령어이다.

🔍 옵션

  • -r : 디렉토리와 그 안에 있는 모든 내용을 삭제한다.
  • -f : 경고 없이 삭제한다.
  • -i : 삭제할 때마다 삭제 여부에 대해 물어본다.
  • -v : 삭제되는 항목을 출력한다. (verbose)

💥 자폭 명령어

rm -rf /

해당 명령어는 시스템 전체 삭제로 사용하지 않는게 좋다.

📂 rmdir

rmdir [옵션] [디렉토리 이름]

빈 디렉토리를 삭제하는 명령어이며 디렉토리가 안 비어있다면 에러가 발생한다.

  • --ignore-fail-on-non-empty
    폴더가 비어있지 않더라도 에러 메세지 없이 종료된다. (삭제❌)
  • -p : 폴더가 비어있을 경우 상위 폴더까지 삭제한다.

☃️ -help

명령어 --help

해당 명령어에 대한 설명을 출력한다.
자주 쓰는 옵션 위주로 요약해주기 때문에 더 자세한 정보가 필요할 경우에는 man 명령어를 사용한다.

profile
배우고 성장하는 중입니다.

0개의 댓글