CLI (command line interface)란?
명령줄 인터페이스로 가상 터미널을 통해 사용자와 컴퓨터가 문자열의 형태로 입출력을 주고 받는 형태의 인터페이스다. 간단히 말해, 명령어를 통해 컴퓨터를 제어하는 프로그램이다.
CLI 환경에 익숙해지려면 명령어를 익히고 있어야 하기 때문에 최종 사용자 수준에서는 GUI로 완전히 대체되었다.
하지만 서버 관리 및 서버 프로그래밍과 같이 프로그래밍과 접점이 있는 분야에서는, CLI가 상대적으로 자원을 적게 소모하고 안정적이라는 장점때문에 여전히 사용하고 있다.
ex) 도스, 명령 프롬프트, 유닉스 셸(쉘) 환경(대표적으로 bash)
file & directory
옵션은 명령어 뒤에 한 칸 띄우고 입력한다.
명령어 --help
: 해당 명령어에 대한 간단한 설명
man 명령어
: 해당 명령어에 대한 상세한 설명 (help와 동일한 내용일 수도 있음)
/검색하고 싶은 단어
n
: 검색한 내용의 페이지를 넘겨서 보여줌 (위, 아래 화살표로 찾아봐도 됨)
q
: 설명서 밖으로 나가기
ls
: 현재 머물고 있는 디렉토리에 있는 파일 목록을 보여줌 (아래 이미지 참고)
ls -l
: 현재 위치하는 디렉토리에 있는 파일과 디렉토리를 상세하게 보여줌
ls -a(--all)
: 숨김 파일(하늘색 글씨에 "." 붙은 것들)까지 전부 보여줌
ls -al
: 현재 머물고 있는 디렉토리에 있는 파일들의 목록(숨김파일까지)을 보여줌
파일의 권한 파일의 소유자 파일용량
여기 맨 앞에 d가 붙어 있으면 디렉토리, 없으면 파일이라는 것을 알려줌
pwd
: 현재 머물고 있는 디렉토리를 확인
명령을 내릴 때는 반드시 현재 내가 어떤 디렉토리에 위치하는지 알아야 함
내가 내리는 명령은 현재 머물고 있는 디렉토리 안의 파일들을 대상으로 내려지기 때문
mkdir 디렉토리이름
make directory
: 새 폴더를 만든다.
연두색 글씨와 연두색 밑줄을 참고하면 된다.
mkdir로 hello_linux라는 디렉토리를 새로 생성하고 ls로 확인
mkdir -p(--parents) 상위폴더/하위폴더
: 필요하다면 상위폴더까지 자동 생성한다는 의미
touch 파일_이름
: 비어있는 파일을 생성
(원래 touch는 이런 용도는 아님. 임의로 파일을 만들기 위해 사용한 것)
cd 디렉토리_이름
chage directory
: 현재 위치해 있는 디렉토리를 변경(소속된 디렉토리를 바꾼다고 해야 하나)
연두색 글씨와 연두색 밑줄을 참고하면 된다.
cd를 사용해 hello_linux로 디렉토리를 변경하면 연두색 밑줄로 바뀌게 된다.
현재 디렉토리는 pwd로 확인해본다.
부모 디렉토리(상위 폴더)로 가고 싶을 때
① 절대경로
cd /home/폴더_이름
: 위와 동일한 방법. 최상위 디렉토리부터 가고자하는 디렉토리까지 이동
② 상대경로
cd ..
: 현재 머물고 있는 디렉토리의 부모 디렉토리로 간다는 뜻
== 현재 어디에 머물고 있느냐에 따라 부모 디렉토리도 상대적으로 바뀜
rm 파일_이름
remove
: 파일을 삭제한다. 디렉토리는 삭제할 수 없음
여러 개를 한 번에 지우고 싶으면 한 칸 space bar 누른 후 계속 파일 이름을 나열하면 됨
rm -r 디렉토리_이름
recursive
: 주의해야 할 명령어. 재귀적이라는 의미로 순차적으로 해당 디렉토리 안의 다른 디렉토리까지 삭제한다는 것.
mv 이동할_파일_이름 이동하려는_디렉토리_이름
move
: 파일을 다른 디렉토리로 이동
원래 생활코딩 강의에서는
mv 이동할_파일_이름 이동하려는_디렉토리_이름/이동할_파일_이름
이렇게 하라고 되어 있었는데 다 정리하고 나서 발견했다.. 그냥 저렇게만 해도 명령어가 잘 작동되었지만 만약 잘 되지 않는다면 /이동할_파일_이름 을 추가하여 실행해보자
mv 파일_이름 변경할_이름
: 파일 이름을 변경
clear
: 화면을 깨끗하게 지워줌
* 디렉토리/파일 이름을 다 쓰기 귀찮을 때는 앞 몇 자만 쓴 후 TAB 키를 누르자. 자동완성 된다.
'Linux' 카테고리의 다른 글
[Linux error] E:45 'readonly' option is set (add ! override) (0) | 2020.06.20 |
---|---|
[Linux] Ubuntu 18.04 SSH 서버 구축과 SSH Root 계정 접속 설정 (0) | 2020.06.20 |
[Linux error] Not all processes could be identified non-owned process info.. (3) | 2020.06.20 |
[Linux error] Could not open lock file /var/lib/apt/lists/lock (0) | 2020.06.19 |
[Linux Ubuntu] 명령어로/명령어 없이 리눅스 강제 종료 및 재부팅 하는 법 (0) | 2020.06.19 |