본문 바로가기

old drawer/Linux

Linux 명령어 모음

addbib  -  도서목록 형식의 데이터베이스를 만들거나, 확장
apropos  - 사용설명서의 키워드 검색
ar       -  라이브러리 만들기, 관리
at, batch - 원하는 시간에 원하는 명령을 실해하게 하는 명령
awk     - 패턴 검색과 언어 처리
banner   - 큰 글자(배너) 만들기
basename - 경로 이름에서 마지막에 있는 이름만 출력
biff     - 자신에게 편지가 배달되면 알려주는 명령
bin-mail, binmail - 예전에 사용한 전자우편 프로그램
cal     - 달력보기
calendar - 간단한 일정표
cat    - 파일 병합과 내용 보기
cb     - 간단한 C 프로그램 beautifier(?)
cc     - C 컴파일러
cd    - 작업 디렉토리 바꾸기
checknr - nroff 또는 troff 입력 파일 검사; 오류를 보여준다
chgrp  - 파일의 사용자 그룹 바꾸기
chmod - 파일의 접근 권한 바꾸기
clear  - 터미날 화면 깨끗이 하기
cmp   - 두 파일을 바이트 단위로 비교
colcrt  - troff 파일의 밑줄 속성 문자 처리
comm  - 지정 두파일의 줄 단위 비교와 그 처리
compress, uncompress, zcat - 파일 압축관련 유틸리티들
cp     - 파일 복사
cpio   - copy file archives in and out
cpp    - C 언어 전처리기
csh    - C 문법과 비슷한 쉘 스크립트 문법과 기타 여러 기능이 내장된 쉘
ctags  - ex 나 vi 편집기에서 사용될 tag 파일을 만드는 명령
date    - 시스템 시간 보기나 지정하기
dbx    - 소스 수준의 디버거
deroff  - nroff, troff, tbl, eqn 관련 내용 지움
df     - disk free: 디스크의 남은 용량 보기
diff    - 두 파일의 차이점 비교
du     - disk used : 디스크 사용량 보기
echo   - 인자를 표준 출력으로 출력
ed, red - 기본 줄 편집기
eqn, neqn, checkeq - 수식 표현 포멧 도구
error   - 컴파일러 오류 메시지 목록
ex, edit, e - 줄 편집기
expand, unexpand - TAB 문자를 공백문자로 바꿈, 또는 그 반대로
expr    - 인자를 수식으로 처리
file     - 파일 형식 알아보기
find    - 파일 찾기
finger   - 사용자 정보 알아보기
fmt, fmt_mail - 간단한 문서나, 편지 포멧 도구
fold    - 긴 줄 출력 방법 지정
ftp     - 파일 전송 프로그램
gcore   - 실행 중인 프로세스의 core 이미지를 구한다.
gprof   - call-graph profile data(?)를 보여줌
grep   - 문자열 찾기
groups - 사용자의 그룹을 보여줌
history - 이전 명령 보기
hostname - 현재 시스템 이름을 보여줌
imake   - makefile 만드는 프로그램
indent  - C 프로그램 소스 파일을 들여쓰기 하는 포멧 도구
install  - 파일 설치
join    - 관계형 데이터베이스 연산자
kill     - 프로세스  stop :-)
last     - 사용자가 마지막 접속 상태를 보여줌
ld, ld.so - 링크 편집기, 동적 링크 편집기
leave    - 자신의 접속 종료 시간을 알려줌
less     - more 명령의 확장
lex     - 어휘 분석 프로그램 생성기
lint     - C 프로그램 verifier
ln      - 파일의 하드, 심벌릭 링크 명령
login   - 시스템 접속 명령
look    - 시스템 디렉토리나, 정열된 목록에서 단어 찾기
lookbib - 도서목록형 데이타베이스에서 찾기
lorder  - 오브젝트 라이브러리의 관계 찾기
lp, cancel - 인쇄 시작, 취소
lpq     - 인쇄 작업 상황 보기
lpr     - 인쇄
lprm   - 인쇄 작업 지우기
ls      - 디렉토리 내용 보기
mail, Mail - 전자 우편 프로그램
make   - 실행 파일을 만들거나, 특정 작업 파일을 만들 때 사용하는 도구
man    - 온라인 사용자 설명서를 보는 명령
mesg   - 메시지 수신 상태를 보거나 지정
mkdir   - 디렉토리 만들기
mkstr   - C 소스 파일을 참조로 오류 메시지 파일을 만듬.
more, page - 텍스트 파일 보기 명령
mv     - 파일 이동이나, 이름 바꾸기
nawk   - 패턴 검색과 언어 처리
nice    - 낮은 우선권에서 명령 실행
nm     -  심블 이름 목록 보기
nroff   - 문서 포멧 도구
od     - 8진수, 10진수, 16진수, ascii 덤프
passwd, chfn, chsh - 비밀번호, 핑거정보, 쉘 바꾸기
paste   - 여러파일의 서로 관련 있는 줄 연결시키기
pr      - 문서 파일 양식화 도구
printenv - 현재 환경 변수들의 내용과 그 값 알아보기
prof     - profile 자료 보기
ps      - 현재 프로세스 정보 보기
ptx     - permuted(순열화된?, 교환된?) 색인 만들기
pwd     - 현재 작업 디렉토리 보기
quota   - 한 사용자에게 지정된 디스크 할당량보기
ranlib   - archive를 random 라이브러리로 변화
rcp     - 리모트 카피
rcs     - RCS 파일 속성 바꾸기
rcsdiff  - RCS revisions 비교
rev     - 한 줄의 문자열 꺼꾸로
rlogin   - 리모트 로그인
rm, rmdir - 파일, 디렉토리 지우기
roffbib   - 도서목록형 데이터베이스 보기 또는 양식화
rsh     - 리모트 쉘
rup     - 로칼 머쉰의 호스트 상태 보기(RPC version)
ruptime - 로칼 머쉰의 호스트 상태 보기
rusers   - 현재 접속자 보기 (RPC version)
rwall   - 모든 사용자에게 알림(RPC)
rwho    - 현재 접속자 보기
sccs    - Source Code Control System (SCCS)
sccs-admin, admin   - SCCS 사용 내역 파일을 만들고, 관리
sccs-cdc, cdc        - SCCS 델타의 델파 주석을 바꿈
sccs-comb, comb    - SCCS 델타 조합
sccs-delta, delta     - SCCS 파일에 데해 델타를 만듬
sccs-get, get        - SCCS 파일 버전확인
sccs-help, help      - SCCS 오류나 경고 메시지 검색
sccs-prs, prs       - SCCS 사용내역의 선택된 부분 보기
sccs-prt, prt        - SCCS 파일에서 델타 테이블 정보를 봄
sccs-rmdel, rmdel   - SCCS 파일에서 델타를 지움
sccs-sact, sact      - SCCS 파일의 편집 상태를 봄
sccs-sccsdiff, sccsdiff - SCCS 파일들의 버전 비교
sccs-unget, unget   - SCCS 파일의 미리 얻은 것(?)을 취소한다.
sccs-val, val       - SCCS 파일 유요화
script     - 화면 갈무리
sed       - stream editor
sh        - 유닉스 표준 쉘
size       - 오브젝트 파일의 크기들을 보여줌
sleep     - 지정한 시간 만큼 실행 보류
sort      - 줄 정열과 검색
sortbib    - 도서목록형 데이터베이스 정열
spell, hashmake, spellin, hashcheck - 맞춤범 검사(물론 영어겠지요)
split      - 파일 나누기
strings   - 오브젝트 파일이나, 실행 파일에서 문자열 찾기
strip     - 오브젝트 파일에서 심벌 테이블과 중복된 비트 삭제
stty     - 터미날 설정
su      - super-user, 임시적으로 새 ID로 바꿈
symorder - 심벌 순서 바꿈
tabs    - 터미날 tab 크기 지정
tail     - 파일의 끝 부분 보기
talk    - 다른 사용자와 이야기하기
tar     - 여러 파일 묶기 또는 묶긴 파일 풀기
tbl     - nroff 또는 troff의 도표 작성 도구
tee      - 표준 출력으로 방향 전환
telnet   - TELNET 프로토콜을 이용한 원격 리모트 호스트 접속
test     - 주워진 환경이 참인지, 거짓인지를 돌려줌
tftp     - 간단한 ftp.
time     - 명령 실행 시간 계산
touch    - 파일 날짜 관련 부분을 바꿈
troff     - 문서 양식화 도구
true, false - 쉘 스크립트에서 사용되는 참/거짓을 리턴하는 명령
tsort    - topological sort
tty     - 현재 터미날 이름 보기
ue      - MICROemacs
ul      - 밑줄 속성 문자 표현
unifdef - cpp 입력 줄에서 ifdef 부분 바꾸거나 지움
uniq   - 중복되는 빈줄 지우기
units   - 프로그램 변환도구
uptime  - 시스템 부팅 기간 보기
users   - 현재 접속 사용자 보기
uucp, uulog, uuname - 시스템 간의 복사
uuencode, uudecode - 이진 파일을 아스키파일로 인코딩, 반대로 디코딩
uusend   - 리모트 호스트에 파일 보내기
uux     - 리모트 시스템 명령 실행
vacation  - 자동으로 편지 답장하기
vgrind   - grind nice program listings
vi, view, vedit - ex 바탕의 편집기
vtroff    - 문서 양식화 도구
w       - 현재 누가 접속해 있으며, 무엇을 하고있는지
wait     - 프로세스가 마치기를 기다림
wall      - 모든 사용자에게 알림
wc       - 단어, 줄, 바이트 계산
what    - 파일에서 SCCS 버전 정보 알아냄
whatis   - 명령의 간단한 설명 보여줌
whereis   - 찾는 명령의 실행파일, 소스, 맨페이지가 어디 있는지 경로를 보여 줌
which    - 명령만 찾음.
who     - 시스템에 접속되어 있는 사람만 보여줌
whoami - 현재 사용하고 있는 자신이 누군지 보여줌
write   - 다른 사용자의 화면에 특정 내용을 알림
xargs   - 명령행 인자 처리 명령
xstr    - extract strings from C programs to implement shared strings
yacc    - yet another compiler-compiler: 파싱(형태소분석) 프로그램 생성기
yes     - 항상 yes만 응답하는 명령
zcat     - 압축 파일 내용보기




[2]명령어 상세


adduser
루트로 로그인해서 이용자를 추가
$ adduser [ID]


admin
SCCS(Source code control system) 파일을 작성 또는 관리를 위한 명령어
$ admin [-nirtfdaemyhz] files
-n  : 신규 SCCS 화일을 작성
-i[name] : 신규 SCCS 화일에 등록된 화일명(name)
-f  : flag SCCS 화일에 등록하는 플래그들의 값을 지정
-r  : 번호 초기 델타의 릴리즈 번호 지정은 -i와 함께 사용
-t[name] : SCCS 화일의 주석문으로 등록되는 화일명(name)
-e  : login 델타 작성 가능한 사용자 리스트로 부터 삭제되는 로그인명
-h  : 신규 check sum을 계산하고 기존 check sum과 비교
-z  : check sum을 계산하여 SCCS 화일에 기록


alias
자주 쓰이는 명령어를 쓰기 편하게 바꾸는 명령
$ alias [새로만들 명령어]='[기존 명령어] [옵션]'


$ alias cp='cp -i'
$ alias la='ls $LS_OPTIONS -a'
$ alias less='less -rf'
$ alias lf='ls $LS_OPTIONS -F'
$ alias ll='ls $LS_OPTIONS -l'
$ alias ls='ls $LS_OPTIONS'
$ alias mv='mv -i'
$ alias rm='rm -i'
$ alias dir='ls -al


ar
아카이브 화일에 있는 화일의 그룹들을 유지 관리하는 명령어
$ ar [-X32_64] [-]{dmpqrstx}[abcfilNoPsSuvV] [member-name] [count] archive-file file...
$ ar -M [<mri-script]


d  : delete file(s) from the archive
m[ab] : move file(s) in the archive
p  : print file(s) found in the archive
q[f]  : quick append file(s) to the archive
r[ab][f][u] : replace existing or insert new file(s) into the archive
t  : display contents of archive
x[o]  : extract file(s) from the archive
command specific modifiers:
[a]  : put file(s) after [member-name]
[b]  : put file(s) before [member-name] (same as [i])
[N]  : use instance [count] of name
[f]  : truncate inserted file names
[P]  : use full path names when matching
[o]  : preserve original dates
[u]  : only replace files that are newer than current archive contents
generic modifiers:
[c]  : do not warn if the library had to be created
[s]  : create an archive index (cf. ranlib)
[S]  : do not build a symbol table
[v]  : be verbose
[V]  : display the version number
[-X32_64] : (ignored)


at
프로그램을 지금이 아닌 나중에 실행하도록 예약한다.
$ at [option]
-q 큐  : 대소문자 알파벳으로 큐를 지정한다. 순서적으로 빠른 알파벳이 지정된 큐 일수록 CPU 시간 점유 우선권이 낮다.
-r 작업번호 : 큐에서 작업 번호가 지시하는 작업을 지운다. 슈퍼유저가 아니라면 자신의 작업만을 지울 수 있다.
-l  : 현재 계획된 작업들의 목록을 보여준다. 슈퍼 유저라면 모든 작업들의 계획목록을 보여준다.
-m  : 작업이 완결되면 사용자에게 메일을 보낸다.
-f filename : 표준 입력이 아닌 지시된 파일에서 작업을 읽어온다.
  ps- 수행 시간 지정 명령어 -->at 11:30 pm


awk
program file에서 기술된 pattern들 중 일치되는 line 을 찾기 위해 입력 화일을 검색하는 명령어
$ awk [-Fc] [profile] [file] ...
$ awk [-Fc] [-f profile] [file] ...
-Fc  : 입력필드의 구분기호로서 c를 이용
-f  : progam file로서 다음 인수 사용


background : 하나의 명령을 수행시킨후 그 수행의 종료 이전에 다른 명령을 수행 하는 것
     명령어 끝에 &로 표시 (cc -o test1 test1.c &)


banner
인수로 주어진 문자열을 큰 글씨로 만들어서 출력
$ banner [ -w [숫자] ] 문자열
-w  : 옵션 지정만 하면 80 칼럼으로 폭을 바꾼다. 지정하지 않으면 132 칼럼으로 내정되어 있다. -w 옵션 뒤에 숫자를 지정하면 원하는 폭으로 조정할 수 있다.


bang
'!' 문자를 부르는 말로, C shell에서 '!!'를 명령어 라인에 입력하면, 마지막 명령을 반복하며, Bang!Bang!(뱅뱅)이라고 부른다.


bash
bash 셸이 아닌 사용자가 셸을 변경하고자 할 때 사용하는 명령입니다.
bash셸은 일반적으로 Linux의 기본 셸로 지정되어 있습니다.
만약 다른 셸을 사용하고 있으면서 bash 셸로 바꾸기 위한 명령은 다음과 같습니다.
# bash     (enter)'


bc
C Language와 유사한 대화식 번역기이며 무제한 정도의 연산을 제공하는 명령어
$ bc [-cl] [file ... ]
-c  : compile만 한다
-l  : 임의 정밀도의 수학 library명을 의미


bg %1( " ) : 포그라운드로 " " 백그라운드로 전환

biff
전자우편의 수신을 즉시 알려주는 동작을 가능하게 할 것인지 그렇지 않은 지의 여부를 보여주거나 결정
$ biff [ y 혹은 n]

닉스 셸은 사용중이라도 주기적으로 전자우편의 수신 여부를 점검한다. 만일 사용자가 전자우편이 도착하는 즉시 알고자 한다면
biff를 사용하여 그것을 지시할 수 있다. 또는 언제라도 그 기능을 해제할 수도 있다. biff는 인수없이 사용되면 현재 어떤
상태로 되어 있는지 보여준다. 기능 설정과 해제 여부는 y 혹은 n 인수를 주어서 결정한다.


bzip2
자료를 압축하기 위한 새로운 알고리즘이다. 보통은 gzip으로 한 것의 60-70%의 크기로 압축한다.
bzip2는 압축률과 복원률에서 탁월한 성능을 자랑하고 있다. 또한 UNIX 및 WIN32에서 모두 사용할 수 있으며 프로그램은 GNU을 따르므로 누구든지 사용할 수 있다.


cal
서기 원년부터 9999년까지의 달력을 볼 수 있다 .
$ cal [-jy] [ [ 달 ] 연도 ]
-j  : 1월 1일부터 날짜수를 계산하는 julian 날짜를 표시한다.
-y  : 올해의 달력을 표시한다.
      cal 9 1995 : unix 시스템에 내장되어있는 달력을 화면에 출력


cancel [print name] ; 프린터 취소

cat
파일의 내용을 표준 출력으로 내보내어, 파일내용을 알아보거나, 여러 파일을 하나의 파일로 출력하여 연결합니다. 또는 표준 입력으로부터 파일을 만들 수도 있습니다.
$ cat [option] file_name(s)
-b  : 공백 외의 글자가 있는 모든 행의 개수를 센다.
-e  : 제어 문자를 ^ 형태로 출력하면서, 각 행의 끝에 $를 추가한다. -vE와 같다.
-n  : 각 행을 출력하면서 행 번호를 함께 첨부한다.
-s  : 중복되고 겹치는 빈 행은 하나의 빈 행으로 처리한다.
-r  : 행바꿈 문자를 제외한 제어 문자를 ^ 형태로 출력한다. -vT와 같다.
-u  : 유닉스 호환성을 위해 추가된 옵션으로서 무시된다.
-v  : tab과 행바꿈 문자를 제외한 제어 문자를 ^ 형태로 출력한다.
-E  : 각 행마다 끝에 $ 문자를 출력한다.
-T  : 시로서 탭(tab) 문자를 출력한다.
-A  : -vET 옵션을 사용한 것과 같은 효과를 가진다.


cat address.list : 파일의 내용을 화면에 출력한다

cat : 파일을 작성하거나 파일의 내용을 간단하게 출력
  # cat test1.c
  # cat > test1.c


cc
C Language를 compile 하는 compiler
$ cc [option] file
-c  : compile의 linkage editor 단계를 억제한다
-E  : 지정된 C program에 대해 cpp만을 실행하고 결과는 표준출력하지 않는다
-f  : C program에서 부동소수점을 포함하는 코드를 linkage editor시킨다
-o  : outfile outfile이라는 화일명으로 목적프로그램을 저장하며 생략시는 a.out에 저장
-s  : C program을 compile 하지만 assemble하지 않으며 어셈블리 언어 출력은 .S가 붙은 화일에 저장
cc test.c
  -옵션 -r: 이전에 지정된 작업 취소, -l : 지정된 작업 번호 출력
  (sleep 20; cc -o sample sample.c)& -->백그라운드 실행, 20초 뒤 프로그램 컴파일
  (sleep 10; ps -el) --> 10초후 모든 프로세서 상태 출력
  time cc -o test test.c --수행 시간 출력 명령어


cd
디렉토리를 변경
$ cd [directory]
$ cd cgi-bin : 하부 디렉토리인 cgi-bin으로 들어감.
$ cd .. : 상위디렉토리로 이동
$ cd or cd ~ : 어느곳에서든지 자기 홈디렉토리로 바로 이동
$ cd /webker : 현재 작업중인 디렉토리의 하위나 상위 디렉토리가 아닌 다른 디렉토리(webker)로 이동하려면 /로 시작해서 경로이름을 입력하면 된다.


chfn
사용자의 finger 정보를 바꾸는 명령어입니다.

chgrp
파일의 그룹 소유권을 바꾼다.
$ chgrp [option] 그룹_파일들
-c  : 실제로 소유자가 바뀐 파일에 대해서 자세히 기술한다.
-f  : 파일의 그룹 소유권을 바꿀 수 없더라도 에러 메시지를 출력하지 않는다.
-v  : 소유권의 바뀜에 대해서 자세히 기술한다.
-R  : 디렉토리와 그 내용 파일들의 소유권을 재귀적으로 모두 바꾼다.


chmod
화일 permission 제어
$ chmod [option] [file]
$ chmod [option] 레벨 동작 권한 파일이름(들)
-c  : 실제로 파일의 권한이 바뀐 파일만 자세히 기술한다.
-f  : 파일의 권한이 바뀔 수 없어도 에러 메시지를 출력하지 않는다.
-v  : 변경된 권한에 대해서 자세히 기술한다.
-R  : 디렉토리와 파일들의 권한을 재귀적으로 모두 바꾼다.
참고
예) -rwxr-xr-x guestbookt.html
rwx : 처음 3개 문자 = 사용자 자신의 사용 권한
r-x : 그다음 3개 문자 = 그룹 사용자의 사용 권한
r-x : 마지막 3개 문자 = 전체 사용자의 사용 권한


읽기(read)---------- 화일 읽기 권한
쓰기(write)---------- 화일 쓰기 권한
실행(execution)------ 화일 실행 권한
없음(-)------------ 사용권한 없음
chmod --- 파일 및 디렉토리에 이미 정해진 접근 허가 모드를 변경
  - 사용 형식: %chmod [ugoa] [+-=] [rwx] [file name]
  u: 파일 소유자, g: 그룹, o: 기타 사용자, a: 모든 사용자
  +: 사용허가부여, -: 사용허가박탈, =: 허가 취소
  r: 읽기 허가, w:쓰기 허가, x: 실행 허가
  특정 사용자를 지정하지 않으면 모든 사용자를 의미한다
  chmod go+r test.c ; 소유자 그룹과 기타 사용자에게 읽기 허가
  chmod ugo-w test.c ; 소유자,그룹,기타 사용자에게 읽기 허가 박탈
  chmod +x test.c
  chmod o -rwx test.c
  r = 4, w = 2, x =1
  chmod 744 test.c
  -rwxr--r-- 1 edul user 235 Oct 15 13:23 test.c
  chmod 724 test.c
  -rwx-w-r-- 1 edul user 235 Oct 15 13:23 test.c


chown
파일의 소유권을 다른 사람에게로 변경시킨다.
$ chown [option] [user file]
-c  : 실제로 파일의 소유권이 바뀐 파일만 자세히 기술한다.
-f  : 파일의 소유권이 바뀔 수 없어도 에러 메시지를 출력하지 않는다.
-v  : 변경된 소유권에 대해서 자세히 기술한다.
-R  : 디렉토리와 파일들의 소유권을 재귀적으로 모두 바꾼다.
파일의 소유권을 다른 사람에게로 바꾸는 것은 슈퍼 유저만이 할 수 있다.


chsh
사용자의 shell을 바꾸는 명령어입니다.


clear
화면 지우기


cmp
두 개의 파일 내용을 비교
$ Cmp [option] [file1] [file2]
-l  : 두 파일 내용을 비교하여 틀린 곳마다 byte수(10진수)와 틀린 byte수(8진수) 출력
-s  : 비교하여 틀린 내용을 출력하지 않고 return code 만 반환


comm              
두 개의 정렬(sort)된 화일에서 공통된 line을 선택하거나 삭제
$ comm [option] file1 file2
-1  : file1에만 있는 line을 출력하지 않는다
-2  : file2에만 있는 line을 출력하지 않는다
-3  : file1, file2 양쪽 화일에 있는 line을 출력하지 않는다


compress
확장자 .Z 형태의 압축파일 생성
$ compress [file]  : 압축시
$ uncompress [file]  : 해제시
compress test.c (파일 압축) --->uncompress test.c.Z (압축 풀기)


cp
화일 복사(copy)
$ cp [option] [file1] [file2]
$ cp [option] [file1] [directory]
-a  : 가능한한 원 파일의 구조와 속성을 그대로 복사한다.
-b  : 복사할 때 덮어쓰게 되는 파일은 백업을 만든다.
-d  : 심볼릭 링크는 심볼릭 링크로 복사한다. 그리고 원본 파일과의 하드 링크 관계를 유지한다.
-f  : 복사 위치에 존재하는 파일을 제거하고 복사한다.
-i  : 복사시 같은 이름의 파일이 존재한다면 덮어쓸 것인가 확인한다.
-I  : 하드 링크를 만든다.
-P  : 원본 파일의 소유자, 그룹, 권한, 시간 기록을 그대로 복사한다.
-r  : 파일과 하위 디렉토리에 포함된 파일 모두를 재귀적으로 복사한다.
-s  : 디렉토리가 아닌 파일의 심볼릭 링크를 만든다. 소스 파일의 이름은 전체 경로 이름으로 한다. 목적지 파일 이름은 전체 경로를 주지 않아도 현재 디렉토리로 간주되므로 상관없다.
-u  : 파일의 정보를 갱신한다.
-x  : 다른 파일 시스템인 하위 디렉토리는 무시한다.
-R  : 디렉토리를 재귀적(recursive)으로 복사한다.
cp :시스템내에 있는 특정 파일을 복사
  # mkdir temp --temp라는 디렉토리 생성
  # cp sample test temp --temp라는 디렉토리 밑에 sample 과 test 라는 파일을 복사
  # mkdir example
  # cp -r temp example --temp라는 디렉토리 아래에있는 모든 내용을 example디렉토리에 복사


cpio
아카이브 파일을 복사하여 입출력
$ cpio -o [abcv]
$ cpio -i [Bdmtuvsb] [patterns]
$ cpio -p [adlmv] directory
-o 복사 출력 : 화일을 path명과 정보 상태를 함께 출력
-i  복사 입력 : 표준 입력 화일로 부터 pattern에 일치하는 화일을 추출
-p  : *directory 내에 file 을 조건부로 작성하고 복사
command:
a  : *file 복사후 입력 화일의 최종 접근 시간을 reset한다
B  : 입출력을 5,120 byte의 레코드로 블럭화한다
c  : ASCII 문자로 헤드 정보를 쓴다
d  : 필요에 따라 directory를 생성
m  : 존재하는 최종 화일 수정 시각을 보존
r  : 대화 문법으로 화일명을 변경
t  : 입력 화일명 목록을 출력하여 화일은 작성되지 않는다
u  : 무조건 복사
v  : 화일명 목록을 출력


crontab
지정한 화일을 입력으로 받아 user의 크론탭 화일을 관리 및 directory로 복사하는 명령어
$ crontab [file]
$ crontab [-u user] file
$ crontab [-u user] { -e | -l | -r }
-l  : crontab 파일 목록을 보여준다.
-e  : 에디터를 사용하여 crontab 파일을 수정한다.
-d  : 사용자의 crontab 파일을 지운다.
-u user : 특정 사용자의 crontab 파일을 다루도록 지정한다.
   이 명령을 사용하려면 슈퍼 유저로 로그인해야만 한다.
crontab 파일 내의 빈 핵과 # 문자로 시작되는 행은 무시된다.
파일의 각 행은 M H D m d cmd 형태로 되어 있다. 필드의 에스테리스크(*)표시는 어떠한 값이든 일치하는 조건으로 가정한다는 의미이다.


csh
유닉스 C 셸이다. 하지만 리눅스에서는 tcsh에 링크되어 있는 파일에 불과하다.


cu
다른 system을 호출
$ cu [options] [system or phone-number]
-h  : 반이중 모드만을 지원하는 시스템을 호출
-t  : 자동응답 모드에 설정된 ASCII단말기 호출
-d  : message 출력
-o  : 홀수 parity 생성을 지시
-n  : 전화번호 입력을 요구
-l  : line 통일 회선 장치명을 지정
-s  : speed 전송 속도(1200,2400,4800,7200,9600 bps)를 지정


cut
파일에서 필드를 뽑아낸다. 필드는 필드 구분자나 문자 위치로 지정된다.
$ cut -c문자위치 [file1 file2]
$ cut -f필드 -d필드구분자 [-s] [file1 file2 ...]
-c문자위치  : 잘라낼 곳의 글자 위치를 지정한다. 콤마를 사용하거나 하이픈을 사용하여 범위를 정할 수도 있으며, 이런 표현들을 혼합하여 사용할 수도 있다.
-f필드 : 잘라낼 필드를 정한다. 지정하는 방법은 -c 옵션과 같다.
-d필드 구분자: 필드를 구분하는 문자를 지정한다. 디폴트는 탭 문자다.
-s  : 필드 구분자를 포함할 수 없다면 그 행은 하지 않는다.


date: 현재의 날짜와 시간을 화면에 표시
  date;who;cat > sample.c : 한 줄에 두 개 이상의 명령어를 동시에 입력하고자 할 경우 명령어와 명령어 사이를 ; 으로      구분한다
  date > date.out : 이전 내용이 지워지고 새로운 내용이 저장
  * date >> date.out : 이전 내용과 함께 새로운 내용 첨가


dc
system을 이용한 탁상계산기
$ dc [file]
file  : 읽어들일 화일 지정, 생략시 표준 입력으로 간주


dd
다양한 데이타 형식을 가진 화일을 복사, 변환
$ dd [option = value] ...
bs=n  : 입출력 블럭의 크기를 n byte로 쓴다
cbs=n : buffer 크기변환
conv=ascii : EBCDIC 코드를 ASCII 코드로 변환
conv=ebcdic : ASCII 코드를 EBCDIC 코드로 변환
conv=lcase : 알파벳을 소문자로 변환
conv=ibn : 약간은 다르지만 ASCII 코드를 EBCDIC 코드로 변환
conv=noerror : 에러처리를 중지하지 않는다
conv=swab : 두개의 byte를 서로 교환
conv=sync : 각 입력 레코드를 ibs로 패딩
conv=ucase : 알파벳을 대문자로 변환
...,...  : 컴마로 구분된 여러개의 변환
count=n : 입력코드를 n개만 복사
files=n : 복사 시작전에 n개의 화일을 건너뛴다
seek=n : 복사 시작전에 출력화일의 처음으로 n 레코드를 탐색
ibs=n  : 입력블럭크기를 n byte로 한다 (디폴트는 512)
if=file  : 입력화일명(디폴트는 표준입력)
obs=n : 출력블럭크기를 n byte로 한다 (디폴트는 512)
of=file : 출력화일명(디폴트는 표준출력)
skip=n : 복사전에 입력레코드를 건너뛴다 


df
이용 가능한 디스크 블록 수 출력
$ df [-f] [-t] [file sysytem]
-f  : 디스크내의 자유리스트내의 정확한 블럭수를 출력
-t  : 사용가능 블럭 및 i-node와 할당된 전체블럭과 i-node가 출력
-m  : 파일 크기를 Mbyte단위로 출력


diff
두 개의 파일 중에서 다른 라인을 출력
$ diff [option] file1 file2
-b  : 비교할 때 라인의 마지막에 있는 탭(tab)과 공백을 무시
-e  : file1으로부터 file2를 재생성. ed 편집을 위한 a,c 그리고 d 명령어의 script를 만든다
-f  : 비슷한 script를 만들지만 역순이기 때문에 ed 편집에서는 사용할 수 없다
-h  : 정밀도가 없어도 빠른 속도를 처리하고자 할 때 사용하며 -e와 -f와 함께 사용할수 없다
-i  : 대소문자를 구분하지 않는다.
-w  : 탭(tab) 문자를 포함한 모든 공백 문자를 무시하고 비교 작업을 수행한다.


diff3
세 개의 파일 중에서 다른 라인을 출력
$ diff3 [option] file1 file2 file3
-e  : file1에 file2와 file3의 차이 비교를 기록
-x  : file1에 3개 화일 모두의 차이 비교를 기록
-3  : file1에 file3과 차이 비교되는 부분만 기록
disable -c [print name] ; 지정한 프린터에서 현제 출력중인 작업 취소
  * disable -w laser-3 ; 모두 인쇄한 다음 프린터를 disable 상태로 만든다
  * disable -c -r "out of paper" laser-1 ; 주석을 달아 놓는다


dmesg
부팅 메시지를 보여주는 명령어
Done : 백그라운드 프로세서의 수행이 완전히 종료된 상태


du
하드 사용량 체크(chkdsk)
$ du [option][dirctory, file]
-s  : 총 합계만을 따진다. 하위 디렉토리의 숫자 등은 나오지 않는다.
-a  : 크기가 계산된 각 파일의 크기를 보인다.
-b  : 바이트 크기로 출력한다.
-x  : 현재 디렉토리에 마운트된 파일 시스템만 검사된다.
-L  : 심볼릭 링크 자신의 공간 대신 연결된 파일의 크기를 다룬다.


echo
외부 프로그램과 내부 쉘명령어 사이에 있으며 echo의 인수는 공백에 의해 구분되어지며 new line으로 종료하는 각 인수를 화면에 표준출력하는 명령어
$ echo [option] [string]
-n  : 새로 개행하지 않고 출력하게 한다.
-e  : 문자열 중에서 백슬래쉬와 조합되는 특수 문자를 인식하게 한다.
                그러한 특수 문자들은 다음과 같은 것들이 있다.
\a 밸소리    \b 백스페이스
\f 용지바꿈(form feed)  \n 행바꿈
\r 0 칼럼으로(carriage return)  \f 탭(tab)
\v  수직 탭    \\ 백슬래쉬 문자
\nnn 8진법으로 표기되는 ASCII 문자 \c 출력 후 행바꿈 금지


ed
풀 스크린 에디터를 사용할 수 없는 열악한 환경의 터미널을 위한 라인 에디터
$ ed [-] [-s] [-p문자열] [file]
-  : e, r, w, q, ! 명령에 의해 발생하는 메시지를 금지한다.
-s  : 검사 작업을 금지한다.
-p문자열 : 프로프트를 원하는 문자열로 바꾼다.


edquota
사용자의 하드디스크 용량 및 파일의 개수를 제한한다.
$ edquota [option] [ID]
-n  : 쿼터 할당을 림트 서버에 할 수 있다.
-u  : 사용자를 정희한다. (기본값)
-p  : 사용자 그룹에 제한을 주기위한 옵션
-t  : 파일시스템의 soft time의 제한 값을 정한다. 디폴트 값은 /linux/quota.h를 따른다.


env
현재의 환경에 영향을 주지 않고 원하는 환경을 만들어 명령을 실행, 또는 현재의 환경 보고
$ env [-][-i ][-u 이름][name=value][command arg]
-  : 뒤에 오는 이름=값 목록으로 환경을 제한한다.
-i  : 현재의 환경을 무시하고 빈 환경 상태로 시작한다.
-u 이름 : 현재의 환경에 그 이름의 변수가 있다면 제거한다.
-name=value : 명령 수행 전의 원래 환경을 지정
-command arg: 수행하고자 하는 명령어 지정


ex
ed 기능을 강화한 텍스트 편집기
$ ex [-] [-trRV] [+command] name ...
-  : 대화형 사용자를 위해 feed-back을 억제
-t  : tag tag를 갖는 화일을 편집후 편집기를 그 화일의 위치에 지정
-r  : file file을 복구
R  : 읽기 허가만 된 모드로 한다
+ command : 지정한 명령어를 수행하고 편집


exit
현재의 프로세스를 종료하고 빠져나감
Exit : 백그라운드 프로세서가 수행도중 오류 때문에 빠져 나온 상태


fdformat
플로피 디스켓을 포멧한다
$ fdformat [device]


fg
후면 작업을 전면 작업으로 전환
$ fg [%작업번호]
fg %1(작업 번호) : 백그라운드로 수행중인 작업을 포그라운드로 전환


fgrep
문자열에 따라 파일 검색
$ fgrep [option] string [file]
-b  : 각 행의 선두에 그 행이 발견된 블럭번호를 넣어줌.
-c  : 일치하는 패턴을 갖고 있는 행의 수 만을 출력함.
-l  : 일치하는 행이 있는 화일의 화일명만을 복귀개행으로 구별시켜 출력하는데, 화일내에 패턴이 몇 개나 포함되어 있어도 화일명은 한 개밖에 출력하지 않음.
-n  : 각 행의 선두에 화일내의 행번호를 넣음.(1 라인은 1임)
-i  : 비교시 소문자와 대문자의 차이를 무시
-v  : 일치하는 행을 제외한 모든행을 출력.


file
파일이 어떤 형태의 파일인지 알아낸다.
$ file [option1][option2] file
-c  : 매직 파일의 파생된 형태를 보여준다
-z  : 압축되어 있는 파일의 형태를 검사
-l  : 뒤따르는 심볼릭 링크를 야기 시킴
-f 파일명 : 검사한 파일에 대해 리포트를 만들 파일의 이름을 지정
-m 파일명 : 파일의 형태를 결정하는 데에 사용되는 매직 파일을 정함
file < test > test.out : test 파일을 입력으로 받아서 file 명령을 실행하고 test.out에 출력
  file test.c : test.c라는 파일의 형태를 출력


find
원하는 특정 파일이나 디렉토리를 탐색하여 찾는다.
$ find path_list expression!


Expression!s
-name 파일명 : 찾고자 하는 파일의 이름을 정한다. 와일드 카드도 가능하다.
-perm 모드 : 파일권한(permission)이 일치되는 것을 찾는다. 원하는 권한은 ls로 볼 수있는 형태와 같이 지정한다.
-type ? : 형태가 같은 파일을 찾는다. 물음표(?) 부분에 디렉토리는 d, 파이프는 p, 심볼릭 링크는 l, 소켓은 s, 블록 파일은 b, 일반 파일은 f 등의 기호를 사용한다.
-links ? : 특정 개수의 링크를 가진 파일을 찾는다. 물음표 부분에 링크의 숫자를 표기한다.
-size ? : 파일의 크기가 일치하는 것을 탐색한다. 파일 크기는 블록단위로 물음표 부분에 지정한다. 한 블록은 512바이트로 내정되어 있지만 블록 숫자 뒤에 단위로 k자를 붙이면 1키로바이트 크기의 블록 숫자로 간주된다.
-user 사용자 : 파일 사용자의 ID에 따라서 검색한다. 로그인 이름이나 번호 모두가 가능하다.
-atime ? : 최근 며칠내에 엑세스한 파일을 검색한다. 날짜수는 ?에 명시한다.
-exec 명령 : 원하는 검색 조건에 맞는 파일을 찾으면 명시된 명령을 실행한다. 명령의 끝은 \;을 사용하여 끝낸다. find가 검색해낸 파일의 이름을 인수로 사용하고 싶다면 그 위치에 {}를 사용한다.
-newer 파일 : 어떤 파일보다 최근에 갱신된 모든 파일을 검색한다.
-cpio device : 현재의 화일은 cpio(1)의 문법(5120byte 레코드)으로 장치에 써넣는다
-ctime n : 화일이 n 날짜내에 변경되면 참
-group gname: 화일에 gname에 포함되어 있으면 참
-mtime n : 화일이 n 날짜 이내에 수정되면 참
-ok cmd : 명령어 라인을 의문부호를 선두에 부과하여 화면에 출력하며 만약 사용자가 y를 칠 경우에만 실행 가능
find: 사용자가 지정한 특정 범위에 해당하는 모든 파일을 검색
  # find / -name test1.c -print ; 최상위 루트 디렉토리부터 검색하여 검색된 파일을 한 행에 하나씩 표준 출력
  # find . -name test1.c -print ; 현제의 작업 디렉토리에서 검색
  # find / -size +1000 -print ; 최상위 루트에서 크기가 1000블록 이상인 파일 검색
  # find . -size -1000 -print ; 현 디렉토리에서 크기가 1000블록 이하인 파일 검색
  # find . -mtime +10 -print ; 10일 이전에 수정된 파일 검색
  # find . -mtime -10 exec rm {} \: ; 10일 이내에 수정한 파일을 검색하여 모두 지운다


'old drawer > Linux' 카테고리의 다른 글

Ubuntu Command apt-get  (0) 2011.05.25