[CentOS] shell

Linux/CentOS / / 2014. 11. 23. 16:15
반응형
1. 현재 리눅스에서 사용 가능한 쉘 종류
$ cat /etc/shells 
/bin/sh
/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh
/bin/ksh
/bin/zsh

### 현재 리눅스에서 사용 중인 쉘
$ echo $SHELL
/bin/bash

$ ps $$
 PID    TTY   STAT   TIME COMMAND
 2163 pts/6    Ss     0:00 -bash


2. 날짜 포맷 변경(xxxx-xx-xx형식으로)
$ ls -l
drwxr-xr-x 2 isbyeon comteam 4096 Aug  8 10:40 isbyeon

$ alias ls='ls --color=auto --time-style=long-iso'
drwxr-xr-x 2 isbyeon comteam 4096 2014-08-08 10:40 isbyeon

3. exec, xargs
$ find ./ -name test 
./test

$ find ./ -name test -exec ls -l '{}' \;
-rw-r--r-- 1 isbyeon comteam 0 Nov 23 23:52 ./test

$ find ./ -name test | xargs ls -l
-rw-r--r-- 1 isbyeon comteam 0 Nov 23 23:52 ./test

$ ls -l
-rw-r--r-- 1 isbyeon comteam 0 2014-11-23 23:52 test
$ find ./ -name test | xargs -i mv {} {}.bak
$ ls -l test.bak
-rw-r--r-- 1 isbyeon comteam 0 2014-11-23 23:52 test.bak

### 삭제 1
$ find ./ -name test.bak | xargs rm
$ ls -l
total 0

### 삭제 2
### 삭제 시 제일 효율적임.
$ touch test
$ find . -delete -name test
$ ls -l
total 0

### 삭제 3
### -exec는 명령의 인자가 길 경우 argument too long..이 발생하며 각 파일마다 rm 명령어가 실행되어 비효율적임
$ touch test
$ find . -name test -exec rm '{}' \;
$ ls -l
total 0

4. 비정상적인 종료나 로그아웃(Hangup 신호) 이후에도 Hangup 신호를 무시한 채 수행을 하려면?
1) 비정상적인 종료 시
#### 수행 중에 비정상적인 종료 시 해당 명령어도 즉시 종료된다.
$ sleep 1000

2) nohup
#### nohup 명령은 아규먼트로 적은 명령에 대해 Hangup 신호를 무시한 채 수행하도록 하는 명령이다.
$ nohup sleep 1000

3) shopt의 huponexit
#### 비정상적인 종료시에도 Hangup 신호를 무시하고 백그라운드로 실행한다
#### 디폴트로 on을 해놓았을 경우 불필요한 프로세스들로인해 시스템 성능 저하가 올수 있다.
$ shopt -s huponexit  // -s on, -u off
$ sleep 1000

4) screen 가상터미널 사용하기


5. 다중명령어

1) A ; B => A 실행 후 B 실행(A 실패시에도 B는 실행)

$ ls;date

nohup.out  공개  다운로드  문서  바탕화면  비디오  사진  서식  음악

2014. 11. 24. (월) 23:09:37 KST


$ lstest;date

bash: lstest: 명령을 찾을 수 없습니다...

2014. 11. 24. (월) 23:09:50 KST

2) A && B => A가 정상적으로 종료되었을 경우 B 실행(A 실패시 B는 실행하지 않음)

$ ls&&date

nohup.out  공개  다운로드  문서  바탕화면  비디오  사진  서식  음악

2014. 11. 24. (월) 23:10:52 KST


$ lstest&&date

bash: lstest: 명령을 찾을 수 없습니다...

3) A || B => A가 실패했을 경우 B 실행(A가 정상적으로 종료 시 B는 실행하지 않음)

$ ls||date

nohup.out  공개  다운로드  문서  바탕화면  비디오  사진  서식  음악


$ lstest||date

bash: lstest: 명령을 찾을 수 없습니다...

2014. 11. 24. (월) 23:11:30 KST


반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기