컴퓨터 공부/유닉스 시스템 프로그래밍

쉘 명령어

려리군 2009. 4. 21. 18:26

ls

디렉터리 내용을 보여준다.
-a : 숨김파일까지
-l : 자세히
-g : 소유 그룹 정보
-i : inode

 

cat : 파일 내용을 보여준다.
more : 한페이지만

rm

파일을 삭제한다
-r : recursive로 파일로 지운다.

special characters : 메타문자 -> 특별한 기능으로 활용 (stty -a로 확인 가능)
^c -> intr foreground만 종료
^d -> 파일의 끝
^s -> stop
^h -> backspace
^v -> 특수문자 키를 일반문자 형태로 입력

 

finger : 사용자 정보를 출력(안 중요)
who,w : 사용자의 리스트를 출력
whoami : 자신의 로그인 정보를 출력
talk [id@db]: 다른 사용자와 온라인 대화
write [id] : 로그인된 사용자와 대화
mail : 메일 전송

 

man

UNIX 시스템의 매뉴얼
LS(1) <- section 번호
-[섹션번호] : 특정 섹션번호만 찾아서 본다.
-a : 모든 섹션을 본다
-k : 키워드 검색

 

cal : 화면에 달력 출력
echo : stdout에 특정 명령어 출력
data : 화면에 시간과 날짜 출력 확인/변경

env

환경변수 확인
 $PATH : 프로그램들을 찾아 있으면 디렉토리 없이 명령 바로 사용 가능
cp

파일 복사
-r : 디렉터리까지 recursive하게 복사
mv

파일 이동 혹은 파일 이름 변경

파일 시스템 정보만 수정함. (파일 내용을 읽을 필요가 없음)

lpr : 화일을 프린터로 출력(ps화일을 출력해야 함.)

grep

파일의 내용에서 특정 문자열 검색, line으로 출력
grep 찾고싶은값 파일이름
head -n 줄수 파일이름
tail -n 줄수 파일이름

sort : line단위로 사전순 정렬
uniq : 중복된 행을 제거
whereis : 유틸리티 경로 출력
which : 실행할 수 있는 명령(유틸리티)의 경로 출력
diff : 두 파일의 차이(무엇이 다른지), patch파일 만들 때 사용

wc

line, word, 글자수를 센다
-c : character, -w : word, -l : line

 

su : 다른 사용자 되기 ex) su [-](관리자) [user]

 

FTP 사용

ftp [아이디@서버ip]
lcd : local 디렉터리 바꾸기
cd : ftp상 디렉터리 바꾸기
get 파일이름 : 파일 다운로드
put 파일이름 : 파일 업로드
pwd : 현재 디렉터리 표시

 

tar

여러 개의 파일들을 하나로 만듬(압축 안됨)
compress < gzip < zip2 : 압축하는 프로그램

tar [옵션들] ?.tar 압축할파일들
-c : tar파일을 만든다.
-f : tar파일을 사용한다.
(위의 옵션 반드시 필요)
-v : 장황하게 표시함.
-x : tar파일에서 파일들을 추출한다.
-t : tar파일 안에 내용을 본다.
-z : gzip으로 압축/추출까지 한다. (tar프로그램이 gzip을 수행)
-j : bzip2으로 압축/추출까지 한다. (tar프로그램이 bzip2을 수행)

(/가 제일 첫 문자이면 절대경로, 아니면 상대 경로, 절대/상대 여부가 저장된다.)

 

압축유틸리티

압축하기 <=> 압축풀기
compress 압축할파일이름(tar) <=> uncompress (?.Z)
gzip 압축할파일이름(tar) <=> gzip -d 또는 ungzip (?.gz)
bzip 압축할파일이름(tar) <=> bzip2 -d (?.bz2)

"" : 변수 전개 허용
'' : 전개 금지
`` : 명령 전개 허용

 

전개의 종류(변수값을 변환한다는 뜻에서)
(1) 와일드카드 전개
?(한문자),*(어떤값도 허용),[,],{,}
(2) 변수
$변수이름
(3) 명령전개
쉘 명령어 허용