vi 에디터 사용방법
 

 

h

왼쪽으로 이동

j

아래로 이동

k

위로 이동

l

오른쪽으로 이동

w

한단어 오른쪽으로이동

b

한단어 왼쪽으로 이동

Return

한행아래로 이동

Backspace

한문자 왼쪽으로 이동

Spacebar

한문자 오른쪽으로 이동

H

화면의 맨위로 이동

M

화면의 중간으로 이동

L

화면의 맨 아래로 이동

^F

한화면 앞으로 이동

^D

반화면 앞으로 이동

^B

한화면 뒤로 이동

^U

반화면 뒤로 이동


삽입명령어

 

a

커서 오른쪽에 문자삽입

A

커서 오른쪽, 행의끝에 문자삽입

i

커서 왼쪽에 문자삽입

I

커서왼쪽, 행의 처음에 문자삽입

o

커서 아래에 행 삽입

O

커서 위에 행 삽입

<Esc>

작업완료후 반드시 입력


텍스트 변경

 

cw

단어 변경

cc

행 변경

C

커서 오른쪽의 행 변경

s

커서가 위치한 문자열 대체

r

커서 위치 문자를 다른 문자로 대체

r-Return

행 분리

J

현재 행과 아래 행 결합

xp

커서 위치 문자와 오른쪽 문자교환

-

문자형(대,소문자) 변경

u

이진 명령 취소

U

행 변경 사항 취소

:u

이전의 최종행 취소


텍스트 삭제

 

x

문자삭제

dw

단어삭제

dd

행 삭제

D

커서 오른쪽 행 삭제

:5,10 d

5-10째 행 삭제


행번호 설정

 

:set nu

행번호 표시

:set nonu

행번호 숨기기


행 찾기

 

G

파일의 마지막 행으로 가기

12G

파일의 12번째 행으로 가기


텍스트의 복사 및 이동

 

yy

행 yank 또는 복사

Y

행 yank 또는 복사

P

yank 되거나 삭제된 행을 현재 행 아래에 삽입

p

yank되거나 삭제된 행을 현재 행 위에 삽입

:1,2 co 3

1-2행을 3행 다음으로 복사

:4,5 m 6

4-5행을 6행 다음으로 이동


탐색 및 대체

 

/string/

string탐색

?string?

string 역 방향 탐색

n(N)

string의 다음(이전) 계속 탐색

:g/search-string/s//replace-string/gc

각 발생 탐색후 확인하고 대체

:s/str/rep/

현재 행의 str을 rep로 대체

:1,.s/str/rep/

1부터 현재 행의 str을 rep로 전부 대체

:%s/str/rep/g

파일 전체 str을 rep로 전부 대체


화면정리

^L 불필요한 화면 내용 제거 후 다시 표시

다른 파일을 파일내로 삽입

 

:r filename

커서 다음에 파일 삽입

:20 r filename

파일을 20번째 행 다음에 삽입


파일의 저장 및 종료

 

:w

변경사항 저장

:w filename

지정한 파일로 저장

:wq

변경사항 저장후 vi종료

ZZ

변경사항 저장후 vi종료

:q!

변경사항을 저장하지 않고 vi종료


참고로 UNIX 와 DOS의 명령어를 비교해 보도록 하자

 

UNIX

MS-DOS

기      능

clear

CLS

화면의 내용을 깨끗이 지운다.

ls

DIR

현재 디렉토리의 파일목록을 표시한다.

cp

COPY

파일을 복사한다.

mv

REN

파일의 이름을 변경한다.

mv

MOVE

파일을 다른곳으로 옮긴다.

rm

DEL

파일을 삭제한다.

cat

TYPE

파일내용을 표시한다.

pwd

CD

현재 위치의 경로를 표시한다.

cd

CD

디렉토리의 경로를 이동한다.

mkdir

MD

새로운 디렉토리를 만든다.

rmdir

RD

디렉토리를 삭제한다.


'리눅스관련' 카테고리의 다른 글

Centos 5.X에서 MP3재생  (0) 2011.06.06
ubuntu 에서 DNS 서버 설정  (0) 2011.06.06
Debian VMware Tools 설치하기  (0) 2011.06.06
ubuntu taxt 모드 에서 사용하는 명령어  (0) 2011.06.06
Git 명령어 정리  (0) 2011.06.06

* MySQL 재시작 하기

> service mysqld restart

 

* MySQL 사용자 추가

mysql> grant privileges on *.* to 아이디@도메인 indentified by '패스워드' with grant option;

 => 모든 데이터베이스에 권한을 주면서 추가할때

mysql> gran select , insert, update, delete, create, drop on test.* to 'test@localhost' indentified by '패스워드'


* 비밀번호 설정된 MySQL 접속하기
> mysql -u root -p
> 비밀번호 입력

* DB 보기
mysql> show databases;

* DB 사용하기
mysql> use 데이타베이스명;

 

* DB 삭제
mysql> drop 데이터베이스명;


* 테이블 목록보기
mysql> show tables; 

 

* 테이블 구조보기

mysql> explain 테이블명; 또는 describe 테이블명;

 

* 현재 상태보기
mysql> status; 


* DB의 권한 필드정보 보기
mysql> use mysql;
mysql> select * from db;

* DB 에 권한 주기
mysql> use mysql;
mysql> insert into db values("localhost", "데이타베이스명", "사용자명", 권한 필드 갯수만큼의 "Y"); 
예) insert into db values("localhost", "testdb", "root", "Y", "Y", "Y", "Y", "Y" ...........); 

* DB에서 datetime 현재시간 가져오기
mysql> select now();

* 디렉토리에 있는 스크립트 sql 파일 실행하기
mysql> source /디렉토리경로/파일명.sql;

* datatime을 CHAR 타입으로 바꾸기(형변환하기)
mysql> select cast(now() as char);
mysql> select convert(date_format(now(),'%Y-%m-%d') , char(10)) as time;

* mysql 에서 나가기
mysql> exit


우분투에서사용한명령어들

※ 작성시 기억하자 :: 영어문서를 참조할 때 이해되지 않는 부분은 영문 그대로 작성한다.

차례

  1. 프로그램 삭제하기
  2. rpm->deb 패키지 변환하기 #debchange
  3. 글꼴 추가하기 #addfont
  4. Gnome 바탕화면에서 오른쪽 버튼에 "터미널 열기" 만들기 #terminal
  5. 개발도구 설치 #developtool
  6. vim 설치  :  우분투 설치시 #viminubuntu
  7. Emacs 설치 #emacs
  8. nvidia card driver 설치 #nvidiaDrive
  9. 드라이버 설치후 해상도 조정하기 #Screen
  10. beryl 설치하기 #beryl
  11. 키 맵핑 변경하기 #keymapping
  12. apache2 + php5 설치 #apache_php
  13. ftp client 설치하기 #ftpclient
  14. ubuntustudio Theme 설치하기 #ubuntustudio
  15. rar 설치하기 #installrar
  16. Mplayer설치하기 #installMplayer
  17. wine  &  ies4linux 설치하기 #wine_ies4linux
  18. xchat 설치하기 #xchat
  19. telnet #telnet
  20. ssh #ssh
  21. ubuntu server 설치 후 데스크탑 설치하기 #ubuntuServer_desktop

22.  Ubuntu Server 종료 및 재시작 #

23.  Ubuntu 네트워크 설정

 

 

 

◇ 프로그램 삭제하기 (DF)

프로그램 설치/제거 : apt-get remove --purge

    --purge : 설정파일까지 깨끗하게 제거하는 것

 

 

◇ rpm -> deb로 변환하기 (debchange)

     alien이라는 데몬을 사용한다.

    alien 검사하기 : aptitude search alien

    alien 설치하기 : aptitude install alien

    rpm->deb : alien -d filename.rpm

    deb설치하기 : dpkg -i filename.deb

 

◇ 글꼴 추가하기 (addfont)

 

    글꼴 복사하기 : 지정된 글꼴 폴더로 글꼴(*.ttf) 파일들을 복사한다.      sudo cp *.*  /usr/share/fonts/

    글꼴 캐쉬 갱신 :  sudo font-cache -f

 

패키지 찾기. :  apt-cache search alee

 

unfonts 설치

    sudo apt-get install ttf-unfonts

alee font 설치.

    sudo apt-get install ttf-alee

네이버사전체 설치하기 [내려받기 페이지]

      /usr/share/fonts/truetype 밑에 적당한 위치에 압축을 푼다.

 

◇ Gnome 바탕화면에서 오른쪽 버튼에 "터미널 열기" 만들기 (terminal)

 

  •     sudo apt-get install nautilus-open-terminal
  •  

~~ 설치 후 바로 나타나지 않네. 재부팅후에 나타나나?

 

◇ 개발도구 설치 (developtool)

    sudo apt-get install build-essential      :: 가장 기본적인 개발도구들이 설치된다고 한다. 그 외의 도구들은 개별로 설치하여야 한다.

 

 

◇ vim 설치  :  우분투 설치시 (viminubuntu)

sudo apt-get install vim-gtk   ||  sudo apt-get install vim-full  ||  sudo apt-get install vim

 vim-gtk : gtk를 사용하는 vim이란 것인가?

 

vim 우선순위 확인 명령어

$ update-alternatives --display vim
vim - 상태는 auto입니다.
연결 현재 /usr/bin/vim.gnome을(를) 가리키는 중
/usr/bin/vim.tiny - 우선순위 10
/usr/bin/vim.basic - 우선순위 30
/usr/bin/vim.gnome - 우선순위 60
/usr/bin/vim.gtk - 우선순위 50
/usr/bin/vim.nox - 우선순위 40
현재 가장 '좋은' 버전은 /usr/bin/vim.gnome입니다.

검색 글 참조

1 [ 우분투에서 vim은 어떤 걸 설치해야 하나 ]

◇ Emacs 설치 (emacs)

sudo apt-get install emacs

◇ nvidia card driver 설치 (nvidiaDrive)

  • sudo apt-get install nvidia-glx | sudo nvidia-xconfig

이 명령은 그래픽카드가 최신일 경우 해당한다고 하네..난 Geforce4 MX440이니깐 최신에 해당하네.. ㅡㅡ...

TNT, TNT2, TNT Ultra, Geforce1,2 일 경우엔

sudo apt-get install nvidia-glx-legacy 와 nvidia-settings 꾸러미를 설치한다.

새로운 드라이버를 이용가능하게 하려면 터미널에서 다음 명령어 실행

sudo nvidia-glx-config enable : x-server에서 에러가 발생함.

A backup of xorg.conf has been stored as:

/var/backups/xorg.conf.2007-06-05-23:37:07.

If the new configuration will not work you will be able to

revert the changes simply using this command:

cp /var/backups/xorg/xorg.conf.2007-06-05-23:37:07 /etc/X11/xorg.conf

Warning: your X configuration has been succesfully changed.

In order to take full advantage of the changes, X needs to

be restarted.

glxinfo | grep rendering 명령 후 direct rendering: Yes 라고 나오면 3D 가속기능이 활성화됨

: glxinfo 로 설치된 드라이버의 설정상황을 알 수 있네.

>> 드라이버 설치후 해상도 조정하기 (Screen)

sudo dpkg-reconfigure xserver-xorg | sudo dpkg-reconfigure -p high xserver-xorg:해상도부분만 설정

: 화면 해상도에 대한 설정만 조정할 수 있다. xorg.conf 파일의 내용이 수정된다. 파일경로 /etc/X11/xorg.conf

X 서버 드라이버 : nvidia <확인>

비디오카드가 사용할 식별자 : nvidia Geforce4 MX440

<확인>

<확인>

비디오카드의 버스 식별자 : PCI:1:0:0

비디오카드에서 사용할 메모리의 용량(kb) : 64

커널의 프레임버퍼 디바이스 인터페이스를 사용할까요? : <예> <=

키보드 구성을 자동으로 감지할까요? <예> <= 우분투 설치시 선택. 그대로 사용함.

키보드 구성 : ko

사용할 XKB 규칙셋 : xorg

키보드 모델 : pc105

키보드 옵션 : ctrl:nocaps <= 1 Caps Lock키를 또 하나의 Ctrl 키로 사용 == ctrl:nocaps >> 정상적으로 작동하지 않네요ㅜㅜ..재부팅이 필요하나?

2 Caps Lock키와 Left Ctrl키와 바꾸기 == ctrl:swapcaps

3 WinKey, Logkey를 메타키로 사용 == altwin:meta_win

~ 두 가지 이상의 옵션은 ,(쉼표)로 연결

마우스 포트 : /dev/inpu/mice

마우스 프로토콜 : ImPS/2 :: ExplorerPS/2

3버튼식 마우스를 에뮬레이트할까요? : <예>

기본적으로 로드할 X.org 서버 모듈 목록: bitmap, dbe, ddc, dri, extmod,freetype, glx, int10, record,v4l,vbe

glx : OpenGL 렌더링 지원

dri : X서버에서 DRI(Direct Rendering Infrastructure) 지원

vbe : VESA BIOS 확장 기능 지원. 비디오 카드를 통해 모니터의 능력을 얻어낼 수 있음.

ddc : Data Display Channel 기능 지원. 비디오 카드를 통해 모니터의 능력을 얻어낼 수 있음.

init10 : 부차적인 VGA카드를 부팅할 때 리얼모드 x86 에뮬레이터를 사용 vbe를 활성화할 경우 활성화해야 함.

dbe : 서버의 더블버퍼링 기능을 활성화. 애니메이션이나 비디오 작업에 유용한 기능

extmod: 모양난 창이라든지 공유 메모리, 비디오모드 변경 기능 등 전통적으로 자주 사용하는 확장 기능들을 활성화

record: 서버 테스트할 때 자주 사용하는 RECORD 확장기능을 활성화

bitmap: font rasterizer (freetype 모듈과 type1 모듈로 같음)

X.Org 문서 참조

설정 파일에 기본 Files 구역을 입력할까요? <예> >> X 서버가 서버 모듈이나 RGB삭 데이터베이스, 글꼴 파일을 찾을 때 사용한다.

모니터를 자동으로 감지할까요? <예> >> 많은 모니터들(LCD포함)과 비디오카드들은 모니터의 기술적 특성을 컴퓨터로 전송할 수 있도록 하는 통신 프로토콜을 지원한다.

모니터와 비디오 카드가 이 프로토콜을 지원할 경우, 모니터에 관한 설정 질의는 미리 채워지게 된다.

모니터의 식별자 : TGIC Amadas CRT

X 서버에서 사용할 비디오 모드: [*] 1280x1024

모니터의 특성을 선택하는 방식 : simple

모니터의 대략적인 크기: 17인치(430mm)

사용하고자하는 색채 깊이를 비트수로: 24

~~ 이 외 설명되지 않은 선택사항들은 모두 <예>를 입력하고 넘어감...잘 모르니깐

xorg.conf의 설정이 끝나면 gdm을 재실행한다. ctrl + alt + backspace.

◇ beryl 설치하기 (beryl)

http://wiki.beryl-project.org/wiki/Install_Beryl_on_Ubuntu_Feisty_with_AIGLX 참조

1 소스 목록 수정하기

sudo vim /etc/apt/sources.list

다음 문장을 입력한다.

deb http://ubuntu.beryl-project.org feisty main

2 beryl repository에서 GPG key를 배부받는다.

wget http://ubuntu.beryl-project.org/root@lupine.me.uk.gpg -O- | sudo apt-key add -

3 패키지 목록을 업데이트 한다.

sudo apt-get update

4 AIGLX 를 활성화

Feisty의 X.org7.2는 AIGLX를 포함하고 있으며, 기본적으로 활성화(Enabled)되어 있다.

5 X server를 설정한다

sudo vim /etc/X11/xorg.conf

"Module" 부분에서 아래 라인이 포함되어 있는지 확인한다. 없으면 입력.

Load "dri"

Load "vbe"

Load "glx"

:: Nvidia card를 위해서는 "Screen" 부분에서 DefaultDepth 옵션이 24로 설정되도록한다. - the Nvidia driver doesn't do argb-with-glx at any other depth

마지막으로 다른곳에 아래 라인이 없다면 문서 밑부분에 다음 라인을 추가한다.

Section "DRI"

Mode 0666

EndSection

6 X Server를 다시 시작한다.

sudo /etc/init.d/gdm restart 또는 Ctrl + Alt + Backspace

beryl을 설치하기 위한 준비가 완료된 상태다. 이젠 beryl을 설치해 한다.

7 beryl 설치하기

간단하게 설치하려면

sudo apt-get install beryl-manager beryl-settings

themes를 설치할 필요하면

sudo apt-get install emerald-themes

8 beryl 시작하기

beryl을 시작하기 위해서는 beryl이라고 치면 된다. 하지만 매니저를 사용해 좀 더 유용하게 사용하기 위해서 beryl-manager라고 칠 수도 있다.

9 beryl 설정하기

이제 beryl과 AIGLX가 설치되어 있고 자동으로 실행시킬 방법이 필요하다.

session shell script를 만들기 위해 자주 사용하는 에디터를 열고 startberyl.sh 이름의 파일을 생성한다.

gksudo vim /usr/bin/startberyl.sh

생선된 파일 안에 다음의 라인을 입력한다.

#! /bin/sh

beryl-manager

sleep 4

exec gnome-session

◇ 키 맵핑 변경하기 (keymapping)

한영키변경위키 참조

우분투 한영키 변경하기 참조

Caps Lock키를 없애자 참조

xev 발동

변경하고자하는 키의 값을 확인한다.

sudo vim /usr/share/xmodmap/xmodmap.kr

◇ apache2 + php5 설치 (apache_php)

sudo apt-get install apache2

sudo apt-get install php5

◇ ftp client 설치하기 (ftpclient)

리눅스 상에서는 gftp라는 프로그램이 대표적.

sudo apt-get install gftp

filezilla 나 Konqueor도 있다. (인코딩 설정기능 지원)

참고::FTP서버에서 파일명이 한글인 파일을 다운로드하려면 인코딩 설정기능이 있는 FTP 클라이언트를 써야 한다. 그렇지 않으면 파일명이 깨진다.

◇ ubuntustudio Theme 설치하기 (ubuntustudio)

인터넷 서핑 중에 ubuntustudio theme라는 걸 알게 되었다. 일단 깔아보았다.

http://zzzik.tistory.com/167 ] 여기서 알게 되었다.

1 편집기로 sources.list 파일을 열고 주소를 추가한다.

sudo vim /etc/apt/sources.list

파일의 적당한 위치에 다음 주소를 추가한다.

deb http://archive.ubuntustudio.org/ubuntustudio feisty main

2 gpg key를 획득한다.
wget http://archive.ubuntustudio.org/ubuntustudio.gpg -O- | sudo apt-key add -

-O- 는 대문자 O 다.

3 저장소 목록을 갱신한다.

sudo apt-get update

4 ubuntu studio theme를 설치한다.

sudo apt-get install ubuntustudio-look

5 시스템 - 기본 설정 - 테마 메뉴에서 ubuntustudio theme가 설치된걸 확인할 수 있다.

또한 바탕화면 바꾸기에서도 ubuntu studio 가 추가된걸 확인할 수 있다.

바꾸고자할 때 선택하면 된다.

◇ rar 설치하기 (installrar)

리눅스에서는 주로 tar이 쓰이지만 그래도 rar이 친숙하다.

우분투에서 rar을 설치하는 방법은 간단하다..

sudo apt-get install unrar | sudo apt-get install rar

끝이다...

◇ Mplayer설치하기 (installMplayer)

동영상보는 프로그램

sudo apt-get install mplayer

mplayer설정

◇ wine & ies4linux 설치하기 (wine_ies4linux)

리눅스에서 익스플로러 띄울 수 있게 하는 프로그램

sudo apt-get install wine

설정하기

winecfg : 로그인시 아이디의 폴더 아래에 .wine이 생성됨

◇ xchat 설치하기 (xchat)

sudo apt-get install xchat

telnet (telnet)

sudo apt-get install xinetd

sudo apt-get install telnetd

sudo vim /etc/xinetd.conf

아래 내용 추가

service telnet

{

disable = no

flags = REUSE

socket_type = stream

wait = no

user = root

server = /usr/sbin/in.telnetd

log_on_failure += USERID

}

시스템 재시작 또는 /etc/init.d/xinetd restart

telnet을 막고 싶다면 disable 를 yes 로 변경.

데몬 실행 여부 검사 : ps -ax | grep xinetd

ssh (ssh)

sudo apt-get install ssh

데목 실행 여부 검사 : ps -ax | grep sshd

없으면 실행 : /etc/init.d/ssh restart

ubuntu server 설치 후 데스크탑 설치하기 (ubuntuServer_desktop)

서버와 데탑의 차이는 기본적으로 설치되는 패키지의 차이입니다.

이외의 차이를 굳이 찾는다면, 설치되는 커널이 generic과 server의 차이겠죠.

데탑환경이 주고, server 커널을 원한다면 데탑설치 후 server 커널을 설치하시면 됩니다.

질문에 맞게 답변을 드리자면, 쉬운 방법으로 ubuntu-desktop 패키지를 설치하시기 바랍니다.

ubuntu-desktop은 그놈환경으로 설치되고, kde를 원하신다면 kubuntu-desktop,

xfce4를 원하신다면 xubuntu-desktop을 설치하시면 됩니다.

개발환경은 build-essential 패키지를 설치하세요.

sudo apt-get install ubuntu-desktop

22 Ubuntu Server 종료 및 재시작 (start)

서버의 콘솔 창에서

$ sudo init 0 -> 시스템 종료

$ sudo init 6 -> 시스템 재시작

또는

$sudo halt : 시스템 종료




[프로세스 관련 명령어]

▣학습목표
1. 프로세스 관련 용어를 이해한다.
2. 프로세스 명령어를 익힌다.

▣용어정리
1. 프로그램 : 하드디스크에 저장되어 있는 파일중에서 
                 실행가능한 파일
2. 프로세스 : 메모리에 로딩된 프로그램
3. 데    몬  : 부팅중에 메모리에 로딩되어 종료될 때까지 
                 상주해 있는 프로그램
         (윈도우에서는 서비스라 부른다.)

프로세스는 여러 가지 자원(CPU,메모리,장치)을 사용한다.
프로세스는 해당 명령을 수행하기 위해 CPU 를 점유하기도 하고
명령어와 데이터를 저장하기 위해 물리적인 메모리를 사용한다.
프로세스는 운영체제의 제어를 받으면서 실행,대기,중단,좀비 의
한 상태를 갖는다.
실행(running) : 프로세스가 현재 실행중인 상태
대기(waiting) : 운영체제가 자원을 할당해 주기를 기다리는 상태
중단(stopped) : 인터럽트를 받는 경우
좀비(zombie)  : 프로세스가 종료된 상태이지만 정보가 완전히 
                     삭제되지 않고 남아 있는 경우
리눅스 프로세스는 프로그램을 실행하는데 필요한 PID,UID,GID 정보를 포함한다.

PID(Process ID)   : 프로세스가 시작할 때 할당받는 프로세스 식별번호
UID(User ID)      : 사용자 번호
GID(Group ID)    : 그룹 번호

프로세스 정보가 있는 디렉토리 : /proc
/proc 에는 각 프로세스에 해당하는 PID 디렉토리가 있다.
/proc 는 가상의 디렉토리로 커널 메모리를 마운트 한 것이다.

 

 

 


▣프로그램 실행 방식
1. foreground : 전면실행(터미널을 프로그램이 점유하고 있는
                    상태로 프로그램이 종료 될 때까지 다른 명령어
             를 실행할 수 없다.)

2. background : 후면실행(프로그램은 실행되면서 쉘프롬프트가 
                     나타나므로 프로그램을 계속 실행시킬 수 있다.)
                     예) 윈도우 도스창

---> 리눅스 터미널은 디폴트가 포그라운드 방식이다.
백그라운드 실행시키는 방법 : 명령어 &  또는 명령어&

 

 

 

 

 

 

 

#oclock
---> 기본적으로 포그라운드 로 실행된다.

시계종료(마우스 이용)

 


#oclock  &
[1]  1234
#oclock  &
[2]  1235
#oclock&
[3]  1236

백그라운드로 프로그램을 실행시키면 번호가 두 개 나타나는데
첫번째 번호는 백그라운드로 실행된 프로그램 갯수 번호
두번째는 프로세스 아이디(PID) 이다.
리눅스 운영체제는 파일,프로세스,계정 등 을 모두 숫자로 구분해서 관리한다.

PID(Process ID) : 프로세스를 구분하는 번호

 

 

 

 

 

<프로세스 관련 명령어>
#ps
현재 터미널에서 실행된 프로세스만 출력
TTY 는 프로그램이 실행된 터미널을 의미

#tty
현재 사용하고 있는 터미널 출력
(/dev/pts/번호)

 

 

 

 

 

 

 

모든 프로세스 출력하기
#ps  -ef
#ps  aux 또는 ps axu


ps(process status) : 프로세스 상태 출력

옵션
 -a : 모든 프로세스(all) 상태 출력
 -e : 현재 실행중인 모든 프로세스(every) 상태 출력
 -f : full list로 출력
 -l : long list로 출력
 -m : 메모리 정보(쓰레드)를 출력
 -t TTY : 지정한 TTY를 가진 프로세스 정보 출력(ps  -t  pts/2)
 -u : 사용자 이름, 시작시간을 보여준다
 -p PID : 지정한 PID(프로그램 번호)를 가진 프로세스 정보 출력
 -u UID : 지정한 UID(사용자 번호)를 가진 프로세스 정보 출력
 -g GID : 지정한 GID(그룹 번호)를 가진 프로세스 정보 출력
 -x : 제어 터미널을 갖지 않은 프로세스도 출력(? 로 나타나는 프로세스)

 

 

 

 

 

 


#ps  aux  |  more
ps  aux  결과의  헤드라인 항목

PID(Process ID)          : 프로세스마다 주어지는 번호
TTY(Tele TYpewrite)    : 명령어가 실행되는 터미널의 번호
STAT(STATE)             : 실행되고 있는 프로세스 상태
    R                        : 실행 중 혹은 실행될 수 있는 상태
    S                        : sleep
    T                        : 정지된 상태 (suspend)
    Z                        : 좀비 (zombie) 프로세스
    X                        : dead (should never be seen)
    W                       : 스왑 out 된 상태
    <                       : 우선 순위가 인위적으로 높아진 상태

START(START)            : 프로세스가 시작된 시간
TIME(TIME)                : CPU가 사용한 시간
USER(USER)               : 사용자의 이름
COMMAND(COMMAND)  : 사용자가 실행한 명령어
UID(User ID)                : 사용자의 ID
(Parent Group ID)         : 사용자 부모 프로세스의 그룹 ID
PRI(PRIority)               : 실행하는 우선 순위에 따른 프로세스
NI(Nice)                     : nice 에 의한 우선 순위에 따른 프로세스
RSS(Resident Set Size)   : 프로세스가 사용하는 메모리의 크기
SZ(SiZe)                     : 프로세스가 사용하는 자료와 스택의 크기
SHRD(ShaReD)            : 프로세스가 사용하는 공유 메모리
%CPU                        : 프로세스가 사용하는 CPU 점유율
%MEM                      : 프로세스가 사용하고 있는 메모리 점유율
WCHAN                     : 프로세스가 실행하고 있는 커널함수

 

 

 

 

 

#man  ps
ps 명령어에 대한 매뉴얼을 확인하면 위의 정보를 확인할 수 있다.

51 번 라인
525 번 라인
623 번 라인

 

pstree : 프로세스를 트리 구조로 출력
#pstree

 

 

top : 시스템의 전체적인 상황(CPU,메모리,프로세스 정보)을 실시간으로 출력

형식)
top 또는 top -d 초


#top
첫번째 줄 : 시스템의 현재시간, 부팅후 작동한 시간, 현재 사용자 수, load average(CPU 부하 평균값)

load average :
1분, 5분, 15분간의 시스템 평균 부하율

두번째 줄 : 프로세스의 상태(실행,대기,중단,좀비)

세번째 줄 : CPU 상태
us : User 가 사용중인 CPU 사용률(user)
sy : 시스템 이 사용하는 CPU 사용률(system)
ni : nice 에 사용되는 CPU 사용률(nice)
id : 사용되지 않는 CPU 미사용률(idle)
wa : 입출력 대기상태 사용률(wait)
hi : 하드웨어 인터럽트
si : 소프트웨어 인터럽트


네번째 줄, 다섯번째 줄 : 총 사용가능한 메모리, 사용된 메모리, 
                              스왑 메모리 등 메모리에 대한 정보
나머지    : 각 프로세스에 대한 정보
            (기본적으로 CPU 사용률을 기준으로 정렬 된다.)

VIRT : 가상메모리 사용량(SWAP + RES)
RES : 스왑되지 않은 물리적 메모리 사용량(Resident Size)
SHR : 공유 메모리 사이즈

종료 : q


//////////////////////////////////////////////////////////////////////////
#man top

    309        o: VIRT  --  Virtual Image (kb)
    310           The total amount of virtual memory used by the task.   It  inc
    310 ludes
    311           all  code,  data  and  shared  libraries  plus pages that have
    311  been
    312           swapped out.
    313
    314           VIRT = SWAP + RES.
    315
    317        p: SWAP  --  Swapped size (kb)
    318           The swapped out portion of a task’s total virtual memory image
    318 .
    319
    321        q: RES  --  Resident size (kb)
    322           The non-swapped physical memory a task has used.
    323
    324           RES = CODE + DATA.
    325
    327        r: CODE  --  Code size (kb)
    328           The amount of physical memory  devoted  to  executable  code,
    328  also
    329           known as the ’text resident set’ size or TRS.

    332        s: DATA  --  Data+Stack size (kb)
    333           The  amount  of  physical  memory  devoted to other than execu
    333 table
    334           code, also known as the ’data resident set’ size or DRS.
    335
    337        t: SHR  --  Shared Mem size (kb)
    338           The amount of shared memory used by a  task.   It  simply  ref
    338 lects
    339           memory that could be potentially shared with other processes.
    340
//////////////////////////////////////////////////////////////////////////

 

 

 

 

 

 

 

 

nice : 프로그램 실행시 우선순위를 지정하는 명령어
형식)
nice  [-20 에서 19 의 숫자]   [명령어]
(숫자가 작을 수록 우선 순위가 높음)

sleep : 대기 명령어
형식)
sleep  초

 

#nice  -17  sleep 100  &
#ps  -l

 

 

 

 

 


#gnome-system-monitor
시스템 모니터링 프로그램, GUI 방식

 

 


pmap(process map)
프로세스의 메모리 주소 공간을 확인 할 수 있다.
응용 프로그램이 실행될 때 얼마나 많은 라이브러리가 load 되는지 
확인 할 수 있다.

#ps
1234  bash
#pmap PID (ps 결과에서 bash 의 PID 를 입력)

 

 

 

 

 

 

 

 

 


#jobs 
현재 터미널에서 백그라운드로 실행된 프로세스 출력
+ 는 가장 최근의 작업
- 는 그 이전 작업


#fg  %2(또는 fg  2)
2번 시계를 포그라운드로 전환
---> 쉘에 따라서 % 를 사용해야 하는 경우가 있다.

ctrl + z : 프로세스 중지(stop) 시키는 단축키

#jobs


#bg  %2
(2번 시계를 백그라운드로 전환)
#jobs

 

 

 

 

 

 

 

 

 


#ps  -ef  |  grep  oclock
UID   PID   PPID  C  STIME   TTY    TIME      CMD

root  3201  2521  0  16:17   pts/1  00:00:00  oclock
root  3202  2521  0  16:17   pts/1  00:00:00  oclock
root  3203  2521  0  16:17   pts/1  00:00:00  oclock 

grep oclock 은 ps -ef | grep oclock 명령어 자신이 출력된 것임

PID(Process ID)             : 프로세스 아이디
PPID(Parent Process ID) : 부모프로세스 아이디
                                    (oclock 의 부모프로세스는 bash 쉘이 된다.)

 

 

 

 

 


pgrep : 프로세스를 필터링 하는 명령어

//////////////////////////////////////////////////////////////////////////
#man  pgrep

PGREP(1)                           Linux User’s Manual                           PGREP(1)

NAME
       pgrep, pkill - look up or signal processes based on name and other attributes

       -f     The  pattern is normally only matched against the process name.  When -f is
              set, the full command line is used.

       -l     List the process name as well as the process ID. (pgrep only.)
//////////////////////////////////////////////////////////////////////////

#pgrep  oclock
#pgrep  -lf  oclock 또는 #pgrep  -fl  oclock

 

 

 

 

 

 

 

 

 

커맨드(Command)로 프로그램을 종료시키는 방법 : kill 또는 pkill 명령 이용

kill 다음에는 PID(숫자) 가 와야 하고
pkill 다음에는 프로그램 이름(문자)이 와야 한다.


#kill   oclock
---> X
#pkill  oclock
3개의 시계가 모두 종료된다.

 

 

 

 

 

 

 

 

 

백그라운드로 시계 3개 실행하기

#pgrep  -lf  oclock
1234  oclock
1235  oclock
1236  oclock


#kill  1234(자신의 가상머신 터미널에서 출력된 PID 사용하기)
디폴트로 15번 시그널 전달
종료됨 출력

#kill  -9  1235(두번째 시계 프로그램 번호)
9번 시그널 전달
죽었음 출력

#kill  -2  1236
인터럽트 시그널 전달
인터럽트 출력

 

 

 

 

 

 

 

시그널(Signal) : 리눅스 프로그램에 보내는 신호

시그널 종류
#kill  -l
1  헙시그널(프로세스 재시작)
2  인터럽트(단축키는 ctrl+c)
9  강제종료
15 자연스럽게 종료 (디폴트 시그널)


자격증 문제 : 280, 286

 

 

 

 

 

 

 

 

백그라운드로 시계 3 개 실행하기
#pkill  oclock
종료됨(디폴트로 15번 시그널 전달 됨)

백그라운드로 시계 3 개 실행하기
#pkill  -9  oclock
죽었음
(kill 과 pkill 이 사용하는 시그널은 동일하다)

 

 

 

 

 

 

 

 

 

▣실습
2 의 1000000 승 계산하기
bc : 계산기 프로그램 명령어
+ 덧셈
- 뺄셈
* 곱셈
/ 나눗셈
^ 자승
#bc
quit(계산기 종료)

#echo 2+3
#echo 2+3 | bc

#echo 2^3
---> 2 X 2 X 2 = 8
#echo 2^3 | bc

포그라운드로 실행된 상태에서 프로세스를 중지시킨후 
백그라운드로 다시 실행시키기

 

 

 

 

 

 

//////////////////////////////////////////////////////
#echo 2^1000000 | bc
ctrl + z 입력
#jobs
#bg %1 (jobs 에서 출력된 [] 안의 번호를 적는다.)
#jobs
//////////////////////////////////////////////////////

 

 

 

 

 

 


//////////////////////////////////////////////////////////////////////////
시그널 참조)
http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/system_programing/Signal/SignalHow


bc 에서 나누기 연산시 소수점 이하까지 구할 때)
#bc
scale=3
10/3
3.333
//////////////////////////////////////////////////////////////////////////

 

 

 

 

 


■nohup
부모 프로세스가 종료되어도 메모리에 남아있게 해 주는 명령어

//////////////////////////////////////////////////////////////////////////
#man  nohup

NOHUP(1L)                                                           NOHUP(1L)

이름
       nohup  -  Hangup에 무관하게 명령을 수행하고 tty아닌 곳에 출력을 하도록
       한다.

개요
       nohup 명령 [인수...]
       nohup {--help,--version}

설명
       이 맨페이지는 GNU 버전의 nohup 을 다룬다.  nohup 은 명령 에   대 하 여
       Hangup 신호를 무시한 채 수행하며 우선권을 5 만큼 증가시켜여러분이 로그
       아웃한 후에도 계속 백그라운드로 실행할 수 있도록 해준다. 
//////////////////////////////////////////////////////////////////////////

 

 

 

 

 

 

♠\(역슬래쉬) 사용하기
\ : 해석 금지의 의미
#\rm  파일명
---> 알리아스 해석을 하지 않으므로 질문없이 삭제 됨

#cd  aa\ bb
---> 공백이 들어간 폴더 이동

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[패키지 관리]
♠학습목표
1. 리눅스에서 사용되는 프로그램 배포 방식을 이해한다.
2. rpm, yum 명령어 사용법을 익힌다.


<패키지 관리>
패키지(Package) : 프로그램 파일이 들어있는 상자 개념

프로그램 배포 단위  
레드햇 리눅스 : rpm 패키지
데비안 리눅스 : debian 패키지

rpm 패키지 이름 구성
mc-4.6.0-2.i386.rpm
--->패키지이름-릴리스버전-아키텍처

 

명령어형식 : rpm  옵션  패키지명

옵션
-qa   : 설치된 패키지 목록 확인 (q : query, a : all)
-e     : 삭제 (e : erase)
-ivh   : install
-Uvh  : Upgrade


설치 및 업그레이드시 옵션
v            : verbose, 설치과정 자세히 출력
h, --hash  : # 마크 표시, 보통 v 옵션과 같이 사용
nodeps    : 의존성을 검사하지 않음
force       : --oldpackage, --replacefiles, --replacepkgs 를 합한 옵션
test         : 실제 설치하지 않고 점검

 

 

 

 

 


rpm -qi    : 패키지 정보 (information)
rpm -qf    : 파일이 속한 패키지 출력(file)
rpm -ql    : 패키지 파일 목록(list, location)
rpm -qs    : 패키지 상태(status)
rpm -qc    : 패키지 설정 파일(configuration)

rpm 의 단점 : 의존성 문제(먼저 설치되어 있어야 하는 
패키지가 없는 경우 설치가 안 된다.)


[A 패키지]-------------------------------[B 패키지]
                  의존성(dependency)

 

 

 

 

 

 

 

yum :  인터넷 파일서버에서 패키지를 다운받아 설치해 준다.
         관련 패키지가 있을 경우 한꺼번에 설치해 준다.
         (의존성 문제 해결)
         인터넷이 되야 사용할 수 있다.


#cd  /etc/yum.repos.d
#ls
(yum 사용시 패키지 다운받는 서버 목록 이 저장되어 있다.)
#cat  CentOS-Base.repo


yum  (-y)  install     : 설치
yum  check-update  : 업데이트 가능한 목록
yum  update          : 업데이트
yum  remove         : 삭제
yum  info              : 정보 출력
yum  list               : 패키지 목록 출력
yum  grouplist       : 패키지 그룹 목록 출력
yum  groupinstall   : 패키지 그룹 설치
yum  search  단어   : 단어가 들어간 패키지 검색
yum  localinstall     :  CD 의 패키지를 설치할 때 사용


사용 예 : yum  -y  install  mc
(-y 를 생략하면 설치시 질문이 출력된다.)

 

 

 

 

 

 

♠rpm 사용하기
(Redhat Package Management)
 

#rpm  -qa
리눅스 CD 에 들어있는 프로그램 형태는 rpm 패키지로
rpm -qa 하게 되면 하드디스크에 설치된 rpm 패키지 목록이 
모두 출력된다.
q : query(물어보다)
a : all


#cd  /var/lib/rpm
(패키지 데이타베이스가 있는 디렉토리)
#ls

 

 

 

 

 


패키지(프로그램) 설치 유무 확인 방법 :
0)rpmquery  패키지명  패키지명  ...
1)rpm  -q  패키지명  패키지명  ...
2)rpm  -qa  |  grep  패키지명

#rpmquery  zip
#rpm  -q  zip
#rpm  -qa  |  grep  zip
zip-2.3-27
--->설치된 프로그램(패키지) 목록 중에서 zip 관련 패키지만 필터링

 

 

 

 

 

 

 

 


zip 패키지 삭제
#rpm -e zip (rpm -e zip-2.3-27 로 해도 동일하다.)
오류: Failed dependencies:
        zip >= 2.1 is needed by (installed) libgcj-3.4.6-8.i386
        zip >= 2.1 is needed by (installed) libgcj-devel-3.4.6-8.i386
---> 다른 패키지와 의존성이 있어서 삭제가 안 된다.

 

 

 

 

 

 

 

 

#rpm -e --nodeps zip
의존성 무시하고 삭제하기

#rpm  -q  zip
#rpm  -qa  |  grep  zip
zip 패키지는 삭제했으므로 나타나지 않는다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

#gftp
---> X (리눅스 가상머신 터미널에서 실행하기)
gftp : 윈도우의 알FTP와 같은 FTP 클라이언트 프로그램


#yum -y install gftp
--->gftp(ftp 프로그램)를 인터넷에 있는 CentOS 서버에서
     다운받아 설치하는 명령어

다운이 안 될 경우 #netconfig 이용해서 DHCP 설정후
#service network restart 한 후 다시 해 본다.

 

 

 

 

 


[cent]
#gftp (---> putty 에서 실행하면 안 되고 리눅스 가상머신 터미널에서
              실행해야 한다.
       putty 터미널은 그래픽 프로그램을 사용할 수 없다.)


호스트   : 수업용 서버 아이피(172.16.7.252)
사용자   : 아이디(andylec)
비밀번호 : 암호입력
(위와같이 적고 엔터를 입력한다. 탭키를 누르면 
커서가 다음칸으로 이동된다.)

테스트 환경 :
[리눅스 가상머신]--------------------------[수업용 FTP 서버]

리눅스의 한글 코드와 win7 의 한글 코드가 틀려서
한글 폴더 이름은 나타나지 않는다.
(LANG 변수를 ko_KR.eucKR 로 설정하면 한글 폴더 이름이 출력된다.)
#export  LANG=ko_KR.eucKR
다시 리눅스 한글로 설정하려면
#export  LANG=ko_KR.UTF-8 
로 설정하면 된다.

 

 


수업용 FTP 서버 Linux1lab 디렉토리로 이동후
gftp-2.0.17-6.i386.rpm,
zip-2.3-27.i386.rpm 
파일을
cent 리눅스 /work 디렉토리에 다운받는다.
가운데 왼쪽 화살표 아이콘(◀) 클릭

접속종료는 호스트 왼쪽 녹색 컴퓨터 아이콘을 클릭하면 된다.
다운받은 후 gftp 종료하기(오른쪽 상단 X 클릭)

 

 

 

 

 

 


#cd  /work
#ls

#file zip-2.3-27.i386.rpm
zip-2.3-27.i386.rpm: RPM v3 bin i386 zip-2.3-27
#
--->RPM 패키지 파일이라는 의미

file : 대상 파일의 Type(종류)를 출력해 주는 명령어

 

 

 

 

 

 


#rpm  -qlp  zip-2.3-27.i386.rpm
설치안 된 패키지안의 파일목록 출력
p : 패키지를 뜻하며 설치전에는 p 옵션을 지정해야 한다.

 

 


#rpm  -ivh  --test  zip-2.3-27.i386.rpm
준비 중...              

########################################### [100%]
#
---> --test 옵션을 지정했으므로 실제로 설치되지 않는다.
---> rpm 파일이 있는 디렉토리, /work 에서 해야 함

 

 

 

 

 

 

 


#rpm -ivh  zip-2.3-27.i386.rpm 
(rpm  -Uvh  zip-2.3.27.i386.rpm 해도 설치된다.)
--->패키지(리눅스 프로그램) 설치하기

준비 중...              

########################################### [100%]
   1:zip                   

########################################### [100%]
#
rpm  -ivh  : 설치
rpm  -Uvh : 업그레이드(이전 버전이 있으면 업그레이드를 하고
                설치가 안 되어 있으면 프로그램이 설치 됨)

 

 

 

 

 

 

#rpm  -qa  |  grep  zip
zip 패키지가 설치되었으므로 출력된다.

#rpm  -qs  zip
패키지 상태 출력

//////////////////////////////////////////////////////////////////////////
#man  rpm
       -s     패키지 안에 든 화일의 상태를 보여준다.(-l은 포함) 각
              화일의 상태는 normal(정상), not installed(설치 되 지
              않음), replaced 다른 것으로 교체됨)의 값을 갖는다.
//////////////////////////////////////////////////////////////////////////

#rpm  -ql  zip
설치된 특정 패키지의 파일목록 출력
설치가 된 후에는 패키지 목록 출력시 -p 옵션이 필요없고
rpm 확장자를 지정하면 안 된다.

 

 

 

 

 

 

 

 

 

#rpm  -qi  zip
패키지 정보 확인


#zip
사용법 출력됨
#which zip
/usr/bin/zip
#

which : 명령어가 어느 디렉토리에 있는지 경로를 출력

 

 

 

 

 

 


#rpm  -qf  /usr/bin/zip (파일이 속한 패키지 찾기)
zip-2.3-27
#
---> zip 명령이 깨졌을 경우나 삭제된 경우 
zip-2.3-27 패키지를 다시 설치해 주면 된다.
리눅스 CD 에 zip 명령어가 개별적으로 존재하지 않는다.

 

 

 

 

 

 

 

 

♠yum  사용하기
(인터넷의 파일서버를 이용하는 방식)

[리눅스 서버] <----- yum -----> [인터넷의 CentOS 프로그램 서버]

 

 

 

 

#rpm  -qa  |  grep  mc
mc 패키지(프로그램)는 없음

#yum -y install mc (mc 패키지 설치하기)
-y 옵션을 생략하면 질문 나올 때 y 를 입력해 주어야 설치된다.

#rpm  -qa  |  grep  mc
mc  패키지 설치됨

#mc
mc 는 유틸리티 프로그램
종료는 exit 입력

 

 

 

 

 

 

 

#yum info mc
Setting up repositories
Reading repository metadata in from local files
Installed Packages
Name   : mc
Arch   : i386
Epoch  : 1
Version: 4.6.1
Release: 0.8.5
Size   : 4.2 M
Repo   : installed
Summary: User-friendly text console file manager and visual shell.

Description:
 Midnight Commander is a visual shell much like a file manager, only
with many more features. It is a text mode application, but it also
includes mouse support if you are running GPM. Midnight Commander's
best features are its ability to FTP, view tar and zip files, and to
poke into RPMs for specific files.
#

 

 

 

 


#yum  remove  mc
-y 옵션을 지정하지 않았으므로 질문이 출력된다.
(질문에 y 를 입력한다.)
rpm  -e  mc  로  삭제해도 된다.

yum 을 이용하면 의존성 있는 패키지까지 함께 삭제 된다.


#mc
---> X

 

 

 

 

 

 

♠GUI 를 이용한 패키지 관리
1. 메뉴표시줄-프로그램-시스템 설정-응용 프로그램 추가/삭제
   오류가 나는 경우에는 패키지 명령어(rpm, yum)를 이용해야 한다.


2. 메뉴표시줄-프로그램-파일 브라우저 실행
 1) /work 로 이동
 2) zip-2.3-27.i386.rpm 선택후 마우스 오른쪽 버튼 클릭
 3) 메뉴에서 "Install Packages 프로그램으로 열기" 선택
    이미 설치된 경우에는 "설치되어 있다"는 메시지 출력 됨
    또는 왼쪽마우스를 더블 클릭하면 설치된다.
 4) 터미널에서 #rpm -e gftp 한 후
    리눅스 탐색기에서 gftp-2.0.17-6.i386.rpm 설치 테스트 하기

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


<리눅스 프로그램 업그레이드>
☞리눅스 프로그램 업그레이드
rpm 버전은 yum 을 이용하여 업그레이드 할 수 있고
소스버전은 홈페이지에서 다운받아 컴파일 방식으로 
업그레이드 할 수 있다.

 

 

 

 

 

 

 


☞리눅스에서 사용하는 프로그램 형식
1. rpm 버전(hello.exe 상태)
2. 소스 버전(hello.c 상태)

 

[win7]

RPM 패키지 검색 사이트 : http://rpm.pbone.nethttp://www.rpmfind.net

위 사이트에 접속하고
[        ][search]
텍스트 박스에 단어를 입력하고 search 버튼을 누르면 패키지를 검색할 수 있다.


mc 프로그램 홈페이지
http://www.midnight-commander.org

 

 

 

 

 


☞rpm 프로그램(파일명 : mc-4.6.1a-0.9.i386.rpm)
[요리가 다 된 떡볶이]--->프로그램이 들어있는 상자


☞소스 프로그램(파일명 : apache-1.3.2.tar.gz)
[떡볶이 재료-떡,고추장,파 등..]--->프로그램이 들어있는 상자

 

 

 

 

 

 

 

 

 


☞소스 프로그램 설치방법(음식 요리법-레서피)

1) ./configure (환경설정)
---> gcc 같은 컴파일러의 유무, 라이브러리 위치 등 컴파일을 하기위한 
     정보들을 확인해서 Makefile 로 저장을 해 준다.

2) make (컴파일)
---> Makefile 이용해서 gcc 로 컴파일 해 준다.

3) make  install (설치디렉토리로 복사)
---> configure 시 prefix 옵션으로 지정해 준 디렉토리로 
파일들을 복사해 준다. prefix 를 지정하지 않으면 설정파일은 
/usr/local/etc 로 실행파일을 /usr/local/bin 등으로 파일들이 분산된다.
그러므로 prefix 옵션을 주는 것이 좋다.

 

 

 

 

 

<텍스트 ftp 프로그램 명령어>
ftp>help(도움말)
ftp>get(1개 파일 다운)
ftp>mget(여러개 파일 다운)
ftp>put(1개 파일 업로드)
ftp>mput(여러개 파일 업로드)
ftp>hash(자료전송시 # 마크 설정 on/off)
ftp>prompt(자료전송시 확인 질문 on/off)
ftp>ls(서버쪽 목록 출력)
ftp>!ls(자신의 컴퓨터 목록 출력)
!명령어 : 자신의 컴퓨터에서 명령이 실행됨
ftp>cd(서버쪽 디렉토리 이동)
ftp>lcd(자신의 컴퓨터 디렉토리 이동)
ftp>by(접속 종료) 또는 bye 또는 quit

 

 

 

 

 

 

 

 

 

 

 

☞ftp 명령어를 이용한 파일 전송
#cd  /work
#ftp  172.16.7.252
andylec  로그인

//////////////////////////////////////////////////////////////////////////
로그인 실패시에는 아래와 같이 하면 된다.
1)
ftp>by
#ftp  172.16.7.252

2)
ftp>close
ftp>open  172.16.7.252
다시 로그인
//////////////////////////////////////////////////////////////////////////

 

 

 

 

 

 

ftp>ls (파일 목록 확인)
ftp>cd  UPLOAD (서버쪽 디렉토리 이동)
ftp>pwd (현재 경로 확인)
ftp>ls
ftp>get  파일명
ftp>mget  mc*
질문에 y 나 엔터 입력
ftp 명령어를 실행한 디렉토리에 다운이 된다.
다운로드 : get(파일 1개 다운로드), mget(파일 여러 개 다운로드)
업로드 : put(파일 1개 업로드), mput(파일 여러 개 업로드)
ftp>by (접속 종료)
#ls

 

 

 

 

 

#tar  zxvf  mc-4.6.1.tar.gz
#ls
#cd  mc-4.6.1
#pwd
(/work/mc-4.6.1)
#ls
#ls  src (---> /work/mc-4.6.1/src 폴더의 내용을 확인하는 것)
확장자  .c  로 된 소스 파일

#./configure  --help
---> 컴파일 옵션 확인

Installation directories:
  --prefix=PREFIX         install architecture-independent files

in PREFIX
                          [/usr/local]
  --exec-prefix=EPREFIX   install architecture-dependent files in

EPREFIX
                          [PREFIX]

By default, `make install' will install all the files in
`/usr/local/bin', `/usr/local/lib' etc.  You can specify
an installation prefix other than `/usr/local' using `--prefix',
for instance `--prefix=$HOME'.

 --enable-charset         Support for charset selection and conversion [no]

 

 

 

 

 

 

 

 


#pwd
(/work/mc-4.6.1)

#./configure  --prefix=/work/mc  --enable-charset
--prefix 는 설치 디렉토리 지정 옵션
--enable-charset 은 한글 지원 설정
#make
#make  install

명령어 라인 한 줄에 입력하려면 && 연산자를 이용하면 된다.
#./configure  --prefix=/work/mc  --enable-charset  &&  make  &&  make  install

#cd  /work/mc
#ls
#/work/mc/bin/mc
#/work/mc/bin/mc  --help
  -a, --stickchars    Use stickchars to draw
#/work/mc/bin/mc  -a

 

A  ;  B  
---> A 명령이 실패해도 B 명령을 실행

A  &&  B
---> A 명령이 실패하면 B 명령을 실행 안 하고
      A  명령이 성공하면 B 명령을 실행



+ Recent posts