출력 재지정
$ cjpeg image.gif > image.jpg
실습
#!/bin/sh
for image in * .gif
do
  cjpeg $image > ${image%%gif}jpg
done
출력 재지정
$ cjpeg image.gif > image.jpg
실습
#!/bin/sh
for image in * .gif
do
  cjpeg $image > ${image%%gif}jpg
done
매개변수 치환 구문
| 매개변수 치환 구문 | 결과 | |
|---|---|---|
| ${param:-default} | param이 널이면 default의 값 | | |
| ${#param} | param의 길이 | | |
| ${param%word} | param의 끝에서 word와 부합하는 가장 짧은 부분을 제외한 나머지 부분 | | |
| ${param%%word} | param의 끝에서 word와 부합하는 가장 긴 부분을 제외한 나머지 부분 | | |
| ${param#word} | param의 시작에서 word와 부합하는 가장 짧은 부분을 제외한 나머지 부분| | |
| ${param##word} | param의 시작에서 word와 부합하는 가장 긴 부분을 제외한 나머지 부분 | | 
실습-매개변수 처리
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |  | 
정규 표현식
특수 문자
|문자|의미                                               |
|----|---------------------------------------------------|
|^   |한 줄의 시작을 뜻하는 앵커(anchor)                 |
|$   |한 줄의 끝을 뜻하는 앵커                           |
|.   |임의의 문자 하나                                   |
|[ ] |일반적으론 하나검사 1-10이면 1에서 부터 10까지 검사|
보통의 문자로 취급하게 하려면 앞에 \를 붙인다 \$
대괄호쌍 안에서 문자 범위 지정
| 부합 패턴 | 의미 | |
|---|---|---|
| [:alnum:] | 영문자 또는 숫자 | | |
| [:alpha:] | 영문자 | | |
| [:ascii:] | ASCII 문자 | | |
| [:blank:] | 빈칸 또는 탭 | | |
| [:cntrl:] | ASCII 제어 문자 | | |
| [:digit:] | 숫자 | | |
| [:graph:] | 비제어, 비공백 문자 | | |
| [:lower:] | 소문자 | | |
| [:print:] | 인쇄 가능 문자 | | |
| [:punct:] | 문장 부호 | | |
| [:space:] | 공백 문자(수직 탭도 포함)| | |
| [:upper:] | 대문자 | | |
| [:xdigit:] | 16진 숫자 | | 
-E 옵션 활성화
| 옵션 | 의미 | |
|---|---|---|
| ? | 표현식이 있어도 없어도 되지만 한번만 부합해야 한다| | |
| * | 0회 이상 부합 해야 한다 | | |
| + | 1회 이상 부합 | | |
| {n} | n회 반복해서 부합 | | |
| {n, } | n회 이상 반복 부합 | | |
| {n,m} | n회 이상 m회 이하 반복 부합 | | 
실습
e로 끝나는 줄 찾기
$ grep e$ words2.txt
a로 끝나는 단어들이 있는 줄 찾기
$ grep a[[:blank:]] words2.txt
Th로 시작하는 세 글자 단어 찾기
$ grep Th.[[:space:]] words2.txt
열자 짜리 소문자 찾기
$ grep -E [a-z]{10} word.txt
$PATH에 추가 하기
echo PATH=$PATH:/foo/bar/baz
$PATH를 바꾸기
echo PATH=경로....
Ctrl + u
커서 위치 부터 처음 까지 삭제
$ echo rumidier-linux bul-la bul-la.....<--
$
$ echo rumidier-linux<--- bul-la bul-la.....
$ bul-la bul-la.....
Ctrl + c
명령 실행후 중지
Ctrl + z
명령 일시 정지 (재시작은 fg입력)
Ctrl + s
터미널 출력 멈춤
Ctrl + q
터미널 출력 재시작
이런 키들이 문제가 된다면?
stty function key
function : 기능
key      : key 조합 (^컨트롤)
현재 터미널의 설정 내용
$ stty -a
지금껏 사용 하다 갑자기 이상해졌다면
$ ssty sane
Ctrl + c
grep 명령
| 옵션 | 의미 | |
|---|---|---|
| -c | 패턴과 부합한 줄을 출력하는 대신 그런 줄들의 개수를 출력한다. | | |
| -E | 확장된 정규표현식을 활성화한다. | | |
| -h | 부합한 줄을 출력할 때 파일 이름은 출력하지 않는다. | | |
| -i | 대소문자를 구분하지 않는다. | | |
| -l | 부합한 줄을 담은 파일 이름만 출력하고 부합한 줄 자체는 출력하지 않는다.| | |
| -v | 패턴을 뒤집는다. 즉, 주어진 패턴과 부합하지 않은 줄들을 출력한다. | | 
파일에서 in이라는 문자열 찾기
$ grep in words.txt
파일들에서 in을 찾고 매치 되는 갯수 출력
$ grep -c in words.txt words2.txt
파일들에서 in을 찾고 매치 되지 않는 갯수 출력
$grep -c -v in words.txt words2.txt
find [경로] [옵션들] [판정 조건] [행동]
|옵션              |의미                                                         |
|------------------|-------------------------------------------------------------|
|-depth            |디렉터리 자체를 보기 전에 디렉터리의 항목들을 먼저 검색한다  |
|-follow           |기호링크(symbolic link)들을 따라간다                         |
|- maxdepths N     |디렉터리의 하위 디렉터리들을 최대 N수준까지만 검색한다.      |
|-mount (또는 -xdev|다른 파일 시스템의 디렉터리들은 검색하지 않는다.             |
|판정            |의미                                                                |
|----------------|--------------------------------------------------------------------|
|-atime N        |파일이 N일 전에 마지막으로 접근 되었음.                             |
|-mtime N        |파일이 N일 전에 마지막으로 수정되었음.                              |
|-name 패턴      |경로를 제외한 파일이름이 패턴과 매치, 쉘에 확장을 거치지 않으려면 ""|
|-newer 다른파일 |파일이 *다른파일*보다 새것임                                        |
|-type C         |파일의 종류가 *C* 인지 검사.(ex:디렉터리 d, 파일 f)                 |
|-user 사용자이름|파일의 소유자가 *사용자이름*에 해당하는 사용자임.                   |
|연산자|연산자(긴 형태)|의미                    |
|------|---------------|------------------------|
|!     |-not           |판정의 부정(역)         |
|-a    |-and           |두 판정 모두 참이어야 참|
|-o    |-or            |둘 중 하나만 참이어도 참|
|행동      |의미                                      |
|----------|------------------------------------------|
|-exec 명령|주어진 명령을 주행, 행동 끝에 \;첨부      |
|-ok 명령  |명령을 수행하되 수행전 확인을 받음 \; 첨부|
|-print    |파일 이름 출력                            |
|-ls       |현재 파일에 대해 ls -dil 명령을 수행한다  |
() 회피는 \로 해야 한다
(-news X -o -name “_*” )
X라는 파일보다 새것이면서 _시작 하는 파일 찾기
현재 디렉터리에서 while2라는 파일보다 최근에 수정된 파일 찾기(디렉터리 포함됨)
$find . -newer while2 -print
현재 디렉터리에서 while2 디렉터리를 제외한 파일만 찾기
$find . -newer while2 -type f -print
파일 이름이 밑줄로 시작하거나 while2보다 새것 찾기
$find . \( -name "_*" -or -newer while2 \) -type f -print
파일을 찾아서 행동 시키기
$find . -newer while2 -type f -exec ls -l {} \;
blockquote 입니다.
두번째 blockquote 입니다
문법 강조
강조 되는 단어는 rumidier 입니다.
강조하는 단어는 rumidier 입니다.
별표를 두개씩 써도 되며 굵게 합니다 rumidier 또한 언더바 두개도 됩니다 rumidier
리스트 ul(* + -) 와 ol (1. string) 입니다.
ul:
ol: 1. first 2. second 3. third
block:
tab:
칸뛰우기를 하고 있고
들여 쓰기를 하게 되면
이렇게 이쁘게 칸이 나온다
링크 걸기: 누르게 되면 링크를 열게 된다 naver.com