www.gnu.org  gcc 최신버전을 받으려면. 리눅스나 유닉스는 별도의 gcc를 깔 필요는 없음.

윈도우의 gcc는 minGW 를 사용할 것임.


리눅스 터미널에서  gcc --version 으로 gcc버전확인.

컴파일 gcc helloworld.c , 실행파일이 a.out이 생겼다. 

실행을 위해 a.out을 쓰면 실행이안된다. 하기 위해서는 이 경로를 지정해주던가, 아니면 현재폴더를 export를 이용해서 내보내주어 ...(?)

간편하게 ./a.out 으로 실행...


gcc -c helloworld.c 으로 하면 helloworld.o라는 목적파일이 만들어진다(이것은 실행파일이 아님). -c는 컴파일만 하라는 것.

아까 gcc helloworld.c 는 컴파일도하고 링크도 걸어 실행파일을 만들은 것.

그리고 gcc helloworld.o 를 하면 실행파일 a.out이 만들어진다. 

gcc -o helloworld helloworld.o 의 명령어로 실행파일 이름을 helloworld의 이름으로 실행파일을 만들 수 있다.



윈도우에서는 http://www.mingw.org/ 로 접속한다. 왼쪽에 navigation-Downloads 에서 다운받아 설치하면 윈도우8에선 문제가 생겼다고 해서

http://www.javaexpert.co.kr/entry/Windows7-%EC%97%90%EC%84%9C-minGW-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0 에서 다운.

설치하다가 체크하는 것에서 MinGW Make만 체크하고 다음 다음으로 설치 마무리.

system setting에서 advanced system settings에서 advanced에서 environment variables 선택. system variables에서 Path를 찾아 Edit클릭.

variable value 값에 제일 뒤에 ;C:\MinGW\bin;(minGW설치한 곳에서 bin폴더의 경로를 붙여주는 것임) 라고 붙여 넣어준다. - 이것은 어디서나 gcc를 사용할 수 있게 하기 위해.

원래는 재부팅을 해야하지만 명령프롬프트 창에서 set path 명령어를 통해 path설정 마무리.

echo %path% 명령어로 확인. 


메모장으로 c파일을 저장할 때는 encoding은 ANSI 해야하고, save 타입은 all files 로 해야한다. 그리고 마지막 라인의 한줄 이상은 빈공간으로 둬야한다. 아니면 에러

type helloworld.c 명령어는 cat명령어와 같다.  gcc -o helloworld helloworld.o 의 명령을 하면 exe 파일이 만들어짐. 

실행시에는 helloworld 그냥 실행 파일 이름만 써주면됨.




에디트플러스 c의 기본 template을 바꾸려면 프로그램파일즈-에디트플러스에 template.cpp와 new-configure templates의 경로 두 군데를 수정해 주어야한다(처음 c파일을 만들었을 때 나오는 것을 수정하는 작업)


아래와 같이 tools-preferences에서 수정해준다.


위 사진이 잘안보여서... 

Menu text : Compile

Commands : C:\MinGW\bin\gcc.exe

Argument : -o $(FileNameNoExt) $(FileName)

Initial directory : $(FileDir)

Action 은 Capture output을 해준다.


그러면 Tools에서 보면 compile이라는 것을 볼 수 있다. 그것을 누르거나 ctrl+1을 눌러 컴파일을 실행할 수 있다.

그리고 preferences 메뉴에서 File 탭에서 create backup file when saving을 체크해제하여 컴파일시 .bak 파일 만들어지는 것을 없앨 수 있다.

Tools-preferences에서 아래와 같이 run 메뉴도 설정해주자.


Menu text : Run

Commands : cmd.exe

Argument : /C $(FileNameNoExt).exe

Initial directory : $(FileDir)

Action 은 만지지 않는다.



실행시 새창이 뜨며 결과 값이 나온다.

그러면 ctrl+1로 컴파일, ctrl+2로 실행까지 할 수 있다.






Datatype

1. memory size를 결정

 a. 진법변환을 할 줄 알아야한다.

 b. 양수, 음수, complement 보수

 c. 최소값, 최대값

2. data의 종류를 결정



1.내장형(기본형)(built-in type) - 

 A. 수치형 :

  a. 정수형 :

    1)문자형 : unsigned char, char    1byet

    2)정수형 : short, int, long, unsigned short, unsigned int, unsigned long   (long 4byte, short과 int는 2byte)(short,int는 -32768~32767)(long은 -2147483648~2147483647)

  b. 실수형 : float, double    (float 4byte, double 8byte)

  c. 나열형 : enum

 B. 문치형 : void

2.외장형(추상형)(user-defined type)

struct, union, class, pointer 변수, 함수, array


(진법변환 : http://pikich89.blog.me/10134113471

 2의 보수를 이용한 뺄셈 : http://blog.naver.com/undust2?Redirect=Log&logNo=100035742421 )




1. C-언어의 역사

 1)ALGOL60 --> CPL --> BCPL --> B --> C --> C++ --> Java

 2)Multics

 3)Bell Lab. 의 연구원 Ken Tompson & Dennis Ritchie

 4)1972, UNIX

 5)1979년 K&R C Programming 책을 펴냄

 6)1989년 발표된 표준 -C (C89, ANSI Standard C) 

 

2. C-언어 구성요소

 1) Comments

 2) Preprocessor(전처리기, 선처리기)

 3) function


3.  C-언어에서 사용되는 문자

 1) 영문자 : A ~ Z, a ~ z, 대소문자를 구분한다.

 2) 숫자 : 0~9, A(10), B(11), C(12), D(13), E(14), F(15), 대소문자를 구분하지 않는다.

 3) 특수문자


4. 예약어(Reserved Word, Keyword)

 1) 지정된 목적외에 사용자가 임의의 용도로 사용할 수 없는 문자, 반드시 소문자로 기술한다.

 2) 기억류와 관련된 예약어

  - 어느 위치에서 생성 또는 소멸되는지를 결정

  - auto, register, static, extern

  - ex. static int kor;

 3) 자료형과 관련된 예약어

  -정의된 기억장소(변수, 상수)를 어떠한 유형으로 사용할 것인가를 결정

  - char : 한문자만을 대상으로 기억하는 기억장소를 정의할 때 표현

  - unsigned char : 

  - short, int, long : 정수값을 기억하기 위한 장소를 정의할 때 표현

  - unsigned short, unsigned int, unsigned long

  - float, double : 실수값을 기억하기 위한 장소를 정의할 때 표현


  4) 제어문과 관련된 예약어

   - 명령어의 흐름을 결정하기 위한 예약어

   - goto, break, continue

   - if~else, switch~case

   - for, do, while

  5) 기타 예약어

   - sizeof, typedef


5. 식별자(Identifier)

  - 사용자가 임의로 지정하는 이름

  - 변수명, 함수명, 상수명, 구조체명, 공용체명, 배열명

  - 절대로 키워드는 식별자가 될 수 없다.







Literal(cf, Value, 상수)

1. 정수형 Literal

 1) 소수점이 포함되어 있지 않은 수치값  5, 128

 2) 메모리에 기본적으로 4바이트 공간할당한다.

 3) 정수형에서 사용할 수 있는 문자

  - 숫자 : 0~9, a, b, c, d, e, f

  - 기호 : 0x (16진수)

  - 표현부호 : +, -

 4)진법(base)

  - 10 --> 10진수

  - 076 --> 8진수

  - 0xAB -->16진수

 5) 출력서식

  - %d --> 10진수(decimal)

  - %o --> 8진수(Octal Number)

  - %x --> 16진수(Hexa Decimal)

  - %u --> unsigned   - 값은 이미 넘어섰고 음수가 아닌 값에 붙여줌.

  printf("%d\n", 2147483648); 출력이 -2147483648

  printf("%u\n", 2147483648); 출력이 2147483648


2. 문자형 literal

 1) 한개의 문자를 표현하기 위한 타입

 2) ' ' 안에 한개의 문자를 표현 'A', "A"

 3) 특수문자(escape sequence)를 표현하기 위한 타입

  - \n :new line

  - \r : carriage return  -라인의 맨처음으로(맨처음으로 가면서 다 지우는듯..)

  - \a : alert

  - \b : backspace  - 한 문자 삭제

  - \f : form feed

  - \t : tab


  4)출력서식 :

  - %c(한개의 글자 출력), [%d]


  printf("%c", 'A');

  printf("%c", 65);

  printf("%c", 65 + 1);

  printf("%c", 'A' + 2);

  printf("%c", '\n');

  printf("%c", '\a');

  printf("%c", 'a');

  printf("%c", 'a' + 4);

  printf("%c", '\b');

  printf("%c", 'M');

  printf("%c", 89.5);

출력  : 

AABC

aM

(ae가 찍혔다가 e를 지운 후 M을 찍어줌)


3. 실수형 리터럴

 1) 소수점이 포함되어 있는 값

 2) 십진형 실수(89.5, 3.14), 지수형 실수(3.95E+01, 0.4e-3)

 3) 출력서식

  - %f(십진형 실수형으로 출력)

  - %e(지수형 실수형으로 출력)


  printf("%f\n", 89.5);

  printf("%f\n", 89.123456789);

  printf("%f\n", 34.5E+02);

  printf("%e\n", 89.5);

  printf("%e\n", 89.123456789);

  printf("%e\n", 0.00045678);

  printf("%e\n", 34.5E+02);

출력 :

89.500000

89.123457

3450.000000

8.950000e+01

8.912346e+01

4.567800e-04

3.450000e+03


  4) 사용가능한 문자

   - 0~9, e, f(F, 4byte)

  5) 실수형 리터럴을 메모리에 저장하면 메모리에 기본적으로 8바이트 공간을 확보하며, 만일 4바이트 공간을 확보하려면 리터럴 뒤에 'f(F)'를 붙인다.


  printf("float's sizeof = %d\n", sizeof(float));

  printf("double's sizeof = %d\n", sizeof(double));

  printf("3.14F's sizeof = %d\n", sizeof(3.14F));

  printf("3.14's sizeof = %d\n", sizeof(3.14));

출력 :

float's sizeof = 4

double's sizeof = 8

3.14F's sizeof = 4

3.14's sizeof = 8


4. 문자열형 리터럴

 1)한개 이상의 문자들을 처리하기 위한 타입

 2)출력서식

  %s --> 시작번지로부터 NULL을 만날때까지 출력하기


  printf("%d\n", sizeof("hello"));

출력 :

6

hello는 5바이트인데 6이라고 잡히는 것을 볼 수 있다. 이것은 맨 끝에 null이 포함되어 그런 것이다.



  printf("%s\n", "Hello,World");

  printf("%s\n", "Hello,World" + 2);

  printf("%s\n", "Hello,World" + 5);

출력:

Hello,World

llo,World

,World

" " + 숫자 는 번지수를 옮기는 것을 의미한다. H가 1000번지라면 +2를 했다면 1002번지 부터 출력하는 것을 의미한다. 따라서 앞의 He는 삭제되고 llo부터 출력이 시작되는 것이다.


'Java & Oracle' 카테고리의 다른 글

c 입출력함수 day8  (0) 2014.02.26
c 변수, 연산자 day7  (0) 2014.02.25
ftp 연결, ping day5  (0) 2014.02.21
vi editor day5  (0) 2014.02.21
리눅스 명령어 day4  (0) 2014.02.20

패키지를 새로 설치할 때는 항상 업데이트부터 해주어야합니다.

sudo apt-get update

sudo apt-add-repository ppa:cairo-dock-team/ppa   - 카이로 설치.

또 업데이트 sudo apt-get update. 그럼 세개의 공간에서 업데이트한다. repository가 3개이므로. 다음, 타임킬러, 카이로

sudo apt-get install cairo-dock cairo-dock-plug-ins  설치

cairo dock을 찾아서 실행해주고 yes 누르면 밑에 여러 아이콘들이 생김을 볼 수 있다.


vsftp : 오픈소스에서 가장 많이 사용함. ftp는 기본적으로 21번포트를 사용한다. 파이어월에서 21번을 열어주어야합니다.

sudo apt-get install vsftpd   - 설치

sudo vi /etc/vsftpd.conf  을 들어가서  29라인 write_enable=yes가 주석처리 된 것을 풀어준다. 101 번라인 주석 해제후 to JavaExpert FTP service 로 바꿔쭘(이건 로그인하면 사용자에게 보여줄 메세지)

97, 98라인 주석 해제(아스키 업로드 다운로드를 가능하게 하기 위함)

112라인 주석 지우고 chroot_local_user=NO로 바꿔줌.ftp 유저가 체인지root를 하지못하게 막았다

120라인 주석해제. chroot_local_user=NO로 바꿔줌

121라인 주석해제. 리스트에 있는 계정만 사용하겠다는 뜻.

123라인 주석해제. -> 저장 후 나옴.

-> sudo service vsftpd restart   -서비스를 시작.

-> sudo groupadd iusers   -  iusers라는 그룹을 추가

-> sudo useradd -g iusers -d /WebHome -s /bin/bash -m ftpuser

  -g는 그룹그룹안에 넣어주기 위함   -d 홈디렉토리 정하기위함  -s 너의 쉘은 배쉬쉘  -m 너의이름은 ~~

-> tail -3 /etc/passwd 으로 새로 추가한 유저 정보를 확인할 수 있음.

-> sudo passwd ftpuser  -ftpuser의 비번을 바꿔주기 위함. 일단 ftpuser로 비번을 만들어줌.

-> ls -l / 으로 ftpuser의 정보를 볼 수 있음.

-> sudo chown ftpuser:iusers /WebHome -R    -앞으로 만들어질 모든 디렉토리도 ftpuser가 권한이 있다.

-> 윈도우즈에서 https://filezilla-project.org/ 에서 파일질라 클라이언트버전 다운. 그리고 설치, 계속 넥스트 설치 마무리.

-> 실행해서 서버어드레스에 우분투아이피주소, 유저네임에 ftpuser, 비번, 포트에 21 ok 하면 연결이안됨. 

-> 우분투에서 파이어월 설정을 해줘야함. 카테고리 네트워크, 서브카테고리를 all 해서  어플리케이션네임을 FTP찾음 그리고 > 누르면 제일 오른쪽 밑에 쓰는 란에 21이 안써있다면 그곳에 21 써줌(ftp라고 써있다면 지워주고 21)

그리고 프로토콜을 tcp로 바꿔줘야 함(처음에 udp에서 안바뀐다면 udp로 설정후 ok하고 만들어진 것을 수정하면 tcp로 바꿀 수 있음)

-> 잘 되질 않아 23라인 anonymous_enable=YES로 바꿔줌. -> sudo service vsftpd restart 

-> ftp localhost 해서 아이디 anonymous랑 비번 써서 들어가줌 

-> 동시에 윈도우에서 파일질라를 username에 anonymous 하고 나머진 같게 해주고 접속. 되는지 확인하면

-> 다시 23라인 anonymous_enable=N0해주고 33라인 local_mask 주석해제.

-> 112, 120라인 chroot_local_user=YES로 바꿔줌

-> 변경했으니 다시 sudo service vsftpd restart 해주고

-> sudo vi /etc/vsftpd.chroot_list 를 만들어주고 ftpuser 라고 작성해줌. 저장 후 나옴

-> ftp localhost -> 아이디 ftpuser 패스워드 ftpuser 라고 써주면 접속완료. 

-> 파일질라도 접속하면 접속되는 것을 볼 수 있다.




우분투 네트워크 세팅을 NAT를 브릿지로 바꿔줌. IP가 바뀐 것을 볼 수있다. (다시 NAT로 바꿔줌)

윈도우 환경에서 명령프롬프트를 열어서 ipconfig /all 하면 기본정보외에 더많은 정보를 알수 있고, DHCP까지 알 수 있다.

우분투에서는 ifconfig로 내 아이피, 서브넷 마스크 밖에 알아낼 수없다

cat /etc/resolv.conf 명령어로 nameserver에 대한 정보 확인을 한다.

netstat - 라우팅테이블에 대한 정보를 보여준다. 네트워크의 상태를 꾸려준다???

nslookup - nameserver 의 정보를 확인 한다. DNS의 문제가 있는 없나.

route  - 게이트웨이에 대한 정보를 볼 수 있다.

ping 127.0.0.1 : 나에게 핑테스트

ifconfig 내진짜아이피 : 잘 갔다오나 핑테스트

ifocnfig 게이트웨이아이피 : 게이트웨이 핑 테스트

ping www.duniv.or.kr : dns서버나 특정서버에 핑 테스트

traceroute www.daum.net : 트레이스라우트는 다음까지 가는 경로를 보여준다. 그러면 다음커뮤니케이션으로 가는 경로 중에 어디가 끊어졌는지 볼 수 있다.  =윈도우에서는 tracert www.daum.net

lsof 특정파일이 특정프로세스를 사용하고 있는지 알 수 있다.

lsof -i 를 치면 포트에대한 정보 PID 타입 디바이스 등의 정보를 보여준다. 열려있는 포트가 몇번인지 알 수 있다.

lsof -c sshd : sshd가 쓰고있는 정보를 볼 수 있다. 권한이 없어 sudo lsof -c sshd 를 써서 보면 어떤 프로세스가 sshd를 사용하는지 볼 수 있다.

sudo lsof -c vsftpd | more 너무 많아 보기힘들면 | more 을 사용할 수 도 있다.

ifconfig  

/etc/resolv.conf

rpite

netstat 

nslookup

traceroute

lsof 

ping



'Java & Oracle' 카테고리의 다른 글

c 변수, 연산자 day7  (0) 2014.02.25
c 시작 day6  (0) 2014.02.24
vi editor day5  (0) 2014.02.21
리눅스 명령어 day4  (0) 2014.02.20
원격 접속 설정(윈도우->우분투)(텔넷,ssh) day4  (0) 2014.02.20

vi editor

1. Billy Joy가 만듬. ex, ex ---> VIM 을 요즘은 많이 사용


2. 3가지 Mode

 1) Command Mode

 2) Insert Mode

 3) Line Mode

 4) Mode 변환

  a. Command Mode -- i, I, a, A, o, O --> Insert Mode

  b. Insert Mode -- EXC --> Command Mode

  c. Command Mode -- : --> Line Mode


3. 사용이유

 1) 그래픽이 지원되지 않는 환경에서의 에디터

 2) 키보드로 모든 것을 할 수 있다.

 3) 사용하면 할 수록 편리하다.

 4) 매우 가볍고 풍부한 기능을 갖고 있다.


4. 실행 및 종료

 1) vi

 2) vi filename

   a. 파일이 있으면 오픈하고, 파일이 없으면 새로 생성

   b. 파일의 이름은 임의로 주되, 특수문자(+, %, $, -, =) 등은 사용할 수 없다.

   c. 처음 실행하면 빈 행은 ~로 표시되며, 파일이름으로 실행하면 화면 제일 아래쪽에 [New File] 메시지를 표시한다.

  3) 종료

   a. Command Mode 에서 :를 입력하여 라인 모드로 변환한 후,

   b. :q --> 그대로 종료

   c. :q! --> 변경된 내용을 저장하지 않고 강제 종료

   d. :wq --> 저장하고 종료

   e. :x --> 저장하고 종료

   f. 만일 vi 를 실행할 때 파일의 이름을 넣지 않을 경우, 종료할 때 :wq filename 을 입력한다.

    -filename 이 기존의 파일과 동일하면 불능 메시지가 보인다.

    -Overwrite 하려면 :w! filename을 사용한다.

    -기존의 파일에 추가하려면 :w >> filename 을 사용한다.


5. 커서의 이동

 1) 글자 단위로 이동 : h(좌), j(아래), k(위), l (우)

 2) 단어 단위로 이동 : w(다음 단어 시작), b(이전 단어 시작), e(단어 끝, 커서가 끝에 있으면 다음 단어 끝)

 3) 라인 단위로 이동 : Enter key(다음 라인의 시작), -(minus, 이전 라인의 시작), +(plus, 다음 라인의 시작), 0(zero, 라인의 처음), $(라인의 끝)

 4) 문단 단위로 이동 : (, { --> 문단의 시작, ) } --> 문단의 끝

 5) 화면 단위로 이동 : 

  a. ctrl + u : 반 화면 위로 스크롤

  b. ctrl + d : 반 화면 아래로 스크롤

  c. ctrl + b : 한 화면 위로 스크롤

  d. ctrl + f : 한 화면 아래로 스크롤

 6) 문서 단위로 이동 :

  a. gg, 1G : 문서의 첫 행으로 이동

  b. G : 문서의 끝 행으로 이동

  c nG : n --> 특정 라인으로 이동(n은 라인 숫자)


6. 입력

 a. i --> 커서의 왼쪽부터 입력

 b. I --> 현재 커서가 위치한 라인의 처음부터 입력

 c. a --> 커서의 오른쪽부터 입력

 d. A --> 현재 커서가 위치한 라인의 끝부터 입력

 e. o --> 현재 커서가 위치한 다음 라인에 입력

 f. O --> 현재 커서가 위치한 이전 라인에 입력


7. 삭제

 1) 글자 단위로 삭제 : 

  a. x, dl --> 현재 커서의 글자를 삭제 

  b. X, dh --> 현재 커서의 왼쪽의 글자를 삭제

  2) 단어 단위로 삭제 : dw

  3) 라인 단위로 삭제 : 

   a. d0(zero) : 현재 커서의 위치로부터 라인 처음까지 삭제

   b. d$ : 현재 커서의 위치로부터 라인의 끝까지 삭제

   c. dd : 라인을 삭제 후 행까지 삭제

   d. D : 라인 삭제 후 빈 행은 남김  - 난 d$의 기능이 나오던데... ??

  4)화면 단위로 삭제

   a. dL : 현재 화면 삭제   - 현재 커서부터 화면의 끝까지 삭제되는 듯.

   b. dG : 나머지 삭제     - 이건 현재커서 부터 밑에 끝까지 다 삭제.

   c. dH : 화면의 시작까지 삭제

  5) 갯수 지정 삭제

   a. nx : n개 글자 삭제


8. 복사 & 붙이기 (copy의 y가 약자임..)

 1) yw : 현재 커서가 위치한 한 단어를 복사

 2) yy : 현재 커서가 위치한 한 라인을 복사

 3) nyw : n개의 단어를 복사, nyy : n개의 라인 복사

 4) p : 붙여넣기

 5) np : n번 붙여넣기

 

9. 블록 지정하기

 a. 여러 라인 블록 지정 : 원하는 위치에 v를 누르고 j를 아래로 이동

 b. 블록 복사 : 여러 라인 블록 지정 후 y를 누른다.


10. 잘라내기 

 a. 글자 단위, 단어 단위, 라인 단위로 삭제 후, 커서를 이동 한 다음 p를 누른다.

 b. 블록 단위로 잘라내기를 하려면, 블록 지정후 d 키를 눌러 삭제 한 다음, 커서를 이동한 다음, p를 누른다.


 11. 검색

  a. 정방향 검색 : /string

  b. 역방향 검색 : ?string

  c. 다음 찾기 : n

  d. 이전 찾기 : N


 12. 창 분할

   a. 수평 분할 : ctrl +w 누르고 s 누름

   b. 창 간의 커서 이동 : ctrl + w 누르고 w 한번 더 누름

   c. 커서가 위치한 창 종료 : ctrl +w 누르고 q

   d. 커서가 위치한 창 닫기 : ctrl + w누르고 c

   e. 창을 새로 나누기 : ctrl + w 누르고 n    - 기존 창에서 나누어진 창에 새로운 정보를 입력할 수 있게.




vi a b c : a b c 파일을 순서대로 열 때, 이렇게 치면 a파일만 열린다. 그리고 :n을 치면 다음 파일을 볼 수 있다.

:r filename 은 예를 들면 :r test 로 치면 현재 작성중인 상태에서 test 파일을 그 커서 밑에 덧 붙인다.

'Java & Oracle' 카테고리의 다른 글

c 시작 day6  (0) 2014.02.24
ftp 연결, ping day5  (0) 2014.02.21
리눅스 명령어 day4  (0) 2014.02.20
원격 접속 설정(윈도우->우분투)(텔넷,ssh) day4  (0) 2014.02.20
리눅스 명령어 day3  (0) 2014.02.19


6. Basic Shell Commands.pdf



7. Working with Files.pdf


출처 : www.javaexpert.co.kr



6장

find /usr -name umount   : umount라는 것을 usr폴더에서 찾아라.

whereis mount : whereis 는 man이라고하는 page 내에서 mount를 찾는다(which는 패키지형태로 찾는방식)

locate umount : 하드내에서 umount 를 찾는다.

man 8 umount : man의 8번째 섹션에서 umount를 찾겠다.(man은 워낙 많은 정보를 가지고있어 섹션별로 찾을 수밖에 없다.)

몇번째 섹션인지는 apropos mount로 내가 찾으려고하는 게 몇번째 섹션인지 한번 보고 찾는다. ()안에가 섹션 넘버.

ls --help | more  : ls --help는 정보가 너무 많아서 보기 불편할 때 쓰면 좋음. 한 화면에 보여줄 정보를 표시하고 엔터면 한줄, 스페이스는 화면 단위로 다음을 보여줌.


온라인에서 명령어 검색 하는 방법 : linux.about.com 에서 명령어를 검색하면 상세히 정보를 알 수 있다. 

리눅스에서 info의 기능과 같다. ex)info ls


man –k crontab : 에서 -k는 apropos의 기능과 비슷하다. crontab 단어가 포함된 것을 찾는듯..?

man -f crontab : 에서 -f는 waitis 기능과 비슷. crontab만 찾는듯..?


sudo shutdown -w 에서 -w는 종료기록을 기록하지 않는다.


date --help를 통해   date '+%A %B %d %G' 에서   %A가 뭔지 알 수 있고, 원하는데로 바꿀 수 있음.



7장

파일 유형을 파악하기 위해 ls -l 명령어를 통해 알 수 있다.

file doc-base/install-docs.html 나 file test.txt 이렇게 file 명령어로 파일의 타입을 알 수 있다.

touch /tmp/newfile.txt 엔터

> /tmp/newfile2.txt

-위 두줄은 >를 이용하여 동일라인으로 생각하게 하는 것이라 결과적으로 두개의 파일을 만들어줌.


ls 는 파일인지 디렉토리인지 파악하는 역할을 하고 , file은 어떤 종류의 파일인지 알아내기 위해 사용.

ls -R : 디렉토리 밑에 디렉토리를 확인하는..

ls -t : 시간기준 sorting

ls -tl : 시간기준으로 자세한 정보를 알아내기.

ls -rtl : 시간 기준으로 자세한정보를 역으로 정렬(내림차순->오름차순)


cat -b test.txt : test.txt를 출력하는데 앞에 라인 번호를 준다(비어있는 라인은 번호에서 제외)

cat -n test.txt : test.txt를 출력하는데 앞에 라인 번호를 준다(비어있는 라인도 번호에서 포함)


cat /etc/services | more 의 방법으로 정보를 편하게 볼 수 있지만 more /etc/services 를 사용하면 현재 보고 있는 화면이 전체의 몇퍼센트를 보고 있는 것인지 볼 수 있음

more -d +10 /etc/services : more -d /etc/services는 기본 11줄을 보여줌. -d +1은 기본과 같음. -d +3은 13개를 보여줌. -d +10은 20개를 보여줌. 이런식. -d는 계속 보겠는지 그만볼 건지 문장을 계속해서보여준다.

more -5 /etc/services : 한번에 5줄씩 보여주는. 스페이스바를 누르면 5줄씩 내려감.


mkdir : make directory. 

mkdir /tmp/new : tmp가 없으면 new폴더가 만들어지지 않음.

mkdir -p /tmp/a/b/c/new : 폴더가 현재 없더라도 모두 만들어주기 위해 -p 를 사용한다.

mkdir -m 700 /tmp/new : 소유주에게만 완전한 권한을 줌.   

이것은rwxrwxrwx 이렇게하면 모든사람에게 권한.

         421421421

          7   7   7

r은 쓰기, w는 읽기, x는 실행의 권한임.

721이면 나는 모든권한, 그룹에대한 권한은 읽기만, 나머지에게는 실행만 권한을 준것임.

권한을 보려면 ls -l을 통해 확인 가능.


rmdir은 안에 아무 파일도 없을 때 삭제가 가능하다.  new3의 폴더가 비었으면 rmdir new3로 삭제가능하다.

a/b/c 폴더가 있으면 삭제를 위해 rmdir -p a/b/c 로 모두 삭제가 가능하다.


rm -i : 지울 때 물어보고 지우고

rm -f : 강제로 지우고

rm -r :디렉토리로 지울 때 사용.

rm -rf : 강제로 디렉토리 삭제.


mv 파일이름 디렉토리이름 : 이동

mv 파일이름1 파일이름2 : 이름변경

mv 디렉토리이름1 디렉토리이름2 : 디렉토리이름1을 2 안으로 넣어줌.

두번째에 쓰는 이름이 없다면 폴더 내에 없다면, 이름을 바꿔줌.

mv sample2 $HOME : 홈디렉토리로 sample2 파일을 이동시켜줌.

mv -i sample1 sample2 : (기존에 sample2 파일이 있음) 그러면 sample1을 sample2로 덮어 쓰는 작업중에 -i가 있어서 덮어쓸 것이냐고 한번 물어보게함.


cp newfile.txt $HOME : newfile.txt 를 $HOME에 복사함.

cp -r a $HOME : a라는 폴더를 $HOME으로 복사함. (디렉토리를 복사할 때는 -r을 써주어 a폴더안의 모든 내용을 복사해줌) 


ls -l을 통해 권한 확인 후 newfile.txt가 664의 권한을 가지고있는 것을 볼 수 있다.

chmod 775 newfile2.txt : newfile2.txt에 권한을 775로 변경한다. - 그러면 실행의 권한까지 생겼기 때문에 초록파일로 변경된 것을 볼 수있다.

rwxrwxrwx

 u   g    o  세개 모두는 a임.

chmod a+x newfile3.txt : newfile3.txt의 각각 모두에게 실행권한을 줌. 

chmod o-x newfile3.txt : other에게 x에 권한을 뺌. 777이었다면 776으로 바뀌게 될 것임.




vi 엔터. vi 접속임. (visual editor)

i 눌러 입력모드. esc를 누르는 것은 명령모드.

종료시 esc 후 :q   (무엇인가 수정을하고 저장안하고 종료를 하면 안될 수 있음. !를 붙여주면 강제종료 할수 있음.

esc 후 :w 는 저장

esc 후 :wq는 저장 후 종료.

esc 후 :x도 저장 후 종료.

vi test 파일이 없으면 새로운 파일이 열리고, test파일이 있다면 그 파일을 불러옴.

vi로 접속해서 :r test 를 써주면 저장했던 test파일을 불러올 수 있음. 현재 커서가 있는 다음 줄에서 파일 내용이 써짐.

vi로 접속해서 :e test 를 써주면 저장했던 test파일을 불러올 수 있음. 현재 커서가 있는 줄에서 파일 내용이 써짐.


명령모드에서 

h는 왼쪽이동, j는 밑이동, k는 위이동, l은 우측이동.

-는 커서를 이전 줄의 맨앞으로 이동. +는 다음 줄의 맨앞으로 이동. 0은 현재줄 맨앞으로 이동. $는 그 줄 맨 뒤로 이동.

(는 현재 문단의 제일 앞으로 이동. )는 현재문단의 제일 끝으로 이동. 

G제일 마지막으로 이동. gg는 문서의 제일 처음으로 이동.

5G 누르면 5번째 줄로 이동. nG하면 n번째 줄로 이동.

:set nu 엔터 하면 라인 넘버를 보여줌.

x, del는 커서가 있는 곳을 한 글자 삭제.

X는 커서가 있는 곳의 왼쪽에 한 글자 삭제.

d+w는 단어 단위로 삭제.

d+0은 커서의 왼쪽부터 맨 앞까지 삭제. d+$는 커서부터 맨 뒤까지 삭제.

dd는 줄을 지우면서 라인을 끌어당김.

D는 현재 커서부터 오른쪽 라인의 끝까지 지움. d+$와 같음

d+G은 현재 줄부터 마지막 줄 끝까지 다 지움.

d+L은 현재 줄부터 밑으로 많이 지움. d+G와 거의 비슷.

d+H는 현재 줄부터 화면의 제일 위까지 삭제. 화면에 보이지않는 부분은 삭제되지 않음.




추가 
ls -i : 각 파일의 식별번호 확인.
head : 파일의 첫부분을 보여줌. 기본 10라인.
tail : 파일의 끝부분을 보여줌. 기본 10라인.
head -3 copyright : copyright 파일 내용의 첫 3줄만 보여줌.
head *.txt : 현재 폴더의 각 파일의 처음 10줄의 내용을 출력하여 어떤내용이 들어있는지 대충 알 수 있다.
head -3 copyright passwd  :  copyright파일과 passwd파일의 내용을 첫 3즐만 보여줌.

cd $OLDPWD  =  cd -  와 같다.

cp a.txt $HOME : $HOME 디렉토리에 a.txt를 복사한다.
cp -a a.txt $HOME : $HOME 디렉토리에 a.txt를 파일의 속성을 똑같이 유지하고 복사한다.(생성 날짜,권한 인덱스 등등)
cp -b b.txt $HOME : 복사할 위치에 이미 같은 이름의 파일이 있다면 ~표시가 추가된 파일이 생성된다. 그래서 b.txt~ 과 b.txt의 파일이 있음을 볼 수 있다.
cp -i b.txt $HOME : 복사할 위치에 이미 같은 이름의 파일이 있어서, 덮어쓸 것인지 물어본다.

ln에서 ln -s를 붙여줌으로써 소프트링크로 만든다.. 원본과 타겟의 사이즈가 다름. 각각의 퍼미션이 다름. 바로가기 아이콘과 같다. 타겟이 없어도 소프트링크를 만들 수 있다.
또 lrwxrwxrwx 이렇게 제일 앞이 l로 시작한다. ln -l 의 명령어로 어디를 가리키고 잇는지 볼 수 있다. 소프트링크를 거는 이유는 편집을 쉽게 하기 위함인데,
ln -s a.txt mylink 로 a.txt파일을 mylink의 바로가기 파일을 하나 만들어주었다. 그런데 mylink의 내용을 편집하면 a.txt의 내용까지 수정된다. 
그리고 mylink의 용량은 변함이 없고 a.txt의 용량만 올라간다. inode의 번호는 서로다르다. 원본을 삭제하면, 링크파일은 열 수 없다.
ln을 그냥 사용하면 하드링크로 만드는 것이다. 
ln b.txt b_hard.txt 로 b.txt파일을 b_hard.txt 하드링크로 만들어준다. 소프트링크와는 다르게 ls -l의 명령어로도 b_hard.txt가 b.txt를 가리키고 있는 것이 나오지 않는다.
생설날짜까지 기존의 b.txt를 따라간다. b_hard.txt의 내용을 수정하면 b.txt도 수정되고 용량까지 같다. 그냥 같은 파일이기 때문에. 그리고 ls -i 로 inode 번호까지 같은걸 확인 할 수 있다.
하드링크의 링크숫자를 본다. 자기가 자기자신을 참조하는 것으로 기본적으로 1이고,  하드링크는 링크숫자가 최소 2이다. 원본을 삭제해도 하드링크된 파일은 문제 없이 돌아간다.

블락디바이스인지 케릭터디바이스인지는 ls -l로 판단할 수 있다.
ls -l /dev/tty0 를 보면 crw--w---- 1 root tty 4, 0  2월 20 11:17 /dev/tty0 가 나오는데  c(캐릭터디바이스 의미)로 시작하고, 4번을 가짐. 
ls -l /dev/sda1 를 보면 brw-rw---- 1 root disk 8, 1  2월 20 11:17 /dev/sda1 가 나오는데 b(블락디바이스를 의미)로 시작하고, 8번을 가짐.

ls -l /tmp/.X11-unix/X0 를 쓰면 srwxrwxrwx 1 root root 0  2월 20 11:17 /tmp/.X11-unix/X0 가 나온다. s시작은 socket이거나 named pipe를 의미한다.
mkfifo mypipe 를 쓰면 네임드 파이프인 mypipe의 파일을 만들 수 있다.

시작 문자마다 d - 디렉토리 / - - 레귤러 / l - link / b - 블락디바이스 / c - 캐릭터디바이스 / s - 소켓 / p - 네임드 파이프 를 의미한다.

which mount : mount가 들어간 가장 빨리 발견된 파일만 어디있는지 보여준다.
locate mount : mount가 들어간 것을 다 찾는다. 
find -name "e100*" -print : 이름으로 찾음
find /usr/bin -amin -2 -print : 2분전에 accept했던 것을 찾아 프린트해줘
find . -atime +60 : 60일동안 accept했던 걸 찾아줘
find /etc -type d -print : 타입이 디렉토리인 것을 찾는다.
find . –perm 644 –print | xargs ls -l : 퍼미션이 644인 것을 찾아서, ls -l 의 형식으로 출력하라는. (xargs는 실행을 의미)
find . -size +8k -print | xargs ls -lS > /tmp/bigfiles.txt : 사이즈가 8k이상되는 것을 ls -s형식으로 뿌려준것을 /tmp/bigfiles.txt 파일에 출력해.
그리고 head -5 /tmp/bigfiles.txt 이렇게 쓰면 처음 5줄을 출력한 것을 볼 수 있다.




'Java & Oracle' 카테고리의 다른 글

ftp 연결, ping day5  (0) 2014.02.21
vi editor day5  (0) 2014.02.21
원격 접속 설정(윈도우->우분투)(텔넷,ssh) day4  (0) 2014.02.20
리눅스 명령어 day3  (0) 2014.02.19
윈도8, vmware-ubuntu 설치 day 1,2  (0) 2014.02.18

왼도우즈에서는 system properties 에서 advanced 탭에서 environment variables 로 새로운 변수를 만들거나 변경 삭제할 수 있음.


윈도우 환경 텔넷 설치

검색-appwiz.cpl- turn windows features on or off 선택 - Telnet Client 체크 - OK


명령프롬프트에서 telnet 입력해서 텔넷에 접속. -> ? 쓰면 여러 명령 볼 수 있음. -> quit 로 텔넷을 빠져나옴

동시에 vmware의 우분투에서는 ifconfig 로 자기 IP를 확인하고 윈도우 명령프롬프트에서 ping 127.0~~~(내아이피) 아이피로 잘 가는지 확인.


우분투에서 항상 현재정보와 맞춰주기 위해서(?) 캐쉬를 업데이트 해줘야함. sudo apt-get update 후 sudo apt-get install xinetd telnetd 엔터. 뒤에 d는 demon ..

-> sudo gedit /etc/inetd.conf

메모장이 열리면 다음을 작성해줌. 

telnet stream tcp nowait telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd

-> 저장 후 cd /etc로 들어가줌 -> sudo gedit xinetd.conf 들어가면 막 뭐라고 쓰여있음. 거기서

# log_type = SYSLOG daemon info 밑에

다음을 작성해줌

instances = 60

log_type = SYSLOG authpriv

log_on_success = HOST PID

log_on_failure = HOST

cps = 25 30

저장 후 나옴 ->  cd /etc  위치에서  gedit /etc/services 로 들어가면 사용하는 포트번호(?)를 볼 수 있음 telnet은 23번 확인 가능.

-> 거기서 cd xinetd.d 로 들어가서 무엇이 있나 ls 로 확인. -> sudo gedit telnet 로 텔넷파일을 하나 만들어줌.

-> 다음을 작성해줌

service telnet

{

disable = no

flags = REUSE

socket_type = stream

wait = no

user = root

server = /usr/sbin/in/telnetd

log_on_failure +=USERID

}

저장 후 나옴.



        disable = no 는 가능하지 않은 것을 안되게 하겠다. 

wait = no 기다리는 것을 안하겠다.

user = root 권한 사용.



-> 그리고 sudo /etc/init.d/xinetd restart 엔터. 서비스 중지후 다시 시작 되는 것을 볼 수 있다.

-> telnet localhost   : 나에게 연결하니 -> 이름하고 passwaord 치면 됨. -> 접속된 거임. 거기서 logout치면 다시 원래의 위치로 올 수 있음... 

-> 내가 내걸로 들어가서 실감이 안나니.. 터미널 하나 더 띄어서 telnet -> open 127.0~~~  :(이것은 내 아이피임) -> 아이디 비번 쳐서 들어가면 접속 완료.


윈도우 명령 프롬프트 실행해서 확인 해보자

명령프롬프트에서 telnet 127.0.~~쳐보면 접속할 수 없다. -> 왜냐하면 파이월로 막혀있기 때문

->그러면 우분투에서 firewall을 열어 -> rules 클릭 -> +버튼 클릭 -> preconfigured탭에서 category를 network로 subcategory를 all, application name을 telnet  선택해서 

-> 다음 눌러주고 add눌러서 close -> 그리고 telnet 127.0.0.1 써서 접속함.

-> 아이디 비번을 쓰면 접속됨. 완료..... 복사 등등 기능을 사용할 수 있지만 그래픽관련된 건 안됨

-> sudo reboot 명령어로 우분투가 재부팅 되는 것까지 볼 수 있다.


그러나 텔넷은 보안등등의 이유로 잘 사용안됨. 



우리는 SSH(secure shell)한다. 

http://kldp.net/projects/iputty/download  홈피로 이동 - >   HangulPuTTY-0.60h.setup.exe  눌러 다운 -> 다음다음 눌러 설치 완료

우분투 켜서 터미널에서 -> sudo apt-get install openssh-server  해서 깔아줌

-> sudo apt-get install openssh-client  해서 깔아줌(내가 테스트 해보기위해 다 깔아주는 거임)

-> service ssh restart 해서 ssh 열어주고. ->ssh mino@localhost (자기아이디@~~임) : 자기아이디@자기컴퓨터이름 이렇게 써줘도 됨

-> yes 해주고 비번 써주고 하면 자기 아이디로 자기가 로그인 한거임

-> logout으로 로그아웃 해줌.


윈도우즈 환경에서 다운받은 putty 를 실행시켜서 host name 을 써주고 열기를 눌러줌. -> 계속 검은화면이 뜨다가 접속할 수 없다고 뜸. 이유는 파이어월에서 막아놨기 때문

-> 그럼 다시 우분투환경에서 파이어월을 열어서 category를 network 로 subcategory를 all , application name 을 SSH , >를 눌러서 22번확인하고 add

-> 윈도우즈에서 다시 putty 를 열어서 host name 을 써줌.(세션탭에서 세션하나를 저장한후에 putty 설정에서 글자체나 등등을 바꾸어 저장하면 접속할 때 항상 그렇게 접속 할 수 있음. 

변환탭에서 수신한데이터를 ~~~ 이것을 UTF-8로. 나머지등등) 







** (gedit:2736): WARNING **: Could not load Gedit repository: Typelib file for namespace 'GtkSource', version '3.0' not found 오류 해결

sudo apt-get install gir1.2-gtksource-3.0 쳐서 실행.

'Java & Oracle' 카테고리의 다른 글

ftp 연결, ping day5  (0) 2014.02.21
vi editor day5  (0) 2014.02.21
리눅스 명령어 day4  (0) 2014.02.20
리눅스 명령어 day3  (0) 2014.02.19
윈도8, vmware-ubuntu 설치 day 1,2  (0) 2014.02.18

dpkg - debian package 의 약자

리눅스의 philosophy - openness, efficiency, stability

worspace( 가상창을 네개 제공해줘서 작업하는 공간을 늘림) - 설정 방법은 시스템 설정-appearance -> behavior 탭에서 enable workspace 체크

파일 숨기는 것은 security 의 영향을 주지 않고 단순히 숨기는 용이다. 파일명앞에 . 을 붙여주면 파일을 숨길 수 있음.


오늘 썬더버드와 empathy internet messaging 깔아서 해봄.


명령어

ls -a 숨겨진 파일까지 모두 볼 수 있음. 폴더창에서 ctrl+h로도 숨겨진 파일을 볼 수 있다.

옵션을 쓸 때는 항상 한칸 띄어서 써야한다. -- 두번을 쓰는이유는 명령어가 길어서 ex)--help /// 옵션의 이름이 하나라면 그냥 -h 이런식으로 쓴다.

ifconfig : 현재 랜카드 정보. 윈도우즈에서 ipconfig와 같다.

ifconfig eth0 : eth0의 랜카드 정보만 본다.

echo $PATH

echo $HOME

env : 환경변수 목록을 보여줌

history : 내가 지금까지 썼었던 명령어를 쭉 볼 수 있음.  - !번호  를 쓰면 그 번호의 명령 실행

history 5 : 최근에 쓴 명령어 5개를 보여준다.

* : 모든 것을 포함.   /// ? : 한글자 /// [ ] : 범위  /// { } : 범위지만 or 역할

ex) Doc*  = Document, ~~~~

    gam?  = game, gama ,~~~

    doc[1a] = doc1, doca

    doc[1-3] = doc1, doc2, doc3 

    doc{1,3,5} = dac1, doc3, doc5

touch test.txt : 비어있는 test.txt 파일을 만든다.

cat test.txt : test.txt파일의 내용을 화면에 출력한다.

ls > list.txt : ls 출력될 내용을 list.txt에 입력한다.

command < filename : 파일에서 명령어로 읽어들인다.

command >> filename : 명령어로 출력될 내용을 기존파일에 덧붙인다.

cat < myletter > newletter : 마이레터에서 읽어 뉴레터로 보낸다. 마이레터의 내용을 뉴레터의 내용에 덮어쓴다. (뉴레터의 내용 사라짐)

cat > test.txt : 지금 작성할 정보를 test.txt 로 저장


ls - l : 정보를 자세하게 출력한다.

ls -al : 명령어로 숨김파일까지 정보를 자세하게 출력한다.

ls -s : 파일 사이즈까지 보여준다.

ls -lh :자세히 사이즈를 인간이 알아 볼수 있게 표시한다. (h가 human)


alias : 만들어진 명령어를 볼 수 있다.

alias c=clear : c의 입력만으로 clear의 기능을 수행한다.

unalias c : 만들어진 명령어를 지운다.

alias listlong='ls -lh'   : 띄어쓰기된 것은 ''로 묶어줘야 한다.

alias 는 현재 세션에서만 저장됨. 영구적으로 저장하기 위해선 bashrc를 변경해야함.


echo $OLDPWD : 방금 전에 내가 어디 있었어? (디렉토리 위치)

cd $OLDPWD : 방금 전에 내가 있던 위치로 가자.


ls .profile  -> cat .profile    /// ls .bashrc -> cat .bashrc    : ls로 파일이 있는지 확인하고 cat으로 그 파일의 내용을 파악한다.

ls ; date : ls 출력후 date 출력 ( ;은 앞에 것 실행 후 뒤에 것 순서대로 실행)

\는 뒤에 것을 무시 ex)ls answers\?  : ?의 기능을 무시하고 그냥 문자로 받아들임. 출력 : answers?

.profile 시스템정보, .bashrc 사용자정보


현재 터미널에서 설정한 정보를 다른 터미널로 내보낼 때 export 작업해줌.

cat /etc/profile : 모든 사용자에게 공통적으로 제공된 정보를 본다.(코드를 보는 것임)

cat \etc\passwd : 계정정보를 보여줌.(passwd 위치는 계정을 만들면 정보가 저장되는 위치임)

tail \etc\passwd : 계정에대한 간단한정보


who : 누가 사용하나?

whoami : 나는 누구?

uname : 시스템 이름

uname --help : uanme 의 명령어를 보기위해

uname -a : 시스템 이름의 정보까지

arch : unmae -m 과 같다. 시스템 하드웨어 이름.

cat /proc/version 

which mv : mv 어디있어?

hostname : 호스트이름이 뭐야?

echo $HOSTNAME : 변수HOSTNAME의 내용을 출력해줘.

last : 마지막 사용 언제 누가 뭘했니?(바로 전 뿐이 아니라 최신 여러개)

last reboot : 마지막 재부팅한게 언제니?(바로 전 뿐이 아니라 최신 여러개)


date : 현재 년월일시간 출력

date --help : 명령어 확인가능

date -u : UTC 시간으로 출력.

sudo date 0301120014 : 시간변경 (순서:월일시분년)

sudo date -s '2015-12-25 12:00:00' : 시간변경.

cal : 현재 달의 캘린더 출력

cal -3 : 전, 현재, 다음 달의 달력 출력. 다른 숫자는 안되네.

cal -y 2014 : 2014년 달력 출력

cal -m 5 : 5월 달력 출력

cal -j : 1월 1일부터 몇번째 날인지 (현재 달의 달력을 보여줌)

cal -j 2014 : 12달의 달력과 각각을 1월1일부터 몇번째 날인지 출력해줌.


터미널에서 컴퓨터 종료 명령어

sudo shutdown -h now : 안정적으로 시스템을 즉시 정지하기 위해 h(halt) 사용.(프로세스 종료 등)

sudo shutdown -r 시간 : 시스템 재부팅. 시간을 0으로 쓴다면 sudo reboot now와 같다.(r은 reboot)

sudo shutdown -r 17:00 system will reboot : system will reboot 메세지와 함께 17시에 시스템이 재부팅 되게한다.

sudo poweroff : 종료. 뒤에 뭐라고 써도 바로 꺼진다.

sudo shutdown -r 1 : 1분뒤 재부팅

sudo halt -p : 안전하게 종료. 뒤에 머라고 써도 바로 종료됨.

sudo reboot now  또는 sudo reboot : 숫자쓰면 오류가 났음. now는 안써도됨. 

sudo init 0 : 바로 종료.

sudo init 6 : 바로 reboot.

init --help , halt --help , poweroff --help  각각에 관한 명령어 확인가능



0. Ubuntu Guide for Developer.pdf


1.What is Linux.pdf


3. Ubuntu desktop.pdf


4. Working with Ubuntu.pdf


5. Using the Shell.pdf


출처 : www.javaexpert.co.kr



'Java & Oracle' 카테고리의 다른 글

ftp 연결, ping day5  (0) 2014.02.21
vi editor day5  (0) 2014.02.21
리눅스 명령어 day4  (0) 2014.02.20
원격 접속 설정(윈도우->우분투)(텔넷,ssh) day4  (0) 2014.02.20
윈도8, vmware-ubuntu 설치 day 1,2  (0) 2014.02.18

Win8 설치 - 업데이트 - locale 변경. (제어판에서 language 변경도 해주어야함)

3장 - 작업표시줄 속성에서 키거나 끌 때 데스크탑에서 시작하기 체크.

   - 허니뷰를 제외한 나머지 8개(사파리, 반디집 등) 설치. (vmware는 download-vmware player 다운)

1장-> 다시 3장 -> 단축키, p16ms단축키 설명 링크 있음.

ubuntu.com -> Download ubuntu 클릭 -> Download ubuntu Desktop 클릭

-> 13.10, 32bit(자기 컴퓨터에 맞게 선택) 선택 다운로드

-> 우분투 다운완료(난 D:의 Downloads폴더에 넣음) -> Vm ware 실행 -> create -> 다운받은 iso 선택

-> Full name, password 등을 자동설치 않기에 모두 a로(아무거나) 한 뒤 next

-> location을 D:\virtual machines\Ubuntu 로 정해줌(자기가 우분투 설치 할 곳에 저장하는 작업) 

-> 100GB, single file 체크 next -> 체크를 해제(아까 a로 작성한 것으로 설정하지 않기위해), customize hardware에서 processors 4로(컴퓨터 사양에 따라 다름)

-> 바로 play 누르는 것이 아니라 edit 들어가서 cd2, 플로피디스크 remove 하고 cd/dvd의 위치를 보면 D:\Downloads폴더에 ISO 파일을 선택해 주어야함(하지 않으면 아까 a로 작성한 것으로 되기 때문)

-> play 누름 -> install ubuntu 클릭 -> 위에 체크가 두개 선택 되었음. 두번째 것이 체크 안 되어 있으면 우측 위에 인터넷을 잡아주어야함. 그리고 밑에 두개는 체크 안하고 next

-> 맨 밑에 something else 선택 -> new partition cable -> continue -> free space 선택후 밑에 +버튼 

-> 스왑 파티션은 4기가를 넘지않는다. 그래서 size를 4096, use as를 swap area 타입 primary 로 한 후 OK

-> free space 선택 후 + -> size 512, 타입 primary, mount point를 /boot로

-> free space 선택 후 + -> size는 건드리지 않음(나머지 다 잡음), 타입 primary, mount point를 /로 

-> install now -> seoul 확인 ok -> english 확인 ok -> your name 내 이름, 컴퓨터 네임 Ubuntu-22, Pick a user name 내 아이디(이름들은 어떻게 하든지 자유), 로그인 할 때마다 쓰게 체크 next

-> 바로 next -> register later 클릭

-> 우분투 실행되면 왼쪽에 아이콘들 search~~~, files, firefox, Ubuntu software center, system setting, software updater 를 제외한 나머지를 unlock시킴

-> 검색에서 terminal 을 왼쪽 아이콘으로 끌어내줌.

-> 해상도를 편하게 바꾸고 ->설정에서 소프트웨어 업데이트를 Download from 을 other 선택, korea에서 daum 서버 선택(가장 빠름)

-> sofware updater로 업데이트 -> 화면 잠금(설정 personnals에 두번 째 brightness 선택해서 바꿀 수 있음)



-> (vmware에서만 진짜 우분투에서 하는 게 아님) 플레이어탭 -> manage 탭 -> install vmware tool 클릭

-> tar.rz파일을 Downloads 폴더에 알집 풀어줌 -> 알집 푼 파일 cd vmware-tools-distrib 로 들어가서

-> sudo ./vmware -install.pl 엔터 그리고 계속 엔터쳐줘서 설치 마무리.



명령어 : pwd - 내가 지금 어디 있나? / ls : 이 안에 뭐가 있나?

디렉토리는 첫글자가 파랑에 대문자. 실행 할 때 .- 나를 의미. /-밑을 의미. 그래서 ./는 내 밑을 의미.

관리자 권한이 필요할 때 sudo를 써주는 것임.



-> ubuntu software center에서 ubuntu restricted 검색해서 설치(중간에 창이 뜨면 forward 눌러줌)

-> 설정-키보드에 들어가 단축키를 설정해줌. launch web browser을 ctrl+alt+b / system 탭에서 log out을 백스페이스키를 눌러 disabled 해줌

 custom shortcut 탭에서 +눌러서 name : System Monitor, command : gnome-sytem-monitor 단축키는 ctrl+alt+del로 해줌.



인터넷이 안되면 우측 위에 아이콘에서 Network Adaptor-setting에서 NAT, brigded등으로 바꿔바바.... 원래는 NAT로 하길



-> 설정-language support-install 에서 -> install/remove language 클릭 -> korean 선택 후 apply change

-> 터미널 켜서 sudo apt-get install nabi 엔터

-> 설정-language support 에서 keyboard input~~ 에서 Hangul 선택 -> 로그아웃 후 로그인

-> 왼쪽 위에 무언가 감추어져 있는 걸 볼 수 있다. 이것을 우측위로 보내주기 위해 터미널 다시켜서 sudo apt-add-repository ppa:timekiller/unity-systrayfix 엔터

-> sudo apt-get update 엔터 -> sudo apt-get upgrade 엔터 -> restart 하면 우측 위 나비 아이콘 확인가능

-> nabi preference에서 한글 설정 확인가능(한글로 변경할 때 shift+space 등). 메모장은 gedit을 실행시켜 한글 확인 가능

-> google 크롬 다운로드 32bit debian/ubuntu 선택 해서 다운 -> save file

-> 터미널에서 cd Dwnloads 폴더에서 rm -rf vmware-tools-distrib(r은 재귀적 삭제, f는 강제 삭제를 의미)

rmdir 지울 디렉토리 이름  : rmdir은 비어있는 디렉토리에만 사용가능. 그래서 잘 쓰지 않음.

-> sudo dpkg -i google*.deb(i는 인스톨을 의미하고, *은 어떤 문자건 포함하는 의미) 엔터하면 오류남

-> 그러면 sudo apt-get -f install 엔터 - 아까 설치하다 실패한 것을 다시 설치하라는 뜻

-> 크롬 왼쪽 바로가기 해주고 디폴트 브라우저 지정

-> www.opera.com 이동 -> 다운로드 -> ubuntu debian package 선택 후에 밑에 sho other version 클릭

-> linux i386 클릭-> 12.16버전 선택후 다운 -> 경고창 나오면 keep 선택

-> 크롬 깐 것처럼 cd Downloads 한 후 sudo dpkg -i opera*.deb 엔터. 설치 완료 후 왼쪽 바로가기

-> www.foxitsoftware.com 이동 -> Download 탭 클릭 -> FoxitReader에서 Desktop Linux 선택 후 다운로드 클릭

-> 다운로드 클릭 -> 터미널에서 Dwonloads 폴더에서 rm Adbe*.deb 이렇게 크롬 오페라 등 설치파일 삭제

-> tar xvfj Fox*.tar.bz2(x는 extract f는 파일명 지정하니 j는 bz파일시) - 압축 푸는 작업임

-> cd 1.1-release -> 초록실행파일을 볼 수 있음 -> ./FoxitReader 치면 바로 실행가능 -> cd .. -나의 상위로 이동

-> sudo mv 1.1-release /usr/lib/FoxitReader -이것은 lib 하위폴더로 이동하며 이름까지 변경 시켜주는 것임

-> cd /usr/lib/FoxitReader 치면 초록 실행파일 볼 수 있음

-> cd ~   -내 집으로 간다는 뜻

-> sudo apt-get install gufw  -아무것도 모르고 gufw라는 이름만 안다 이름이 다르면 안 깔림

-> 검색창에서 gufw 검색후 왼쪽 바로가기에 놓음 -> 실행 profile을 office로 바꿈(나머지 바뀌는 건 그냥 둠)

-> 터미널에서 sudo ufw status -이것은 ufw의 상태가 어떤지 확인가능



잠시 : cd 우분투 설치작업은

우분투를 cd설치하는 건 다 같은 과정을 하고 freespace 부분만 첫 swap area를 타입을 logical로 -> boot도 logical로 -> /도 logical로 해주고 나머진 같음. 소프트 웨어 업데이트까지 같음.

-> sudo gedit /etc/default/grub -> 메모장이 열리면 9라인 GRUB_TIMEOUT을 -1로 변경 -부팅시 어떻게 부팅할지 선택시간을 무한대로 하겠다는뜻

만약 부팅시 시간이 변하지 않으면 터미널에서 sudo update-grub 해주면 됨 -> 소프트웨어 업데이트 다음 작업부터 끝까지 마무리.

-> nateonweb.nate.com  -리눅스는 5버전 쓰면안됨

-> pc버전 linux 선택 -> ubuntu 선택 -> 왼쪽 맨위 oneri~~ 버전 선택(왼쪽라인은 32비트, 오른쪽 라인은 64비트임) -> 창 뜨면 keep 눌러주고

-> 터미널 다운로드 폴더에서 sudo dpkg -i nateon*.deb 엔터 하면 실패.

-> sudo apt-get -f install 엔터로 설치 -> 네이트온 왼쪽 바로가기로 위치



다시 vmware 로 돌아와서

-> 터미널에서 ls /usr/lib/FoxitReader -이것은 FoxitReader 안의 파일을 보여달라는 뜻

-> sudo apt-get install --no-install-recommends gnome-panel 

-> gnome-desktop-item-edt --create-new ~/Desktop

-> Name을 FoxitReader, Command를 Filesytem-usr-lib-FoxitReader-FoxitReader 하면 ok 누르면 바탕화면에 아이콘 확인가능/이렇게 말고 키보드 단축키로 정하는 방법도 있음

-> 우분투 소프트웨어 센터에서 unity tweak tool 검색후 다운 -launcher에서 왼쪽 아이콘 사이즈 색등을 바꿀 수 있음

-> sudo apt-get install gnome-tweak-tool  그리고 실행시에는 터미널에서 gnome-tweak-tool 하면 실행 됨.



파일의 내용을 보기만 하려면 cat을 사용. 예를들어 cat /etc/hostname 이렇게..

컴퓨터 이름 바꾸려면 sudo gedit /etc/hostname 으로 들어가 바꾸려고 하는 이름으로 바꿔주면 됨. sudo gedit /etc/hosts 로 들어가서도 바꿔주는게 좋음(하나만 바꾸면 못찾는다고 할 때가 있을 수 있으므로)

하지만 컴퓨터 이름바꾸는 것은 비권장(속도가 느려짐..)



-> 다음은 윈도우와 vmware에서 공유를 위한 작업임

-> player 탭에서 manage-virtual machine settings 선택 -> options 탭에서 enabled until next power off or suspend 선택 -> add 눌러서 next

-> host path를 D:\Downloads , Name을 mydownloads(Downloads폴더와 헷갈릴수 있으므로 이렇게 바꿈) next

-> enable this share 체크, read-only 노체크(나 혼자 둘다 이용할 것이라) -> ok 마무리

-> 폴더 files-computer-mnt-hgfs-mydownloads로 확인가능



3. Starting Windows 8.1.pdf



2.Installation Ubuntu 13.10 &amp; 14 Things to do After Installation Ubuntu.z01


2.Installation Ubuntu 13.10 &amp; 14 Things to do After Installation Ubuntu.zip


0. Windows 8.1 for Developer.pdf


1. Overview of Windows 8.1.pdf


2. Installation to Windows 8.1.pdf


위의 모든 내용은 위 파일에 쉽게 사진과 함께 되어있음


출처  :  http://www.javaexpert.co.kr/   - 굉장히 유용한 자료가 많은 곳 --ㅋ


'Java & Oracle' 카테고리의 다른 글

ftp 연결, ping day5  (0) 2014.02.21
vi editor day5  (0) 2014.02.21
리눅스 명령어 day4  (0) 2014.02.20
원격 접속 설정(윈도우->우분투)(텔넷,ssh) day4  (0) 2014.02.20
리눅스 명령어 day3  (0) 2014.02.19

+ Recent posts