08. Linux Commands

chelseey·2024년 11월 13일

Command vs. Instruction

Command
: 운영체제에 요청해서 실행하는 독립적인 실행 프로그램

cat, ls, cp, bash, vi, gcc

내부 명령어는 bash가 스스로 처리, 운영체제에 요청하지 않음. ex) cd

Instruction
: CPU가 수행하는 기계어 명령어

add, sub, jump, branch, load, store

more / less

more
: 텍스트 파일의 내용을 화면에 출력

more FILE

내용이 길 경우 한 화면씩 끊어서 보여줌 (cat과 차이점)

less
: more와 비슷하지만 화면을 넘기며 텍스트의 내용을 앞뒤로 이동 가능

wc (word count)

wc [-lwc] FILE

l : 라인 수(줄 수)를 계산
w : 단어 수를 계산
c : 문자 수를 계산

su (switch user)

su [user_id]

сmp

: 파일 간의 내용을 바이트 단위로 비교, 첫 번째로 다른 부분의 바이트 위치와 해당 줄 번호를 출력

cmp [options] file1 file2

ex)

id / logname

id
: 사용자의 UID(User ID), GID(Group ID), 사용자가 속한 group ID 정보를 출력

$ id [options] [user_name]

ex)

uid=3471: 사용자 242LinuxEx314의 고유 사용자 ID.
gid=3471: 기본 그룹 ID가 3471이며 그룹 이름도 242LinuxEx314.
groups=3471: 사용자가 속한 그룹 목록. 여기서는 기본 그룹 하나만 존재.

logname
: 현재 로그인된 사용자 이름(login name)을 출력

$ logname

w (who)

: 현재 시스템에 로그인한 사용자들에 대한 정보를 출력

w [options] [user_name]

• root 사용자:
TTY: 물리적 터미널(tty1)에서 로그인.
FROM: 로컬 접속이므로 표시 없음.
IDLE: 26일 동안 활동이 없음.
WHAT: 쉘(-bash)에서 대기 중.

• 242Linux 사용자:
TTY: 가상 터미널(pts/0).
FROM: IP 주소 221.142.53.231에서 원격 접속.
IDLE: 마지막 입력이 2초 전.
WHAT: 현재 w 명령 실행 중.

gzip

: 파일 압축을 위한 프로그램, 압축률이 좋고 효율적인 방식으로 데이터를 압축

gzip foo.txt	//파일 압축

foo.txt 파일을 압축하여 foo.txt.gz 파일을 생성,
원본 파일(foo.txt) 삭제

gzip -d foo.txt.gz	//파일 입축 해제

압축된 파일(foo.txt.gz)의 압축을 해제하여 원본 파일(foo.txt) 복원,
.gz 파일은 삭제

tar (Tape ARchive)

: 여러 파일을 하나의 파일로 묶음, 압축은 하지 않음.

tar [옵션] [아카이브 파일 이름] [대상 파일/디렉토리]

• 파일 묶기

$ tar cvf files.tar foo.txt bar.txt

foo.txt와 bar.txt를 묶어 files.tar 파일이 생성.

• 파일 제거 후 확인

$ rm foo.txt bar.txt
$ ls
files.tar

: foo.txt와 bar.txt를 삭제하여 files.tar만 남음.

• 파일 복원

$ tar xvf files.tar

: files.tar에서 foo.txt와 bar.txt를 다시 추출

gzip 파일과 결합된 tar 사용법

• 파일 묶기

$ tar cvf files.tar foo.txt bar.txt

: foo.txt와 bar.txt를 하나의 파일(files.tar)로 묶음.

• 파일 묶고 gzip으로 압축

$ gzip files.tar

: 결과 파일: files.tar.gz

• 묶기와 압축을 동시에 수행

$ tar czvf files.tar.gz foo.txt bar.txt

z: gzip 압축 추가.
: foo.txt와 bar.txt를 묶고 gzip으로 압축하여 files.tar.gz 생성.

•압축 해제 및 파일 추출

$ tar xzvf files.tar.gz

: files.tar.gz의 압축이 해제되고, foo.txt와 bar.txt가 현재 디렉토리에 복원.

x: 압축 해제 및 파일 추출 (extract).
z: gzip 압축 해제.
v: 추출 과정을 자세히 출력.
f: 대상 파일 지정.

sort

: 텍스트 파일의 내용을 특정 기준에 따라 정렬

sort [options] [FILE]

옵션을 사용하지 않으면 기본적으로 ASCII 값에 따라 정렬
(공백 → 대문자 → 소문자 순)

ex)

$ vi sort
bat
 cat
apple
 Dog
Apple

uniq

: 텍스트 파일의 중복된 행을 제거.
정렬된 데이터에서만 중복된 행을 제거하거나 처리할 수 있음.

uniq [options] [파일 이름]

finger

: 지정된 사용자의 계정 정보를 확인하거나
(user_id)를 지정하지 않으면현재 시스템에 로그인한 모든 사용자 정보를 출력.

finger [options] [user_id]

l : 자세한 사용자 정보 출력
s : 간단한 사용자 정보 출력

chfn (change finger)

: finger 정보를 변경하는 데 사용

write

: 같은 시스템에 로그인한 사용자에게 메시지를 전송

$ write [user-id]

wall

: 현재 시스템에 로그인한 모든 사용자에게 메시지를 전송

$ wall [파일 이름]

mesg

: 다른 사용자로부터의 메시지 수신 가능여부를 지정

0개의 댓글