Lesson 4

최 상위 디렉토리의 디렉토리 종류와 역할은 다음과 같다.

  • bin : 필수적인 리눅스 실행 파일들이 저장된 위치(ls, rm등)
  • boot : 리눅스 부팅 관련 파일, 커널 이 들어있는 곳
  • dev : 컴퓨터에 설치된 하드웨어 관련 정보들이 파일 형태로 저장되어 있는 위치
  • etc : 패스워드 파일, 쉐도우 파일, 리눅스 설정 파일 등이 들어 있는 위치
  • home : 일반 사용자들의 디렉터리가 들어가는 위치
  • lib : 라이브러리 파일들이 들어있는 위치
  • mnt : mount 명령을 사용하여 마운트 시킨 시디롬 등이 들어가는 위치
  • proc : 프로세스들이 파일 형태로 저장되는 위치
  • root : 루트 계정의 홈 디렉토리
  • sbin : 기본 명령을 제외한 시스템 관리용 실행파일이 들어있는 디렉토리
  • tmp : 임시로 파일을 저장하는 디렉토리, 권한 관계없이 누구나 파일을 생성할 수 있다.
  • usr : 다양한 응용 프로그램들이 설치되어 있는 디렉토리
  • var : 시스템 운영 중에 생성되는 각종 임시 파일들, 외부 접속에 대한 로그 파일들이 저장되는 위치

리눅스의 중요한 역할을 하는 파일들은 다음과 같다.

  • /etc/passwd : 사용자들에 대한 간단한 정보
  • /etc/shadow : 사용자들의 패스워드가 암호화하여 저장됨
  • /etc/services : 서버가 어떤 서비스를 하는 중인지 보여줌
  • /etc/issue.net : 처음 접속할 때 나오는 화면( FTZ의 경우 해커스쿨의 F.T.Z에 오신걸 환영합니다! 라는 문구)
  • /etc/motd : 로그인 후에 나오는 메시지
  • ~/public_html : 각 사용자들의 홈페이지 파일

다음은 FTZ의 퀴즈와 답이다.

 

 

Lesson 5

whoami : 접속한 자기 계정이 누구인지 확인하는 명령어

id: 접속한 계정에 대한 더 많은 정보

cat : 파일을 읽는 명령어

다음은 cat명령어로 /etc/passwd 파일을 읽은 것의 일부이다.

각 줄의 가장 왼쪽의 단어가 사용자들의 아이디 이다.

 

커널은 리눅스의 심장부 역할을 하는 파일로, 커널 버전에 따라 리눅스의 성능 차이가 발생할 수 있다. 같은 버전의 리눅스라도 커널 버전이 높다면 속도도 빨라지고, 안정성도 높아진다.

uname -a 명령으로 커널 버전을 확인할 수 있다.

위 FTZ의 경우 커널 버전은 2.4.20이고, 2.2.18이전 버전의 모든 커널들은 취약점을 가지고 있다고 한다.

root권한은 리눅스나 유닉스에서 모든 파일을 관리하는 절대적인 관리자 권한이다. 리눅스는 여러명의 사용자가 동시에 작업을 하기에 자신에게 권한이 부여된 파일만 제어할 수 있지만, 루트 권한을 가진 사용자는 어떠한 권한에도 구속되지 않고, 서버를 조정할 수 있다.

 

서버에 설치된 OS는 cat 명령어로 /etc/*release라고 입력하면 확인할 수 있다.

Red Hat Linux 9 버전임을 확인할 수 있다.

 

패키지의 정보는 rpm -qa명령으로 확인할 수 있다.

위는 명령 실행 결과의 일부로 많은 패키지들이 깔려 있음을 확인할 수 있다.

 

cat명령어로 /proc/cpuinfo를 확인하면 서버의 cpu정보를 확인할 수 있다.

 

Lesson 6

/etc/passwd(이하 패스워드 파일)은 한 서버를 사용하는 사용자들의 모든 정보를 기록해 놓은 파일이다. 사용자의 아이디, 어떤 함호를 이용하여 로그인을하는지, 속한 그룹, 이름 등의 정보가 들어있다.

다음은 패스워드 파일의 root 계정이 있는 줄을 가져온 것이다.

: 은 필드를 구분해주는 문자이다.

첫 번째 필드는 로그인 할 때 사용되는 아이디이다. 두번째 필드는 원래 패스워드가 적혀있는 부분인데 리눅스 버전  6.0 이후 크래커들이 악용을 막기 위해 두번째 필드의 패스워드를 없애버리고 따로 모아 저장하는 /etc/shadow 라는 파일을 사용한다. /etc/shadow파일은 일반 사용자 계정들은 접근할 수 없다. 

세 번째 필드는 컴퓨터가 사용자를  인식하기 위한 숫자이다. 0은 root를 의미한다. 네번째 필드는 사용자가 속해있는 그룹을 말해준다. 

다섯번째 필드는 사용자 이름을 말해주는 부분이다. 위의 경우 관리자를 의미하는 Admin이 사용자 이름이다. 여섯 번째 필드는 해당 사용자가 로그인 성공했을 때 위치하게 되는 홈 디렉토리 이다. 7번째 필드는 사용자가 처음으로 로그인 했을 때 실행되게 할 프로그램이다. 위 처럼 로그인 했을 때 쉘이 실행되도록 하는 것이 일반적이다.

Lesson 7

리눅스는 서버의 용도로 사용되기 때문에 데이터들의 손실을 막기 위해 백업을 필수적으로 해야 하며 백업할 때는 압축 명령어 들이 사용된다.

tar은 여러개의 파일을 하나로 합치는 명령어이다. 옵션은 다음과 같다.

  • c - Create : 새로운 파일을 만듬
  • x : eXtract : 압축 해제
  • v : View : 압축이 되거나 풀리는 과정을 출력
  • f : File : 파일로서 백업을 하겠다는 옵션

따라서 파일을 합칠때는 cvf, 해제할 때는 xvf 를 사용한다.

위 명령은 현재 디렉토리의 모든 파일(*)을 songs.tar 이라는 이름으로 합친 것이다.

실제로 다음과 같은 파일이 생성됨을 확인할 수 있다.

위 만들어진 파일의 용량 부분을 보면 3개의 파일을 뭉쳤는데 용량은 오히려 더 증가하였다. tar은 압축하지 않고, 파일을 합쳐버리기만 할 때 사용된다. 또한 gzip은 한 번에 한개의 파일만 압축할 수 있기 때문에 여러개의 파일을 압축하려면 tar로 파일을 합친 뒤 압축해야 한다.

gzip을 사용하여 tar로 합친 파일을 압축하면 다음과 같이 용량이 줄은것을 확인할 수 있다.

tar과 gzip을 사용한 파일들의 확장자는 다음과 같다.

  • tar : tar 프로그램을 사용하여 하나로 합쳐진 파일
  • gz : gzip 프로그램을 사용하여 압축된 파일
  • tar.gz : tar프로그램을 사용하여 합친 후 gzip을 사용하여 압축한 파일
  • tgz : 위 확장자를 합쳐서 tgz로 사용할 때도 있다.

현재 디렉토리에는 다음과 같이 압축된 파일만 존재한다.

gzip에서 -d 옵션을 사용하면 gzip 압축을 해제할 수 있다.

tar에 xvf를 사용하여 tar을 해제할 수 있다.

 

+ Recent posts