Tips/LINUX2008. 11. 6. 20:39
## sudo 명령을 사용할 때 특정 사용자에게는 비밀번호를 묻지 않게 하기
##
##
foobar     ALL=(ALL)       NOPASSWD:ALL
Posted by young.h.rhie
Tips/LINUX2008. 7. 4. 14:38

find ./ -name "*.bak" -print와 find ./ -name "*.bak" -print0의 차이는?

일반적으로 print가 기본 옵션이고 별도로 지정해주지 않으면 -print가 들어간다.
찾은 내용이 화면으로 출력되며 각 결과는 newline으로 끝난다.

반면 -print0을 사용하면 각 결과는 null 문자(\0)로 끝난다. 이렇게 하는 이유는 파일이나 디렉토리 이름에 newline이나 공백이 들어가 있는 경우에도 정확하게 처리할 수 있기 때문이다. 그러나 화면에 보기에는 좋지 않다. -print0을 쓰는 것은 찾은 파일로 다른 일을 할 때 정확하게 처리하기 위함이다.


Posted by young.h.rhie
Tips/LINUX2008. 7. 4. 11:53
chown 으로 심볼릭링크로 되어 있는 파일의 소유자를 변경하려고 하면
심볼릭 링크가 가리키는 파일의 소유가 변경된다.
이때 심볼릭링크 자체의 소유권을 변경하려고 하면 -h 혹은 --no-deference를 선택하면 된다.

그러나 중요한 사실 하나는, 심볼릭링크 자체의 소유권이나 퍼미션을 변경하는 것은 의미가 없으며 심볼릭 링크가 자체가 가리키는 파일의 소유권이나 퍼미션이 중요하다.


Posted by young.h.rhie
Tips/LINUX2008. 6. 30. 20:36
Bash File Operators

-e 파일 존재하는가?
-f 보통 파일인가?
-s 파일 크기가 not zero인가?
-d 파일이 디렉토리인가?
-b 파일이 블록장치인가?
-c 파일이 문자장치인가?
-p 파일이 파이프인가?
-h 파일이 심볼릭 링크인가?
-L 파일이 심볼릭 링크인가?
-S 파일이 소켓인가?
-t 파일이 터미널 장치와 연결되어 있는가?
-r 읽기 권한이 있는가?
-w 쓰기 권한이 있는가?
-x 실행 권한이 있는가?

예) 디렉토리가 존재하지 않으면 생성하라
if [ ! -e /tmp/test ]; then mkdir -p /tmp/test ; fi
Posted by young.h.rhie
Tips/LINUX2008. 6. 13. 16:09

>>연산자를 사용하면 기존에 있던 대상에 덧붙여 추가된다.
예를 들면 다음과 같다.

$ cat hello
hello
$ echo "hello2" >> hello
$ cat hello
hello
hello2

Posted by young.h.rhie
Tips/LINUX2008. 6. 9. 16:30
for i in dir_name_of_patches/*.patch; do patch -p0 -b < "$i"; done
Posted by young.h.rhie
Tips/LINUX2008. 5. 29. 14:26

crontab -l : 현재의 cron 리스트
crontab -e : 편집
crontab -r : 삭제

컬럼                                  내용

첫번재 ----------------- 분 0-59
두번째 -----------------시 0-23
세번째 -----------------일 0-31
네번째 -----------------월 1-12
다섯번째 ---------------요일 0-7(0과 7모두 일요일임)
여섯번째 ---------------명령


추가설명

0) *을 적으면 모두를 의미한다
1) 매10분이라면 분이 들어갈 컬럼에 */10이라고 적으면 된다
2) 매주 월요일과 화요일이라면 요일 적는 컬럼에 1,2라고 적으면 된다
3) 1시부터 2시라면 시각 컬럼에 1-2라고 적으면 된다
4) 1,2,5,7 혹은 0-5,7-9와 같이 복합적인 형식으로도 쓸 수 있다

아래는 몰라도 되지만 혹시 필요하면 참고하라
5) 1-9/2는 1,3,5,7,9와 같다
6) 요일이나 달은 문자로도 쓸 수 있다.

Posted by young.h.rhie
Tips/LINUX2008. 5. 27. 20:53

항상 잊어버려 적어둔다

타임서버로부터 시간을 가져와서 화면에 출력하려면
# rdate -p time.bora.net

타임서버로부터 시간을 가져와서 시스템 시각을 변경하려면
# rdate -s time.bora.net

공개 타임서버
time.bora.net


ntpdate를 사용할 경우
# /usr/sbin/ntpdate -s time.kriss.re.kr
참고: -s 는 결과를 화면이 아닌 시스템 로그로 보냄
참고: NTP 프로토콜 포트(123)이 방화벽으로 막혀 있을 경우에는 -u 옵션을 사용해서 다른 포트를 사용하도록 함

Posted by young.h.rhie
Tips/LINUX2008. 5. 22. 16:20
^ 라인의 시작. 대괄호 속에 있을 때는 NOT의 의미임
$ 라인의 끝
. 한개의 문자
* 바로 앞의 문자열이나 정규표현식의 0개 이상 반복되는 문자
[] 대괄호 안의 모든 문자를 찾음


예제)

1. ^$  빈줄
2.  [xyz]  xyz 중에 한 글자와 일치
3. [0-9] 0 ~ 9 사이의 한 글자와 일치
4. [a-z0-9] 소문자나 숫자중의 한 문자와 일치
5. hi|hello  hi 또는 hello와 일치


Posted by young.h.rhie
Tips/LINUX2008. 5. 16. 13:36

sed : non-interactive mode line editor
===============================
sed는 stream editor의 준말이다.
sed는 라인기반 스트림편집기이므로 명령어는 각 라인에 대해 순서대로 수행된다

--------------------------------------------------



(1)[주소-범위] /p
주어진 주소 범위 출력

(2)[주소-범위] /d
주어진 주소 범위 삭제

(3) s/pattern1/pattern2
처음나타나는 pattern1을 pattern2로 바꿈

(4) [주소-범위]/s/pattern1/pattern2
주소범위의 pattern1을 pattern2로 바꿈

(5) g
global, 모든 패턴




Posted by young.h.rhie