CLI 설명 & 명령어

Suri·2024년 5월 29일
0

CLI (Command Line Interface) 란?

텍스트 터미널을 통해 사용자와 컴퓨터가 상호 작용하는 방식

  • 작업 명령은 사용자가 컴퓨터 키보드 등을 통해 문자열의 형태로 입력하고, 출력 또한 문자열의 형태로 주어집니다.

  • 터미널은 키보드의 입력과 모니터의 출력으로 모든 작업을 할 수 있다.
    또한 GUI가 개발되기 이전부터 컴퓨터를 조작하기 이해 사용되었기 때문에, GUI가 할 수 있는 모든 작업은 CLI로도 가능하다.

  • CLI 입출력을 가능하게 해주는 소프트웨어나 하드웨어를 터미널(terminal), 사용자가 입력한 명령어를 해석해 주는 소프트웨어를 셸(shell)이라고 한다.

  • CLI의 명령줄 대기모드를 가리키는 것으로써, 터미널 화면에서 글자가 입력되는 한 줄의 공간을 prompt라고 한다

명령 프롬프트

사용자는 이 명령 프롬프트에 정해진 명령어를 사용해서 원하는 명령을 입력합니다. 그러면 명령어를 해석해주는 셸이라는 것이
입력 받은 명령어를 해석하여 적절한 결과를 터미널에 출력해줍니다.

CLI 명령어

pwd (print working directoty) : 현지 위치 확인하기

현재 작업중인 폴더 위치를 보여준다

mkdir (make directory) : 새로운 폴더 생성

폴더를 만들어 라는 명령을 컴퓨터한태 시킨다

* 예시 :  mkdir helloWorld   //현재 위치에 helloWorld 폴더 생성

ls (list)

특정 폴더에 포함된 파일이나 하위 폴더의 리스트를 출력

  • ls 에는 자주 사용하는 욥선 L과 A가 있다.

  • ls-l : l은 폴더나 파일의 포맷을 전부 표현해! 라는 의미이다. 가장 첫 글자가 d로 시작하는 경우 폴더를, -로 시작하는 경우는 파일을 나타낸다. 폴더의 경우
    cd 명령어를 통해 진입할 수 있지만, 파일은 불가능하다.

  • ls -a: 숨어있는 폴더나 파일을 포함하여 모두 터미널에 출력

  • a는 " all " 이라는 의미로, 숨어있는 폴더나 파일을 포함한 모든 항목을 터미널에 보여준다.

  • ls -al or ls -la

  • 대쉬 ( - ) 뒤에 오는 옵션의 순서는 기능에 영향을 미치지 않는다.

open

macOS에서 현재 위치를 GUI로 실행하는 명령어

cd (change directory)

원하는 폴더로 진입하기

예시 : cd helloWorld

touch

파일 생성하기

  • 리눅스의 타임스탬프 종류

  • atime :최종 접근 시간

  • mtime : 최종 수정 시간

  • ctime : 최종 상태 변경 시간

  • touch -a filename : 현재 시간으로 파일의 접근 시간, 변경 시간을 수정한다.

  • touch -c filename : 현재 디렉토리의 파일명과 같은 파일이 없으면 파일을 만들지 않는다.

  • touch -t [YYYYMMDDhhmm.SS] filename : 파일의 접근 시간과 수정 시간을 설정 시간으로 수정한다.

 *  예시 : touch hi.txt
  • touch -d ‘YYYY-MM-DD hh:mm:ss’ filename : 지정한 시간으로 접근 시간과 수정시간을 설정하고, 변경 시간은 현재 시간으로 수정된다.

  • touch -r filename1 filename2 : filename2의 접근 시간과 수정 시간을 filename1의 시간으로 수정하고, 변경 시간은 현재 시간으로 수정된다.

  • touch -m filename : 수정 시간과 변경 시간을 현재 시간으로 수정한다.

  • touch filename1, filename2, filename3, … : 여러 개의 파일을 생성한다.
    옵션을 2개 이상 조합하여 사용할 수 있다.

echo

터미널에 텍스트 출력

  • 터미널창에 텍스트를 출력해주는 명령어

  • echo-n text : 마지막에 붙는 개행 문자를 출력하지 않는다.

  • echo-e text : 문자열에서 백 슬래시와 이스케이프 문자를 작음따옴표 ( " )로 묶어 인식한다.

  • echo-E text : 문자열에서 백 슬래시와 이스케이프 문자를 비활성화한다.

*  예시 echo Heloo

 실행 결과를 파일로 저장
  • 명령어 > 파일이름

  • ls 명령어의 결과를 LsResult.txt파일에 작성하여 저장한다.

* 예시 ls> LsResult.txt
  • echo 명령어를 사용하여 텍스트를 저장할 수 있다.
* 예시 : echo MyEmail@address.com > Email.txt

cat

파일의 내용을 터미널에 출력하기

  • cat -n filename : 모든 라인 앞에 번호를 출력한다.

  • cat -b filename : 비어있지 않은 라인 앞에만 번호를 출력한다.

  • cat -E filename : 라인의 마지막에 $ 기호를 출력한다.

  • cat -T filename : 탭 문자를 ^I로 바꿔서 출력한다.

  • cat -s filename : 두 번 이상 연속된 빈 라인은 출력하지 않는다.

  • cat -v filename : 탭과 줄 바꿈을 제외한 non-printing 문자를 ^ 또는 M-를 사용하여 표시한다.

  • cat -e filename : 줄 바꿈을 포함한 non-printing 문자를 ^ 또는 M-를 사용하여 표시한다.

 * 예시 : cat hi.txt

rm (remove)

폴더나 파일 삭제하기

  • 명령어 rm으로 삭제한 폴더나 파일은, 휴지통을 거치지 않고 삭제된다.

  • rm 명령어의 경우 옵션을 사용하지 않으면, 디렉토리를 삭제할 수 없다.

  • rm 명령어의 옵션

  • rm -f name : 강제로 디렉토리나 파일을 삭제한다. 대상이 없을 경우 메시지를 표시하지 않는다.

  • rm -r directoryname : 디렉토리 하위의 모든 파일을 삭제한다.

  • rm -d : 하위 내용이 비어있는 모든 디렉토리를 삭제한다.

  • rm -i name : 삭제할 때 사용자에게 삭제 여부를 묻는다.

  • rm -l name : 3개 이상의 파일을 삭제하거나 삭제할 디렉토리 내부가 비어있지 않은 경우 삭제 여부를 묻는다.

  • rm -v name : 삭제되는 대상의 정보를 출력한다.
    옵션을 2개 이상 조합하여 사용할 수 있다.

* 예시 : rm bye.txt
  • rm [-옵션][이름]
    현재 위치에서 .txt가 들어가는 모든 파일 삭제
  • rm *.txt
    현재 위치에서 모든 파일 삭제
  • rm *
    디렉토리를 삭제하는 경우

mv ( move)

폴더나 파일의 이름을 변경, 또는 폴더나 파일의 위치 변경

 에시 : mv bye.txt hello.txt  // bye.txt 파일명을 hello.txx로 변경

cp ( copy)

폴더나 파일을 복사

  • cp [원본 파일 이름], [복사 파일 이름]

  • rm 명령어를 사용할 떄 처럼, 폴더를 복사하기 위해서는 옵션 r과 f를 사용해야한다

* 예시 : cp helloWorld.txt hiComputer.txt  
// helloWorld.txt 파일을 복사한  hiComputer.txt 파일 생성
  • cp -rf: 폴더 복사
예시 cp -rf bye hi   // bye 폴더를 복사한 hi 폴더 생성

whoami

현재 로그인된 사용자를 확인

sudo

관리자 권한을 획득하는 명령어

  • sudo mkdir dir1 : 관리자 권한으로 dir1 디렉토리를 생성
  • mkdir dir2 : 사용자가 dir2 디렉토리를 생성
  • ls -l 명령어로 확인하면 관리자 권한이 다르게 생성된 것을 확인할 수 있다.
* sudo를 이용해 생성한 폴더나 파일의 소유자는 root(관리자권한)
profile
나의 공부 일지

0개의 댓글