ls 옵션

컴퓨터 2014. 5. 12. 10:04


참조 : http://www.adma.kr/pc/cms/cms.php?mid=linux&pid=8

 

-a: 디렉토리 내의 모든 파일 출력

-i : 파일의 inode와 함께 출력한다.

-l : 파일 허용 여부, 소유자, 그룹, 크기, 날짜 등을 출력한다.

-m: 파일을 쉼표로 구분하여 가로로 출력한다.

-r : 정렬 옵션이 선택되었을 때, 그 역순으로 출력한다.

-s : KB 단위의 파일 크기를 출력한다.

-t : 최근에 만들어진 파일 순서대로 출력한다.

-x : 파일 순서를 세로로 출력한다.

-F : 파일의 형태와 함께 출력한다.

출력되는 파일의 형태는 '*',
'@', '|', '=' 등이며, 이것은 각각 실행 파일, 심볼릭 링크, FIFO 소켓을 나타낸다.

-R : 서브 디렉토리의 내용을 포함하여 출력한다.

-S : 파일 크기가 큰 순서로 출력한다.

-U : 정렬하여 출력한다.

-1 : 라인당 한 파일씩 출력한다.

--help : 도움말을 화면상에 나타낸다.

--version : 'ls'의 파일 버전과 함께 출력한다. 

 

'컴퓨터' 카테고리의 다른 글

흔들어 전체창 최소화 기능끄기  (0) 2014.06.08
자동 로그인 설정  (0) 2014.06.01
git 파일 패치 방법  (0) 2014.04.25
github fork sync  (0) 2014.04.25
배치파일 sleep  (0) 2014.04.02

git 파일 패치 방법

컴퓨터 2014. 4. 25. 17:00


일단 diff를 뜰 태그를 두개 만든다.
( TagOrg, TagDiff )

패치파일 생성
$ git diff TagOrg TagDiff > Patch_001.patch

해당 파일을 복사후 패치를 적용시킨다
$ patch -p1 < Patch_001.patch

이후 적용한 diff를 확인하고 커밋 푸시

'컴퓨터' 카테고리의 다른 글

자동 로그인 설정  (0) 2014.06.01
ls 옵션  (0) 2014.05.12
github fork sync  (0) 2014.04.25
배치파일 sleep  (0) 2014.04.02
git push 되돌리기  (0) 2014.03.28

github fork sync

컴퓨터 2014. 4. 25. 11:33


1. 상황 파악

$ git remote -v
로컬의 현재 리모트 확인
본인이 사용하는 리모트가 나오면 정상

 

2. 머지 환경 설정

$ git remote add [새 리모트 이름] [처음에 포크한 곳의 주소]
[처음에 포크한 곳의 주소]를 자신의 리모트에 추가한다

$ git remote -v
새 리모트가 추가된것을 확인한다

$ git fetch [새 리모트 이름]
[처음에 포크한 곳의 주소] 의 변경사항을 로컬에 fetch 한다

$ git branch -va
각 리모트별 최근 작업사항을 확인 ?

$ git checkout [병합 작업을 할 origin과 동일한 브런치(master)]
병합 작업을 할 master를 체크아웃

 새로운 브런치를 생성하려면
$ git checkout -b [새로운 브런치]

 브런치 이름변경
$ git branch -m [변경전 이름] [변경후 이름]

 브런치 삭제
$ git branch -d [삭제할 브런치명]
-D 옵션은 강제삭제



3. 머지

$ git merge [새 리모트 이름]/[병합할 상대리모트의 브런치]
처음에 포크한 곳의 주소 의 최근 변경사항을 로컬에 작업함

머지가 아닌 새로운 브런치를 만들며 상대의 내용을 가져오려면
$ git checkout -b [새로운 브런치] [새 리모트 이름]/[병합할 상대리모트의 브런치]

머지중 충돌등의 문제로 인해 상황을 돌리려고한다면
$ git reset --hard
$ git clean -f -d
관리하지 않는 모든파일이 지워진다.

 

4. 변경내용 Push

$ git push [머지 내용을 적용할 리모트]
로컬의 머지한 내용을 본인의 리모트에 push한다

새로 생성한 브런치라면
$ git push [머지 내용을 적용할 리모트] [새로생성한 브런치]
리모트의 브런치 이름이 다른경우
git push [머지 내용을 적용할 리모트] [새로생성한 브런치]:[리모트의 다른 브런치이름]


 

'컴퓨터' 카테고리의 다른 글

ls 옵션  (0) 2014.05.12
git 파일 패치 방법  (0) 2014.04.25
배치파일 sleep  (0) 2014.04.02
git push 되돌리기  (0) 2014.03.28
git 외부 접속 bare 만들기  (0) 2014.03.28

배치파일 sleep

컴퓨터 2014. 4. 2. 16:17


 

윈도우 배치파일에는 sleep가 없다.

 

win 7 이상부터

> timeout /t [시간(초)]

로 사용가능하다

 

 

'컴퓨터' 카테고리의 다른 글

git 파일 패치 방법  (0) 2014.04.25
github fork sync  (0) 2014.04.25
git push 되돌리기  (0) 2014.03.28
git 외부 접속 bare 만들기  (0) 2014.03.28
ssh 재시작  (0) 2014.03.25

git push 되돌리기

컴퓨터 2014. 3. 28. 17:33


http://whiteship.me/?p=13516

바보링크 깨졌네.

git reset HEAD^
git push origin -f

 

하나 리보트 후 다시 push

'컴퓨터' 카테고리의 다른 글

github fork sync  (0) 2014.04.25
배치파일 sleep  (0) 2014.04.02
git 외부 접속 bare 만들기  (0) 2014.03.28
ssh 재시작  (0) 2014.03.25
Windows 8.1 에서 Open VPN GUI 클라이언트 컨넥트 반응 없음 문제  (0) 2014.01.21


$ git clone --bare --shared [clone 할 원본 ssh 주소]

 

bare를 만든 곳으로 외부에서

ssh접속이 가능하면 git로 접속을 할수있다

 

추가로 빈 repo를 만들면서 공유는

$ git init --bare --shared [접속할git명]

'컴퓨터' 카테고리의 다른 글

배치파일 sleep  (0) 2014.04.02
git push 되돌리기  (0) 2014.03.28
ssh 재시작  (0) 2014.03.25
Windows 8.1 에서 Open VPN GUI 클라이언트 컨넥트 반응 없음 문제  (0) 2014.01.21
리눅스 하드 남은 용량 확인  (0) 2013.12.13

ssh 재시작

컴퓨터 2014. 3. 25. 13:18


$ /etc/init.d/ssh restart



출처 : http://ssb777.blogspot.kr/2009/07/mfc-wmclose-wmdestroy-wmquit.html

 

WM_CLOSE

윈도우가 닫히기 전에 이 메시지가 전달되며 메인 윈도우인 경우는 응용 프로그램이 종료된다는 신호이다.
이 메시지를 처리하지 않고 DefWindowProc으로 보내면 DestroyWindow 함수를 호출하여 윈도우를 파괴하도록 한다.
이 메시지가 전달되었을 때는 아직 윈도우가 파괴된 것이 아니므로 윈도우가 파괴되는 것을 중간에 차단할 수 있다.
미저장 파일이 있거나 프로그램을 종료할 상황이 되지 않을 때 사용자에게 메시지 박스를 통해 종료 사실을 확인시킬
수 있으며 이 메시지를 가로채서 단순히 return하면 DestroyWindow가 호출되지 않도록 할 수 있다.
예를 들어 프로그램을 사용자가 닫을 때 "저장할까요?"라는 확인이 필요한 경우 등에 사용할 수 있다.

WM_DESTROY

윈도우가 파괴될 때 이 메시지가 전달된다.
사용자가 Alt+F4 또는 닫기 버튼을 누를 경우 WM_CLOSE 메시지가 전달되며 이 메시지를 별도로 처리하지 않으면
DefWindowProc은 DestroyWindow 함수를 호출하여 윈도우를 파괴한다. 또는 프로그램 코드 내부에서 명시적으로
DestroyWindow 함수를 호출할 때도 윈도우가 파괴되는데 이 함수 호출 결과로 WM_DESTROY 메시지가 전달된다.
이 메시지를 받은 윈도우는 윈도우의 종료를 위한 처리를 해야 하는데 예를 들어 열어 놓은 파일을 닫고 할당한
메모리를 해제하는 등의 정리 작업을 한다. WM_CREATE에서의 초기화 처리의 반대 동작이 이 메시지에 작성되는
것이 일반적이며 그외 레지스트리에 미보관 정보를 저장하는 등의 작업을 할 수 있다. 만약 파괴되는 윈도우가
클립보드 체인에 속해 있으면 자신을 클립보드 체인에서 제거해야 한다.
DestroyWindow 함수는 파괴할 윈도우를 화면에서 숨긴 후 이 메시지를 보내므로 이 메시지를 받은 시점에서는
윈도우 자체가 파괴되지 않은 상태이다. 또한 DestroyWindow 함수는 자식 윈도우에게도 이 메시지를 차례대로
보내주는데 부모 윈도우가 먼저 이 메시지를 받고 자식 윈도우에게로 이 메시지가 보내진다. 따라서 부모 윈도우가
이 메시지를 처리하는 동안은 모든 자식 윈도우가 아직 파괴되기 전이므로 자식 윈도우를 프로그래밍할 수 있다.
파괴되는 윈도우가 메인 윈도우일 경우 PostQuitMessage 함수를 반드시 호출하여 프로세스의 메시지 루프를
종료하도록 해야 한다. 만약 이 처리를 생략하면 윈도우만 파괴되고 메시지 루프는 계속 실행중인 상태가 되므로
프로세스가 종료되지 않는다.

WM_QUIT

응용 프로그램을 종료하라는 신호이다. PostQuitMessage 함수 호출에 의해 발생하며 GetMessage 함수가 0을
리턴하도록 함으로써 메시지 루프를 종료시키는 역할을 한다. GetMessage 함수는 WM_QUIT 이외의 모든 메시지에
대해 0이 아닌 값을 리턴하므로 계속 루프를 돌지만 WM_QUIT에 대해서만 0을 리턴한다.
그래서 메시지 루프는 통상 다음과 같이 작성된다.

while(GetMessage(&Message, 0, 0, 0))
{
TranslateMessage(&Message);
DispatchMessage(&Message);
}
return (int)Message.wParam;


GetMessage 함수가 0이 아닌 값을 리턴하는 동안 무한히 이 루프를 도는데 단 WM_QUIT가 전달될 때는
while문이 종료되며 따라서 WinMain이 종료된다. 메인 윈도우의 WM_DESTROY에서는 반드시 PostQuitMessage
함수를 호출하여 메시지 루프가 종료될 수 있도록 해 주어야 한다. 그렇지 않으면 메인 윈도우는 파괴되었으나
프로세스는 계속 실행중인 상태가 된다.

PeekMessage 함수는 WM_QUIT 메시지와 상관없이 메시지 큐에 메시지가 있는지만 리턴하므로 메시지 루프를
구성할 때 따로 WM_QUIT 메시지를 점검해야 한다.
for(;;)
{
if(PeekMessage(&Message, NULL, 0, 0, PM_REMOVE))
{
if (Message.message == WM_QUIT)
{
break;
}

TranslateMessage(&Message);
DispatchMessage(&Message);
}
else
{
// 백그라운드 작업
}
}


조사한 메시지가 WM_QUIT이면 메시지 루프를 탈출하는 별도의 코드가 필요하다.
WM_QUIT는 윈도우에게 전달되는 메시지가 아니므로 윈도우 프로시저는 이 메시지를 받을 수 없다.
윈도우 프로시저까지 전달되기 전에 메시지 루프에서 이 메시지를 차단하여 루프를 탈출하게 된다.

WM_NCDESTROY
비작업 영역이 파괴될 때 보내진다.
윈도우와 그 차일드들이 먼저 파괴된 후에 비작업 영역이 파괴되므로 이 메시지는 윈도우가 가장 마지막으로 받는 메시지이다.
WM_DESTROY보다 뒤에 발생되며 이 메시지를 받았을 때는 모든 차일드가 이미 파괴된 후이다.
반면 WM_DESTROY 메시지는 차일드가 아직 파괴되기 전이다.
종료 처리가 필요할 경우는 일반적으로 WM_DESTROY 메시지에 코드를 작성하므로 이 메시지는 실용적인 가치가 거의 없는
셈이며 처리하는 경우가 극히 드물다.



HINSTANCE hInstance = (HINSTANCE)GetModuleHandle(NULL);

 

'프로그래밍' 카테고리의 다른 글

Microsoft Visual Studio C++ 의 try catch 내부 처리방법  (0) 2014.09.01
wm_quit vs wm_close vs wm_destroy 차이  (0) 2014.02.07
VS2012 컬러 스킨 변경  (0) 2013.09.17
Manual Unpacking  (0) 2013.08.02
XMMATRIX 런타임에러  (0) 2013.04.19


Open VPN 을 잘 사용중이다

그런데 윈도우 8.1로 업데이트후

GUI에서 컨넥트를 누르면 창만뜨고 반응이없다.

 

찾아보니 버그사항 같다

어떤 사람이 수정한 실행파일이 있다

참고 : https://forums.openvpn.net/topic13246.html

http://openvpn.skbkontur.ru/beta/

에서 설치한 버전에 맞는 x86, x64 에 들어가

openvpn.exe 파일을 다운받아

C:\Program Files\OpenVPN\bin\ 에 복사해준다.


추가 20141013 : 오랜만에 들어가보니 링크에 파일이 없어서 사용중이던 파일을 찾아 첨부합니다.

openvpn.zip

x64용 (파일의 버전은 2.3.x 인데. 잘모르겟네요.)

'컴퓨터' 카테고리의 다른 글

git 외부 접속 bare 만들기  (0) 2014.03.28
ssh 재시작  (0) 2014.03.25
리눅스 하드 남은 용량 확인  (0) 2013.12.13
ubuntu ftp 설치  (0) 2013.11.22
vi 명령어 정리  (0) 2013.11.19