Command Line Interface(이하 CLI)는 Graphic User Interface(이하 GUI)와는 다르게, 마우스와 각종 UI 컴포넌트 대신, 표준 입출력 시스템(Standard I/O)을 통한 입력과 그에 따른 결과를 출력하는 형태로 나타난다. 컴퓨터의 시작은 GUI가 아닌 CLI였으며, 시대를 거쳐서 우리는 마우스나, 터치를 이용한 직관적인 프로그램의 형태를 만날 수 있었다.
그러나 여전히 CLI는 여러가지 측면에서 유리하고, 개발자라면 반드시 배워야 할 주요 스킬이다. 강력하고 빠른 배치 작업들을 수행할 수 있으며, 컴퓨터, 특히 Unix/Linux 시스템을 깊이 알기 위해서는 많은 부분을 CLI를 이용해야만 한다.
- Why CLI??
- 빠르고, 강력하다.
=> 마우스로 여러 번 왔다갔다 해야 실행될 작업들을 명령어 몇 줄로도 실행할 수 있다.- 접근성이 좋다.
=> 원격에 있는 서버에 접근하고 싶다면, CLI를 통해서 마치 개인 컴퓨터에 접근하듯이 이용할 수 있다.
이번 시간에는 Unix/Linux의 주요 Command Line 명령어를 정리해보면서, Achievement Goals들을 달성해보자.
=> 이러한 이유로, 서버를 연습하고자 할 때는 리눅스 서버라고 보통은 생각하고 작업을 한다.
- 터미널에서 CLI를 사용하는 것이 GUI로 작동하는 것과 차이가 없음을 이해할 수 있다.
- 기본적인 unix/linux 명령어를 사용할 수 있다
ls
cd
mkdir
rm
pwd
touch
cat
mv
cp
- 명령어를 사용할 때, 현재 내가 위치한 디렉토리를 파악할 수 있다.
- 명령어를 사용할 때, 등장하는 키워드에 대해 이해할 수 있다
- 홈 디렉토리
~
- 루트 디렉토리
/
기본 명령어 같은 경우 다른 곳에서 더 잘 정리해놨기 때문에, 해당 링크를 참고해보면서, 필요한 명령어가 있을 때마다 적용해보도록 하자.
ls -al
를 통해서 소유자가 root임을 알 수있다. 이제, 해당 파일을 열어서 변경이 가능한지 확인해보자! 이렇게 변경 후, 저장을 하려고 하면, 저장이 실패해서, 관리자 권한(sudo)으로 다시 시도해볼 것인가?? 하고 뜬다. 물론, 여기서 관리자 권한으로 파일을 변경할 수 있다. 그러나, file의 소유자를 변경하므로써, 이 문제를 해결할 수 있는데, 이 때 등장하는 것이 바로 chown
이다. sudo chown steve:staff testfile.txt
즉, "소유자를 steve로 이전하고, 소유 그룹은 staff로 이전한다."라는 의미이다. 그리고 ls -al
을 통해서 변경되었음을 알 수있다. 이제 다시 한 번, 변경 후에 저장을 시도해본다면, 정상적으로 변경되었음을 알 수 있다. => GUI 프로그램을 실행시키려고 할 때도, 일일히 폴더를 찾아들어가지 않고, 명령어 몇 줄로 간편하게 끝낼 수 있기 때문에, CLI가 편할 때가 있다.