This is an old revision of the document!
linux 기초 사용법
$ ls
$ ls /etc/systemd
$ ls -a
$ ls -l
$ ls *.conf
$ ls -l /etc/systemd/b*
cd
pwd
rm
cp
touch
mv
mkdir
rmdir
cat
head
tail
more
less
file
clear
date, time, cal
pwd
파이프; |
필터; grep, tail, wc, sort, awk, sed 등
리디렉션; >(overwrite), »(append), <, < >
연속 실행 ;
uname -r; 커널 버전 확인
/etc/issue; 우분투 버전
lsb_release -a
파일 압축
xz
bzip2
gzip
zip / unzip
파일 묶기
파일 위치 검색
find
which
whereis
locate
네트워크
# reboot
# shutdown -r now
# init 6
런레벨
런레벨 영문 모드 설명 비고
0 Power Off 종료 모드
1 Rescue 시스템 복구 모드 단일 사용자 모드
2 Multi-User 사용하지 않음
3 Multi-User 텍스트 모드의 다중 사용자 모드
4 Multi-User 사용하지 않음
5 Graphical 그래픽 모드의 다중 사용자 모드
6 Reboot
# poweroff
# shutdown -P now
# halt -p
# init 0
# shutdown -P +10
# shutdown -r 22:00
# shutdown -c
# shutdown -k +15
bash shell script
alias
history
연산기능
job control 기능
자동 이름 완성 기능
프롬프트 제어 기능
명령 편집 기능
shebang(hashbang)
환경변수
HOME 현재 사용자의 홈 디렉토리
PATH 실행 파일을 찾는 디렉토리 경로
LANG 기본 지원되는 언어
PWD 사용자의 현재 작업 디렉토리
TERM 로그인 터미널 타입
SHELL 로그인해서 사용하는 쉘
USER 현재 사용자의 이름
DISPLAY X 디스플레이 이름
COLUMNS 현재 터미널의 컬럼 수
LINES 현재 터미널 라인 수
PS1 1차 명령 프롬프트 변수
PS2 2차 명령 프롬프트 (대개는 '>')
BASH bash 쉘의 경로
BASH_VERSION bash 버전
HISTFILE 히스토리 파일의 경로
HISTSIZE 히스토리 파일에 저장되는 개수
HOSTNAME 호스트의 이름
USERNAME 현재 사용자 이름
LOGNAME 로그인 이름
LS_COLORS ls 명령의 확장자 색상 옵션
MAIL 메일을 보관하는 경로
OSTYPE 운영체제 타입
export 환경변수=값, printenv
.sh
echo
chmod +x
변수
숫자 계산; 역따옴표`, expr \(, \), \*,
파라미터; $0, $1, $2, …
if ~ fi, else
ℹ️
if [ 조건 ]
then
참일 경우 실행
else
거짓인 경우 실행
fi
case ~ esac, 비교할내용) 명령 끝에만;; *) 나머지 조건;;
and; -a, &&,
or; -o, ||
for ~ in; ((i=1;i<=10;i++)) 괄호 두개, seq 1 10
ℹ️
for 변수 in 값1 값2 값3
do
반복할 문자
done
while 참이면, until 참이 될 때 까지, break, continue, exit, return
ℹ️
함수이름 () {
$1, $2,
실행
}
함수이름
eval; 문자열을 명령문으로 인식하여 실행
printf;
set과 $(명령)
문자열 비교 연산자
문자열 비교 결과
“문자열1” = “문자열2” 두 문자열이 같은면 참
“문자열1” != “문자열2” 두 물자열이 같지 않으면 참
-n “문자열” 문자열이 NULL(빈 문자열)이 아니면 참
-z “문자열” 문자열이 NULL(빈 문자열)이면 참
산술 비교 연산자
산술 비교 결과
수식1 -eq 수식2 두 수식(또는 변수)이 같으면 참
수식1 -ne 수식2 두 수식(또는 변수)이 같지 않으면 참
수식1 -gt 수식2 수식1이 크다면 참
수식1 -ge 수식2 수식1이 크거나 같으면 참
수식1 -lt 수식2 수식1이 작으면 참
수식1 -le 수식2 수식1이 작거나 같으면 참
!수직 수식이 거짓이라면 참
파일 조건
파일 조건 결과
-d 파일이름 파일이 디렉토리라면 참
-e 파일이름 파일이 존재하면 참
-f 파일이름 파일이 일반 파일이면 참
-g 파일이름 파일에 set-group-id가 설정되면 참
-r 파일이름 파일이 읽기 가능이면 참
-s 파일이름 파일 크기가 0이 아니면 참
-u 파일이름 파일에 set-user-id가 설정되면 참
-w 파일이름 파일이 쓰기 가능 상태이면 참
-x 파일이름 파일이 실행 가능 상태이면 참
OpenSSH
Name Server
DNS (Domain Name System) Server
캐싱
apt-get -y install bind9 bind9utils
/etc/bind/named.conf.options
recursion yes;
allow-query { any; };
systemctl restart/enable/status bind9
port 53
dig @네임서버IP 조회할URL
마스터 네임서버
/etc/bind/named.conf
named-checkconf
Mail Server
Database Server
Web Server
Firewall