eajni IT 초보사전 💦💦

[OS/Linux] 명령어

2023-11-06
     

기본 명령어

경로를 슬래시(/)로 구분 확장자 상관 없이 호출 가능 (리눅스는 확장자 개념이 없음) 대소문자 구분

명령어 설명
ls list, 윈도우 dir과 같음
cd change directory, 홈디렉터리로 이동
pwd present working directory, 현재 디렉터리 전체 경로 확인
touch 파일 생성
cp copy, 파일 복사
rm remove, 파일 삭제
mv move, 파일/디렉터리 이동
mkdir make directory, 새 디렉터리 생성
rmdir remove directory, (비어있는) 디렉터리 삭제
cat concatenate, 파일(들) 내용 순서대로 전체 출력
head/tail 텍스트 파일 앞/뒤 내용 출력
file 파일 종류(확장자) 출력
clear 명령창 내용 지우기
history 이전 수행 명령 출력

기본 명령어 사용

ls

ls [OPTION]
옵션 설명
-al all, 숨김 파일 포함 전체 목록 출력
-l long, 자세한 정보의 파일 목록 출력
-S size, 파일 크기 순 목록 출력
-r reverse, 파일명 알파벳 역순 목록 출력
-R recursive, 하위 디렉터리까지 출력
-h human, 파일 크기를 보기 좋게 정렬해 목록 출력

cd

cd [PATH]...
옵션 설명
. 현재 디렉터리
.. 상위 디렉터리
/ 최상위 디렉터리
~ 현재 사용자의 홈 디렉터리로 이동
[PATH] 원하는 경로를 지정해 이동
- 이전 경로로 이동

cat

cat [OPTION] [FILE] [FILE]...
옵션 설명
-n 모든 라인에 라인 번호 출력
-b 비어있지 않은 라인 번호 출력
[FILE] > [FILE] 파일 내용 합치기
[FILE] | more 파일 내용 페이지 단위로 출력
*.txt 특정 확장자 모든 파일 내용 출력
cp abc.txt zzz.txt # abc.txt 복사해 zzz.txt 생성

touch abc.txt # (크기가 0인) 새 파일 생성
			 # 위험 높은 파일명을 미리 생성해두어 보안성 향상 기능하기도 함

mv abc.txt zzz.txt #zzz.txt로 이름 변경/위치 이동

.abc.txt #숨김파일 설정

head /etc/systemd/bootchart.conf #bootchart.conf 내용 앞 10행 출력

tail -n 15 /etc/systemd/bootchart.conf #bootchart.conf 파일 뒤 15행 출력

file /etc/systemd/system.conf #system.conf 파일 유형 출력

tail -f /var/log/syslog # foreground 옵션
					  # (관제) 새로운 로그 실시간 출력 시 유용

clear # 명령창을 깨끗이 지움



사용자/그룹 명령어

기본정보 설정

명령어                       설명                                
adduser [USER] 새로운 사용자 추가                  
passwd [PWD] 사용자 비밀번호 지정/변경            
usermod [ATTR] [OLD] [NEW] 사용자 속성 변경                    
userdel [USER] 사용자 삭제                          
chage  [TIME] [USER] 사용자 비밀번호 주기적으로 변경 설정
groups 현재 사용자의 그룹 조회              
groupadd [GROUP] 그룹 생성
groupmod [ATTR] [OLD] [NEW] 그룹 속성 변경                            
groupdel [GROUP] 그룹 삭제                                    
gpasswd [PWD] 그룹 암호 설정, 관리                                    

파일 접근 설정

파일 유형 파일 허가권 링크 수 파일 소유자 파일 소유 그룹 파일 크기 최근 변경 일자 파일 이름
d 디렉터리
- 일반 파일
s 소켓 파일
l 링크 파일
r(4) 읽기
w(2) 쓰기
x(1) 실행
           
명령어 설명
chmod [user|group|other] [FILE] 파일 허가권 변경
chown/chgrp [FILE] 파일 소유권 변경

패키지 관리 명령어

명령어 설명
apt install [PKG] [-y] [사용자 확인을 모두 y로 설정하고] 설치
apt update 패키지 목록 업데이트
apt remove [PKG] 특정 패키지 삭제
apt autoremove 사용하지 않는 패키지 제거
apt clean 내려받은 파일 제거

압축/해제 명령어

확장명 설명
xz [FILE] xz파일 압축(압축률 높음)
xz -d [FILE].xz xz파일 압축 해제
bzip2 [FILE] bz2파일 압축(압축률 높음)
bzip2 -d [FILE].bz2 bz2파일 압축 해제
gzip [FILE] gz파일 압축
gzip -d [FILE].gz gz파일 압축 해제
zip [SAVE_AS].zip [FILE] zip파일 압축
unzip [FILE].zip zip파일 압축 해제
명령어 동작 옵션
tar c (묶기) f (파일)
  x (풀기) v (과정 보이기)
  t (경로확인) J (xz파일로 묶기)
    j(bz2파일로 묶기)
    z(gzip)

작업 예약

cron

# 기본 구조
ss mm hh dd ww action

crontab -e # 예약
crontab -l # 예약 목록 확인
crontab -r # 모든 예약 취소
crontab -u user1 #user1이 등록한 예약 목록 확인

시간

의미 범위
Seconds 0~59
Minutes 0~59
Hours 0~23
Day 1~31
Month 1~12 / JAN~DEC
Week 0~6 / SUN~SAT
Year 1970~2099

특수문자

문자 설명
* all
?  
[n]-[m] between n and m
[n],[m] n or m…
[n]/[m] from n, every m
L last
W closest weekday
[n]#[m] date m in week n

at

at 3:00am tomorrow reboot #내일 오전 3시에 재부팅
at now + 1hours reboot #1시간 후 재부팅
at -l #예약 확인
atrm [job_num] #예약 취소 

sleep

sleep 5: touch new.txt #5초 후 new.txt. 생성

사용자 접근 설정 실습


# user1 계정 추가
adduser user1
ls -altr

# 사용자 패스워드 12345 설정
passwd user1
12345

# /etc/passwd 파일을 내 디렉토리에 passwd.backup 파일로 복사
cd
pwd
cp /etc/passwd ./passwd.backup
ls -altr 

# 복사한 파일을 아무도 읽을 수 없게 소유권 변경
chmod 000 ./passwd.backup

# 내 홈 디렉토리에 sysBackup 디렉토리 생성, passwd.backup 파일 옮기기
mkdir sysBackup
ls
mv passwd.backup ./sysBackup

# 로그인할 수 없도록 변경
vi /etc/passwd
user1: /usr/sbin/nologin


VI 에디터 명령어

파일 생성/열기

vi [FILE]

모드 변경

Command Mode

esc 입력시 작동

커서 이동 설명
h 왼쪽
j 위쪽
k 아래쪽
l 오른쪽
H 파일 최상단
M 파일 중간
L 파일 최하단
텍스트 다루기 설명
x 현재 커서 위치 삭제
X 현재 커서의 앞 글자 삭제
dd 현재 행 전체 삭제
[n] dd 현재 행부터 n행 삭제
yy 현재 행 전체 복사
[n] yy 현재 행부터 n행 복사
p 현재 행 이후에 붙여넣기
P 현재 행 이전에 붙여넣기

Insert Mode

텍스트 입력 명령어 작성 시 작동

텍스트 입력 설명
i 현재 커서 위치 입력(입력모드로 전환)
I 현재 행 맨 앞부터 입력(입력모드로 전환)
a 현재 커서 뒤에 입력(입력모드로 전환)
A 현재 행 맨 뒤에 입력(입력모드로 전환)

Escape Mode

콜론(:) 입력 시 작동

작업 종료 설명
w 다른이름으로 저장
w! 덮어쓰고 강제 종료
q 종료
q! 저장 없이 종료
wq 저장 후 종료
i 취소
기타 명령어[^기타명령어] 설명
s/pattern 특정 단어 찾기
s/old/replace 특정 단어 바꾸기
[n]d n번째 줄 삭제
[n],[m]d n~m번째 줄 삭제
[n],[m] co $ n~m번째 줄 복사 후 맨 뒤에 붙여넣기
[n] mo [m] n번째 줄 복사 후 m번째 줄 뒤로 이동

Similar Posts

Comments