2017년 7월 25일 화요일

몇 가지 리눅스 명령어





몇 가지 리눅스 명령어

1) getconf LONG_BIT
 -. 현재의 리눅스 시스템이 32비트인지 64비트인지 확인
 -. 예) # getconf LONG_BIT

리눅스 상에서 가끔 실행파일을 실행시켜 보면 "cannot execute binary file: Exec 형식 오류"과 같은 에러가 발생할수가 있다. 이건 리눅스가 32비트인데 64비트 실행파일을 실행하고자 할때의 경우에 발생한다.

2) wget
 -. http, https, ftp 프로토콜을 이용하여서 웹에 있는 특정 파일을 다운로드
 -. 예) wget http://www.som.co.kr/qt-opensource-linux-x64-5.8.0.run

리눅스의 웹 브라우저등으로 웹 상의 파일을 다운로드 할수도 있으나 부득이 터미널 창에서 웹의 파일을 다운로드 받아야 할 경우 wget으로 편리하게 다운로드 받을수 있다.

3) apt-cache pkgnames | grep 패키지_이름
 -. 현재의 리눅스에 설치되어 있는 패키지 프로그램을 찾고자 할 때 사용
 -. 예) apt-cache pkgnames | grep wget
        (wget이 설치되어 있는지 확인할수 있다)

4) lpq 
 -. 프린트 큐에 있는 작업의 목록을 보여주는 명령어
 -. 예) lpq
         EPSON-L365-Series is ready
         no entries

5) cat /proc/cpuinfo
-. cpu에 대한 전체적인 정보가 나온다.

6) dpkg --print-architecture
-. Linux Kernel architecture 확인
-. 여기서 나오는 정보는 amd64, arm64, armhf, i386 등의 정보가 나온다.

7) ls -sh
-. 파일 목록을 보여줄때 파일 사이즈를 Kb, Mb의 형식으로 표시
   (파일이름과 사이즈 정보만 표시됨). 디폴트는 byte단위로 표시됨
-. 여기서 s는 size, h는 human readable형식을 뜻한다.
-. 만일 자세한 정보를 같이 표시할려면 ls -lsh



memcpy()함수를 이용한 문자열 복사 하기





memcpy()함수를 이용한 문자열 복사 하기

char *name = "홍 길동";

//strlen() : 현재 문자열의 크기 값을 반환
//size_t strlen(const char *_Str)
//따라서 매개인자의 데이터 타입은 char* 형
char *kkk = new char[strlen(name) + 1];

//만일 char *kkk = new char[strlen(name) + 1]의 작업 없이 
//char *kkk;로만 선언후 memcpy(kkk, name, strlen(name))과 같이 하면
//이 경우는 "초기화되지 않은 'kkk' 지역 변수를 사용했습니다."라는 에러 발생.
//이유는 메모리 할당되지 않은 상태에서 memcpy()로 복사하고자 했기 때문이다.

//memcpy() : void *memcpy(void *dest, const void *src, size_t count)
//아래는 name에 있는 문자열을 kkk에 복사를 하되 strlen(name)+1만큼 복사
memcpy(kkk, name, strlen(name));

//printf("kkk : %s\n", kkk);
//cout << "kkk : " << *kkk << endl; //not work
cout << "kkk : " << kkk << endl; //work


2017년 7월 21일 금요일

윈도우에서 양방향 ping 설정하기





네트워크 연결 상태를 체크할 때 가장 손쉬운 방법이 ping을 통해서 테스트해 보는 방식이다.
그런데 윈도우쪽에서 다른 쪽으로 ping이 정상적으로 전송되는데 반대로
그 다른 쪽에서 윈도우쪽으로는 ping이 불가능할 때가 있다.
이때 콘솔 창(DOS 창)을 관리자 권한으로 연 후 아래 명령어를 입력하면 해결 끝

netsh advfirewall firewall add rule name="ICMP Allow" protocol=icmpv4:8,any dir=in action=allow

관련된 자세한 정보를 볼려면

netsh advfirewall firewall show rule name="ICMP Allow" dir=in type=dynamic

2017년 7월 18일 화요일

MFC 개발시 콘솔창(DOS 창)에 로그 출력하기.





MFC 개발시 콘솔창(DOS 창)에 로그 출력하기.

MFC 개발시 프로그램 실행의 정보를 콘솔 창에 로그로 출력하기 위해서는 
stdafx.cpp안에 아래 코드를 추가하면 프로그램이 실행될 때 콘솔 창이 뜨고 printf()나 cout으로 출력하는 값이 표시가 된다.

#pragma comment(linker, "/entry:WinMainCRTStartup /subsystem:console")    //semicolon이 없음

TestView.cpp에서 특정 변수의 값을 콘솔창에 출력하고 싶다면

#include <iostream> //cout으로 출력하기 위해

... 중 략 ...

std::cout << "x : " << point.x << std::endl;
printf("결과 : %d\n", point.x);

과 같이 사용하면 된다.


2017년 7월 11일 화요일

Ubuntu root 계정 암호(비밀번호) 생성





우분투는 최초 설치 후 기본적으로 root 계정으로 접속할수 없다. root 계정은 만들어져 있으나 암호 설정이 되어 있지 않다. 이럴 때 우분투 초기 설치후 root 계정의 비밀번호를 생성해 주면 된다.
방법은 다음과 같이...

$ sudo passwd root
[sudo] password for 현재로그인한사용자: <여기에서 현재 로그인한 사용자의 비번을 입력한다>
새 UNIX 암호 입력 : <여기에 root 비번입력>
새 UNIX 암호 재입력 : <여기에 root 비번 다시 입력>
passwd: 암호를 성공적으로 업데이트했습니다.

$ su
암호: <여기에 root 비번 입력>

root@.... # 

위와 같이 prompt가 #로 바뀌면 root 계정으로 정상적으로 로그인한 것이다.