UNIX(Shell)

unix (shell)   공부방


Shel l


sh (Bone shell) : 정통 shell, 모든 Unix에서 사용가능, 단순
함, 사용가능한 명령이 적음
csh (c shell) : Default로 다양한 Programing 효율, Job
control 가능, History 가능, C 언어를 기반으로 만듬
ksh (kon shell) : 관리자용 shell, 자동 완성 기능 추가
 
bash (bourne again shell) : Linux
tish : c shell의 확장버전
gsh : kon shell의 확장버전

 

솔라리스 명령어


형식
셀 프롬프트(shell prompt) 명령어(command) 옵션(option)
아규먼트(argument)
명령어
man : 도움말 기능
useradd : 사용자 추가
useradd -c "test user" -d /home/user/test -g 1000
-u 1001 -s /bin/ksh -m test 
-c : comment로써 사용자에 대한 설명
-d : 사용자 계정의 홈 디렉토리, 로긴하면 이 디렉토
리에서 시작
-g : 사용자가 속한 그룹ID, /etc/group 파일을 통해
확인
-u : 사용자의 유저ID, /etc/passwd 파일을 통해 확

-s : 사용자가 사용하는 기본 shell
-m : -d 옵션의 디렉토리를 자동으로 생성

ls : 디렉토리의 파일목록 출력
-F : 파일형식 출력
filename/ : directory file
filename@ : link file
filename* : execution file
-a : 숨겨진 파일도 출력
-l : 파일의 상세정보를 출력(파일형식, 권한, 링크 수,
소유주, 그룹 소유주, 파일크기, 최종 변경 날짜 및 시
간, 파일명)
-t : 파일목록을 시간 순으로 출력
-u : 파일의 최종 변경(modification) 시간 대신 최종
접속(access)시간을 출력 (-l 옵션과 함께사용)
mkdir : 디렉토리 생성
-p : 계층구조 디렉토리를 한꺼번에 만듬
rm : 파일삭제
-r : 디렉토리 삭제
-f : 삭제 확인메시지 무시

cp : 파일복사
-r : 디렉토리 복사
-p : permission 유지
mv : 파일이동 
cat : 표준 입/출력 기능
1.  짧은내용 file 읽을 때 (Ascii text)
2.  file 생성시
3.  2개 이상의 파일을 병합할 때
-n : line number (= nl)
tee : 표준 출력 기능
1.  file 생성시
head : 파일의 시작부터 몇개 지정한 라인까지 출력
tail : 파일의 끝부분 부터 몇개 지정한 라인까지 출력
-숫자 : 밑에서 부터 위로 라인 수
+숫자 : 위에서 부터 라인 수
-f : 파일의 끝에 도달해도 tail 명령어가 종료않함

wc :  파일의 통계치를 볼 때 사용 (옵션이 없을 때 라인 수,
단어 수, 파일의 크기 출력)
-l : 파일의 라인 수 출력
touch
1.  파일이 존재하지 않을 시 빈 파일 생성
2.  파일이 존재시 파일의 마지막 변경 날짜와 마지막 액
세스 날짜를 현재 시각으로 변경
find : 시스템에서 원하는 조건에 맞는 파일을 찾고자 할 때
find 경로명(/path) 옵션(-option) 액션(-action)
ex) # find / -name hosts -print
옵션(-option)
-name filename : filename과 일치하는 파일
을 검색
-size n : 파일의 크기가 n 블록인 파일을 검

-type filetype : filetype의 파일 종류를 검색
-mtime n

-atime n
-user
액션(-action)
-print
-ls : 조건에 맞는 파일을 찾으면 ls 명령어를
실행
-exec command {} \; : 조건에 맞는 파일을
찾으면 command가 실행
-ok command {} \; : 조건에 맞는 파일을 찾
으면 command를 실행할 것인지 하나하나 확

# find /export/home -perm -4000 -
exec rm {} \;
# find /dev -perm -4000 -ls

 

grep :  정규식으로 표현한 단어를 파일에서 찾아 그 단어가
있는 라인을 출력
grep -option 'pattern' filename
패턴에 정규식 사용시 싱글쿼테이션('') 으로 블럭지

-i : 대소문자 구분없이 패턴 라인 출력
-v : 지정한  패턴이 없는 라인 출력
-n : 라인 번호를 함께 출력
-w : 패턴 자체가 하나의 완전한 단어로 독립되어 있
는 경우만 출력
egrep : 패턴에 확장 정규식을 사용할수 있음
fgrep : 패턴에 정규식을 전혀 사용하지않고 글자 그대로 인식
 
 
정규식( regular expres s ion, regex)

 

 

grep이나 vi 등 파일에서 글자를 찾는 명령어들이 찾을 파일이 명시할
때 정규식(regex)을 사용
정규식은 일반 정규식과 확장 정규식(extended and regular
expression)이 존재
< 정규식(regular expression, regex) >
 
 
File


file 종류
d : directory
- : regular file
ascii text
binary 
s : socket (sys vs sys)
D : Door (process vs process)
p : pipe

b : block device file
c : character device file
l : symbolic link
 
file 특징


파일내용은 i-node로 관리
파일이름은 해당파일을 가지고있는 디렉토리가 관리
v-node가 파일시스템을 관리해서  파일을 읽도록 해줌
 
 디바이스 파일(device file)
파일용량이 없고 파일종류를 나타내는 숫자와 위치를 나타내
는 숫자로 구성

 

 

링크종류
하드 링크(hard link)
파일의 종류가 아닌 디렉토리에서 파일의 이름과 i-node를
연결하는 그 자체 (파일의 이름과 i-node가 연결되어 있는 상
태)
하나의 i-node가 여러 파일의 이름과 연결 되어있을 수 있다.
(파일 이름이 달라도 완전히 동일한 파일의 내용을 가짐)
파일의 링크 카운트(link count)는 하드 링크를 사용하여 파일
을 만들 떄 마다 1씩 증가
명령어 : # ln 원본파일 생성파일
 
심볼릭 링크(symbolic link)
소프트 링크(soft link)라고도 함
직접 데이터를 가지지 않음
원본 파일이 어디에 있는지 위치 정보만 가짐
명령어 : # ln -s 원본파일 생성파일
 

 권한


symbolic mode -> rwx/r-x/r-x
octal mode ->          7    5    5
확장퍼미션
/etc/passwd -> /etc/shadow
# ls -al /usr/bin/passwd  => r-s/r-s/r-x

 

VI 에디터


명령어 모드(command mode) : 파일의 편집 작업, vi 에디서
실행시 기본 상태
삽입 모드(insert mode) : 파일에 글을 입력하는 상태, 명령어
모드에서 i, a, o 키로 삽입모드 전환
실행 모드(ex mode) : 마지막 행에서 실행할 명령어를 사
용, ex 모드는 :, /, ? 문자 중 하나로 시작
 
vi 설정 명령어


~/.exrc 파일에 설정 저장
set nu : 라인번호 추가
set nonu : 라인번호 제거
set ic : 대소문자 구별않함
set noic : 대소문자 구별 
set showmode : 현재 vi 에디터의 상태를 표시
set noshowmode : 현재 vi 에디터의 상태를 표시않함
set ai : 자동 들여쓰기
set ts=n : 탭의 크기를 n으로 지정
< vi 에디터 명령어 >< vi명령어(1).docㅂ` >

 

profi le


profi le 읽는 순서
1.  /etc/profil (1st Booting) 
2.  ~/.profile (login)
3.  ~/.kshrc (shell loading)
 
~/.profile 설정
PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/ccs/bin:
PATH=$PATH:/usr/local/bin:/usr/local/sbin:
PATH=$PATH:/usr/ucb:/usr/dt/bin:.
EDITOR=/usr/bin/vi
TERM=dtterm
PS1=`hostname`'@'`whoami`'[$PWD]#'
ENV=~/.kshrc
export PATH EDITOR TERM PS1 ENV
~/.kshrc 설정
set -o vi
h=history
alias rm='rm -i'

 

출처 : http://zend1003.springnote.com/pages/922514  (젠드 노트)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值