터미널 화면에 그대로 출력이 되는 명령어들을

특정 파일에 저장하고 싶을 때

> 를 사용한다.

 

$echo 'hello'

  hello

$                    

그냥 쓰면 이렇게 되지만

$echo 'hello' > a.txt

$cat a.txt

  hello

$

> 를 사용하면 내용이 터미널 상에 출력되지 않고

파일에 써버린다. 즉, 표준출력이라면 화면에 뿌려줬겠지만(터미널에..)

출력의 방향을 표준출력이 아닌 특정 파일로 바꾼것이다.

 

>> 이렇게 사용하면 해당 파일이 존재할 때 덮어 쓰지 않고 파일 끝에 추가한다.

 

  • 표준에러 출력방향변경

사실 이 글을 쓴 이유는 이거다.. 앞에것은 알았었는데 이건 얼마전에 알았다.

명령어 사용 시의 에러 문구들은 출력방향변경이 안되고, 그냥 터미널 상에 출력된다.

그러므로 다른 방법을 사용해야 한다.

 

$ls hello > error.txt

  hello not found           

 

이런 에러 메세지까지 방향변경을 하려면

$ls hello 2> error.txt

$cat error.txt

  hello not found

$

 

2> 이런식으로 해주면 된다.

 

* 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 가 있는 라인

  • * 끝까지 쭉~ (시작과 끝을 나타낼 때 유용)

  • [0-9]  :  0 ~ 9 중에서 한 문자만 매치

(대신 순서는 지켜야 한다. [a-z]는 되지만 [z-a]는 안된다)

ex) [a-np-z]*  :  a에서 n까지 또는 p에서 z까지의 문자로 시작되는 라인 (* 사용됨)

  • [!a]  :  a 가 아닌 것

ex) [!a-z]  :  소문자가 아닌 것

*[!k]  :  알파벳 k로 끝나지 않는 것

  • :  글자 한개

ex) grep 'h...o' hello.txt

파일에서 h로 시작해서 o로 끝나는 5글자짜리 단어가 들어간 라인을 찾는다.

예전에 쓴 글에서는 [object] 가 뜨면

void 로 window.open 구문을 감싸주면 된다고 글을 썼었다.

대충 왜 그런건지 알 것 같다.

window.open 함수는 실행되면 object (객체) 를 반환하는데,

실행 시점에서의 현재 창은 팝업이 아닌 부모 창(?) 이므로

object를 부모창이 받게 되어 [object]가 뜨게 된다. 그러므로,

아예 반환값을 안받으려면

 

window.open(......);void()

이런식으로 해준다거나 아니면

window.open().focus()

이런식으로 open 되는 것에 포커스를 주면 된다...

 

대...충 이런 뜻인거 같다

p.s. 이건 꼭 플래시 getURL 에서만 아니라 일반 html 이나 자바스크립트에서도 적용된다. 해보니까 되더라...

 



 

' > Flash' 카테고리의 다른 글

getURL 사용 시 [object] 뜰 때 2  (0) 2012.06.01
getURL 사용 시 [object] 뜰 때  (0) 2012.05.09

date         날짜와 시간 출력

 

cd (change directory) 디렉토리 변경

cd ../.. 하면 2단계 올라가기!!

그냥 cd 하면 홈 디렉토리로 이동.

 

rmdir         디렉토리 삭제. 폴더 내용이 없어야 지워짐.

폴더 내용까지 지우려면 -r 붙여서 사용함.

 

 

플래시 버튼을 클릭하면 팝업이 뜨거나 하게 만들때 보통

on(release)    {

getURL("javascript:window.open("aa.html","hello","width=100,height=100")");

}

이런식으로 해준다. 그런데, 이때 팝업이 뜨는건 좋은데, 기존 화면이 하얗게 빈창으로 나오면서

[object] 라고 나온 적이 있었다.

 

이유는 모르겠지만 이것에 대한 해결책은 window.open 함수 전체를 void( ) 로 묶어주는 것이었다.

getURL("javascript:void(window.open("aa.html")));

' > Flash' 카테고리의 다른 글

getURL 사용 시 [object] 뜰 때 2  (0) 2012.06.01
getURL 사용 시 [object] 뜰 때  (0) 2012.05.09

보통 팝업창 사이즈를 정할 때

 

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에 아무 값이나 넣어도 상관 없다...

 

그 뒤, 각각의 팝업 페이지에 이 함수를 집어넣는다. (사이즈를 재조정 해주는 함수다.)

 

function resizeWindow(win)    {

var wid = win.document.body.offsetWidth + 30;

var hei = win.document.body.offsetHeight + 40;        //30 과 40은 넉넉하게 하려는 임의의 값임

win.resizeTo(wid,hei);

}

 

 

이걸 넣어주고, 팝업페이지의 body가 onload 될 때 이 함수를 실행시켜주고, 자신을 인자로 넘기면 된다.

 

<body onload='resizeWindow(this)'>

저번에 말했던 전자앨범을 만들때였다.

분명 서버에 파일이 올라가 있는데 그림이 안보이는 것이다. 알고보니

확장자가 대문자인 것들을 인식을 못했었다. 그래서 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 c.txt        여러개 동시 삭제 가능

pwd                      현재 작업 폴더 보기 (Print Working Directory)

cd ../..                 2단계 올라가기.. 이건 생각 쫌만 하면 되는거네..

rmdir                 폴더 삭제 (빈 폴더여야함. 그냥 다 지우려면 rmdir -r )

커맨드에

echo $SHELL

입력하면 된다.

홈페이지를 만드는 프로젝트가 있었다.

내 pc에서 웹 전자앨범 바슷한 것을 만들었는데, 이걸 이제 서버에 이관을 했다.

소스 중에, ajax를 사용해서 2단 콤보박스를 구현해 놓은데가 있었는데, 아니, 얘가 갑자기

한글을 출력을 안하는 것이다;;

내부에 iconv 함수가 있었는데, 처음에는 이게 문제인 줄 알고 libiconv 랑 glibc 를

재설치 하려고 애를 먹었었다;; (근데 서버가 AIX 인지라... 수차례의 시도 끝에 포기했다 ㅠㅠ)

 

근데 알고보니 ajax 에서는 기본적으로 캐릭터셋이 utf-8 로 넘어간댄다.. 근데 db에서 넘겨받은 걸

계속 set names euckr; 이런 쿼리가 앞에 붙어있었다;; -___________- ;;; 아나;;;

저것을 바꿔주니 제대로 출력됐다 ㅎㅎ