요즘 Python을 만지다보니 linux는 별 문제가 없는데 윈도우 환경에서는 영 뭔가 불편하기 짝이 없었다.

다행히도 windows 7 부터 기본프로그램으로 탑재된 Windows Powershell 이 있어 써보고자 했는데 기본 속성 

설정에는 어디에도 font 를 바꾸는게 없었다.

짧은 개발 경력에도 불구하고 익숙해져버린 나눔고딕코딩으로 바꾸기 위해서는 간단한 설정이 필요했다


0. powershell 옵션에서 현재 코드 페이지 번호 찾기


1. windows + R

2. regedit

3. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont

4. 현재 코드 번호 페이지의 데이터를 원하는 font로 수정


신고

'12.OS' 카테고리의 다른 글

Windows Powershell font 바꾸기  (0) 2013.06.11
linux에서 grep으로 parsing 및 group by 하자  (0) 2013.06.04
Symbolic Link  (0) 2011.12.06
Fedora MySQL 설치  (0) 2011.06.15
AWS EC2 ubuntu 에서 Apache httpd + Tomcat 구성하기  (0) 2011.06.14
Fedora 14 및 samba 설치  (0) 2011.06.01
Posted by Stewie

linux 상에서 수집된 log를 parsing 해서 입맛에 맞게 사용하고 싶을 때 쓰면 좋을 명령어들


  • uniq : distict 와 유사함
  • sort : 정렬
  • awk
    • -F : file separator 지정
    • 기본 문법
      • awk   [-f prog-file]   [-F c]   [ 'pattern {action}' ]   [filename]
    • 예시
      • cat {file} | awk '{ split($0,arr,","); printf("%s,%s\n",arr[6],arr[11]); }' | sort | uniq -c
      • 혹은 cat {file} | awk -F '`' 'printf("%s,%s\n",arr[6],arr[11]); }' | sort | uniq -c


신고

'12.OS' 카테고리의 다른 글

Windows Powershell font 바꾸기  (0) 2013.06.11
linux에서 grep으로 parsing 및 group by 하자  (0) 2013.06.04
Symbolic Link  (0) 2011.12.06
Fedora MySQL 설치  (0) 2011.06.15
AWS EC2 ubuntu 에서 Apache httpd + Tomcat 구성하기  (0) 2011.06.14
Fedora 14 및 samba 설치  (0) 2011.06.01
Posted by Stewie

Symbolic Link

12.OS 2011.12.06 10:21

이 간단한 것을 왜 까먹는지 모르겠다

ln -s [resource] [WHATIWANT] 
신고

'12.OS' 카테고리의 다른 글

Windows Powershell font 바꾸기  (0) 2013.06.11
linux에서 grep으로 parsing 및 group by 하자  (0) 2013.06.04
Symbolic Link  (0) 2011.12.06
Fedora MySQL 설치  (0) 2011.06.15
AWS EC2 ubuntu 에서 Apache httpd + Tomcat 구성하기  (0) 2011.06.14
Fedora 14 및 samba 설치  (0) 2011.06.01
Posted by Stewie

Fedora MySQL 설치

12.OS 2011.06.15 10:56
언제나 운영의 이슈때문인지 아니면 그 성능때문인지
엔터프라이즈 급 시스템에서는 Oracle만 사용했다. 덕분에 SI를 하는 나는 늘 Oracle만 쓰게 되었고..
이번에 기회가 되서 AWS에 MySql을 설치하려 했는데 알고보니 AWS는 RDS 라는 관계형 DB 시스템이 있었다.
내가 직접 설치 할 필요도 없이 그냥 MySQL을 설치하면 끝~ -_-;;

그 사전 작업으로 가지고 있던 Fedora 14 장비에 MySql을 설치했던 과정을 기록해논다.

# rpm 명령어를 통해 install (Server 및 Client 둘다) (초간단)

1. 다운로드
http://www.mysql.com/downloads/mirror.php?id=402382#mirrors 

2. root계정 비밀번호 부여
mysqladmin -u root password root00 

# MySQL 서버로 접속하기 위한 localhost를 제외한 IP 및 계정 등록

1. 등록 IP/계정 조회
select * from mysql.user

2. 등록
grant all privileges on db명.* to 사용자계정@'IP주소' identified by '비밀번호' with grant option;
FLUSH PRIVILEGES;                                                                                


참조 : MySql 설정에 대한 블로그
http://xxxq.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4-mysql-%EA%B3%84%EC%A0%95%EC%83%9D%EC%84%B1-%EB%B0%8F-%ED%85%8C%EC%9D%B4%EB%B8%94%EC%83%9D%EC%84%B1 
신고

'12.OS' 카테고리의 다른 글

linux에서 grep으로 parsing 및 group by 하자  (0) 2013.06.04
Symbolic Link  (0) 2011.12.06
Fedora MySQL 설치  (0) 2011.06.15
AWS EC2 ubuntu 에서 Apache httpd + Tomcat 구성하기  (0) 2011.06.14
Fedora 14 및 samba 설치  (0) 2011.06.01
Unix Group 및 User  (0) 2011.05.16
Posted by Stewie

이번에 새롭게 만드는 응용서비스를 Amazon Web Service EC2 에서 서비스 하기로 하여
테스트 차원에서 설치를 진행하였다.

고려할 사항은 어떤 AMI 를 선택하여 어떤 instance를 구성할 것인가? 였다.


redhat 계열의 Fedora 와 CentOS 중 고르려고 했지만 상대적으로 덜 사용해봤던 ubuntu를 사용해보고싶은 마음에
선택을 하였다. 사용하는데 큰 차이는 없지만 굳이 뽑자면 rpm <-> bin 패키지 인스톨 방식 정도 이다. 적어도 나한테는 그렇다.

실질적으로 찾아보면 redhat에서 데스크탑의 기능을 부각시킨것이 Fedora 등인데 redhat에서 공식적인 지원이 없기 때문에 결국 오픈소스의 특성상 커뮤니티의 규모를 선택의 척도로 사용하는 것이 좋을 듯 싶다.

1. jdk 설치
 
wget http://download.oracle.com/otn-pub/java/jdk/6u26-b03/jdk-6u26-linux-i586.bin
/usr/local/jdk1.6.0_26

[root@blogserver local]# vi /etc/profile
.
.
(가장 하단에 추가)
export JAVA_HOME=/usr/local/jdk1.6.0_26
export PATH=$JAVA_HOME/bin:$PATH

2. apache Httpd 설치
sudo apt-get install apache2

/etc/apache2

3. MySql 
 

sudo apt-get install MySql 
root/root00

4. Tomcat
wget http://apache.tt.co.kr/tomcat/tomcat-7/v7.0.14/bin/apache-tomcat-7.0.14.tar.gz
tar -xvf apache-tomcat-7.0.14.tar.gz

/usr/local/tomcat/apache-tomcat-7.0.14

vi /etc/profile
export CATALINA_HOME=/usr/local/tomcat/apache-tomcat-7.0.14
export PATH=$PATH:$CATALINA_HOME/bin


tomcat 시작시 자동 실행

vi /etc/init.d/tomcat

#!/bin/sh
/usr/local/tomcat/apache-tomcat-7.0.14/bin/catalina.sh start

chmod 755 tomcat

update-rc.d -f tomcat defaults


5. Tomcat <-> Apache Httpd 연동

http://seoeun25.tistory.com/397 
 
- apache2 install
>apt-get install apache2 libapache2-mod-jk

- workers.properties 확인 (JVM 셋팅)
>cd /etc/libapache2-mod-jk/
>vi workers.properties 
 : JVM 셋팅. worker 관련 properties 확인.
workers.java_home=/usr/lib/jvm/java-6-sun

worker.ajp13_worker.port=8009
worker.ajp13_worker.host=localhost
worker.ajp13_worker.type=ajp13


- jk.load 에서 worker 위치 지정
>cd /etc/apache2/mods-enabled/
>vi jk.load
 : workers.properties 위치 지정
LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so

JkWorkersFile /etc/libapache2-mod-jk/workers.properties
JkLogFile /var/log/apache2/mod_jk.log
JkLogLevel info
JkOptions +ForwardURICompatUnparsed

- JK Mount 하기
>cd /etc/apache2
>vi sites-enabled/000-default 
 : 마지막 라인에 모든 들어오는 URL 을 ajp13_worker로 mount.
(unmout 하는 것도 여기서 셋팅)
        </Directory>

        JkMount /* ajp13_worker
</VirtualHost>

- apache2 restart
>apache2ctl restart





PS. 현재 실패한것은 tomcat 자동실행이다. /etc/init.d 에 등록하고 절차를 밟았는데도 아직 안됨 -_-;;;;;
신고

'12.OS' 카테고리의 다른 글

Symbolic Link  (0) 2011.12.06
Fedora MySQL 설치  (0) 2011.06.15
AWS EC2 ubuntu 에서 Apache httpd + Tomcat 구성하기  (0) 2011.06.14
Fedora 14 및 samba 설치  (0) 2011.06.01
Unix Group 및 User  (0) 2011.05.16
윈도우 공유 연결 끊기  (0) 2011.02.11
Posted by Stewie
Fedora 14 설치
-> 기존 유휴장비내 모든 파티션 삭제

user/user00
root/root00

samba 설치
http://ktyuzz.tistory.com/39 참조

samba 폴더
/project/sambasharetmp
권한 user
비번 user/user00 

Redmine
http://dongu.egloos.com/126998


JDK
#gedit /etc/profile
맨 아래에 다음과 같은 내용을 추가해준 뒤 저장하고 종료합니다.

JAVA_HOME="usr/java/jdk1.6.0_10"
exprot JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
exprot PATH
CLASSPATH=$CLASSPATH:$JAVA_HOME/lib

수정한 profile을 시스템에 적용하기 위해 다음과 같이 치면 
#source /etc/profile
시스템에 적용된다.


<Apache Tomcat>
[root@blogserver bin]# vi /etc/sysconfig/iptables

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8103 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT



[root@blogserver bin]# 
[root@blogserver bin]# /etc/init.d/iptables restart
iptables: 방화벽 규칙을 지웁니다: [  OK  ]
iptables: chain을 ACCEPT 규칙으로 설정 중:  filter [  OK  ]
iptables: 모듈을 언로드하는 중: [  OK  ]
iptables: 방화벽 규칙 적용 중:  [  OK  ]
[root@blogserver bin]# 
[root@blogserver bin]# /etc/init.d/iptables status
테이블: filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:8103 
5    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:3306 
6    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:21 
7    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:8080 
8    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination         
1    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination         

[root@blogserver bin]# 


Subversion
sudo yum install subversion
svnadmin create --fs-type fsfs sample
svn checkout svn://(서버 IP또는 도메인)/sample


Serversive 
http://download.eclipse.org/releases/helios 
collaboration check -> finish 

시작프로그램 등록

리눅스에도 윈도우처럼 시작할 때 자동으로 프로그램을 실행시킬 수 있는 프로그램이 있다. Apache 웹서버나 MySQL 데이터베이스를 시작프로그램에 등록하면 여러면에서 편하다.

/etc/rc.d/rc.local

에 명령어나 실행할 스크립트를 적어준다. 

FTP 설정
http://pippen80.cafe24.com/266
http://zauin09.egloos.com/2642022 
신고

'12.OS' 카테고리의 다른 글

Fedora MySQL 설치  (0) 2011.06.15
AWS EC2 ubuntu 에서 Apache httpd + Tomcat 구성하기  (0) 2011.06.14
Fedora 14 및 samba 설치  (0) 2011.06.01
Unix Group 및 User  (0) 2011.05.16
윈도우 공유 연결 끊기  (0) 2011.02.11
[강좌] Linux 명령어 사용방법  (0) 2009.12.10
Posted by Stewie

Unix Group 및 User

12.OS 2011.05.16 13:28
수박 겉핥기 식으로 배운 지식이라 깊이가 너무 얕다.
오늘 회의중에 새로운 

UNIX란 하나의 운영체제이며, 뒤에서 자세히 설명하겠지만 대략적인 특징은 다음과 같다.    
     
  강력한 멀티태스킹    
  다수사용자 수용    
  강력한 네트워킹지원등을 기본내포한 운영체제    
  연관된 유틸리티의 공존    
     
이 운영시스템은 본래 AT&T의 Bell연구소가 프로그래머들의 소프트웨어 개발 작업에 편리한 환경을 지원하려는 목적으로 작은 규모의 운영체제에서 시작된 것이다. 이러한 UNIX가 현재에 이르러서는 다음과 같은 우수성이 있다.   

  하드웨어로 부터의 독립성    
  소프트웨어 호환성    
  다양한 하드웨어 플랫폼사이의 네트워킹등의 풍부한 컴퓨팅 환경을 제공    
     
위와 같은 기능을 할 수 있어서 개방 시스템으로서의 이행에 중심 역할을 담당하고 있다.     
UNIX를 잘 사용하기 위해서는 그룹별 작업을 위해 사용자들끼리 그룹을 이루어 정보를 교환하는 것이 핵심이라 할 수 있다. 이러한 맥락으로 그룹웨어(groupware)라고도 가끔 부른다.   

UNIX는 USER ID와 GROUP ID를 갖으며 각 파일과 디렉토리의 접근여부를 USER, GROUP, OTHER로 구분하여 권한을 제어한다. 즉, 같은 그룹 안의 USER들까지는 공개할 수 있는 자료는 서로 공유할 수 있으며, 각각의 데이터에 읽기·쓰기 권한을 부여할 수 있어 데이터의 성격에 따라 관리할 수 있다. 그리고 root를 제외한 다른 USER에게는 공개를 안할 수도 있으며, 개인의 데이터에 보안성을 부여할 수 있다. 하지만 이러한 보안은 root에게는 해당되지 않음을 항상 기억하기 바란다. 그리고 복수의 File System이 존재하는데 각각의 File System의 성격에 맞게 id를 부여할 수 있으며 또한 용량도 정할 수 있다. 그리고 같은 File System또는 다른 File System간에 Link를 적용할 수 있어 공간의 효율성이 제공된다.   



참조 :  http://database.sarang.net/study/unix/Unixhtml/u_1.htm

 
신고

'12.OS' 카테고리의 다른 글

AWS EC2 ubuntu 에서 Apache httpd + Tomcat 구성하기  (0) 2011.06.14
Fedora 14 및 samba 설치  (0) 2011.06.01
Unix Group 및 User  (0) 2011.05.16
윈도우 공유 연결 끊기  (0) 2011.02.11
[강좌] Linux 명령어 사용방법  (0) 2009.12.10
리눅스 VS 윈도우 as Server  (0) 2009.12.07
Posted by Stewie
윈도우 공유 연결 끊기

윈도우 공유폴더 연결방법

 

net use \\공유폴더 /user:account password

 

이렇게 연결된 공유폴더...

 

리부팅 하기 전까지는 계속 연결이 되어있어서 \\공유폴더에 다른 계정으로 로그인 시도 시

 

시스템 오류 1219이(가) 생겼습니다.

 

동일한 사용자가 둘 이상의 사용자 이름으로 서버 또는 공유 리소스에 다중 연결할 수 없습니다. 서버나 공유 리소스에 대한 이전 연결을 모두 끊고 다시 시도하십시오.

 

라는 메세지가 나오면서 연결이 안된다.

 

이럴때는 리부팅 없이 net use 명령으로 해결 할 수 있다.

 

일단 net use 명령으로 현재 연결된 리스트를 확인 할 수있다.

 

상태         로컬      원격                      네트워크

-------------------------------------------------------------------------------
연결 끊김              \\공유폴더    Microsoft Windows 네트워크
OK                       \\공유폴더임 Microsoft Windows 네트워크

 

끊고 싶은 연결은 아래와 같이 /delete 명령어로 끊어준다.

 

net use \\공유폴더 /delete

 

전체 다 끊어버리고 싶으면

 

net use * /delete

 

이와 같이 하면 된다.

신고

'12.OS' 카테고리의 다른 글

AWS EC2 ubuntu 에서 Apache httpd + Tomcat 구성하기  (0) 2011.06.14
Fedora 14 및 samba 설치  (0) 2011.06.01
Unix Group 및 User  (0) 2011.05.16
윈도우 공유 연결 끊기  (0) 2011.02.11
[강좌] Linux 명령어 사용방법  (0) 2009.12.10
리눅스 VS 윈도우 as Server  (0) 2009.12.07
Posted by Stewie

Linux 명령어 사용방법
 

3.1 prompt의 의미
[root @linux /root]#_ 부분을 prompt라고 한다.
기본 구조
[계정 @호스트 이름 /현 작업 디렉토리]#커서
현재의 작업 디렉토리는 로그인한 사용자의 홈 디렉토리를 표시한다.
로그인할 때 root라고 입력하고 패스워드를 입력하셨다면 /root 디렉토리, 즉 루트 계정의 홈 디렉토리에 커서가 위치해 있을 것이고, 설치시에 설정한 사용자 계정으로 로그인하였다면 로그인한 사용자 계정의 홈 디렉토리에 위치하게 된다.
root 계정의 홈 디렉토리를 제외한 일반 사용자 계정은 /home 디렉토리 아래 위치한다.

3.2 ls 
list의 의미
파일 시스템 상의 파일들의 목록을 보여준다.
형식
#ls [ -옵션 ][ 파일명(들) ]
-a : dot(.)로 시작되는 이름을 가진 파일명도 전부 보여준다.
-l : 각 파일들에 대한 소유자, 권한, 갱신일 등의 자세한 정보를 출력한다.
-s : 파일이 얼마나 많은 디스크 블록을 차지하고 있는가를 보여준다.
-i : 파일의 inode 번호를 보여준다.
-F : 파일의 특성을 쉽게 알 수 있는 문자를 나타낸다.
+는 실행 가능한 파일을, /는 디렉토리 이름을 의미하고, @는 심볼릭 링크를 나타내고, =는 소켓(socket)을 나타낸다.
-R : 현 디렉토리의 내용은 물론이고 sub 디렉토리의 내용까지 전부 보여준다.
-d : 각 디렉토리에 존재하는 하위 디렉토리만을 보여준다.
사용 예
#ls
#ls –l
#ls –alF /root

 


3.3 cd 
change directory의 의미
현재 작업하는 디렉토리를 변경한다.
형식 
#cd [ 디렉토리 ]
cd 명령과 디렉토리 이름 사이에 반드시 공백이 있어야 한다. 디렉토리 이름을 주지 않고 수행하면 사용자의 홈 디렉토리로 이동한다. 자신이 이동하고자 하는 디렉토리는 자신에게 실행 권한(execution permission)이 있어야 한다.
사용 예
[root @edu00 linux]#cd /home  
[root @edu00 /home]#pwd  
/home
[root @edu00 /home]#cd ~
[root @edu00 /home]#cd ..

3.4 pwd
present working directory의 의미
현재 작업하는 디렉토리를 보여준다.
사용 예
[root @edu00 linux]#pwd 
/home/linux

3.5 cat
이것은 파일의 내용을 화면에 출력하는 데 사용되기도 하며 파일을 다른 곳에 순차적인 스트림으로 보내기 위해 사용된다. 즉 크기가 작은 파일을 생성할 수 있다.
형식 
#cat [ 파일명 ]
옵션
-n : 빈줄을 포함하여 모든 라인앞에 행번호를 추가하여 화면에 출력한다.
사용 예
[root @edu00 linux]#cat 파일명

 

 

[root @edu00 linux]#cat > foo
I am a linuxer.
^D
[root @edu00 linux]#cat foo

3.6 finger
시스템 상의 사용자들에 대한 정보를 보여준다.
형식
#finger [ -옵션] [ 사용자 ]
-s : 사용자의 로그온 이름, 실제이름, 터미널 이름, 로그온 시간 등등을 보인다.
-I :  -s 옵션 정보에 몇 가지를 추가하여, 여러 줄에 걸쳐서 보여준다.
인수로 아무 것도 주어지지 않으면, finger는 현재 시스템에 로그인 되어 있는 사용자들을 보여준다.
옵션이 주어지지 않으면, 기본적으로 -l 옵션을 사용한 것으로 간주된다.
사용 예
[root @edu00 linux]#finger 
Login Name  Tty Idle Login Time Office Office Phone
Edu00 rose     2      1 Oct 20 11:31
root  root  1  Oct 20 11:28

3.7 mkdir
make directory의 의미
디렉토리를 새로 만든다.
형식
# mkdir directory
옵션
-p : 디렉토리의 경로명까지 생성
-m : 퍼미션 모드를 설정하면서 디렉토리 생성
사용 예 
[root @edu00 linux]#mkdir blade      //현재 디렉토리의 하위 디렉토리 작성
[root @edu00 linux]#cd blade  
[root @edu00 linux]#mkdir –p /home/edu01/edu02/edu03

 


3.8 rm
remove의 의미
파일을 지우는 명령이다.
형식
# rm [ -옵션 ] 파일명
옵션
-f : 보통 지울 수 있는 권한이 없으면 안되지만, 이 옵션을 사용하면 강제로 파일을 지
울 수 있다.
-i : 파일을 지울 것인가 다시 물어본다. 지우기를 원한다면 y를 누른다. 
-r : 서브 디렉토리의 파일도 모두 재귀적으로 지운다.
-v : 파일을 지우기 전에 파일의 이름을 나타내준다.
사용 예 
[root @edu00 linux]#rm blade.Z  
[root @edu00 linux]#rm report.txt tempfile object.mainroutine hello.java 
[root @edu00 linux]#rm -r blade   
: blade와 하위 디렉토리 파일 모두를 제거 
[root @edu00 /]#rm –rf * ( 이 명령을 사용할 경우 항상 현재 작업 디렉토리를 확인)

3.9  rmdir 
remove directory의 의미
원하는 디렉토리를 제거한다. 단 디렉토리가 비어있을 경우에만 삭제가 가능하다.
형식
# rmdir 디렉토리 
옵션
-p : 경로명에 따라 디렉토리를 삭제한다. 단 하위 디렉토리가 비어있을 경우에만 삭제가 가능하다.

3.10  who
현재의 시스템에 접속한 사용자의 이름이나 로그온 정보를 보여준다. 
형식
#who [ -옵션 ] [로그온 정보파일 ]
옵션

 


-u : 현재 시스템에 누가 로그온되어 있는지 보여준다. 
-T : 사용자의 터미널이 메시지를 보낼 수 있는지를 알려준다. +기호는 메시지를 쓸 수 
있고, -는 그렇지 않음을 보여준다. 
 
3.11 more
한 화면씩 출력을 보여주는 유틸리티, 한 번에 전체적으로 볼 수 없는 파일은 이것을 사용하여 스크롤을 제어할 수 있다.
형식
#more [ 파일이름 ]

3.12 clear
clear 명령은 도스의 cls와 마찬가지로 화면을 지우는 동작을 한다.
사용 예
[root @edu00 linux]#clear

3.13  cp 
파일을 현재의 위치나 다른 디렉토리로 복사(copy)한다.
형식 
#cp [ -옵션 ] 파일명1 파일명2
#cp [ -옵션 ] 파일명 디렉토리
옵션
-a : 가능한 한 원 파일의 구조와 속성을 그대로 복사한다.
-b : 복사할 때 덮어쓰게 되는 파일은 백업을 만든다.
-f : 복사 위치에 존재하는 파일을 제거하고 복사한다.
-i : 복사 시 같은 이름의 파일이 존재한다면 덮어쓸 것인가 확인한다.
-P : 원본 파일의 소유자, 그룹, 권한, 시간 기록을 그대로 복사한다.
-r : 파일과 하위 디렉토리에 포함된 파일 모두를 재귀적으로 복사한다.
만일 파일명2가 이미 존재하는 파일의 이름이라면 기존에 있던 파일은 사라지고 새로운 복사본 파일로 바뀐다. 이것이 원하지 않는 결과라면 -i 옵션을 주어서 확인 작업을 거칠 수 있다.
-i 옵션은 파일명2가 이미 존재하는 이름이라면 그대로 복사할 것인지 아닌지를 선택할 수 있게 물어온다.

 


사용 예
[root @edu00 linux]# cp -i blade.Z temp.Z
[root @edu00 linux]# cp -r * /somewhere
: 당연히 -r 옵션은 파일명2가 디렉토리 이름일 때만 사용이 가능하다.

3.14  mv
move의 의미
파일의 위치를 이동하거나 파일의 이름을 바꾸어준다.
형식
#mv [ -옵션 ] 파일명1 파일명2
#mv [ -옵션 ] 파일명(들) 디렉토리명
옵션
-f : 같은 이름의 파일이 존재하고 쓰기 권한이 금지되어 있더라도 물어보지 않고 덮어
쓰기를 해버린다. 이런 경우 이 옵션을 사용하지 않으면 사용자에게 다시 확인을 
할 것이다.
-i : 파일을 덮어쓰기 전에 사용자에게 확인한다. 기존에 있던 파일을 원치 않게 잃어버리는 수가 있기 때문에 확실하지 않다면 -i 옵션을 사용하는 것을 권한다.
사용 예
[root @edu00 linux]#mv sisap.hong victor.dongki readme.txt  ../friend  
[root @edu00 linux]#mv blade.Z ../kimtaihan.Z  
[root @edu00 linux]#mv /home/blade  /home/friend  
[root @edu00 linux]#mv sisap.doc LeeKiHong.doc 

3.15  date
시스템은 현재의 날짜와 시간을 유지하고 있다. 
date 명령을 사용하면 그러한 시간을 확인할 수 있다. 또한 날짜와 시간 정보를 변경할 수 있다. 물론 시스템의 날짜와 시간은 슈퍼 유저만이 변경할 수 있다.
형식 
#date 
#date 월 일 시 분 년도
사용 예
[root @edu00 linux]#date  
Tue Apr 25 17:45:09 KST 2000
[root @edu00 linux]#date 101116302001
현재의 날짜를 2001년 10월 11일 오후 4시 30분으로 시간을 변경

 

 


3.16 du and df
3.16.1 du
disk usage의 의미
형식
#du [-옵션] [디렉토리]
옵션
-a : 디렉토리가 아닌 모든 파일에 대한 정보를 화면에 출력한다.
-k : kilobyte 단위로 표시
-m : megabyte 단위로 표시
-h : human readable이란 의미에 따라 사람들이 읽을 수 있는 용량의 단위표시를 하면서 화면에 출력이 된다.
-s : 사용량의 총 합계를 출력한다.
사용 예
#du -sh /home
/home디렉토리의 총사용량을 단위표시를 해서 화면에 출력해 지정된 디렉토리의 사용량을 확인한다.
3.16.2 df
difk free의 의미
디스크의 여유 공간을 검사하여 보고한다.
형식
#df [ -옵션 ] 파일시스템
-i : 블록 사용 대신 inode 사용 정보를 보고한다.
-k : 블록의 크기를 1K바이트로 계산한다. 이것은 바이트 크기를 사용하는 대신 블록 단위로 보고한다는 점을 유의해야 한다. 기본적으로 512바이트 크기로 한 블록을 다룬다.
-T : 각 파티션의 파일시스템의 유형도 화면에 출력한다.
사용 예
#df
#df -mt

3.17  env
현재의 환경에 영향을 주지 않고 원하는 환경을 만들어 명령을 실행한다. 또는 현재의

 


환경을 보고한다.
형식
# env [ - ][-i ][ -u 이름 ][ 이름=값 ][명령]
옵션
-i : 현재의 환경을 무시하고 빈 환경 상태로 시작한다.
-u 이름 : 현재의 환경에 그 이름의 변수가 있다면 제거한다. “이름=값”형식으로 특
정 환경 변수를 지정해서 명령을 실행한다. 이러한 값을 필요한 대로 여러 개 나열하
면 되고, 현재의 환경은 변경하지 않으므로 명령의 수행이 끝나면 환경의 상태는 이
전과 다름없게 된다.
사용 예
[root @edu00 linux]#env HOME=/usr/victor tsh
: 디렉토리 변수를 지정하여 셸을 실행한다.
[root @edu00 linux]#env  
:  현재 설정되어 있는 환경 변수들을 보여준다.

3.18  find
원하는 특정 파일을 디렉토리를 탐색하여 찾는다. find는 매우 강력한 도구로 특정 디렉토리들을 순회하면서 지정된 조건에 만족하는 파일을 찾는다. 파일의 조건은 이름이나 크기, 날짜 등 다양하게 지정할 수 있다.
형식
#find [ 디렉토리 ] 탐색 조건
옵션
-name 파일명 : 찾고자 하는 파일의 이름을 정한다. 와일드 카드도 가능하다.
-user 사용자 : 파일 사용자의 ID에 따라서 검색한다. 로그인 이름이나 번호 모두가 가
능하다.
사용 예
[root @edu00 linux]#find  /bin  -name ro*
 
3.19  chmod
파일의 모드를 바꾼다. 파일의 모드는 권한(permission) 을 제어한다.
형식
#chmod [ -옵션 ] 모드 파일명(들)

 


옵션
-f : 파일의 권한이 바뀔 수 없어도 에러 메시지를 출력하지 않는다.
-v : 변경된 권한에 대해서 자세히 기술한다.
-R : 디렉토리와 파일들의 권한을 재귀적으로 모두 바꾼다.
사용 예
[root @edu00 linux]#chmod 666 broadboard  
: 파일을 모두가 읽고 쓸 수 있도록 한다.
[root @edu00 linux]#chmod 746 broad
: 파일 권한을 -rwxr--rw-로 변경한다.
[root @edu00 linux]#chmod o+x,g-w broadboard

3.20 file
파일이 어떠한 형태의 파일인지 알아낸다.
형식
#file 파일명
파일이 텍스트 문서인지 실행할 수 있는 파일인지 아니면 데이터 파일인지등을 인식한다. 에디터를 사용해서 보거나 수정될 수 있는 파일인가 알아 보는 데에 많이 사용된다.

3.21  ln
두 개의 파일 사이에 링크를 만들어, 하나의 파일을 두 개 이상의 이름으로 접근이 가능하도록 한다.
형식
#ln [ -s ] 파일명1 파일명2
#ln 파일명들 디렉토리
옵션
-s : 하드 링크 대신 심볼릭 링크를 만든다.
사용 예
[root @edu00 linux]#ln project theplan  
: 두 개의 이름은 같은 문서를 의미한다.

3.21 man
사용하고자 하는 유닉스 유틸리티에 대한 매뉴얼(manual)을 검색해서 보여준다.

 


셸을 사용할 때 어떤 명령의 사용법이 기억 나지 않는 경우가 있다. 
혹은 매번 사용하던 명령이라도 특수한 옵션이 필요할 때 그 기호나 사용법을 정확히 확인해야 하는 경우가 많이 있다. 이러한 경우에 사용하면 매우 유용하다.
형식
#man  단어
옵션
-k : 인수로 주어진 단어를 키워드로 사용하여, 해당 키워드가 발견되는 모든  매뉴얼
의 내용을 검색하여 보여준다.
사용 예
[root @edu00 linux]#man telnet
[root @edu00 linux]# man -k 키워드


3.22 history
현재까지 실행했던 모든 명령어의 리스트를 볼 수 있다.
즉, 명령행에서 입력해 사용해왔던 명령어들을 다시 사용고자 할 때 이 명령어를 이용하는 것이다.
사용 예
#!!
마지막으로 실행했던 명령어를 다시 실행한다.
#!n
번호에 주어진 명령어가 실행이 된다.
#!단어
가장 최근에 그 단어로 시작하는 명령어를 다시 실행한다.
#!?단어?
가장 최근에 실행했던 명령어들 중 단어를 포함하는 명령문을 다시 실행한다.

3.23 passwd
리눅스 시스템은 다중 사용자와 다중 작업을 지원하는 개인용 서버 시스템이다. 
즉, 이 시스템을 사용하는 여러 계정이 있고 각 계정마다 자기에게 허가된 작업을 할 수 있다는 의미이며 자기에게 허가된 작업을 하기 위해서는 시스템에 로그인을 해야 하는데 로그인 과정에서 반드시 필요한 것이 각 계정과 각 계정에 대한 패스워드이다.

 


패스워드를 설정할 수 있고 패스워드를 변경할 수도 있다
형식
#passwd [-옵션] (계정명)
옵션
-p : 계정에 대한 패스워드를 삭제하여 로그인시 패스워드 인증을 거치지 않는다.
사용 예
[root @edu00 linux]#passwd
[root @edu00 linux]#passwd 계정명

3.24 cal
달력을 출력하는 명령어이다.
형식
#cal [-옵션][월/년도]
옵션
-m : 특정 월을 지정하여 출력한다.
-y : 특정 년도를 지정하여 출력한다.
사용 예
[root @edu00 linux]#

3.25 engdic
영한 사전 및 한영 사전의 기능을 제공한다.
형식
#engdic

3.26 ps
process의 의미
프로세스를 관리하는명령어로 프로세스의 상태를 표시한다.
형식
#ps [-옵션]
옵션
-a
-u
-x
사용 예
[root @edu00 linux]#ps –aux
[root @edu00 linux]#ps –aux | grep httpd

3.27 su
substitute user의 의미
실제로 로그인하지 않고 로그인의 기능을 대체하는 명령어이다.
일반적으로 시스템에 root계정으로 로그인 한 후 작업을 하면 시스템 전체에 막대한 영향을 미칠 수 있다. 그래서 설치시에 설정한 일반 사용자 계정으로 로그인한 후 작업을 하다가 시스템 관리자로서 설정을 해야 하는 일이 있다면 su라는 명령어를 이용해시스템 관리자로 작업을 할 수 있다. 또한 일반 사용자계정으로 전환해서 작업을 할 수도 있다..
형식 
#su [-옵션]
옵션
-, -l, --login:
사용 예
[root @edu00 linux]#su - 계정명
[linux @edu00 linux]$su –

3.28 nl
line number의 의미
파일을 출력할 때 파일의 각 라인앞에 라인 번호를 붙여서 화면에 출력한다.
사용 예
[root @edu00 linux]#nl /etc/passwd

신고

'12.OS' 카테고리의 다른 글

AWS EC2 ubuntu 에서 Apache httpd + Tomcat 구성하기  (0) 2011.06.14
Fedora 14 및 samba 설치  (0) 2011.06.01
Unix Group 및 User  (0) 2011.05.16
윈도우 공유 연결 끊기  (0) 2011.02.11
[강좌] Linux 명령어 사용방법  (0) 2009.12.10
리눅스 VS 윈도우 as Server  (0) 2009.12.07
Posted by Stewie

리눅스와 윈도우의 장단점을 구분하기란 매우 어려운 일입니다. OS 를 어떠한 고객을 대상으로 사용할 것인지, 어떠한 환경에서 구축할 것인지, 어떤 서비스를 제공할 것인지, 어떤 용도로 사용할 것인지 등 매우 많은 환경 변수에 따라 각각의 OS 는 분명한 장단점을 지니고 있습니다. 인터넷 상에서 혹자들은 신뢰도, 성능, 기술지원 등에 따른 장단점을 설명하고 있으나, 이는 위에서도 언급한 대로 절대적인 자료가 될 수는 없습니다. 정확한 환경이 주어지지 않은 상황에서 무엇이 좋고 나쁜지를 판단하기에 앞서 어떤 점들이 다른가를 알아보고, 하고자 하는 일에 어떤 운영체제가 적합한지를 판단할 수 있는 정보의 용도로 커널, 사용자 환경, 환경 파일 세 가지 측면에서 비교를 해보았으니 참조하시기 바랍니다.

 

1. 리눅스는 커널 기반의 운영체제입니다.

 커널이란 운영체제의 가장 기초적인 핵심 부분을 의미하는 것으로 운영체제의 핵심인 메모리 관리나 파일 관리 및 주변기기 관리 등을 총괄하는 부분입니다. 따라서 모든 운영체제는 커널이 존재합니다. 그런 리눅스의 커널을 강조하는 것은 커널과 사용자 환경을 분리하고 있기 때문입니다. Microsoft 의 윈도우와 마찬가지로 리눅스에도 X windows 시스템의 사용자 인터페이스를 가지고 있습니다. Microsoft 의 윈도우와의 차이는 Microsoft 는 윈도우 운영체제의 커널과 사용자 인터페이스를 결합하여 윈도우라는 운영체제를 만든 반면 리눅스는 커널과 사용자 인터페이스가 분리되어 있습니다.

이러한 커널의 분리는 리눅스를 보다 가벼운 운영체제로 많은 분야의 응용이 가능하도록 하였습니다. 리눅스의 커널은 임베디드 시스템의 개발에 실제로 많이 활용되고 있습니다. 임베디드 시스템은 PDA나 ADSL 공유기와 같은 시스템에 리눅스 커널, 그 중에서도 필요한 부분만을 분리하여 사용하는 기술을 말합니다.

 

2. 리눅스는 다중 사용자 환경을 고려한 운영체제입니다.

 리눅스는 운영체제를 만들 당시 여러 사용자가 동시에 중앙 컴퓨터에 접근하여 사용하도록 고안된 다중 사용자 환경을 고려하여 만든 서버로써의 운영체제입니다. 따라서 다중 사용자 환경에서의 자원 관리 및 업무 처리에 최상의 효율을 낼 수 있도록 설계되어 있습니다.

그럼 Microsoft 의 윈도우는 다중 사용자 환경을 고려하지 않았는가 하는 것을 생각해봐야 합니다. 윈도우의 경우 개발 당시 한 명의 사용자가 한 대의 컴퓨터를 이용하는 단일 사용자 환경을 고려하여 만들어진 운영체제입니다.

그렇다면 현재 나와 있는 윈도우 2000 서버와 같은 운영체제의 경우는 서버용 운영체제이므로 다중 사용자 환경의 운영체제가 아닌가 하는 의문을 가질 것입니다. 그러나 이것은 네트워크 사용자 환경의 운영체제로써 여러 클라이언트의 요구를 서버측에서 필요한 데이터를 전송해 주는 것입니다. 그러나 리눅스의 다중 사용자 환경은 여러 사용자가 한 대의 컴퓨터에 접속하여 여러 작업을 처리하는 다중 사용자 환경을 고려한 운영체제라는 점에서 윈도우와는 차별화되는 운영체제입니다.

 

3. 응용 프로그램의 환경 파일의 차이

 리눅스는 운영체제 및 응용 프로그램의 환경을 설정하는 것으로 텍스트 파일을 이용하는 경우가 대부분입니다. Microsoft 윈도우에서는 많은 환경 설정을 레지스트리라는 특별한 데이터베이스를 이용합니다. 이것은 매우 큰 차이를 가지는데 만일 사용 중인 윈도우의 레지스트리를 변경하기 위해서는 레지스트리 편집기와 같은 별도의 프로그램을 이용하여야 하며 많은 레지스트리 중 어떤 것을 변경해야 하는지를 고민해야만 합니다.

 리눅스는 각 응용 프로그램에 대한 환경 설정을 하나 또는 여러 개의 텍스트 파일을 이용합니다. 이것은 각각의 텍스트 파일을 적당히 조절함으로써 원하는 조작을 가능하게 합니다. 그러나 이것에도 문제가 있습니다. 많은 초보 리눅서들이 가지는 고민은 어떤 텍스트 파일을 조작해야 하며 이 텍스트 파일의 경로는 어디인가라는 것입니다. 또한 워낙 많은 환경 설정 파일들이 있고 내용이 있으므로 변경 당시 주석을 잘 설정해 놓지 않으면 많은 시간이 흐른 뒤 상당한 문제에 직면하게 될 수도 있습니다.

신고

'12.OS' 카테고리의 다른 글

AWS EC2 ubuntu 에서 Apache httpd + Tomcat 구성하기  (0) 2011.06.14
Fedora 14 및 samba 설치  (0) 2011.06.01
Unix Group 및 User  (0) 2011.05.16
윈도우 공유 연결 끊기  (0) 2011.02.11
[강좌] Linux 명령어 사용방법  (0) 2009.12.10
리눅스 VS 윈도우 as Server  (0) 2009.12.07
Posted by Stewie


티스토리 툴바