리눅스 명령어 — 임세진

임세진
Quantum Ant
Published in
6 min readAug 25, 2019

우리 팀은 7월에 공부하기로 한 책을 마무리했고 지금은 국가암호공모전에 집중하고 있다.

8월 달에는 각자 공부한 내용을 업로드하기로 했다.

필자는 최근에 공부한 리눅스에 대해 소개하려고 한다.

1. 리눅스란?

운영체제는 하드웨어와 소프트웨어를 연결해주는 등 다양한 역할을 한다.

리눅스는 윈도우와 같은 운영체제의 한 종류이고 주요 디렉터리의 계층구조 형태로 이루어져있다.

리눅스의 대표적인 특징은 오픈소스라는 것이다.

누구나 자신이 필요한대로 수정해서 사용이 가능하기 때문에 우분투, 센토스 등 다양하게 분화돼있다.

필자가 앞으로 소개하는 것은 센토스 버전이다.

2. 리눅스의 주요 디렉터리

  1. / : 리눅스 상에 존재하는 모든 파일과 디렉터리를 담고있는 최상위 디렉터리
  2. /boot : 리눅스 커널의 메모리 이미지와 부팅과정에서 필요한 각종 부팅 파일이 들어있다.
  3. /bin : 기본 명령어가 들어있다. ( * 명령어는 실행파일이기때문에 명령어를 치면 그 명령어의 실행파일이 실행되는 것임 )
  4. /root : 관리자의 홈 디렉터리 — root 전용
  5. /home : 관리자 외의 일반사용자들을 위한 홈 디렉터리가 만들어지는 위치
  6. /etc : 시스템이나 사용자 관리를 위한 자료 파일 및 각종 설정파일을 저장
  7. /dev : 장치 파일이 들어있다. ( HW -> 파일로 변환해서 관리 )
  8. /lib : 각종 프로그래밍 언어들의 라이브러리가 저장되는 위치
  9. /mnt : Remote Device를 이용하기 위한 연결 디렉터리
  10. /media : Local Device를 이용하기 위한 연결 디렉터리
  11. /sbin : 관리자 전용 명령어가 들어있다.
  12. /usr : 각종 소스파일 및 설치파일을 저장하는 공간
  13. /tmp : 임시 저장소
  14. /var : log와 같이 자주 변경되는 데이터를 저장하고, 각 사용자들의 메일함이 들어있는 디렉터리
  15. /proc : 커널의 이미지와 프로세스 정보들을 저장한다. ( * 커널의 정보가 들어가있는 중요한 파일 )
  16. swap : 가상 메모리

3. 접속

필자는 VMware라는 가상머신을 이용하여 리눅스 환경을 구축했고 putty (원격접속프로그램)로 원격접속하여 작업했다.

[root@VM ~] 은 root라는 계정을 가지고 VM이라는 컴퓨터에 로그인했다는 뜻이다.

여기서 ‘~’ 은 현재 로그인한 계정(root)의 홈디렉터리를 의미하고, ‘~’이 있는 영역은 현재 내가 위치한(작업 중인) 디렉터리를 나타낸다.

‘#’ 은 관리자(root)용 프롬프트로, 명령어를 입력할 수 있는 상태를 의미한다.

관리자 계정(root)이 아닌 일반 사용자계정(itbank)로 로그인한 모습이다.

이때는 위의 관리자 계정때와 달리 ‘$’ 프롬프트가 있는 것을 확인할 수 있다.

‘$’는 일반사용자용 프롬프트이다.

4. 리눅스 명령어

[ 경로관련 명령어 ]

  • pwd (print working directory)

현재 작업중인 경로를 확인할 때 사용하는 명령어

현재 root가 있는 위치가 /root임을 알 수 있다.

  • cd (change directory)

리눅스 상의 경로를 변경할 때 사용하는 명령어

cd 명령어를 통해 /root에서 /home으로 경로를 변경하였다.

앞의 pwd 명령어를 통해 성공적으로 경로가 변경된 것을 알 수 있다.

  • 절대경로

파일 시스템 전체를 기준으로 파일이나 디렉터리의 절대적인 위치를 사용하는 경로

  • 상대경로

현재 작업하고 있는 디렉터리에서 파일이나 디렉터리의 상대적인 위치를 말한다.

내가 위치하고 있는 곳이 기준이 된다!

./ : 현재 디렉터리

../ : 상위 디렉터리

[root@VM itbank]# cd ../../ : 2번 상위 디렉터리로 이동

[파일 및 디렉터리 관련 명령어]

ls (list) : 디렉터리에 있는 내용(디렉터리, 파일 등)을 확인. 윈도우의 dir 명령과 비슷함.

보통 명령어 옵션을 같이 사용한다.

ls -l(long) : 자세한 내용을 출력. (내용 : 권한, 포함된 파일 수, 소유자, 그룹, 파일크기, 수정일자, 파일이름)

ls -a(all) : 숨겨진 파일이나 디렉터리도 보여줌.

ls -l을 했을 때는 /home/itbank 안에 c파일만 있다고 나타내주었다.

하지만 ls -al을 했을 때는 .으로 시작하는 파일들이 더 있었다는 것을 알 수 있다.

파일명이 .으로 시작하면 숨겨진 파일이다.

  • touch : 파일이나 디렉터리의 최근 업데이트 일자를 현재 시간으로 변경한다.

파일이나 디렉터리가 존재하지 않으면 빈 파일을 만든다.

hello파일을 vi로 편집한다.

“hello!”라는 텍스트를 추가했다.

:wq 라고 치고 엔터를 누르면 저장되고 vi편집기에서 나간다.

cat (concatenate)

  • 파일의 내용을 출력

cp (copy) : 파일 혹은 디렉터리를 복사.

  • 디렉터리 복사 시, -r 옵션을 주어야함.

rm (remove) : 파일이나 디렉터리를 삭제

  • 디렉터리를 삭제시, r옵션을 줄 것. <디렉터리를 삭제할 때에는 하위 디렉터리까지 모두 삭제되므로 유의할 것>
  • -f 옵션을 주면 사용자에게 삭제 여부를 묻지 않고 바로 삭제.

--

--