본문 바로가기

자격증 공부

정리하기 #1

1. chmod  권한 설정 : 특정 파일 / 디렉토리의 권한 permission 설정

-. 두번째, 특정문자를 이용하여 권한설정하기(상대모드)
형식 : chmod [사용자][연산자][권한] [파일명]
8진수를 이용하여 퍼미션을 설정할수도 있으나 특정문자를 이용하여 퍼미션을 설정할수도 있다.
>사용자부분에 들어갈수 있는 문자
u : 파일소유자를 뜻함
g : 파일소유그룹을 뜻함
o : 일반사용자를 뜻함
a : 모든사용자를 뜻함
>연산자부분에 들어갈수 있는 문자
+ : 해당권한을 허용
- : 해당권한을 비허용
= : 해당권한으로 권한설정
>권한부분에 들어갈수 있는 문자
r : 읽기 권한
w : 쓰기 권한
x : 실행 권한
s : SetUID,SetGID 설정
파일소유자,파일소유그룹에만 사용됨
chmod u+s testfile : SetUID설정
chmod g+s testfile : SetGID설정
chmod o+s testfile : 아무런 변환없음
t : Stikybit 설정일반사용자에게만 사용됨
chmod u+t testdir : 아무런 변화없음
chmod g+t testdir : 아무런 변화없음
chmod o+t testdir : Stikybit설정
X : 파일소유자에게 실행권한이 있는경우에만 소유그룹과 일반사용자에게 실행권한부여
파일소유자에게 실행권한이 있어야만 파일소유그룹또는 일반사용자에게 실행권한을 부여한다
.>파일소유자에게 실행권한이 있는경우
chmod u+X : 아무런 변화없음
chmod g+X : 파일소유그룹에게 실행권한부여
chmod o+X : 일반사용자에게 실행권한부여

출처: https://itwiz.tistory.com/entry/chmod-권한-설정 [it is power:티스토리]

 

2. touch 명령어

: touch는 파일의 날짜와 시간을 수정하는 명령어이긴 하지만, 0바이트 파일을 생성하기 위해 자주 사용되는 명령어이다.

아무런 옵션 없이 사용하면 서버의 현재 시간으로 파일의 최근 사용한 시간(access time)과 최근 변경 시간(modification time)을 변경한다. 만약 특정옵션이 사용되지 않는다면 파일의 크기가 0인 빈 파일을 생성한다.
-t 라는 옵션을 사용하면 서버의 현재 시간이 아닌 지정된 시간으로 파일의 날짜 시간 정보를 변경한다.

 

3. umask 적용 방식

- 디렉터리는 777 / 파일은 666의 기본 권한을 가진다
- umask는 뺄셈으로 계산한다.
  즉, umask 값이 0002 인 경우, 파일의 기본 값 666에서 002를 빼면 -> 664

 

4. edquota 명령어

: 사용자나 그룹에 쿼터를 설정할 때 사용하는 명령어 / 실행시키면, vi 편집기가 실행됨
기본 단위는 KB

cf) quota : 사용자의 디스크 사용량 및 할당량을 확인

 

5. df 명령어

: 현재 마운트된 (파일 시스템의) 디스크의 남아있는 용량 (여유 공간) 및 사용 현황을 보여줌 -> 'disk free'

cf) du 명령어 : 특정 디렉토리를 기준으로 디렉터리 및 파일의 디스크 사용량을 확인 -> 'disk usage'

   fdisk 명령어 : 디스크 파티션을 생성, 수정 및 삭제하는데 사용 -> 'fixed disk'

 

6. lsblk 명령어

: 리눅스 스토리지 디바이스 정보를 출력 (blkid보다 더 상세하게 표시 / 'fdisk -l'과 유사) -> 'list block'

cf) blkid 명령어 : block device의 파일시스템 유형이나 속성 등을 출력

 

7. mkfs 명령어

: 파일 시스템 포맷하는 명령어 -> 'make file system'
  cf) mke2fs는 make ext2 file system의 약자 -> ext시리즈 파일 시스템만 포맷 가능

 

8. chsh 명령어

: 로그인 쉘의 변경 -> 특히, -s 옵션을 사용하면, 지정하는 쉘을 앞으로 사용할 로그인 쉘로 바꾼다.

 

9. renice 명령어

: 실행 중인 프로세스의 우선순위를 변경 -> -n (number) 값으로 / PID 혹은 process 명으로

 

10. nohub 명령어

: 사용자가 로그아웃하거나 작업 중인 터미널 창이 닫혀도 프로세스를 백그라운드 프로세스로 계속해서 작업할 수 있도록 해주는 명령어 -> 'no hangup'

 

11. 리눅스 편집기 사용법 (vi / nano / pico / emacs)

vi 사용법 http://igoto.x-y.net/xe/linux/154
emacs 사용법 http://claid.tistory.com/3
nano 사용법 https://opentutorials.org/course/128/3682
pico 사용법 http://se.uzoogom.com/143

 

12. xhost 명령어

: X서버가 호스트 접근 제어를 하기 위해 사용하는 명령어. X 윈도우에서 xterm과 같은 X응용프로그램은 X 서버에게 자신을 표현해 줄 디스플레이를 요청합니다.
환경변수 DISPLAY로, X서버 프로그램이 실행될 때 표시되는 클라이언트 주소를 지정
-> 원격지의 X클라이언트를 다른 시스템의 X서버에서 실행시킬 수 있음

cf) xauth 명령어 : .Xauthority 파일의 쿠키 내용을 추가, 삭제, 리스트를 출력

 

13. OSI 7계층

: OSI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것 (흐름을 한 눈에 알아보기 쉬움)

1계층 물리계층(Physical Layer), 비트단위
-> 2계층 데이터 링크계층(DataLink Layer), 프레임 단위
-> 3계층 네트워크 계층(Network Layer), 패킷 단위
-> 4계층 전송계층(Transport Layer), 세그먼트 단위
-> 5계층 세션계층(Session Layer)
-> 6계층 표현계층(Presentation Layer)
-> 7계층 응용계층(Application Layer)

 

000. 기억할 말들

- 사용자가 시스템에 로그인하면, bash라는 프로세스를 할당받고, 사용자가 명령어를 실행하면, fork 형태로 프로세스가 발생하면서 동작한다.

- 사용자가 로그인한 후에 입력한 명령들은 로그아웃할 때 사용자의 홈 디렉터리 안에 있는 '.bash_history' 파일에서 저장된다.

- 특정 사용자가 로그인한 후에 사용 가능한 셸의 목록 정보를 확인하려면, '/etc/shells' 파일에서 관련 정보를 얻을 수 있다.

- '/etc/fstab' 에는 파일 시스템에 대한 정보를 담고 있는 파일로, 부팅 시에 마운트할 파티션 정보가 기록되어 있다.

- 데몬 프로세스를 실행하는 방법 중에서 'standalone' 방식은 보통 부팅 시에 실행되어 해당 프로세스가 메모리에 계속 상주하면서 클라이언트의 서비스 요청을 처리하는 방식이다.

- X window 시스템에 할당된 TCP 포트번호는 6000

- XCB는 X서버와 대화하는 역할을 수행하는 Xlib을 대체하기 위해 등장한 라이브러리다. (X protocol C-language Binding)

- 이더넷은 LAN을 위해 개발된 네트워크 기술로, 각각의 기기들이 48bit 길이의 고유한 MAC(Media Access Control) 주소를 기반으로 상호간에 데이터를 주고받을 수 있도록 만들었다.

- FDDI는, 광섬유 케이블을 이용해서 최대 100Mbps의 속도를 제공하기 위해 등장하였다. 1982년 10월에 미국표준협회의 X3 커미티에서 표준화되었고, 이후에 ISO 규격으로 승인되었다. -> Fiber distributed data interface

- 프로토콜 제정기관 : EIA (Electronic Industries Association) / LAN 케이블 관련 표준

- Telnet은 원격지에 있는 서버에 접속할 수 있는 서비스로, 접속할 때 아이디 및 패스워드를 사용한다. 데이터 전송 시에 평문을 사용해서 최근에는 보안상의 이유로 거의 사용되지 않고 있다.

- WWW(World Wide Web)는 웹페이지와 다른 웹페이지를 연결하는 하이퍼텍스트 방식의 정보검색 시스템이다. 또한 웹 서버의 자원에 접근하기 위해 URL을 사용한다.

- telnet-server는 CentOS 7 시스템을 텔넷 서버로 사용하기 위해 설치해야하는 패키지다.

- KVM은, 2005년에 설립된 Qumranet에서 개발된 하이퍼바이처로, x86 시스템을 기반으로 CPU 전가상화 방식을 사용한다. 현재는 레드햇사 주도로 개발되고 있다. -> Kernel-based Virtual Machine

- Kubernetes[쿠버네티스]는, 소스가 공개된 컨테이너 관리 프로그램으로, 컨테이너화된 애플리케이션의 배포, 확장, 관리를 자동화해준다. 현재 이 프로그램은 CNCF(Cloud Native Compution Foundation)에서 개발되고 있다.

- Docker는, 리눅스의 응용 프로개름들을 프로세스 격리 기술을 사용해 컨테이너로 실행하고 관리하는 오픈 소스 프로젝트로 2013년에 공개되었다.

- Hadoop[하둡]은, 빅데이터 인프라 구축과 관련된 프로그램으로, 파일시스템 구축에 사용한다.
(대량의 자료를 처리할 수 있는 큰 컴퓨터 클러스터에서 동작하는 분산 응용 프로그램을 지원하는 프리웨어 자바 소프트웨어 프레임워크)

 

999. 여러가지 출력 확인

$ echo $SHELL
/bin/bash
$ echo $LANG
en_US.UTF-8
$ echo $TERM
xterm-256color
$ echo $PS1
${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\] \[\]$git_branch\[\]$git_dirty\[\]$
linux:~ $ top

top - 18:01:27 up 22 days,  9:14,  1 user,  load average: 0.46, 0.31, 0.21
Tasks: 374 total,   1 running, 373 sleeping,   0 stopped,   0 zombie
%Cpu(s):  6.2 us,  2.5 sy,  0.0 ni, 91.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :  15940.6 total,   1280.7 free,   7339.5 used,   7320.5 buff/cache
MiB Swap:   2048.0 total,    900.5 free,   1147.5 used.   8025.4 avail Mem 

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                           
   1838 user      20   0 4686780 407132  89852 S  11.1   2.5  59:43.64 gnome-shell                                                       
 781938 user      20   0 4887504 854428 294344 S  11.1   5.2   8:12.61 firefox                                                           
   1710 root      20   0  330888 180112 110692 S   5.6   1.1  70:47.11 Xorg                                                              
 787941 user      20   0   13568   4176   3380 R   5.6   0.0   0:00.04 top                                                               
      1 root      20   0  169804  10644   5932 S   0.0   0.1   0:38.94 systemd                                                           


linux:~ $ ps
    PID TTY          TIME CMD
 785457 pts/7    00:00:00 bash
 787935 pts/7    00:00:00 ps


linux:~ $ pstree
systemd─┬─ModemManager───2*[{ModemManager}]
        ├─NetworkManager───2*[{NetworkManager}]
        ├─accounts-daemon───2*[{accounts-daemon}]
        ├─acpid
        ├─at-spi-bus-laun─┬─dbus-daemon
        │                 └─3*[{at-spi-bus-laun}]
        ├─at-spi2-registr───2*[{at-spi2-registr}]
        ├─avahi-daemon───avahi-daemon
        ├─colord───2*[{colord}]
        ├─cron
        ├─cups-browsed───2*[{cups-browsed}]
linux:~$ systemctl get-default
graphical.target


linux:~ $ xauth list $DISPLAY
linux/unix:  MIT-MAGIC-COOKIE-1  300bc7a95feb9341427744a3081c62f6
#ffff#73656f79656f6e2d6c696e7578#:  MIT-MAGIC-COOKIE-1  300bc7a95feb9341427744a3081c62f6

'자격증 공부' 카테고리의 다른 글

리눅스 마스터 2급 공부  (0) 2023.10.20
리눅스마스터 자격증을 따보자!  (0) 2023.09.05