PHP Scripting-PHP Script의 개요및 설치

PHP Script의 개요및 설치


--------------------------------------------------------------------------------


일반적으로 PHP는 Apache와 같은 Web Server의 Module형태로 설치하여 사용하는 것이 일반적이며 또한 PHP의 대부분의 기능이 Web Application을 작성하도록 설계되어 있습니다.

하지만 PHP는 Perl과 같은 Script언어로 작동을 할 수있도록 만들어져 있습니다.

이것은 PHP가 어떤 특정 Web Server의 Module형태가 아닌 CGI로써 실행 되도록 설계된 것이며 Shell상에서 작동하는 Script형태로 작성이 가능합니다.

PHP로 Script를 작성했을때 Web Applicatoin을 작성할 때의 모든 함수들과 기능을 모두 사용할 수 있습니다.

여기에서는 PHP를 Perl과 같은 Script언어로 사용하는 방식에 대해 이야기를 할 것입니다.


PHP를 CGI방식으로 설치하기

PHP를 CGI방식으로 설치하는 것은 일반적은 PHP의 설치 방식을 따릅니다. 다만 PHP가 Apache의 Module형태로 설치되는 것이 아니기 때문에 Configure 에서 --with-apache라는 Option이 빠지게 됩니다

1) Download
http://www.php.net/downloads.php 나 linux.co.kr의 다운로드 코너에서 PHP의 Source를 Download 받아서 적당한 Directory(예를 들어 /usr/local/src/)에 압축을 풉니다

2) 설치환경 설정
1)에서 Download받고 압축을 풀어 놓은 Directory에서 configure Script를 실행 시킵니다.



[root@localhost php-4.0.6]# ./configure




PHP를 Apache의 Module로 설치할 때는 다음과 같습니다.



[root@localhost php-4.0.6]# ./configure --with-apache=/usr/local/src/apache_1.3.xx --disable-debug --enable-track-vars




즉 Apache의 Module형태로 설치할때의 Option인 --with-apache와 Zend 제품군을 사용하기위한 --disable-debug 그리고 --enable-track-vars가 빠진 형태가 됩니다.

만약 PHP Script를 이용하여 MySQL을 사용하고자 할 때에는



[root@localhost php-4.0.6]# ./configure --with-mysql=Where_MySQL_Installed_Directory




와 같이 적어 주시면 됩니다.

기타 다른 기능들을 추가로 사용하고자 하시면



[root@localhost php-4.0.6]# ./configure --help




를 참고 하여 --with --enable등의 Option을 사용하시면 됩니다.

PHP를 CGI Mode로 설치하게 되면 Apache의 Module로 설치 할때와 달리 configure의 결과에 다음과 같은 내용이 추가 됩니다.



+---------------------------------------------------------------------------------------------+
| *** WARNING *** |
| |
| You will be compiling the CGI version of PHP without any |
| redirection checking. By putting this cgi binary somewhere in |
| your web space, users may be able to circumvent existing .htaccess|
| security by loading files directly through the parser. See |
| http://www.php.net/manual/security.php for more details. |
+---------------------------------------------------------------------------------------------+




3) Compile및 설치



[root@localhost php-4.0.6]# make
[root@localhost php-4.0.6]# make install




을 하시면 Compile 하고 설치가 되는데 여기에서 기본적으로 설치되는 Directory는
/usr/local 이 됩니다. 즉

/usr/local/bin : 실행 파일들.
/usr/local/lib : Library들
/usr/local/include : Include 파일들

위의 Directory에 각각 설치가 됩니다.
만약 특정 Directory에 설치하기 위해서는 configure에 --prefix Option을
추가하시면 됩니다. 예를 들어 PHP를 /usr/local/php에 설치하려면



[root@localhost php-4.0.6]# ./configure --prefix=/usr/local/php




와 같이 하면 됩니다.


크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/04/01 18:52 2004/04/01 18:52
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/193

cron을 이용해서 자동메일 발송할려고 하는데... 조회수:288


초보



cron을 이용해서 자동메일을 발송하려 합니다...

현재 cron으로 등록해서 일정시간에 한번씩 메일이 발송이 되구 있는데요...

문제는 디비로 쿼리를 던져서 2~3건씩 메일을 보내려고 하니..

발송이 안되더라구요...

그래서 쿼리가 잘못됬나 해서...

콘솔에서 mail.php를 실행시켜보면 메일이 잘 옵니다...

이유가 멀까요~?

고수님들 답변 부탁 드립니다...

crontab -e 한후에 아래와 같이 작성했구요...
0 * * * * /usr/local/php/bin/php 실행파일.php

php파일 맨 위에는 #!/usr/local/php/bin/php -q

이렇게 작성했습니다...

속~ 시원한 답변 부탁 드립니다...





chobo 쉘파일로 만들어서 한번 실행해보시죠...
#!/bin/bash
/usr/local/bin/php -q /path/to/실행파일.php > /dev/null 2>&1 10/14 16:50:23

초보 쉘파일로 만들고 해봤는데도 안되는데요... ㅠㅠ
쉘을 실행하면 되는데... 크론으로 하믄 또 안되네요... 10/14 17:23:43

L.S. 맨 위에 #! 을 넣었으면 굳이 php 바이너리 경로를 적어줄 필요는 없을텐데요. 실행권한 확인해보시고, 클론에 줄때 패스를 정확하게 줘보세요. 10/14 17:54:11

초보 L.S. 님 말씀대로 해봤구요... 실행권한두 줘봤구요... 패스두 정확히 맞구요... 원인이 먼지 도저히 모르겠네요...
SQL 퀴리문이 들어가게 되면 왜 안될까요~? 10/14 18:18:57

chobo 혹시 디비를 오라클로 사용하시는지요?
만약 오라클로 사용하신다면 쉘파일에 오라클 관련 세팅들을 export해 보십시요..

========================================================================================
cron 자동실행문제 조회수:342





/usr/bin/test
#!/usr/local/php/bin/php
echo "test 입니다 ";
?>

chmod 777 test
./test
test입니다.

정상적으로 실행이 됩니다.
이것을 크론을 등록을 할려고 하는데
crontab -e 해서 마지막줄에
01 * * * * /etc/test

1분마다 실행이 되게 할려고 하는데 아무반응이 없네요.. 쉘에서 표기가 나와야 하는것이 아닌가여? 아니면 이게 실행이 된건가여?

부탁드립니다.









김재룡 쉘에서 나오지는 않습니다.
실행 됐는지 아시고 싶으시면 로그파일을 보시면 됩니다.
/var/log/cron 으로 되어 있습니다. 08/06 17:16:50

핑클아루 var/log/cron 보니까..로그파일이 안보입니다.
./test 는 정상적으로 되는데 왜 안되는지...

08/06 18:00:07

핑클아루 crontab -e 에서
01때문에 그런가 싶어서 그냥 1로 했거든여..
1 * * * * /etc/test 이렇게 하고 restart 했는데 안되네여 08/06 18:00:56

론니 1분마다 실행은
*/1 * * * * 이구요, php명령어 삽입~!
*/1 * * * * php 경로

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

cron 이란 *NIX 시스템에서 정해진 시간마다 정해진 명령(주로 shell 프로그램)을 실행하도록 하는 데몬입니다. 정해진 주기는 매월, 매주, 매일, 매시 등이 될 수 있습니다. 기본적으로 매월, 매주, 매일, 매시에 실행되는 명령은 /etc 아래에 cron.monthly, cron.weekly, cron.daily, cron.hourly 디렉토리 아래에 넣으면 됩니다. 각 디렉토리의 명령이 실행되는 시각은 /etc/crontab 파일에 지정되어 있습니다. 예를 들면 cron.daily 이하의 명령은 매일 새벽 04시 02분에 실행됩니다.
이와 별도로 특정 명령을 지정한 주기에 실행하려면 /etc/crontab 파일을 편집해서 넣으면 됩니다. 자세한 옵션까지 설명하기는 어려우므로 man cron, man 1 crontab, man 5 crontab 을 참고하시기 바랍니다.
root 계정이 아니라면 쉘에서 crontab -e 명령을 써서 계정별로 cron 을 지정할 수 있습니다.

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

[급 질]cron 좀 도와주세요 조회수:183





안녕하세요.....
cron을 이요해서 특정페이지를 실행시켜서 데이타를 업데이트 하려고 합니다...
페이지는 6개이구.... 아래와 같이 30분간격으로 페이지를 실행시켰는데요...

*/30 * * * * wget -q http://www.aaa.com/new_h1.php
*/30 * * * * wget -q http://www.aaa.com/new_h2.php
*/30 * * * * wget -q http://www.aaa.com/new_h3.php
*/30 * * * * wget -q http://www.aaa.com/new_h4.php
*/30 * * * * wget -q http://www.aaa.com/new_h5.php
*/30 * * * * wget -q http://www.aaa.com/new_h6.php

이렇게 하구 30분 간격으로 top으로 시스템 검사를 해봤거든요...

헉~~~ 그런데 cron이 실행될때 만다 그러니까 30분 간격으로 하나 실행시키는데 cpu가 최

고 30%까지 차지하더군요.... 이런게 6개니깐.. 30분간격으로 거이 감당이 안되게 느려지거든

요...

cron이 다 실행되고 종료되는 시간은 거이 40초 까지 였구요...그러니까 40초동안 싸이트가

느려졌습니다....

머가 잘못된건지.... 그냥 30분 에 한번식 그 파일만 실행하고 바로 종료하게 할순없는건가요...?

미티겠어요.... 부탁합니다... 도와주세요...





김재원 저는 ab를 이용하는데 explorer에서 페이지 호출하는것 하고
비교해서 CPU 사용률이 차이가 없는 듯 합니다.

*/30 * * * * {$APACHE_HOME}/bin/ab -c 1 -n 1 http://www.aaa.com/new_h1.php
이렇게 한번 해보시죠.

{$APACHE_HOME} --> apache가 설치된 directory 06/09 20:30:15

김재원 참고로 crontab mail을 안받으려면
..... http://www.aaa.com/new_h1.php > /dev/null
이렇게 해주시면 됩니다.

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/03/31 18:36 2004/03/31 18:36
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/39

cron 이용방법(초보용)

각설하고, 어쨌거나 리눅스라고는 겨우 영문 글자만 알던 넘이 스쿨 왔다갔다 하면서 cron 이라는 자동화(?) 기능을 알게 되었습니다. 백업을 하려고 뒤져봤는데, 대게는 하루단위로 백업을 하시더라구요. 물론 그것이 정석이겠지만, 위에서 말한바와 같이 규모가 작은 곳이라서 일주일에 한번 DB백업만 해도 충분할 것 같아서 cron 에서 시간설정하는 법을 찾아봤는데 없더라구요. 혹 저같은 분이 계실까봐 cron 사용법을 올립니다. 팁 같지 않다는 태클만은 사절합니다(초보에게 용기를~!!).-_-;;

** 지정
쉘 상에서 crontab -e 명령을 합니다.
그러면 vi 편집기의 인터페이스가 열리면서 예약할 작업들을 적어넣을 수 있습니다.
각 항목은 스페이스로 구분되며 시간 단위는 분단위까지 가능합니다.

** 항목 및 사용법
분(minute) 시(hour) 일(day_of_month) 월(month) weekday(요일) command(명령)

필드에서 사용하는 값들의 범위는 다음과 같습니다.
분(minute) : 0-59
시(hour) : 0-23
일(day_of_month) : 1-31
월(month) : 1-12
요일(weekday) : 0-6 (일요일~토요일)
명령(command) : 쉘 명령

예를 들어서 백업하는 명령어를 /home/root 에 backup 이라는 이름으로 스크립트를 만들었다고 하고 매주 일요일에 백업을 하려면
00 00 * * 0 /home/root/backup
과 같은 식으로 해주시면 됩니다.

매주 월요일과 매달 15일에 백업을 하려면
00 00 15 * 1 /home/root/backup
과 같이 해주시고,

매주 월요일과 매달 1일, 15일에 백업을 하려면
00 00 1,15 * 1 /home/root/backup
과 같이 해주시면 됩니다. 스페이스 없이 콤마(,)로 날짜를 구분했음에 유의하세요.

*는 와일드 카드로... "모든"이라는 의미를 가지고 있다는 것은 아실 겁니다.
즉, 위의 세가지 예제들은 모두 0시 0분을 기준으로 백업을 하게 된다는 것입니다.
앞에서 cron의 사용법으로 많이 나왔던
00 06 * * * /home/root/backup
과 같은 경우는 모든 요일, 모든 월, 모든 날, 매주 06시 00분에 백업을 행한다는 의미입니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/03/31 11:14 2004/03/31 11:14
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/192

session.gc_maxlifetime 세션

세션설정에서
session.gc_maxlifetime = 1440

client --------------------- server
sessionid=세션파일이름 세션파일
세션변수
세션변수값

session.gc_maxlifetime은 1440초 동안 요처이 없으면 그 세션파일을 자동 삭제시키는거라고 하는데요 그 세션파일이 삭제된다는게 server에 있는 세션파일을 완전히 없애는 건가요
그래서 1440초후에 세션변수들이 없어서 다시 로그인페이지로 넘어가는건가요
(보통 session_userid란 세션변수를 비교하여 로그인장면으로 넘어가게 나오죠)

그리고 session.gc_maxlifetime = 1440는 제한이 있나요 1440이하는 사용할수 없나요





운차이 파일이 바로 삭제되는 것은 아니고, 세션변수들이 사라집니다.

1440 이하도 될 겁니다. 해보면 알겠죠. ;-) 03/21 17:48:06

friend 그럼 세션변수들이 사라지고 난뒤에요 좀 나중에 세션 파일이 삭제는 되나요..만약에 세션파일들이 삭제가 안된다면 서버에 세편파일일들이 정말 많이 있게 되잖아요. 03/21 18:36:17

운차이 php.ini에 보면 다음과 같은 지시자가 있습니다.
session.gc_probability = 1
session.gc_divisor = 100
이 두개를 합치면 1/100 이 되죠. 즉 1% 확률로 쓸모없는 세션파일이 삭제된다는 뜻입니다. 여기서의 확률이란 Request 때 삭제작업(GC process)이 실행될 확률입니다.(좀 복잡하죠? -_-;)

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/03/29 12:45 2004/03/29 12:45
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/38

한글 도메인 셋팅

개요

사용자 애플리케이션에서 한글.KR 정보가 영어, 숫자, 하이픈(-)으로 이루어진 퓨니코드(Punycode)로 변환 후 서버에 전달되므로, 한글.KR을 운영하기 위해서는 서버의 환경파일 내에서 “xn--"로 시작하는 퓨니코드 형태로 설정되어야 합니다. 퓨니코드 변환은 아래 코드컨버터를 이용하시길 바라며, 네임서버와 웹서버에서의 설정방법은 각각의 설정방법 페이지를 참고하시기 바랍니다. (한글.KR을 메일주소로 사용하기에는 현재 지원되는 애플리케이션이 없습니다)

▶ 온라인 한글 변환

▶ 윈도우용 코드컨버터

▶ 유닉스/유닉스용 코드컨버터 (C 언어버전 / Java 언어버전)


<예: 한글.kr 설정 방법>

0. < 공인사업자를 통해 한글도메인 등록>

1.

zone "xn--bj0bj06e.kr" { // ← 한글도메인을 Punycode로 변환 후 설정
type master;
file "hangeul.zone";

};

2.
$TTL 43200
;
@ IN SOA ns1.nic.or.kr. admin.nic.or.kr. (
2003081901 ; serial
10800 ; refresh
3600 ; retry
3600000 ; expire
43200) ; negative TTL


IN NS ns1.nic.or.kr.
IN NS ns2.nic.or.kr.

;=================================================================
; 한글도메인 한글도메인 한글도메인 한글도메인 한글도메인 한글도메인
;=================================================================
; 한글.kr
xn--bj0bj06e.kr. IN A 123.123.123.100 ; ← 한글도메인을 Punycode로 변환 후 설정
www IN A 123.123.123.100

3. <아파치 웹서버 가상 호스트 설정>
- 만약 기존 영문페이지와 다른 내용을 보여주길 원할 때 사용(Web Server Virtual Host 설정을 사용한다면 설정)


< VirtualHost 123.123.123.100:80>
ServerAdmin admin@nic.or.kr
DocumentRoot /usr/local/www/hangeul/
ServerName xn--bj0bj06e.kr # ← 한글도메인을 Punycode로 변환 후 설정
ServerAlias www.xn--bj0bj06e.kr # ← 한글도메인을 Punycode로 변환 후 설정
CustomLog logs/CustomLog
ErrorLog logs/ErrorLog
< /VirtualHost>


크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/03/27 15:31 2004/03/27 15:31
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/191

아스키 tab 문자 구분




$noms = explode(" ",$nom); //--- tab 으로 구분.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/03/26 14:14 2004/03/26 14:14
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/37

which (명령어의 경로를 확인한다.)




which

명령어의 경로를 확인하는 명령어이다.
리눅스에서 명령어의 경로와 도움말에 대한 명령어는 which, whereis, whatis, man, find등이 있다. 이중에서 명령어의 경로를 확인하는 가장 일반적인 명령어가 which이다.
흔히 호스팅서버등에서 perl의 경로를 찾는 방법으로 "which perl"과 같은 형태로 사용한다.

사용형식

which [options] [--] programname [...]

사용예 #1

간단히 perl의 경로를 확인하고자 한다면 다음과 같이 한다.

[root@host1 commmand]# which perl
/usr/bin/perl
[root@host1 commmand]#

즉, perl의 경로를 확인코자한다면 "which perl"이라고만 하면 된다.

다음은 netstat이라는 명령어의 명령어 경로를 확인한 것이다.

[root@host1 commmand]# which netstat
/bin/netstat
[root@host1 commmand]#


사용예 #2

이번에는 웹서버나 호스팅서버에서 사용자들이 자주 찾는 명령어 경로를 확인하는 예이다.

[root@host1 commmand]# which sendmail
/usr/sbin/sendmail
[root@host1 commmand]#
[root@host1 commmand]# which find
/usr/bin/find
[root@host1 commmand]#
[root@host1 commmand]# which telnet
/usr/bin/telnet
[root@host1 commmand]#
[root@host1 commmand]# which ssh
/usr/bin/ssh
[root@host1 commmand]#
[root@host1 commmand]# which ftp
/usr/bin/ftp
[root@host1 commmand]#

위의 예는 차례대로 sendmail, find, telnet, ssh, ftp의 명령어 경로를 확인한 예이다.

which 명령어에도 다른 명령어들과 마찬가지로 여러가지 옵션들이 있으나 실무에서는 거의 사용하지 않는 것들이다. 따라서 which 명령어의 설명에서 옵션 사용의 예는 생략하도록 하겠다.


크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/03/24 11:25 2004/03/24 11:25
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/190

whereis

명령어의 실행파일위치, 소스위치, man페이지파일위치를 찾아주는 명령어이다.
명령어의 위치만을 찾아주는 which에 비해 명령어와 관련된 파일들을 모두 찾아주므로 보다 포괄적인 명령어위치 탐색명령어라고 이해하면 좋겠다.

그리고 whereis는 특별히 지정된 경로가 없다면 기본적으로 다음의 경로를 바탕으로 탐색한다.

/bin
/usr/bin
/etc
/usr/etc
/sbin
/usr/sbin
/usr/games
/usr/games/bin
/usr/emacs/etc
/usr/lib/emacs/19.22/etc
/usr/lib/emacs/19.23/etc
/usr/lib/emacs/19.24/etc
/usr/lib/emacs/19.25/etc
/usr/lib/emacs/19.26/etc
/usr/lib/emacs/19.27/etc
/usr/lib/emacs/19.28/etc
/usr/lib/emacs/19.29/etc
/usr/lib/emacs/19.30/etc
/usr/TeX/bin
/usr/tex/bin
/usr/interviews/bin/LINUX
/usr/bin/X11
/usr/X11/bin
/usr/X11R5/bin
/usr/X11R6/bin
/usr/X386/bin
/usr/local/bin
/usr/local/etc
/usr/local/sbin
/usr/local/games
/usr/local/games/bin
/usr/local/emacs/etc
/usr/local/TeX/bin
/usr/local/tex/bin
/usr/local/bin/X11
/usr/contrib",
/usr/hosts",
/usr/include",
/usr/g++-include",


사용형식

whereis [ -bmsu ] [ -BMS directory... -f ] filename ...

사용예 #1

whereis의 간단한 사용법으로서 "whereis 명령어" 또는 "whereis 파일이름"으로 탐색할 수 있다.

다음은 find명령어와 관련된 파일을 찾은 예이다.

[root@host3 command]# whereis find
find: /usr/bin/find /usr/share/man/man1/find.1.gz
[root@host3 command]#

다음은 perl명령어와 관련된 파일을 찾은 예이다.

[root@host3 command]# whereis perl
perl: /usr/bin/perl /usr/share/man/man1/perl.1.gz
[root@host3 command]#


사용예 #2

whereis 명령어로 실행파일의 경로만을 확인하고자 할 때에는 -b옵션을 사용한다.
다음은 find 명령어의 실행파일 경로만을 확인하는 예이다.

[root@host3 command]# whereis -b find
find: /usr/bin/find
[root@host3 command]#

-b옵션을 사용하여 실행파일의 경로만을 확인할 때에는 which명령어와 거의 유사하다고 볼 수 있다.


사용예 #3

whereis 명령어로 명령어의 man페이지만을 확인하고자 할때에는 -m옵션을 사용한다.
다음은 find명령어의 man페이지위치를 확인하는 예이다.

[root@host3 command]# whereis -m find
find: /usr/share/man/man1/find.1.gz
[root@host3 command]#


이외에도 잘 사용하지는 않지만 whereis의 옵션에는 다음과 같은 것들이 있다.


-s 명령어의 소스만 찾는다.

-B 명령어의 실행파일을 찾을 경로를 지정하여 탐색한다.

-M 명령어의 매뉴얼 페이지를 찾을 경로를 지정하여 탐색한다.

-S 명령어의 소스파일을 찾을 경로를 지정하여 탐색한다.



크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/03/24 11:25 2004/03/24 11:25
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/189

w

서버에 접속한 사용자의 접속정보 및 작업정보확인하는 명령어이다.

w명령어는 일반사용자보다는 서버관리자가 주로 사용하는 명령어이다.
물론 일반사용자들도 누가 시스템에 접속해 있는가를 확인하기 위해서 w명령어를 사용하는 경우도 종종 있으나 서버관리차원에서 관리자가 주로 사용한다.


사용형식

w - [husfV] [user]

사용예 #1

다음은 간단히 w를 실행한 예이다.
위에서 설명한 것과 같이 여러가지 정보들을 확인할 수 있다.

[root@host3 root]# w
11:46pm up 10:17, 5 users, load average: 0.04, 0.09, 0.08
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.0.2 6:39pm 0.00s 0.38s 0.01s w
root :0 - 2:41pm ? 0.00s ? -
root pts/1 - 2:42pm 9:04m 0.00s ? -
bible1 pts/2 192.168.0.202 11:46pm 46.00s 0.05s 0.05s -bash
bible2 pts/3 192.168.0.111 11:46pm 1.00s 0.05s 0.05s -bash
[root@host3 root]#

위의 결과를 보면 현재 5명의 사용자가 로그인해 있으며 외부에서 로그인한 사용자는 3명이다.
즉, 192.168.0.2에서 root가 로그인하여 w명령어를 실행하였으며,
192.168.0.202에서 bible1이라는 사용자가 로그인하여 쉘명령어 상태이며,
192.168.0.111에서 bible2라는 사용자가 로그인하여 쉘명령어 상태에 있다.

이렇게 w 명령어는 로컬또는 원격지에서 접속한 사용자정보를 확인할때에 주로 사용한다.


사용예 #2

-h 옵션을 사용하면 head정보를 출력하지 않는 좀 더 간단한 정보를 보여준다.
즉, 앞의 예에서 보았던 head정보(uptime정보와 필드제목정보)를 보여주지 않는다.

[root@host3 root]# w -h
root pts/0 192.168.0.2 6:39pm 0.00s 0.39s 0.02s w -h
root :0 - 2:41pm ? 0.00s ? -
root pts/1 - 2:42pm 9:14m 0.00s ? -
bible1 pts/2 192.168.0.202 11:46pm 10:45 0.05s 0.05s -bash
bible2 pts/3 192.168.0.111 11:46pm 10:00 0.05s 0.05s -bash
[root@host3 root]#

사용예 #3

위의 "사용예 #2"은 head정보를 생략하였으나 출력되는 필드정보(login time정보, JCPU, PCPU정보를 생략함)를 생략하여 간략히 보여주는 옵션은 다음 예와 같이 -s이다.

[root@host3 root]# w -s
11:59pm up 10:29, 5 users, load average: 0.06, 0.11, 0.09
USER TTY FROM IDLE WHAT
root pts/0 192.168.0.2 0.00s w -s
root :0 - ? -
root pts/1 - 9:16m -
bible1 pts/2 192.168.0.202 13:04 -bash
bible2 pts/3 192.168.0.111 12:19 -bash
[root@host3 root]#

위의 결과 -s옵션을 사용하면 login정보, JCPU, PCPU정보를 생략하여 결과를 표시한다.


사용예 #4

이번에는 -f옵션을 사용하여 FROM필드의 값(접속 IP주소정보)을 생략하여 표시하는 예를 보도록 하자.

[root@host3 root]# w -f
12:02am up 10:32, 5 users, load average: 0.14, 0.10, 0.09
USER TTY LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 6:39pm 0.00s 0.42s 0.02s w -f
root :0 2:41pm ? 0.00s ? -
root pts/1 2:42pm 9:19m 0.00s ? -
bible1 pts/2 11:46pm 15:53 0.05s 0.05s -bash
bible2 pts/3 11:46pm 15:08 0.05s 0.05s -bash
[root@host3 root]#

위의 결과를 보다시피 -f옵션을 사용하면 FROM필드의 정보가 생략되어 보여진다.

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/03/24 11:23 2004/03/24 11:23
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/188

locate, slocate

다양한 패턴의 파일들을 찾고자 할때 사용하는 명령어입니다. 특정명령어를 찾고자할때에는 find나 which, whereis등을 사용하면 됩니다.

사용형식

slocate [-qi] [-d ] [--database=]
slocate [-i] [-r ] [--regexp=]
slocate [-qv] [-o ] [--output=]
slocate [-e ] [-f ] <[-l ] [-c] <[-U ] [-u]>
slocate [-Vh] [--version] [--help]


사용예 #1

현재 시스템에 존재하는 *.bak에 해당하는 파일을 찾은 예입니다.
*.bak파일을 찾아서 불필요한 파일을 삭제하고자 할때에 사용한 예입니다.

[root@host3 root]# locate *.bak
/var/lib/nfs/statd/sm.bak
/root/.mozilla/default/zlm8ufid.slt/prefs.bak
/usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi/Filter/cpp.pm.bak
/usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi/Filter/exec.pm.bak
/usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi/Filter/sh.pm.bak
/usr/local/lib/php.ini-zend_optimizer.bak
[root@host3 root]#


사용예 #2

다음은 10개의 *.conf파일만을 찾은 예입니다.
실제로 시스템에는 *.conf파일이 수없이 많이 존재하므로 한 페이지에 모두 볼 수가 없는 까닭으로 갯수를 지정한 것입니다.

[root@host3 root]# locate -n 10 *.conf
/boot/grub/grub.conf
/var/ftp/etc/ld.so.conf
/etc/X11/gdm/factory-gdm.conf
/etc/X11/gdm/gdm.conf
/etc/modules.conf
/etc/host.conf
/etc/nsswitch.conf
/etc/ld.so.conf
/etc/fonts/fonts.conf
/etc/esd.conf
[root@host3 root]#



크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2004/03/24 11:20 2004/03/24 11:20
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/187

« Previous : 1 : ... 81 : 82 : 83 : 84 : 85 : 86 : 87 : 88 : 89 : ... 101 : Next »

블로그 이미지

- 홍반장

Archives

Recent Trackbacks

Calendar

«   2024/11   »
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Statistics Graph

Site Stats

Total hits:
241551
Today:
81
Yesterday:
1266