출력 재지정
$ 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