본문 바로가기

Server/Linux

리눅스마스터2급 1차 정리

리눅스마스터2급 1차 정리

1. 리눅스의 개념
리눅스는 1991년 핀란드 헬싱키 대학의 리누즈 토발즈에 의애 만들어 졌다
초기버젼은 0.01로 가장 기본적인 커널만 포함하였다.

2. 리눅스의 특징
다중사용자, 다중처리시스템, 시스템의 안정성, 신뢰성, 폭넓은 하드웨어지원
응용프로그램 제공등이 있다.

3. 리눅스 시스템의 기본적인 디렉토리 구조
리눅스에서는 디렉토리를 하나의 파일로 인식한다.
리눅스의 디렉토리는 트리구조의 형식으로 최상위에 해당하는 루트(/)파일시스템
을 중심으로 한 하위디렉토리 /usr, /home, /etc 등이 존재한다.

/bin : 기본 실행파일
/boot : 부팅시 필요한 파일
/dev : 각종장치
/etc : 시스템 관리시 필요한 설정파일
/home : 계정의 홈디렉토리
/lib : 각종 라이브러리가 저장된 디렉토리
/mnt : 마운트될 파일시스템의 마운트 포인터가 되는 부분
/proc : 시스템 관리를 목적으로 메모리상에 만들어 놓은 가상 디렉토리
/root : 루트 사용자의 홈디렉토리
/sbin : 시스템 관련 명령어
/tmp : 임시파일을 만들고 삭제하는 디렉토리
/var : 가변 저장 디렉토리

ex) /include 디렉토리는 리눅스에 없는 디렉토리입니다.

4. 배포판
리눅스라고 말하는 운영체제의 정확한 이름은 GNU/Linux 이며, 리눅스는 운영체제
의 핵심인 커널을 지칭할 뿐이다. 배포판은 수많은 오픈소스들과 GNU정신을 바탕
으로 만들어진 유용한 프로그램들을 함께 모아서 리눅스의 보급을 보다 손쉽고
효율적으로 하기위해 배포하는 리눅스 패키지를 의미한다.

5. 리눅스 관련 용어


1) 리차드 스톨만
GNU프로젝트의 리더, Free Software Foundation(FSF), http://www.gnu.org


2) GNU
Gnu is not Unix, GNU프로젝트는 자유에 대한 구속을 반대하며, 프로그램을
자유롭게 사용하도록 하자는 운동


3) 미닉스(MINIX)
교육용 유닉스


4) GPL 과 오픈소스 소프트웨어
GPL이 적용된 소프트 웨어는 자유 소프트웨어이다.
이것은 공개라이센스를 의미하는 것으로 이것을 따르는 모든 프로그램은 소스와
함께 공개되고, 저작권은 있지만 모든 소스의 공개, 배포, 변경에 대한 제한은 없다.


5) 커널
운영체제의 핵심적인 기능을 수행하는것
커널버젼: #uname -r
http://www.kernel.org
#finger finger@ftp.kernel.org
최신커널 버젼은?

6. 리눅스의 설치 유형
워크스테이션, 서버, 사용자 정의 설치
ex)메인프레임은 없다.

7. 리눅스 설치 부팅 디스켓 만들기
#mount -t iso9660 /dev/cdrom /mnt/cdrom
#cd /mnt/cdrom/images
#dd if=boot.img of=/dev/fd0 bs=1440k
boot.img: 부팅이미지, pcmcia.img: 노트북용 부팅이미지

8. 파티션과 파일시스템


1) 파티션의 정의
하나의 물리적인 하드디스크를 여러개의 논리적인 디스크로 분리하는것을 의미


2) 파티션을 나누는 이유
파일시스템점검 시간단축, 백업의 용이, 특정 파티션 보호
안정성(루트파티션이 없어져도 타 파티션의 자료는 보존된다.)


3) 파티션의 종류
하나의 물리적인 디스크에는 4개의 primary 파티션을 갖는다
4개의 primary partition 중에 1개를 extended로 지정한다.
1개의 extended partition 은 여러개의 logical partition 으로 분할이 가능
SCSI하드디스크는 15개, IDE하드디스크는 63개의 파티션을 가질수 있다.


4) 파티션에 따른 장치명
/dev/hda -> /dev/hda1, /dev/hda2, /dev/hda3


5) 파티션 분할
fdisk , disk druid

9. 부팅


1) 부트매니져
하드디스크의 등장과 대용량이 되면서 하나의 운영체제가 아닌 2개 혹은
그 이상의 운영체제를 하나의 시스템에서 구동되기를 원해서 나온것


2) LILO(Linux Loader)
여러개의 운영체제를 선택할수 있게 해주는 부트로더, MBR에 위치


3) 일반적인 멀티부트환경
MBR(LILO), /dev/hda1(window), /dev/hda2(linux), /dev/hda3(swap)


4) /etc/inittab 멀티 부팅의 레벨 설정


5) LILO의 설정파일인 Lilo.conf


/etc/lilo.conf
---------------------------------------------
boot=/dev/hda
map=/boot/map
install=menu
prompt
timeout=50
message=/boot/message
lba32
default=linux
password=1234
restricted

image=/boot/vmlinuz-2.4.20-8
label=linux
initrd /boot/initrd.img

other=/dev/hda1
label=dos
-----------------------------------------

11. 로그인
리눅스는 다중사용자들이 사용하는 멀티태스킹 환경이기 때문에 각자의 아이디를
인증 받아야만 사용할수 있다. 시스템에서 구분되는 사용자의 아이디와 암호를
입력하고 접근권한이나 사용권한을 얻는 인증단계를 로그인이라 한다.

12. /etc/issue, /etc/issue.net 환영메시지

13. 리눅스의 기본 명령어


1) 내부명령어
쉘에 내장되어 있는 명령어로 쉘이 명령어를 이해한다.


2) 외부명령어
/bin 안에 파일의 형태로 존재하며 사용하는 명령


ex) cd 는 내부명령어 혹은 외부명령어중 어느것인가?

3) 내부명령어와 외부명령어의 차이점은 내부명령어는 실행할때 별도의 프로세스
를 시작시키지 않지만 외부명령어를 실행할때는 새로운 서브프로세스를 fork 하고 실행한다.

14. 검색경로지정
홈디렉토리안에 .bash_profile

15. 사용자의 기본적인 쉘 환경설정
/etc/default/useradd
#useradd -D

16. 계정조회
현재 시스템에 로그인한 사용자 계정을 조회 -> #users

17. 사용자에 대한 정보
/etc/passwd, /etc/shadow

18. root가 아닌 새로운 사용자에게 시스템에 대한 사용권을 부여하는 명령어는?
useradd

19. 계정관리
usermod를 이용한 계정자의 기본 정보 변경이 가능하다.

20. 계정 삭제
userdel 계정명, userdel -r 계정명

21. 그룹관리
groupadd 계정명
/etc/group
groupdel 계정명
ex)#groupadd linuxpia
#cat -n /etc/group | tail -1

22. 위치확인 명령어
pwd, cd, tty

23. ls 명령
-a(모든파일출력). -c(변경시간순서로표시), -r(역순으로 표시)

24. 파일의 내용을 출력하거나 텍스트 파일 생성하는 명령어 : cat
ex) cat < 1.txt > 2.txt

25. touch : 파일의 액세스 시간이나 갱신시간을 수정
새로운 파일 생성 기능
ex) #touch MMDDHHmm 파일명

26. 디렉토리 생성 : mkdir

27. 하나 또는 그이상의 파일이나 디렉토리 복사 : cp
-f(강제), -i(기존파일을 덮어쓰기전에 물어봄),-r(하위디렉토리나 파일까지복사)

28. 파일이동, 파일명 변경: mv

29. 비어있는 디렉토리를 삭제하는 명령어 : rmdir

30. 파일삭제 : rm 파일명 , rm -rf 디렉토리

31. 특정파일의 종류를 알고 싶을경우 : file
ex) #file /etc/resolv.conf

32. 주어진 파일의 내용을 화면단위로 출력 : more

33. more와 비슷한 명령어로 한페이지씩 문자를 보여준다. 이동가능: less

34. 파일의 머리부분을 보는데 사용 : head

35. 파일의 꼬리부분을 보는데 사용 : tail

36. 파일찾기 : find
ex) find . -mtime +5 -print
(5일이상전에 마지막으로 수정한 파일 찾기)

37. 유사한 두파일을 비교하여 처음으로 틀린문자가 나타나는 위치만을 출력 : cmp

38. 행단위 파일 비교하는 명령어 : comm

39. 표본이 되는 문서는 두번째 파일, 파일비교 : diff

40. 파일에서 특정필드를 추출해서 가공해야하는 경우 사용하는 명령어 : cut
ex)#cut -f1,5 -d: /etc/passwd

41. 파일의 정보를 추출하는 명령어, 파일내의 단어수, 라인등의 정보 : wc

42. 주어진 필드나 문자의 위치를 기준으로 파일을 행단위로 정렬 : sort
ex)#sort -r /etc/passwd

43. 하나의 파일을 여러개의 작은 파일로 분리하는 명령어 : split
ex)#split -b 10000 /etc/services

44. 특정단어, 문자열, 문장을 포함하는 파일 탐색 : grep
ex)#grep linux /etc/passwd
#grep -c linux /etc/passwd

45. 시스템의 현재 날자와 시간을 출력 : date

46. 달력을 출력 : cal

47. 여러 명령을 조합해서 사용시 이용 : 파이프(|)

48. 어떤 명령의 결과출력을 원하는 위치로 바꿀경우 : >, >>

49. 특정디렉토리의 용량확인 : du
#du -sh

50. 화면 clear : clear

51. 하드디스크의 용량확인 : df

52. 파일과 디렉토리를 하나의 파일로 묶어주는 아카이브를 생성하는 유틸리티 : tar

53. 압축관련 파일 : gzip
1: 가장빠르게 압축, 6:기본값, 9:최고의 압축률, 속도는 느림
ex)gzip -9v 파일명

54. 압축 : compress, bzip2

55. mount

56. 네트워크의 인터페이스 설정 또는 확인 명령어 : ifconfig
ex) ifconfig eth0 up
ifconfig eth0 down

57. 원격호스트의 연결상태 : ping
ex)#ping -c 4 -s 1000 서버의 주소

58. nslookup , dig, host

59. 네트워크의 연결상태를 확인하는 명령어 : netstat
-r(라우팅테이블출력), -i(인터페이스테이블출력), -s(네트워크통계)
-p(소켓에대한pid출력), -C(계속되는 리스트 출력), -a(연결된모든소켓을출력)

60. 특정호스트까지 연결된 노드를 알아보는 명령어 : traceroute

61. 호스트에 대한 정보 확인 : host

62. 호스트네임을 출력 : hostname
#hostname -v 호스트명

63. 모든 사람의 터미널에 메시지를 보낸다. : wall

64. 로그인되어 있는 사람과 현재 실행중인 작업의 종류를 나타내는 명령: w

65. 시스템을 사용하고 있는 사용자들의 이름과 터미널 번호, 로그인 시간등을
출력하는 명령 : who

66. 시스템의 메모리 사용량 정보를 확인하는 명령어 : free

67. 시스템 부팅순서 : (나) ->(가) -> (라) -> (다)
가) HDD의 MBR 나)ROM BIOS 다)init 실행 라)리눅스 커널이미지 로딩

'Server > Linux' 카테고리의 다른 글

도커(Docker)  (0) 2016.11.21
리눅스 명령어 Linux  (0) 2008.07.06
리눅스 설치  (0) 2005.09.08
Red Hat Enterprise Linux 3 - 시스템 관리 가이드  (0) 2005.02.18
리눅스 파티션을 나누어보자  (0) 2005.02.04