본문 바로가기

분류 전체보기

[LINUX/UNIX] 출력방향변경 (redirection) 터미널 화면에 그대로 출력이 되는 명령어들을 특정 파일에 저장하고 싶을 때 > 를 사용한다. $echo 'hello' hello $ 그냥 쓰면 이렇게 되지만 $echo 'hello' > a.txt $cat a.txt hello $ > 를 사용하면 내용이 터미널 상에 출력되지 않고 파일에 써버린다. 즉, 표준출력이라면 화면에 뿌려줬겠지만(터미널에..) 출력의 방향을 표준출력이 아닌 특정 파일로 바꾼것이다. >> 이렇게 사용하면 해당 파일이 존재할 때 덮어 쓰지 않고 파일 끝에 추가한다. 표준에러 출력방향변경 사실 이 글을 쓴 이유는 이거다.. 앞에것은 알았었는데 이건 얼마전에 알았다. 명령어 사용 시의 에러 문구들은 출력방향변경이 안되고, 그냥 터미널 상에 출력된다. 그러므로 다른 방법을 사용해야 한다. .. 더보기
[LINUX/UNIX] grep 명령어 * grep : 특수한 문자패턴으로 파일을 찾는다. grep (플래그) (찾을 문자패턴) (파일명) $grep 'this' hello.txt --> 라고 입력하면 this is first line this is second line --> 이렇게 파일 내 this가 포함된 라인을 출력한다. * 플래그 설명 -i 대소문자 무시 -v 거꾸로, 없는 라인을 출력한다. -l 내용은 빼고 파일의 리스트만 보여준다. (파일 이름에 * 놓고 사용할 때 유용하겠구만) -n 라인 번호를 같이 출력한다. * grep 사용 시 유용할듯한 정규표현식 [abc] : a, b, c 중에서 한 문자만 매치 ex) grep '[tT]his' hello.txt --> this 또는 This 가 있는 라인 * 끝까지 쭉~ (시작과 끝을.. 더보기
getURL 사용 시 [object] 뜰 때 2 예전에 쓴 글에서는 [object] 가 뜨면 void 로 window.open 구문을 감싸주면 된다고 글을 썼었다. 대충 왜 그런건지 알 것 같다. window.open 함수는 실행되면 object (객체) 를 반환하는데, 실행 시점에서의 현재 창은 팝업이 아닌 부모 창(?) 이므로 object를 부모창이 받게 되어 [object]가 뜨게 된다. 그러므로, 아예 반환값을 안받으려면 window.open(......);void() 이런식으로 해준다거나 아니면 window.open().focus() 이런식으로 open 되는 것에 포커스를 주면 된다... 대...충 이런 뜻인거 같다 p.s. 이건 꼭 플래시 getURL 에서만 아니라 일반 html 이나 자바스크립트에서도 적용된다. 해보니까 되더라... 더보기
까먹을까봐 적는 간단한 명령어들 date 날짜와 시간 출력 cd (change directory) 디렉토리 변경 cd ../.. 하면 2단계 올라가기!! 그냥 cd 하면 홈 디렉토리로 이동. rmdir 디렉토리 삭제. 폴더 내용이 없어야 지워짐. 폴더 내용까지 지우려면 -r 붙여서 사용함. 더보기
getURL 사용 시 [object] 뜰 때 플래시 버튼을 클릭하면 팝업이 뜨거나 하게 만들때 보통 on(release) { getURL("javascript:window.open("aa.html","hello","width=100,height=100")"); } 이런식으로 해준다. 그런데, 이때 팝업이 뜨는건 좋은데, 기존 화면이 하얗게 빈창으로 나오면서 [object] 라고 나온 적이 있었다. 이유는 모르겠지만 이것에 대한 해결책은 window.open 함수 전체를 void( ) 로 묶어주는 것이었다. getURL("javascript:void(window.open("aa.html"))); 더보기
내용에 맞게 팝업창 크기 조절 보통 팝업창 사이즈를 정할 때 window.open() 안에다가 width, height 속성을 줘서 크기를 정한다. 근데, 팝업 페이지 크기가 제각각일 경우 일일히 수동으로 정해주면 매우 비효율적이게 된다. 이러고 싶지 않을 때(?) 사용한다. 일단 평소와 다름없는 팝업 호출 함수를 하나 만든다. function openWindow(url, name) { var win; win = window.open(url, name, 'scrollbars=no,width=10,height=10,status=no,resizable=no'); win.opener.self; } 일단 여기서는 width와 height에 아무 값이나 넣어도 상관 없다... 그 뒤, 각각의 팝업 페이지에 이 함수를 집어넣는다. (사이즈를 재.. 더보기
파일 확장자 한꺼번에 변경하기 저번에 말했던 전자앨범을 만들때였다. 분명 서버에 파일이 올라가 있는데 그림이 안보이는 것이다. 알고보니 확장자가 대문자인 것들을 인식을 못했었다. 그래서 5만장이 넘는 앨범을 어떻게 다 바꿀까 하다가 쉘스크립트를 짜보자 생각을 했다. 일단 해당 폴더 내의 모든 JPG 파일을 jpg 로 바꾸는 방법이다. ls *JPG | sed 's/\(.*\).JPG$/mv "&" "\1.jpg"/' | sh 근데 폴더 내에 여러 폴더들이 더 있었으므로 앞부분을 약간 수정했다.(find 사용) find ./ -name '*JPG' | sed 's/\(.*\).JPG$/mv "&" "\1.jpg"/' | sh 아 졸리다..;; 더보기
설마 까먹을까 생각되는 기초 명령어 date 날짜와 시간 출력 echo 내용 뒤에 나오는 것 출력... echo와 문자열 사이의 불필요한 공백은 무시됨! ls 디렉토리 내용 보기 ls 폴더이름 폴더 안의 내용 보기 cat file 파일 내용 보기 wc file 파일의 라인, 단어, 문자 수 세기 wc -l file 라인 수만 세기 wc -w file 단어 수만 세기 wc -c file 문자 수만 세기 ex) wc hello.txt 라고 입력하면 2 8 39 hello.txt 라는 식으로 나온다.. 순서대로 라인, 단어, 문자 개수이다. cp 이것을 여기로 파일 복사 mv 이것을 여기로 파일 이동 or 파일 재명명. ex) mv hello.txt hello2.txt 라고 하면 이름이 바뀐다. rm 파일 파일 삭제 rm a.txt b.txt .. 더보기
현재 사용하고 있는 shell 확인 커맨드에 echo $SHELL 입력하면 된다. 더보기
ajax 한글 이상하거나 안 나올때 홈페이지를 만드는 프로젝트가 있었다. 내 pc에서 웹 전자앨범 바슷한 것을 만들었는데, 이걸 이제 서버에 이관을 했다. 소스 중에, ajax를 사용해서 2단 콤보박스를 구현해 놓은데가 있었는데, 아니, 얘가 갑자기 한글을 출력을 안하는 것이다;; 내부에 iconv 함수가 있었는데, 처음에는 이게 문제인 줄 알고 libiconv 랑 glibc 를 재설치 하려고 애를 먹었었다;; (근데 서버가 AIX 인지라... 수차례의 시도 끝에 포기했다 ㅠㅠ) 근데 알고보니 ajax 에서는 기본적으로 캐릭터셋이 utf-8 로 넘어간댄다.. 근데 db에서 넘겨받은 걸 계속 set names euckr; 이런 쿼리가 앞에 붙어있었다;; -___________- ;;; 아나;;; 저것을 바꿔주니 제대로 출력됐다 ㅎㅎ 더보기