오늘은 Linux에 대한 기초를 다지는 시간을 가졌다.
내 컴퓨터의 운영체제는 Windows이기 때문에 Ubuntu를 설치하여 모든 실습을 진행하였다.
학습 목표
- 리눅스 터미널을 실행할 수 있다.
- CLI를 이용한 작업과 GUI를 이용한 작업이 동일함을 이해할 수 있다.
- 리눅스 터미널에서 기본적인 명령어를 사용할 수 있다.
- 명령어를 사용할 때, 등장하는 키워드에 대해 이해할 수 있다.


컴퓨터를 조작하기 위한 입력과 출력을 간단하게 I/O(Input/Output)라고 표기하며, "아이오"라고 읽는다.
리눅스의 터미널은 키보드의 입력과 모니터의 출력으로 모든 작업을 할 수 있다.
리눅스 터미널은 GUI가 개발되기 이전부터 컴퓨터를 조작하기 위해 사용되었기 때문에, GUI가 할 수 있는 모든 작업은 CLI로 할 수 있다.
GUI(Graphical User Interface) : 그래픽 사용자 인터페이스, 사용자가 편리하게 사용할 수 있도록 입출력 등의 기능을 알기 쉬운 아이콘 따위의 그래픽으로 나타낸 것이다.CLI(Command-Line Interface) : 명령 줄 인터페이스, 가상 터미널 또는 터미널을 통해 사용자와 컴퓨터가 상호 작용하는 방식을 뜻한다.CLI를 이용해 서버 컴퓨터로 접속을 요청하면, 서버 컴퓨터는 요청한 컴퓨터의 출력 소스(모니터)를 이용한다.


pwd를 프롬프트에 입력하고, Enter(엔터 키)를 누르면 현재 경로가 나타난다. pwd
mkdir은 make directories의 약자로, 폴더를 만들라는 명령을 컴퓨터에 전달한다.mkdir은 생성할 폴더의 이름을 함께 입력해야 한다.Space(스페이스 키)로 구분한다.mkdir helloWorldls는 list의 약자로, 특정 폴더에 포함된 파일이나 하위 폴더의 리스트를 출력한다.ls
ls에는 자주 사용하는 옵션 l과 a가 있다. CLI에서 특정 명령어의 옵션을 사용하는 경우에는 -를 이용해 옵션을 입력했다고 컴퓨터에 전달한다.l은 폴더나 파일의 포맷을 전부 표현하라는 의미이다.d와 -를 확인할 수 있다.drwxr-xr-x
-rw-r--r--d로 출력된 경우는 폴더를, -로 출력된 경우는 파일을 나타낸다.a는 "all"이라는 의미이다.-) 뒤에 오는 옵션의 순서는 기능에 영향을 미치지 않는다.)GUI가 나타나면 가장 먼저 만나는 화면은 바탕화면이다.GUI의 탐색기(파인더)로 열 수 있다.nautilus .

mkdir을 통해 생성한 폴더 "helloWorld"에 진입하기 위해 GUI에서는 마우스를 사용한다.Enter(엔터 키)를 눌러 폴더에 진입할 수 있다.cd는 change directory의 약자로, 프롬프트로 상호작용하는 폴더를 다른 폴더로 변경한다는 의미이다.pwd를 사용해 현재 위치를 확인하고, 명령어 ls를 이용해 helloWorld 폴더를 확인해보자.cd를 이용해 helloWorld 폴더로 진입한 뒤, 명령어 pwd를 이용해 현재 위치를 확인하자.pwd # 현재 위치를 확인
ls # 현재 위치의 모든 폴더와 파일을 확인
cd # 폴더 helloworld로 진입
pwd # 현재 위치를 확인 
touch라는 명령어를 사용한다.touch hi.txt

cat은 파일의 내용을 터미널에 출력하는 명령어이다.
CLI에서 확인해보자.cat으로 GUI를 이용해 작성한 내용을 확인한다.cat hi.txt
rm은 remove의 약자로, 폴더나 파일을 삭제할 때 사용한다.mkdir hello
cd hello # 폴더 hello로 진입합니다.
pwd # 현재 위치를 확인합니다.
mkdir bye
touch bye.txt
ls # 폴더와 파일을 출력합니다.
rm으로 파일을 삭제해보자.rm bye.txt
ls 
rm bye
ls
rm은 단일 파일을 삭제할 수 있지만 폴더를 삭제하려면 옵션 -rf을 이용해야 한다.rm -rf bye
ls # 이제 아무것도 출력되지 않는다. 
r은 "recursive"를 뜻하고, 폴더를 지울 때 사용한다.f는 "force"를 뜻하고, 질문을 받지 않고 지울 때 사용한다.mv는 move의 약자로, 폴더나 파일을 이동할 때 사용한다.rm으로 삭제한 폴더 "bye"와 파일 "bye.txt"를 다시 생성했다.mkdir bye # bye 폴더를 생성한다.
touch bye.txt # bye.txt 파일을 생성한다.

mv를 통해 파일 "bye.txt"를 폴더 "bye"로 옮긴다.mv bye.txt bye/
lsmv 뒤에는 순서대로 폴더나 파일의 이름 도착 폴더의 이름를 입력한다.
cd bye
ls

mv를 이용하면, 폴더나 파일의 이름을 변경할 수도 있다.ls # 현재 폴더에 있는 폴더나 파일을 출력한다.
# bye.txt 파일이 출력된다.
mv bye.txt helloWorld.txt
lsmv 뒤에는 순서대로 변경할 폴더나 파일의 이름 변경하고자 하는 파일의 이름를 입력한다.
cp는 copy의 약자로, 폴더나 파일을 복사할 때 사용한다.ls
# helloWorld.txt 가 출력된다.
cp helloWorld.txt hiComputer.txt
ls
# helloWorld.txt hiComputer.txt 가 출력된다.cp 뒤에는 순서대로 원본 파일 이름 복사할 파일 이름를 입력한다.
cd를 이용해 상위 폴더 "hello"로 이동한다.cd ..
ls
# bye가 출력됩니다.
pwd
# /home/[username]/helloWorld/hello 
CLI에서 .은 현재 폴더를 나타낸다...은 현재 폴더(.)을 기준으로, 앞에 .이 하나 더 붙는다...은 현재 폴더보다 앞에 있는 폴더를 가리킨다.cp를 그냥 사용하면, 명령어 rm으로 폴더를 삭제할 때처럼cp에 옵션은, -rf 옵션을 적용한다.
-h 또는 --help와 같은 옵션을 통해 확인할 수 있다.