shutdown -P now
shutdown -P +10
shutdown -c
shutdown -r 23:00
logout OR exit
런 레벨(Runlevel)
init
명령어 뒤에 붙는 숫자를 런레벨이라고 부른다.자동 완성과 히스토리
cd /{경로} + Tab키 = 자동완성
~ history = 이전 명령어 목록 확인
~ history -c = 명령어 목록 제거
에디터 사용
vi -> i -> 내용입력 -> esc -> 콜론(:) -> w filename.txt(파일 이름 저장) -> 콜론(:) -> q 입력(나가기)
vi filename.txt -> 내용 입력 -> esc -> wq입력(저장 + 나가기)
rm filename.txt -> y입력
vi -> :set number
man ls - space(다음 페이지) - p(이전 페이지)
마운트와 CD/DVD 및 메모리의 활용
물리적인 장치를 특정한 위치에 연결 시켜 주는 과정
연결 해제
umount /filepath
mount /파일 폴더 경로 /파일을 저장할 경로
mkdir filename
리눅스 기본 명령어
ls /filepath
ls -a
ls -l
앞자리가 -
이면 파일 d
로 시작하면 디렉토리
ls filename.확장자 OR ls file* - 해당 이름으로 시작하는 파일 조회
cd /filepath
pwd
cd / = 최상위 경로 (root 위)
cd = root
cd / = 슬래쉬로 시작하면 절대경로
cd filepath = 상대경로
cd ../../../root = 상대경로
touch filename
rm -f filename
cp file1 file2 = 파일1을 파일2로 복사
cp -r /filepath . = 현재 위치에 해당 경로에 해당하는 디렉토리까지 복사
mv fildname filepath
mv filename1 filename2 = 파일1을 파일2의 이름으로 변경
mkdir filename
rmdir filename
mkdir -p filename/filename/filename
rm -r filename = 하나씩 삭제 여부 확인
rm -rf filename = 하위 디렉토리까지 한번에 삭제
cat filename = 해당 파일의 전체 내용
head filename = 해당 파일의 윗줄 10개
tail filename = 해당 파일의 아랫줄 10개
more filename = 해당 파일을 페이지 단위로 출력
file filename = 비어있는지 어떤 파일인지 확인
사용자와 그룹
사용자와 그룹 관련 명령어
-u : ID지정
-g : 그룹 지정
-d : 홈 디렉토리 지정
-s : 셀 지정
useradd newuser
passwd newuser
usermod -g root newuser
userdel newuser
chage -m 2 newuser
groups
groupadd newgroup
groupmod -n newgroup mygroup
useradd -g centosGroup user2
tail -5 /etc/passwd
user2:x:1003:1002::/home/user2:/bin/bash = 1003 그룹에 속해있다.
yum -y install system-config-users
파일과 디렉터리 소유와 허가권
파일 유형
-> 디렉터리일 경우 d
, 일반적인 파일일 경우 -
표시
파일 허가권(Permission)
rx-
r--
r--
3개씩 끊어서 읽음
첫 번째 rw-
는 소유자(User) 파일접근 권한
두 번째의 r--
는 그룹(Group)의 파일접근 권한
세 번째의 r--
는 그외 사용자(Other)의 파일접근 권한
숫자로도 표시 가능(8진수)
chmod 777 sample.txt
파일 소유권(Ownership)
-> 파일을 소유한 사용자와 그룹을 의미
chown/chgrp 명령
-> 파일의 소유권을 바꾸는 명령어
링크
파일의 링크에는 하드 링크와 심볼릭 링크 두 가지가 있다.
하드 링크를 생성하면 하드링크파일
만 하나 생성되며 같은 inode1
을 사용
ln basefile hardlink
inode2
를 만들고, 데이터는 원본 파일을 연결하는 효과ln -s basefile softlink
RPM
자주 사용하는 RPM 명령어 옵션
rmp -Uvh 패키지파일이름.rpm
#
마크로 화면에 출력rpm -e 패키지이름
rpm -qa 패키지 이름 = 패키지가 설치되었는지 확인
rpm -qf 파일의 절대경로 = 파일이 어느 패키지에 포함된 것인지 확인
rpm -qlp 패키지파일이름.rpm = 패키지에 어떤 파일들이 포함되었는지 확인
rpm -qip 패키지파일이름.rpm = 패키지 파일의 상세정보
YUM
rpm
명령의 패키지 의존성 문제를 완전하게 해결함yum install 패키지이름
yum -y install 패키지이름 = -y는 사용자의 확인을 모두 "yes"로 간주하고 설치를 진행
yum localinstall rpm파일이름.rpm
yum check-update
yum update 패키지이름
yum remove 패키지이름
yum info 패키지이름
YUM 고급 사용법
yum groupinstall "패키지그룹이름"
yum list 패키지이름
yum clean all
YUM 작동 방식 설정 파일
/etc/yum.conf 파일
: 특별히 변경할 필요 없음/etc/yum.repos.d/ 디렉터리
: yum 명령을 입력했을 때 검색하게 되는 네트워크의 주소가 들어 있는 여러 개의 파일이 있음/etc/yum.repos.d/ 디렉터리의 *.repo 파일
: CentOS-Base.repo : [base], [extra] 만 남기고 [updates] 부분은 삭제했다. 즉 , 출시 시점의 원본 패키지만 설치됨파일의 압축과 묶기
파일 압축
파일 압축 관련 명령어
xz 파일명 = 압축
xz -d 파일명.xz = 압축 풀기
bzip2 파일명
bzip2 -d 파일명.bz2
bunzip2 = bzip2 -d 와 동일한 명령어
gzip 파일명
gzip -d 파일명.gz
gunzip = gzip -d 와 동일한 명령어
파일 묶기
파일 압축
과 파일 묶기
는 원칙적으로 별개의 프로그램으로 수행tar
이며, 묶인 파일의 확장명도 tar
이다.파일 묶기 명령 (tar)
tar : 확장명 tar로 묶음 파일을 만들어 주거나 묶음을 풀어준다.
동작 : c(묶기)
, x(풀기)
, t(경로확인)
옵션 : f(파일)
, v(과정보이기)
, J(tar.+xz)
, z(tar+gzip)
, j(tar+bzip2)
사용 예
tar cvf my.tar /etc/sysconfig/ -> 묶기
tar cvfj my.tar.xz /etc/sysconfig/ /etc/sysconfig/ -> 묶기 + xz 압축
tar xvf my.tar -> tar 풀기
tar xvfj my.tar.xz /etc/sysconfig/ -> 압축 해제 + tar 풀기
파일 위치 검색
find /etc -name "*.conf"
find /bin -size + 10k -size -100k
find /home -name "*.swp" -exec rm {} \;
CRON과 AT
cron
42 4 1 * * root run-parts /etc/cron.monthly
매월 매주 1일 4시 42분에 이 /etc/cron.monthly 디렉토리 안에 있는 명령들을 자동으로 실행한다.
at
cron은 주기적으로 반복되는 작업을 예약하는 것이지만, at은 일회성 작업을 예약
사용 예
at 3:00am tomorrow -> 내일 새벽 3시
at 11:00pm january 30 -> 1월 30일 오후 11시
at now + 1 hours -> 1시간 후
enter
ctrl + d
at -l
atrm <작업번호>
네트워크 관련 필수 개념
프로토콜
중 가장 널리 사용되는 프로토콜의 한 종류중요한 네트워크 관련 명령어
nmtui
systemctl <start/stop/restart/status> network
ifup <장치이름> 및 ifdown <장치이름>
ifconfig <장치이름>
ping <IP주소 또는 URL>
네트워크 설정과 관련된 주요 파일
/etc/sysconfig/network
/etc/sysconfig/network-script/ifcfg-ens32
/etc/resolv.conf
/etc/hosts
-KT에서 제공하는 DNS 서버
168.126.63.1
파이프, 필터, 리다이렉션
|
문자를 사용함ex) ls -| /etc | more
ex) ps -ef | grep bash
ls -l > list.txt
sort < list.txt > out.txt
프로세스, 데몬
정의
포그라운드 프로세스
백그라운드 프로세스
프로세스 번호
작업 번호
부모 프로세스와 자식 프로세스
kill
하면, 자식 프로세스도 자동으로 kill
됨현재 프로세스의 상태를 확인하는 명령어
ps
ps -ef | grep <프로세스 이름>을 주로 사용함
kill -9 <프로세스 번호>는 강제 종료
pstree
서비스와 소켓
서비스
systemctl start/stop/restart 서비스이름
으로 사용된다.systemd
가 구동시킨다. 그리고 요청이 끝나면 소켓도 종료된다./usr/lib/systemd/system/
디렉토리에 소켓이름.socket 이름으로 존재한다.