'Programming/Linux'에 해당되는 글 20건
NOTICE
리눅스에서 각 디렉토리별로 용량 확인
[root@localhost]$ du 1000 ./test 2000 ./test/test111 아무런 옵션도 없이 'du'만 입력하면 위처럼 모든 디렉토리의 용량이 표시가 된다. 물론 depth도 없이 모든 디렉토리가 표시된다. [root@localhost]$ du -h 1M ./test 2M ./test/test111 여기에서 '-h' 옵션을 주면 용량 부분이 보기 좋게 표시가 된다. 보기 좋다고 해서 색깔 입혀져서 그러는 게 아니라 K, M 이런 기호로 표시가 된다. [root@localhost]$ du --max-depth=1 -h 3M ./test 디렉토리가 많을 경우엔 위처럼 --max-depth=1 옵션을 주면 된다. 1이 depth다.
vi에서 한글이 다 깨져 보일 때
가끔 vi로 편집하다가 보면 파일에 나오는 한글이 다 깨져서 나오는 경우가 있다. 에디트 플러스나 울트라 에디트 같은 걸로 보면 전혀 안 깨지는데 말이다. [root@~~~]$ locale LANG= LC_CTYPE="POSIX" LC_NUMERIC="POSIX" LC_TIME="POSIX" LC_COLLATE="POSIX" LC_MONETARY="POSIX" LC_MESSAGES="POSIX" LC_PAPER="POSIX" LC_NAME="POSIX" LC_ADDRESS="POSIX" LC_TELEPHONE="POSIX" LC_MEASUREMENT="POSIX" LC_IDENTIFICATION="POSIX" LC_ALL= locale이라고 치고 엔터를 치면 저렇게 나온다. 현재 내가 쓰는 리눅스의 경우..
vi에서 ^M 없애기
파일을 위와 같이 연 후에 소스 코드를 보면 ^M ^M 이렇게 막 붙어 있는 경우가 있다. 이럴 땐 test.php 파일을 수정한다고 가정하자. [root@~~~]$ vi test.php 편집 모드로 들어가서 esc 키를 누른 후 :1,$s/^M 위에 적힌 대로 :1,$s/^M 이렇게 그냥 치면 vi가 미친 샛퀴라고 오류를 뿜어낸다. :1,$s/까지는 그냥 키보드로 두드리면 되고 그 후에는 Ctrl-v, Ctrl-m을 눌러야 한다. 쉽게 말해 :1,$s/Ctrl-vCtrl-m 이걸 차례대로 입력을 해야 한다는 것이다. 이렇게 치면 위 모양과 같이 나온다. 그런 후에 /wq 누르고 나오면 끝난다. p.s 이거 치다가 모르고 파일 하나를 수정된 것도 모르고 저장하고 /q -_-; 난리날 뻔했다.
crontab으로 파일 자동으로 실행
1. 먼저 테스트용 파일(test.php)을 하나 만든다. 위 파일의 퍼미션을 변경해 준다(700 이상으로만 해 주면 된다). chmod 755 test.php 2. 파일을 만들었으면 크론탭에 등록을 한다. crontab -e 이렇게 하면 크론탭 편집 모드(?)로 넘어가게 된다. 매 1분마다 실행되게 한다. */1 * * * * php /home/~~~/test.php *의 의미는 * * * * * 모두 다섯 갠데, 분(minute) 시(hour) 일(day) 월(month) 년(year)이다. 파일을 include 해야 할 경우는 문제가 발생할 수 있으므로 가급적이면 include는 쓰지 않는 게 속편하다. 쉘스크립트로 실행할 경우(위를 예로 듬) vi test.sh #!/bin/sh cd /home/..
vi 명령어 몇 개
Ctrl - R : Redo Shift - .(>) : 들여쓰기 Shift - ,(
심볼릭 링크(symbolic links)
linux에서는 심볼릭 링크라는 게 있다. cd를 해서 들어가면 파일이 있지만 실제로는 그곳의 파일이 아닌 원본 파일이 있는 곳을 가리키는 역할만 하는 것이다. 쉽게 말해서 그냥 링크다. 하드 링크와는 다르다. ln [옵션] [링크시킬 파일이나 폴더(원본)] [링크로 만들어지는 파일(가상)] 이런 명령어를 주면 간단하게 심볼릭 링크가 된다. [옵션] -s 심볼릭 링크 -n 파일이 존재하면 겹쳐쓰기를 하지 않는다. -r -n의 반대 개념인 파일이 존재하든 말든 겹쳐쓰기를 한다.
콘솔 상에서 메일 보내기 테스트
mail -s 제목 계정 < ./보내려는 파일 흠흠, 봐도 봐도 모르겠단 말야.
vi 치환 명령
:%s/A/B/g A를 B로 치환
tar 묶기/풀기(?)
[root@dddd ~~]ll drwxr-xr-x 3 apache developer 4096 2월 6 11:19 birthday drwxr-xr-x 3 apache developer 4096 2월 6 11:19 iframe drwxr-xr-x 10 apache developer 4096 2월 24 2006 open_shop drwxr-xr-x 8 apache developer 4096 2월 18 13:55 point 위와 같은 디렉토리 구조가 있다. 여기서 birthday라는 디렉토리를 tar로 묶으려면 아래와 같이 쓰면 된다. tar cvzfp 파일명.tar.gz ./birthday 푸는 방법은 tar xvzfp 파일명.tar.gz 간혹 불필요한 디렉토리는 제외를 해야 하는 경우가 있다. 이럴 경우엔 ..