태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.


Apache를 설치하는 과정에서 다음과 같은 에러가 떨어졌다.

/usr/lib/libexpat.so: could not read symbols: File in wrong format

이 에러는 ./configure가 정상적으로 완료되고 make를 실행하는 과정에서 발생하였다.

원인은 /usr/lib/libexpat.so 파일에 link가 64bit 라이브러리가 아닌 32bit 라이브러리도 되어 있기 때문이다.
라이브러리의 경로를 변경하면 정상적으로 컴파일 할 수 있다.

# rm -Rf /usr/lib/libexpat.so
# ln -s /lib64/libexpat.so.0.5.0 /usr/lib/libexpat.so


출처 : http://whitebear.tistory.com/85

백업대상의 설정 부분

rsync 873번 포트를 확인한다.
    # cat  /etc/services | grep 873
    rsync                  873/tcp                   #rsync
    rsync                  873/udp                  #rsync

/etc/hosts.allow에 백업 대상의 아이피 추가
    rsync:백업대상의 I.P

hostname 확인(선택사항)
    /etc/hosts 내용 수정
    (참고_ test라는 호스트이름 설정)
    127.0.0.1               test localhost.localdomain localhost
    test서버I.P            test   

xinetd 설정(없을경우 아래내용 추가)
    # vi /etc/xinetd.d/rsync
  내용
    # default: off
    # description: The rsync server is a good addition to an ftp server, as it \
    #       allows crc checksumming etc.
    service rsync
    {
            disable = no
            socket_type     = stream
            wait            = no
            user            = root
            server          = /usr/bin/rsync    (rsync가 설치된 경로 확인)
            server_args     = --daemon
            log_on_failure  += USERID
    }

추가후 xinetd 재시작
    /etc/rc.d/init.d/xinetd restart

/etc/rsyncd.conf 설정
    motd file = /etc/rsync.motd
    log file = /var/log/rsyncd.log
    pid file = /var/run/rsyncd.pid
    max connections = 3
    syslog facility = local3
 
    [서비스 이름]
    path = /home                          백업대상 경로
    comment = milk_data               설명
    uid = root                                파일전송하는 사용자의 아이디. 기본값은 nobody
    gid = root                                파일전송하는 사용자의 그룹. 기본값은 nobody
    use chroot = yes
    read only = yes                       백업대상에 쓸경우 no로 설정
    hosts allow = 접근허용 I.P
    timeout 600


백업받는서버의 설정사항

rsync 873번 포트를 확인한다.
    # cat  /etc/services | grep 873
    rsync                  873/tcp                   #rsync
    rsync                  873/udp                  #rsync

crontab을 이용해서 rsync를 수행할 스크립트 파일 생성
    #!/bin/sh
    # server backup
    rsync -avz --delete 호스트이름 또는 I.P::data/ /backup/data/

    옵션설명
    --delete : 파일이 대상서버에는 있고 백업서버에는 없을경우 삭제
    -a : archive mode (심볼릭 링크, 속성, 퍼미션, 소유권등 보존)
    -v : verbose(상세하게 보여움)
    -z : compress(전송시 압축을 함)
    -u : update only(새로운 파일을 덮어쓰지 않음)

스크립트 파일생성후 crontab 설정
   # crontab -e

   (참고 내용)
    # data sync
    00 05 * * 0,3 /root/backup.sh

    일요일과 수요일 05시에 /root/backup.sh파일을 수행한다..

SSH 란? & scp 사용법
from O.S/Linux 2007/08/20 16:46
 

SSH 란?

: secure shell의 약자로 보안로그인 셀을 말한다.

원격서버로 로그인하는 대표적이고 전통적이며 현재까지 가장 많이 사용하는 Telnet은 data가

암호화 하지않아 취약하므로 이를 보완하기 위해 ssh를 사용.

 

1. ssh 패키지 다운받기.

rpmfind나 superuser등의 rpm을 제공해주는 사이트에 가서 다운 받는다.

 

2. ssh 패키지 설치하기.

# rpm -ivh openssh-server-4.0p1-3

# rpm -ivh openssh-client-4.0p1-3

# rpm -ql openssh-server-4.0p1-3

/etc/rc.d/init.d/sshd 서버실행 스크립트.

(어떤프로그램을 동작시키기위한 실행파일의 원본파일들이 init.d에 있음)
: restart , start , stop 로 재시작, 시작, 정지를 할 수 있음.
/etc/ssh/sshd_config 서버설정 파일.
/usr/sbin/sshd  서버 프로그램.

# rpm -ql openssh-client-4.0p1-3
/usr/bin/scp   scp는 로컬에서 리모트, 리모트에서 로컬로 복사할때 사용(암호화).
/usr/bin/sftp  ftp는 암호화된 ftp이다.
/usr/bin/ssh  ssh 서버접속 을위한 클라이언트 명령어.

(bin이란곳에 클라이언트용 명령어들이 존재)

 

3. ssh서버 환경설정파일 수정하기.

# vi /etc/ssh/sshd_config

=> PermitRootLogin no   root로 로그인 거부

 

4. ssh 서버 실행.

# /etc/rc.d/init.d/sshd restart

# netstat -atnp | grep 22/sshd

 

5. 리눅스클라이언트 접속하기.
# ssh <Server_IP>  서버에게 root계정으로 접속을 요청하기.
# ssh
test@Server_IP  test라는 계정으로 접속을 요청하기.(이때 test는 서버에 있는 계정이다.)
# ssh -l test Server_IP
$ ssh <Server_IP>  내가 로그인한 해당 계정명으로 접속을 요청하기.

==> ssh는 관리자를 위한 서비스 이다. 관리자가 원격에서 서버에 접속해서 관리하기위한 것이다.
왜 일반계정도 로그인이 될까?? 아무리 암호화된 ssh라도 처음로그인할때 패스워드가 유출될 수 있기때문에 일반계정으로 로그인 한 다음에, 서버에 와서 권한상승을 한다.

 

- ssh접속한 상태에서 자제해야 할것.
# lan카드 down.
# 컴퓨터를 끄는행위.

 

+ scp 사용하기
# scp 원본파일위치  복사할 위치
# scp 192.168.100.135:/bin/*  /tmp1
# scp /bin/*  192.168.100.135:/tmp1
# scp -r /bin/* 192.168.100.135:/tmp1

 

+ sftp사용하기.
= hash와 prompt빼고는 ftp와 sftp명령어는 거의 동일.

> put  원반파일의위치  업로드할 위치
> mput /tmp1/* /tmp1/

= ftp에서는 디렉토리 업로드가 안됨!! ==>
> mkdir 이란명령어로 디렉토리를 하나 만든다음 모든 파일을 이곳에 받는수 밖에 없음.

= scp, sftp, ssh 를 사용할려면 ssh서버만 동작하고 있으면 됨.

출처 : http://tong.nate.com/boxitem/post.do?action=read&_boxID=1695983&_tongID=43656&_boxItemID=29657306&_reloadTag=y


==================================================================================

 

scp 사용법


scp는 자신의 컴퓨터에서 원격의 컴퓨터로 또는 원격의 컴퓨터에서 자신의 컴퓨터로 간단하게
파일을 전송할 수 있는 프로그램이다.
다음은 현재 디렉토리에 있는 sshd.txt 라는 파일을 IP가 192.168.1.154 인 컴퓨터에 root 라는 계정으로
접속하여 /usr/local/src/ 디렉토리 밑에 복사해 넣는 명령이다.

[root@in4nux root]# scp ./sshd.txt root@192.168.1.154:/usr/local/src/ 

다음은 IP가 192.168.1.154 인 컴퓨터에 root 라는 계정으로 접속하여 /usr/local/src/ 디렉토리 밑에 있는
sshd.txt 라는 이름의 파일을 자신의 컴퓨터로 현재 위치한 디렉토리에 복사하는 명령이다.

[root@in4nux root]# scp root@192.168.1.154:/usr/local/src/sshd.txt ./ 
-------------------------------------------------------------------------
ssh를 이용한 원격 파일 복사 - 보안 
글쓴이 : 임은재 (2000년 11월 24일 오전 09:15) 읽은수:499
scp는 ssh 클라이언트 패키지에 따라옵니다.
예를 들어, 복사하려는 파일명이 'dumb' 라고 하고
접속하려는 원격 서버의 주소는 www.foobar.com,
당신의 쉘 계정은 babo 라고 한다면, dumb 파일을 www.foobar.com 의

babo 계정 홈 디렉토리에 복사하기:
scp dumb babo@www.foobar.com :. 
www.foobar.com 의 babo 계정 홈 디렉토리에 있는 dumb 파일을 로컬로 복사하기:
scp babo@www.foobar.com:dumb .
간단하죠? 만약 ~/.ssh/config 파일에 다음과 같이 www.foobar.com 의 
계정을 설정해 놓았다면,
Host *fbc HostName www.foobar.com User babo ForwardAgent yes
다음과 같이 더 간단하게 할수 있습니다.
scp dumb fbc:.
또한 scp 는 -r 옵션도 가지고 있는데 이것은 디렉토리를 통채로 복사 할때 유용합니다.
예를 들어 test/ 디렉토리안의 모든 파일과 하위 디렉토리를 서버 계정의 www 디렉토리 안에
복사 하려면 다음과 같이 합니다.
scp -r test/ babo@www.foobar.com::www/ 

포트 옵션 : -P

 

Tag // scp, ssh
리눅스 root 비번을 잃어버렸을때

안녕하세요 미니어스입니다.

새로 깔지 않고 루트의 패스워드를 변경할 수 있는 방법이 있습니다.

어떠한 배포본을 사용하고 계신지는 모르지만..

2가지의 경우가 있습니다.


부르토더를 Grub 를 쓰는경우와 Lilo를 사용하는 경우가 있습니다.


2.2~2.4 의 커널버전 ( Redhat9이하버전 )에서 lilo를 주류로 사용하였으며

요즘에 나오는 페도라,우분투, CentOs 등에선 Grub를 씁니다.

lilo 의 경우 부팅시

Lilo :  라고 뜨면

'linux 0' 또는 'linux single' 라고 입력하시면됩니다.


grub 의 경우 해당 이미지선택 (보통은 3~5초내에 선택하고 넘어가는 메뉴)란에서

'e'를 눌러서 부트 커맨드가 나오면 (안나오면 'e'한번더 입력)

커맨드 라인 맨 마지막 뒤에 'linux single' 라고 입력후 'b' 입력하시면 됩니다.


노력하지 않는 꿈은 꿈으로만 남는다. - 미니어스


출처 : 네이버 지식iN(miniuslab님의 글)

안녕하세요

초보자 분들은, Throttle모듈을 설치하기시가 어려우실 거에요.
저또한 그랬구요.

오늘 과감하게 저의 허접?비법을 여러분과 함께 공유할까 합니다.

일단 Throttle의 공식 싸이트를 가셔서 한번 둘러 보세요
주소는 http://www.snert.com/Software/mod_throttle/ 이랍니다.

Throttle은 서버의 트래픽 설정을 가능하게 해주는 것입니다.
웹호스팅을 하시는 분에게는 편리한 놈이랍니다.

웹호스팅 사이트를 돌아다니다보면
" 일일트래픽 500M , 혹은 일일 히트수 1000 히트 제한 "
이런 글을 볼 수 있습니다.

저런것은 보통의 경우 throttle-me을 많이 사용하더군요.


이제 슬슬 설치하여 볼까요^^?

--------------------------------------------------------------------------------
설치하기에 앞서서, 설치하기 쉬운 방법을 알려드리고자 합니다.(초보자용)
최신의 리눅스배포판을 설치하지 마시고, 아파치 1.3.x버전을 탑재한 리눅스 배포판을 전체설치 하십시오.
그러면 아파치와 php, mysql들을 따로 까실 필요가 없겠지요.
또한 저렇게 설치를 하시면 아파치가 DSO방식으로 설치가 됩니다.
즉, 리눅스를 까신후 throttle을 받으셔서 압축해제를 하시고,
# make install
저렇게만 하시면 설치완료가 됩니다.
그러면 설치 완료^^
그후에 httpd.conf를 설정하시면 됩니다.

정리를 하자면
1)아파치 1.3.x버전을 탑재한 리눅스 배포판을 전체설치한다
(물론 apahce, php, mysql만 선택하셔서 설치하셔도 됩니다)

2)throttle을 받아서 압축을 푼다

3)압축을 푼후, 압축을 푼 폴더로 이동한 후
ex)#cd mod_throttle-3.1.x

4)#make install
이라는 명령을 내린다

4)그후 아파치의 환경설정을 한다. 환경설정파일의 이름은 "httpd.conf"이다
보통 "/etc/httpd/conf/httpd.conf"에 위치한다.
--------------------------------------------------------------------------------




차례를 살펴보면~~
-------------------------------------------------------------------
0. 아파치설치하기

1. 아파치 설치방법(1)
1-1.아파치를 DSO으로 설치하기
1-2.아파치를 DSO로 설치하였을 경우 throttle을 설치하는 방법

2. 아파치 설치방법(2)
2-1.아파치를 static으로로 설치
2-2.아파치를 static으로 설치하였을 경우 throttle을 설치하는 방법

3.아파치의 httpd.conf설정하기
------------------------------------------------------------------
(아파치, PHP, Mysql, throttle을 설치하는 모습을 보여주면 좋겠지만, 저러한 것들은 다른 글을 참고하세요.)

저는 아파치와 PHP, throttle을 설치하는 방법만을 알려드릴께요.


0. 아파치 설치하기

우선 아파치를 받아옵니다
그런데 throttle은 아파치 1.3.x만을 지원하므로, 1.3.x버젼을 받도록 합니다.(2.0버젼은 아직까지 지원을 하지 않아요)

이제 아파치를 설지를 해야겠죠? 그런데 아파치를 설치하는데는 크게 2가지가 방법이 있습니다
rpm설치와 소스설치가 있습니다.

throttle을 설치할 경우 아피치를 소스설치로 하는것이 좋습니다.

소스설치의 경우 또 2가지 방법가 있답니다.
DSO설치와 Static설치가 있어요..

저 둘의 차이점은 이 페이지 맨 아래에 적어둘께요. 참고하세요~~

일단은 DSO설치방법을 살펴봅시다.



1. 아파치 설치방법(1)

1-1.아파치를 DSO으로 설치하기

아파치를 아무곳에나? 받은후에 압축을 풉니다.
그런후에 압축을 푼 폴더로 이동을 합니다.
ex)#tar xvfz apache_1.3.29
#cd apache_1.3.29

이동을 한 후에, 환경설정을 해야합니다.
[root@ apache_1.3.27]# ./configure --prefix=/usr/local/apache \
--enable-rule=SHARED_CORE \
--enable-module=so --enable-shared=max \


(참고로 php를 설치하셔야 하는분은
([root@ apache_1.3.29]# ./configure --prefix=/usr/local/apache \
(--enable-rule=SHARED_CORE \
(--enable-module=so --enable-shared=max \
(--activate-module=src/modules/php4/libphp4.a \

☆☆여기서 띄어쓰기를 주의하세요. 예를들어 apache\같이 띄어쓰기를 하지 않을경우 설치가 제대로 되지 않습니다☆☆


이제 컴파일, 설치를 합니다
[root@ apache_1.3.27]# make
[root@ apache_1.3.27]# make install


1-2.아파치를 DSO로 설치하였을 경우 throttle을 설치하는 방법

DSO로 설치하였을 경우 throttle을 설치하기가 매우 쉽습니다.
일단 throttle설치파일을 받습니다.
받는곳은 http://www.snert.com/Software/mod_throttle 저곳에 있습니다.
귀찮으신 분은 http://www.snert.com/Software/mod_throttle/mod_throttle312.tgz저것을 받으시면 됩니다.

받으신후 아무곳에나? 압축을 풉니다.
그리고 나서 압축을 푼 폴더로 이동합니다
ex)# tar xvfz mod_throttle312.tgz (압축풀기)
# cd mod_throttle (이동하기)

그리고 나서 설치를 하시면 됩니다.
# make install

그런데 여기서 잘 살펴보아야 할점을, 설치를 하는경우 apxs라는 파일을 사용하는데 그것은 아파치의 bin폴더에 있습니다.

보통 저 경로를 지정하지 않았을 경우, 에러가 나게 되지요
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
따라서, 압축을 푼 폴더로 이동을 하신후에
#PATH=$PATH:/usr/local/apache/bin
#export path
저 명령을 내리십시오.


저렇게 반드시 하신후에
#make install
저 명령을 하시기 바랍니다
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

이제 설치가 완료 되었습니다

httpd.conf파일을 설정을 하게 되면, 트래픽을 조정할수 있습니다.

설정방법은 "3.아파치의 httpd.conf설정하기"에적어놓았습니다. 반드시 보세요.


----------------------------------------------------------------------------------------------------
혹시 mysql이나 php등을 설치할때, 뭐가 뭔지 혼란이 오시는 분이 있을까봐, 제가 설치하는 모습을 그대로 재현해 보았습니다.
참고하세요.
[root@ ]# tar xvfz apache_1.3.27 -C /usr/local
[root@ apache_1.3.27]# ./configure --prefix=/usr/local/apache

[root@ ]# tar xvfz php-4.2.3 -C /usr/local
[root@ php-4.2.3]# ./configure --with-apache=../apache_1.3.27 \
--with-mysql=/usr/local/mysql \
--with-gd --with-gif-dir=/usr/lib \
--with-png-dir --with-zlib-dir --with-jpeg-dir \
--with-imap --with-imap-ssl --with-kerberos \
--with-freetype-dir --enable-ftp --enable-socket \
--disable-debug --enable-track-vars
[root@ php-4.2.3]# make
[root@ php-4.2.3]# make install

[root@ apache_1.3.27]# ./configure --prefix=/usr/local/apache \
--enable-rule=SHARED_CORE \
--enable-module=so --enable-shared=max \
--activate-module=src/modules/php4/libphp4.a \
[root@ apache_1.3.27]# make
[root@ apache_1.3.27]# make install


[root@ ]# tar xvfz mod_throttle312.tgz
[root@ ]# cd mod_throttle
[root@ ]# make install
-----------------------------------------------------------------------------------------


2. 아파치 설치방법(2)

2-1.아파치를 static으로로 설치

static으로 설치하는 방법도 DSO와 유사합니다.
웹에서 아파치를 다운로드 한후에(물론 1.3.x버젼이어야 합니다.)
압축을 푸시고, 압축을 푼 폴더로 이동을 합니다.(이동 방법은 좀전의 방법과 같습니다.)

이동후 저와같은 명령을 내리십시오.
# ./configure --prefix=/usr/local/apache \
--add-module=src/modules/extra/mod_throttle.c

(참고로 php를 설치하셔야 하는분은
(# ./configure --prefix=/usr/local/apache \
(--activate-module=src/modules/php4/libphp4.a \
(--add-module=src/modules/extra/mod_throttle.c
(이와같이 하시면 됩니다.


☆☆여기서 띄어쓰기를 주의하세요. 예를들어 apache\같이 띄어쓰기를 하지 않을경우 설치가 제대로 되지 않습니다☆☆

그후 아파치를 컴파일 설치하시면 됩니다
#make
#make install

설치가 잘 되었는지 알아보는 방법은 아래와 같습니다.
(물론 출력결과는 저와 다를것입니다)
# /usr/local/apache/bin/httpd -l
Compiled-in modules:
http_core.c
mod_env.c
mod_log_config.c
mod_mime.c
mod_negotiation.c
mod_status.c
mod_include.c
mod_autoindex.c
mod_dir.c
mod_cgi.c
mod_asis.c
mod_imap.c
mod_actions.c
mod_userdir.c
mod_alias.c
mod_access.c
mod_auth.c
mod_setenvif.c
mod_php4.c
mod_throttle.c
suexec: disabled; invalid wrapper /usr/local/apache/bin/suexec


여기서 mod_throttle.c이 있다면, 설치성공^^

설치가 완료 되었으므로, httpd.conf를 설정을 하시면 끝납니다.

"3.아파치의 httpd.conf설정하기"에 적어놓았으니 반드시 읽어보세요


------------------------------------------------------------------------------------------
3.아파치의 httpd.conf설정하기

설정파일을 설정해 봅시다.
#vi /usr/local/apache/conf/httpd.conf

그러면 설정파일이 나타납니다.

일단 맨 아래에 이것을 추가하세요.

&lt;IfModule mod_throttle.c&gt;
ThrottlePolicy none

&lt;Location /throttle-status&gt;
SetHandler throttle-status
&lt;/Location&gt;

&lt;Location /throttle-me&gt;
SetHandler throttle-me
&lt;/Location&gt;

&lt;Location /~*/throttle-me&gt;
SetHandler throttle-me
&lt;/Location&gt;
&lt;/IfModule&gt;

그런후에

저렇게 한후에 가상 호스트 설정을 할수도 있습니다

방법은
&lt;VirtualHost 123.123.123.123&gt;
ServerAdmin dream@praise.co.kr
DocumentRoot /home/dream/public_html
ServerName myserver.co.kr
ServerAlias http://www.myserver.co.kr
Throttle Policy Volume 1024M 1d // 1일 1G 제한
ThrottlePolicy Request 1000 1d // 하루 히트수 1000회 제한
ErrorLog /var/log/httpd/error_log
CustomLog /var/log/httpd/access_log common
&lt;/VirtualHost&gt;
입니다.

http://자신의 아이피 혹은 도메인/throttle-status 에서,
서버에 설정된 대역폭의 모든 내용을 확인 할 수 있으며

서버에 설정된 특정 도메인의 트래픽을 확인 하려면
http://자신의 아이피 혹은 도메인/~아이디/throttle-me 를 확인 하면 됩니다.


이제 끝이랍니다.~



참고사항
----------------------------------------------
DSO 방식과 Static 방식의 차이점은 무엇일가요?

DSO방식은 아파치를 먼저 컴파일하고 다른 모듈들을 추가로 설치할 때는 아파치를 재 컴파일하지
않고 한번 설정되어 컴파일된 아파치를 계속 사용하는 것이다.
즉, DSO방식은 아파치를 단 한번만 컴파일한다는 것이다. 이점은 관리, 설치면에서 커다란 장점이다.
Static 방식은 설치면에서 추가로 모듈을 설치하려고 하면 설정하려는 모듈만 설정하고 컴파일하는
과정이 필요할 뿐만 아니라 아파치 또한 그에 따라 컴파일을 하여야 한다.
이는 관리면에서 단점이 될 수 있다.

시스템 측면에서 이 두 가지의 차이점이 있다.

먼저 DSO는 아파치에 설치된 모듈이 필요할 때 시스템에 적재된다. 이는 클라이언트의 요청에
응답하는 요청시간이 다소 느릴 수 있지만, 하드웨어의 속도가 뒷받침된다면 해결이 될 수 있는 부분이다.
여하튼 이런 방식(DSO)은 시스템의 리소스(메모리, CPU)들을 적절하게 효율적으로 사용한다고 볼 수 있다.
이 방식은 예전에는 실험적인 성격을 가졌지만, 이젠 거의 안정 수준에 올라와 점점 DSO방식을 선호하고 있다.

또 다른 방식인 Static 방식은 이전 방식(DSO)와는 다소 차이가 있다.
이 방식은 아파치에 추가된 모듈이 아파치의 기동과 함께 모든 모듈을 포함하여 시스템에 적재한다.
만약 아파치의 기동과 함께 적재된 어떤 모듈이 클라이언트에 의해 거의 쓰지 않는다면 쓸데없이
시스템 리소스를 점유하고 있으므로 이는 비효율적이라 볼 수 있다.
또한 아파치와 각 모듈들은 설치시 복잡하다.
각 모듈과 설정된 아파치에 또 다시 모듈을 추가하려 할 때 아파치와 모듈을 다시 컴파일하여야 한다.



출처 : http://blog.naver.com/polong77/140009927683

이름이 *.txt 인 파일 출력
[smson@linux smson]$ find ~ -name "*.txt" -print
/home/smson/user2.txt
/home/smson/user3.txt
/home/smson/aa.txt

파일명이 *.bak 이면서 파일크기가 1k 이상인것.

+N 는 이상
-N 는 이하
N 는 정확한 값임

[smson@linux smson]$ find ~ -name "*.bak" -size +1k -print
/home/smson/ihchat/iHChatServer.java.bak
/home/smson/ihchat/iHChatHandler.java.bak
/home/smson/myjava/DatabaseTest.java.bak

는 *.bak 인 파일명을 삭제한다.

-exec는 실행의 의미이면 {} 는 find 로 검색된 파일명이다.

[smson@linux smson]$ find ~ -name "*.bak" -exec rm -rf {} \;
[smson@linux smson]$ find ~ -name "*.bak" -print

[smson@linux smson]$ find ~ -size +100k -exec ls -al {} \;
-rw------- 1 smson smson 1220643 Feb 1 20:56 /home/smson/dead.letter
-rw-rw-r-- 1 smson smson 325923 Aug 14 14:50 /home/smson/aa2.pl.c
-rwxrwxr-x 1 smson smson 526247 Aug 14 14:43 /home/smson/aa

파일내에 문자열검색

[lets114@LETS114 lets114]$ find ./ -name "*.php"  -exec grep "검색문자열" /dev/null {} \;


정리를 하면

-name 은 파일명
-size 는 파일크기
-time 는 파일의 시간과 연관된다.

검색 디렉토리는
/ 는 루트
~ 홈디렉토리
. 현재디렉토리

Tag // find

이름이 *.txt 인 파일 출력
[smson@linux smson]$ find ~ -name "*.txt" -print
/home/smson/user2.txt
/home/smson/user3.txt
/home/smson/aa.txt

파일명이 *.bak 이면서 파일크기가 1k 이상인것.

+N 는 이상
-N 는 이하
N 는 정확한 값임

[smson@linux smson]$ find ~ -name "*.bak" -size +1k -print
/home/smson/ihchat/iHChatServer.java.bak
/home/smson/ihchat/iHChatHandler.java.bak
/home/smson/myjava/DatabaseTest.java.bak

는 *.bak 인 파일명을 삭제한다.

-exec는 실행의 의미이면 {} 는 find 로 검색된 파일명이다.

[smson@linux smson]$ find ~ -name "*.bak" -exec rm -rf {} \;
[smson@linux smson]$ find ~ -name "*.bak" -print

[smson@linux smson]$ find ~ -size +100k -exec ls -al {} \;
-rw------- 1 smson smson 1220643 Feb 1 20:56 /home/smson/dead.letter
-rw-rw-r-- 1 smson smson 325923 Aug 14 14:50 /home/smson/aa2.pl.c
-rwxrwxr-x 1 smson smson 526247 Aug 14 14:43 /home/smson/aa

파일내에 문자열검색

[lets114@LETS114 lets114]$ find ./ -name "*.php"  -exec grep "검색문자열" /dev/null {} \;


정리를 하면

-name 은 파일명
-size 는 파일크기
-time 는 파일의 시간과 연관된다.

검색 디렉토리는
/ 는 루트
~ 홈디렉토리
. 현재디렉토리

Tag // find

인터넷 사이트를 서핑하다보면 ID와 Password를 물어오면서 접속을 제한하는 페이지를 만난적이 있을 것이다. 이는 특정 페이지에 인증을 걸어 지정된 사용자가 아니면 페이지를 보여주지 않는 것으로 보안 및 홈페이지 관리를 위한 페이지 등에서 많이 사용하고 있는 방법이다.
오늘은 이러한 웹서버의 접속제한을 설정하는 방법에 대해 알아보도록 하자.


 웹서버 접속제한?

앞서 말했듯이 특정 페이지에 인증을 걸어두어 지정된 사용자가 아닌 경우 웹페이지를 보여주지 않도록 설정하는 것을 말하는 것으로, Apache와 같은 웹서버에서는 .htaccess 라는 파일을 생성하여 설정할 수 있다.
접속제한을 설정하는 방벙을 간단히 요약하면 아래와 같다.


==========================
① .htaccess 파일 생성
② .htaccess 파일 설정
③ 사용자 및 패스워드 등록
④ 웹서버 재시작
==========================



 

① .htaccess 파일 생성

먼저 .htaccess 파일을 생성하도록 하자. 인증이 필요한 디렉터리로 이동하여 touch 명령을 통해 파일을 만든다.
아래 예제는 웹서비스의 기본 디렉터리인 /var/www/html 아래에 있는 관리자 페이지 디렉터리(admin)에 접속 제한을 설정한다는 가정하에서 작업한 예제이다.
=====================================================
# cd /var/www/html/admin
# touch .htaccess
# ls -al
=====================================================
※ 참고로 파일명앞에 점(.)이 붙는 다는 것은 "숨김속성"이 있는 파일임을 나타내므로, 일반적인 ls 명령으로는 파일 생성여부를 확인할 수 없다. ls명령에 -al 과 같은 옵션을 사용하여 파일의 생성여부를 확인하도록 하자.


 

 ② .htaccess 파일 설정

앞서 생성한 파일은 아무런 내용이 없는 빈 파일이므로 아래와 같은 내용을 입력하자.
# vi .htaccess
=====================================================
AuthName        "XXXX 관리자 페이지"
AuthType        Basic
AuthUserFile    /var/www/html/admin/.htpasswd
AuthGroupFile   /dev/null
ErrorDocument 401 "인증 실패!  당신은 인증된 사용자가 아닙니다."

<Limit GET POST>
  satisfy any
  order deny,allow
    deny from all
    allow from xxx.xxx.xxx.xxx
  require valid-user
</Limit>
=====================================================

- AuthName는 암호 인증창에 나타나는 설명을 적는 곳이다. 이곳에 적은 내용이 인증창에 문구로 나오게 된다.
- AuthType은 서버가 사용하는 인증방식을 말한다. Basic과 Digest의 2가지가 있으나 일반적으로 Basic을 사용한다.
- AuthUserFile는 .htpasswd 파일의 물리적인 경로를 지정해 준다. 여기서 .htpasswd 파일은 뒤에서 다룰 내용으로... 암호 인증창이 나타났을때 여기에 입력할 ID와 Password를 저장하고 있는 파일을 말한다.
  .htaccess에서는 사용자 인증을 요구해주고, 실질적인 사용자 인증은 .htpasswd 파일에서 확인하게 된다.
  .htpasswd는 다른 파일명을 사용해도 된다.
- AuthGroupFile는 그룹으로 인증확인을 할경우에 그룹인증파일명을 적는다.
- ErrorDocument는 인증 실패시 화면에 보여줄 문구를 지정한다. 또는 아래와 같이 미리 만들어둔 오류 페이지를 지정할 수도 있다.
  ErrorDocument 401 /admin/subscription.html
- Limit GET POST : 접근 제한을 지정하는 부분이다. 여기서는 GET 방식과 POST 방식의 접근만을 허용한다.
  satisfy any         : 여러 설정의 충족 여부를 나타내는 항목으로... 아래에 자세히 설명
  order deny,allow    ; 적용 순서를 나타내는 것으로 거부(deny) 이후에 허용(allow) 순으로 적용한다. (이후의 설정 내용을 참고하라.)
    deny from all       ; 모든 접속을 거부(deny) 한다.
    allow from ...      ; 지정된 IP로 부터의 접속을 허용한다.
  require valid-user  ; 인증된 사용자만의 접속을 허용한다. valid-user 대신 직접 ID를 명시하여 해당 ID만을 허용할 수도 있다.


※ satisfy는 all과 any를 지시자로 가질 수 있으며, 각 의미는 아래와 같다.
  satisfy all : allow from에서 허용된 IP와 require에서 정의된 사용자 모두가 맞아야만 접속 허용 (&& 개념)
  satisfy any : allow from에서 허용된 IP와 require에서 정의된 사용자 중 하나만 맞으면 접속 허용 (|| 개념)


위는 지시어를 모두 사용하였을 경우에 대한 예제로서, 아래와 같이 간단하게 만들수도 있다.
=====================================================
AuthName        "XXXX 관리자 페이지"
AuthType        Basic
AuthUserFile    /var/www/html/admin/.htpasswd

<Limit GET POST>
  order deny,allow
    deny from all
    allow from xxx.xxx.xxx.xxx
  require valid-user
</Limit>
=====================================================


 

 ③ 사용자 및 패스워드 등록

.htaccess 설정이 완료되었다면, htpasswd 명령을 이용하여 해당 디렉터리로 접근 가능한 사용자 계정 및 패스워드를 생성한다. 아래 예제는 admin 이라는 계정을 추가하는 내용으로 패스워드를 지정하는 부분까지 같이 이루어진다.
=====================================================

# htpasswd -c .htpasswd admin
  Adding password for admin.
  New password:  <비밀번호 입력>
  Re-type new password:  <비밀번호 입력 확인>

=====================================================

※ -c 옵션은 초기화 후 새롭게 생성할때 이용하는 옵션이다.
  처음 계정을 등록할때는 -c 옵션을 사용해주고, 그 이후에 추가로 계정을 등록하는 경우에는 -c 옵션 없이 사용해야 한다.
  -c 옵션을 사용하게 되면 앞서 등록한 계정은 없어지게 되므로 사용에 유의하자.
※ 사용자 비밀번호를 변경하고자 한다면 위의 htpasswd 명령을 한번더 사용해주면 해당 계정의 비밀번호가 바뀌게 된다.
※ 사용자 계정을 삭제하고자 한다면 .htpasswd 파일을 열어서 삭제하려는 사용자 계정이 기록된 라인(line)을 지워주면 된다.


 

④ 웹서버 재시작

자 이제 설정 및 사용자 등록이 완료되었으므로, 아래와 같은 명령으로 웹서버를 재시작하자.
# /etc/init.d/httpd restart

만약 소스설치를 한 경우라면, apache가 설치되어 있는 경로로 이동하여 bin 디렉터리 하단에 있는 apachectl 실행명령을 stop 및 start 하자.

이제 웹브라우저를 사용하여 admin 디렉터리 하단에 있는 웹페이지를 열어보도록 하자. 사용자 인증창이 정상적으로 나타나는가?


출처 :  http://blog.naver.com/imakez/60033559603

Tag // htaccess

한글깨지는 문제 관련하여 셋팅에 관해 여러 의견들이 많은데
저의 경우는 아래와 같은 셋팅으로 문제해결하였습니다
참고하세요

1. /etc/php.ini  캐릭터셋 변경
  default_charset = "euc-kr"

2. /etc/my.cnf 파일의 아래 각 항목에 추가/변경
  [client]
  default-character-set = utf8

  [mysqld]
  default-character-set = euckr
  init_connect = SET collation_connection = euckr-korean_ci
  init_connect = SET NAMES euckr
  character-set-server = euckr
  collation-server = euckr_korean_ci


  [mysqldump]
  default-character-set = euckr

  [mysql]
  default-character-set = euckr
 
3. /etc/httpd/httpd.conf

  AddDefaultCharset EUC-KR

4. 웹소스 캐릭터셋
 
  <META http-equiv="Content-Type" content="text/html; charset=euc-kr" />

------------------------------------------------------------
관련없는 글!!
디비백업 파일을 받고 디비복구할때 백업파일의 상단에 입력합니다.

set session character_set_connection=euckr;
set session character_set_result=euckr;
set session character_set_client=euckr;
------------------------------------------------------



출처 : http://blog.naver.com/syaku/120020209957

리눅스명령어
from O.S/Linux 2007/08/20 16:31

addbib - 도서목록 형식의 데이터베이스를 만들거나, 확장
alias - 명령어 간소화하기
apropos - 관련된 명령어 찾기, 사용설명서의 키워드 검색
ar - 라이브러리 만들기, 관리
arch - 컴퓨터 종류 알기
arp - 같은 서브넷의 IP 보여주기
at - 작업 시간 정하기
atd - 계획성 있는 작업 실행하기
awk - 특정 패턴 문자 처리하기
a2p - 펄 파일로 바꾸기
badblocks - 배드 블럭 검사하기
banner - 큰 글자(배너) 만들기
basename - 경로 이름에서 마지막에 있는 이름만 출력
batch - 원하는 시간에 원하는 명령을 실해하게 하는 명령
bc - 계산기
biff - 메일 수신 소리로 확인하기
bin-mail, binmail - 예전에 사용한 전자우편 프로그램
bg - 후면작업; 배경화면 설정
bind - 키나 함수 순서 결합하기
builtin - 내부 명령어 알아보기
break - 루프 빠져나가기
cal - 달력보기
calendar - 간단한 일정표
cat - 파일 병합과 내용 보기
case - 조건 처리하기
cc - C 컴파일러
cd - 디렉토리 변경하기
cfdisk - 디스크 설정하기
chattr - 파일 속성 변경하기
checknr - nroff 또는 troff 입력 파일 검사; 오류를 보여준다
chfn - 사용자 정보 변경하기
chgrp - 파일, 디렉토리가 속했던 그룹 바꾸기
chmod - 파일 권한 바꾸기
chown - 파일 주인 바꾸기
chsh - 지정된 셸 바꾸기
cksum - CRC값을 점검한다
clear - 화면 청소하기
clock - CMOS 시각을 조정하기
cmp - 두 파일을 바이트 단위로 비교
colcrt - troff 파일의 밑줄 속성 문자 처리
colrm - 열 삭제하기
column - 가로 정렬하기
comm - 지정 두파일의 줄 단위 비교와 그 처리
command - 명령어 알아보기
compress, uncompress, zcat - 파일 압축관련 유틸리티들
continue - 루프 계속돌기
cp - 파일 복사하기
-a : 가능한 한 원 파일의 구조와 속성을 그대로 복사한다.
-b : 복사할 때 덮어쓰게 되는 파일은 백업을 만든다.
-d : 심볼릭 링크는 심볼릭 링크로 복사한다. 그리고 원본 파일과의 하드 링크 관계를 유지한다.
-f : 복사 위치에 존재하는 파일을 제거하고 복사한다.
-i : 복사 시 같은 이름의 파일이 존재한다면 덮어쓸 것인가 확인한다.
-I : 하드 링크를 만든다.
-P : 원본 파일의 소유자, 그룹, 권한, 시간 기록을 그대로 복사한다.
-R , -r : 파일과 하위 디렉토리에 포함된 파일 모두를 복사한다.
-s : 디렉토리가 아닌 파일의 심볼릭 링크를 만든다. 소스 파일의 이름은 전체 경로 이름으로 한다.
목적지 파일 이름은 전체 경로를 주지 않아도 현재 디렉토리로 간주되므로 상관없다.
-u : 파일의 정보를 갱신한다.
-x : 다른 파일 시스템인 하위 디렉토리는 무시한다.

cpio - 복사본 만들기
cpp - C 언어 전처리기
crontab - cron을 관리한다
csh - C 문법과 비슷한 쉘 스크립트 문법과 기타 여러 기능이 내장된 쉘
csplit - 파일에 서식, 규칙 정하기
ctags - ex 나 vi 편집기에서 사용될 tag 파일을 만드는 명령
cut - 필요한 필드만 출력하기
date - 날짜 보기
dbx - 소스 수준의 디버거
dd - 블럭장치 읽고 쓰기
debugfs - ext2 파일 시스템 디버깅하기
declare - 변수 선언하기
deroff - nroff, troff, tbl, eqn 관련 내용 지움
df - 파일 시스템의 사용량 보기
diff - 두 파일의 차이점 비교
dirs - 디렉토리 목록 표시하기
dmesg - 부팅 메시지 보기
dnsdomainname - DNS 이름 출력
domainname - NIS 이름 출력&설정
du - 디렉토리와 파일의 용량 파악하기
dumpe2fs - 파일 시스템 정보 보기
echo - 표준 출력하기
ed, red - 기본 줄 편집기
eject - 장치 해제하기
elm - 메일 관련
enable - 내부 명령어 지정
env - 환경변수 출력하기
eqn, neqn, checkeq - 수식 표현 포멧 도구
error - 컴파일러 오류 메시지 목록
 eval  - 인수 읽기
exec - 셸 명령어 실행하기
exit - 종료하기
ex, edit, e - 줄 편집기
expand, unexpand - TAB 문자를 공백문자로 바꿈, 또는 그 반대로
expr - 인자를 수식으로 처리
export - 변수 지정하기
e2fsck - 파일 시스템 복구하기
fc - 지정된 편집기 받기
fdformat - 플로피 디스크 포맷하기
fdisk - 파티션 나누기
fg - 지정된 작업을 전면 프로세스로 시작하기
file - 파일 형식 보기
find - 파일 찾기
finger - 사용자 정보 알기
fold - 긴 줄 출력 방법 지정
fmt, fmt_mail - 간단한 문서나, 편지 포멧 도구
for - 반복 실행하기
free - 메모리 사용량 알아보기
fsck - 파일 시스템 검사하기
fstab - 파일 시스템에 대한 고정적인 정보 저장하기
ftp - 파일 전송 프로그램
fuser - 프로세스 ID 출력
gcore - 실행 중인 프로세스의 core 이미지를 구한다.
getkeycodes - 매핑 테이블 출력하기
gprof - call-graph profile data - ?를 보여줌
grep - 특정 문자(열) 검색하기
groups - 사용자의 그룹을 보여줌
gzexe - 실행 파일 압축하기
gzip - 압축하기
halt - 시스템 종료하기
hash - 기억해 두기; index 역할
head - 파일의 앞부분 출력하기
help - 도움말 보여주기
host - 호스트 정보 보기
history - 사용 명령어 목록보기
hostname - 현재 시스템 이름을 보여줌
id - 계정 정보 알기
if - 조건문 실행하기
ifconfig - 랜카드에 주소 할당하기
imake - makefile 만드는 프로그램
imolamod - 모듈 설치하기
indent - C 프로그램 소스 파일을 들여쓰기 하는 포멧 도구
inetd - 인터넷 서비스의 최상위 데몬
init - 실행 단계 정하기
install - 파일 설치
ispell - 철자법 검사하기
jobs - 수행중인 프로세스 알기
kbd_mode - 키보드 모드 출력하기
kill - 프로세스 죽이기
klogd - 커널 로그 데몬
last - 사용자가 마지막 접속 상태를 보여줌
ld, ld.so - 링크 편집기, 동적 링크 편집기
ldd - 공유 라이브러리의 의존성 알기
leave - 자신의 접속 종료 시간을 알려줌
less - more 명령의 확장
let - 정규식 표현하기
lex - 어휘 분석 프로그램 생성기
lilo - 부팅하기
lint - C 프로그램 verifier
ln - 파일의 하드, 심벌릭 링크 명령
locate - 패턴에 맞는 파일 찾기
login - 로그인하기
logger - 시스템 로그 기록하기
logname - 사용자 로그인명 보여주기
logout - 로그인 셸 종료하기
look - 시스템 디렉토리나, 정열된 목록에서 단어 찾기
lookbib - 도서목록형 데이타베이스에서 찾기
lorder - 오브젝트 라이브러리의 관계 찾기
losetup - 중복 장치 확인하기
lp, cancel - 인쇄 시작, 취소
lpd - 프린트 데몬
lpq - 인쇄 작업 상황 보기
lpr - 인쇄
lprm - 인쇄 작업 지우기
ls - 디렉토리 내용보기
lsattr - 파일 시스템의 속성 보여주기
lsdev - 하드웨어 장치 출력하기
lsmod - 모듈 정보 출력하기
mail - 메일 관련
make - 실행 파일을 만들거나, 특정 작업 파일을 만들 때 사용하는 도구
man - 매뉴얼 보기
mattrib
mbadblocks
mcd
mcopy
mdel
mdeltree
mdir
mesg - 메시지를 받을 수 있는지 확인하기
mformat
minfo
mkdir - 디렉토리 만들기
mke2fs - 파일 시스템 생성하기
mkfs - 파일 시스템 만들기
mknod - 특수 파일 만들기
mkstr - C 소스 파일을 참조로 오류 메시지 파일을 만듬.
mkswap - 스왑 영역 지정하기
mlabel
mmd
mmount
mmove
mpartition
mount - 장치 연결하기
more - 화면 단위로 출력하기
mrd
mren
mtoolstest
mtype
mutt - 메일 관련
mv - 파일 이동이나, 이름 바꾸기
mzip
nawk - 패턴 검색과 언어 처리
netstat - 현재 네트웍 상황 보기
nice - 낮은 우선권에서 명령 실행
nm - 심블 이름 목록 보기
nroff - 문서 포멧 도구
od - 8진수, 10진수, 16진수, ascii 덤프
passwd, chfn, chsh - 비밀번호, 핑거정보, 쉘 바꾸기
paste - 여러파일의 서로 관련 있는 줄 연결시키기
pidof - 실행중인 프로그램의 프로세스 ID 찾기
pine - 메일 관련
ping - 네트웍 확인하기
popd - pushd 취소
pr - 문서 파일 양식화 도구
printenv - 현재 환경 변수들의 내용과 그 값 알아보기
prof - profile 자료 보기
ps - 현재 프로세스 정보 보기
pstree - 프로세스 상관관계 알기
ptx - permuted(순열화된?, 교환된?) 색인 만들기
pwd - 현재 작업 디렉토리 보기
quota - 한 사용자에게 지정된 디스크 할당량보기
ranlib - archive를 random 라이브러리로 변화
rarp - rarp 테이블 관리하기
rcp - 리모트 카피
rcs - RCS 파일 속성 바꾸기
rcsdiff - RCS revisions 비교
rdev - 루트, 스왑장치, 램 크기, 비디오 모드를 조사하고 설정하기
rdate - 네트웍으로 시간 설정하기
reboot - 재부팅하기
rev - 한 줄의 문자열 꺼꾸로
rmmod - 모듈 지우기
readonly - 읽기 전용으로 표시하기
renice - 프로세스 우선 순위 바꾸기
reset - 터미널 초기화하기
restore - 다시 저장하기
rlogin - 리모트 로그인
rm - 파일 지우기
rmdir - 디렉토리 지우기
roffbib - 도서목록형 데이터베이스 보기 또는 양식화
route - 라우팅 테이블 추가/삭제하기
rpm - 프로그램 추가/삭제
rpm2cpio - rpm을 cpio로 변환하기
rsh - 원격으로 명령어 실행하기
rup - 로칼 머쉰의 호스트 상태 보기(RPC version)
rusers - 호스트에 로그인한 사용자 출력하기
rwall - 호스트 사용자에게 메시지 뿌리기
rwho - 현재 접속자 보기
script - 화면 갈무리
sed - stream editor
set - 변수값 설정하기
setup - 시스템 관련 설정하기
sh - 유닉스 표준 쉘
showmount - 호스트의 마운트 정보 보여주기
shutdown - 전원 끄기
size - 오브젝트 파일의 크기들을 보여줌
sleep - 지정한 시간 만큼 실행 보류
sort - 줄 정열과 검색
sortbib - 도서목록형 데이터베이스 정열
source - 스크립트 번역하기
spell, hashmake, spellin, hashcheck - 맞춤범 검사 - 물론 영어겠지요
split - 파일 나누기
ssh - 암호화된 원격 로그인하기
strings - 오브젝트 파일이나, 실행 파일에서 문자열 찾기
strip - 오브젝트 파일에서 심벌 테이블과 중복된 비트 삭제
stty - 터미널라인 설정 보여주기
su - super-user, 임시적으로 새 ID로 바꿈
suspend - 셸 중단하기
swapoff - 스왑 해제하기
swapon - 스왑 활성화하기
symorder - 심벌 순서 바꿈
sync - 버퍼 재설정하기
syslogd - 로그인 과정 설정하기
tabs - 터미날 tab 크기 지정
tac - 거꾸로 보기
tail - 문서 끝부분 출력하기
talk - 다른 사용자와 이야기하기
tar - 여러 파일 묶기 또는 묶긴 파일 풀기
tbl - nroff 또는 troff의 도표 작성 도구
tcpdchk - tcp wrapper 설정하기
tcpmatch - 네트웍 요청에 대해 예측하기
tee - 표준 입력으로부터 표준 출력 만들기
telnet - TELNET 프로토콜을 이용한 원격 리모트 호스트 접속
test - 주워진 환경이 참인지, 거짓인지를 돌려줌
tftp - 간단한 ftp.
time - 명령 실행 시간 계산
times - 셸에서의 사용자와 시스템 시간 출력하기
top - cpu 프로세스 상황 보여주기
touch - 파일 날짜 관련 부분을 바꿈
tr - 문자열 바꿔주기
troff - 문서 양식화 도구
true, false - 쉘 스크립트에서 사용되는 참/거짓을 리턴하는 명령
tsort - topological sort
tty - 현재 터미날 이름 보기
type - 유형 보기
ue - MICROemacs
ul - 밑줄 처리해서 보여주기
ulimit - 제한하기
umask - 매스크 모드 설정하기
umount - 장치 해제하기
unalias - 별명 제거하기
uname - 시스템 정보 보기
unexpand - 공백 문자를 탭으로 변환하기
unifdef - cpp 입력 줄에서 ifdef 부분 바꾸거나 지움
uniq - 중복되는 빈줄 지우기
units - 프로그램 변환도구
useradd - 사용자 계정 만들기
userdel - 계정 삭제하기
usermod - 사용자 계정정보 수정하기
unset - 설정 변수 해제
uptime - 시스템 부팅시간, 부하 평균 보여주기
users - 로그인된 사용자 보여주기
uucp, uulog, uuname - 시스템 간의 복사
uuencode, uudecode - 이진 파일을 아스키파일로 인코딩, 반대로 디코딩
uusend - 리모트 호스트에 파일 보내기
uux - 리모트 시스템 명령 실행
vacation - 자동으로 편지 답장하기
vgrind - grind nice program listings
vi, view, vedit - ex 바탕의 편집기
vtroff - 문서 양식화 도구
w - 현재 누가 접속해 있으며, 무엇을 하고있는지 보기
wait - 프로세스가 마치기를 기다림
wall - 모든 사용자에게 메시지 보내기
wc - 문자, 단어, 라인수 세기
whatis - 명령어의 간단한 설명보기
whereis - 찾는 명령의 실행파일, 소스, 맨페이지 경로 보여줌(패스에 해당하는 모든 디렉토리를 뒤져서 해당 명령어를 찾음)
which - 특정명령어의 위치가 어디인지를 찾아줌
while - 루프 명령어
who - 시스템에 접속되어 있는 사람만 보여줌
whoami - 현재 사용하고 있는 자신이 누군지 보여줌
write - 다른 사용자의 화면에 메시지 보내기
xargs - 명령행 인자 처리 명령
xcopy - 반복적으로 복사하기
XFree86
xstr - extract strings from C programs to implement shared strings
yacc - yet another compiler-compiler: 파싱. 형태소분석 프로그램 생성기
yes - 항상 yes만 응답하는 명령
ypchfn - NIS에서 사용하는 chfn 명령어
ypchsh - NIS에서 사용하는 chsh 명령어
yppasswd - NIS에서 사용하는 passwd 명령어
zcat - 압축 파일 보기
zcmp - 압축 파일 비교하기
zforce - 강제로 gz 만들기
zgrep - 압축 상태에서 grep 실행하기
zmore - 압축 상태에서 more 실행하기
znew - .Z 파일을 .gz로 다시 압축하기