[Linux] 2-1. 리눅스의 기본 명령어 첫번째

Linux나 Windows나 GUI(Graphic User Interface) 가 있고 CLI(Command Line Interface)가 있다. 일반적으로 여러분들이 가장 많이 접하는 것이 GUI 즉, 그래픽 환경이고 관리자가 접하게 되며, Linux를 공부하며 접하게 될 것이 CLI 즉, 명령어 기반의 환경이다. 이번 포스팅에서 소개할 기본명령어들은 기본적으로 CLI 사용되는 명령어들이다.

리눅스에서 명령어란?

리눅스를 공부하면서 접하게 될 명령어라는 것은 Prompt상에서 사용되는 것들이다.  영화에서 많이 보던 검은 화면에 초록글씨가 적혀지는 것들을 본 것이 있을 것이다. 그것이 Prompt상에서 명령어들을 입력함으로써 나오는 화면들이다.

pwd, cd

  • pwd - 현재 나(관리자)가 작업중인 디렉토리의 절대경로를 보여준다.

  • cd - 이동하고자하는 디렉토리로 이동한다.

Linux

위의 그림을 보면** pwd라는 명령어를 입력하니 /root라는 디렉토리에서 현재 작업하고 있다고 표시를 해준다.** 그리고나서 /home이라는 디렉토리로 이동을 하고 싶어 cd라는 명령어를 입력하여 이동한 것을 볼 수 있다.

여기서 중요한 것이 있는데, 리눅스에 입문하면서 가장 중요하게 들여야할 습관이 작업하기 전에 확인, 작업하고 나서 확인 즉, 확인하는 습관을 들여야한다.

귀찮을 수 있지만 이 습관을 잘 들여놔야 나중가서도 더 빠르게 작업을 진행할 수 있다.

ls

  • ls - 디렉토리의 목록을 볼 수 있다.

옵션

1. -a : 경로안의 모든 파일과 디렉토리를 출력해준다. (all)

2. -l : 지정한 디렉토리의 내용을 자세하게 출력해준다. (long)

3. -d : 지정한 디렉토리의 정보를 출력해준다.

4. -n : 파일 및 디렉토리 정보 출력시 소유자(UID)와 소유그룹(GID)에 대해 출력해준다.

5. -F : 파일 형식을 알리는 문자를 각 파일 뒤에 출력해준다.

6. -R : 하위 경로와 그 안에 있는 모든 파일들도 같이 나열해준다.

Linux

현재 home이라는 디렉토리 안에 a라는 디렉토리가 생성되어있는 상태이고,

a라는 디렉토리 안에 b라는 디렉토리와 developer, poketmongo, test라는 파일이 생성되어 있는 상태이다.

-F 옵션과 -R 옵션에 대해서 설명하자면 -F옵션을 명령어에 적용해서 출력했을 때, 디렉토리의 뒤에는 ’/‘표시가 붙게 된다. 그래서 b는 디렉토리이기 때문에 ’/‘가 뒤에 붙은 것이다.

그리고 -R옵션은 하위경로와 그 안에 있는 모든 파일도 출력을 해주는데 즉, /home/a/안에 있는 것과 그 하위 경로인 b라는 디렉토리안의 내용도 출력을 해주고 있다.

현재 b디렉토리 안에는 아무것도 없기 때문에 출력이 되지 않은 것이다.

cp, mv

  • cp - 파일과 디렉토리를 복사한다.(copy)

  • mv - 파일이나 디렉토리를 이동할 때 쓰고 파일의 이름을 변경할 수 있다.(move)

cp의 옵션

  • -r : 디렉토리를 복사할 경우에 하위 디렉토리와 그 안에 있는 파일까지 모두 복사한다.

  • /home/a/디렉토리 안의 poketmongo라는 파일을 /home/a/b/디렉토리로 복사한다.

  • /home/a/디렉토리 안의 test라는 파일을 /home/a/b/디렉토리로 이동한다.

Linux

두개의 명령어를 실행했고 그 결과 poketmongo라는 파일이 복사가 되고, /home/a/에 있던 test라는 파일이 /home/a/b/디렉토리로 이동된 것을 볼 수 있다.

mkdir, rmdir

  • mkdir - 디렉토리를 생성한다.(make directory)

  • rmdir - 디렉토리를 삭제한다.(remove directory)

단, 빈 디렉토리만 삭제한다. 삭제하고자 하는 디렉토리의 하위에 디렉토리가 존재할 때는 삭제할 수가 없다.

mkdir의 옵션

  • -p : 상위경로까지 생성한다.

(ex : /home/a/b/c/d/라는 디렉토리를 생성하고 싶을 때 c라는 디렉토리가 없기 때문에 d라는 디렉토리는 생성될 수 없지만 -p옵션을 사용하면 c와 d를 동시에 만들 수 있다.)

rmdir의 옵션

  • -p : 상위경로까지 삭제한다.

1. /home/a/b/c/라는 디렉토리를 만든다.

2. /ittest/a/b/c/라는 디렉토리를 한 번에 만든다.(한 줄의 명령어로)

3. /ittest/a/b/c/디렉토리를 삭제한다.(c만 삭제)

4. 삭제 후, /ittest/a/b/의 상위 디렉토리까지 모두 삭제한다.

Linux

mkdir 명령어에서 옵션 없이 /ittest/a/b/c/를 만들려다보니 에러가 뜨는 것을 볼 수 있다.

rm

  • rm - 파일 및 디렉토리를 삭제한다.

rm의 옵션

1. -f : 원래 rm을 사용하면 삭제를 할지 다시 한 번 사용자에게 물어보고 삭제를 진행하는데 이 옵션을 쓰면 이 확인 작업을 거치지 않는다.

2. -r : rm을 쓰면 기본적으로 디렉토리는 지울 수가 없다. 하지만 이 옵션을 쓰게 되면 디렉토리와 그를 포함한 하위경로까지 모두 삭제한다.

  • /home/a/b/c/에서 /home/을 제외한 모든 디렉토리를 삭제하고 파일이 있다면 그 파일까지 모두 삭제한다. (단, 삭제할건지 물어보는 확인작업을 거치지 않는다.)

Linux

  1. rm을 옵션없이 썼더니 디렉토리라는 이유로 삭제가 안된다.
  2. 그래서 rmdir로 상위 디렉토리 전부를 삭제하려 했으나 b안에 파일이 들어있어 삭제가 안된다.
  3. rm -rf를 사용하여 b디렉토리를 삭제하였다.
  4. 확인해보니 a디렉토리 안에도 파일이 존재한다.
  5. 다시 rm -rf를 사용하여 a디렉토리를 삭제하였다.
Published 22 Sep 2018

BKJang's Devlog