명령어 | 설명 | EX | 비고 |
---|---|---|---|
umask | 권한제한 | umask 0022 (file) == 666-022 = 644 | |
lsblk | (ls block) 스토리지 정보 | ||
blkid | (block id) 블록의 UUID | ||
mount | mount A B (A를 B에 mount) | mount -o remount.rw /home | -t: 파일시스템 유형 지정 -o: 마운트 시 사용할 옵션 지정 결과: dir type .. |
umount | mount 해제 | unmount 아님~ | |
chsh | 셸 변경 | -s (shell) 로그인 셸 변경 -u (UID) User ID 변경 -l (list) 목록) | |
nohup | (no hang up) 세션이 종료되더라도 프로그램이 종료되지 않음 | ||
fsck | (file system check) 무결성 점검과 오류 복구 | fsck -s 장치명 | xfs_repair - xfs fsck - ext4 |
xfs_repair | - xfs 시스템이 fsck | ||
mke2fs | 파일 시스템 포맷 변경 | mke2fs -t ext4 /dev/sdb1 | -t: 파일시스템 지정 옵션 |
mkfs | 파일시스템 생성 | mkfs.xfs |
- rw-r-r--. 1 root grp 45 10월 11 13:44 tmp.txt
|영역|설명|
|--|--|
|- |파일유형 -:일반 파일, c: 문자 파일 ...|
| rw-r-r--. | 허가권 (사용자 - 그룹 - 제3자)|
|1 |링크 수|
|root | 소유자명|
|grp | 그룹명|
|45 |파일 크기|
|10월 11 13:44 | 최종 변경 시간
|tmp.txt| 파일명|
명령어 | 설명 | EX | 비고 |
---|---|---|---|
chown | 사용자/그룹 소유권 변경 | chown 소유자:그룹 파일명 | |
chgrp | 그룹 소유권 (only) 변경 | chgrp -c GROUP명 파일명 chown -R project /project | -R (-r 옵션은 업따) |
명령어 | 설명 | EX | 비고 |
---|---|---|---|
chmod | 파일/디렉터리의 허가권 변경 | chmod g -R /dir | -R (recursive) |
umask | 기본 허가권 지정 | umask -S 022 -> 파일 644, 디렉터리 755 | |
SetUID | 소유자 실행 권한에 UID 설정 | ||
SetGID | 그룹 실행 권한에 GID 설정 | ||
Sticky | 제3자 실행 권한에 설정. a=w 이면 소유자/root 아니면 삭제 불가 |
사용 모드
사용자 - 그룹 - 제3자
r w x
4 2 1
사용 기호 (ex- chmod g+r lin.txt)
사용자 | 연산자 | 권한 |
---|---|---|
u/g/o/a | +-= | rwx |
user / group / other / all | - | - |
ext
ext2
ext3 (저널링 최초), -j
ext4 -t
xfs
명령어 | 설명 | EX | 비고 |
---|---|---|---|
df | (free) 디스크 사용 가능 용량 | df -sh /home/USER | |
du | (used) 디스크 사용된 용량 | du -sh ~USER | |
fdisk | 파티션 생성/수정/제거/유형지정 | fdisk [옵션][장치명] | n(new), w(write), q(quit), x(expert), d(delete) |
quota | 디스크 사용량 제한 및 현재 사용량 | quota USER | |
edquota | (edit quota) 쿼터 설정/변경 | edquota [옵션][사용자/그룹명] ,edquota 사용자명 | 짧다 |
setquota | 쿼터 설정/변경 | -u | |
repquota | 쿼터 요약하여 출력 | ||
xfs_quota | XFS 파일 시스템에서 사용 | xfs_quota -x -c 'limit bsoft=100m USER명 /home | -x -c |
usrquota | 사용자 할달량 | ||
userquota | /etc/fstab 의 옵션 값 | ||
blkid | uuid 확인 | uuid: 파티션 고유 번호 | |
mount |
파일명 | 설명 | 비고 |
---|---|---|
/etc/mtab | 현재 시스템에 마운트된 파일 시스템 정보 | /proc/self/mounts |
/etc/mounts | /etc/mtab/ 에 현재 마운트된 파일 시스템 정보 | |
-- | -- | |
/etc/fstab | (file sys table)부팅 시 시스템의 마운트 정의 | /dev/sdb1 /home ext3 |
/etc/mounts | ||
/etc/shells | 사용 가능 셸 목록 | |
/etc/passwd | 사용자 계정 정보, 로그인 셸 정보 | |
-- | -- | |
~/.bashrc | 개인 사용자 alias, 함수 | |
~/.bash_profile | 개인 사용자 환경변수 | |
etc/bashrc | 모든 사용자 alias, 함수 | |
/etc/profile | 모든 사용자 환경변수, 시작 설정 | |
-- | -- | |
/etc/hosts | domain - IP | |
/etc/resolv.conf | domain - IP alias | |
-- | -- | |
/etc/services | 네트워크 프로토콜에 할당된 포트 번호 | |
/etc/sysconfig/network | 기본 게이트웨이, 호스트이름, 네트워크 허용 여부 등 | |
~/.bash_history | 로그인 후 입력한 명령들 저장되는 파일 | |
/usr/bin/passwd | 특수 권한이 설정된 파일 | |
/etc/inittab | 부팅 모드 설정(X윈도 실행) |
*/etc/fstab 출력 결과
[fs 장치명][마운트포인트] [fs 유형][fs 속성] [dump 1-가능/0-불가능][점검 0-X/1-루트/2-일반]
4번쨰 필드 == 마운드 옵션 정보 ex) noexec
명령어 | 설명 | EX | 비고 |
---|---|---|---|
chsh | 셸 변경 | -s (shell) 로그인 셸 변경 / -u (UID) User ID 변경 / -l (list) 목록) | |
ps | 현재 실행 proc / 로그인 후 이용 중 셸 확인 | ||
/etc/shells | 사용 가능 셸 목록 | ||
export | 환경변수 설정 | ||
set | 로컬 셸 변수 조회 | ||
unset | 셸 변수 해제 | ||
env | 글로벌 셸 변수 조회/등록 | ||
printenv | 시스템 환경 변수 출력 | ||
unalias | ls 명령어에 설정된 alias 해제 | unalias ls | |
~/.bashrc | 개인 사용자 alias, 함수 | ||
~/.bash_profile | 개인 사용자 환경변수 | ||
etc/bashrc | 모든 사용자 alias, 함수 | ||
/etc/profile | 모든 사용자 환경변수, 시작 설정 | ||
~/.bash_history | 로그인 후 입력한 명령들 저장되는 파일 | cat ~user명/.bash_history | |
history | 최근 명령어 N개 출력 | history 5 | |
!! | 가장 최근 명령 재실행 | ||
!?al | 최근 실행 중 'al' 문자열을 포함하는 명령 실행 | ||
!!al | 직전 실행 중 al 문자열 | ||
!*al | 현재 명령 라인의 모든 단어를 포함하는 명령 실행 | ||
!5 | 히스토리 5번 해당 명령 |
변수 | 설명 | 비고 |
---|---|---|
SHELL | 로그인 시 부여받은 셸 정보 | echo $SHELL |
LANG | 언어 변수 | |
PS1 | 주 프롬프트, 사용자명, 호스트명, 현재 디렉토리 ㅈ | |
PS2 | 보조 프롬프트 | |
USER | 사용자 명 | echo $USER != echo $user |
HISTSIZE | history 크기 지정 | |
HISTFILESIZE | history 파일 크기 | |
HISTORY | 명령어 최근 개수만큼.. | |
메일 관련 파일 | ||
MAILCHECK | 메일 확인 시간 |
sh - csh - tcsh - ksh - bash - zsh
명령어 | 설명 | EX | 비고 |
---|---|---|---|
% | 백그라운드 작업을 종료 | kill %2 : 2번 bg proc 종료 | |
kill -l | 시그널 번호 확인 | ||
kill | 종료 + PID | kill 1023 | |
killall | 종료 + 프로세스명 | ||
ps | fg+bg+daemon 확인 | ||
pstree | ps 인데 트리 구조로 보여줌 | ||
bg | bg proc 재개 | ||
jobs | 현재 셸에서 실행 proc | ||
exec | 셸 스크립트가 다른 프로세스로 대체 | ||
tops | 모니터링, 실시간 확인 | ||
top | |||
nice | 프로세스의 NI값 설정 | nice -n 10 [프로세스명] | |
renice | PID로 NI값 재설정 | renice -10 10648 | |
-- | -- | ||
ctrl + z | 일시 중지, SIGTSTP(20) | ||
ctrl + d | 현재 터미널 세션 종료 (로그아웃 원할 시 사용) | ||
ctrl + \ | 종료, SIGQUIT(3) |
%
: 백그라운드 작업을 종료 ex) kill %2
: 작업 번호 2번인 백그라운드 프로세스 종료
-l
: 시그널 번호 확인 옵션
CTRL + C
ctrl + \
ps aux
ps -ef
R (Running)
S (sleeping)
T (Stopped)
Z (Zombie)
*centOS7 리눅스에서는 부팅 시 systemd (PID 1 )
사용자 - NI / 커널 - PRI
-20 ~ 19
nice --10 [프로세스명]
(-10으로 설정)
nice bash
bash 셸의 프로세스 ni값 10 ↑ == 우선순위 낮아짐
|renice
| PID로 NI값 재설정 | renice -10 10648
|
ex) -10으로 우선순위 설정 (명/pid 1222)
nice --10 명
renice -10 1222
7 필드
[분][시] [일][달] [요일(0-일 ~ 6)][사용자] [명령어]
/
step values
*
range
,
list
ex)
* * * * *
1분마다
30 * * * *
매 시 30분마다
0 0 10 * *
10일 00:00 마다
* * 10 * *
10일에 1분마다
0 0 10 4 *
4월 10일 00:00 마다
ex)
0-59/10 * * * *
10분마다
명령어 | 설명 | EX | 비고 |
---|---|---|---|
.exrc | vi 에디터 환경 설정 |
/
: 검색어 입력
n
: 다음 위치
N
: 이전 위치
:^
: (Shift + 6) 맨 앞
:$
: (Shift + 4) 맨 뒤
c
: 변경 명령
cw
: 변경 명령 of word
r
: 하나의 문자를 다른 문자로 교체
p
: paste
dd
: 라인 잘라내기
x
: 문자 잘라내기
yy
: copy (버퍼로 복사)
:a
: 커서 한 칸 뒤로 -> 편집 모드
:i
: 커서 해당 위치 -> 편집 모드
:o
: 커서 다음 줄 -> 편집 모드
vi -r line.txt
-> (recover) 파일 복구
vi $ line.txt
-> 커서, 줄의 맨 끝
vi - line.txt
-> 커서, 줄의 맨 앞
vi + line.txt
-> 맨 끝 줄
vi +10 line.txt1
-> 10번째 줄
(1) % s/linux: 찾을 패턴
linux.` : 대체 문자열
(2) % s/^linux: 라인 끝
<: 단어 시작
>` : 단어 끝
(3) % s/\<linux/Linux/g (linux (단어) -> Linux)
\<
: 문장 어디에 위치하든
ai (autoindent)
sm (showmatch) 괄호 하이라이트
nu (number) 줄번호
nonu (no number)
ts (tab stop) 탭 간격 조절
ic (ignore case)
list 눈에 보이지 않는 특수문자
*편집기 개발자
Ctrl+x -> Ctrl+c
)vi -> (pico -> nano) -> gedit?
*kwrite, gedit : X윈도우 에서만 사용 可
Ctrl + o
: Write Out (vi - wq)
Ctrl + i
: 탭을 삽입
Ctrl + a
: 행의 시작
Ctrl + e
: 행의 끝
Ctrl + x
: 편집기 종료
pino & nano가 비슷~
명령어 | 온라인/오프라인 | 리눅스 계열 | ex |
---|---|---|---|
.exrc | vi 에디터 환경 설정 | ||
dnf | 온라인 | 페도라 | |
zypper | 온라인 | 수세 | |
apt-get | 온라인 | 데비안 | apt-get purge vsftpd : vs ftp d 패키지 + 환경 설정 파일 제거 |
YaST | 오프라인 | 수세 | |
rpm | 오프라인 | 레드햇(m) | rpm -d nmap --nodeps |
yum | 레드햇(m) | yum remove PKG | |
dpkg | 오프라인 | 데비안 | dpkg -i tmp.deb |
dselect | 데비안 | ||
alien | 데비안 |
ex) dpkg -r cron
-r (--remove) : 제거 of 패키지
-E : 패키지가 기 설치된 경우, 설치를 무시하는 옵션
-P (--purge) : 제거 of 패키지 + 관련 설정 파일
-i (--install) : 패키지 파일 설치
-l (list) : 패키지 목록
-L [PKG] : 파일 from 패키지 목록
ex) rpm -e nmap --nodeps
: 의존성이 있는 패키지를 제거
-f 라는 옵션은 없다~!
-e
: 패키지 제거 옵션
--nodeps
: 의존성 패키지 제거 옵션
-i
: install
-F
: freshen 업그레이드 || 설치
-U
: upgrade 업그레이드
-r
: root 최상위 dir 지정
명령어 | 설명 | 비고 |
---|---|---|
yum info [PKG] | 미설치된 pkg에 대한 정보 출력 | |
yum remove [PKG] | ||
yum list | 설치된 패키지 정보 | |
yum history | 작업한 목록 정보 |
yum install epel-release
: 설치 of 확장 패키지 관련 저장소
(X) epel
(X) epel-repository
(X) epel-download
ex) tar jxvf file.bz2
압축 풀기
ex) tar jtvf file.bz2
내용 보기
ex) tar cvf source.tar *.c
압축
[파일확장자][ 공통옵션]
J > j > z > Z
J : .xz
j : .bz2
z : .gz
Z : compress
c: create
x: 해제
t: 파일 내의 목록
v: 상세 정보 출력
f: 파일 이름 및 디렉토리 지정
p: 설치/미설치 패키지 파일 설명
-c
: collect 디렉터리 묶음
-C
: Change 디렉터리 변경
▶️ 프로그램을 소스 파일로 설치하는 과정
configure(Makefile 생성) → make(컴파일) → make install
make clean
(소스 파일의 압출을 푼 디렉터리에서
한 번 작업한 설정이나 관련 파일을 삭제하고
다시 설정 작업을 진행할 때 사용)
ex) configure --prefix=/usr/local/apache
프린터
printtool
, printconf
system-config-printer
redhat-config-printer
-> system-config-printer
사운드카드
alsactl
스캐너
eject
- 디스크 트레이 (CD-ROM) 여는 명령
명령어 | 설명 | 비고 |
---|---|---|
lpq | 1. 프린터 큐의 상태 | |
lpstat | 1. 프린터 큐의 상태 | |
lpr [OPTION][file(s)] | 2. 인쇄 작업 | |
lprm | 프린터 큐 작업 삭제 | |
lpc | 프린터 인쇄 가능 상태 여부 | |
lp | BSD |
lpr
, lpq
, lpc
, lprm
lp
, lpstat
, cancel
RAID 0 (Striping)
*Striping: 연속된 데이터를 여러 개의 디스크에 RR 방식으로 기록하는 기술
RAID 1 (Mirroring)
RAID 5 (1 parity) (min 3)
RAID 6 (2 parity) (min 4)
PV -> VG -> LV
(PVG - lv)
X 컨소시엄, X11 version ...
프로그램 | 설명 | 비고 |
---|---|---|
GIMP | image | 편집기, GUI |
ImageMagick | image | 편집기, CLI |
Eog | image | 뷰어 |
Totem | video | |
Evince | docs | 뷰어 |
*6000번대 포트 사용
xauth list $DISPLAY
🌟xhost [옵션] [IP/도메인]
xhost 192.168.5.13
+
모두 허용-
모두 차단+ IP
IP 허용- IP
IP 차단what) X-window 시스템의 형태를 갖추어 주는 프로그램 (윈도우의 배치와 표현)
Xfce 는 리눅스를 위한~
what) 서버 접속/세션 담당
dtlogin
(Motif, Redhat), gdm
(GNOME, GNU), xdm
(X11, GUI)GUI 스타일. 파일관리자/아이콘/창/배경화면/위젯 등
변수 | 설명 | 비고 |
---|---|---|
VISUAL | 기본 텍스트 에디터 | |
TERM | 터미널 유형 | |
XTERM | X-window, 터미널 에뮬레이터 종류 | |
DISPLAY | 원격지 전송 | xauth 와 연관 |
ex) echo $DISPLAY
결과: :0
X클라이언트를 실행하면, 로컬시스템의 첫 번쨰 X 서버에 실행된다.
ex) xauth add $DISPLAY . f667657456t
ex) A 시스템 firefox를 B 시스템에 전송해서 실행할 수 있도록
(1) A - X client && DISPLAY 환경변수
(2) B - X server && xhost 명령
명령어 | 설명 | EX | 비고 |
---|---|---|---|
netstat | 네트워크 상태 정보 | netstat -an | SYN Flooding 공격 확인, -a (all), -e (ethernet), -n (IP 형식), -r (route), -s (프로토콜 statistics) |
arp | ARP 테이블 설정 확인 | MAC 차단, -a (all), -s (static 설정) | |
ifconfig | IP 주소 설정, 활성화/비활성화 | ||
mii-tool | 네트워크 인터페이스의 속도/전송모드 확인, 물리적으로 케이블이 연결되었는지 점검 | ||
ethtool | 상세 인터페이스 정보(게이트웨이 주소값 등), 물리적 연결 상태 | 이더넷 카드의 link mode 변경하는 명령 | |
route | 경로 설정, 게이트웨이 주소 | route add -host [IP addr] netmask [subnet mask] dev [인터페이스명] | |
route netstat -r | 게이트웨이 주소 확인 | ||
ip | 게이트웨이/MAC 주소 확인 | ip route show | |
put | local -> FTP server | ||
get | local <- FTP server | ||
ssh | SSH 서버 접속 명령어 | ssh USER명@domain.com | 보안 |
telnet | telnet 서버 접속 명령어 | telnet domain.com 22 telnet -I user명 domain.com | 평 문, 패키지명: telnet-server |
/etc/services | 프로토콜 관련 포트 번호 | ||
/etc/sysconfig/network | 네트워크 전반 (사용 유무/호스트명/게이트웨이주소/ NIS 도메인명 등) | ||
/etc/sysconfig/network-scripts | 네트워크 인터페이스 |
계층 | 설명 | 데이터 단위 | 프로토콜 |
---|---|---|---|
7 | 응용 | ||
6 | 표현 | data | |
5 | 세션 | socket | HTTP |
4 | 전송 | segment | TCP/UDP(DNS) |
3 | 네트워크 | packet | IP , ARP, ICMP, BGP |
2 | 링크 | frame | |
1 | 물리 | bit |
3요소
1. 구문(데이터 구조)
2. 의미 (제어 정보, 오류 등)
3. 순서 (순서 제어)
ARP : IP -> MAC
RARP : IP <- MAC
IPv4 (32bit)
IPv6 (64bit)
MAC (48bit)
계층 | 프로토콜 | 설명 | 포트번호 | 비고 |
---|---|---|---|---|
7 | IMAP | 143 | ||
7 | TELNET | 23 | ||
7 | SNMP | Simple Net Management | 161, 162 | |
5 | HTTP | HyperText | 80 | |
5 | FTP | 20, 21 (전송/제어) | TCP, hash # | |
5 | SSH | Secure Shell, 원격접속, 데이터 암호화 | 22 (ss22) | TCP |
5 | SMTP | Simple Mail Transfer, 메일 서버 간 | 25 | TCP |
3 | ICMP | Internet Control Msg Protocol | 메세지 오류 보고 | |
3 | DNS | 53 |
*SMTP/IMAP(143)/POP3(110) - 전자 우편 서비스 관련
192 == b 1100 0000
11 -> 네트워크 부분
00 0000 -> 호스트 부분
64 4개
맨앞 == 네트워크 ID로 사용 불가
맨뒤 == 브로드 캐스크로 사용 불가
따라서, 64*4=248
1100 0000 = 192
189 = 128 + (32 + 16 + 8 + 4 + 1)
10111101
서브넷마스크: 255.255.255.0
1) 네트워크 ID: 192.168.100.0
2) 브로드캐스트: 192.168.100.255
3) 게이트웨이: 192.168.100.254
ex3) 192.168.5.150/26
1) 서브넷 마스크: 255.255.255.192
2) 구간: 128-191 에 포함됨
3) 게이트웨이 주소: 시작 주소 + 1 -> 192.168.5.129
ex) ssh USER명@192.168.5.13
ex) ssh -a 192.168.5.13:5050
-a (auto login)
-d (debugging)
-I (user명 지정)
-p (port 지정)
이름 | 설명 | 비고 |
---|---|---|
스타형 | 중앙 제어기, point-to-point gd: 확장/고속 bd: 중앙 제어기 터지면ㅠ | |
버스형 | gd: 저렴 bd: 병목 현상 ㅜㅜ | |
링형 | 토큰 패싱 - gd: 충돌 X - bd: single point of failure, 추가 어렵 | |
망형 | 일대일 - gd: 다량의 데이터, 신뢰성 - bd: 비싸ㅜ |
SAMBA: 윈도우 & Linux/Unix, TCP/IP 기반, 이용: SMB -> CIFS
NFS: Network File Sys. 네트워크로 원격지 호스트 파일 시스템 공유
IRC: 실시간 채팅 프로토콜, Xchat
GUI - firefox, opera, safari
CLI - Lynx, Links
파이어폭스 - 모질라
오페라 - 노르웨이
사파리 - 애플
크롬 - 구글
이름 | 설명 | 비고 |
---|---|---|
ICANN | Internet Corp for Assigned Names and Numbers, IP 주소 할당/도메인 네임 관리 | |
ISO | International Organization for Standardization, 표준 개발 기구 | |
IEEE | Institute of Eletrical and Electronics Engineers, 전기/전자공학 분야 전문가 단체 | LAN 관련 표준 |
EIA | 몰루 | LAN 케이블 관련 표준 |
TIA | Telecommunications Industry Association, 통신 분야 기업 협회 |
HPC cluster (고계산용, High Performance Computing) 베어울프
HA cluster (고가용성, High Availability) 연속적
LVS cluster (부하분산, Linux Virtual Server
VMWare - VMDK
Tizen
Web OS - LG 전자, palm OS 계승
UNIX - QNX
Linux - WebOS, Tizen, GENIVI(자동차용
지금 리눅스 2차 공부중인데 너무 도움 되네요..!
감사합니다 ㅎㅎ