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
: 다른 사용자로부터의 메시지 수신 가능여부를 지정