UNIX¥³¥Þ¥ó¥É¥Þ¥Ë¥å¥¢¥ë

a2p¡¡awk ¥¹¥¯¥ê¥×¥È¤ò perl ¥¹¥¯¥ê¥×¥È¤ËÊÑ´¹¤¹¤ë

% a2p sample.awk > sample.pl
¢Í sample.awk (awk¥¹¥¯¥ê¥×¥È) ¤ò sample.pl (perl¥¹¥¯¥ê¥×¥È) ¤ËÊÑ´¹¤¹¤ë¡£
FreeBSD ¤Ç¤Ï /usr/bin/a2p ¤¬ perl4 ÍÑ¡¢package ¤Î perl5 ¤Ë´Þ¤Þ¤ì¤ë /usr/local/bin/a2p ¤¬ perl5 ÍÑ¡£
>> ¥³¥Þ¥ó¥É awk *   perl *

a2ps¡¡¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤ò Postscript ¤ËÊÑ´¹¤¹¤ë

Postscript ¤È¤Ï¥×¥ê¥ó¥¿ÍѤθÀ¸ì¤Ç¤¢¤ë¡£
% a2ps file.txt | lpr -P printername (BSD ·Ï)
% a2ps file.txt | lp -d printername (SystemV ·Ï)
¤Ê¤É¤È¡¢Postscript ¥Ç¡¼¥¿¤ò lpr¡¦lp ¥³¥Þ¥ó¥É¤Ç°õºþ¤Ç¤­¤ë¡£
>> ¥³¥Þ¥ó¥É dvi2ps *   gs *   ghostview *

ac¡¡¥í¥°¥¤¥ó»þ´Ö¤Îµ­Ï¿¤òɽ¼¨

¥æ¡¼¥¶ÊÌ¤Î¥í¥°¥¤¥ó»þ´Ö¤Îµ­Ï¿¤òɽ¼¨¤¹¤ë¡£
% ac
total 42.99
¤³¤ì¤Ï¡¢ac ¤ò¼Â¹Ô¤·¤¿¥æ¡¼¥¶¤Ï 42.99 »þ´Ö¥í¥°¥¤¥ó¤·¤Æ¤¤¤¿¡¢¤È¤¤¤¦¤³¤È¡£¤¿¤À¤·¡¢/var/log/wtmp ¤ÎÆâÍÆ¤ò¸µ¤Ë»þ´Ö¤ò·×»»¤¹¤ë¤Î¤Ç¡¢/var/log/wtmp ¤ò¥¯¥ê¥¢¤·¤Æ¤·¤Þ¤¦¤È¥í¥°¥¤¥ó»þ´Ö¤¬0¤ËÌá¤Ã¤Æ¤·¤Þ¤¦¡£-p ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¡¢ËèÆü¤Î»ÈÍÑ»þ´Ö¤òɽ¼¨¤Ç¤­¤ë¡£
% ac -p
Dec 17 total 2.15
Dec 18 total 6.47
Dec 19 total 2.54
Dec 20 total 3.36
Dec 21 total 10.26
Dec 22 total 4.20

¥³¥Þ¥ó¥É̾¤¬»÷¤Æ¤¤¤ë¤¬¡¢accton ¤È¤ÏľÀܤϴط¸¤Ê¤¤¡£
>> ¥³¥Þ¥ó¥É accton *   lastcomm *   sa *

accton¡¡¥¢¥«¥¦¥ó¥È¾ðÊó¥í¥°¥Õ¥¡¥¤¥ëºîÀ®¤Îµö²Ä/¶Ø»ß

ÉáÄ̤ÎUNIX¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¥¢¥«¥¦¥ó¥È¾ðÊó¥í¥°¥Õ¥¡¥¤¥ë¤Ïµ­Ï¿¤µ¤ì¤Ê¤¤¤Î¤Ç¡¢¥í¥°¤ò¼è¤ê¤¿¤¤¾ì¹ç¤ÏÌÀ¼¨Åª¤Ë»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£

°ìÈÌŪ¤Ë¥í¥°¥Õ¥¡¥¤¥ë¤Ï /var/account/acct ¤Ç¤¢¤ë¡£/var/account/acct ¤¬Â¸ºß¤·¤Ê¤«¤Ã¤¿¤é¡¢¤Þ¤º
# touch /var/account/acct
¤Ç¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¡¢¤½¤Î¸å
# accton /var/account/acct
¤È¤¹¤ë¤È¡¢¤½¤ì°Ê¹ß¤Ë¼Â¹Ô¤µ¤ì¤¿¥³¥Þ¥ó¥É̾¤¬¥í¥°¤Ëµ­Ï¿¤µ¤ì¤ë¡£¤³¤Îµ­Ï¿¤Ï sa ¥³¥Þ¥ó¥É¤ä lastcomm ¥³¥Þ¥ó¥É¤Ç¸«¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¥í¥°ºîÀ®¤òÄä»ß¤·¤¿¤¤¾ì¹ç¤Ï¡¢°ú¿ô¤òÍ¿¤¨¤º
# accton
¤È¤¹¤ë¡£FreeBSD¤Ç¤Ï /etc/rc.conf ¤Ç¥í¥°ºîÀ®¤Î¥ª¥ó/¥ª¥Õ¤ò»ØÄê¤Ç¤­¤ë¡£
>> ¥³¥Þ¥ó¥É ac *   lastcomm *   sa *

adduser¡¡¿·µ¬¥æ¡¼¥¶¤òÄɲ乤ë (FreeBSD)

68user ¤È¤¤¤¦¥æ¡¼¥¶¤ò¿·¤·¤¯ÅÐÏ¿¤¹¤ë¾ì¹ç¤ÎÎã¤ò°Ê²¼¤Ë¼¨¤¹¡£
# adduser
Username: 68user
¢Í ¥æ¡¼¥¶Ì¾¤Ï¡Ö68user¡×
Full name: 68user
¢Í Full name ¤â¡Ö68user¡×¡£²ñ¼Ò¤ä³Ø¹»¤Ê¤É¤Ê¤é¡ÖYamada Taro¡×¤Ê¤É¤È¤¹¤ì¤Ð¤è¤¤¡£
Uid (Leave empty for default): 2000
¢Í UID ¤Ï 2000¡£
Login group [68user]: users
¢Í 68user ¤¬Â°¤¹¤ë¥°¥ë¡¼¥×¤Ï¡Öusers¡×(´û¤Ë¸ºß¤·¤Æ¤¤¤ë users ¤È¤¤¤¦¥°¥ë¡¼¥×¤Ë°¤¹¤ë)
Login group is users. Invite 68user into other groups? []: wheel
¢Í ¾¤Î¥°¥ë¡¼¥×¤Ë¤â°¤¹¤ë¤«? ¤Èʹ¤«¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢su ¤Ç root ¤Ë¤Ê¤ë¤¿¤á wheel ¥°¥ë¡¼¥×¤Ë¤â°¤¹¤ë¤è¤¦ÀßÄꤹ¤ë¡£
Login class [default]: default
¢Í Login class ¤Ï default ¤Î¤Þ¤Þ¡£
Shell (sh csh tcsh nologin) [sh]: tcsh
¢Í ¥í¥°¥¤¥ó¥·¥§¥ë¤ò»ØÄê¡£¤³¤Î¾ì¹ç¤Ï sh¡¦csh¡¦tcsh¡¦nologin ¤«¤éÁª¤Ù¡¢¤È¸À¤Ã¤Æ¤¤¤ë¡£nologin ¤È¤Ï /nonexistent ¤Î¤³¤È¤Ç¡¢Î¾Êý¤È¤â¼Â¼ÁŪ¤Ë telnet ¤Ê¤É¤Ç¥í¥°¥¤¥ó¤Ç¤­¤Ê¤¤¤³¤È¤òɽ¤¹¡£¥í¥°¥¤¥ó¥·¥§¥ë¤ÎÁªÂò»è¤Ï¡¢/etc/shells ¤ÎÆâÍÆ¤Ë¤è¤Ã¤ÆÊѤï¤ë¡£¤³¤³¤Ç¤Ï¥í¥°¥¤¥ó¥·¥§¥ë¤È¤·¤Æ tcsh ¤òÁªÂò¡£
Home directory [/home/68user]: /home/68user
¢Í ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ï¥Ç¥Õ¥©¥ë¥È¤Î /home/68user
Use password-based authentication? [yes]: yes
¢Í ¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤ëǧ¾Ú¤ò»ÈÍѤ¹¤ë
Use an empty password? (yes/no) [no]: no
¢Í ¶õ¤Î¥Ñ¥¹¥ï¡¼¥É¤Ï»È¤ï¤Ê¤¤
Use a random password? (yes/no) [no]: no
¢Í ¥é¥ó¥À¥à¤Ë¼«Æ°À¸À®¤·¤¿¥Ñ¥¹¥ï¡¼¥É¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï yes
Enter password:
¢Í ¥Ñ¥¹¥ï¡¼¥É¤òÆþÎÏ¡£¥¨¥³¡¼¥Ð¥Ã¥¯¤Ï¤µ¤ì¤Ê¤¤¤³¤È¤ËÃí°Õ¡£
Enter password again:
¢Í ºÆÅ٥ѥ¹¥ï¡¼¥É¤òÆþÎÏ¡£¥¨¥³¡¼¥Ð¥Ã¥¯¤Ï¤µ¤ì¤Ê¤¤¤³¤È¤ËÃí°Õ¡£
Lock out the account after creation? [no]: no
¢Í ºîÀ®¤·¤¿¥¢¥«¥¦¥ó¥È¤òÅà·ë¤·¤Æ¤ª¤¯¤Ê¤é yes
Username : 68user
Password : *****
Full Name : 68user
Uid : 2000
Class :
Groups : users wheel
Home : /home/68user
Shell : /bin/tcsh
Locked : no
OK? (yes/no): yes
¢Í ³Îǧ¤Î¤¿¤á¡¢ÆþÎϤ·¤¿¾ðÊó¤¬É½¼¨¤µ¤ì¤ë¡£¤³¤ì¤Ç¤è¤¤¤Ê¤é yes ¤È¤¹¤ë¡£
adduser: INFO: Successfully added (68user) to the user database.
¢Í /etc/passwd¡¦/etc/master.passwd¡¦/etc/group ¤ËÈ¿±Ç¤µ¤ì¤¿¡£
Add another user? (yes/no): no
¢Í °ú¤­Â³¤­Â¾¤Î¥æ¡¼¥¶¤òÄɲ乤뤫? ¤³¤³¤Ç¤Ï no ¤È¤·¤Æ½ªÎ»¤¹¤ë¡£
Goodbye!

adduser ¤ò»È¤ï¤º¡¢/etc/master.passwd ¤òľÀÜÊÔ½¸¤·¤Æ¡¢pwd_mkdb ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¼ê¤â¤¢¤ë(ÉáÄ̤ÏÁÇľ¤Ë adduser ¤ò»È¤¦¤¬)¡£¤Ä¤Þ¤ê adduser ¥³¥Þ¥ó¥É¤Ï¡¢¼«Æ°Åª¤Ë /etc/master.passwd ¤òÊÔ½¸¤·¡¢pwd_mkdb ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¥×¥í¥°¥é¥à¤Ê¤Î¤Ç¤¢¤ë¡£

FreeBSD ¤Ç¤Î¥¢¥«¥¦¥ó¥ÈÄÉ²Ã¤Ï adduser ¤À¤¬¡¢Linux¡¦Solaris¡¦NetBSD ¤Ç¤Ï useradd ¥³¥Þ¥ó¥É¤ò»È¤¦¡£
>> ¥³¥Þ¥ó¥É rmuser *   chsh *   vipw *   pwd_mkdb *   useradd *
>> ÀßÄê¥Õ¥¡¥¤¥ë /etc/master.passwd *   /etc/passwd *   /etc/group *

afterstep¡¡NEXTSTEP É÷¤Î¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã

¤«¤Ã¤Á¤ç¤¤¤¤³°¸«¤È½ÀÆð¤Ê¥«¥¹¥¿¥Þ¥¤¥ºµ¡Ç½¤¬¿Íµ¤¤¬¤¢¤ë¡£³Î¤«¤Ë¸«±É¤¨¤Ï¤è¤¤¤¬¿§¿ô¤ò¤«¤Ê¤ê¶ô¤¦¤Î¤Ç¡¢X ¤¬ 8bpp (ºÇÂç256¿§) ¤À¤È¤«¤Ê¤ê¶ì¤·¤¤¡£¤³¤Î¾ì¹ç¡¢¸º¿§¤·¤¿¥¢¥¤¥³¥ó
¤ò»È¤¦¤È¤è¤¤¡£

AfterStep ¤Ï¥æ¡¼¥¶¸ÇÍ­¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤È¤·¤Æ ~/.steprc ¤òÆÉ¤ß¹þ¤à¡£¤½¤ì¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï/usr/X11R6/lib/X11/afterstep/system.steprc ¤¬¥·¥¹¥Æ¥à¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤È¤·¤ÆÍøÍѤµ¤ì¤ë¡£¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ë ~/.steprc ¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ï¡¢¤Þ¤º
% cp /usr/X11R6/lib/X11/afterstep/system.steprc ~/.steprc
% chmod +w ~/.steprc
¤È¤·¤Æ¥·¥¹¥Æ¥àÉÕ°¤ÎÀßÄê¤ò¥³¥Ô¡¼¤·¡¢¤½¤Î¸å ~/.steprc ¤ò¹¥¤­¤Ê¤è¤¦¤Ë¤¤¤¸¤ì¤Ð¤è¤¤¡£

¤Þ¤¿¡¢¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤ò (twm ¤ä fvwm ¤«¤é) afterstep ¤ËÊѤ¨¤ë¤Ë¤Ï¡¢~/.xsession (¤¢¤ë¤¤¤Ï ~/.xinitrc) ¤ÎºÇ¸å¤Ë exec afterstep ¤È½ñ¤±¤Ð¤è¤¤¡£afterstep-1.0 ¤ÎÀßÄêÊýË¡¤Ï fvwm ·Ï¤È¤Û¤Ü¶¦Ä̤À¤Ã¤¿¤¬¡¢afterstep-1.4 °Ê¹ß¤Ï¤«¤Ê¤êÊѤï¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£

¤Á¤Ê¤ß¤Ë¡¢Åö¥Ú¡¼¥¸´ÉÍý¿Í¤Ï¡¢afterstep-1.0 ¤ò¹ñºÝ²½¤·¤¿ afterstep-1.0-i18n ¤ò»ÈÍѤ·¤Æ¤¤¤ë¡£FreeBSD ¤Ç¤Ï
% env LANG=ja_JP.EUC afterstep &
¤È¤¹¤ë¤È¡¢¥¿¥¤¥È¥ë¥Ð¡¼¤ä¥á¥Ë¥å¡¼¤ËÆüËܸ줬ɽ¼¨¤Ç¤­¤ë¡£
>> ¥³¥Þ¥ó¥É twm *   fvwm *
>> ÀßÄê¥Õ¥¡¥¤¥ë ~/.xinitrc *   ~/.xsession *

agrep¡¡Û£Ë渡º÷¤ò¹Ô¤¦ grep

grep¡¦egrep¡¦fgrep ¤Ï»ØÄꤷ¤¿¥Ñ¥¿¡¼¥ó¤Ë¸·Ì©¤Ë¥Þ¥Ã¥Á¤¹¤ë¹Ô¤òÁª¤Ó½Ð¤¹¤¬¡¢agrep ¤ÏÛ£Ëæ¸¡º÷¤ò¹Ô¤¤¡¢»÷¤Æ¤¤¤ë¹Ô¤òÁª¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤­¤ë¡£

¡Ö»÷¤Æ¤¤¤ë¤«¤É¤¦¤«¡×¤Ï agrep ¤Î¥ª¥×¥·¥ç¥ó¤Ç¡¢¤¤¤¯¤Ä¤Þ¤Ç¤Î¥¨¥é¡¼¤Î¿ô¤òµöÍÆ¤¹¤ë¤«¤Ç»ØÄꤹ¤ë¡£
% cat file.txt
hoga
hoge
moge
fuga
% agrep -1 hoge file.txt
hoga
hoge
¢Í ¥¨¥é¡¼¤ò 1 ¤Ä¤Þ¤ÇµöÍÆ¤¹¤ë
% agrep -2 hoge file.txt
hoga
hoge
moge
¢Í ¥¨¥é¡¼¤ò 2 ¤Ä¤Þ¤ÇµöÍÆ¤¹¤ë
% agrep hoge file.txt
hoge
¢Í µöÍÆ¤¹¤ë¥¨¥é¡¼¿ô¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï¡¢Ä̾ï¤Î grep ¤ÈƱ¤¸Æ°ºî¤ò¤¹¤ë¡£

-B ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢¤Ò¤È¤Ä¤º¤ÄµöÍÆ¤¹¤ë¥¨¥é¡¼¿ô¤ò¤¢¤²¤Æ¤¤¤­¡¢¥Þ¥Ã¥Á¤·¤¿Ãʳ¬¤Çưºî¤ò»ß¤á¤ë
% agrep -B hogo file.txt
best match has 1 error, there are 2 matches, output them? (y/n) y
hoga
hoge
¢Í µöÍÆ¥¨¥é¡¼¿ô 0 ¤Ç¥Þ¥Ã¥Á¤·¤Ê¤«¤Ã¤¿¤¿¤á¡¢µöÍÆ¥¨¥é¡¼¿ô¤ò 1 ¤Ë¤¢¤²¤ÆºÆ¸¡º÷¤·¤¿¤È¤³¤í¡¢2 ¤Ä¥Þ¥Ã¥Á¤·¤¿

¤Ê¤ª¡¢grep¡¦egrep¡¦fgrep ¤Ï UNIX ÅÁÅý¤Î¥³¥Þ¥ó¥É¤Ç¤¢¤ë¤¬¡¢agrep ¤Ï¿·»²¼Ô¤Ç¡¢¥á¥ó¥Æ¥Ê¥ó¥¹¤µ¤ì¤Æ¤ª¤é¤º¡¢OS ɸ½à¥³¥Þ¥ó¥É¤Ç¤Ï¤Ê¤¤¡£¤½¤¦¤¤¤¦°ÕÌ£¤Ç¤Ï agrep ¤Ï grep ¥Õ¥¡¥ß¥ê¡¼¤ÎÃç´Ö¤È¤Ï¸À¤¨¤Ê¤¤¡£
>> ¥³¥Þ¥ó¥É grep *   egrep *   fgrep *   zgrep *

alias¡¡¥³¥Þ¥ó¥É¤ÎÊÌ̾ (¥¨¥¤¥ê¥¢¥¹) ¤òÀßÄꤹ¤ë¡£¥·¥§¥ë¤ÎÆâÉô¥³¥Þ¥ó¥É¡£

¤¢¤ë¥³¥Þ¥ó¥É¤òÊ̤Υ³¥Þ¥ó¥É̾¤ÇÅÐÏ¿¤¹¤ë¤³¤È¤Ç¡¢Ä¹¤¤¥³¥Þ¥ó¥É̾¤Îû½Ì·Á¤òºî¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

csh¡¦tcsh ¤Î¾ì¹ç¤Ï
% alias ls "ls -lFA"
% alias du "du -k"
% alias memo "mule ~/lib/memo"
% alias f "find / -name '\!*' -print"
¤Ê¤É¤È¤¹¤ë¡£°ìÊý¡¢sh¡¦bash ¤Î¾ì¹ç¤Ï
% alias ls="ls -lFA"
¤È¡Ö=¡×¤Ç·ë¤Ð¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£

csh¡¦tcsh¡¦sh¡¦bash ¤È¤â¡¢¥³¥Þ¥ó¥É¤ÎÁ°¤Ë `\' ¤òÉÕ¤±¤ë¤³¤È¤Ç¡¢°ì»þŪ¤Ë¥¨¥¤¥ê¥¢¥¹¤ò²ò½ü¤Ç¤­¤ë¡£
% alias "ls ls -lFA"
% ls (ls -lFA ¤ÈƱ¤¸)
% \ls (alias ¤¬Ìµ¸ú¡£ÉáÄ̤Πls ¤ÈƱ¤¸)
% ls (ls -lFA ¤ÈƱ¤¸)

¥¨¥¤¥ê¥¢¥¹¤ò²ò½ü¤¹¤ë¤Ë¤Ï unalias ¤ò»È¤¦¡£alias ¥³¥Þ¥ó¥É¤ò°ú¿ô¤Ê¤·¤Ç¼Â¹Ô¤¹¤ë¤È¡¢¸½ºßÀßÄꤵ¤ì¤Æ¤¤¤ë¥¨¥¤¥ê¥¢¥¹¤Î°ìÍ÷¤òɽ¼¨¤¹¤ë¡£

ÉáÄÌ alias ¤ÎÀßÄê¤Ï¡¢~/.cshrc ¤ä ~/.profile ¤Ê¤É¤Ëµ­½Ò¤·¤Æ¤ª¤¯¡£¤³¤¦¤¹¤ë¤³¤È¤Ç¡¢¥í¥°¥¤¥ó¤¹¤ë¤È¼«Æ°Åª¤Ë alias ¤¬Í­¸ú¤Ë¤Ê¤ë¡£
>> ¥³¥Þ¥ó¥É unalias *

amp¡¡MPEG AUDIO Layer3 (MP3) ¥×¥ì¥¤¥ä¡¼

-q ¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Ê¤¤
>> ¥³¥Þ¥ó¥É mpg123 *   sox *   splay *   xaudio *

apache¡¡¹âµ¡Ç½WWW¥µ¡¼¥Ð

¥·¥§¥¢¡¢¿®ÍêÀ­¡¢ÃÎ̾Å٤ʤɡ¢Áí¹çŪ¤Ë¸«¤Æ°ìÈ֤褤¤È»×¤ï¤ì¤ë WWW ¥µ¡¼¥Ð¡£CGI¡¢SSI ¤Ï¤â¤Á¤í¤ó¡¢¥â¥¸¥å¡¼¥ë¤òÁȤ߹þ¤à¤³¤È¤Ç¿§¡¹¤Êµ¡Ç½¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤ë¡£
>> ¥³¥Þ¥ó¥É wwwstat *

appres¡¡X¤Î¥ê¥½¡¼¥¹¤ÎÀßÄê¤òɽ¼¨

Î㤨¤Ð kterm ¤Ë´Ø¤¹¤ë¸½ºß¤Î¥ê¥½¡¼¥¹ÀßÄê¤Î°ìÍ÷¤òɽ¼¨¤¹¤ë¤Ë¤Ï
% appres KTerm
¤È¤¹¤ë¡£
>> ¥³¥Þ¥ó¥É listres *

apropos¡¡¥­¡¼¥ï¡¼¥É¤Ë¥Þ¥Ã¥Á¤·¤¿¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤òɽ¼¨

¤¢¤ë¥­¡¼¥ï¡¼¥É¡¢Î㤨¤Ð¡Öfile¡×¤Ë¤Ä¤¤¤Æµ­½Ò¤·¤Æ¤¢¤ë¥Þ¥Ë¥å¥¢¥ë¤Î°ìÍ÷¤¬Íߤ·¤¤¾ì¹ç¤Ï
% apropos file
¤È¤¹¤ë¡£¤³¤ì¤Ï
% man -k file
¤ÈƱ¤¸¡£

apropos¡¦whatis ¤È¤â¡¢¸¡º÷ÂоݤȤʤë¤Î¤Ï³Æ¥Þ¥Ë¥å¥¢¥ë¤Î¡ÖNAME¡×¤Î¹àÌܤÀ¤±¤Ç¡¢¥Þ¥Ë¥å¥¢¥ë¤òÁ´Ê¸¸¡º÷¤·¤Æ¤¯¤ì¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¡£Î㤨¤Ð ls ¥³¥Þ¥ó¥É¤Î¥Þ¥Ë¥å¥¢¥ë¤Ï
NAME: ls - list directory contents
¤È¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢ls ¥³¥Þ¥ó¥É¤ò¸¡º÷¤¹¤ë¤Ë¤Ï¡Ölist¡×¡Ödirectory¡×¡Öcontents¡×¤Î¤¤¤º¤ì¤«¤ò¥­¡¼¥ï¡¼¥É¤Ë»ØÄꤷ¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£

apropos ¤Ï»ØÄê¤Îʸ»úÎ󤬰ìÉô¤Ë¥Þ¥Ã¥Á¤·¤Æ¤¤¤ì¤Ðɽ¼¨¤¹¤ë¡£¤Ä¤Þ¤ê¡¢
% apropos dir
ls(1) - list directory contents
¤È¡¢¡Ödir¡×¤Ï¡Ödirectory¡×¤Ë¥Þ¥Ã¥Á¤¹¤ë¤¬¡¢whatis ¤Ï´°Á´¤Ë¥Þ¥Ã¥Á¤·¤Ê¤¤¤Èɽ¼¨¤µ¤ì¤Ê¤¤¡£¤Ä¤Þ¤ê
% whatis dir
¤Ç¤Ï¡¢ls ¥³¥Þ¥ó¥É¤Ïɽ¼¨¤µ¤ì¤Ê¤¤¡£
>> ¥³¥Þ¥ó¥É man *   whatis *

ar¡¡¥¢¡¼¥«¥¤¥Ð

¥Õ¥¡¥¤¥ë¤ò¤Þ¤È¤á¤ÆÊݴɤ·¤Æ¤ª¤¯¤¿¤á¤Î¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡£ÌÜŪ¤È¤·¤Æ¤Ï tar ¤ÈƱ¤¸¤À¤¬¡¢°ìÈ̥桼¥¶¤¬»È¤¦¤³¤È¤Ï¤¢¤Þ¤ê¤Ê¤¤¡£Î㤨¤Ð¡¢/usr/lib/lib*.a ¤Ê¤É¤Î¥é¥¤¥Ö¥é¥ê¤Ï ar ¤Ç¥¢¡¼¥«¥¤¥Ö¤µ¤ì¤Æ¤¤¤ë¡£

-t ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢¥¢¡¼¥«¥¤¥Ö¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Î°ìÍ÷¤òɽ¼¨¤¹¤ë¡£
% ar -t /usr/lib/libc.a
__.SYMDEF
i386_set_ldt.o
i386_get_ldt.o
xdr_stdio.o
xdr_float.o
svc_tcp.o
svc_simple.o
svc_run.o
svc_raw.o
rpc_commondata.o
pmap_rmt.o
(ά)
>> ¥³¥Þ¥ó¥É ld *   cc *

archie¡¡¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç FTP ¥µ¥¤¥È¤«¤é¸¡º÷¤¹¤ë¡£

archie¤Ë¤Ä¤¤¤Æ¤Î¾Ü¤·¤¤ÀâÌÀ¤Ï xarchie ¤Ø¡£
>> ¥³¥Þ¥ó¥É xarchie *

arithmetic¡¡´Êñ¤Ê»»¿ô¤ÎÌäÂê¤ò½ÐÂꤹ¤ë

-o +-x/ ­¤·»»¡¢°ú¤­»»¡¢¤«¤±»»¡¢³ä¤ê»»¤ò½ÐÂꤹ¤ë¡£°ú¤­»»¤È¤«¤±»»¤Î¤ß¤ò¤ä¤ê¤¿¤«¤Ã¤¿¤é -o -x ¤È¤¹¤ë¡£

as¡¡¥¢¥»¥ó¥Ö¥é

C ¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¾ì¹ç¤Ï¡¢cc ¤¬¼«Æ°Åª¤Ë as ¤ò¸Æ¤ó¤Ç¤¯¤ì¤ë¡£
>> ¥³¥Þ¥ó¥É gas *   gcc *

astrolog¡¡ÀêÀ±½Ñ¤Î¥×¥í¥°¥é¥à¤é¤·¤¤

at¡¡¼Â¹Ô»þ´Ö¤ò»ØÄꤷ¤Æ¥³¥Þ¥ó¥É¤ò¼Â¹Ô

% at 10am -f foo.sh
¢Í ¸áÁ°10»þ¤Ë¥·¥§¥ë¥¹¥¯¥ê¥×¥È foo.sh ¤ò¼Â¹Ô
% echo ls | at 4pm + 2 days
¢Í 2Æü¸å¤Î¸á¸å4»þ¤Ë ls ¤ò¼Â¹Ô
>> ¥³¥Þ¥ó¥É crontab *   atq *   sleep *

atq¡¡at ¤Ç»ØÄꤵ¤ì¤¿¥³¥Þ¥ó¥É¤Î¥ê¥¹¥È¤òɽ¼¨

>> ¥³¥Þ¥ó¥É at *

awk¡¡¥Æ¥­¥¹¥ÈÀ°·Á¥Ä¡¼¥ë(¥Ñ¥¤¥×)

°ìÀÎÁ°¤Ï¡¢perl ¤Î¤è¤¦¤Ë¥Æ¥­¥¹¥È½èÍý¥Ä¡¼¥ë¤È¤·¤Æ¹­¤¯»È¤ï¤ì¤Æ¤­¤¿¡£

Î㤨¤Ð
% ls -l | awk '{print $5,$9}'
¤È¤¹¤ë¤³¤È¤Ç¡¢¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤È¥Õ¥¡¥¤¥ë̾¤Î°ìÍ÷¤¬ÆÀ¤é¤ì¤ë¡£¤³¤ÎÎã¤Ï¡¢ÆþÎϤò¶õÇò¤Ç¶èÀڤꡢ5ÈÖÌܤÈ9ÈÖÌܤÎÎó¤ò½ÐÎϤ·¤Æ¤¤¤ë¡£¶õÇò°Ê³°¤ò¶èÀÚ¤ê¤È¤·¤¿¤±¤ì¤Ð¡¢-F ¥ª¥×¥·¥ç¥ó¤ò»È¤¨¤Ð¤è¤¤¡£Î㤨¤Ð `.' ¤ò¶èÀÚ¤ê (¥Õ¥£¡¼¥ë¥É¥»¥Ñ¥ì¡¼¥¿¤È¤¤¤¦) ¤È¤·¤¿¤±¤ì¤Ð
% ls -l | awk -F . '{print $1}'
¤È¤¹¤ë¡£

{} ¤ÎÁ°¤ËǤ°Õ¤ÎÀµµ¬É½¸½¤ò½ñ¤¯¤È¡¢¤½¤³¤Ë¥Þ¥Ã¥Á¤·¤¿¹Ô¤ËÂФ·¤Æ {} Æâ¤¬¼Â¹Ô¤µ¤ì¤ë¡£
% ls -l | awk '/abc/ {print $5,$9}'
¤Ï¡¢abc ¤ò´Þ¤à¥Õ¥¡¥¤¥ë̾¤È¡¢¤½¤Î¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤òɽ¼¨¤¹¤ë¡£

ÆÃ¼ì¤Ê¥Ñ¥¿¡¼¥ó¤È¤·¤Æ BEGIN ¤È END ¤¬¤¢¤ë¡£BEGIN ¤ÏºÇ½é¤Ë¼Â¹Ô¤µ¤ì¡¢END ¤ÏºÇ¸å¤Ë¼Â¹Ô¤µ¤ì¤ë¡£
% ls -l | awk 'BEGIN { print "START!"} {total+=$5; print $9} END {print "size total="total} '
¤³¤ì¤Ï¡¢BEGIN {¡Ä} ¤ÇºÇ½é¤Ë START! ¤Èɽ¼¨¤·¡¢³Æ¹Ô¤´¤È¤Ë¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤òÊÑ¿ô total ¤Ë²Ã»»¤·¡¢END {¡Ä} ¤ò»È¤Ã¤ÆºÇ¸å¤Ë¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤Î¹ç·×¤òɽ¼¨¤¹¤ë¤â¤Î¤Ç¤¢¤ë¡£

¥¹¥¯¥ê¥×¥È¤È¤·¤ÆÆ°ºî¤µ¤»¤ë¤Ë¤Ï¡¢-f ¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤Æ
#!/usr/bin/awk -f
BEGIN { print "START!"}
{total+=$5; print $9}
END {print "size total="total}
¤Ê¤É¤È½ñ¤¯¡£

awk ¤Ï°ìºý¤ÎËܤ¬½ñ¤±¤ë¤Û¤É¹âµ¡Ç½¤Ê¤Î¤Ç¡¢¤³¤³¤Ç¤Ï¤³¤ì°Ê¾å¤Ï²òÀ⤷¤Ê¤¤¡£¤¿¤À¤·¡¢awk ¤Ï¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤È¤¤¤¦¤è¤ê¡¢¹Ôñ°Ì¤ÎÊÑ´¹¥Ä¡¼¥ë¤È¸À¤Ã¤¿Êý¤¬Å¬ÀÚ¤À¤È»×¤¦¡£Â絬ÌÏ¤Ê¥×¥í¥°¥é¥à¤òºîÀ®¤¹¤ë¤Î¤Ë¤Ï¡¢ÀäÂФ˸þ¤«¤Ê¤¤¡£º£¤«¤é awk ¤ò³Ð¤¨¤ë¤è¤ê¤Ï¡¢perl ¤« ruby ¤ÎÊÙ¶¯¤ò¤·¤¿Êý¤¬¤è¤¤¤À¤í¤¦¡£
>> ¥³¥Þ¥ó¥É gawk *   perl *   sed *   tr *
>> ÆÉ¤ßÊý awk *

banner¡¡Â礭¤¤Ê¸»ú¤ò½ÐÎÏ

Â礭¤¤Ê¸»ú¤ò½ÐÎϤ¹¤ë¡£²èÌ̾å¤Ë½ÐÎϤ·¡¢Áàºî¼Ô¤¬¤ï¤«¤ê¤ä¤¹¤¯¤¹¤ë¤¿¤á¤Ë»È¤¦¡£¸µ¡¹¤Ï¥×¥ê¥ó¥¿½ÐÎϤÎɽ»æºîÀ®ÍѤ˻Ȥï¤ì¤Æ¤¤¤¿¤Èʹ¤¤¤¿µ­²±¤¬¤¢¤ë¤è¤¦¤Ê¡¢¤Ê¤¤¤è¤¦¤Ê¡£

Solaris ¤ä HP-UX ¤Ê¤É SysV ·Ï UNIX ¤Ç¤Ï°Ê²¼¤Î¤è¤¦¤Ê½ÐÎϤˤʤ롣
% banner hoge
 #    #   ####    ####   ######
 #    #  #    #  #    #  #
 ######  #    #  #       #####
 #    #  #    #  #  ###  #
 #    #  #    #  #    #  #
 #    #   ####    ####   ######

°ìÊý¡¢FreeBSD ¤Ç¤Ï¤³¤ó¤Ê¤³¤È¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦ (ËÜÅö¤Ï¤â¤Ã¤ÈÂ礭¤¤¤Î¤Ç¡¢¾¯¤·½Ì¾®¤·¤Æ¤¢¤ë)¡£
% banner hoge
                     ###                                                        ###
                     ###                                                        ###
                     ##############################################################
                     ##############################################################
                     ##############################################################
                     ##############################################################
                     ##############################################################
                     ###                          ###
                     ###                           ###
                                                    ####
                                                    ####
                                                     ####
                                                     #####
                                                    ######
                     ###                            ######
                     #####################################
                     ####################################
                     ####################################
                     ###################################
                     #################################
                     #############################
                     ###

                                 ############
                              ###################
                            ######################
                          ###########################
                        ##############################
                       #########               #########
                      ######                      ######
                      ####                           ####
                      ###                             ###
                     ###                               ###
                     ###                               ###
                     ###                               ###
                     ###                              ####
                      ###                             ###
                      ####                           ####
                      ######                      ######
                       #########               #########
                        ###############################
                          ###########################
                           #########################
                              ###################
                                 ############
(ά)

FreeBSD ¤Ç¤Ï -w ¥ª¥×¥·¥ç¥ó¤Çʸ»úÉý¤ò»ØÄê¤Ç¤­¤ë¤Î¤Ç³èÍѤ·¤è¤¦¡£
% banner -w 28 hoge
       #                 #
       ###################
       ###################
                 #
                 #
       ###########
       ##########
           ###
        #########
       ##       ##
       #         #
       #         #
       ###     ###
         #######
   ##        ##
 ##   ###  ######
 #    ### ##    ##
 #   ###  #      #
 #   ###  ##    ##
 ######    #######
                  ##
           ###
        #########
       ##   #   ##
       #    #    #
       #    #    #
        #   #####
            ####

base64¡¡BASE64 ¥¨¥ó¥³¡¼¥À¡¦¥Ç¥³¡¼¥À

base64 ¤Ï¡¢¥¨¥ó¥³¡¼¥Éµ¬Â§¤Î¤Ò¤È¤Ä¤Ç¤¢¤ë BASE64 µ¬³Ê¤Ë¤Î¤Ã¤È¤Ã¤¿ÊÑ´¹¤ò¹Ô¤¦¥³¥Þ¥ó¥É¤Ç¤¢¤ë¡£

ʸ»úÎó¤ò¥¨¥ó¥³¡¼¥É
% echo 'abc' |base64 -e
YWJjCg==
ʸ»úÎó¤ò¥Ç¥³¡¼¥É
% echo 'YWJjCg==' | base64 -d
abc
¥Õ¥¡¥¤¥ë¤ò¥¨¥ó¥³¡¼¥É
% base64 -e sample.txt
¥Õ¥¡¥¤¥ë¤ò¥Ç¥³¡¼¥É
% base64 -d sample.txt
>> ¥³¥Þ¥ó¥É uuencode *   uudecode *   nkf *   openssl *

basename¡¡¥Ñ¥¹Ì¾¡Ü¥Õ¥¡¥¤¥ë̾¤«¤é¥Ñ¥¹Ì¾¤òºï½ü¤¹¤ë

Í¿¤¨¤é¤ì¤¿Ê¸»úÎó¤ÎºÇ¸å¤Î / °Ê¹ß¤òɽ¼¨¤¹¤ë¥³¥Þ¥ó¥É¤Ç¤¢¤ë¡£
% basename /usr/local/bin/vi
vi
% basename /hoge/fuga
fuga
¥Õ¥¡¥¤¥ë¤¬¼ÂºÝ¤Ë¸ºß¤¹¤ë¤«¤É¤¦¤«¤Ï basename ¤Ï¥Á¥§¥Ã¥¯¤·¤Ê¤¤¡£Ã±¤Ëʸ»úÎó¤ò²Ã¹©¤·¡¢·ë²Ì¤ò½ÐÎϤ¹¤ë¤À¤±¤Î¥³¥Þ¥ó¥É¤Ç¤¢¤ë¡£

¤Þ¤¿¡¢
% basename foo.dat .dat
¤È¤¹¤ë¤È¡¢foo.dat¤«¤é.dat¤òºï½ü¤·¤¿¤â¤Î¤òɽ¼¨¤¹¤ë¡£¤³¤ì¤ò»È¤Ã¤Æ¡¢
% foreach i ( *.c.orig )
foreach? cp $i `basename $i .orig`
foreach? end
¤È¤¹¤ë¤È¡¢DOS ¤Ç¤¤¤¦
COPY *.c.orig *.c
¤¬¼Â¸½¤Ç¤­¤ë (foreach ¤Ï csh¡¦tcsh ¤Î¤ß¡£sh¡¦bash ¤Ï for ¤ò»È¤¦¤³¤È)¡£¤³¤ì¤ÈƱ¤¸¤³¤È¤ò basename ¤ò»È¤ï¤º¹Ô¤¦¤³¤È¤â¤Ç¤­¤ë¡£foreach¡¦for ¤ÎÀâÌÀ¤ò»²¾È¡£
>> ¥³¥Þ¥ó¥É dirname *   realpath *   for *   foreach *

bash¡¡¹âµ¡Ç½ÈÇ sh¡£¥Ð¥Ã¥·¥å¡£

sh ¤Î¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹µ¡Ç½¤ò¶¯²½¤·¤¿¤â¤Î¡£

Linux ÊýÌ̤Ǥϡ¢¥Ç¥Õ¥©¥ë¥È¤Î¥í¥°¥¤¥ó¥·¥§¥ë¤Ï bash ¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤³¤È¤¬Â¿¤¤¡£¤Þ¤¿¡¢Linux ¤Ç¤Ï /bin/sh ¤Ï /bin/bash ¤Î¥Ï¡¼¥É¥ê¥ó¥¯¤È¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢sh ¤Ç¤â bash ¤Ç¤âµóư¤ÏƱ¤¸¤Ç¤¢¤ë¡£Linux °Ê³°¤Î OS ¤Ç¤Ï¡¢sh ¤È bash ¤ÏÊÌʪ¤Ç¤¢¤ë¡£

bash ¤È¤¤¤¦Ì¾Á°¤Ï Bourne-Again SHell ¤ÎƬʸ»ú¤ò¼è¤Ã¤¿¤â¤Î¡£sh ¤Îºî¼Ô¤¬¥Ü¡¼¥ó (Bourne) »á ¤Ç¤¢¤ë¤³¤È¤«¤é¡¢Bourne ¤È Born (À¸¤Þ¤ì¤ë) ¤ò¤«¤±¤Æ¡¢¡ÖÀ¸¤Þ¤ìÊѤï¤Ã¤¿¥·¥§¥ë¡×¤È¤·¤ÆÌ¿Ì¾¤µ¤ì¤¿¡£
>> ¥³¥Þ¥ó¥É sh *   csh *   tcsh *
>> ÀßÄê¥Õ¥¡¥¤¥ë ~/.profile *   ~/.bash_profile *
>> ÍѸ콸 ¥ê¥À¥¤¥ì¥¯¥È *   ¥·¥§¥ë¥¹¥¯¥ê¥×¥È *
>> ÆÉ¤ßÊý bash *

bc¡¡·×»»µ¡

·×»»¤ò¹Ô¤¦¡£
% bc
2+4 (ÆþÎÏ)
6
a=34/2 (ÆþÎÏ)
a-2 (ÆþÎÏ)
15
quit (½ªÎ»)
¢Í quit ¤ÎÂå¤ï¤ê¤Ë EOF (Ctrl-d) ¤Ç½ªÎ»¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¡£

¾®¿ôÅÀ°Ê²¼¤ÎÍ­¸ú·å¿ô¤Ï scale ¤È¤¤¤¦ÊÑ¿ô¤ÇÀßÄê¤Ç¤­¤ë (¥Ç¥Õ¥©¥ë¥È¤Ï0)¡£
% bc
2/3
0
¢Í ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï scale=0 ¤Ê¤Î¤Ç¾®¿ôÅÀ°Ê²¼¤Ïɽ¼¨¤µ¤ì¤Ê¤¤
scale=4
¢Í ¾®¿ôÅÀ°Ê²¼4·å¤òɽ¼¨¤¹¤ë¤è¤¦ÀßÄêÊѹ¹
2/3
.6666

¥Õ¥¡¥¤¥ë¤Ë·×»»¼°¤òµ­½Ò¤·¤Æ¡¢¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤Æ¤â¤è¤¤¡£
% cat sample
5*8
quit
% bc sample
40
¤µ¤é¤Ëɸ½àÆþÎϤ«¤é·×»»¼°¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤ë¡£
% echo '9*9' | bc
81
% echo 'scale=4; 9/5; 15' | bc
2.2500
15
¢Í ¥»¥ß¥³¥í¥ó¤Ç¤Ä¤Ê¤°¤ÈÊ£¿ô¤Î·×»»¤ò¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤ë

»ÈÍѲÄǽ¤Ê±é»»»Ò¤Ï°Ê²¼¤Î¤È¤ª¤ê¡£
a + b ÏÂ
a - b º¹
a * b ÀÑ
a / b ¾¦¡£¾®¿ôÅÀ°Ê²¼¤Îɽ¼¨¤Ï scale ¤ÎÀßÄê¤Ë½¾¤¦
a % b ¾ê;¡£a ¤ò b ¤Ç³ä¤Ã¤¿¤È¤­¤Î;¤ê
a ^ b ¤Ù¤­¾è¡£a ¤ò b ²ó³Ý¤±¹ç¤ï¤»¤¿¿ô¡£
>> ¥³¥Þ¥ó¥É calc *   dc *   hexcalc *   xcalc *

bdes¡¡¥Õ¥¡¥¤¥ë¤ò°Å¹æ²½¡¦Éü¹æ²½¤¹¤ë(¥Ñ¥¤¥×)

¥Õ¥¡¥¤¥ë¤ò°Å¹æ²½¤¹¤ë¡£crypt ¤ÈƱ¤¸µ¡Ç½¤ò»ý¤Ä¡£sample.dat ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤ò°Å¹æ²½¤·¤¿¤¤¾ì¹ç¤Ï
% bdes < sample.dat > sample.dat.encryped
Enter key: (°Å¹æ²½¤Î¥­¡¼¤òÆþÎÏ)
¤È¤¹¤ë¡£Éü¹æ²½¤Ï¡¢
% bdes -d < sample.dat.encryped > sample.dat.decryped
Enter key: (°Å¹æ²½»þ¤ËÆþÎϤ·¤¿¥­¡¼¤òÆþÎÏ)
FreeBSD ¤Î¾ì¹ç¡¢DES ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤È /usr/bin/bdes ¤Ë¥Ð¥¤¥Ê¥ê¤¬ÃÖ¤«¤ì¤ë¡£
>> ¥³¥Þ¥ó¥É crypt *   openssl *

bdftopcf¡¡

>> ¥³¥Þ¥ó¥É mkfontdir *

beav¡¡¥Ð¥¤¥Ê¥ê¥¨¥Ç¥£¥¿¡¦¥Ó¥å¥¢¡¼

emacs ¥é¥¤¥¯¤ÊÁàºîÊýË¡¤ò»ý¤Ä (¤¬¡¢·ë¹½°ã¤¦¤È¤³¤í¤â¿¤¤)¡£ÆüËܸì¤Ïɽ¼¨¤Ç¤­¤Ê¤¤ (¥¨¥Ç¥£¥Ã¥È¤Ï¤Ç¤­¤ë)¡£

¡ü²èÌÌ¥¤¥á¡¼¥¸
     0: 02 74 3D 00 0C 00 04 01  2E 00 00 00 00 74 3D 00  .t=..........t=.
    10: 0C 00 04 02 2E 2E 00 00  31 75 3D 00 10 00 08 06  ........1u=.....
    20: 6B 65 72 6E 65 6C 00 D3  32 75 3D 00 18 00 08 0C  kernel..2u=.....
    30: 61 63 63 66 5F 64 61 74  61 2E 6B 6F 00 8F 78 C0  accf_data.ko..x.
    40: 33 75 3D 00 18 00 08 0C  61 63 63 66 5F 68 74 74  3u=.....accf_htt
    50: 70 2E 6B 6F 00 8F 78 C0  34 75 3D 00 10 00 08 06  p.ko..x.4u=.....
    60: 61 68 61 2E 6B 6F 00 D3  35 75 3D 00 10 00 08 06  aha.ko..5u=.....
    70: 61 68 63 2E 6B 6F 00 D3  36 75 3D 00 14 00 08 0B  ahc.ko..6u=.....
    80: 61 68 63 5F 65 69 73 61  2E 6B 6F 00 38 75 3D 00  ahc_eisa.ko.8u=.
    90: 14 00 08 0A 61 68 63 5F  70 63 69 2E 6B 6F 00 D3  ....ahc_pci.ko..
    A0: 39 75 3D 00 10 00 08 06  61 68 64 2E 6B 6F 00 D3  9u=.....ahd.ko..
    B0: 3A 75 3D 00 10 00 08 06  61 69 6F 2E 6B 6F 00 D3  :u=.....aio.ko..
    C0: 3B 75 3D 00 10 00 08 06  61 6D 72 2E 6B 6F 00 D3  ;u=.....amr.ko..
    D0: 3C 75 3D 00 14 00 08 08  69 66 5F 61 6E 2E 6B 6F  xu=.....if_an.ko
    E0: 00 B9 10 D3 3D 75 3D 00  14 00 08 09 69 66 5F 61  ....=u=.....if_a
    F0: 74 68 2E 6B 6F 00 15 D3  3F 75 3D 00 14 00 08 09  th.ko...?u=.....
   100: 69 66 5F 61 75 65 2E 6B  6F 00 24 D3 B3 76 3D 00  if_aue.ko.$..v=.
   110: 14 00 08 09 69 66 5F 61  78 65 2E 6B 6F 00 15 D3  ....if_axe.ko...
   120: B4 76 3D 00 14 00 08 09  69 66 5F 62 66 65 2E 6B  .v=.....if_bfe.k
   130: 6F 00 1A D3 B5 76 3D 00  14 00 08 09 69 66 5F 62  o....v=.....if_b
   140: 67 65 2E 6B 6F 00 16 D3  B6 76 3D 00 14 00 08 09  ge.ko....v=.....
   150: 62 72 69 64 67 65 2E 6B  6F 00 73 CE B7 76 3D 00  bridge.ko.s..v=.
BEAV  I kernel       File: /boot/kernel [RW]    CURSOR=00000000, 1   HEX 8   0H:


¡ü¼çÍ×¥­¡¼¥Ð¥¤¥ó¥É
C-f 1ʸ»ú¿Ê¤à
C-b 1ʸ»úÌá¤ë
C-n 1¹Ô¿Ê¤à
C-p 1¹ÔÌá¤ë
C-x C-s ¥»¡¼¥Ö
C-x C-c ½ªÎ»
ESC s ¸¡º÷
ESC t ¼¡¸¡º÷
C-x i 1¥Ð¥¤¥ÈÁÞÆþ
ESC d 1¥Ð¥¤¥Èºï½ü
C-g ¸½ºßÆþÎÏÃæ¤Î¥³¥Þ¥ó¥É¤òÈ´¤±¤ë
ESC ? ¥Ø¥ë¥×¤òɽ¼¨
C-x 2 ¥¦¥£¥ó¥É¥¦¤ò¾å²¼¤Ëʬ³ä
C-x n ¼¡¥¦¥£¥ó¥É¥¦¤Ë°Üư
ESC a ASCII ɽ¼¨¥â¡¼¥É¤ËÀÚ¤êÂØ¤¨
ESC < ¥Ð¥Ã¥Õ¥¡¤ÎÀèÆ¬¤Ë°Üư
ESC > ¥Ð¥Ã¥Õ¥¡¤Î½ªÃ¼¤Ë°Üư

¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤¬Éϼå¤Ê¤Î¤Ë¤Ïº¤¤ë¤¬¡¢(FreeBSD ¤Ç¤Ï) ¾Ü¤·¤¤¥É¥­¥å¥á¥ó¥È¤¬ /usr/local/share/doc/beav/beav.txt ¤Ë½ñ¤¤¤Æ¤¢¤ë (±Ñʸ)¡£
>> ¥³¥Þ¥ó¥É hexdump *   hd *   od *

bfilter¡¡¸Ä¿Í¸þ¤± HTTP proxy (¥×¥í¥­¥·)

¸Ä¿ÍÍÑÅÓ¸þ¤± HTTP proxy¡£¼ç¤Ë¡¢¼ÙËâ¤Ê¥Ð¥Ê¡¼¹­¹ð¡¦²èÁü¡¦IFRAME ¤Ê¤É¤òºï½ü¤¹¤ë¤¿¤á¤Ë»È¤¦¡£

¥¦¥ê¤Ï°Ê²¼¤ÎÄ̤ꡣ
  • Àµµ¬É½¸½¤Ç½ÀÆð¤Êºï½üÀßÄ꤬²Äǽ
  • HTTP/1.1 ¤ËÂбþ (¥Ñ¥¤¥×¥é¥¤¥ó¡¦»ý³ŪÀܳ¤Ë¤âÂбþ)
  • Javascript ¥¨¥ó¥¸¥ó¤òÅëºÜ¤·¤Æ¤¤¤ë¤¿¤á¡¢¼Á¤Î¹â¤¤È½ÃǤ¬²Äǽ
  • ¿·¤·¤¤¥¦¥£¥ó¥É¥¦¤ò³«¤¯¤¿¤á¤Î target="_blank" °À­¤òºï½ü²Äǽ

ºÇ¶á¤Î mozilla ¤ä FireFox ¤Ï²èÁü¥Ö¥í¥Ã¥¯µ¡Ç½¤ò»ý¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢¤½¤Á¤é¤â¸¡Æ¤¤¹¤ë¤È¤è¤¤¡£

¥Ç¥Õ¥©¥ë¥È¤Î¥ë¡¼¥ëÀßÄê¤Ç¤Ï¡¢
  • (.*/)?banners?.*
  • (.*/)?ad[sv]?(/|\.).*
  • (.*\.)?ad[0-9]*\..*
¤Ê¤É¤ÎÀµµ¬É½¸½¤Ë¥Þ¥Ã¥Á¤¹¤ë URL ¤¬¥Ö¥í¥Ã¥¯¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£»î¤·¤ËÄ«Æü¿·Ê¹¤ÈÆÉÇ俷ʹ¤Î¥µ¥¤¥È¤ò±ÜÍ÷¤·¤Æ¤ß¤¿¤È¤³¤í¡¢°ìÉô¤Î¹­¹ð¤¬É½¼¨¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢¸ú²Ì¤Ï¤¢¤ë¤è¤¦¤À¡£¤¿¤À¤·ËèÆü¿·Ê¹¤Î¥µ¥¤¥È¤ò±ÜÍ÷¤·¤Æ¤ß¤ë¤Èµ­»ö¤¬²¿¤âɽ¼¨¤µ¤ì¤Ê¤«¤Ã¤¿¡£¥Ç¥Õ¥©¥ë¥ÈÀßÄê¤Ç¤Ï¥ë¡¼¥ë¤¬¸·¤·¤¹¤®¤ë¤¿¤á¡¢¤è¤¯±ÜÍ÷¤¹¤ë¥µ¥¤¥È¤´¤È¤Ë¼êºî¶È¤Ç¥ë¡¼¥ë¤ò·è¤á¤Ê¤¤¤È»È¤¤¤â¤Î¤Ë¤Ê¤é¤Ê¤¤¤«¤â¤·¤ì¤Ê¤¤¡£

¤Ê¤ª¡¢UNIX ¤Î GUI ÈǤ⤢¤ë¤¬¡¢GUI ¾å¤«¤é¥Ö¥í¥Ã¥¯¤Î ON¡¦OFF ¤Ê¤É¤òÀßÄê¤Ç¤­¤ë¤Î¤¬ÊØÍø¤ÊÄøÅ٤Ǥ¢¤ë¡£

bg¡¡»ØÄꤷ¤¿¥¸¥ç¥Ö¤ò¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¼Â¹Ô¤¹¤ë¡£¥·¥§¥ë¤ÎÆâÉô¥³¥Þ¥ó¥É¡£

¥¸¥ç¥ÖÈÖ¹æ¤ò»ØÄꤷ¤Ê¤¤¤È¥«¥ì¥ó¥È¥¸¥ç¥Ö¤¬ÁàºîÂоݤˤʤ롣bg ¤ò»È¤¦¤È¤¤¤¦¤³¤È¤Ï¡¢command & ¤Çµ¯Æ°¤¹¤ë¤Î¤ÈƱ¤¸¤³¤È¡£¾Ü¤·¤¯¤Ï jobs ¤ò»²¾È¡£
>> ¥³¥Þ¥ó¥É fg *   jobs *

biff¡¡¥á¡¼¥ë¤ÎÅþÃå¤òÃΤ餻¤ë¤«¤É¤¦¤«¤òÀßÄꤹ¤ë¡£

biff ¥³¥Þ¥ó¥É¤Ï¡¢¥á¡¼¥ë¤¬ÆÏ¤¤¤¿½Ö´Ö¤Ë¡¢
New mail for foo@bar.com has arrived:
----
From: foo@bar.com <hogehoge>
Subject: Hello!

Hi. I'm hogehoge....
¤Î¤è¤¦¤Ê狼¤é¤É¤¦¤¤¤¦ÆâÍÆ¤Î¥á¡¼¥ë¤¬ÆÏ¤¤¤¿¤«¤È¤¤¤¦¾ðÊó¤òɽ¼¨¤¹¤ë¡£

°ú¿ô¤Ë y ¤« n ¤ò»ØÄꤹ¤ë¤³¤È¤Ç¡¢biff ¤Îµ¡Ç½¤òÀÚ¤êÂØ¤¨¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
% biff y
¢Í ¥á¡¼¥ë¤ÎÅþÃå¤òÃΤ餻¤ë
% biff n
¢Í ¥á¡¼¥ë¤ÎÅþÃå¤òÃΤ餻¤Ê¤¤
% biff b
¢Í BEEP ²»¤Ç¥á¡¼¥ë¤ÎÅþÃå¤òÃΤ餻¤ë
°ú¿ô¤Ê¤·¤Ç¼Â¹Ô¤¹¤ë¤È¡¢¸½ºß¤ÎÀßÄê¤òɽ¼¨¤¹¤ë¡£
% biff
n
¢Í ¥á¡¼¥ë¤ÎÅþÃå¤òÃΤ餻¤Ê¤¤ÀßÄê¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤È¤¤¤¦¤³¤È

¤³¤Îµ¡Ç½¤Ï¥·¥§¥ë¤¬½ÐÎϤ¹¤ë
You have new mail.
¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤È¤ÏÁ´¤¯Ê̤Τâ¤Î¤Ç¤¢¤ë¡£

biff ¤Î½ÐÎϤϷ빽¤¦¤¶¤Ã¤¿¤¤¤Î¤Ç biff n ¤« biff b ¤Ë¤·¤Æ¤ª¤­¡¢¥·¥§¥ë¤Î¥á¥Ã¥»¡¼¥¸¤ä xbiff¡¦xpbiff ¤ò»È¤Ã¤¿Êý¤¬¤è¤¤¤Î¤Ç¤Ï¤Ê¤¤¤«¤È»×¤¦¡£

´ØÏ¢: http://68user.blog27.fc2.com/blog-entry-23.html biff ¤Ï¤Ê¤¼Æ°¤¯?
>> ¥³¥Þ¥ó¥É xbiff *   xpbiff *
>> C¥·¥§¥ëÊÑ¿ô mail *
>> ÆÉ¤ßÊý biff *

bindkey¡¡tcsh ¤Îµ¡Ç½¤ò¥­¡¼¤Ë³ä¤êÉÕ¤±¤ë¡£tcsh ¤ÎÆâÉô¥³¥Þ¥ó¥É¡£

°ú¿ô¤Ê¤·¤Ç¼Â¹Ô¤¹¤ë¤È¡¢¸½ºß¤Î¥­¡¼¥Ð¥¤¥ó¥É¤òɽ¼¨¤¹¤ë¡£Î㤨¤Ð¡¢
% bindkey
Standard key bindings
"^@" -> set-mark-command
"^A" -> beginning-of-line
"^B" -> backward-char
...(ά)...
¤À¤È¡¢^@(Ctrl-@) ¤Ï¥Þ¡¼¥¯¡¢^a (Ctrl-a) ¤Ï¹ÔƬ¤Ë°Üư¡¢^b (Ctrl-b) ¤Ï°ìʸ»úÌá¤ë¡¢¤È¤¤¤¦°ÕÌ£¡£-l ¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤ë¤È¡¢Á´¤Æ¤Îµ¡Ç½¤È¤½¤Î²òÀâ¤Î°ìÍ÷¤¬É½¼¨¤µ¤ì¤ë¡£

Î㤨¤Ð ^r ¤Ë¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï redisplay ¤È¤¤¤¦µ¡Ç½¤¬³ä¤ê¿¶¤é¤ì¤Æ¤¤¤ë¡£¤³¤ì¤ò¸åÊý¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥µ¡¼¥Á¤Ç¤¢¤ë i-search-back ¤ËÊѤ¨¤ë¤Ë¤Ï
% bindkey ^R i-search-back
¤È¤¹¤ì¤Ð¤è¤¤¡£Î㤨¤Ð¡¢¤³¤ì¤Þ¤Ç
% script test
% man xscreensaver
% coco -q < sample.dat
¤È¤¤¤¦¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤¤¤¿¤È¤¹¤ë¡£¤³¤³¤Ç Ctrl-R ¤ò²¡¤¹¤È¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤¬
% (¥«¡¼¥½¥ë°ÌÃÖ)
bck:
¤È¤Ê¤ë¡£¤³¤³¤Ç s ¤ò¥¿¥¤¥×¤¹¤ë¤È¡¢°ìÈֶᤤ s ¤ò´Þ¤à¥Ò¥¹¥È¥ê¤òõ¤¹
% coco -q < sample.dat
bck:s
³¤¤¤Æ c ¤ò¥¿¥¤¥×¤¹¤ë¤È¡¢sc ¤ò¸¡º÷¤¹¤ë¡£
% man xscreensaver
bck:sc
¤µ¤é¤Ë r ¤ò²¡¤¹¤È
% script test
bck:scr
¤È¤Ê¤ë¡£script test ¤ò¼Â¹Ô¤·¤¿¤¤¾ì¹ç¤Ï¤½¤Î¤Þ¤Þ¥ê¥¿¡¼¥ó¥­¡¼¤ò²¡¤»¤Ð¤è¤¤¤·¡¢C-f¡¢C-b ¤Ê¤É¤ÇÊÔ½¸¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¡£ESC ¥­¡¼¤ò²¡¤»¤Ð¸¡º÷¥â¡¼¥É¤òÈ´¤±¤ë¡£

¤Ê¤ª¡¢bash ¤Ç¤Ïɸ½à¤Ç C-r ¤Ë¸åÊý¥¤¥ó¥¯¥ê¥á¥ó¥¿¥ë¥µ¡¼¥Á¤¬³ä¤ê¿¶¤é¤ì¤Æ¤¤¤ë¡£
>> ¥³¥Þ¥ó¥É tcsh *

bison¡¡¹½Ê¸²òÀϥѡ¼¥µÀ¸À®¥×¥í¥°¥é¥à

yacc ¤Î¾å°Ì¸ß´¹¥×¥í¥°¥é¥à¡£GNU ¤¬ºîÀ®¡¦ÇÛÉÛ¤·¤Æ¤¤¤ë¡£
>> ¥³¥Þ¥ó¥É lex *   flex *   yacc *
>> ÆÉ¤ßÊý bison *

bonnie¡¡¥Ç¥£¥¹¥¯¥Ù¥ó¥Á¥Þ¡¼¥¯

¥Ç¥£¥¹¥¯¤Î¥Ù¥ó¥Á¥Þ¡¼¥¯¥×¥í¥°¥é¥à¡£»öÁ°¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¡¢¤½¤³¤Ë¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤³¤È¤Ç¥Ù¥ó¥Á¥Þ¡¼¥¯¤ò¹Ô¤¦¡£root ¸¢¸Â¤ÏɬÍפʤ¯¡¢°ìÈ̥桼¥¶¤Ç¼Â¹Ô²Äǽ¡£

¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï 100MB ¤Î¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¡¢¥·¡¼¥±¥ó¥·¥ã¥ë¡¦¥é¥ó¥À¥à¥¢¥¯¥»¥¹¤ÎÆþ½ÐÎϤò¹Ô¤¦¡£
% mkdir /bonnie-dir
% bonnie -d /bonnie-dir
File '/bonnie-dir/Bonnie.1690', size: 104857600
(ά)
              -------Sequential Output-------- ---Sequential Input-- --Random--
              -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks---
Machine    MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU  /sec %CPU
          100  4514  8.2  4715  3.2  4606  3.3 41965 99.5 239622 99.9 25600.5 97.3

bonnie ¤Î¸å·Ñ¤Ç¤¢¤ë bonnie++ ¤È¤¤¤¦¥×¥í¥°¥é¥à¤â¤¢¤ë¡£bonnie ¤È bonnie++ ¤ÎÈæ³Ó¤Ï bonnie++ ¤Î¹àÌܤò»²¾È¡£
>> ¥³¥Þ¥ó¥É bonnie++ *

bonnie++¡¡¥Ç¥£¥¹¥¯¥Ù¥ó¥Á¥Þ¡¼¥¯

bonnie ¤Î¸å·Ñ¤Ç¤¢¤ë¥Ç¥£¥¹¥¯¥Ù¥ó¥Á¥Þ¡¼¥¯¥×¥í¥°¥é¥à¡£µ¡Ç½Åª¤Êº¹°Û¤Ï°Ê²¼¤ÎÄ̤ꡣ
  • 2GB ¤ò¤³¤¨¤ë¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤ò°·¤¨¤ë¡£
  • bonnie ¤Ï 1¤Ä¤Î¥Õ¥¡¥¤¥ë¤·¤«À¸À®¤·¤Ê¤¤¤¬¡¢bonnie++ ¤ÏÊ£¿ô¤Î¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ë¤¿¤á¡¢¥Õ¥¡¥¤¥ëÀ¸À®¡¦ºï½ü¤Î¥¹¥Ô¡¼¥É¤ò·×¬¤Ç¤­¤ë¡£

bonnie++ ¤ò¼Â¹Ô¤¹¤ë¤È¡¢¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·»Ï¤á¤ë¤Î¤Ç¡¢¥Ç¥£¥ì¥¯¥È¥ê¤ò·¡¤Ã¤Æ¤½¤ì¤ò -d ¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤷ¤Æ¼Â¹Ô¤¹¤ë¤È¤è¤¤¤À¤í¤¦¡£¤Þ¤¿¡¢bonnie ¤ÈƱÍͤ˰ìÈ̥桼¥¶¸¢¸Â¤Ç¼Â¹Ô¤¬²Äǽ¤Ç¤¢¤ë¡£

bonnie++ ¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï 300MB ¤Î¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ë¡£¤Þ¤¿¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï 16,000 ¤Î¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ë¡£²¼µ­¤Î·ë²Ì¤Ç¤Ï¡¢files=16 ¤È¤Ê¤Ã¤Æ¤¤¤ë¤¬¡¢¼ÂºÝ¤Ë¤Ï 1,000 Çܤ·¤¿Ãͤ¬»È¤ï¤ì¤ë¡£

% mkdir bonnie++
% bonnie++ -d bonnie++/
(ά)
Version 1.93c       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
myhost         300M   194  99  2110   1  1630   1   364  98  4803   3  79.1   2
Latency             78667us     520ms     817ms   36437us     184ms   32417ms
Version 1.93c       ------Sequential Create------ --------Random Create--------
myhost              -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16  8038  39 21130  43 11179  33  8727  41 21475  51  9720  36
Latency             25107us    2758us   11912us   27388us   70667us    3901us
1.93c,1.93c,myhost,1,1069276163,300M,,194,99,2110,1,1630,1,364,98,4803,3,79.1,2,16,
,,,,8038,39,21130,43,11179,33,8727,41,21475,51,9720,36,78667us,520ms,817ms,36437us,
184ms,32417ms,25107us,2758us,11912us,27388us,70667us,3901us
>> ¥³¥Þ¥ó¥É bonnie *

bsdiff¡¡¥Ð¥¤¥Ê¥ê¥Ñ¥Ã¥ÁºîÀ® (º¹Ê¬¡¦º¹°Û¡¦Èæ³Ó)

bsdiff ¤Ï¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ë¤Î¥Ñ¥Ã¥Á (º¹Ê¬¥Õ¥¡¥¤¥ë) ¤òÀ¸À®¤¹¤ë¡£
% bsdiff bin.old bin.new bin.bsdiff
¢Í bin.old ¤È bin.new ¤Îº¹Ê¬¤òÃê½Ð¤·¡¢¥Ñ¥Ã¥Á¥Õ¥¡¥¤¥ë bin.bsdiff ¤òÀ¸À®¤¹¤ë¡£
À¸À®¤·¤¿¥Ñ¥Ã¥Á¤ò¤¢¤Æ¤ë¤Ë¤Ï bspatch ¤ò»È¤¦¡£
% bspatch bin.old bin.new bin.bsdiff
¢Í bin.old ¤Ë¥Ñ¥Ã¥Á¥Õ¥¡¥¤¥ë bin.bsdiff ¤ò¤¢¤Æ¡¢bin.new ¤òÀ¸À®¤¹¤ë¡£

Ʊ¼ï¤Î¥³¥Þ¥ó¥É¤È¤·¤Æ xdelta ¤¬¤¢¤ë¤¬¡¢bsdiff¡¦bspatch ¤Îºî¼Ô¤Ï¡Öbsdiff ¤¬À¸À®¤¹¤ë¥Ñ¥Ã¥Á¥Õ¥¡¥¤¥ë¤Ï¡¢xdelta ¤Î 50¡Á80% ¤Î¥µ¥¤¥º¤Ç¤¢¤ë¡×¤È¼çÄ¥¤·¤Æ¤¤¤ë¡£¼ÂºÝ¤Ë¥Ñ¥Ã¥Á¥µ¥¤¥º¤Ï¤«¤Ê¤ê¾®¤µ¤¯¤Ê¤ë¤è¤¦¤À¡£

¤Á¤Ê¤ß¤Ëbsdiff¡¦bspatch ¤Î bs ¤Ï¡ÖBinary Software¡×¤Îά¡£

¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤Î¥Ñ¥Ã¥ÁÀ¸À®¡¦¥Ñ¥Ã¥ÁŬÍÑ¤Ë¤Ï diff¡¦patch ¥³¥Þ¥ó¥É¤ò»È¤¦¤³¤È¡£
>> ¥³¥Þ¥ó¥É bspatch *   xdelta *   diff *   patch *

bspatch¡¡¥Ð¥¤¥Ê¥ê¥Ñ¥Ã¥ÁŬÍÑ

¾ÜºÙ¤Ï bsdiff ¤ò»²¾È¡£
>> ¥³¥Þ¥ó¥É bsdiff *

builtins¡¡tcsh ¤ÎÆâÉô¥³¥Þ¥ó¥É°ìÍ÷¤òɽ¼¨

>> ¥³¥Þ¥ó¥É tcsh *

bzip2¡¡gzip ¤è¤ê°µ½ÌΨ¤Î¹â¤¤°µ½Ì¡¦¿­Ä¹¥Ä¡¼¥ë (bunzip2)

gzip ¤Ï compress ¤è¤ê°µ½ÌΨ¤¬¹â¤¤¤¬¡¢bzip2 ¤Ï gzip ¤è¤ê¤µ¤é¤Ë°µ½ÌΨ¤¬¹â¤¤¡£¤¤¤¯¤Ä¤«¤Î¥Õ¥¡¥¤¥ë¤ò°µ½Ì¤·¤Æ¤ß¤¿·ë²Ì¡¢bzip2 ¤Ï gzip ¤è¤ê 2¡Á15% ÄøÅÙ°µ½ÌΨ¤¬¹â¤«¤Ã¤¿¡£¤·¤«¤·¡¢¤½¤Îʬ°µ½Ì¤Ë¤«¤«¤ë»þ´Ö¤Ï4Çܤ¯¤é¤¤¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢ÍÑÅÓ¤ò¹Í¤¨¤Æ bzip2 ¤ò»È¤¦¤Ù¤­¤« gzip ¤ò»È¤¦¤Ù¤­¤«¤ò·è¤á¤ë¤È¤è¤¤¤À¤í¤¦¡£

bzip ¤È¤¤¤¦¤â¤Î¤â¤¢¤ë¤¬¡¢¤³¤ì¤Ï bzip version 1 ¤Ç¤¢¤ë¤Î¤Ç¡¢bzip2 ¤ò»È¤Ã¤¿Êý¤¬¤è¤¤¡£bzip2 ¤Ï Linux ÊýÌ̤ÇÉáµÚ¤·¤Æ¤¤¤ë¤¬¡¢*BSD ÊýÌ̤ǤϤޤÀɸ½à¤ÎÃϰ̤òÆÀ¤Æ¤¤¤Ê¤¤¡£°µ½Ì¤·¤¿¥Õ¥¡¥¤¥ë¤òÇÛÉÛ¤¹¤ëºÝ¤Ï¡¢bzip2 ÈÇ¤È gzip ÈǤòÍѰդ·¤Æ¤ª¤¯¤È¤è¤¤¤À¤í¤¦¡£

»È¤¤Êý¤Ï¡¢gzip ¤È¤Û¤È¤ó¤ÉƱ¤¸¤Ç¤¢¤ë¡£
% bzip2 file
¤Ç¡¢°µ½Ì¤µ¤ì¤¿ file.bz2 ¤¬À¸À®¤µ¤ì¤ë¡£¿­Ä¹¤¹¤ë¤Ë¤Ï
% bunzip2 file.bz2
¤Þ¤¿¤Ï
% bzip2 -d file.bz2
¤È¤¹¤ì¤Ð¤è¤¤¡£

¥ª¥×¥·¥ç¥ó: (¤³¤ì¤â gzip ¤È»÷¤Æ¤¤¤ë)
-c °µ½Ì¡¦¿­Ä¹¤Î·ë²Ì¤òɸ½à½ÐÎϤ˽ñ¤­½Ð¤¹¡£¥Õ¥¡¥¤¥ë¤Ø¤Î½ñ¤­¹þ¤ß¤Ï¹Ô¤Ê¤ï¤Ê¤¤
-d ¿­Ä¹¤¹¤ë
-v ¥Ð¡¼¥Ü¡¼¥º¥â¡¼¥É
-1 °µ½Ì¤Ë¤«¤«¤ë»þ´Ö¤òû¤¯¤¹¤ë
-9 °µ½ÌΨ¤Î¹â¤¤°µ½ÌÊýË¡¤ò»È¤¦

bunzip2 ¤Ï¿­Ä¹¥Ä¡¼¥ë¤À¤¬¡¢bzip2 -d ¤È¤·¤Æ¤âÁ´¤¯Æ±¤¸¤Ç¤¢¤ë¡£
>> ¥³¥Þ¥ó¥É gzip *   compress *   tar *

cal¡¡¥«¥ì¥ó¥À¡¼¤òɽ¼¨¤¹¤ë

y(¿ô»ú) yǯ¤Î¥«¥ì¥ó¥À¡¼¤òɽ¼¨¤¹¤ë
% cal 1998
                             1998

      January               February               March
Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa
             1  2  3   1  2  3  4  5  6  7   1  2  3  4  5  6  7
 4  5  6  7  8  9 10   8  9 10 11 12 13 14   8  9 10 11 12 13 14
11 12 13 14 15 16 17  15 16 17 18 19 20 21  15 16 17 18 19 20 21
18 19 20 21 22 23 24  22 23 24 25 26 27 28  22 23 24 25 26 27 28
25 26 27 28 29 30 31                        29 30 31

       April                  May                   June
Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa
          1  2  3  4                  1  2      1  2  3  4  5  6
 5  6  7  8  9 10 11   3  4  5  6  7  8  9   7  8  9 10 11 12 13
12 13 14 15 16 17 18  10 11 12 13 14 15 16  14 15 16 17 18 19 20
19 20 21 22 23 24 25  17 18 19 20 21 22 23  21 22 23 24 25 26 27
26 27 28 29 30        24 25 26 27 28 29 30  28 29 30
                      31
(ά)
¢Í 1998ǯ¤Î¥«¥ì¥ó¥À¡¼¤òɽ¼¨
m y(¿ô»ú) yǯm·î¤Î¥«¥ì¥ó¥À¡¼¤òɽ¼¨¤¹¤ë
% cal 6 1999
     June 1998
Su Mo Tu We Th Fr Sa
    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
¢Í 1999ǯ6·î¤Î¥«¥ì¥ó¥À¡¼¤òɽ¼¨
% cal sep 1998 September 1998 Su Mo Tu We Th Fr Sa 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
¢Í ·î¤Ï±Ñ¸ì¤Ç¤â»ØÄê²Äǽ
-y º£Ç¯¤Î¥«¥ì¥ó¥À¡¼(1¡Á12·î)¤òɽ¼¨
-j 1·î1Æü¤«¤é¤ÎÆü¿ô¤òɽ¼¨¤¹¤ë

¤Á¤Ê¤ß¤Ë 1752ǯ9·î¤Ë¡¢¥æ¥ê¥¦¥¹Îò¤«¤é¥°¥ì¥´¥ê¥ªÎò¤Ë(¥¤¥®¥ê¥¹¤¬)°Ü¹Ô¤·¤¿¡£¤½¤Î¤¿¤á¡¢1752ǯ9·î3Æü¡Á13Æü¤Ïɽ¼¨¤µ¤ì¤Ê¤¤¡£
% cal 9 1752
   September 1752
Su Mo Tu We Th Fr Sa
       1  2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
>> ¥³¥Þ¥ó¥É xcalender *

calc¡¡´Ê°×·×»»µ¡

>> ¥³¥Þ¥ó¥É bc *   dc *   hexcalc *   xcalc *

cat¡¡¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤òɽ¼¨¤¹¤ë(¥Ñ¥¤¥×)¡£Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤òÏ¢·ë¤¹¤ë

»ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤òɽ¼¨¤¹¤ë¡£¥Õ¥¡¥¤¥ë¤¬Ä¹¤¯¤Æ°ì²èÌ̤˼ý¤Þ¤é¤Ê¤¤¾ì¹ç¤Ï¡¢more ¤ä less ¤Ê¤É¤Î¥Ú¡¼¥¸¥ã¤È¸Æ¤Ð¤ì¤ë¥×¥í¥°¥é¥à¤ò»È¤¦Êý¤¬¤è¤¤¡£

-n ¹ÔÈÖ¹æ¤òɽ¼¨
-b ¹ÔÈÖ¹æ¤òɽ¼¨¡£¶õ¹Ô¤ò¥«¥¦¥ó¥È¤·¤Ê¤¤
-s Ϣ³¤¹¤ë¶õ¹Ô¤ò1¹Ô¤Î¶õ¹Ô¤È¤·¤ÆÉ½¼¨
-v ¥³¥ó¥È¥í¡¼¥ë¥³¡¼¥É¤òʸ»úÎó (^X ¤ä M-x ¤Ê¤É) ¤È¤·¤ÆÉ½¼¨¤¹¤ë
-t -v ¥ª¥×¥·¥ç¥ó¤Ë²Ã¤¨¤Æ¡¢¥À¥Ö¤ò ^I ¤Çɽ¼¨¤¹¤ë
-u ½ÐÎϤò¥Ð¥Ã¥Õ¥¡¥ê¥ó¥°¤·¤Ê¤¤

cat ¥³¥Þ¥ó¥É¤Ï¡¢split ¥³¥Þ¥ó¥É¤Çʬ³ä¤·¤¿¥Õ¥¡¥¤¥ë¤ò·ë¹ç¤¹¤ë¤È¤­¤Ë¤â»È¤ï¤ì¤ë¡£
% split sample
% ls x??
xaa xab xac
% cat xaa xab xac > sample2
>> ¥³¥Þ¥ó¥É more *   less *   split *
>> ÆÉ¤ßÊý cat *

catman¡¡¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤ÎÀ°·Á¤ò¹Ô¤¦

man ¤Çɽ¼¨¤µ¤ì¤ë¥Þ¥Ë¥å¥¢¥ë¤Ï¡¢nroff ¤È¤¤¤¦¥Þ¥¯¥í¸À¸ì¤Î·Á¼°¤ÇÍѰդµ¤ì¤Æ¤¤¤ë¡£

man ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢nroff ·Á¼°¤Î¥Õ¥¡¥¤¥ë¤ò nroff ¤ä groff ¥³¥Þ¥ó¥É¤ÇÊÑ´¹¤·¤Æ¡¢catman ¤È¤¤¤¦¥×¥ì¥¤¥ó¥Æ¥­¥¹¥È·Á¼°¤ËÀ°·Á¤¹¤ë¡£¤³¤ÎÊÑ´¹ºî¶È¤Ë¤Ï¾¯¤·»þ´Ö¤¬¤«¤«¤ë¤Î¤Ç¡¢°ìÅÙ»²¾È¤µ¤ì¤¿¥Þ¥Ë¥å¥¢¥ë¤Ï catman ·Á¼°¤ÇÊݸ¤·¤Æ¤ª¤­¡¢ÆóÅÙÌܤ«¤é¤Ï catman ·Á¼°¤Î¥Õ¥¡¥¤¥ë¤òɽ¼¨¤¹¤ë¤³¤È¤Ç man ¤Î¼Â¹Ô¤¬Â®¤¯¤Ê¤ë¡£

catman ¥³¥Þ¥ó¥É¤Ï¡¢»öÁ°¤ËÀ°·Áºî¶È¤ò¹Ô¤Ã¤Æ¡¢¥×¥ì¥¤¥ó¥Æ¥­¥¹¥È¤òºîÀ®¤·¤Æ¤ª¤¯¤¿¤á¤Î¥³¥Þ¥ó¥É¤Ç¤¢¤ë¡£°ìÅ٤⸫¤¿¤³¤È¤¬¤Ê¤¤¥Þ¥Ë¥å¥¢¥ë¤ò½é¤á¤ÆÉ½¼¨¤¹¤ë¤È¤­¤Ë»þ´Ö¤¬¤«¤«¤ë¤Î¤¬·ù¤Ê¤é¡¢»öÁ°¤Ë catman ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤ª¤¯¤È¤è¤¤¡£¤¿¤À¤·¡¢¤½¤Îʬ¥Ç¥£¥¹¥¯ÍÆÎ̤ò¶ô¤¦¤³¤È¤Ë¤Ê¤ë¡£

catman ¤ò»È¤ï¤Ê¤¯¤Æ¤â¡¢°ìÅÙɽ¼¨¤·¤¿¥Þ¥Ë¥å¥¢¥ë¤Ï man ¥³¥Þ¥ó¥É¤¬¼«Æ°Åª¤ËÀ°·ÁºÑ¤Î¥×¥ì¥¤¥ó¥Æ¥­¥¹¥ÈÈǤòÊݸ¤·¤Æ¤¯¤ì¤ë¤Î¤Ç¡¢man ¤Î®ÅÙ¤ËÉÔËþ¤¬¤Ê¤¤¤Ê¤é catman ¤ò»È¤¦É¬ÍפϤʤ¤¡£

¶ñÂÎŪ¤Ë¤Ï
% catman /usr/share/man/man1/
¢Í /usr/share/man/man1/ °Ê²¼¤Î¥Þ¥Ë¥å¥¢¥ë¤òÀ°·Á¤·¡¢/usr/share/man/cat1/ ¤Ë½ñ¤­¹þ¤à¡£
% catman /usr/share/man/ja/man8/
¢Í /usr/share/man/ja/man8/ °Ê²¼¤Î¥Þ¥Ë¥å¥¢¥ë¤òÀ°·Á¤·¡¢/usr/share/man/ja/cat8/ ¤Ë½ñ¤­¹þ¤à¡£
% catman /usr/X11R6/man/
¢Í /usr/X11R6/man/ °Ê²¼¤Î¥Þ¥Ë¥å¥¢¥ë (Á´¥»¥¯¥·¥ç¥ó) ¤òÀ°·Á¤·¡¢/usr/X11R6/man/cat?/ ¤Ë½ñ¤­¹þ¤à¡£
¤Ê¤É¤È»ØÄꤹ¤ë¡£¤·¤«¤·°ìÈÌŪ¤Ë¤Ï¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤Ï¡¢Á´¥æ¡¼¥¶¤¬»²¾È¤¹¤ë¶¦ÍѤΤâ¤Î¤Ê¤Î¤Ç¡¢root ¤Ë¤Ê¤Ã¤Æ man ¥æ¡¼¥¶¤Î¸¢¸Â¤Ç
# su man -c "catman /usr/share/man/man1"
¢Í /usr/share/man/man1 °Ê²¼¤Î¥Þ¥Ë¥å¥¢¥ë¤òÀ°·Á¤¹¤ë¡£su ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¡¢man ¤Î¸¢¸Â¤Ç catman ¤ò¼Â¹Ô¤¹¤ë¡£
¤È¤¹¤ë¤È¤è¤¤¤À¤í¤¦¡£
>> ¥³¥Þ¥ó¥É man *   jcatman *   su *

cc¡¡C ¥³¥ó¥Ñ¥¤¥é

FreeBSD ¤ä Linux ¤Ê¤É¡¢¥Õ¥ê¡¼¤Î PC-UNIX ¤Ç¤Ïɸ½à¤Î C ¥³¥ó¥Ñ¥¤¥é¤¬ gcc ¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£

¤½¤ì°Ê³°¤Î UNIX ¤Î C ¥³¥ó¥Ñ¥¤¥é¤Ï¡¢¤´¤¯°ìÉô¤Î´ðËÜŪ¤Ê¥ª¥×¥·¥ç¥ó¤Ï gcc ¤È¶¦Ä̤Ǥ¢¤ë¤¬¡¢°ìÈÌŪ¤Ë¸ß´¹À­¤Ï¤Ê¤¤¤È»×¤Ã¤¿Êý¤¬¤è¤¤¤À¤í¤¦¡£
>> ¥³¥Þ¥ó¥É gcc *   lint *   unifdef *
>> ÆÉ¤ßÊý cc *

cccc¡¡C¸À¸ì¡¦C++¡¦Java ¥½¡¼¥¹¥³¡¼¥É¥¹¥Æ¥Ã¥×¥«¥¦¥ó¥¿ (¹Ô¿ô¥«¥¦¥ó¥È¡¦¥¹¥Æ¥Ã¥×¥«¥¦¥ó¥È¡¦¥¹¥Æ¥Ã¥×¿ô)

C¸À¸ì¡¦C++¡¦Java ¤Î¥½¡¼¥¹¥³¡¼¥É¤Î¥¹¥Æ¥Ã¥×¿ô¤òÄ´¤Ù¤ë¥Ä¡¼¥ë¡£
% cccc *.c
¤ÈľÀÜ¥Õ¥¡¥¤¥ë¤ò°ú¿ô¤Ç»ØÄꤹ¤ë¤«¡¢¤¢¤ë¤¤¤Ï
% find . -name \*.c -print > source.list
% cccc -f source.list
¤Ê¤É¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾°ìÍ÷¤Î¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¡¢-f ¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤹ¤ë¤³¤È¤Ç¥¹¥Æ¥Ã¥×¥«¥¦¥ó¥È¤ò¹Ô¤¦¡£¥«¥¦¥ó¥È·ë²Ì¤Ï¡¢¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ë½ÐÎϤµ¤ì¤ë cccc.htm ¤È¤¤¤¦ HTML ¥Õ¥¡¥¤¥ë¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ë¡£

¤³¤Î¥Õ¥¡¥¤¥ë¤Ë½ÐÎϤµ¤ì¤ë¾ðÊó¤ÎÃæ¤«¤é¡¢¼çÍפʤâ¤Î¤ò°Ê²¼¤Ë²òÀ⤹¤ë¡£
Number of modules (NOM) 1 ¥â¥¸¥å¡¼¥ë¿ô¡£¥â¥¸¥å¡¼¥ë¤¬¤É¤¦¤¤¤¦Ã±°Ì¤Ê¤Î¤«¤ï¤«¤é¤Ê¤¤¡£
Lines of Code (LOC) 887 ¥³¡¼¥É¹Ô¿ô¡£¥³¥á¥ó¥È¹Ô¡¦¶õ¹Ô¡¦¶õÇò¹Ô¤Ï´Þ¤Þ¤Ê¤¤¡£
McCabe's Cyclomatic Number (MVG) 156 ¥Þ¥Ã¥±¡¼¥Ö¤Î½Û´ÄŪʣ»¨ÅÙ¡£Íפϳƴؿô¤¬Ã±½ã¤Ê¿Æ»Ò´Ø·¸¤Ç¤¢¤ì¤Ð½Û´ÄÅÙ¤¬Ä㤯¡¢¤É¤ì¤¬¿Æ¤«¤ï¤«¤é¤Ê¤¤¤è¤¦¤ÊÊ£»¨¤Ê¸Æ¤Ð¤ìÊý¤ò¤¹¤ë´Ø¿ô¤À¤È½Û´ÄÅÙ¤¬¹â¤¤¤é¤·¤¤¡£10 °Ê²¼¤À¤Èñ½ã¤Ê¤è¤¤¹½Â¤¡¢50 ¤ò±Û¤¨¤ë¾ì¹ç¤Ï¥Æ¥¹¥ÈÉÔǽ¡¢¤½¤ÎÃæ´Ö¤ÏÊ£»¨ÅÙ¤¬¹â¤¤¡¢¤é¤·¤¤¡£
Lines of Comment (COM) 203 ¥³¥á¥ó¥È¤Î¹Ô¿ô¡£½ã¿è¤Ë¥³¥á¥ó¥È¤Î¤ß¤«¤é¤Ê¤ë¹Ô¿ô¤Ç¤¢¤Ã¤Æ¡¢¥³¡¼¥É¤ÎËöÈø¤Ë¥³¥á¥ó¥È¤òµ­½Ò¤·¤¿¾ì¹ç¤Ï¥«¥¦¥ó¥È¤µ¤ì¤Ê¤¤¤è¤¦¤À¡£
LOC/COM (L_C) 4.369 ¥³¡¼¥É¹Ô¿ô ¡à ¥³¥á¥ó¥È¹Ô¿ô
MVG/COM (M_C) 0.768 ¥Þ¥Ã¥±¡¼¥Ö¤Î½Û´ÄŪʣ»¨ÅÙ ¡à ¥³¥á¥ó¥È¹Ô¿ô¡£
Henry-Kafura/Shepperd measure (visible) (HKSv) 0 °ÕÌ£¤¬¤ï¤«¤ê¤Þ¤»¤ó¡£
Henry-Kafura/Shepperd measure (concrete) (HKSc) 0 °ÕÌ£¤¬¤ï¤«¤ê¤Þ¤»¤ó¡£
Henry-Kafura/Shepperd measure (inclusive) (HKS) 0 °ÕÌ£¤¬¤ï¤«¤ê¤Þ¤»¤ó¡£
Lines of Code rejected by parser (REJ) 227 cccc ¤¬²òÀϤǤ­¤Ê¤«¤Ã¤¿¹Ô¿ô¡£ÆÃ¤Ë C¸À¸ì¤ä C++ ¤Î¾ì¹ç¡¢¥Þ¥¯¥í¤ÎÄêµÁ¼¡Âè¤Ç¤¤¤¯¤é¤Ç¤â°ÕÌ£ÉÔÌÀ¤Î¥³¡¼¥É¤òµ­½Ò¤Ç¤­¤ë¡£¤·¤«¤· cccc ¤Ï¥Þ¥¯¥íŸ³«¤ò¤·¤Æ¤¯¤ì¤Ê¤¤¤¿¤á (¤½¤·¤Æ¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤âÆÉ¤ó¤Ç¤¯¤ì¤Ê¤¤¤¿¤á)¡¢¤Á¤ç¤Ã¤ÈÊѤï¤Ã¤¿½ñ¤­Êý¤Ë½Ð¤¯¤ï¤¹¤È·ë¹½¤ÊÉÑÅ٤ǥ¨¥é¡¼°·¤¤¤È¤·¡¢¤½¤Î¹Ô¤ò¥¹¥­¥Ã¥×¤·¤Æ½èÍý¤ò³¹Ô¤·¤Æ¤·¤Þ¤¦¡£²òÀϤ˼ºÇÔ¤·¤Æ¤â¥³¡¼¥É¹Ô¿ô¤Ë²Ã¤¨¤Æ¤¯¤ì¤ì¤Ð¤è¤¤¤È»×¤¦¤Î¤À¤¬¡¢¤Ê¤¼¤«¤½¤¦¤Ï¤·¤Æ¤¯¤ì¤Ê¤¤¡£

¤Þ¤¿¡¢´Ø¿ô¤´¤È¤Ë LOC¡¦MVG¡¦COM¡¦L_C¡¦M_C ¤ÎÃͤò»»½Ð¤¹¤ë¡£

¤Ê¤ª¡¢¼ÂºÝ¤Î¹Ô¿ô (¥³¥á¥ó¥È¡¦¶õ¹Ô¤â´Þ¤à) ¤Ï½ÐÎϤ·¤Æ¤¯¤ì¤Ê¤¤¤Î¤Ç¡¢wc ¥³¥Þ¥ó¥É¤Ç¼«Ê¬¤Ç¿ô¤¨¤è¤¦¡£

¤Á¤Ê¤ß¤Ë¡Ö¤¤¤Þ¤É¤­¹Ô¿ô¤Ê¤ó¤Æ¿ô¤¨¤ë¤Î¤«? ¾¼Ï¤λþÂ夸¤ã¤¢¤ë¤Þ¤¤¤·¡×¤È³ØÀ¸»þÂå¤Ë»×¤Ã¤Æ¤¤¤¿Åö¥Ú¡¼¥¸´ÉÍý¿Í¡£º£¤Î»Å»ö¤Ç¤Ï¤­¤Ã¤Á¤ê¿ô¤¨¤µ¤»¤é¤ì¤Æ¤¤¤Þ¤¹¡£¤ä¤À¤ä¤À¡£

cd¡¡¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤òÊѹ¹¤¹¤ë¡£¥·¥§¥ë¤ÎÆâÉô¥³¥Þ¥ó¥É¡£

¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤È¤Ï¡¢¡Öº£ ¼«Ê¬¤¬¤¤¤ë¥Ç¥£¥ì¥¯¥È¥ê¡×¤Î¤³¤È¡£

°Üư¤·¤¿¤¤¥Ç¥£¥ì¥¯¥È¥ê¤ò°ú¿ô¤Ç»ØÄꤹ¤ë¤È¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư¤¹¤ë¡£
% pwd
/home/hogehoge
¢Í ¸½ºß¤Î¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ï /home/hogehoge
% cd lib
% pwd
/home/hogehoge/lib
% cd /usr/local
% pwd
/usr/local
°ú¿ô¤Ê¤·¤Çµ¯Æ°¤¹¤ë¤È¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư¤¹¤ë¡£
% cd
% pwd
/home/hogehoge
¢Í °ú¿ô¤ò¾Êά¤·¤Æ cd ¤ò¼Â¹Ô¤¹¤ë¤È¡¢¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ø°Üư
% cd ..
% pwd
/home
¢Í ¡Ö..¡×¤Ï¡Ö°ì¤Ä¾å¤Î¥Ç¥£¥ì¥¯¥È¥ê¡×¤ò°ÕÌ£¤¹¤ë

°ú¿ô¤Ë¡Ö-¡×¤ò»ØÄꤹ¤ë¤È¡¢°ì¤ÄÁ°¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÌá¤ë (¤³¤ì¤¬µ¡Ç½¤¹¤ë¤«¤É¤¦¤«¤Ï OS ¤Ë¤è¤ë)¡£¤¿¤À¤·¡¢2¸Ä°Ê¾åÁ°¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Þ¤Ç¤µ¤«¤Î¤Ü¤Ã¤Æ°Üư¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£
% cd /dir1
% cd /dir2
% pwd
/dir2
% cd -
% pwd
/dir1
¢Í ¤Ò¤È¤ÄÁ°¤Î¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤ËÌá¤Ã¤¿
% cd -
% pwd
/dir2
¢Í Ϣ³¤·¤Æ cd - ¤¹¤ë¤È¡¢/dir1 ¤È /dir2 ¤ò¹Ô¤­Í褹¤ë¤³¤È¤Ë¤Ê¤ë

¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ï³Æ¥×¥í¥»¥¹¸ÇÍ­¤Î¾ðÊó¤Ç¤¢¤ë¡£¥·¥§¥ë¤«¤é¤¢¤ë¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¡¢¤½¤ÎÃæ¤Ç¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤òÊѹ¹¤·¤Æ¤â¡¢¥·¥§¥ë¼«ÂΤΥ«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ï°Üư¤·¤Ê¤¤¡£¤Ä¤Þ¤ê¡¢
#!/bin/sh
cd /
¤È¤¤¤¦¥¹¥¯¥ê¥×¥È¤ò¥·¥§¥ë¾å¤«¤é¼Â¹Ô¤·¤Æ¤â¡¢¥·¥§¥ë¼«ÂΤΥ«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤ÏÊѤï¤é¤Ê¤¤¤È¤¤¤¦¤³¤È¡£¤É¤¦¤·¤Æ¤â¤È¤¤¤¦¤Ê¤é¡¢
#!/bin/sh
echo cd /
¤È¤·¤Æ¡¢
% eval `hoge.sh` (¥Ð¥Ã¥¯¥¯¥©¡¼¥È¤Ç°Ï¤à)
¤È¤¹¤ì¤Ð¤è¤¤¡£

¤Þ¤¿¡¢¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ï³Æ¥×¥í¥»¥¹¸ÇÍ­¤Î¾ðÊó¤Ç¤¢¤ë¤È¤¤¤¦¤³¤È¤òÍøÍѤ·¤Æ¡¢
% (cd /foo; tar zcf archive.tgz .)
¤Ê¤É¤È¤¹¤ë¤È¡¢¥·¥§¥ë¤Î¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤òÊѤ¨¤º¤Ë /foo °Ê²¼¤Î¥¢¡¼¥«¥¤¥Ö¤òºîÀ®¤¹¤ë¤³¤È¤¬
¤Ç¤­¤ë¡£¥«¥Ã¥³¤Ç³ç¤Ã¤¿Éôʬ¤ÏÊ̤Υ·¥§¥ë (»Ò¥×¥í¥»¥¹) ¤È¤·¤Æ¼Â¹Ô¤µ¤ì¤ë¤Î¤Ç¡¢¥«¥Ã¥³Æâ¤Ç¤É¤ì¤À¤±¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤òÊѹ¹¤·¤Æ¤â¡¢¸½ºß¤Î¥·¥§¥ë¤Ë¤Ï±Æ¶Á¤¬¤Ê¤¤¡£

¤Ê¤ª¡¢¤³¤ì¤Ï
% pushd /foo; tar zcf archive.tgz . ; popd
% cd /foo; tar zcf archive.tgz . ; cd -
¤ÈÅù²Á¤Ç¤¢¤ë¡£
>> ¥³¥Þ¥ó¥É chdir *   pwd *   mv *   cp *
>> ÍѸ콸 ¥×¥í¥»¥¹ *
>> ÆÉ¤ßÊý cd *

cda¡¡CD¥×¥ì¥¤¥ä¡¼

>> ¥³¥Þ¥ó¥É cdcontrol *   xmcd *   cdplay *

cdcontrol¡¡CD¥×¥ì¥¤¥ä¡¼

¤ª¤½¤é¤¯ FreeBSD ¤Ë¤·¤«¤Ê¤¤¥³¥Þ¥ó¥É¡£CD ¥É¥é¥¤¥Ö¤òÁàºî¤Ç¤­¤ë¡£

-f dev CD ¤Î¥Ç¥Ð¥¤¥¹Ì¾¤ò»ØÄꤹ¤ë¡£
¥Ç¥Ð¥¤¥¹Ì¾¤Ï wcd0¡¢cd0¡¢mcd0 ¤Ê¤É¡£Î㤨¤Ð CD ¥É¥é¥¤¥Ö¤Î¥Ç¥Ð¥¤¥¹¤¬ wcd0 ¤Î¾ì¹ç¡¢-f /dev/wcd0 ¤Ç¤â -f wcd0 ¤Ç¤â¤è¤¤¡£
% chmod 666 /dev/wcd0
¤¬É¬Íפ«¤â¡£´Ä¶­ÊÑ¿ô DISC ¤Ë CD ¤Î¥Ç¥Ð¥¤¥¹Ì¾¤ò»ØÄꤷ¤Æ¤ª¤¯¤È¡¢-f ¥ª¥×¥·¥ç¥ó¤Ç¤¤¤Á¤¤¤Á¥Ç¥Ð¥¤¥¹Ì¾¤ò»ØÄꤹ¤ëɬÍפ¬¤Ê¤¯¤Ê¤ë¡£
Ì¿Îá
play ¥È¥é¥Ã¥¯ »ØÄꤷ¤¿¥È¥é¥Ã¥¯¤«¤é±éÁÕ¤ò³«»Ï¡£¥È¥é¥Ã¥¯¤ò¾Êά¤¹¤ë¤È¥È¥é¥Ã¥¯ 1 ¤«¤é±éÁÕ¤¹¤ë
pause ±éÁÕ¤òÃæÃǤ¹¤ë
stop ±éÁÕ¤òÄä»ß¤¹¤ë
resume ±éÁÕ¤òºÆ³«¤¹¤ë
info CD¤Î±éÁÕ»þ´Ö¤Ê¤É¤Î¾ðÊó¤òɽ¼¨
volume [0-255] [0-255] º¸±¦¤Î¥Ü¥ê¥å¡¼¥à¤òÀßÄê¡£¥Ü¥ê¥å¡¼¥à¤Ï0-255¤Ç»ØÄê
volume mute ¥Ü¥ê¥å¡¼¥à¤ò0¤Ë¤¹¤ë
volume mono ¥â¥Î¥é¥ë¤Ç½ÐÎÏ
volume stereo ¥¹¥Æ¥ì¥ª¤Ç½ÐÎÏ
volume left º¸¥Á¥ã¥ó¥Í¥ë¤À¤±½ÐÎÏ
volume right ±¦¥Á¥ã¥ó¥Í¥ë¤À¤±½ÐÎÏ
eject CD ¤ò¥¤¥¸¥§¥¯¥È¤¹¤ë
°ú¿ô¤ÇÌ¿Îá¤ò½ñ¤¤¤Æ¤â¤¤¤¤¤· (cdcontrol play 4 ¤Ê¤É)¡¢°ú¿ô¤Ê¤·¤Çµ¯Æ°¤¹¤ë¤ÈÂÐÏå⡼¥É¤ËÆþ¤ë¤Î¤Ç¡¢¤½¤³¤ÇÌ¿Îá¤ò½ñ¤¤¤Æ¤â¤¤¤¤¡£
>> ¥³¥Þ¥ó¥É cda *   cdplayer *   workman *   xmcd *   cdplay *   tosha *

cdplay¡¡CD¥×¥ì¥¤¥ä¡¼

µ¯Æ°ÊýË¡¤Ï°Ê²¼¤ÎÄ̤ꡣ
% cdplay ¥Ç¥Ð¥¤¥¹Ì¾
>> ¥³¥Þ¥ó¥É cda *   cdplayer *   workman *   xmcd *   cdcontrol *

cdplayer¡¡CD¥×¥ì¥¤¥ä¡¼

>> ¥³¥Þ¥ó¥É cda *   cdplay *   cdcontrol *   xmcd *   workman *

cflow¡¡C¤Î¥½¡¼¥¹¤ò²òÀϤ·¤Æ¡¢¤É¤Î´Ø¿ôÆâ¤«¤é¤É¤Î´Ø¿ô¤òÆÉ¤ó¤Ç¤¤¤ë¤«É½¼¨¤¹¤ë¡£

>> ¥³¥Þ¥ó¥É gcc *

chdir¡¡¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤òÊѹ¹¤¹¤ë¡£cd ¤ÈÁ´¤¯Æ±¤¸

>> ¥³¥Þ¥ó¥É cd *

chflags¡¡¥Õ¥¡¥¤¥ë¤Î¥Õ¥é¥°¤òÊѹ¹¤¹¤ë

BSD ·Ï UNIX ¤Ë¤Ï¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤È¤ÏÊ̤˥ե¡¥¤¥ë¥Õ¥é¥°¤È¤¤¤¦»ÅÁȤߤ¬¤¢¤ê¡¢Êѹ¹¶Ø»ß¡¢ÄɲöػߤʤɤÎÀßÄê¤ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¤Ê¤ª¡¢¥Õ¥¡¥¤¥ë¥Õ¥é¥°¤Ï chmod ¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤È¤ÏÁ´¤¯Ê̤Τâ¤Î¤Ç¤¢¤ë¡£
  • arch ¥¢¡¼¥«¥¤¥Ö¥Õ¥é¥°
  • dump ¥À¥ó¥×¥Õ¥é¥°
  • sappnd ¥·¥¹¥Æ¥à¤ÎÄɲÃÀìÍѥե饰
  • schg ¥·¥¹¥Æ¥à¤ÎÊѹ¹¶Ø»ß¥Õ¥é¥°
  • uappnd ¥æ¡¼¥¶¤ÎÄɲÃÀìÍѥե饰
  • uchg ¥æ¡¼¥¶¤ÎÊѹ¹¶Ø»ß¥Õ¥é¥°
¤Þ¤¿¡¢¤³¤ì¤é¤ÎÀèÆ¬¤Ë no ¤ò¤Ä¤±¤ë¤È¥Õ¥é¥°¤ò¾Ã¤¹°ÕÌ£¤¬¤¢¤ë¡£

¥Õ¥¡¥¤¥ë¤òÊѹ¹¶Ø»ß¤Ë¤¹¤ë¤Ë¤Ï
% chflags uchg file
¸µ¤ËÌ᤹¤Ë¤Ï
% chflags nouchg file
¤È¤¹¤ë¡£Î㤨¤Ð FreeBSD ¤Ç¤Ï /kernel ¤Ï chflags schg /kernel ¤È¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢mv ¤ä rm ¤¹¤ëºÝ¤Ï
# chflags noschg /kernel
# rm /kernel
¤Ê¤É¤È¡¢°ìö¥Õ¥é¥°¤ò OFF ¤Ë¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£Â¾¤Ë¤â¡¢init¡¦chsh ¥³¥Þ¥ó¥É¤Ê¤É¤Ë schg ¥Õ¥é¥°¤¬Î©¤Æ¤é¤ì¤Æ¤¤¤ë¡£¸½ºß¤Î¥Õ¥¡¥¤¥ë¥Õ¥é¥°¤ÎÃÍ¤Ï ls -lo ¤Ç¸«¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
% ls -lo /kernel /sbin/init /usr/bin/chsh
-r-xr-xr-x  1 root  wheel  schg 1301840 Jun 20 20:54 /kernel
-r-x------  1 bin   bin    schg  204800 Oct 13 21:56 /sbin/init
-r-sr-xr-x  6 root  bin    schg   36864 Mar  4  1999 /usr/bin/chsh
¤Ê¤ª¡¢¥Õ¥¡¥¤¥ë¥Õ¥é¥°¤Ï 4.4BSD ¤«¤éÄɲ䵤줿¡£¤ª¤½¤é¤¯¥Õ¥¡¥¤¥ë¥Õ¥é¥°¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¤Î¤Ï FreeBSD¡¦NetBSD¡¦OpenBSD¡¦BSDI ¤Î¤ß¤À¤í¤¦¤È»×¤ï¤ì¤ë¡£
>> ¥³¥Þ¥ó¥É ls *   rm *   chmod *

chgrp¡¡¥Õ¥¡¥¤¥ë¤Î°¤¹¤ë¥°¥ë¡¼¥×¤òÊѹ¹¤¹¤ë

% chgrp group file
¢Í ¥Õ¥¡¥¤¥ë file ¤Î¥°¥ë¡¼¥×¤ò group¤ËÊѹ¹¤¹¤ë
¾Ü¤·¤¤ÀâÌÀ¤Ï chown ¤Ç¡£
>> ¥³¥Þ¥ó¥É chown *

chmod¡¡¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Î°À­¤òÊѹ¹¤¹¤ë¡£

Á´¤Æ¤Î¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ï¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤È¤¤¤¦Â°À­¤¬¤¢¤ê¡¢¤É¤Î¥æ¡¼¥¶¤¬ÆÉ¤à¤³¤È¤¬¤Ç¤­¡¢¤É¤Î¥æ¡¼¥¶¤¬½ñ¤­¹þ¤á¤ë¤«¡¢¤Ê¤É¤Î¥¢¥¯¥»¥¹¸¢¸Â¤òÀßÄê¤Ç¤­¤ë¡£¸½ºß¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ÎÃÍ¤Ï ls -l ¤ÇÄ´¤Ù¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
% ls -l sample.dat
-rwxr-xr-- 1 user group 402 May 26 1997 sample.dat
¤Î¡Örwxr-xr--¡×¤¬¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤Ç¤¢¤ë(¤½¤ÎÁ°¤Î¡Ö-¡×¤Ï¥Õ¥¡¥¤¥ë¥¿¥¤¥×¡£¤È¤ê¤¢¤¨¤º¤Ï̵»ë)¡£

ÆÉ¤ßÊý¤Ï¡¢¤Þ¤º¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤Îɽ¼¨¤ò3ʸ»ú¤´¤È¤Ë¶èÀڤäơ¢¡Örwx¡×¡Ör-x¡×¡Ör--¡×¤È¤¹¤ë¡£
  • 1ÈÖÌܤΥ»¥¯¥·¥ç¥ó (rwx) ¤Ï¥Õ¥¡¥¤¥ë½êÍ­¼Ô (¤³¤Î¾ì¹ç¤Ï user) ¤Ë¤È¤Ã¤Æ¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó
  • 2ÈÖÌܤΥ»¥¯¥·¥ç¥ó (r-x) ¤Ï¥Õ¥¡¥¤¥ë½êÍ­¥°¥ë¡¼¥× (¤³¤Î¾ì¹ç¤Ï group) ¤Ë¤È¤Ã¤Æ¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó
  • 3ÈÖÌܤΥ»¥¯¥·¥ç¥ó (r--) ¤Ï¤½¤ì°Ê³°¤Î¥æ¡¼¥¶¤Ë¤È¤Ã¤Æ¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó
¤È¤Ê¤ë¡£¡Ör¡×¤ÏÆÉ¤ß¹þ¤ß²Äǽ°À­¡¢¡Öw¡×¤Ï½ñ¤­¹þ¤ß²Äǽ°À­¡¢¡Öx¡×¤Ï¼Â¹Ô²Äǽ°À­¤ò°ÕÌ£¤¹¤ë¡£

¤Ä¤Þ¤ê
-rwxr-xr-- 1 user group 402 May 26 1997 sample.dat
¤Ï¡¢
  • ¥æ¡¼¥¶ user ¤Ï¡¢sample.dat ¤òÆÉ¤á¤ë¤·¡¢½ñ¤­¹þ¤á¤ë¤·¡¢¼Â¹Ô¤Ç¤­¤ë
  • ¥°¥ë¡¼¥× group ¤Ë°¤¹¤ë¥æ¡¼¥¶¤Ï¡¢sample.dat ¤òÆÉ¤á¤ë¤·¡¢¼Â¹Ô¤Ç¤­¤ë¤¬¡¢½ñ¤­¹þ¤ß¤Ï¤Ç¤­¤Ê¤¤
  • ¤½¤Î¾¤Î¥æ¡¼¥¶¤Ï¡¢sample.dat ¤òÆÉ¤á¤ë¤¬¡¢½ñ¤­¹þ¤ß¤È¼Â¹Ô¤Ï¤Ç¤­¤Ê¤¤
¤È¤¤¤¦¤³¤È¤ò°ÕÌ£¤¹¤ë¡£

chmod ¤Ï¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤òÊѹ¹¤¹¤ë¥³¥Þ¥ó¥É¤À¤¬¡¢¤½¤Î¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Î½êÍ­¼Ô¤·¤«¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤òÊѹ¹¤Ç¤­¤Ê¤¤¡£¾åµ­¤ÎÎã¤À¤È¡¢sample.dat ¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤òÊѹ¹¤Ç¤­¤ë¤Î¤Ï¥æ¡¼¥¶ user ¤À¤±¤Ç¤¢¤ë¡£

¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤Î»ØÄêÊýË¡¤Ë¤ÏÀäÂÐÊý¼°¤ÈÁêÂÐÊý¼°¤¬¤¢¤ë¡£ÀäÂÐÊý¼°¤Ï8¿Ê¿ô¤Î¿ô»ú¤Ë¤è¤Ã¤Æ»ØÄꤹ¤ë¡£
  • 0400 ½êÍ­¼Ô¤¬ÆÉ¤ß¹þ¤á¤ë
  • 0200 ½êÍ­¼Ô¤¬½ñ¤­¹þ¤á¤ë
  • 0100 ½êÍ­¼Ô¤¬¼Â¹Ô¤Ç¤­¤ë
  • 0040 group¤Ë°¤¹¤ë¥æ¡¼¥¶¤¬ÆÉ¤ß¹þ¤á¤ë
  • 0020 group¤Ë°¤¹¤ë¥æ¡¼¥¶¤¬½ñ¤­¹þ¤á¤ë
  • 0010 group¤Ë°¤¹¤ë¥æ¡¼¥¶¤¬¼Â¹Ô¤Ç¤­¤ë
  • 0004 ¤½¤Î¾¤Î¥æ¡¼¥¶¤¬ÆÉ¤ß¹þ¤á¤ë
  • 0002 ¤½¤Î¾¤Î¥æ¡¼¥¶¤¬½ñ¤­¹þ¤á¤ë
  • 0001 ¤½¤Î¾¤Î¥æ¡¼¥¶¤¬¼Â¹Ô¤Ç¤­¤ë
¤Þ¤¿¡¢¤³¤Î¾¤Ë suid¡¦sgid¡¦sticky bit ¤¬¤¢¤ë¤¬¡¢ÀâÌÀ¤Ï¸å½Ò¡£

¥Õ¥¡¥¤¥ë sample.dat ¤ò½êÍ­¼Ô¤À¤±¤¬ÆÉ¤ß¹þ¤ß¡¦½ñ¤­¹þ¤ß¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤Ë¤Ï 0400+0200+0100=0700 ¤Ç¡¢
% chmod 0700 sample.dat
¤È¤¹¤ë¡£¥Õ¥¡¥¤¥ësample¤ò½êÍ­¼Ô¤¬ÆÉ¤ß¹þ¤ß¡¦½ñ¤­¹þ¤ß¡¦¼Â¹Ô¤Ç¤­¤Æ¡¢group¤Ë°¤¹¤ë¥æ¡¼¥¶¤È¤½¤Î¾¤Î¥æ¡¼¥¶¤ÏÆÉ¤ß¹þ¤ß¡¦¼Â¹Ô¤Î¤ß¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤Ë¤Ï¡¢0400+0200+0100+0040+0010+0004+0001=0755 ¤Ç
% chmod 0755 sample
¤È¤¹¤ë (ºÇ½é¤Î 0 ¤ò¾Êά¤·¤Æ 700¡¦755 ¤Ç¤â¤è¤¤)¡£

°ìÊý¡¢ÁêÂÐÊý¼°¤Ï¡¢
  • u,g,o,a ¡Ä ½êÍ­¼Ô¡¦¥°¥ë¡¼¥×¤Ë°¤¹¤ë¥æ¡¼¥¶¡¦¤½¤Î¾¤Î¥æ¡¼¥¶¡¢Á´°÷
  • r,w,x ¡Ä ÆÉ¤ß¹þ¤ß°À­¡¦½ñ¤­¹þ¤ß°À­¡¦¼Â¹Ô°À­
  • +/- ¡Ä °À­¤ò ON ¤Ë¤¹¤ë/OFF ¤Ë¤¹¤ë
¤ò»È¤¦¡£¤³¤ì¤Ï¸½ºß¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤Î°ìÉô¤À¤±¤òÊѹ¹¤¹¤ëºÝ¤ËÊØÍø¡£
% chmod +x file
¢Í file ¤Î¼Â¹Ô°À­¤ò ON ¤Ë¤¹¤ë
% chmod go-w file
¢Í file ¤Î¥°¥ë¡¼¥×¤È¤½¤Î¾¤Î¥æ¡¼¥¶¤Î½ñ¤­¹þ¤ß°À­¤ò OFF ¤Ë¤¹¤ë
% chmod a-x file
¢Í file ¤ÎÁ´°÷¤Î¼Â¹Ô°À­¤ò OFF ¤Ë¤¹¤ë (chmod ugo-x file ¤ÈƱ¤¸)
¤¿¤À¤·¡¢ÁêÂÐÊý¼°¤È¸À¤Ã¤Æ¤â¡¢
% chmod u=rwx,go=rx file (chmod 755 ¤ÈƱ¤¸)
¤Î¤è¤¦¤Ë´°Á´¤Ê (ÁêÂÐŪ¤Ç¤Ê¤¤) ¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤òÀßÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤ë¡£

¤Ê¤ª¡¢¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤Ï°ÕÌ£¤ò»ý¤¿¤Ê¤¤¡£
lrwxrwxrwx 1 user group 3 Aug 1 16:14 file-b -> file-a
¤Ç¤â
l--------- 1 user group 3 Aug 1 16:14 file-b -> file-a
¤Ç¤âÁ´¤¯°ã¤¤¤Ï¤Ê¤¤¡£Í­¸ú¤Ê¤Î¤Ï¥ê¥ó¥¯Àè¤Î file-a ¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤Ç¤¢¤ë¡£chmod ¤Ë -RH ¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤ë¤È¡¢¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Î¥ê¥ó¥¯Àè¤Î¥Õ¥¡¥¤¥ë¤Î°À­¤òÊѹ¹¤¹¤ë¡£

¤³¤ì¤Þ¤Ç r(400)¡¦w(200)¡¦x(100) ¤ÏÆÉ¤ß¹þ¤ß¡¦½ñ¤­¹þ¤ß¡¦¼Â¹Ô°À­¤Ç¤¢¤ë¤ÈÀâÌÀ¤·¤Æ¤­¤¿¤¬¡¢¤³¤ì¤Ï¥Õ¥¡¥¤¥ë¤ËÂФ¹¤ë¸¢¸Â¤Ç¤¢¤Ã¤Æ¡¢¥Ç¥£¥ì¥¯¥È¥ê¤ËÂФ·¤Æ¤Ï°ÕÌ£¤¬¾¯¤·°ã¤¤¡¢
  • r ¡Ä ¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë¤¢¤ë¥Õ¥¡¥¤¥ë¤Î°ìÍ÷¤ò¼èÆÀ¤Ç¤­¤ë¤«¤É¤¦¤«
  • w ¡Ä ¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë¡¢¥Õ¥¡¥¤¥ë¤ò¿·µ¬ºîÀ®¤Ç¤­¤ë¤«¤É¤¦¤«¡£
¤Þ¤¿¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë¸ºß¤¹¤ë¥Õ¥¡¥¤¥ë¤ò¡¢¾Ãµî¤Ç¤­¤ë¤«¤É¤¦¤«¡£
  • x ¡Ä ¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë¤¢¤ë¥Õ¥¡¥¤¥ë¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤ë¤«¤É¤¦¤«
¤È¤¤¤¦°ÕÌ£¤ò»ý¤Ä¡£
  • ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¡Ör¡×¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¤È¡¢ls ¥³¥Þ¥ó¥É¤Ê¤É¤Ç¡¢¤½¤Î²¼¤Ë¸ºß¤¹¤ë¥Õ¥¡¥¤¥ë¤Î°ìÍ÷¤ò¼èÆÀ¤Ç¤­¤ë¡£
  • ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¡Öw¡×¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¤È¡¢¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë¥Õ¥¡¥¤¥ë¤ò¿·µ¬ºîÀ®¤Ç¤­¤ë¤·¡¢¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë¸ºß¤¹¤ë¥Õ¥¡¥¤¥ë¤ò rm ¥³¥Þ¥ó¥É¤Çºï½ü¤Ç¤­¤ë¡£
  • ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¡Öx¡×¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ë¤È¡¢¤½¤Î²¼¤Î¥Õ¥¡¥¤¥ë¤Î¾ðÊó¤ò¸«¤¿¤ê¡¢¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ½ñ¤­¹þ¤ß¡¦ÆÉ¤ß¹þ¤ß¤¬¤Ç¤­¤ë

¡ü¼Â¸³
¤Ç¤Ï¼ÂºÝ¤ËÎã¤ò¼¨¤½¤¦¡£
% mkdir dir
% echo hogehoge > dir/file
% chmod 700 dir
¥Ç¥£¥ì¥¯¥È¥ê dir ¤òºîÀ®¤·¡¢¤½¤Î²¼¤Ë¥Õ¥¡¥¤¥ë file ¤òºîÀ®¤¹¤ë¡£file ¤ÎÃæ¿È¤Ï¡Öhogehoge¡×¤Ç¤¢¤ë¡£
% ls dir
file
¢Í ¥Ç¥£¥ì¥¯¥È¥ê dir ²¼¤Î¥Õ¥¡¥¤¥ë°ìÍ÷¤¬¼èÆÀ¤Ç¤­¤ë
% ls -l dir
-rw-r--r-- 1 user group 9 Oct 10 14:57 file
¢Í ¥Ç¥£¥ì¥¯¥È¥ê dir ²¼¤Î¥Õ¥¡¥¤¥ë¤Î¾ðÊ󤬼èÆÀ¤Ç¤­¤ë
% ls -l dir/file
-rw-r--r-- 1 user group 9 Oct 10 14:57 file
¢Í ¥Õ¥¡¥¤¥ë̾¤òľÀÜ»ØÄꤷ¤Æ¤âÂç¾æÉ×
% cat dir/file
hogehoge
¢Í ¥Ç¥£¥ì¥¯¥È¥ê dir ²¼¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤¬¼èÆÀ¤Ç¤­¤ë
¤¤¤º¤ì¤âÉáÄ̤˥¢¥¯¥»¥¹¤Ç¤­¤ë¤³¤È¤¬¤ª¤ï¤«¤ê¤À¤í¤¦¡£

¤Ç¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê dir ¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¡Ör¡×¤À¤±¤òΩ¤Æ¤Æ¡¢Æ±¤¸¤³¤È¤ò¤·¤Æ¤ß¤è¤¦¡£
% chmod 400 dir
% ls dir
file
¢Í ¥Ç¥£¥ì¥¯¥È¥ê dir ²¼¤Î¥Õ¥¡¥¤¥ë°ìÍ÷¤¬¼èÆÀ¤Ç¤­¤ë
% ls -l dir
ls: dir/file: Permission denied
¢Í ¥Ç¥£¥ì¥¯¥È¥ê dir ²¼¤Î¥Õ¥¡¥¤¥ë¤Î¾ðÊó¤Ï¼èÆÀ¤Ç¤­¤Ê¤¤
% ls -l dir/file
¢Í ¥Õ¥¡¥¤¥ë̾¤òľÀÜ»ØÄꤷ¤Æ¤â¥À¥á
% cat dir/file
cat: dir/file: Permission denied
¢Í ¥Ç¥£¥ì¥¯¥È¥ê dir ²¼¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤¬¼èÆÀ¤Ç¤­¤Ê¤¤
ls ¤Ç dir ¤Î²¼¤Î¥Õ¥¡¥¤¥ë°ìÍ÷¤Ï¼èÆÀ¤Ç¤­¤ë¤¬¡¢ls -l ¤Ç³Æ¥Õ¥¡¥¤¥ë¤Î¾ðÊó¤ò¼èÆÀ¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£dir ¤Î²¼¤Î¥Õ¥¡¥¤¥ë¤òɽ¼¨¤¹¤ë¤³¤È¤â¤Ç¤­¤Ê¤¤¡£

¼¡¤Ë¡¢¥Ç¥£¥ì¥¯¥È¥ê dir ¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¡Öx¡×¤À¤±¤òΩ¤Æ¤Æ¡¢Æ±¤¸¤³¤È¤ò¤·¤Æ¤ß¤è¤¦¡£
% chmod 100 dir
% ls dir
ls: dir: Permission denied
¢Í ¥Ç¥£¥ì¥¯¥È¥ê dir ²¼¤Î¥Õ¥¡¥¤¥ë°ìÍ÷¤Ï¼èÆÀ¤Ç¤­¤Ê¤¤
% ls -l dir
ls: dir: Permission denied
¢Í ¥Ç¥£¥ì¥¯¥È¥ê dir ²¼¤Î¥Õ¥¡¥¤¥ë¤Î¾ðÊó¤â¼èÆÀ¤Ç¤­¤Ê¤¤
% ls -l dir/file
-rw-r--r-- 1 user group 9 Oct 10 14:57 file
¢Í ¥Õ¥¡¥¤¥ë̾¤òľÀÜ»ØÄꤹ¤ì¤ÐÂç¾æÉ×
% cat dir/file
hogehoge
¢Í ¥Ç¥£¥ì¥¯¥È¥ê dir ²¼¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤Ï¼èÆÀ¤Ç¤­¤ë
¡Ör¡×¤òÍî¤È¤·¤Æ¡Öx¡×¤òΩ¤Æ¤ë¤È¡¢ls ¤Ç dir ¤Î²¼¤Î¥Õ¥¡¥¤¥ë°ìÍ÷¤¬¼èÆÀ¤Ç¤­¤Ê¤¯¤Ê¤Ã¤¿¡£¤·¤«¤·¥Õ¥¡¥¤¥ë̾¤òľÀÜ»ØÄꤹ¤ë¤È¡¢ls -l ¤âÍ­¸ú¤À¤·¡¢¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤âɽ¼¨¤Ç¤­¤ë¡£

ÉáÄÌ¡¢¥Ç¥£¥ì¥¯¥È¥ê¤Ï¾¥æ¡¼¥¶¤ËÂФ·¤Æ¡Ör-x¡×¤È¤·¤Æ¤ª¤±¤Ð¤è¤¤¡£¤â¤·¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë¥¢¥¯¥»¥¹¤·¤Æ¤Û¤·¤¯¤Ê¤±¤ì¤Ð¡Ö---¡×¤Ë¤¹¤ì¤Ð¤è¤¤¤À¤í¤¦¡£¡Ör¡×¤À¤±¤Ë¤¹¤ë¤È¡¢¥Õ¥¡¥¤¥ë°ìÍ÷¤Ï¼èÆÀ¤Ç¤­¤ë¤¬¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤Î¾ðÊó¤ò¸«¤¿¤ê¡¢¥Õ¥¡¥¤¥ë¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¯¤Ê¤ë¡£°ìÊý¡Öx¡×¤À¤±¤òΩ¤Æ¤ë¤È¡¢¥Õ¥¡¥¤¥ë°ìÍ÷¤Ï¼èÆÀ¤Ç¤­¤Ê¤¤¤¬¡¢¥Õ¥¡¥¤¥ë¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤Ï¤Ç¤­¤ë¡¢¤È¤¤¤¦¤ï¤±¤À¡£

¡üsetuid¡¦setgid¡¦sticky bit
¤µ¤Æ¡¢Àè¤Ë¾¯¤·¿¨¤ì¤¿¤¬¡¢
4000 user s-bit ¤òΩ¤Æ¤ë (setuid¡¦suid)
2000 group s-bit¤òΩ¤Æ¤ë (setgid¡¦sgid)
1000 sticky bit ¤òΩ¤Æ¤ë
¤È¤¤¤¦¤â¤Î¤¬¤¢¤ë¡£
% chmod 4755 file
¤¢¤ë¤¤¤Ï
% chmod u+sx file
¤Ç setuid ¤òΩ¤Æ¤ë¤³¤È¤¬¤Ç¤­¡¢
% chmod 2755 file
¤¢¤ë¤¤¤Ï
% chmod g+sx file
¤Ç setgid ¤òΩ¤Æ¤é¤ì¤ë¡£setuid¡¦setgid ¤Î°ÕÌ£¤Ë¤Ä¤¤¤Æ¤Ï setuid ¤Î¹à¤ò»²¾È¤·¤Æ¤Û¤·¤¤¡£
>> ÍѸ콸 setuid *

sticky bit ¤È¤¤¤¦¤Î¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë¤¢¤ë¥Õ¥¡¥¤¥ë¤Îºï½ü¤Ë´Ø¤¹¤ëÀßÄê¤Ç¤¢¤ë¡£Î㤨¤Ð /tmp ¥Ç¥£¥ì¥¯¥È¥ê¤ò¹Í¤¨¤Æ¤ß¤è¤¦¡£/tmp ¤Ï°ì»þ¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤¿¤á¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç¡¢Ã¯¤Ç¤â¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤Ç¤­¤ë¡£¤·¤«¤· /tmp ¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ò 777 ¤Ë¤¹¤ë¤È¡¢¤¢¤ë¥æ¡¼¥¶¤¬ºî¤Ã¤¿¥Õ¥¡¥¤¥ë¤ò¾¤Î¥æ¡¼¥¶¤¬¾Ã¤¹¤³¤È¤¬¤Ç¤­¤Æ¤·¤Þ¤¦¡£¤½¤³¤Ç /tmp ¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ò 777 ¤Ë¤·¡¢¤µ¤é¤Ë sticky bit ¤òΩ¤Æ¤ë¡£¤¹¤ë¤È¡¢
  • ï¤Ç¤â¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤ò¿·µ¬ºîÀ®¤Ç¤­¤ë
  • ¤·¤«¤·¡¢¤½¤ì¤ò¾Ã¤»¤ë¤Î¤ÏºîÀ®¤·¤¿¥æ¡¼¥¶ (¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Î¥ª¡¼¥Ê¡¼) ¤Î¤ß
¤È¤Ê¤ë¡£¼ÂºÝ¡¢/tmp ¤Ï sticky bit ¤¬Î©¤Ã¤Æ¤¤¤ë¡£
% ls -ld /tmp
drwxrwxrwt 7 bin bin 1024 Oct 10 10:24 /tmp
ºÇ¸å¤Î¡Örwt¡×¤Î¡Öt¡×¤¬ sticky bit ¤òɽ¤·¤Æ¤¤¤ë¡£
% chmod 1777 dir
% chmod a+rwxt dir
¤Ê¤É¤Ç sticky bit ¤ò ON ¤Ë¤Ç¤­¤ë¡£

ÀΤΠUNIX ¤Î sticky bit ¤È¤¤¤¦¤Î¤Ï¡¢¼Â¹Ô¥Õ¥¡¥¤¥ë¤ËÂФ·¤ÆÀßÄꤹ¤ë¤â¤Î¤Ç¤¢¤Ã¤¿¡£ÉÑÈˤ˻ÈÍѤ¹¤ë¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ ¤³¤Î¥Ó¥Ã¥È¤òΩ¤Æ¤Æ¤ª¤¯¤È¡¢¾ï¤Ë¥á¥â¥ê¾å¤Ë¥Ð¥¤¥Ê¥ê¤òÊݸ¤·¤Æ¤ª¤¯¸ú²Ì¤¬¤¢¤Ã¤¿¡£¤·¤«¤·º£¤Ç¤Ï²¾ÁÛµ­²±¤Îȯã¤Ë¤è¤ê¡¢°ÕÌ£¤ò¤Ê¤µ¤Ê¤¯¤Ê¤Ã¤¿¤Î¤Ç¡¢¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¤³¤Î¥Ó¥Ã¥È¤òΩ¤Æ¤Æ¤â̵»ë¤µ¤ì¤ë¡£¡Östicky¡×¤Ï¡ÖޤêÉÕ¤±¤Æ¤ª¤¯¡×¤È¤¤¤¦°ÕÌ£¤Ç¤¢¤ë¤¬¡¢¸½ºß¤Ç¤Ï¡Östicky¡×¤È¤¤¤¦°ÕÌ£¤Ï¤Ê¤¯¡¢Ì¾Á°¤À¤±¤¬»Ä¤Ã¤Æ¤¤¤ë¤ï¤±¤Ç¤¢¤ë¡£

¤Ê¤ª¡¢BSD ·Ï UNIX ¤Ë¤Ï¡¢chmod ¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤È¤ÏÁ´¤¯Ê̤ˡ¢¥Õ¥¡¥¤¥ë¥Õ¥é¥°¤È¤¤¤¦³µÇ°¤¬¤¢¤ë¡£¤³¤ì¤Ï chflags ¥³¥Þ¥ó¥É¤ÇÀßÄê¤Ç¤­¤ë¡£
>> ¥³¥Þ¥ó¥É ls *   chown *   chgrp *   umask *   ln *   chflags *
>> ÆÉ¤ßÊý chmod *

chown¡¡¥Õ¥¡¥¤¥ë¤Î½êÍ­¼Ô¡¢½êÍ­¥°¥ë¡¼¥×¤òÊѹ¹¤¹¤ë

¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Î½êÍ­¼Ô(¥ª¡¼¥Ê¡¼)¡¢½êÍ­¥°¥ë¡¼¥×¤òÊѹ¹¤¹¤ë¡£½êÍ­¼Ô¤òÊѹ¹¤Ç¤­¤ë¤Î¤Ï root ¤Î¤ß¤Ç¤¢¤ë¤¬¡¢¥°¥ë¡¼¥×¤Ï¥Õ¥¡¥¤¥ë¤Î¥ª¡¼¥Ê¡¼¤Ê¤éÊѹ¹¤Ç¤­¤ë²ÄǽÀ­¤¬¤¢¤ë(¥ª¡¼¥Ê¡¼¤¬Ê£¿ô¤Î¥°¥ë¡¼¥×¤Ë°¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ë)¡£
# chown user file
¥Õ¥¡¥¤¥ë file ¤Î½êÍ­¼Ô¤ò¥æ¡¼¥¶ user ¤ËÊѹ¹¤¹¤ë
% chown user:group file
¥Õ¥¡¥¤¥ë file ¤Î½êÍ­¼Ô/¥°¥ë¡¼¥×¤ò user/group ¤ËÊѹ¹¤¹¤ë
% chown :group dir
¥Ç¥£¥ì¥¯¥È¥ê dir ¤Î¥°¥ë¡¼¥×¤ò group ¤ËÊѹ¹¤¹¤ë

¼«Ê¬¤¬¤É¤Î¥°¥ë¡¼¥×¤Ë°¤·¤Æ¤¤¤ë¤«¤Ï¡¢id ¥³¥Þ¥ó¥É¤Ç¤ï¤«¤ë¡£
% id
uid=1001(hoge) gid=1001(hoge) groups=1001(hoge), 0(wheel), 5(operator)
¤Î¤È¤­¡¢
% touch sample
¤È¤·¤Æ¥Õ¥¡¥¤¥ë¤ò¿·µ¬ºîÀ®¤¹¤ë¤È¡¢
% ls -l sample
-rw-r--r--¡¡1¡¡hoge¡¡hoge¡¡0¡¡Feb¡¡1¡¡13:47¡¡sample
¤È¤Ê¤ë¡£¤³¤Î¤È¤­¡¢
% chown :¥°¥ë¡¼¥×̾ sample
¤Ç sample ¤Î½êÍ­¥°¥ë¡¼¥×¤òÊѹ¹¤Ç¤­¤ë¤¬¡¢¤³¤Î¤È¤­¥°¥ë¡¼¥×̾¤È¤·¤Æ»ØÄê¤Ç¤­¤ë¤Î¤Ï hoge¡¦wheel¡¦operator ¤Ç¤¢¤ë¡£
>> ¥³¥Þ¥ó¥É chgrp *   chmod *   id *
>> ÆÉ¤ßÊý chown *

chpass¡¡¥æ¡¼¥¶¤Î¸Ä¿Í¾ðÊó (¥í¥°¥¤¥ó¥·¥§¥ë¡¦¥ê¥¢¥ë¥Í¡¼¥à¤Ê¤É) ¤òÊѹ¹¤¹¤ë¡£

¥í¥°¥¤¥ó¥·¥§¥ë¤Ê¤É¤Î¸Ä¿Í¾ðÊó¤òÊѹ¹¤¹¤ë¡£

chpass ¤ò°ú¿ô¤Ê¤·¤Ç¼Â¹Ô¤¹¤ë¤È¡¢´Ä¶­ÊÑ¿ô EDITOR ¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¥¨¥Ç¥£¥¿¤¬µ¯Æ°¤µ¤ì¤ë¤Î¤Ç¡¢
Shell: ...
¤È¤¤¤¦¹àÌܤò½ñ¤­´¹¤¨¤Æ¥¨¥Ç¥£¥¿¤ò½ªÎ»¤¹¤ì¤Ð¤è¤¤¡£tcsh ¤Ë¤·¤¿¤¤¤Ê¤é
Shell: /usr/local/bin/tcsh
¤È¤¹¤ë¡£

¥í¥°¥¤¥ó¥·¥§¥ë¤òÊѹ¹¤·¤¿¤¤¤À¤±¤Ê¤é¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤«¤é
% chsh -s tcsh
% chsh -s /usr/local/bin/tcsh
¤È¤·¤Æ¤â¤è¤¤¡£

¥í¥°¥¤¥ó¥·¥§¥ë¤È¤·¤Æ»ØÄê¤Ç¤­¤ë¤Î¤Ï /etc/shells ¤ÎÃæ¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¤â¤Î¤À¤±¤Ç¤¢¤ë¡£
>> ¥³¥Þ¥ó¥É chsh *   passwd *   vipw *
>> ´Ä¶­ÊÑ¿ô EDITOR *
>> ÀßÄê¥Õ¥¡¥¤¥ë /etc/shells *   /etc/passwd *
>> ÍѸ콸 NIS *

chsh¡¡¥í¥°¥¤¥ó¥·¥§¥ë¤òÊѹ¹¤¹¤ë

FreeBSD ¤Ç¤Ï chsh ¤Ï chpass ¤ÈÁ´¤¯Æ±¤¸¤Ç¤¢¤ë¡£ÀâÌÀ¤Ï chpass ¤Î¹à¤ò»²¾È¡£
>> ¥³¥Þ¥ó¥É chpass *

cjpeg¡¡²èÁü¥Õ¥¡¥¤¥ë¤ò JPEG ·Á¼°¤ËÊÑ´¹¤¹¤ë

>> ¥³¥Þ¥ó¥É xv *   convert *

cksum¡¡¥Õ¥¡¥¤¥ë¤Î¥Á¥§¥Ã¥¯¥µ¥à¤òɽ¼¨¤¹¤ë

-o ¥Ç¥Õ¥©¥ë¥È¤Î¥¢¥ë¥´¥ê¥º¥à¤Ç¤Ï¤Ê¤¯¡¢¸Å¤¤¥¢¥ë¥´¥ê¥º¥à¤ò»È¤¦
% cksum sample
123456789 10000 sample
¢Í ¥Á¥§¥Ã¥¯¥µ¥à¤Ï 123456789¡¢¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤Ï 10000¡¢¥Õ¥¡¥¤¥ë̾¤Ï sample
cksum ¤Ï¸Å¤¤¥³¥Þ¥ó¥É¤Ê¤Î¤Ç¡¢md5 ¤ä openssl dgst ¤ò»È¤¦¤³¤È¤ò¤ª´«¤á¤¹¤ë¡£
>> ¥³¥Þ¥ó¥É md5 *   openssl *

clear¡¡²èÌ̤ξõî

clear¤Ï¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤Ç¡¢ÆâÍÆ¤Ï
#!/bin/sh -
exec tput clear
¤È¤Ê¤Ã¤Æ¤¤¤ë¡£

cmp¡¡2¤Ä¤Î¥Õ¥¡¥¤¥ë¤ÎÈæ³Ó¡£ºÇ½é¤Ë°ã¤¤¤¬¸«¤Ä¤«¤Ã¤¿¹ÔÈÖ¹æ¤Èʸ»ú¿ô¤òɽ¼¨¤¹¤ë¡£

cmp ¤Ï¤¢¤Þ¤ê¿µ¡Ç½¤Ç¤Ï¤Ê¤¤¤Î¤Ç¡¢2¤Ä¤Î¥Õ¥¡¥¤¥ë¤¬°ã¤¦¤â¤Î¤«¤É¤¦¤«¤òÃΤꤿ¤¤¤È¤­¤À¤±»È¤¦¤È¤¤¤¤¤À¤í¤¦¡£
>> ¥³¥Þ¥ó¥É comm *   diff *

coco¡¡¥³¡¼¥ÉÊÑ´¹¡¢¥³¡¼¥ÉȽÄê¤ò¹Ô¤¦(¥Ñ¥¤¥×)

-l Âбþ¤·¤Æ¤¤¤ë¥³¡¼¥É¤Î°ìÍ÷¤òɽ¼¨
-q »ØÄê¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ç»È¤ï¤ì¤Æ¤¤¤ë¥³¡¼¥É¤Î¼ïÎà¤òȽÄꤹ¤ë
% cat sample.dat | coco -q
In (*euc-japan*unix): 4923 bytes
¢Í sample.euc ¤Ï EUC-JP ¤Ç¤¢¤ë¤³¤È¤¬¤ï¤«¤ë¡£

ÀΤΠFreeBSD ¤Ç¤Ï¡¢coco ¤Ï mule ¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ë´Þ¤Þ¤ì¤Æ¤¤¤¿¤¬¡¢mule ¤¬ emacs ¤ËÅý¹ç¤µ¤ì¤Æ¤«¤é¤Ï mule-common ¥Ñ¥Ã¥±¡¼¥¸Æâ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¡£
>> ¥³¥Þ¥ó¥É nkf *   qkc *   iconv *   euctosj *

col¡¡¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤ò¼è¤ê½ü¤¯(¥Õ¥£¥ë¥¿)

¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤Ï¡¢²¼Àþ¤äÂÀ»ú¤Îɽ¼¨¤Î¤¿¤á¤Î¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢
% man ls > ls.txt
¤Ê¤É¤È¤·¤Æ¤â ls.txt ¤Ï¥×¥ì¥¤¥ó¥Æ¥­¥¹¥È¤Ë¤Ï¤Ê¤é¤º¡¢ÆÉ¤ß¤Å¤é¤¤¡£col ¤ò»È¤¦¤È¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤ò¼è¤ê½ü¤­¡¢¥×¥ì¥¤¥ó¥Æ¥­¥¹¥È¤ËÀ°·Á¤Ç¤­¤ë¡£
% man ls | col -b > ls.txt
¤È¤¹¤ë¤³¤È¤Ç¡¢ls ¤Î¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤ò¥×¥ì¥¤¥ó¥Æ¥­¥¹¥È¤ËÊÑ´¹¤·¤Æ ls.txt ¤Ë½ñ¤­¹þ¤à¡£

FreeBSD ¤Î col ¤ÏÆüËܸì¤ËÂбþ¤·¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢jman ¤ò»È¤¦¾ì¹ç¤Ï colcrt ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ
% jman ls | colcrt > ls.txt
¤È¤¹¤ì¤Ð¤è¤¤¡£

¤Ê¤ª¡¢col -b ¤ä colcrt ¤Ï¡¢
% perl -pe 's/(_\x08|\x08\x08..|\x08.)//g'
¤ÈÅù²Á¤Ç¤¢¤ë¡£
>> ¥³¥Þ¥ó¥É man *

comm¡¡2¤Ä¤Î¥Õ¥¡¥¤¥ë¤Î°ã¤¤¤Îɽ¼¨

¥Õ¥¡¥¤¥ë̾¤Ë - ¤ò»ØÄꤹ¤ë¤Èɸ½àÆþÎϤ«¤éÆÉ¤ß¹þ¤à¡£

comm ¤ÏÈæ³ÓÂоݥե¡¥¤¥ë¤¬¤¢¤é¤«¤¸¤á¼­½ñ½ç¤Ë¥½¡¼¥È¤µ¤ì¤Æ¤¤¤ëɬÍפ¬¤¢¤ë¡£ÉáÄ̤Ϥ¤¤Á¤¤¤Á¥½¡¼¥È¤¹¤ë¤Î¤ÏÌÌÅݤʤΤǡ¢diff ¤ò»È¤¦Êý¤¬¤è¤¤¤À¤í¤¦¡£
>> ¥³¥Þ¥ó¥É cmp *   diff *

complete¡¡¥³¥Þ¥ó¥É¤Î°ú¿ô¤ÎÊä´°¤ÎÀßÄê¤ò¤¹¤ë¡£tcsh ¤ÎÆâÉô¥³¥Þ¥ó¥É

tcsh ¤Ï Ctrl-D ¤È TAB ¤ÇÊä´°µ¡Ç½¤¬»È¤¨¤ë¤¬¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¥³¥Þ¥ó¥É¤È¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Î¤ß¤¬Êä´°ÂоݤȤʤäƤ¤¤ë¡£¤·¤«¤·¡¢
  • telnet¡¦rlogin ¡Ä ¥Û¥¹¥È̾
  • printenv ¡Ä ´Ä¶­ÊÑ¿ô
  • jlatex ¡Ä *.tex
  • rmdir ¡Ä ¥Ç¥£¥ì¥¯¥È¥ê
¤È¤¤¤¦¤Õ¤¦¤Ë¡¢¥³¥Þ¥ó¥É¤´¤È¤ËÊä´°ÂоݤòÊѤ¨¤é¤ì¤ë¤È¤µ¤é¤ËÊØÍø¤Ë¤Ê¤ë¡£complete ¥³¥Þ¥ó¥É¤ò»È¤¦¤È¡¢¥³¥Þ¥ó¥É¤´¤È¤ËÊä´°Âоݤò¤­¤áºÙ¤«¤¯»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

°Ê²¼¤Ë´Êñ¤ÊÎã¤ò¤¢¤²¤ë¡£
% complete alias 'p/1/a/'
¥¨¥¤¥ê¥¢¥¹¤Î¤ß¤òÊä´°¸õÊä¤Ë¤¹¤ë¡£¤¿¤À¤·1ÈÖÌܤΰú¿ô¤À¤±¤ËÂФ·¤Æ¸ú²Ì¤¬¤¢¤ë¡£
% complete set 'p/1/s/'
¥·¥§¥ëÊÑ¿ô¤Î¤ß¡£
% complete printenv 'p/*/e/'
´Ä¶­ÊÑ¿ô¤Î¤ß¡£²¿ÈÖÌܤΰú¿ô¤Ç¤â¸ú²Ì¤¢¤ê¡£
% complete man 'p/*/c/'
¥³¥Þ¥ó¥É¤Î¤ß¡£²¿ÈÖÌܤΰú¿ô¤Ç¤â¸ú²Ì¤¢¤ê¡£
% complete xdvi 'p/1/f:*.dvi/'
³ÈÄ¥»Ò¤¬ .dvi ¤Ç¤¢¤ë¥Õ¥¡¥¤¥ë¤Î¤ß¤òÊä´°¸õÊä¤Ë¤¹¤ë¡£
% complete cc 'p/1/f:*.{c,cc}/'
³ÈÄ¥»Ò¤¬ .c ¤« .cc ¤Ç¤¢¤ë¥Õ¥¡¥¤¥ë¤Î¤ß¤òÊä´°¸õÊä¤Ë¤¹¤ë¡£

complete ¥³¥Þ¥ó¥É¤Ï¡¢Ê£»¨¤Ç±ü¤¬¿¼¤¤¡£½ñ¼°¤Ï
% complete ¥³¥Þ¥ó¥É̾ 'Êä´°¤Î¼ïÎà/(¥Þ¥Ã¥Á¥Ñ¥¿¡¼¥ó or °ú¿ôÈÖ¹æ)/Êä´°ÂоÝ/'
¤Ç¤¢¤ë¡£

¤Þ¤º¤Ï¡¢'p/*/.../' ¤È¤¤¤¦½ñ¤­Êý¤ò³Ð¤¨¤è¤¦¡£
`...' ¤ÎÉôʬ¤Ë°Ê²¼¤Îʸ»ú¤ò»ØÄꤹ¤ë¤³¤È¤Ç¡¢Êä´°¸õÊä¤ò¸ÂÄê¤Ç¤­¤ë¡£
c ¥³¥Þ¥ó¥É
d ¥Ç¥£¥ì¥¯¥È¥ê
f ¥Õ¥¡¥¤¥ë̾
a ¥¨¥¤¥ê¥¢¥¹ (alias ¥³¥Þ¥ó¥É¤ÇÀßÄꤵ¤ì¤Æ¤¤¤ë¤â¤Î)
e ´Ä¶­ÊÑ¿ô (setenv ¥³¥Þ¥ó¥É¤ÇÀßÄꤵ¤ì¤Æ¤¤¤ë¤â¤Î)
s ¥·¥§¥ëÊÑ¿ô (set ¥³¥Þ¥ó¥É¤ÇÀßÄꤵ¤ì¤Æ¤¤¤ë¤â¤Î)
v ´Ä¶­ÊÑ¿ô¤È¥·¥§¥ëÊÑ¿ô
u ¥æ¡¼¥¶Ì¾ (/etc/passwd ¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¥æ¡¼¥¶Ì¾)
g ¥°¥ë¡¼¥×̾ (/etc/group ¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¥°¥ë¡¼¥×̾)
j ¥¸¥ç¥Ö (jobs ¤Çɽ¼¨¤µ¤ì¤ë¥¸¥ç¥Ö)
l ¥ê¥ß¥Ã¥È (limit ¥³¥Þ¥ó¥É¡¦ulimit ¥³¥Þ¥ó¥É¤Çɽ¼¨¤µ¤ì¤ë¥ê¥ß¥Ã¥È̾)
Îã¤ò¤¢¤²¤ë¤È¡¢
% complete unalias 'p/*/a/'
Êä´°Âоݤϥ¨¥¤¥ê¥¢¥¹
% complete unsetenv 'p/*/e/'
Êä´°ÂоݤϴĶ­ÊÑ¿ô
% complete foo 'p/*/es/'
Êä´°ÂоݤϴĶ­ÊÑ¿ô¤È¥·¥§¥ëÊÑ¿ô
¤Þ¤¿¡¢¤½¤Îʸ»ú¤Î¸å¤Ë : ¤òÉÕ¤±¤ë¤È¡¢¥·¥§¥ë¤Î¥ï¥¤¥ë¥É¥«¡¼¥É¤¬»È¤¨¤ë¡£
% complete foo 'p/*/f:*.txt/'
Êä´°ÂÐ¾Ý¤Ï *.txt ¤Ë¥Þ¥Ã¥Á¤¹¤ë¥Õ¥¡¥¤¥ë
% complete foo 'p/*/u:a*/'
Êä´°ÂÐ¾Ý¤Ï a ¤«¤é»Ï¤Þ¤ë¥æ¡¼¥¶Ì¾

¼¡¤Ë¡¢'p/*/(... ... ...)/' ¤È¤¤¤¦½ñ¤­Êý¡£
Î㤨¤Ð
% complete foo 'p/*/(abc def hij)/'
¤È¤¹¤ë¤È¡¢
% foo (TAB)
abc def hij
¤È¡¢`()' ¤Ç°Ï¤ó¤Àʸ»úÎó¤òÊä´°¸õÊä¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

¼¡¤Ë¡¢'p/*/$xxx/' ¤È¤¤¤¦½ñ¤­Êý¡£
$xxx ¤Ï¥·¥§¥ëÊÑ¿ô¤È¤·¤Æ°·¤ï¤ì¤ë¡£
% set xxx = (abc def hij)
% complete foo 'p/*/$xxx/'
¤È¡¢
% complete foo 'p/*/(abc def hij)/'
¤ÏƱ¤¸°ÕÌ£¤Ç¤¢¤ë¡£¤¿¤À¤· $xxx ¤ÎÆâÍÆ¤òÊѹ¹¤¹¤ë¤È¡¢Êä´°ÂÐ¾Ý¤âÆ°Åª¤ËÊѤï¤ë¡£¤è¤Ã¤Æ¡¢Ê䴰ưºî¤ò¹Ô¤¦¤È¤­¤Ë¤Ïɬ¤º $xxx ¤òÀßÄꤷ¤Æ¤ª¤«¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£

³¤¤¤Æ¡¢'p/*/`...`/' ¤È¤¤¤¦½ñ¤­Êý¡£
¥Ð¥Ã¥¯¥¯¥©¡¼¥È `` ¤Ç°Ï¤à¤³¤È¤Ç¡¢¤½¤ÎÃæ¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¡¢¤½¤Î·ë²Ì¤òÊä´°¸õÊä¤È¤¹¤ë¡£Î㤨¤Ð¡¢talk ¥³¥Þ¥ó¥É¤ÎÊä´°Âоݤϸ½ºß¥í¥°¥¤¥óÃæ¤Î¥æ¡¼¥¶Ì¾¤Ë¤Ê¤Ã¤Æ¤Û¤·¤¤¤Î¤Ç
% complete talk 'p/*/`users`/'
¤È¤¹¤ë¡£¤³¤ì¤Ç¡¢
% talk (Ctrl-D)
user1 user2
¤È¡¢Ctrl-D ¤ä TAB ¤ò²¡¤¹¤¿¤Ó¤Ë users ¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¡¢¥í¥°¥¤¥óÃæ¤Î¥æ¡¼¥¶¤Î¤ß¤¬Êä´°ÂоݤȤʤ롣

¼¡¤Ë¡¢'c/XXX/YYY/' ¤È¤¤¤¦½ñ¤­Êý¡£
¤³¤ì¤Ï¡¢¡Ö¸½ºß XXX ¤Þ¤ÇÆþÎϤ·¤Æ¤¤¤¿¤é¡¢YYY ¤òÊä´°Âоݤˤ¹¤ë¡×¤È¤¤¤¦°ÕÌ£¤Ç¤¢¤ë¡£`YYY' ¤ÎÉôʬ¤Ë¤Ï¡¢p/// ¤Î½ñ¤­Êý¤Î¤È¤³¤í¤Ç¾Ò²ð¤·¤¿ (... ... ...) ¡¦ $xxx ¡¦ `...` ¤Ê¤É¤Î·Á¼°¤ò¤½¤Î¤Þ¤Þ»È¤¦¤³¤È¤¬¤Ç¤­¤ë¡£
% complete foo 'c/abc/e/'
¤È¤¹¤ë¤È¡¢
% foo (Ctrl-D)
% foo a(Ctrl-D)
¤Ç¤Ï¡¢²¿¤âµ¯¤³¤é¤Ê¤¤ (¥Ç¥Õ¥©¥ë¥Èưºî¤Ç¤¢¤ë¡¢¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Î°ìÍ÷¤òɽ¼¨¤¹¤ë)¡£¤·¤«¤·¡¢abc ¤È¥¿¥¤¥×¤·¤¿¸å¤Ë Ctrl-D ¤ò²¡¤¹¤È
% foo abc(Ctrl-D)
CDPLAYER DISPLAY HOST LESS MPEGTABLES PWD USER
CVSEDITOR EDITOR HOSTDISPLAY LESSCHARSET OSTYPE SHELL VENDOR
¤È¡¢´Ä¶­ÊÑ¿ô¤Î°ìÍ÷¤òɽ¼¨¤¹¤ë¡£

% complete foo 'c/abc/(xx yy zz)/'
¤Ê¤é¤Ð¡¢
% foo abc(Ctrl-D)
xx yy zz
¤È¤Ê¤ë¡£

ÆÃ¤Ë¡¢¤³¤ì¤Ï¥ª¥×¥·¥ç¥ó¤òÊä´°¸õÊä¤Ë¤¹¤ë¾ì¹ç¤ËÍ­¸ú¤Ç¤¢¤ë¡£Î㤨¤Ð
% complete foo 'c/-/(x y z)/'
% foo -(Ctrl-D)
x y z
¤È¡¢¥ª¥×¥·¥ç¥ó¤Î°ìÍ÷¤ò¼ê·Ú¤Ë¸«¤ë¤³¤È¤¬¤Ç¤­¤ë (¤â¤Á¤í¤ó TAB ¤ÇÊä´°¤â¤Ç¤­¤ë)¡£¤µ¤é¤Ë¡¢`XXX' ¤ÎÉôʬ¤Ë¤Ï¡¢¥á¥¿¥­¥ã¥é¥¯¥¿¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤ë¡£
% complete foo 'c/-[abc]/(x y z)/'
% foo -a(Ctrl-D)
x y z
% foo -b(Ctrl-D)
x y z
¤³¤ÎÎã¤Ç¤Ï¡¢-a ¤« -b ¤« -c ¤¬ÆþÎϤµ¤ì¤ë¤È¡¢x y z ¤È¤¤¤¦Êä´°¸õÊä¤òɽ¼¨¤¹¤ë¡£
% complete foo 'c/-A*/(x y z)/'
¤À¤È¡¢-A ¤«¤é»Ï¤Þ¤ëʸ»úÎó ( -A ¤ä -Ab -Ac -Aabc ¤Ê¤É) ¤¬ÆþÎϤµ¤ì¤Æ¤¤¤ë¤È¤­¤Ï x y z ¤¬Êä´°Âоݤˤʤ뤷¡¢
% complete foo 'c/-*A/(x y z)/'
¤Ï¡¢- ¤«¤é»Ï¤Þ¤ê A ¤Ç½ª¤ï¤ëʸ»úÎó (-*A ¤Ë¥Þ¥Ã¥Á¤¹¤ëʸ»úÎó) ¤¬ÆþÎϤµ¤ì¤Æ¤¤¤ë¤È¤­¡¢x y z ¤¬Êä´°Âоݤˤʤ롣

ºÇ¸å¤Ë 'n/XXX/YYY/'¡£
¤³¤ì¤Ï 'c/XXX/YYY/' ¤È¤Û¤ÜƱ¤¸¤Ç¤¢¤ë¤¬¡¢°ã¤¦¤Î¤Ï `XXX' ¤Î¼¡¤Î°ú¿ô¤ËÂФ·¤Æ `YYY' ¤òÊä´°Âоݤˤ¹¤ë¤³¤È¤Ç¤¢¤ë¡£
% complete foo 'c/XXX/(YYY)/'
¤À¤È¡¢`XXX' ¤Îľ¸å¤Ë TAB ¤ò²¡¤¹¤È
% foo XXX(TAB)
YYY
¤È¤Ê¤ë¤¬¡¢
% complete foo 'n/XXX/(YYY)/'
% foo XXX(TAB)
¤È¡¢`XXX' ¤Îľ¸å¤Ë TAB ¤ò²¡¤·¤Æ¤â²¿¤âµ¯¤³¤é¤Ê¤¤¡£¤·¤«¤·
% foo XXX (TAB)
`XXX' ¤Î¸å¤Ë¶õÇò¤òÆþ¤ì¤Æ TAB ¤ò²¡¤¹¤È `YYY' ¤¬Êä´°ÂоݤȤʤ롣

ºÆÅÙ¡¢'p///' ¤Ë¤Ä¤¤¤ÆÊä­ÀâÌÀ¡£
¼Â¤Ï p/// ¤Ï¡¢²¿ÈÖÌܤΰú¿ô¤«¤Ë¤è¤Ã¤Æ¡¢Êä´°Âоݤò¸ÂÄꤹ¤ëÌ¿Îá¤Ç¤¢¤ë¡£
% complete foo1 'p/1/c/'
Êä´°Âоݤϥ³¥Þ¥ó¥É̾¡£¤¿¤À¤·1ÈÖÌܤΰú¿ô¤Î¤ß¡£
% complete foo2 'p/3/c/'
Êä´°Âоݤϥ³¥Þ¥ó¥É̾¡£¤¿¤À¤·3ÈÖÌܤΰú¿ô¤Î¤ß¡£
% complete foo3 'p/*/c/'
Êä´°Âоݤϥ³¥Þ¥ó¥É̾¡£²¿ÈÖÌܤΰú¿ô¤Ç¤âÍ­¸ú¡£
¾åµ­¤ÎÎã¤Ç¤Ï¡¢
% foo1 (Ctrl-D)
1ÈÖÌܤΰú¿ô¤Ê¤Î¤Ç¡¢¥³¥Þ¥ó¥É̾¤Î°ìÍ÷¤òɽ¼¨
% foo1 foo (Ctrl-D)
2ÈÖÌܤΰú¿ô¤ËÂФ·¤Æ¤ÏÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Î°ìÍ÷¤òɽ¼¨ (¥Ç¥Õ¥©¥ë¥Èưºî)
% foo2 (Ctrl-D)
1ÈÖÌܤΰú¿ô¤ËÂФ·¤Æ¤ÏÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Î°ìÍ÷¤òɽ¼¨ (¥Ç¥Õ¥©¥ë¥Èưºî)
% foo2 foo bar (Ctrl-D)
3ÈÖÌܤΰú¿ô¤Ê¤Î¤Ç¡¢¥³¥Þ¥ó¥É̾¤Î°ìÍ÷¤òɽ¼¨
¤È¤Ê¤ë¡£foo3 ¤Ï²¿ÈÖÌܤΰú¿ô¤Ç¤¢¤Ã¤Æ¤â¡¢¾ï¤Ë¥³¥Þ¥ó¥É̾¤òɽ¼¨¤¹¤ë¡£

ºÇ¸å¤Ë¡¢p/// c/// n/// ¤Î»È¤¤Ê¬¤±¤Ë¤Ä¤¤¤Æ¡£
Î㤨¤Ð find ¥³¥Þ¥ó¥É¤Ï¡¢-type ¤Î¸å¤Ë f s b c l ¤Ê¤É¤Î°ú¿ô¤ò½ñ¤¯¡£¤½¤¦¤¤¤¦¾ì¹ç¡¢
% complete find 'n/-type/(f s b c l)/'
¤È¤¹¤ë¡£°ìÊý¡¢find ¤Î°ú¿ô¤Ë¤Ï -type ¤Î¾¤Ë¤â¡¢-name -size -inum -exec ¤Ê¤É¿¤¯¤Î°ú¿ô¤ò¼è¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¤³¤Î¾ì¹ç¤Ë¤Ï
% complete find 'c/-/(type name size inum exec)/'
¤È¡¢n/// ¤Ç¤Ê¤¯ c/// ¤ò»È¤¦¤ï¤±¤À¡£°ìÊý p/// ¤Ï²¿ÈÖÌܤΰú¿ô¤«¤ò»ØÄꤷ¤¿¤¤¤È¤­¡¢Î㤨¤Ð
% complete telnet 'p/1/(localhost host1 host2)/' 'p/2/(http ftp pop3)/'
¤Ê¤É¤¤¤¦¤Õ¤¦¤Ë»È¤¦¡£¤Þ¤¿¡¢ÆÃ¤Ë²¿ÈÖÌܤΰú¿ô¤«¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ç¤â
% complete foo 'p/*/a/'
¤È¤·¤Æ¤â¤è¤¤¡£

¤µ¤Æ¡¢°ìÄ̤êÀâÌÀ¤ò¤·¤¿¤Î¤Ç¼ÂºÝ¤ËÀßÄêÎã¤ò¤¢¤²¤è¤¦¡£¤Þ¤º¤ÏÀèÄø¤¢¤²¤¿´Êñ¤ÊÎã¡£
% complete alias 'p/1/a/'
% complete printenv 'p/*/e/'
% complete man 'p/*/c/'
% complete xdvi 'p/1/f:*.dvi/'
% complete cc 'p/1/f:*.{c,cc}/'
¤³¤ì¤é¤Ï¤â¤¦ÀâÌÀ¤Ï¤¤¤é¤Ê¤¤¤À¤í¤¦¡£

¼¡¤Ë find ¥³¥Þ¥ó¥É¡£
find ¥³¥Þ¥ó¥É¤Ï -type -name -size ¤Ê¤É¤Î¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¡¢
'c/-/(type name size inum exec print)/'
-type ¤Î¸å¤Ë¤Ï f s b c l ¤Ê¤É¤Î°ú¿ô¤ò¼è¤ë¡£
'n/-type/(f s b c l)/'
-user ¤Î¸å¤Ë¤Ï¥æ¡¼¥¶Ì¾¡¢-group ¤Î¸å¤Ë¤Ï¥°¥ë¡¼¥×̾¤ò¼è¤ë¡£
'n/-user/u/' 'n/-group/g/'
¤Þ¤¿¡¢find ¤Ï¥Ç¥£¥ì¥¯¥È¥ê̾¤ò¼õ¤±¼è¤ê¡¢¤½¤³¤òµ¯ÅÀ¤Ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¸¡º÷¤¹¤ë¤Î¤Ç¡¢
'p/*/d/'
¤â»ØÄꤷ¤è¤¦¡£¤³¤ì¤é¤ÎÀßÄê¤òÈ¿±Ç¤µ¤»¤ë¤Ë¤Ï¡¢Á´¤Æ·Ò¤²¤ì¤Ð¤è¤¤¡£¤Ä¤Þ¤ê
% complete find 'c/-/(type name size inum exec print)/' 'n/-type/(f s b c l)/' 'n/-user/u/' 'n/-group/g/' 'p/*/d/'
¤È¤¹¤ì¤Ð¤è¤¤¡£¤³¤³¤ÇÂç»ö¤Ê¤Î¤Ï¡¢'p/*/d/' ¤òºÇ¸å¤Ë»ý¤Ã¤Æ¤¤¤¯¤³¤È¤Ç¤¢¤ë¡£¤³¤ÎÀßÄê¤Ç¤Ï
% find -(Ctrl-D)
type name size inum exec print
¤È¤Ê¤ë¤¬¡¢¤â¤· 'p/*/d/' ¤òÀèÆ¬¤Ë»ý¤Ã¤Æ¤¤¤­
% complete find 'p/*/d/' 'c/-/(type name size inum exec print)/' ...
% find -(Ctrl-D)
¤È¤¹¤ë¤È¡¢tcsh ¤Ï - ¤¬¥Ç¥£¥ì¥¯¥È¥ê¤Î°ìÉô¤Ç¤¢¤ë¤ÈȽÃǤ·¡¢- ¤«¤é»Ï¤Þ¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î°ìÍ÷¤òɽ¼¨¤¹¤ë¡£¤â¤· - ¤«¤é»Ï¤Þ¤ë¥Ç¥£¥ì¥¯¥È¥ê¤¬Â¸ºß¤·¤Ê¤±¤ì¤Ð¡¢²¿¤âɽ¼¨¤·¤Ê¤¯¤Ê¤ë¡£¶¹¤¤ÈϰϤÎÀßÄê¤òÀè¤Ë (º¸¤Ë) ½ñ¤­¡¢¹­¤¤ÈϰϤÎÀßÄê¤Ï¸å¤Ë (±¦¤Ë) ½ñ¤¯¡¢¤È¤¤¤¦¤³¤È¤ò³Ð¤¨¤Æ¤ª¤³¤¦¡£

¼¡¤Ë talk ¥³¥Þ¥ó¥É¡£
talk ¤Î°ú¿ô¤Ï¥æ¡¼¥¶Ì¾¤Ç¤¢¤ë¤¬¡¢¸½ºß¥í¥°¥¤¥óÃæ¤Î¥æ¡¼¥¶Ì¾¤À¤±¤òÊä´°Âоݤˤ·¤¿¤¤¡£
% finger | awk '{print $1}' | tail +2 | sort -u
¤Ç¡¢¸½ºß¥í¥°¥¤¥ó¤·¤Æ¤¤¤ë¥æ¡¼¥¶Ì¾¤À¤±¤ò¥Ô¥Ã¥¯¥¢¥Ã¥×¤Ç¤­¤ë¤Î¤Ç¡¢¤³¤ì¤ò complete ¥³¥Þ¥ó¥É¤ÎÃæ¤ËÁȤ߹þ¤á¤Ð¤è¤¤¡£

¤Þ¤º¤ÏÀèÄø¤ÎÎ㤫¤é '' ¤ò³°¤·¡¢Âå¤ï¤ê¤Ë \ ¤Ç¥¨¥¹¥±¡¼¥×¤¹¤ë¡£
finger | awk \{print\ \$1\} | tail +2 | sort -u
¤³¤ì¤Ï¡¢tcsh (sh¡¦csh ¤âƱ¤¸) ¤Ç¤Ï¡¢'' ¤ÎÃæ¤Ë ' ¤ò´Þ¤á¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¤«¤é¤Ç¤¢¤ë¡£perl ¤È°ã¤Ã¤Æ¡¢'\'' ¤È¤·¤Æ¤â¡¢¿¿¤óÃæ¤Î ' ¤Ï¥¨¥¹¥±¡¼¥×¤µ¤ì¤Ê¤¤¡£'' ¤ÎÃæ¤Ç¤Ï \ ¤Ï \ ¤½¤Î¤â¤Î¤È¤·¤Æ°·¤ï¤ì¤ë¤Î¤Ç¡¢¥á¥¿¥­¥ã¥é¥¯¥¿¤ò¥¨¥¹¥±¡¼¥×¤¹¤ëǽÎϤò¼º¤Ã¤Æ¤·¤Þ¤¦¤Î¤Ç¤¢¤ë¡£º£²ó¤Ï¡¢ºÇ½ªÅª¤Ë
complete finger 'p/.../.../'
¤È¡¢Á´ÂΤò '' ¤Ç°Ï¤ß¤¿¤¤¤Î¤Ç awk ¤ÎÉôʬ¤Ç '' ¤ò»È¤ï¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤Î¤Ç¤¢¤ë¡£¼¡¤ËÁ´ÂΤò `` (¥Ð¥Ã¥¯¥¯¥©¡¼¥È) ¤Ç°Ï¤à¡£
`finger | awk \{print\ \$1\} | tail +2 | sort -u`
¤µ¤é¤Ë p/1// ¤ÎÃæ¤ËÆþ¤ì¤ë (1ÈÖÌܤΰú¿ô¤¬ÂоÝ)¡£
p/1/`finger | awk \{print\ \$1\} | tail +2 | sort -u`/
Á´ÂΤò '' ¤Ç°Ï¤à¡£
'p/1/`finger | awk \{print\ \$1\} | tail +2 | sort -u`/'
ÀèÆ¬¤Ë complete ¤È¥³¥Þ¥ó¥É̾¤òÉÕ¤±¤Æ ¤Ç¤­¤¢¤¬¤ê¡£
% complete talk 'p/1/`finger | awk \{print\ \$1\} | tail +2 | sort -u`/'

ºÇ¸å¤Ë telnet ¥³¥Þ¥ó¥É¡£
telnet ¥³¥Þ¥ó¥É¤Ï¡¢
% telnet ¥Û¥¹¥È̾
% telnet ¥Û¥¹¥È̾ ¥Ý¡¼¥ÈÈÖ¹æ (¤¢¤ë¤¤¤Ï¥Ý¡¼¥È̾)
¤È¤¤¤¦°ú¿ô¤ò¼õ¤±¤ë¡£¤½¤³¤Ç¡¢¥Û¥¹¥È̾¤È¥Ý¡¼¥È̾¤òÊä´°¤¹¤ë¤è¤¦¤Ë¤·¤è¤¦¡£¥Û¥¹¥È̾¤Ï
% set hosts=(foo.bar.com hoge.fuga.ac.jp)
¤È¡¢¥·¥§¥ëÊÑ¿ô $hosts ¤ÇÀßÄꤷ¤Æ¤ª¤¯¡£

¤Þ¤¿¡¢¥Ý¡¼¥È̾¤Ï /etc/services ¤«¤é¼èÆÀ¤¹¤ë¡£/etc/services ¤ÎÃæ¿È¤Ï
¥Ý¡¼¥È̾ ¥Ý¡¼¥ÈÈÖ¹æ/¥×¥í¥È¥³¥ë
¤È¤¤¤¦·Á¼°¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢# ¤Ï¥³¥á¥ó¥È¤òɽ¤¹¤Î¤Ç¡¢
% cat /etc/services | awk '{print $1}' | sed 's/#.*//' | sort -u
¤Ç¥×¥í¥È¥³¥ë¤Î°ìÍ÷¤òÆÀ¤é¤ì¤ë¡£¤¿¤À¤·¤³¤ì¤Ç¤ÏÌäÂ꤬¤¢¤ë¡£FreeBSD ¤Î /etc/services ¤Ë¤Ï
sql*net 66/tcp #Oracle SQL*NET
¤È¤¤¤¦¹Ô¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤Î¤À¤¬¡¢¤³¤Î¤è¤¦¤Ë * ¤ä ? ¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤È¡¢Ê䴰ưºî¤ò¤·¤¿¤È¤­ (Ctrl-D ¤ä TAB ¤ò²¡¤·¤¿¤È¤­) ¤Ë¡¢tcsh ¤¬ * ¤ä ? ¤ò¥ï¥¤¥ë¥É¥«¡¼¥É¤È¤ß¤Ê¤·¤Æ¡¢¥Ñ¥¿¡¼¥ó¥Þ¥Ã¥Á¤ò¹Ô¤ª¤¦¤È¤¹¤ë¡£¤½¤³¤Ç
% cat /etc/services | awk '{print $1}' | sed 's/#.*//' | sort -u | sed 's/\*/\\*/g'
¤È¡¢`*' ¤ò `\*' ¤ËÃÖ´¹¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£

¤¢¤È¤Ï¤³¤ì¤ò¤Ò¤È¤Ä¤Ë¤Þ¤È¤á¤ì¤Ð¤è¤¤¤Î¤À¤¬¡¢Àè¤Ë½Ò¤Ù¤¿¤è¤¦¤Ë¡¢¤Þ¤º '' ¤ò´Þ¤Þ¤Ê¤¤·Á¤ËÊѹ¹¤¹¤ë¤È
% cat /etc/services | awk \{print\ \$1\} | sed s/#.\*// | sort -u | sed s/\\\*/\\\\\*/g
¤È¤Ê¤ë¡£¤¢¤È¤Ï¡¢1ÈÖÌܤΰú¿ô¤Ê¤é¥Û¥¹¥È̾¤ò¡¢2ÈÖÌܤΰú¿ô¤Ê¤é¥Ý¡¼¥È̾¤òÊä´°¤µ¤»¤ì¤Ð¤è¤¤¡£¤¿¤À¤·¡¢sed ¤Î°ú¿ô¤Ë `/' ¤òÅϤ·¤Æ¤¤¤ë¤Î¤Ç¡¢`p///' ¤È¤¤¤¦·Á¼°¤Ï»È¤¨¤Ê¤¤¡£Âå¤ï¤ê¤Ë`p@@@' ¤ä `p^^^' ¤È¤¤¤¦½ñ¤­Êý¤¬¤Ç¤­¤ë¡£ºÇ½ªÅª¤Ë¤Ï
% set hosts=(foo.bar.com hoge.fuga.ac.jp)
% complete telnet 'p/1/$hosts/' 'p@2@`cat /etc/services | awk \{print\ \$1\} | sed s/#.\*// | sort -u | sed s/\\\*/\\\\\*/g`@'
¤È¤Ê¤ë¡£Ä¹¤¤¤Í¡Ä¡£

¤³¤³¤Ç¥³¥Þ¥ó¥ÉÊä´°¤ÎÀßÄê¤Ë¤â¿¨¤ì¤Æ¤ª¤³¤¦¡£tc ¤ÈÆþÎϤ·¤ÆÊä´°¤·¤è¤¦¤È¤¹¤ë¤È¡¢
% tc (Ctrl-D)
tcsh tconv tclsh tcpdump tcpslice
¤È¡¢tc ¤«¤é»Ï¤Þ¤ë¥³¥Þ¥ó¥É¤Î°ìÍ÷¤¬É½¼¨¤µ¤ì¤ë¡£¤â¤·¤³¤ÎÃæ¤Ç tcpdump ¤À¤±¤òÊä´°ÂоݤȤ·¤¿¤±¤ì¤Ð¡¢
% complete -tc* 'p/0/(tcpdump)/'
¤È¤¹¤ë¡£p/0// ¤Î 0 ¤Ï 0 ÈÖÌܤΰú¿ô¡¢¤Ä¤Þ¤ê¥³¥Þ¥ó¥É¼«¿È¤òɽ¤·¤Æ¤¤¤ë¡£¤¹¤ë¤È¡¢
% tc (Ctrl-D)
tcpdump
¤È¤Ê¤ê¡¢tcpdump °Ê³°¤Î¥³¥Þ¥ó¥É¤¬Êä´°¸õÊ䤫¤é³°¤µ¤ì¤ë¡£

¤Ê¤ª¡¢¥·¥§¥ëÊÑ¿ô fignore ¤Ç»ØÄꤷ¤¿¥Õ¥¡¥¤¥ë·²¤ÏÊä´°Âоݤ«¤é³°¤µ¤ì¤ë¡£
>> C¥·¥§¥ëÊÑ¿ô fignore *
>> ¥³¥Þ¥ó¥É uncomplete *

compress¡¡¥Õ¥¡¥¤¥ë¤ò°µ½Ì¤¹¤ë

°µ½Ì¥Õ¥¡¥¤¥ë̾¤Ï¸µ¥Õ¥¡¥¤¥ë̾¤ÎºÇ¸å¤Ë .Z ¤òÉÕ¤±¤¿¤â¤Î¡£ÀΤϤ褯»È¤ï¤ì¤Æ¤¤¤¿¤¬¡¢º£¤Ï¤è¤ê°µ½ÌΨ¤Î¹â¤¤ gzip ¤ä bzip2 ¤¬¤¢¤ë¤Î¤Ç¡¢ÆÃ¤ËÍýͳ¤¬¤Ê¤¤¤Ê¤é gzip ¤ò»È¤¦Êý¤¬¤è¤¤¡£

¤¿¤À¤·°ìÉô¤Î¾¦ÍÑ UNIX ¤Ç¤Ï gzip ¥³¥Þ¥ó¥É¤¬É¸½à¤ÇÆþ¤Ã¤Æ¤¤¤Ê¤¤¤¿¤á¡¢µã¤¯µã¤¯ compress ¤ò»È¤¦¤³¤È¤Ï¤è¤¯¤¢¤ë¡£¤Þ¤¿¡¢°µ½ÌΨ¤¬°­¤¤¤¬Æ°ºî¤Ï®¤¤¤Î¤Ç¡¢ÌÜŪ¤Ë±þ¤¸¤Æ»È¤¤Ê¬¤±¤è¤¦¡£

¡ü¥ª¥×¥·¥ç¥ó
-c °µ½Ì·ë²Ì¤òɸ½à½ÐÎϤ˽ñ¤­½Ð¤¹¡£¥Õ¥¡¥¤¥ëÁàºî¤Ï¹Ô¤Ê¤ï¤ì¤Ê¤¤¡£
-f °µ½Ì¥Õ¥¡¥¤¥ë¤¬¸µ¥Õ¥¡¥¤¥ë¤è¤êÂ礭¤¯¤Ê¤Ã¤Æ¤â¶¯À©Åª¤Ë°µ½Ì¥Õ¥¡¥¤¥ë¤òºî¤ë
-v °µ½ÌΨ¤òɽ¼¨

% ls -l file.txt
-rw-r--r-- 1 zxr400 zxr400 34473 Oct 26 21:36 file.txt
% compress file.txt
¢Í file.txt ¤ò°µ½Ì¤¹¤ë¡£
% ls -l func.html.Z
-rw-r--r-- 1 zxr400 zxr400 14796 Oct 26 21:36 file.txt.Z
¢Í file.txt ¤Ïºï½ü¤µ¤ì¡¢file.txt.Z ¤¬À¸À®¤µ¤ì¤ë¡£¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤Ï 40% ¤Û¤É¤Ë¤Ê¤Ã¤¿¡£
% ls -l file.txt
-rw-r--r-- 1 zxr400 zxr400 34473 Oct 26 21:36 file.txt

% compress -c file.txt > file.txt.Z
¢Í ¸µ¤Î file.txt ¤ò»Ä¤·¤Æ¤ª¤­¤¿¤¤¾ì¹ç¤Ï -c ¤ò»È¤¦¤È¤è¤¤

¾¯¤Ê¤¯¤È¤â Linux ¤Ë¤ª¤¤¤Æ¤Ï compress ¤Ïɸ½àÇÛÉÛʪ¤Ç¤Ï¤Ê¤¯¡¢ncompress ¥Ñ¥Ã¥±¡¼¥¸¤òÊÌÅÓ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëɬÍפ¬¤¢¤ë¡£
>> ¥³¥Þ¥ó¥É uncompress *   gzip *   bzip2 *

configure¡¡Makefile À¸À®¥¹¥¯¥ê¥×¥È

make ¥³¥Þ¥ó¥É¤Ï¡¢½ñ¤­Êý¼¡Âè¤Ç¤¤¤í¤¤¤í¤Ê¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤ËÂбþ¤Ç¤­¤ë¤¬¡¢¤½¤ì¤Ç¤â¸Â³¦¤¬¤¢¤ë¡£¤½¤³¤Ç¡¢¥³¥ó¥Ñ¥¤¥ë¤¹¤ëÁ°¤Ë´Ø¿ô¤ä¥é¥¤¥Ö¥é¥ê¤Ê¤É¤Î̵ͭ¤ò¥Á¥§¥Ã¥¯¤·¡¢¤É¤Î¤è¤¦¤Ê´Ä¶­¤Ç¤â¥³¥ó¥Ñ¥¤¥ë¤ò²Äǽ¤Ë¤·¤è¤¦¤È¤¤¤¦ÌÜŪ¤Ç¡¢autoconf ¤ä automake ¤È¤¤¤¦¥½¥Õ¥È¥¦¥§¥¢¤¬ºîÀ®¤µ¤ì¤¿¡£autoconf ¤ò»È¤¦¤È¡¢configure ¤È¤¤¤¦ sh ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¤³¤ì¤òÇÛÉÛ¤·¤¿¤¤¥Ñ¥Ã¥±¡¼¥¸¤ÎÃæ¤Ë´Þ¤á¤Æ¤ª¤¯¡£

¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤¤ÍøÍѼԤϡ¢¥¢¡¼¥«¥¤¥Ö¤òŸ³«¤·¤Æ
% ./configure
¤È¤·¤Æ configure ¤È¤¤¤¦¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô¤¹¤ì¤Ð¤è¤¤¡£³Æ¼ï¥·¥¹¥Æ¥à¥³¡¼¥ë¤ä¥é¥¤¥Ö¥é¥ê¤Ê¤É¤¬Â·¤Ã¤Æ¤¤¤ë¤«¤É¤¦¤«¤ò¼«Æ°Åª¤Ë¥Á¥§¥Ã¥¯¤·¤Æ¡¢Å¬ÀÚ¤Ê Makefile ¤òÀ¸À®¤·¤Æ¤¯¤ì¤ë¡£¤½¤Î¸å¤Ï
% make
¤Ç¥³¥ó¥Ñ¥¤¥ë¡¢su ¤·¤Æ root ¤Ë¤Ê¤ê¡¢
# make install
¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤¢¤ë¡£

configure ¤Ï
% ./configure --enable-hoge
% ./configure --prefix=/foo/bar
¤Ê¤É¤È¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¤¬¡¢¤É¤Î¤è¤¦¤Ê¥ª¥×¥·¥ç¥ó¤¬¤¢¤ë¤«¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤´¤È¤ËÂ礭¤¯°ã¤¦¡£¥ª¥×¥·¥ç¥ó¤Î°ìÍ÷¤Ï
% ./configure --help
¤Ç¸«¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

°ìÈÌŪ¤Ë¡¢°ìÅÙ configure ¤ò¼Â¹Ô¤·¤¿¸å¤ËÇÛÉÛ»þ¤Î¾õÂÖ¤ËÌᤷ¤¿¤¤¾ì¹ç¤Ï
% make distclean
¤È¤¹¤ë¤È¼Â¹Ô¥Õ¥¡¥¤¥ë¡¦¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¡¦Makefile ¤Ê¤É¤¬¾Ãµî¤µ¤ì¤ë¡£
>> ¥³¥Þ¥ó¥É make *   xmkmf *

convert¡¡²èÁü¥Õ¥¡¥¤¥ë¤òÊÑ´¹¤¹¤ë (ImageMagick)

¤É¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤ËÊÑ´¹¤¹¤ë¤«¤Ï¡¢»ØÄꤷ¤¿³ÈÄ¥»Ò¤«¤é¼«Æ°Åª¤ËȽÊ̤·¤Æ¤¯¤ì¤ë¡£
% convert sample.gif sample.jpg
¢Í GIF ·Á¼°¤Î sample.gif ¤«¤é JPEG ·Á¼°¤Î sample.jpg ¤ËÊÑ´¹¤¹¤ë

¤Þ¤¿¡¢adjoin ¥ª¥×¥·¥ç¥ó¤Ç¡¢Æ°²è GIF ¤òÀ¸À®¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
% convert -adjoin image01.gif image02.gif image03.gif sample.gif
¢Í image01¡Á03.gif ¤«¤é¤Ê¤ë¡¢Æ°²è GIF sample.gif ¤òÀ¸À®¤¹¤ë
¤½¤ÎµÕ¤Ï¤³¤ì¡£
% convert +adjoin sample.gif image%02d.gif
¢Í ư²è GIF sample.gif ¤òʬ³ä¤·¡¢image00,01,02...gif ¤È¤¤¤¦²èÁü¥Õ¥¡¥¤¥ë¤òÀ¸À®¤¹¤ë
>> ¥³¥Þ¥ó¥É display *   identify *   ImageMagick *   xv *   gs *

convmv¡¡¥Õ¥¡¥¤¥ë̾¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤òÊÑ´¹¤¹¤ë¡£

¥Õ¥¡¥¤¥ë̾¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤òÊÑ´¹¤¹¤ë (¥Õ¥¡¥¤¥ëÆâÍÆ¤Ç¤Ï¤Ê¤¯¡¢¥Õ¥¡¥¤¥ë̾¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ)¡£

Î㤨¤Ð UNIX ¤Ç UTF-8 ¤Î¥Õ¥¡¥¤¥ë̾¤Ç zip ¥¢¡¼¥«¥¤¥Ö¤òºîÀ®¤·¡¢Windows ¤Ë¤ÆÅ¸³«¤¹¤ë¤È¡¢Windows ¤Î¥¨¥¯¥¹¥×¥í¡¼¥é¤Ç¤Ïʸ»ú²½¤±¤·¤Æ¤·¤Þ¤¦¡£¤½¤Î¤è¤¦¤Ê¤È¤­¤Ë convmv ¥³¥Þ¥ó¥É¤Ë¤Æ¥Õ¥¡¥¤¥ë̾¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò Shift_JIS ¤ËÊѤ¨¤Æ¤ª¤¯¡¢¤Ê¤É¤È¤¤¤Ã¤¿»È¤¤Êý¤ò¤¹¤ë¡£

convmv ¤Ï¥Õ¥¡¥¤¥ë̾¤ò¼ÂºÝ¤Ë¥ê¥Í¡¼¥à¤·¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢¼Â¹Ô¸å¤ÏÊÑ´¹¸µ¥Õ¥¡¥¤¥ë̾¤Ç¤Ï¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¯¤Ê¤ë¡£´·¤ì¤Ê¤¤¤¦¤Á¤Ï¡¢ÊÑ´¹¸µ¥Õ¥¡¥¤¥ë¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¤È¤Ã¤Æ¤ª¤¯¤È¤è¤¤¤À¤í¤¦¡£


¡ü¼Â¹ÔÎã
% convmv -f utf8 -t shift_jis *.txt
¢ª *.txt ¤Î¥Õ¥¡¥¤¥ë̾¤ò UTF-8 ¤«¤é Shift_JIS ¤ËÊÑ´¹¤¹¤ë¤¬¡¢¼ÂºÝ¤ËÊÑ´¹¤»¤ºÉ½¼¨¤Î¤ß¡£
% convmv -f utf8 -t shift_jis *.txt --notest
¢ª --notest ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤Ç¡¢¼ÂºÝ¤Ë¥Õ¥¡¥¤¥ë̾¤¬Êѹ¹¤µ¤ì¤ë¡£

¡ü¥ª¥×¥·¥ç¥ó
-f ÊÑ´¹¸µ¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤹ¤ë¡£
-t ÊÑ´¹Àè¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤹ¤ë¡£
-r ¥Ç¥£¥ì¥¯¥È¥êÇÛ²¼¤Þ¤Ç¤¿¤É¤Ã¤ÆÊѹ¹¤¹¤ë¡£-r ¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤ò¤¿¤É¤é¤Ê¤¤¡£
--notest ¼ÂºÝ¤Ë¥Õ¥¡¥¤¥ë̾¤òÊѹ¹¤¹¤ë¡£--notest ¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï¡¢É½¼¨¤Î¤ß¡£
--list »ÈÍѲÄǽ¤Ê¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Î°ìÍ÷¤òɽ¼¨¤¹¤ë¡£¤³¤Î½ÐÎϤ«¤é¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤òÁª¤ó¤Ç¡¢-f ¤ä -t ¤Ë»ØÄꤹ¤ë¡£
>> ¥³¥Þ¥ó¥É mv *   iconv *

cp¡¡¥Õ¥¡¥¤¥ë¤ò¥³¥Ô¡¼¤¹¤ë

¥Õ¥¡¥¤¥ë¤ò¥³¥Ô¡¼¤¹¤ë¡£
% cp sample1.dat sample2.dat
¢Í sample1.dat ¤ò sample2.dat¤Ë¥³¥Ô¡¼
% cp sample1.dat sample2.dat sample3.dat dir/
¢Í sample1.dat¡¦sample2.dat¡¦sample3.dat ¤ò¥Ç¥£¥ì¥¯¥È¥ê dir ¤Î²¼¤Ë¥³¥Ô¡¼

¤Ê¤ª¡¢DOS ¤È¤Ï°ã¤Ã¤Æ UNIX ¤Ç¤Ï ¥á¥¿¥­¥ã¥é¥¯¥¿¤ÎŸ³«¤Ï¥·¥§¥ë¤ÎÌò³ä¤Ê¤Î¤Ç¡¢
% cp *.txt *.txt.bak
¤Ê¤É¤È¡¢³ÈÄ¥»Ò¤òÊѹ¹¤·¤¿¥Õ¥¡¥¤¥ë¤Î¥³¥Ô¡¼¤Ï¤Ç¤­¤Ê¤¤¡£¤³¤Î¾ì¹ç¡¢csh¡¦tcsh ¤Ê¤é foreach¡¢sh¡¦bash ¤Ê¤é for ¤ò»È¤¦¤È¤è¤¤¡£
>> ¥³¥Þ¥ó¥É foreach *   for *

¡ü¥ª¥×¥·¥ç¥ó
-i ¥³¥Ô¡¼Àè¤Î¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ë¾ì¹ç¡¢¾å½ñ¤­¤·¤Æ¤è¤¤¤«³Îǧ¤òµá¤á¤ë¡£
Áàºî¤Ë´·¤ì¤Æ¤¤¤Ê¤¤¤¦¤Á¤Ï¡¢
alias cp "cp -i" (csh¡¦tcsh ¤Î¾ì¹ç)
alias cp="cp -i" (sh¡¦bash ¤Î¾ì¹ç)
¤òÀßÄꤷ¤Æ¤ª¤¯¤È¤è¤¤¡£
>> ¥³¥Þ¥ó¥É alias *
-f ¾å½ñ¤­³Îǧ¤ò¹Ô¤ï¤Ê¤¤¡£¤³¤ì¤Ï¥Ç¥Õ¥©¥ë¥È¤À¤¬¡¢alias cp cp -i ¤È¤·¤Æ¤¤¤ë¾ì¹ç¤ËÊØÍø
-p ¥¿¥¤¥à¥¹¥¿¥ó¥×¤â¤½¤Î¤Þ¤Þ¥³¥Ô¡¼¤¹¤ë
-R ¥Ç¥£¥ì¥¯¥È¥ê¤òºÆµ¢Åª¤Ë¥³¥Ô¡¼¤¹¤ë
¥Ç¥£¥ì¥¯¥È¥ê dir1 °Ê²¼¤Ë¡¢¥Õ¥¡¥¤¥ë foo¡¦bar ¤¬¤¢¤Ã¤¿¾ì¹ç¡¢
% cp -R dir1 dir2
¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê dir2 ¤Î²¼¤Ë¥Ç¥£¥ì¥¯¥È¥ê dir1 ¤ò¥³¥Ô¡¼¤¹¤ë¡£¤Ä¤Þ¤ê
  • dir2/dir1/foo
  • dir2/dir1/bar
¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬¿·¤¿¤ËºîÀ®¤µ¤ì¤ë¡£°ìÊý¡¢
% cp -R dir1/ dir2
¤È¤¹¤ë¤È (`/'¤òÉÕ¤±¤ë¤È)¡¢dir2 ¤Î²¼¤Ë dir1 °Ê²¼¤Î¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤ò¥³¥Ô¡¼¤¹¤ë¡£¤Ä¤Þ¤ê
  • dir2/foo
  • dir2/bar
¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬¤Ç¤­¤ë¡£
>> ¥³¥Þ¥ó¥É mv *   rcp *
>> ÆÉ¤ßÊý cp *

cpp¡¡C ¥×¥ê¥×¥í¥»¥Ã¥µ

C ¤Î¥½¡¼¥¹¤ò²òÀϤ·¡¢#define¡¢#include¡¢#ifdef¡¢sizeof ¤Ê¤É¤Î½èÍý¤ò¹Ô¤¦¡£Ä̾ï C ¥³¥ó¥Ñ¥¤¥é¤«¤é¼«Æ°Åª¤Ë¸Æ¤Ð¤ì¤ë¡£

°ìÈÌŪ¤Ê¥×¥ê¥×¥í¥»¥Ã¥µ¤¬²ò¼á¤Ç¤­¤ë¥Þ¥¯¥í¤ä¾ò·ï¼°¤ò°Ê²¼¤Ë¾Ò²ð¤¹¤ë¡£

¡ü#define
¥Þ¥¯¥í¤òÄêµÁ¤¹¤ë¡£¤¤¤¯¤Ä¤«»È¤¤Êý¤¬¤¢¤ë¤¬¡¢¤Þ¤º¤Ï¿ôÃͤÎÄêµÁ¤«¤é¡£
#define BUFLEN 256
#define PERSON_MAX 10
char buf[BUFLEN];
for ( i=0 ; i<PERSON_MAX ; i++ ) ...
#define M_PI 3.14159265358979323846

´Ø¿ô¤ÎÊÌ̾ÄêµÁ¡£
#define MYFUNC0 hoge
#define MYFUNC1(x) hoge(x)
#define MYFUNC2(x,y) hoge(x,y)
#define MYFUNC3(x) hoge(x,(x)+1)
MYFUNC3 ¤Î¤è¤¦¤Ë°ú¿ô¤Ç¼õ¤±¤¿ÃͤòÊ£¿ô²ó»ÈÍѤ¹¤ë¾ì¹ç¤ÏÃí°Õ¡£¤â¤· MYFUNC3(a++) ¤È¤¹¤ë¤È hoge(a++, (a++)+1) ¤ÈŸ³«¤µ¤ì¤Æ¤·¤Þ¤¦¡£

¾ò·ïȽÃÇ¡£
#define IS_HOGE(x) (0 < (x) && (x) < 256)
if ( IS_HOGE(i) ) ...
if ( IS_HOGE(i+1) ) ...

Ê£¿ô¤Î¼Â¹Ôʸ (¥Þ¥ë¥Á¥¹¥Æ¡¼¥È¥á¥ó¥È) ¤ò¤Þ¤È¤á¤ë¡£
#define MYFUNC(x, y) do { func(x); func(y); } while(0) /* ¤³¤³¤Ë¥»¥ß¥³¥í¥ó¤òÉÕ¤±¤Ê¤¤¤³¤È */
°ì¸«¡¢do ¡Á while ¥ë¡¼¥×¤ò¼è¤êµî¤Ã¤Æ
#define MYFUNC(x, y) { func(x); func(y); }
¤È¤·¤Æ¤â¤è¤¤¤è¤¦¤Ë»×¤¨¤ë¤¬¡¢¤³¤ì¤À¤È
if (hoge)
MYFUNC(1,2);
else
printf("hoge");
¤È¤·¤¿¤È¤­¤Ëʸˡ¥¨¥é¡¼¤È¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£

#ifdef ¤Î»ÈÍѤòÁ°Äó¤È¤·¤¿ #define¡£°Ê²¼¤ÎÎã¤Ç¥Ç¥Ð¥Ã¥°¥â¡¼¥É¤Ë¤·¤¿¤¯¤Ê¤¤¤È¤­¤Ï¡¢#define DEBUG_MODE ¤Î¹Ô¤ò¥³¥á¥ó¥È²½¤¹¤ì¤Ð¤è¤¤
#define DEBUG_MODE
#ifdef DEBUG_MODE
fprintf(stderr, "foo=%d\n", foo);
#endif

¿½Å include ¤òÈò¤±¤ë¤¿¤á¤Î #define¡£Æ±¤¸¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤ò²¿ÅÙ¤â include ¤·¤Æ¤·¤Þ¤¤¡¢¥Þ¥¯¥íºÆÄêµÁ¤Ê¤É¤Î·Ù¹ð¤¬È¯À¸¤¹¤ë¤³¤È¤¬¤¢¤ë¡£¤·¤«¤·¥Õ¥¡¥¤¥ë¤Î¿ô¤¬Â¿¤¯¤Æ°Í¸´Ø·¸¤¬Ê£»¨¤Ê¤È¤­¡¢°ìÅÙ¤·¤« include ¤·¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤Î¤Ï»êÆñ¤Îµ»¤À¡£¤½¤¦¤¤¤¦¤È¤­¤Ï°Ê²¼¤Î¤è¤¦¤Ë¡¢²¿ÅÙ include ¤µ¤ì¤Æ¤â½é²ó¤·¤«É¾²Á¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤¹¤ì¤Ð¤è¤¤¡£
#ifndef _FOO_H_
#define _FOO_H_
#define FOO_NUM 100
void foo_func(char *);
#endif
°ì²óÌÜ¤Ï _FOO_H_ ¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç #ifndef _FOO_H_ ¤Ïµ¶¤Ë¤Ê¤ê¡¢ÆâÉô¤¬É¾²Á¤µ¤ì¤ë (¤½¤·¤Æ¤³¤Î¤È¤­ _FOO_H_ ¤¬ÄêµÁ¤µ¤ì¤ë)¡£Æó²óÌÜ°Ê¹ß¤Ï #ifndef _FOO_H_ ¤¬¿¿¤Ë¤Ê¤ë¤¿¤á¡¢ÆâÉô¤Ï¥¹¥­¥Ã¥×¤µ¤ì¤ë¡£¤³¤ì¤Ï stdio.h ¤Ê¤É¤Îɸ½à¤Î¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤Ç¤â¹­¤¯»È¤ï¤ì¤Æ¤¤¤ëͭ̾¤Êµ»¤Ç¤¢¤ë¡£

¤Ê¤ª¡¢·¿¤ÎÊÌ̾ÄêµÁ¤Î¤¿¤á¤Ë #define ¤ò»È¤¦¤ÈÌäÂ꤬ȯÀ¸¤¹¤ë¤³¤È¤¬¤¢¤ë¡£
#define MYCHAR char
MYCHAR c;
¢Í ¤³¤ì¤ÏÌäÂê¤Ê¤¤ (char c ¤ÈÃÖ´¹¤µ¤ì¤ë)
#define MYCHAR_P char *
MYCHAR_P p;
¢Í ¤³¤ì¤âÌäÂê¤Ê¤¤ (char *p ¤ÈÃÖ´¹¤µ¤ì¤ë)
#define MYCHAR_P char *
MYCHAR_P p1,p2;
¢Í ¤³¤ì¤Ï¥À¥á (char *p1,p2 ¤È¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£¤ª¤½¤é¤¯°Õ¿Þ¤·¤¿¤Î¤Ï char *p1,*p2 ¤À¤í¤¦)
·¿¤ÎÊÌ̾¤Ï typedef ¤ò»È¤¦¤³¤È¡£
typedef char *MYCHAR_P;
MYCHAR_P p1,p2;
¢Í typedef ¤ò»È¤¨¤Ð OK (char *p1,*p2 ¤È²ò¼á¤µ¤ì¤ë)
¹½Â¤ÂΤˤ¤¤Á¤¤¤Á¡Östruct¡×¤òÉÕ¤±¤Ê¤¤¤¿¤á¤Î typedef ¤â¤è¤¯»È¤ï¤ì¤ë¡£
typedef struct {
int member1;
char *member2;
} hoge_t;
¤Ê¤ª¡¢ÄêµÁ¤·¤¿·¿¤Ë¤Ï size_t¡¦time_t¡¦pid_t ¤Ê¤É¤Ë¤Ê¤é¤Ã¤Æ¡¢ËöÈø¤Ë¡Ö_t¡×(type ¤Îά) ¤òÉÕ¤±¤ë¤³¤È¤ò¤ª´«¤á¤¹¤ë¡£

¡ü#if¡¦#ifdef
¥Ð¡¼¥¸¥ç¥ó¤Ë¤è¤ëÀÚ¤êʬ¤±¡£
#if __FreeBSD_version >= 500000
¡Á
#elif __FreeBSD_version >= 400000
¡Á
#else
¡Á
#endif

Ê£»¨¤Ê·Á¤Î #ifdef¡£
#if defined(__FreeBSD__) && !defined(__NetBSD__)
¡Á
#endif
¤â¤· #if ¤ò»È¤ï¤Ê¤¤¤Ê¤é¡¢°Ê²¼¤Î¤è¤¦¤ËÆÉ¤ß¤Å¤é¤¤·Á¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£
#ifdef __FreeBSD__
#ifndef __NetBSD__
¡Á
#endif
#endif
¤É¤¦¤·¤Æ¤â¤³¤Î¤è¤¦¤Ë¥Í¥¹¥È¤»¤¶¤ë¤ò¤¨¤Ê¤¤¾ì¹ç¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë #endif ¤Î¸å¤Ë¥³¥á¥ó¥È¤òÉÕ¤±¤ë¤È¤è¤¤¡£
#ifdef __FreeBSD__
#ifndef __NetBSD__
¡Á
#endif /* __NetBSD__ */
#endif /* __FreeBSD__ */

¥³¥á¥ó¥È¥¢¥¦¥ÈÌÜŪ¤Î #if¡£¥³¥á¥ó¥È²½¤·¤¿¤¤¾ì½ê¤Ë¡¡/* ¡Á */ ¤È¤¤¤¦¥³¥á¥ó¥È¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢/* ¡Á */ ¤Ç°Ï¤Ã¤Æ¤·¤Þ¤¦¤È¥³¥á¥ó¥È¤¬¥Í¥¹¥È¤·¤Æ¤·¤Þ¤¤¥¨¥é¡¼¤È¤Ê¤ë¡£¤½¤Î¤è¤¦¤Ê¾ì¹ç¤Ï #if 0 ¡Á #endif ¤Ç°Ï¤à¤È¤è¤¤¡£¤Ê¤ª¡¢#if ¡Á #endif ¤Ï¥Í¥¹¥È¤Ç¤­¤ë¤Î¤Ç¡¢¤µ¤é¤Ë³°Â¦¤Ë #if 0 ¡Á #endif ¤ò½Å¤Í¤Æ¤â¤è¤¤¡£
#if 0
func1(); /* ½èÍý A */
func2(); /* ½èÍý B */
func3(); /* ½èÍý C */
#endif

¡ü#include
¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤ò¼è¤ê¹þ¤à (include ¤¹¤ë)¡£
#include <stdio.h>
¢Í ¥·¥¹¥Æ¥àɸ½à¤Î¥Ç¥£¥ì¥¯¥È¥ê (/usr/include) ¤«¤éÀè¤Ë¸¡º÷
#include "hoge.h"
¢Í ¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥êÀè¤Ë¸¡º÷¤·¡¢¸«¤Ä¤«¤é¤Ê¤±¤ì¤Ð¥·¥¹¥Æ¥àɸ½à¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òõ¤¹

¡ü#error
¶¯À©Åª¤Ë½èÍý¤òÂǤÁÀڤꡢ¥¨¥é¡¼¤È¤¹¤ë¡£Î㤨¤Ð FreeBSD ¤Î /usr/include/varargs.h ¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤¢¤ë¡£
#if defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ > 2 || __GNUC__ >= 4)
#error "<varargs.h> is obsolete with this version of GCC."
#error "Change your code to use <stdarg.h> instead."
#endif
¢Í gcc-3.3 °Ê¾å¤« gcc-4 °Ê¾å¤Ç varargs.h ¤ò¥¤¥ó¥¯¥ë¡¼¥É¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¥¨¥é¡¼¤È¤·¡¢¡Övarargs.h ¤Ç¤Ê¤¯ stdarg.h ¤ò»ÈÍѤ·¤Æ¤Í¡×¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë
gcc-3.3.3 ¤Ç #include <varargs.h> ¤ò´Þ¤à¥½¡¼¥¹¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¡¢°Ê²¼¤Î¤è¤¦¤Ë¥¨¥é¡¼¤Ë¤Ê¤ë¡£
% gcc foo.c
In file included from foo.c:1:
/usr/include/varargs.h:34:2: #error "<varargs.h> is obsolete with this version of GCC."
/usr/include/varargs.h:35:2: #error "Change your code to use <stdarg.h> instead."

¡üÄêµÁºÑ¥Þ¥¯¥í
ANSI C (ISO C) ¤Ç¤Ï°Ê²¼¤ÎÄêµÁºÑ¥Þ¥¯¥í¤òÍѰդ·¤Æ¤¤¤ë¡£
main(){
printf("__FILE__: %s\n", __FILE__);
printf("__LINE__: %d\n", __LINE__);
printf("__DATE__: %s\n", __DATE__);
printf("__TIME__: %s\n", __TIME__);
printf("__STDC__: %d\n", __STDC__);
printf("buf=%s\n", buf);
}
¼Â¹Ô·ë²Ì¤Ï°Ê²¼¤ÎÄ̤ꡣ
% ./a.out
__FILE__: foo.c
¢Í ¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾ (cc hoge/foo.c ¤È¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤·¤¿¤é __FILE__ ¤Ï hoge/foo.c ¤È¤Ê¤ë)
__LINE__: 4
¢Í ¥½¡¼¥¹¤Î¹ÔÈÖ¹æ (__LINE__ ¤¬ÃÖ¤«¤ì¤¿¾ì½ê¤Î¹ÔÈÖ¹æ)
__DATE__: Aug 1 2004
¢Í ¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤Ã¤¿Ç¯·îÆü
__TIME__: 03:43:21
¢Í ¥³¥ó¥Ñ¥¤¥ë¤ò¹Ô¤Ã¤¿»þʬÉÃ
__STDC__: 1
¢Í ANSI C ½àµò¤Î´Ä¶­¤Ê¤é 1

ŵ·¿Åª¤Ê»È¤¤Êý¤Ï¡¢¥¨¥é¡¼¤¬È¯À¸¤·¤¿¥Õ¥¡¥¤¥ë¤È¹ÔÈÖ¹æ¤òɽ¼¨¤¹¤ë¤â¤Î¤Ç¤¢¤ë¡£
ret = func();
if ( ! ret ){
fprintf(stderr, "%s:%d func error\n", __FILE__, __LINE__);
exit(1);
}

¤è¤êÀöÎý¤µ¤ì¤¿¤ä¤êÊý¤Ï°Ê²¼¤ÎÄ̤ꡣ¥¨¥é¡¼¥Á¥§¥Ã¥¯¤Î¾ì½ê¤ËËè²ó __FILE__ ¤ä __LINE__ ¤ò½ñ¤¯É¬Íפ¬¤Ê¤¤¡£__FILE__ ¤ä __LINE__ ¤Ï #define ¤Î¾ì½ê¤Ç¤Ê¤¯¡¢ERROR ¥Þ¥¯¥í¤ò»ÈÍѤ·¤Æ¤¤¤ë¾ì½ê¤ò¼¨¤¹¡£
#define ERROR(str) fprintf(stderr, "%s:%d " str "\n", __FILE__, __LINE__);
ret = func();
if ( ! ret ){
ERROR("func error");
exit(1);
}

¤µ¤é¤Ë¤è¤¤¤Î¤Ï²ÄÊѰú¿ô´Ø¿ô¤È²ÄÊѸĿô°ú¿ô¤Î¥Þ¥¯¥í¤ò»È¤Ã¤¿°Ê²¼¤Î¤ä¤êÊý¤Ç¤¢¤í¤¦¡£ERROR ¥Þ¥¯¥í¤Ë²ÄÊѸĿô¤Î°ú¿ô¤òÅϤ¹¤³¤È¤¬¤Ç¤­¡¢¾ÜºÙ¤Ê¥¨¥é¡¼¾ðÊó¤ò½ÐÎϤǤ­¤ë¤«¤é¤Ç¤¢¤ë¡£
#include <stdio.h>
#include <stdarg.h>
#define ERROR(fmt, ...) error(__FILE__, __LINE__, fmt, __VA_ARGS__)
void error(char *file, int line, char *fmt, ...){
va_list ap;
va_start(ap, fmt);
fprintf(stderr, "%s:%d ", file, line);
vfprintf(stderr, fmt, ap);
fputc('\n', stderr);
va_end(ap);
}
main(){
ret = func(str);
if ( ! ret ){
ERROR("func error. ret[%d] str[%s]", ret, str);
exit(1);
}
}
¤Ê¤ª¡¢#define ¤Ç¤Î²ÄÊѸĿô°ú¿ô (... ¤È __VA_ARGS__) ¤Ï 1999ǯ¤ËÀ®Î©¤·¤¿ C99 ¤È¤¤¤¦µ¬³Ê¤ÇÄê¤á¤é¤ì¤¿¤â¤Î¤À¤¬¡¢µ¬³ÊÀ©ÄêÁ°¤ËÀè¹Ô¤·¤Æ¼ÂÁõ¤·¤Æ¤¤¤¿¥³¥ó¥Ñ¥¤¥é¤â¿¤¤¡£¤ª¼ê¸µ¤Î´Ä¶­¤Ç»ÈÍѲÄǽ¤«¤É¤¦¤«°ìÅٻ¤Æ¤ß¤ë¤È¤è¤¤¤À¤í¤¦¡£

¤½¤Î¾¤ÎÄêµÁºÑ¥Þ¥¯¥í¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢GNU cpp ¤Ê¤é¤Ð -dM ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¡£
% cpp -dM /dev/null
#define __FreeBSD__ 3
#define __FreeBSD_cc_version 330001
#define i386 1
#define __GNUC__ 2
#define unix 1
(ά)
¤È¤¹¤ë¡£¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¤·¤Æ /dev/null ¤ò»ØÄꤷ¤Æ¤¤¤ë¤Î¤Ç¡¢½èÍý·ÏÆÈ¼«¤Î¥Þ¥¯¥í¤Î¤ß¤¬É½¼¨¤µ¤ì¤ë¡£

¤³¤Î¾¤Ë¸À¸ìÆÈΩ¤Ê¥×¥ê¥×¥í¥»¥Ã¥µ¤È¤·¤Æ¤Ï°Ê²¼¤Î¤â¤Î¤¬¤¢¤ë¡£
  • mcpp
C/C++ Âбþ¡£¥½¡¼¥¹¤¬ C90¡¦C99 ¤Ê¤É¤Î³Æµ¬³Ê¤Ë¹çÃפ·¤Æ¤¤¤ë¤«¸¡¾Ú¤¹¤ëµ¡Ç½¤¬¤¢¤ë¤¿¤á¡¢°Ü¿¢À­¤Î¹â¤¤µ­½Ò¤¬²Äǽ¡£ºî¼Ô¤¬ÆüËÜ¿Í¤Ê¤Î¤ÇÆüËܸì¥É¥­¥å¥á¥ó¥È¤¬ÍѰդµ¤ì¤Æ¤¤¤ë¡£¤Á¤Ê¤ß¤Ë¡Ö̤Ƨ¥½¥Õ¥È¥¦¥§¥¢ºÎÂò¥×¥í¥¸¥§¥¯¥È¡×¤Ç¤¢¤ë¡£
  • filepp
´ðËÜŪ¤Ê¥×¥ê¥×¥í¥»¥Ã¥µ¤Îµ¡Ç½¤Ë²Ã¤¨¡¢¥ë¡¼¥×µ¡Ç½¤Ê¤É¤ÎÆÈ¼«³ÈÄ¥¤ò»Ü¤·¤Æ¤¤¤ë¡£
  • chaos-pp
»È¤Ã¤¿¤³¤È¤¬¤Ê¤¤¤Î¤Ç¡¢²¿¤È¤â¸À¤¨¤º¡£
>> ¥³¥Þ¥ó¥É gcc *   filepp *   cc *   unifdef *

cron¡¡¥¹¥±¥¸¥å¡¼¥é¥Ç¡¼¥â¥ó¡£¥¯¡¼¥í¥ó¡£

cron ¤Ï OS µ¯Æ°»þ¤Ë¼«Æ°Åª¤Ëµ¯Æ°¤µ¤ì¡¢¥Ç¡¼¥â¥ó¤È¤·¤Æ OS ¤Ë¾ïÃ󤷤Ƥ¤¤ë¡£
% ps ax | grep '[ c]ron' (SysV·Ï¤Ê¤é ps -ef)
118 ?? Ss 0:00.03 cron
cron ¤Ï1ʬ¤Ë°ìÅÙ
  • /etc/crontab ¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¥×¥í¥°¥é¥à¡£Î㤨¤Ð /etc/daily¡¦/etc/weekly¡¢¥í¥°¥Õ¥¡¥¤¥ë¤ò¹¹¿·¤¹¤ë newsyslog ¥³¥Þ¥ó¥É¡¢at ¥³¥Þ¥ó¥É¤ÇÅÐÏ¿¤·¤¿¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë atrun ¤Ê¤É¤Ï /etc/daily¡¦/etc/weekly ¤«¤é¼Â¹Ô¤µ¤ì¤ë¡£
  • °ìÈ̥桼¥¶¤¬ crontab ¥³¥Þ¥ó¥É¤ÇÅÐÏ¿¤·¤¿¥×¥í¥°¥é¥à
¤òÄ´¤Ù¡¢¤½¤³¤Ë½ñ¤«¤ì¤Æ¤¤¤ëÄ̤ê¤Ë¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¡£

°ìÈ̥桼¥¶¤Ë crontab ¤ò»È¤ï¤»¤¿¤¯¤Ê¤¤¤Ê¤é¤Ð¡¢/usr/bin/crontab ¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ò
# chmod 4550 /usr/bin/crontab
¤È¤·¤Æ¤ª¤¯¤È¤è¤¤¡£

cron ¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤Ï crontab ¥³¥Þ¥ó¥É¤ò»²¾È¡£
>> ¥³¥Þ¥ó¥É crontab *   at *
>> ÀßÄê¥Õ¥¡¥¤¥ë /etc/crontab *
>> ÆÉ¤ßÊý cron *

crontab¡¡¥¹¥±¥¸¥å¡¼¥ë¤òÅÐÏ¿¡£·è¤á¤é¤ì¤¿»þ¹ï¤Ë¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¡£¥¯¡¼¥í¥ó¡£

Äê´üŪ¤Ë¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É¤ò´ÉÍý¤¹¤ë¡£

Æü»þ¤ò»ØÄꤷ¤Æ¡¢¼«Æ°Åª¤Ë¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ÀßÄêÊýË¡¤Ï FreeBSD ¤Ê¤é
% crontab ÀßÄê¥Õ¥¡¥¤¥ë̾
¤È¤·¡¢Solaris ¤Ê¤é
% echo 'ʬ »þ´Ö Æü ·î ÍËÆü ¥³¥Þ¥ó¥É̾' | crontab
% crontab < ÀßÄê¥Õ¥¡¥¤¥ë̾
¤Î¤É¤Á¤é¤Ç¤â¤¤¤¤¡£Åö¥Ú¡¼¥¸´ÉÍý¿Í¤Ï¡¢~/.crontab ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤òºî¤ê¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤ò¥¨¥Ç¥£¥¿¤ÇÊÔ½¸¤·¤Æ¤«¤é¡¢
% crontab ~/.crontab
¤È¤·¤Æ cron ¤ËÈ¿±Ç¤¹¤ëÊýË¡¤ò¹¥¤à¡£¤¿¤À¤·¡¢¤³¤ÎÊýË¡¤À¤È cron ¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿¤È ~/.crontab ¤ÎÆâÍÆ¤¬°ìÃפ·¤Æ¤¤¤ëÊݾڤϤʤ¤¡¢¤È¤¤¤¦·çÅÀ¤¬¤¢¤ë (crontab -e ¤ÇľÀÜÊÔ½¸¤·¤Ê¤¤¤è¤¦¤Ëµ¤¤ò¤Ä¤±¤ëɬÍפ¬¤¢¤ë)¡£

¡ü¥ª¥×¥·¥ç¥ó
  • -l ¸½ºßÀßÄꤵ¤ì¤Æ¤¤¤ë crontab ¥Ç¡¼¥¿¤òɽ¼¨¤¹¤ë
  • -r ¸½ºßÀßÄꤵ¤ì¤Æ¤¤¤ë crontab ¥Ç¡¼¥¿¤ò²ò½ü¤¹¤ë¡£

cron ¤òÀßÄꤷ¤¿¸å¤Ï¡¢É¬¤º crontab -l ¤Ç³Îǧ¤¹¤ë¤³¤È¡£¤â¤·Æ°ºî¤¬¤ª¤«¤·¤¤¤Ê¤é crontab -r ¤ÇÀßÄê¤ò¥¯¥ê¥¢¤Ç¤­¤ë¤¬¡¢¤½¤Î¸å¤âɬ¤º crontab -l ¤Ç³Îǧ¤·¤è¤¦¡£

¡üÀßÄê¥Õ¥¡¥¤¥ë½ñ¼°
ÀßÄê¥Õ¥¡¥¤¥ë¤Î½ñ¼°¤Ï
ʬ »þ´Ö Æü ·î ÍËÆü ¥³¥Þ¥ó¥É̾
¤Ç¤¢¤ë¡£Îã¤ò°Ê²¼¤Ë¼¨¤¹¡£
* * * * * command
¢Í 1ʬ¤ª¤­¤Ë command ¤ò¼Â¹Ô¤¹¤ë¡£
10 3 1 * * command
¢Í Ëè·î1Æü¤Î3»þ10ʬ¤Ë command ¤ò¼Â¹Ô¤¹¤ë¡£
0 12 * * 0 command
¢Í Ëè½µÆüÍËÆü¤Î12»þ¤Ë command ¤ò¼Â¹Ô¤¹¤ë¡£

¼Â¹Ô·ë²Ì¤Ï¥á¡¼¥ë¤Ç¼«Ê¬¼«¿È¤ËÃΤ餵¤ì¤ë¡£¥á¡¼¥ë¤òÁ÷¤Ã¤Æ¤Û¤·¤¯¤Ê¤¤¾ì¹ç¤Ï¡¢
* * * * * command 1> /dev/null
¤Èɸ½à½ÐÎϤò¼Î¤Æ¤ì¤Ð¤è¤¤¡£¤³¤Î¾ì¹ç¤Ï¥¨¥é¡¼¤¬µ¯¤³¤Ã¤¿»þ¤À¤± (ɸ½à¥¨¥é¡¼½ÐÎϤ˽ÐÎϤ¬¤¢¤Ã¤¿»þ¤À¤±)¥á¡¼¥ë¤¬Á÷¤é¤ì¤Æ¤¯¤ë¤Î¤ÇÊØÍø¤Ç¤¢¤ë¡£¥¨¥é¡¼¤¬µ¯¤³¤í¤¦¤ÈÀäÂФ˥᡼¥ë¤òÁ÷¤Ã¤Æ¤Û¤·¤¯¤Ê¤¤¾ì¹ç¤Ï
* * * * * command >/dev/null 2>&1
¤È¤¹¤ì¤Ð¤è¤¤¡£
>> ÍѸ콸 ¥ê¥À¥¤¥ì¥¯¥È *

¤Ê¤ª¡¢crontab ¤Ç¼Â¹Ô¤µ¤ì¤ë¤È¤­¤Ë¤Ï¡¢¤Û¤È¤ó¤É¤Î´Ä¶­ÊÑ¿ô¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤Î¤ÇÃí°Õ¤¬É¬Íס£~/.cshrc¡¦~/.login ¤ÇÀßÄꤷ¤Æ¤¤¤ë´Ä¶­ÊÑ¿ô¤ÏÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤·¡¢PATH ¤â /bin:/usr/bin ¤¯¤é¤¤¤Ë¤·¤«Ä̤äƤ¤¤Ê¤¤¡£¤½¤Î¤¿¤á¡¢command ¤ÎÉôʬ¤Ë»ØÄꤹ¤ë¤Î¤Ï¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤Ë¤·¤Æ¤ª¤¤¤Æ¡¢¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤ÎÀèÆ¬¤Ç´Ä¶­ÊÑ¿ô¤ÎÀßÄê¤ò¹Ô¤¤¡¢¤½¤Î¸å¤¤¤í¤¤¤í¤Ê¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤ª¤¯¤Î¤¬¤è¤¤¤À¤í¤¦¡£

¡üTips.1
¥á¡¼¥ë¤Ï ISO-2022-JP (¤¤¤ï¤æ¤ë JIS ¥³¡¼¥É) ¤ÇÁ÷¤ë¤È¤¤¤¦¤­¤Þ¤ê¤¬¤¢¤ë¤Î¤Ç¡¢½ÐÎϤ¬ EUC-JP ¤ä Shift_JIS ¤Ê¤É¤ÎÆüËܸì¤ò´Þ¤à¾ì¹ç¤Ï¡¢
* * * * * command | nkf -j
¤È¡¢nkf ¤Ê¤É¤Ç ISO-2022-JP ¤ËÊÑ´¹¤¹¤ì¤Ð¤è¤¤¡£
>> ¥³¥Þ¥ó¥É nkf *   qkc *   euctosj *   iconv *

¡üTips.2
cron ¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢
* * * * * cd foo/bar; command
¤È¤¤¤¦¤Õ¤¦¤Ë¡¢¥»¥ß¥³¥í¥ó¤Ç¶èÀڤ뤳¤È¤ÇÊ£¿ô¤Î¥³¥Þ¥ó¥É¤òµ­½Ò¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¤½¤Î¾¤Ë¤â¥·¥§¥ë¤¬²ò¼á¤Ç¤­¤ë¹½Ê¸¤ä * ? ¤Ê¤É¤Î¥á¥¿¥­¥ã¥é¥¯¥¿¤â»ÈÍѲÄǽ¤Ç¤¢¤ë¡£¤³¤ì¤Ï cron ¤Ï½ñ¤«¤ì¤¿¹Ô¤ò¤½¤Î¤Þ¤Þ¥·¥§¥ë¤ËÅϤ¹¤«¤é¤Ç¤¢¤ë¡£É¸½à¤Î¥·¥§¥ë¤Ï sh ¤Ê¤Î¤Ç¡¢sh ¤¬²ò¼á¤Ç¤­¤ë¤â¤Î¤Ï²¿¤Ç¤â½ñ¤±¤ë¤È¤¤¤¦¤ï¤±¤À¡£

¤¿¤À¤·¡¢ÀßÄê¥Õ¥¡¥¤¥ë¤ÎÀèÆ¬¤Ç
SHELL=/bin/csh
¤Ê¤É¤È½ñ¤¯¤È¡¢sh ¤Ç¤Ê¤¯ csh ¤ËÅϤµ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¡¢
* * * * * command >& /dev/null
¤È¤¤¤Ã¤¿ csh É÷¤Î½ñ¤­Êý¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ë (FOO=bar ¤È¤¤¤¦ÊÑ¿ô¤ÎÀßÄê¤Ï¡¢¾¯¤Ê¤¯¤È¤â FreeBSD ¤Ç¤Ï²Äǽ¡£Â¾¤Î OS ¤Ç¤Ï¥À¥á¤«¤â¤·¤ì¤Ê¤¤)¡£

¡üTips.3
cron ¤Ç¤Ï¡¢1ʬ¤è¤êºÙ¤«¤¤Ã±°Ì¤Ç¼Â¹Ô¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£¤â¤· 30É䴤Ȥ˥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿¤¤¾ì¹ç¤Ï
* * * * * date & sleep 30 ; date
¤Ê¤É¤È½ñ¤±¤Ð¤è¤¤¡£
¡üTips.4
Á°½èÍý¤Î¥×¥í¥°¥é¥à¤¬Àµ¾ï½ªÎ»¤·¤¿¾ì¹ç¤Î¤ß¡¢¼¡¤Î¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤·¤¿¤¤¾ì¹ç¤Ï¡¢
* * * * * command1 && command2
¤È¤¹¤ë¡£
Á°½èÍý¥×¥í¥°¥é¥à A ¤È B ¤òÊÂÎó¼Â¹Ô¤·¡¢A¡¦B ξÊý¤¬½ªÎ»¤·¤¿¤é¥×¥í¥°¥é¥à C ¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï
* * * * * (commandA & commandB & wait) && commandC
¤È¤¹¤ë¡£

¾¦ÍÑ¥·¥¹¥Æ¥à¤Ç¤³¤Î¤è¤¦¤ÊÊ£»¨¤ÊÀ©¸æ¤ò¹Ô¤¤¤¿¤¤¾ì¹ç¤Ï¡¢ÆüΩ¤Î JP1 ¤È¤¤¤¦¥¸¥ç¥Ö´ÉÍýÀ½Éʤò»È¤¦¥×¥í¥¸¥§¥¯¥È¤¬Â¿¤¤¤è¤¦¤À¡£¤·¤«¤·»È¤¤¤Å¤é¤¤¤Î¤Ç¡¢Åö¥Ú¡¼¥¸´ÉÍý¿Í¤Ï JP1 ¤Ï·ù¤¤¤Ç¤¢¤ë¡£

¡ücron ¤Î·çÅÀ
cron ¤Î·çÅÀ¤Ï°Ê²¼¤ÎÄ̤ꡣ
  • 1ʬñ°Ì¤Ç¤·¤«µ¯Æ°¤Ç¤­¤Ê¤¤¡£Î㤨¤Ð n É䪤­¤Ëµ¯Æ°¡¢¤È¤¤¤¦¤³¤È¤¬¤Ç¤­¤Ê¤¤ (¤Ç¤­¤Ê¤¯¤Ï¤Ê¤¤¤¬¡¢Tips3 ¤Î¤è¤¦¤Ë¾®ºÙ¹©¤¬É¬Íפˤʤë)¡£
  • ÅÐÏ¿¤·¤¿»þ¹ï¤Ë¥Þ¥·¥ó¤¬µ¯Æ°¤·¤Æ¤¤¤Ê¤¤¤È¡¢±Ê±ó¤Ëµ¯Æ°¤µ¤ì¤Ê¤¤¡£
  • »ØÄꤷ¤¿Æü¤¬½ËÆü¤Ê¤é¡¢¼¡¤Î±Ä¶ÈÆü¤Ë¼Â¹Ô¡¢¤È¤¤¤¦¤Á¤ç¤Ã¤È¶Å¤Ã¤¿»ØÄ꤬¤Ç¤­¤Ê¤¤¡£
  • ½ÅÊ£µ¯Æ°Ëɻߤε¡Ç½¤Ï¤Ê¤¤¡£¥×¥í¥°¥é¥à¤òËèʬ¼Â¹Ô¤¹¤ë¤è¤¦¤ËÀßÄꤷ¤¿¤È¤·¤Æ¡¢¤â¤·¥×¥í¥°¥é¥à¤Î¼Â¹Ô¤Ë 1ʬ°Ê¾å¤«¤«¤Ã¤Æ¤·¤Þ¤Ã¤Æ¤â¡¢¿·¤¿¤Ë¥×¥í¥»¥¹¤¬¤É¤ó¤É¤óÀ¸À®¤µ¤ì¤ë¡£½ÅÊ£µ¯Æ°¤òÈò¤±¤¿¤¤¾ì¹ç¤Ï¡¢¸Ä¡¹¤Î¥×¥í¥°¥é¥à¤ÇÇÓ¾À©¸æ¤ò¤¹¤ëɬÍפ¬¤¢¤ë¡£
  • Tips.4 ¤Î¤è¤¦¤Ë¡¢cron ¤Ë¤ÆÁ°½èÍý¡¦¸å½èÍý¤ò¹Ô¤¦¤³¤È¤Ï²Äǽ¤À¤¬¡¢¡ÖÁ°½èÍý¤Î¥×¥í¥°¥é¥à¤¬°Û¾ï½ªÎ»¤·¤¿¾ì¹ç¤Ë¼êư¥ê¥«¥Ð¥ê¸å¤Ë¤½¤Î¼¡¤Î¥×¥í¥°¥é¥à¤«¤éºÆ³«¡×¤È¤¤¤Ã¤¿¸­¤¤¥ê¥«¥Ð¥êºî¶È¤Ï¤Ç¤­¤Ê¤¤¡£
>> ¥³¥Þ¥ó¥É at *   cron *
>> ÀßÄê¥Õ¥¡¥¤¥ë /etc/crontab *
>> ÆÉ¤ßÊý cron *

crypt¡¡°Å¹æ²½¡¦Éü¹æ²½¥Ä¡¼¥ë

°Å¹æ²½¥­¡¼¤òÍ¿¤¨¤ë¤³¤È¤Ç¡¢¥Õ¥¡¥¤¥ë¤ò°Å¹æ²½¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¤â¤Á¤í¤ó°Å¹æ²½¤¹¤ë¤È¤­¤Ë»È¤Ã¤¿¥­¡¼¤òÃΤé¤Ê¤¤¤ÈÉü¹æ²½¤Ç¤­¤Ê¤¤¡£FreeBSD ¤Î¾ì¹ç¡¢Êƹñ¤Î°Å¹æÍ¢½Ðµ¬À©¤Î±Æ¶Á¤«(¤É¤¦¤«¤Ï¤ï¤«¤é¤Ê¤¤¤¬)¡¢crypt ¤¬¤Ê¤¤¡£Âå¤ï¤ê¤Ë bdes ¥³¥Þ¥ó¥É¤¬¤¢¤ë¡£
>> ¥³¥Þ¥ó¥É bdes *   openssl *

csh¡¡C¥·¥§¥ë

C¸À¸ì¤Î¤è¤¦¤Êʸˡ¤ò»ý¤Ä¥·¥§¥ë¡£¤È¤Ï¤¤¤¨C¸À¸ì¤¬¤Ç¤­¤ë¤«¤é¤È¤¤¤Ã¤Æ¤¹¤°»È¤¨¤ë¤È¤¤¤¦¤ï¤±¤Ç¤Ï¤Ê¤¤¡£¥æ¡¼¥¶¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹µ¡Ç½¤¬¼å¤¤¤Î¤Ç¡¢¥í¥°¥¤¥ó¥·¥§¥ë¤È¤·¤Æ¤Ï ¤è¤ê¹âµ¡Ç½¤Ê tcsh ¤ä bash ¤ò»È¤¦Êý¤¬¤è¤¤¤À¤í¤¦¡£¥í¥°¥¤¥ó¥·¥§¥ë¤òÊѹ¹¤¹¤ë¤Ë¤Ï¡¢chsh ¥³¥Þ¥ó¥É¤ò»È¤¦¡£
>> ¥³¥Þ¥ó¥É chsh *

¤Ê¤ª¡¢FreeBSD ¤Ç¤Ï 4.1-RELEASE ¤«¤é tcsh ¤¬¥Ç¥Õ¥©¥ë¥È¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¡¢csh ¤¬ tcsh ¤Ø¤Î¥Ï¡¼¥É¥ê¥ó¥¯¤È¤Ê¤Ã¤¿¡£

¤Þ¤¿¡¢¥¹¥¯¥ê¥×¥È¤ò½ñ¤¯ºÝ¤Ï¡¢csh¡¦tcsh ¤Îµ¡Ç½¤¬Éϼå¤Ê¤³¤È¤«¤é¡¢sh¡¦bash ¤ÎÊý¤ò»È¤¦¤³¤È¤¬Â¿¤¤¡£
-f ~/.cshrc ¤òÆÉ¤Þ¤º¤Ëµ¯Æ°¤¹¤ë¡£
¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤Î1¹ÔÌÜ¤Ç #!/bin/csh -f ¤È¤¤¤¦¤Î¤ò¤è¤¯¸«¤«¤±¤ë¤¬¡¢¤½¤Î¾ì¹ç¥æ¡¼¥¶ÆÈ¼«¤Î ~/.cshrc ¤ÏÆÉ¤Þ¤ì¤Ê¤¤¤Î¤Ç¡¢¥¨¥¤¥ê¥¢¥¹¤ä¥·¥§¥ëÊÑ¿ô¤Ï»ÈÍѤǤ­¤Ê¤¯¤Ê¤ë¡£
-n ʸˡ¤Î¥Á¥§¥Ã¥¯¤À¤±¤ò¹Ô¤Ê¤¦¡£¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤Î¥Á¥§¥Ã¥¯¤Ë»È¤ï¤ì¤ë
-s ɸ½àÆþÎϤ«¤é¥³¥Þ¥ó¥É¤òÆÉ¤ß¹þ¤à
-v ¼Â¹Ôʸ¤òɽ¼¨¡£¥¹¥¯¥ê¥×¥È¤Î¥Ç¥Ð¥Ã¥°»þ¤Ë»È¤ï¤ì¤ë
-x ¼Â¹Ôʸ¤òɽ¼¨¡£¥¹¥¯¥ê¥×¥È¤Î¥Ç¥Ð¥Ã¥°»þ¤Ë»È¤ï¤ì¤ë
>> ÍѸ콸 ¥ê¥À¥¤¥ì¥¯¥È *   ¥·¥§¥ë¥¹¥¯¥ê¥×¥È *
>> ¥³¥Þ¥ó¥É bash *   sh *   tcsh *
>> ÆÉ¤ßÊý csh *

ctags¡¡

cu¡¡¥â¥Ç¥à¤Î¥Á¥§¥Ã¥¯¡£

ËÜÍè¤Ï¥·¥ê¥¢¥ëÀܳ¤µ¤ì¤Æ¤¤¤ëµ¡´ï¤È¤ä¤ê¤È¤ê¤¹¤ë¤¿¤á¤Î¥³¥Þ¥ó¥É¤À¤í¤¦¤¬¡¢¤è¤¯¤ï¤«¤é¤Ê¤¤¡£

cut¡¡¥Æ¥­¥¹¥È¤òÀÚ¤ê½Ð¤¹(¥Ñ¥¤¥×)

³Æ¹Ô¤«¤é¡Ön ʸ»úÌܤ«¤é m ʸ»úÌܡסÖn ÈÖÌܤ«¤é m ÈÖÌܤ«¤é¤Î¥«¥é¥à¡×¤È¤¤¤¦¤è¤¦¤Ê¥ë¡¼¥ë¤Çʸ»úÎó¤òÀÚ¤ê½Ð¤¹¡£

¡ü¥Ð¥¤¥È¿ô¤Ç»ØÄê
-b[num1]-[num2] num1 ¥Ð¥¤¥ÈÌܤ«¤énum2 ¥Ð¥¤¥ÈÌܤޤǤòÀÚ¤ê½Ð¤¹
% cut -b30 < file.txt
¢Í file.txt ¤Î30¥Ð¥¤¥ÈÌܤòÀÚ¤ê½Ð¤¹
% cut -b20-30 < file.txt
¢Í file.txt ¤Î20¥Ð¥¤¥ÈÌܤ«¤é30¥Ð¥¤¥ÈÌܤޤǤòÀÚ¤ê½Ð¤¹
% cut -b-30 < file.txt
¢Í file.txt ¤Î¹ÔƬ¤«¤é30¥Ð¥¤¥ÈÌܤޤǤòÀÚ¤ê½Ð¤¹
% cut -b20- < file.txt
¢Í file.txt ¤Î20¥Ð¥¤¥ÈÌܰʹߤòÀÚ¤ê½Ð¤¹
¡üʸ»ú¿ô¤Ç»ØÄê
-c[num1]-[num2] num1 ʸ»úÌܤ«¤énum2 ʸ»úÌܤޤǤòÀÚ¤ê½Ð¤¹
¥Ð¥¤¥Èñ°Ì¤ÇÀÚ¤ê½Ð¤¹ -b ¥ª¥×¥·¥ç¥ó¤ÈƱÍÍ¤ÎÆ°ºî¤ò¤¹¤ë¤¬¡¢Àµ¤·¤¯¥í¥±¡¼¥ë¤òǧ¼±¤¹¤ë Solaris ¤Ê¤É¤Ç¤ÏÆüËܸì¤È¤·¤Æ¤Îʸ»ú¿ô¤ò»ØÄê¤Ç¤­¤ë¡£
% cat file-euc.txt
¤¢¤¤¤¦¤¨¤ª
% env LC_ALL=ja_JP.eucJP cut -c3-4 < file-euc.txt
¤¦¤¨
¢Í ÆüËܸì¤È¤·¤Æ²ò¼á¤·¡¢3¡Á4ʸ»úÌܤòÀÚ¤ê½Ð¤¹
% cut -b3-4 < file-euc.txt
¤¤
¢Í ¥Ð¥¤¥Èñ°Ì¤À¤È 3¡Á4¥Ð¥¤¥ÈÌܤȤ·¤Æ°·¤ï¤ì¤ë
¡ü¥Õ¥£¡¼¥ë¥É¿ô¤Ç»ØÄê
-f ¥Õ¥£¡¼¥ë¥ÉÈÖ¹æ »ØÄꤷ¤¿¥Õ¥£¡¼¥ë¥É¤ò½ÐÎϤ¹¤ë¡£¥Ç¥Õ¥©¥ë¥È¤Î¥Õ¥£¡¼¥ë¥É¶èÀÚ¤ê¤Ï TAB ¤Ç¤¢¤ë¡£
% cat file.txt
abc(TAB)def(TAB)ghi(TAB)(TAB)jkl
% cut -f 1 < file.txt
abc
¢Í 1ÈÖÌܤΥե£¡¼¥ë¥É¤òɽ¼¨
% cut -f 2,3 < file.txt
abc def
¢Í 2ÈÖÌÜ¤È 3ÈÖÌܤΥե£¡¼¥ë¥É¤òɽ¼¨
% cut -f 2- < file.txt
def ghi jkl
¢Í 2ÈÖÌܰʹߤΥե£¡¼¥ë¥É¤òɽ¼¨
-d str ¥Õ¥£¡¼¥ë¥É¤ò¶èÀÚ¤ëʸ»ú¤È¤·¤ÆÊ¸»úÎó str ¤ò»ÈÍѤ¹¤ë¡£
-d ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¾ì¹ç¤Ï -f ¥ª¥×¥·¥ç¥ó¤òƱ»þ¤Ë»ØÄꤷ¤Ê¤¤¤È°ÕÌ£¤¬¤Ê¤¤¡£
% cat file.txt
abc,def,ghi,,jkl
% cut -d , -f 2,3 < file.txt
def,ghi
¢Í ¥«¥ó¥Þ¶èÀÚ¤ê¤È¤ß¤Ê¤·¤Æ 2ÈÖÌÜ¤È 3ÈÖÌܤΥե£¡¼¥ë¥É¤òɽ¼¨
>> ¥³¥Þ¥ó¥É head *   tail *   awk *   sed *

CVS¥Á¥å¡¼¥È¥ê¥¢¥ë´ðÁÃÊÔ¡¡¥Ð¡¼¥¸¥ç¥ó´ÉÍý¥Ä¡¼¥ë (´ðÁÃÊÔ)

CVS ¤Ï¥Õ¥¡¥¤¥ë¤Î¥Ð¡¼¥¸¥ç¥ó´ÉÍý¤ò¹Ô¤¦¥Ä¡¼¥ë¤Ç¤¢¤ë¡£FreeBSD¡¦NetBSD¡¦OpenBSD¡¦ Apache¡¦Darwin ¤Ê¤É¤Î¿ô¿¤¯¤Î¥ª¡¼¥×¥ó¥½¡¼¥¹¥×¥í¥¸¥§¥¯¥È¤¬ CVS ¤òºÎÍѤ·¤Æ¤¤¤ë¡£¤Á¤Ê¤ß¤ËÅö¥Ú¡¼¥¸¤Î¥³¥ó¥Æ¥ó¥Ä¤Ï CVS ¤òÍѤ¤¤Æ´ÉÍý¤·¤Æ¤¤¤ë¡£

¡üÍøÅÀ
CVS ¤ò»È¤¦¤³¤È¤ÎÍøÅÀ¤Ï°Ê²¼¤Î¤È¤ª¤ê¡£
¥Õ¥¡¥¤¥ë¤ÎÊѹ¹ÍúÎò¤òµ­Ï¿¤Ç¤­¤ë¡£
¢Í ¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤ËÌ᤹¤³¤È¤¬¤Ç¤­¤ë¡£
¢Í ¥Õ¥¡¥¤¥ë¤Î½¤ÀµÃæ¤Ë¡¢¤É¤ÎÉôʬ¤ò¤É¤¦½¤Àµ¤·¤¿¤«¤ò³Îǧ¤Ç¤­¤ë¡£
Àµ³Î¤Ê¥ê¥ê¡¼¥¹ºî¶È¤¬¹Ô¤¨¤ë¡£
¢Í ¥Õ¥¡¥¤¥ë¤òžÁ÷¤·Ëº¤ì¤¿¡¢¸Å¤¤¥Õ¥¡¥¤¥ë¤ò¥ê¥ê¡¼¥¹¤·¤Æ¤·¤Þ¤Ã¤¿¡¢¤È¤¤¤¦¤³¤È¤¬¤Ê¤¤
Ê£¿ô¿Í¤Ç¤Îºî¶È¤¬¤Ç¤­¤ë¡£
¢Í Ê£¿ô¿Í¤Ç¤Ò¤È¤Ä¤Î¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤Ç¤­¤ë¡£

¡üÍѸì
¤Þ¤º¤Ï°Ê²¼¤ÎÍѸì¤ò³Ð¤¨¤Æ¤Û¤·¤¤¡£
¥ê¥Ý¥¸¥È¥ê
¥Õ¥¡¥¤¥ë¤ÎÊݴɸˡ£¥Õ¥¡¥¤¥ëÆâÍÆ¤È¡¢²áµî¤Î½¤ÀµÍúÎò¤¬³ÊǼ¤µ¤ì¤Æ¤¤¤ë¡£¥ê¥Ý¥¸¥È¥ê¤Î¼ÂÂΤϤ¿¤À¤Î¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤Ç¤¢¤ë¤¬¡¢¤³¤ì¤òľÀܽ¤Àµ¤¹¤ë¤³¤È¤Ï¤Þ¤º¤Ê¤¤¡£¡Ö¥ì¥Ý¥¸¥È¥ê¡×¤Èɽµ­¤¹¤ë¿Í¤â¤¿¤Þ¤Ë¤¤¤ë¡£
¥Á¥§¥Ã¥¯¥¢¥¦¥È
¥ê¥Ý¥¸¥È¥ê¤«¤é¥Õ¥¡¥¤¥ë¤ò¼è¤ê½Ð¤¹¤³¤È¡£¥Á¥§¥Ã¥¯¥¢¥¦¥È¤·¤¿¸å¤Ï¡¢¥Õ¥¡¥¤¥ë¤òį¤á¤¿¤ê¡¢¥Õ¥¡¥¤¥ë¤ò½¤Àµ¤·¤¿¤ê¤¹¤ë¡£
¥³¥ß¥Ã¥È
¥Á¥§¥Ã¥¯¥¢¥¦¥È¤·¤¿¥Õ¥¡¥¤¥ë¤ò½¤Àµ¤·¤¿¸å¤Ë¡¢¥ê¥Ý¥¸¥È¥ê¤ØÈ¿±Ç¤¹¤ë¤³¤È¡£
¥ê¥Ó¥¸¥ç¥ó
¥Õ¥¡¥¤¥ë¤´¤È¤Ë¿¶¤é¤ì¤ëÈÇ¿ô¤Î¤³¤È¡£½é´üÅÐÏ¿»þ¤Ï 1.1 ¤Ç¡¢¥³¥ß¥Ã¥È¤ò½Å¤Í¤ë¤¿¤Ó¤Ë¡¢1.2¡¦1.3¡¦1.4 ¡Ä 1.99¡¦1.100¡¦1.101 ¡Ä ¤È¾å¤¬¤Ã¤Æ¤¤¤¯¡£

¡ü½ñ¼°
CVS ¤Ë´Ø¤¹¤ëÁàºî¤ò¹Ô¤¦¤Ë¤Ï cvs ¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¡£cvs ¥³¥Þ¥ó¥É¤Î½ñ¼°¤Ï
% cvs [¶¦ÄÌ¥ª¥×¥·¥ç¥ó] [¥µ¥Ö¥³¥Þ¥ó¥É] [¥µ¥Ö¥³¥Þ¥ó¥É¥ª¥×¥·¥ç¥ó] [¥µ¥Ö¥³¥Þ¥ó¥É°ú¿ô]
¤Ç¤¢¤ë¡£¥µ¥Ö¥³¥Þ¥ó¥É¤È¤Ï init¡¦checkout¡¦diff¡¦commit ¤Ê¤É¤¬¤¢¤ê¡¢¥µ¥Ö¥³¥Þ¥ó¥É¤¬°Û¤Ê¤ë¤È¥µ¥Ö¥³¥Þ¥ó¥É¥ª¥×¥·¥ç¥ó¤ä¥µ¥Ö¥³¥Þ¥ó¥É°ú¿ô¤Î°ÕÌ£¤¬°Û¤Ê¤ë (CVS ¤Î¥Þ¥Ë¥å¥¢¥ë¤Ç¤Ï init¡¦checkout ¤Ê¤É¤ò¥³¥Þ¥ó¥É¤È̿̾¤·¤Æ¤¤¤ë¤¬¡¢¤³¤³¤Ç¤Ï¤¢¤¨¤Æ¥µ¥Ö¥³¥Þ¥ó¥É¤Èɽµ­¤·¤Æ¤¤¤ë)¡£

¶¦ÄÌ¥ª¥×¥·¥ç¥ó¤È¥µ¥Ö¥³¥Þ¥ó¥É¥ª¥×¥·¥ç¥ó¤ÏÁ´¤¯°Û¤Ê¤ë¤â¤Î¤Ç¤¢¤ë¡£Î㤨¤Ð
% cvs -d /home/68user/cvsroot checkout -d source project-a
¤Ï -d ¤¬ 2¤Ä¤¢¤ë¤¬¡¢°ÕÌ£¤ÏÁ´Á³°ã¤¦¡£ºÇ½é¤Î -d ¤Ï¶¦ÄÌ¥ª¥×¥·¥ç¥ó¤Ç¡¢¥ê¥Ý¥¸¥È¥ê¤Î¾ì½ê¤ò»ØÄꤷ¤Æ¤¤¤ë¡£2¤ÄÌܤΠ-d ¤Ï¥µ¥Ö¥³¥Þ¥ó¥É checkout ¤Î¥µ¥Ö¥³¥Þ¥ó¥É¥ª¥×¥·¥ç¥ó¤Ç¡¢¥Á¥§¥Ã¥¯¥¢¥¦¥ÈÀè¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ë¥ª¥×¥·¥ç¥ó¤Ç¤¢¤ë¡£

¡ü¥ê¥Ý¥¸¥È¥ê½é´ü²½ (init)
¥ê¥Ý¥¸¥È¥ê¤Î½é´ü²½¤Ë¤Ï cvs init ¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¡£¤Þ¤º¡¢¥ê¥Ý¥¸¥È¥ê¤òÃÖ¤¯¾ì½ê¤ò·è¤á¤è¤¦¡£Åö¥Ú¡¼¥¸´ÉÍý¿Í¤Î¾ì¹ç¤Ï¡¢/home/68user/cvsroot/ ¤È¤¤¤¦¥Ç¥£¥ì¥¯¥È¥ê¤ò¥ê¥Ý¥¸¥È¥êÃÖ¤­¾ì¤È¤·¤Æ¤¤¤ë¡£¤¢¤é¤«¤¸¤á¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤¹¤ëɬÍפϤʤ¯¡¢¤¤¤­¤Ê¤ê cvs init ¤¹¤ì¤Ð¤è¤¤¡£¤Ê¤ª¡¢¥ê¥Ý¥¸¥È¥ê¤Î¾ì½ê¤Ï (ÁêÂХѥ¹¤Ç¤Ï¤Ê¤¯) ¥Õ¥ë¥Ñ¥¹¤Ç»ØÄꤹ¤ë¤³¤È¡£
% cvs -d /home/68user/cvsroot init
¤³¤ì¤Ë¤è¤ê¡¢°Ê²¼¤Î¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤¬¼«Æ°Åª¤ËÀ¸À®¤µ¤ì¤ë¡£
/home/68user/cvsroot/
/home/68user/cvsroot/CVSROOT
/home/68user/cvsroot/CVSROOT/Emptydir
/home/68user/cvsroot/CVSROOT/loginfo
/home/68user/cvsroot/CVSROOT/loginfo,v
/home/68user/cvsroot/CVSROOT/rcsinfo
/home/68user/cvsroot/CVSROOT/rcsinfo,v
/home/68user/cvsroot/CVSROOT/editinfo
/home/68user/cvsroot/CVSROOT/editinfo,v
(ά)
cvsroot/ ¤Î²¼¤Ë¤Ï CVSROOT/ ¤È¤¤¤¦¥Ç¥£¥ì¥¯¥È¥ê¤¬ºîÀ®¤µ¤ì¤Æ¤¤¤ë¤¬¡¢¤³¤ì¤Ï¥ê¥Ý¥¸¥È¥êÀßÄêÍѤΥե¡¥¤¥ë¤Ê¤Î¤Ç¡¢¤È¤ê¤¢¤¨¤º¤Ïµ¤¤Ë¤·¤Ê¤¯¤Æ¤è¤¤¡£

º£¸å cvs ¥³¥Þ¥ó¥É¤ò»È¤¦¤¿¤Ó¤Ë¥ê¥Ý¥¸¥È¥ê¤Î¾ì½ê¤ò¶¦ÄÌ¥ª¥×¥·¥ç¥ó -d ¤Ç»ØÄꤹ¤ë¤Î¤ÏÌÌÅݤʤΤǡ¢´Ä¶­ÊÑ¿ô CVSROOT ¤ËÀßÄꤷ¤Æ¤ª¤³¤¦¡£¤³¤ì¤Ç¶¦ÄÌ¥ª¥×¥·¥ç¥ó -d ¤ÏÉÔÍפˤʤ롣
% setenv CVSROOT /home/68user/cvsroot (csh¡¦tcsh ¤Î¾ì¹ç)
% CVSROOT=/home/68user/cvsroot; export CVSROOT (sh¡¦bash ¤Î¾ì¹ç)

¡ü¥¤¥ó¥Ý¡¼¥È (import)
¥ê¥Ý¥¸¥È¥ê¤òºîÀ®¤·¤¿¤é¡¢´ÉÍý¤·¤¿¤¤¥Õ¥¡¥¤¥ë¤ò cvs import ¤Ç¥¤¥ó¥Ý¡¼¥È¤¹¤ë¡£¤â¤·¤È¤ê¤¢¤¨¤º CVS ¤ò»î¤·¤Æ¤ß¤¿¤¤¤À¤±¤Ê¤é¡¢°Ê²¼¤Î¥µ¥ó¥×¥ë¥×¥í¥°¥é¥à¤ò»È¤¦¤È¤è¤¤¡£

¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¹½À®
  • hello/
  • hello/hello.c
  • hello/Makefile
hello/hello.c
#include 
main(){
    printf("Hello, world.\n");
    return 0;
}
hello/Makefile
TARGET=hello
OBJS=hello.o
$(TARGET): $(OBJS)

¾åµ­¤Î¥Õ¥¡¥¤¥ë·²¤òÍѰդ·¤¿¤é¡¢¥¤¥ó¥Ý¡¼¥ÈÁ°¤Ë¹Ô¤¦²¼½àÈ÷¤Ï 2¤Ä¡£
  • ¥â¥¸¥å¡¼¥ë̾¤ò·è¤á¤ë
  • ÉÔÍפʥե¡¥¤¥ë¤ò¾Ã¤¹
¥â¥¸¥å¡¼¥ë̾¤È¤Ï¡¢ºÇ¾å°Ì¤Î¥Ç¥£¥ì¥¯¥È¥ê̾¤Î¤³¤È¤ò»Ø¤¹¡£¤³¤³¤Ç¤Ï hello ¤È¤·¤Æ¤ª¤³¤¦¡£¤½¤·¤Æ CVS ¤Ç´ÉÍý¤·¤¿¤¯¤Ê¤¤ÉÔÍפʥե¡¥¤¥ë¤òºï½ü¤¹¤ë¡£¤³¤ÎÎã¤Ç¤Ï¡¢make ¤¹¤ë¤ÈÀ¸À®¤µ¤ì¤ë¼Â¹Ô¥Õ¥¡¥¤¥ë hello¡¢¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë hello.o¡¢¥¨¥Ç¥£¥¿¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë hello.c~ ¤Ê¤É¤Ï´ÉÍýÂоݤȤ·¤Ê¤¤Êý¤¬¤è¤¤¡£¤½¤Î¤¿¤á¡¢¥¤¥ó¥Ý¡¼¥ÈÁ°¤ËÉÔÍפʥե¡¥¤¥ë¤òºï½ü¤·¤Æ¤ª¤³¤¦¡£

½àÈ÷¤¬¤Ç¤­¤¿¤é¡¢cvs import ¤Ç¥¤¥ó¥Ý¡¼¥È¤¹¤ë¡£½ñ¼°¤Ï°Ê²¼¤ÎÄ̤ꡣ
% cvs import [¥â¥¸¥å¡¼¥ë̾] [¥Ù¥ó¥À¥¿¥°] [¥ê¥ê¡¼¥¹¥¿¥°]
¥Ù¥ó¥À¥Ö¥é¥ó¥Á¡¦¥¤¥Ë¥·¥ã¥ë¥Ö¥é¥ó¥Á¤Ï¤È¤ê¤¢¤¨¤º¤Ïµ¤¤Ë¤»¤º¡¢¤½¤ì¤¾¤ì vendor¡¦initial ¤È¤·¤Æ¤ª¤³¤¦¡£É¬¤º¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤ò hello/ ¤ËÊѹ¹¤·¤Æ¤«¤é¥¤¥ó¥Ý¡¼¥È¤¹¤ë¤³¤È¡£
% cd hello/
% cvs import -m "Initial version" hello vendor inital
U hello/hello.c
U hello/Makefile

No conflicts created by this import

¡ÖNo conflicts created by this import¡×¤Èɽ¼¨¤µ¤ì¤ì¤ÐÀµ¾ï¤Ë¥¤¥ó¥Ý¡¼¥È¤Ç¤­¤¿¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£¥¤¥ó¥Ý¡¼¥È¤¬´°Î»¤·¤¿¤é¡¢¥ê¥Ý¥¸¥È¥êÆâ¤Ë¤É¤Î¤è¤¦¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë¤Î¤«³Îǧ¤·¤Æ¤ª¤³¤¦¡£
% find ~/cvsroot/hello
/home/68user/cvsroot/hello
/home/68user/cvsroot/hello/hello.c,v
/home/68user/cvsroot/hello/Makefile,v
¥Ç¥£¥ì¥¯¥È¥ê̾¤Ï¤½¤Î¤Þ¤Þ¤À¤¬¡¢¥Õ¥¡¥¤¥ë̾¤ÎËöÈø¤Ë¤Ï¡Ö,v¡×¤¬Éղäµ¤ì¤Æ¤¤¤ë¡£¤³¤ì¤¬ CVS ¤¬´ÉÍý¤·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Î°õ¤Ç¤¢¤ë¡£

¡ü¥Á¥§¥Ã¥¯¥¢¥¦¥È
¥ê¥Ý¥¸¥È¥êÆâ¤Î¥Õ¥¡¥¤¥ë¤ò¼èÆÀ¤·¤¿¤êÊÔ½¸¤·¤¿¤ê¤¹¤ë¤Ë¤Ï¡¢¤Þ¤º¥Á¥§¥Ã¥¯¥¢¥¦¥È¤ò¹Ô¤ï¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£¤Þ¤º¡¢CVS ¤Îºî¶È¾ì½ê¤ò·è¤á¤Æ¤ª¤³¤¦¡£¤³¤³¤Ç¤Ï ~/work/ ¤È¤¹¤ë¡£~/work/ ¤Ë°Üư¤·¤Æ
% cvs checkout [¥â¥¸¥å¡¼¥ë̾]
¤È¤¹¤ë¤³¤È¤Ç¥Á¥§¥Ã¥¯¥¢¥¦¥È¤¬¹Ô¤¨¤ë¡£
% mkdir ~/work
% cd ~/work
% cvs checkout hello
cvs checkout: Updating hello
U hello/Makefile
U hello/hello.c
¥Á¥§¥Ã¥¯¥¢¥¦¥È¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Î¥Õ¥¡¥¤¥ë¹½À®¤ò³Îǧ¤·¤è¤¦¡£
% find hello/ -print
hello/
hello/CVS
hello/CVS/Root
hello/CVS/Repository
hello/CVS/Entries
hello/Makefile
hello/hello.c
¥Á¥§¥Ã¥¯¥¢¥¦¥È¤·¤¿¥Ç¥£¥ì¥¯¥È¥êÆâ¤Ë¤Ï¡¢É¬¤º¡ÖCVS¡×¤È¤¤¤¦¥Ç¥£¥ì¥¯¥È¥ê¤¬ºîÀ®¤µ¤ì¡¢¤½¤Î²¼¤Ë¤Ï Root¡¦Repository¡¦Entiries ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¡£³Æ¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¢¤ë¡£
hello/CVS/Root ¡Ä ¥ê¥Ý¥¸¥È¥ê¤Î¾ì½ê
/home/68user/cvsroot/
hello/CVS/Repository ¡Ä ¤³¤Îºî¶È¾ì½ê¤¬Âбþ¤¹¤ë¥ê¥Ý¥¸¥È¥êÆâ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î¥Ñ¥¹
hello
hello/CVS/Entries ¡Ä ¤³¤Îºî¶È¾ì½ê¤Ç´ÉÍý¤·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê
/Makefile/1.1.1.1/Sun Jul 24 06:54:10 2005//
/hello/1.1.1.1/Sun Jul 24 06:54:10 2005//
/hello.c/1.1.1.1/Sun Jul 24 06:54:10 2005//
¤³¤ì¤é¤Ï CVS ´ÉÍýÍÑ¥Õ¥¡¥¤¥ë¤Ê¤Î¤Çºï½ü¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¤·¡¢ÆâÍÆ¤ò²þÊÔ¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£

¡üº¹Ê¬É½¼¨ (diff)
¥Á¥§¥Ã¥¯¥¢¥¦¥È¤·¤¿¥Õ¥¡¥¤¥ë¤Ï¡¢¥¨¥Ç¥£¥¿¤Ê¤É¤ò»È¤Ã¤Æ¼«Í³¤Ë½¤Àµ¤·¤Æ¤è¤¤¡£

½¤ÀµÃæ¤Ï cvs diff ¤ò»È¤Ã¤Æ¡¢¤É¤ÎÉôʬ¤ò½¤Àµ¤·¤¿¤Î¤«¤ò³Îǧ¤·¤è¤¦¡£°Ê²¼¤Ï hello.c ¤ò¥¨¥Ç¥£¥¿¤Ç½¤Àµ¤·¤¿¸å¤Ë cvs diff ¤Çº¹Ê¬¤òɽ¼¨¤¹¤ëÎã¤Ç¤¢¤ë¡£
% cvs diff
RCS file: /home/68user/cvsroot/hello/hello.c,v
retrieving revision 1.1.1.1
diff -r1.1.1.1 hello.c
3,4c3,4
< main(){
<     printf("Hello, world.\n");
---
> main(int argc, char *argv[]){
>     printf("This is a sample program of cvs\n");
Åö¥Ú¡¼¥¸´ÉÍý¿Í¤ÏÀ¼¤òÂç¤Ë¤·¤Æ¤¤¤¤¤¿¤¤¤Î¤À¤¬¡¢CVS ¤¬°ÒÎϤòȯ´ø¤¹¤ë¤Î¤Ï¤³¤³¤Ç¤¢¤ë¡£¥¨¥Ç¥£¥¿¤ÎÁàºî¥ß¥¹¤ä¤Ê¤É¤Ç°Õ¿Þ¤»¤Ì½¤Àµ¤ò¹Ô¤Ã¤Æ¤·¤Þ¤Ã¤¿¾ì¹ç¤Ç¤â¡¢cvs diff ¤ò¹Ô¤¦¤³¤È¤Ç¥ß¥¹¤Ëµ¤¤Å¤¯¤³¤È¤¬¤Ç¤­¤ë¡£¤Þ¤¿¡¢¥Æ¥¹¥È¤Î¤¿¤á¤Ë°ì»þŪ¤ËÊѹ¹¤·¤¿¹Ô¤ÎÌᤷ˺¤ì¤â¤³¤³¤Ç¸«ÉÕ¤±¤é¤ì¤ë¡£¥³¥ß¥Ã¥ÈÁ°¤Ë¤Ïɬ¤º cvs diff ¤ò»È¤¦¤è¤¦¤Ë¤·¤è¤¦¡£

cvs diff ¤Ë¤Ï¿¤¯¤Î¥ª¥×¥·¥ç¥ó¤¬»ØÄê¤Ç¤­¤ë¤¬¡¢¤Û¤È¤ó¤É¤Ï diff ¥³¥Þ¥ó¥É¤È¶¦Ä̤Ǥ¢¤ë¡£ºÇÄã¸Â¡¢-u ¤Ç Unified Diff ·Á¼°¤Îº¹Ê¬É½¼¨¤¬¤Ç¤­¤ë¤³¤È¤ò³Ð¤¨¤Æ¤ª¤¯¤È¤è¤¤¡£
% cvs diff -u
RCS file: /home/68user/cvsroot/hello/hello.c,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 hello.c
--- hello.c     24 Jul 2005 06:54:10 -0000      1.1.1.1
+++ hello.c     25 Jul 2005 13:58:08 -0000
@@ -1,5 +1,5 @@
 #include <stdio.h>

-main(){
-    printf("Hello, world.\n");
+main(int argc, char *argv[]){
+    printf("This is a sample program of cvs\n");
 }
>> ¥³¥Þ¥ó¥É diff *

¡ü¥³¥ß¥Ã¥È (commit)
¥Õ¥¡¥¤¥ë¤Î½¤Àµ¤¬´°Î»¤·¤¿¤é¡¢¥³¥ß¥Ã¥È¤ò¹Ô¤Ã¤Æ¥ê¥Ý¥¸¥È¥ê¤ËÈ¿±Ç¤¹¤ë¡£
% cvs commit hello.c
¤È¤¹¤ë¤È vi ¤ä Emacs ¤Ê¤É¤Î¥¨¥Ç¥£¥¿¤¬µ¯Æ°¤¹¤ë¤Î¤Ç¡¢¥³¥ß¥Ã¥È¥í¥°¤ÎÆþÎϤò¹Ô¤¦¡£
¢£ (¢«¥«¡¼¥½¥ë°ÌÃÖ)
CVS: ----------------------------------------------------------------------
CVS: Enter Log. Lines beginning with `CVS:' are removed automatically
CVS:
CVS: Committing in .
CVS:
CVS: Modified Files:
CVS: hello.c
CVS: ----------------------------------------------------------------------
°Ê²¼¤Î¤è¤¦¤Ë½¤ÀµÍýͳ¤ä½¤Àµ³µÍפòµ­Æþ¤¹¤ë¡£
hoge Ãͤμ«Æ°ÊäÀµµ¡Ç½¤Ïº£²ó¤Î³«È¯¤Çºï½ü¤¹¤ëͽÄê¤À¤Ã¤¿¤¬¡¢
¤³¤ì¤òºï½ü¤¹¤ë¤È fuga Ãͤ˱ƶÁ¤¬µÚ¤Ö¤³¤È¤¬È¯³Ð¤·¤¿¤¿¤á¡¢
ºï½ü¤ò¼è¤ê»ß¤á¤ë (»ÅÍÍÊѹ¹)¡£
CVS: ----------------------------------------------------------------------
CVS: Enter Log. Lines beginning with `CVS:' are removed automatically
(°Ê²¼Î¬)
¡ÖCVS:¡×¤«¤é»Ï¤Þ¤ë¹Ô¤Ï̵»ë¤µ¤ì¤ë¤Î¤Ç¡¢¤½¤Î¤Þ¤Þ»Ä¤·¤Æ¤ª¤±¤Ð¤è¤¤ (ºï½ü¤·¤Æ¤â¤è¤¤¤¬¡¢°ÕÌ£¤¬¤Ê¤¤)¡£µ­Æþ¤·¤¿¤éÆâÍÆ¤òÊݸ¤·¤Æ¥¨¥Ç¥£¥¿¤ò½ªÎ»¤¹¤ë (vi ¤Ê¤é :wq¡¢Emacs ¤Ê¤é C-x C-s C-x C-c)¡£¤¹¤ë¤È¡¢
Checking in hello.c;
/home/68user/cvsroot/hello/hello.c,v <-- hello.c
new revision: 1.2; previous revision: 1.1
done
¤È¤¤¤¦¤Õ¤¦¤Ë¥³¥ß¥Ã¥È¤¬¹Ô¤ï¤ì¤ë¡£hello/hello.c ¤Î¥ê¥Ó¥¸¥ç¥ó¤¬ 1.1 ¤«¤é 1.2 ¤Ë¾å¤¬¤Ã¤¿¤³¤È¤¬¤ï¤«¤ë¡£¥³¥ß¥Ã¥È»þ¤Ë»ÈÍѤ¹¤ë¥¨¥Ç¥£¥¿¤Ï¡¢´Ä¶­ÊÑ¿ô EDITOR ¤ä´Ä¶­ÊÑ¿ô CVSEDITOR ¤Ç»ØÄ꤬²Äǽ¤Ç¤¢¤ë¡£
>> ´Ä¶­ÊÑ¿ô EDITOR *

¤â¤· cvs commit ¤·¤Æ¥¨¥Ç¥£¥¿¤¬µ¯Æ°¤·¤¿¸å¤Ë¥³¥ß¥Ã¥È¤ò¤ä¤á¤¿¤¯¤Ê¤Ã¤¿¾ì¹ç¤Ï¡¢¥³¥ß¥Ã¥È¥í¥°ÆâÍÆ¤ò¶õ¤Ë¤·¤ÆÊݸ¤·¡¢¥¨¥Ç¥£¥¿¤ò½ªÎ»¤¹¤ë¡£¤¹¤ë¤È
Log message unchanged or not specified
a)bort, c)ontinue, e)dit, !)reuse this message unchanged for remaining dirs
Action: (continue)
¤È¡¢¡Ö¥í¥°¥á¥Ã¥»¡¼¥¸¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤¬¤É¤¦¤¹¤ë?¡×¤Èʹ¤¤¤Æ¤¯¤ë¡£¤³¤³¤Ç a (abort) ¤ò¥¿¥¤¥×¤¹¤ì¤Ð¥³¥ß¥Ã¥È¤µ¤ì¤Ê¤¤¡£¤â¤· e (edit) ¤È¤¹¤ì¤ÐºÆÅÙ¥¨¥Ç¥£¥¿¤¬µ¯Æ°¤·¡¢c (continue) ¤È¤¹¤ì¤Ð¡Ö*** empty log message ***¡×¤È¤¤¤¦¥í¥°¤Ç¥³¥ß¥Ã¥È¤¬¼Â¹Ô¤µ¤ì¤ë¡£

¤¤¤Á¤¤¤Á¥¨¥Ç¥£¥¿¤¬µ¯Æ°¤¹¤ë¤Î¤¬ÌÌÅݤʤé¤Ð¡¢
% cvs commit -m '¥³¥ß¥Ã¥È¥á¥Ã¥»¡¼¥¸'
¤È¡¢¥µ¥Ö¥³¥Þ¥ó¥É commit ¤Î -m ¥ª¥×¥·¥ç¥ó¤Ç¥³¥Þ¥ó¥É¥é¥¤¥ó¤«¤é¥³¥ß¥Ã¥È¥í¥°¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤ë¡£

°ìÅÙ¥³¥ß¥Ã¥È¤·¤¿¸å¤Ë¥³¥ß¥Ã¥È¥í¥°¤òÊѹ¹¤¹¤ë¤Ë¤Ï¡¢¥µ¥Ö¥³¥Þ¥ó¥É admin ¤Ë -m ¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤ë¤³¤È¤Ç²Äǽ¤Ç¤¢¤ë¡£
% cvs admin -m1.4:"¤Û¤²¤Û¤²" hello.c
¢Í hello.c ¤Î¥ê¥Ó¥¸¥ç¥ó 1.4 ¤Î¥³¥ß¥Ã¥È¥í¥°¤ò¡Ö¤Û¤²¤Û¤²¡×¤ËÊѹ¹

¡ü¥Õ¥¡¥¤¥ëÄɲÃ
¥Õ¥¡¥¤¥ë¤òÄɲ乤ë¤Ë¤Ï cvs add ¤ò»ÈÍѤ¹¤ë¡£
% cd hello
% echo hoge > newfile.txt
¢Í ŬÅö¤Ê¥Õ¥¡¥¤¥ë¤ò¿·µ¬ºîÀ®
% cvs add newfile.txt
cvs add: scheduling file `newfile.txt' for addition
cvs add: use 'cvs commit' to add this file permanently
¢Í ¡Önewfile.txt ¤òÄɲÃͽÄê¥Õ¥¡¥¤¥ë¤È¤·¤ÆÅÐÏ¿¤·¤¿¡£¤Û¤ó¤È¤ËÄɲä·¤¿¤¤¤Ê¤é cvs commit ¤·¤Æ¤Í¡×¤È¸À¤Ã¤Æ¤¤¤ë¡£
cvs add ¤·¤¿¤À¤±¤Ç¤Ï¤Þ¤À¥ê¥Ý¥¸¥È¥ê¤Ë¤Ï¥Õ¥¡¥¤¥ë¤¬Äɲäµ¤ì¤Æ¤¤¤Ê¤¤¡£³Îǧ¤Î¤¿¤á¡¢cvs status ¤Ç¾õÂÖ¤ò³Îǧ¤·¤è¤¦ (cvs status ¼«ÂΤÎÀâÌÀ¤Ï¸å½Ò)¡£
% cvs status newfile.txt
===================================================================
File: newfile.txt       Status: Locally Added (¡úÃíÌÜ)

   Working revision:    New file!
   Repository revision: No revision control file
   Sticky Tag:          (none)
   Sticky Date:         (none)
   Sticky Options:      (none)
¡ÖStatus: Locally Added¡×¤È¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢¼ê¸µ¤Îºî¶È¾ì½ê¤ËÄɲÃͽÄê¥Õ¥¡¥¤¥ë¤È¤·¤ÆÅÐÏ¿¤µ¤ì¤¿¤À¤±¤Ç¡¢¥ê¥Ý¥¸¥È¥ê¤Ë¤ÏÈ¿±Ç¤µ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤¬¤ï¤«¤ë¡£cvs commit ¤Ç¥³¥ß¥Ã¥È¤ò¹Ô¤¦¤È¡¢¥ê¥Ý¥¸¥È¥ê¤ËÈ¿±Ç¤µ¤ì¤ë (cvs commit ¤¹¤ë¤ÈÎã¤Î¤´¤È¤¯¥¨¥Ç¥£¥¿¤¬µ¯Æ°¤¹¤ë¤Î¤Ç¡¢¥³¥ß¥Ã¥È¥í¥°¤òµ­Æþ¤¹¤ì¤Ð¤è¤¤)¡£

cvs add ¤·¤¿¸å¤Ë¡¢¥Õ¥¡¥¤¥ëÄɲäò¼è¤ê»ß¤á¤¿¤¯¤Ê¤Ã¤¿¾ì¹ç¤Ï
% rm newfile.txt
¢Í ¤Þ¤º¥Õ¥¡¥¤¥ë¼«ÂΤòºï½ü (°ì»þŪ¤Ë mv ¤ÇÊ̤Υե¡¥¤¥ë̾¤ËÊѤ¨¤Æ¤â¤è¤¤)
% cvs remove newfile.txt
¢Í cvs remove ¤ÇÄɲÃͽÄê¥Õ¥¡¥¤¥ë°ìÍ÷¤«¤é½ü³°¤¹¤ë
¤È¤¹¤ë¡£¥Õ¥¡¥¤¥ë¼«ÂΤòºï½ü¤·¤¿¤¯¤Ê¤±¤ì¤Ð¡¢°ì»þŪ¤Ë mv ¤ÇÊ̤Υե¡¥¤¥ë̾¤ËÊѤ¨¤Æ¤ª¤±¤Ð¤è¤¤¡£

¤Ê¤ª¡¢¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ë¤Î¾ì¹ç¤Ï cvs add ¤Ë -kb ¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤ë¤³¤È¡£
% cvs add -kb newimage.jpg
-kb ¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤Ï CVS ¥È¥Ô¥Ã¥¯ÊÔ¤ò»²¾È¤Î¤³¤È¡£
>> ¥³¥Þ¥ó¥É CVS¥È¥Ô¥Ã¥¯ÊÔ *

¡ü¥Õ¥¡¥¤¥ëºï½ü
°ìÅÙ¥ê¥Ý¥¸¥È¥ê¤ËÄɲä·¤¿¥Õ¥¡¥¤¥ë¤Îºï½ü¤Ï¡¢cvs remove ¤Ç¹Ô¤¨¤ë¡£
% cd hello
% rm newfile.txt
¢Í ¤Þ¤º¥Õ¥¡¥¤¥ë¼«ÂΤòºï½ü (°ì»þŪ¤Ë mv ¤ÇÊ̤Υե¡¥¤¥ë̾¤ËÊѤ¨¤Æ¤â¤è¤¤)
% cvs remove newfile.txt
cvs remove: scheduling `newfile.txt' for removal
cvs remove: use 'cvs commit' to remove this file permanently
¢Í ºï½üͽÄê¥Õ¥¡¥¤¥ë°ìÍ÷¤ËÄɲ䵤줿
¤³¤ÎÃʳ¬¤Ç¤Ï¤Þ¤À¥ê¥Ý¥¸¥È¥ê¤ËÈ¿±Ç¤µ¤ì¤Æ¤¤¤Ê¤¤¡£cvs add ¤ÈƱÍͤˡ¢¥³¥ß¥Ã¥È¤¹¤ë¤³¤È¤Ç¼ÂºÝ¤Ë¥Õ¥¡¥¤¥ë¤Ïºï½ü¤µ¤ì¤ë¡£¤Ê¤ª¡¢¥Õ¥¡¥¤¥ëºï½ü¤È¤¤¤Ã¤Æ¤â½¤ÀµÍúÎò¤ÏÁ´¤Æ»Ä¤ë¤·¡¢¤¤¤Ä¤Ç¤â¥Õ¥¡¥¤¥ë¤ÏÉü³è¤Ç¤­¤ë¡£¼ÂºÝ¤Ë¹Ô¤ï¤ì¤ë¤³¤È¤Ï¡¢¥ê¥Ý¥¸¥È¥ê¤Ë¡ÖAttic¡×¤È¤¤¤¦¥Ç¥£¥ì¥¯¥È¥ê¤¬ºîÀ®¤µ¤ì¡¢¤½¤³¤Ë°Üư¤µ¤ì¤ë¤À¤±¤Ç¤¢¤ë¡£
% find ~/cvsroot/hello
/home/68user/cvsroot/hello
/home/68user/cvsroot/hello/Attic (¡ú¤³¤³)
/home/68user/cvsroot/hello/Attic/newfile.txt (¡ú¤³¤³)
/home/68user/cvsroot/hello/hello.c,v
/home/68user/cvsroot/hello/Makefile,v

cvs remove ¤Çºï½ü¤·¤¿¥Õ¥¡¥¤¥ë¤ò¸µ¤ËÌ᤹¤Ë¤Ï¡¢cvs add ¤¹¤ì¤Ð¤è¤¤¡£¤Þ¤º¡¢Éü³è¤µ¤»¤¿¤¤ newfile.txt ¤òÍѰդ¹¤ë¡£ºï½ü¤·¤¿»þÅÀ¤ÈƱ¤¸¥Õ¥¡¥¤¥ë¤Ç¤â¤è¤¤¤·¡¢ÆâÍÆ¤òÊѤ¨¤¿¤±¤ì¤ÐÊѤ¨¤Æ¤â¤è¤¤¡£Î㤨¤Ð newfile.txt ¤ÎÍúÎò¤¬
  • ¥ê¥Ó¥¸¥ç¥ó 1.1 ¡Ä ¿·µ¬ºîÀ®
  • ¥ê¥Ó¥¸¥ç¥ó 1.2 ¡Ä ÆâÍÆ½¤Àµ
  • ¥ê¥Ó¥¸¥ç¥ó 1.3 ¡Ä ºï½ü
¤È¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢
% cd hello
% cvs update -p -r 1.2 newfile.txt > newfile.txt
¤È¤¹¤ë¤È¥ê¥Ó¥¸¥ç¥ó 1.2 ¤Î newfile.txt ¤¬Æþ¼ê¤Ç¤­¤ë¡£¥Õ¥¡¥¤¥ë¤¬ÍѰդǤ­¤¿¤é cvs add ¤¹¤ë¡£
% cvs add newfile.txt
cvs add: re-adding file newfile.txt (in place of dead revision 1.2)
cvs add: use 'cvs commit' to add this file permanently
¢Í Éü³èͽÄê¥Õ¥¡¥¤¥ë°ìÍ÷¤ËÄɲ䵤줿
¸å¤Ï¥³¥ß¥Ã¥È¤¹¤ì¤Ð¸µÄ̤ê¤Ë¤Ê¤ë¡£

¡ü¥Ç¥£¥ì¥¯¥È¥êÄɲÃ
¥Ç¥£¥ì¥¯¥È¥ê¤ÎÄɲäϡ¢¥Õ¥¡¥¤¥ëÄÉ²Ã¤ÈÆ±ÍÍ¤Ë cvs add ¤ò»ÈÍѤ¹¤ë¡£
% cd hello
% mkdir newdir
¢Í ŬÅö¤Ê¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®
% cvs add newdir
Directory /home/68user/cvsroot/hello/newdir added to the repository
¥Õ¥¡¥¤¥ëÄɲäξì¹ç¤Ï cvs add¡¦cvs commit ¤È¤¤¤¦ÆóÃʳ¬¤òƧ¤àɬÍפ¬¤¢¤Ã¤¿¤¬¡¢¥Ç¥£¥ì¥¯¥È¥ê¤ÎÄÉ²Ã¤Ï cvs add ¤¹¤ë¤È¨ºÂ¤Ë¥ê¥Ý¥¸¥È¥ê¤ËÈ¿±Ç¤µ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤è¤¦¡£

¡ü¥Ç¥£¥ì¥¯¥È¥êºï½ü
°ìÅÙ add ¤·¤¿¥Ç¥£¥ì¥¯¥È¥ê¤òºï½ü¤¹¤ë¤³¤È¤Ï¡¢¤Ç¤­¤Ê¤¤¡£Îɤ¯¸À¤¨¤Ð¡Ö»ÅÍ͡ס¢°­¤¯¸À¤¨¤Ð¡ÖCVS ¤Î·çÅÀ¡×¤Ç¤¢¤ë¡£¤¿¤À¤·¡¢¥ê¥Ý¥¸¥È¥ê¤òľÀܤ¤¤¸¤ë¤È¤¤¤¦Î¢µ»¤Ï¤¢¤ë¡£¾åµ­¤Î newdir ¥Ç¥£¥ì¥¯¥È¥êÄɲäÎÎã¤Ç¤Ï¡¢
/home/68user/cvsroot/hello/newdir/
¤È¤¤¤¦¥Ç¥£¥ì¥¯¥È¥ê¤¬ºîÀ®¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¤³¤ì¤òľÀÜ rmdir ¤¹¤ì¤Ð¤è¤¤¡£¤¿¤À¤·¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò´û¤Ë¥Á¥§¥Ã¥¯¥¢¥¦¥È¤·¤¿¿Í¤¬¤¤¤¿¤é¡¢¥¨¥é¡¼¤È¤Ê¤ë¡£¤Þ¤¿¡¢newdir/ ¤Î²¼¤Ë´û¤Ë¥Õ¥¡¥¤¥ë¤òÄɲ䷤Ƥ¤¤¿¾ì¹ç¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ÎÍúÎò¤ÏÁ´¤Æ¾Ã¤¨¤Æ¤·¤Þ¤¦¡£Åö¥Ú¡¼¥¸´ÉÍý¿Í¤¬Ä¾ÀÜ¥ê¥Ý¥¸¥È¥ê¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò rmdir ¤¹¤ë¤Î¤Ï¡¢°Ê²¼¤Î¾ò·ï¤òÁ´¤ÆËþ¤¿¤¹¤È¤­¤Ç¤¢¤ë¡£
  • ¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òï¤â¥Á¥§¥Ã¥¯¥¢¥¦¥È¤·¤Æ¤¤¤Ê¤¤
  • ºï½ü¤·¤¿¤¤¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë¥Õ¥¡¥¤¥ë¤òÃÖ¤¤¤¿¤³¤È¤¬¤Ê¤¤

¡ü¾õÂÖɽ¼¨ (status)
ºî¶È¾ì½ê¤Î¥Õ¥¡¥¤¥ë¤Î¾õÂÖ¤òɽ¼¨¤¹¤ë¤Ë¤Ï cvs status ¤ò»È¤¦¡£
% cvs status
===================================================================
File: Makefile          Status: Up-to-date

   Working revision:    1.1.1.1 Sun Jul 24 06:54:10 2005
   Repository revision: 1.1.1.1 /home/68user/cvsroot/hello/Makefile,v
   Sticky Tag:          (none)
   Sticky Date:         (none)
   Sticky Options:      (none)

===================================================================
File: hello.c           Status: Locally Modified

   Working revision:    1.5     Sat Jul 30 14:26:13 2005
   Repository revision: 1.5     /home/68user/cvsroot/hello/hello.c,v
   Sticky Tag:          (none)
   Sticky Date:         (none)
   Sticky Options:      (none)
Makefile ¤¬¥ê¥Ó¥¸¥ç¥ó 1.1.1.1¡¢hello.c ¤¬ 1.5 ¤Ç¤¢¤ê¡¢Makefile ¤ÏºÇ¿·ÈÇ (Up-to-date)¡¢hello.c ¤Ï½¤Àµ¤µ¤ì¤Æ¤¤¤ë¤¬¤Þ¤À¥³¥ß¥Ã¥È¤µ¤ì¤Æ¤¤¤Ê¤¤ (Locally Modified) ¤³¤È¤¬¤ï¤«¤ë¡£

°ì¿Í¤Ç¡¢¤Ò¤È¤Ä¤Îºî¶È¾ì½ê¤Çºî¶È¤¹¤ë¾ì¹ç¤Ï¡¢°Ê²¼¤Î¥¹¥Æ¡¼¥¿¥¹¤ò³Ð¤¨¤Æ¤ª¤±¤Ð¤è¤¤¡£
Up-to-date ºÇ¿·ÈÇ¡£¥ê¥Ý¥¸¥È¥ê¤ÎºÇ¿·¥ê¥Ó¥¸¥ç¥ó¤ÈÆâÍÆ¤¬´°Á´¤Ë°ìÃפ·¤Æ¤¤¤ë¾õÂÖ
Locally Added ¥Õ¥¡¥¤¥ë¤ò cvs add ¤·¤¿¤¬¡¢¤Þ¤À¥³¥ß¥Ã¥È¤·¤Æ¤¤¤Ê¤¤¾õÂÖ
Locally Removed ¥Õ¥¡¥¤¥ë¤ò cvs remove ¤·¤¿¤¬¡¢¤Þ¤À¥³¥ß¥Ã¥È¤·¤Æ¤¤¤Ê¤¤¾õÂÖ
Locally Modified ºî¶È¾ì½ê¤Î¥Õ¥¡¥¤¥ë¤ò½¤Àµ¤·¤¿¤¬¡¢¤Þ¤À¥³¥ß¥Ã¥È¤·¤Æ¤¤¤Ê¤¤¾õÂÖ
Á´¤Æ¤Î¥¹¥Æ¡¼¥¿¥¹¤ä¡¢Sitcky Tag¡¦Sticky Date¡¦Sticky Options ¤Ë¤Ä¤¤¤Æ¤Ï CVS ¥È¥Ô¥Ã¥¯ÊÔ¤ò»²¾È¡£

CVS¥Á¥å¡¼¥È¥ê¥¢¥ë±þÍÑÊÔ¤ØÂ³¤¯¡£
>> ¥³¥Þ¥ó¥É CVS¥Á¥å¡¼¥È¥ê¥¢¥ë±þÍÑÊÔ *   CVS¥È¥Ô¥Ã¥¯ÊÔ *   CVS±¿ÍÑÊÔ *

CVS¥Á¥å¡¼¥È¥ê¥¢¥ë±þÍÑÊÔ¡¡Ê£¿ô¿Í¤Ç¤Î³«È¯¡¦¥¿¥°¡¦¥Ö¥é¥ó¥Á

¡üÊ£¿ô¿Í¤Ç¤Î³«È¯
CVS ¤Ï°ì¿Í¤À¤±¤Ç»È¤Ã¤Æ¤â¤½¤ì¤Ê¤ê¤ËÊØÍø¤Ç¤¢¤ë¤¬¡¢Ê£¿ô¿Í¤Ë¤è¤ë³«È¯¤Ç¤³¤½¼ÂÎϤòȯ´ø¤¹¤ë¡£

¥µ¥ó¥×¥ë¤Ï´ðÁÃÊԤ˰ú³¤­ hello ¥â¥¸¥å¡¼¥ë¤È¤¹¤ë¡£¥Õ¥¡¥¤¥ë¹½À®¤Ï°Ê²¼¤Î¤È¤ª¤ê¡£
hello/
hello/Makefile (¥ê¥Ó¥¸¥ç¥ó 1.1 ¤È¤¹¤ë)
hello/hello.c (¥ê¥Ó¥¸¥ç¥ó 1.1 ¤È¤¹¤ë)
¤Þ¤ººî¶È¾ì½ê¤ò 2¤Äºî¤í¤¦¡£workA/ ¤È workB/ ¤Ï¤½¤ì¤¾¤ì A ¤µ¤ó¤È B ¤µ¤ó¤Îºî¶È¾ì½ê¤È²¾Äꤹ¤ë¡£
% mkdir workA workB
% (cd workA; cvs checkout hello)
% (cd workB; cvs checkout hello)
CVS ¤Ï¡¢´ðËÜŪ¤Ë¤Ï¥í¥Ã¥¯¤È¤¤¤¦³µÇ°¤¬¤Ê¤¤¤¿¤á¡¢Ê£¿ô¿Í¤¬Æ±»þ¤Ë¥Á¥§¥Ã¥¯¥¢¥¦¥È¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£°ìÊý¡¢Microsoft ¤Î¥Ð¡¼¥¸¥ç¥ó´ÉÍý¥Ä¡¼¥ë VSS (Visual Source Safe) ¤Ç¤Ï¡¢¥Á¥§¥Ã¥¯¥¢¥¦¥È¤·¤¿¥Õ¥¡¥¤¥ë¤Ï¥í¥Ã¥¯¤¬¤«¤«¤ê¡¢Â¾¤Î¿Í¤ÏƱ¤¸¥Õ¥¡¥¤¥ë¤ò¥Á¥§¥Ã¥¯¥¢¥¦¥È¤¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¯¤Ê¤ë¡£

¤Þ¤º¡¢A ¤µ¤ó¤¬ workA ¤Î¥Õ¥¡¥¤¥ë¤ò½¤Àµ¤·¡¢¥³¥ß¥Ã¥È¤·¤¿¤È¤¹¤ë¡£
A¤µ¤ó% cd workA/hello/
A¤µ¤ó% vi hello.c
¢Í A ¤µ¤ó¤¬ workA/hello/hello.c ¤òÊÔ½¸¤·¤¿
A¤µ¤ó% cvs commit hello.c
¢Í ¥³¥ß¥Ã¥È
¤³¤³¤Ç workA/hello/hello.c ¤Ï¥ê¥Ó¥¸¥ç¥ó 1.2 ¤Ë¤¢¤¬¤ë¤¬¡¢workB/hello/hello.c ¤Ï¥ê¥Ó¥¸¥ç¥ó 1.1 ¤Î¤Þ¤Þ¤Ç¤¢¤ë¡£¥Õ¥¡¥¤¥ë¤¬¥³¥ß¥Ã¥È¤µ¤ì¤¿¤«¤é¤È¤¤¤Ã¤Æ¡¢Â¾¤Î¿Í¤¬¥Á¥§¥Ã¥¯¥¢¥¦¥È¤·¤¿¥Õ¥¡¥¤¥ë¤¬¾¡¼ê¤Ë¹¹¿·¤µ¤ì¤ë¤è¤¦¤Ê¤³¤È¤Ï¤Ê¤¤¡£

B ¤µ¤ó¤¬ workB ¤Î¾õÂÖ¤ò³Îǧ¤·¤¿¤È¤¹¤ë¡£
B¤µ¤ó% cd workB/hello/
B¤µ¤ó% cvs status
===================================================================
File: hello.c           Status: Needs Patch

   Working revision:    1.1     Sat Jul 30 14:26:13 2005
   Repository revision: 1.2     /home/68user/cvsroot/hello/hello.c,v
   Sticky Tag:          (none)
   Sticky Date:         (none)
   Sticky Options:      (none)
¥¹¥Æ¡¼¥¿¥¹¤¬¡ÖNeeds Patch¡×¤È¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢¼ê¸µ¤Î¥Õ¥¡¥¤¥ë¤¬¸Å¤¤¤³¤È¤¬¤ï¤«¤ë¡£¤Þ¤¿¡¢¡ÖWorking revision¡×¡ÖRepository revision¡×¤Ë¤è¤ê¡¢¼ê¸µ¤Îºî¶ÈÎΰè¤Î hello.c ¤Ï¥ê¥Ó¥¸¥ç¥ó 1.1 ¤Ç¤¢¤ë¤¬¡¢¥ê¥Ý¥¸¥È¥ê¤Î hello.c ¤Ï¥ê¥Ó¥¸¥ç¥ó 1.2 ¤Ë¹¹¿·¤µ¤ì¤¿¤³¤È¤¬¤ï¤«¤ë¡£

¤¤¤Ä¡¦Ã¯¤¬¡¦¤Ê¤¼¹¹¿·¤·¤¿¤«¤Ï cvs log ¤Ç³Îǧ¤Ç¤­¤ë¡£
B¤µ¤ó% cvs log hello.c
Working file: hello.c
head: 1.2
----------------------------
revision 1.2
date: 2005/07/30 20:23:30;  author: A¤µ¤ó;  state: Exp;  lines: +2 -2
¥á¥Ã¥»¡¼¥¸¤¬µ¤¤Ë¤¤¤é¤Ê¤¤¤Î¤Ç½¤Àµ¡£
B ¤µ¤ó¤¬¡¢A ¤µ¤ó¤¬¹Ô¤Ã¤¿½¤Àµ¤ò¤È¤ê¤¤¤ì¤¿¤¤¾ì¹ç¤Ï¡¢cvs update ¤ò»È¤¦¡£
B¤µ¤ó% cvs update hello.c
U hello.c
¤³¤ì¤ÇºÇ¿·ÈǤ˹¹¿·¤µ¤ì¤¿¡£Ç°¤Î¤¿¤á cvs status ¤ò¼Â¹Ô¤·¤Æ¡¢¥¹¥Æ¡¼¥¿¥¹¤¬¡ÖUp-to-date¡×¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤è¤¦¡£

¡ü¥Þ¡¼¥¸¤È¾×ÆÍ (¥³¥ó¥Õ¥ê¥¯¥È)
̤¹Æ¡£

¡ü¥¿¥°
̤¹Æ¡£

¡ü¥Ö¥é¥ó¥Á
̤¹Æ¡£
>> ¥³¥Þ¥ó¥É CVS¥Á¥å¡¼¥È¥ê¥¢¥ë´ðÁÃÊÔ *   CVS¥È¥Ô¥Ã¥¯ÊÔ *   CVS±¿ÍÑÊÔ *

CVS¥È¥Ô¥Ã¥¯ÊÔ¡¡CVS ¤Ë´Ø¤¹¤ë¤¤¤í¤¤¤í¤Ê¾ðÊó

Ëܹà¤Ï¡¢CVS ¤Î»ÈÍÑÊýË¡¤ò¤Ò¤È¤È¤ª¤ê¥Þ¥¹¥¿¡¼¤·¤¿¿Í¸þ¤±¤ÎÀâÌÀ¤Ç¤¢¤ë¡£CVS ¤Î»È¤¤Êý¤½¤Î¤â¤Î¤¬¤ï¤«¤é¤Ê¤¤¾ì¹ç¤Ï¡¢¤Þ¤º¥Á¥å¡¼¥È¥ê¥¢¥ë¤ò¤É¤¦¤¾¡£
>> ¥³¥Þ¥ó¥É CVS¥Á¥å¡¼¥È¥ê¥¢¥ë´ðÁÃÊÔ *   CVS¥Á¥å¡¼¥È¥ê¥¢¥ë±þÍÑÊÔ *

CVS ¤Î¥Þ¥Ë¥å¥¢¥ë¤Ç¤Ï init¡¦checkout ¤Ê¤É¤ò¥³¥Þ¥ó¥É¤È̿̾¤·¤Æ¤¤¤ë¤¬¡¢¤³¤³¤Ç¤Ï¤¢¤¨¤Æ¥µ¥Ö¥³¥Þ¥ó¥É¤Èɽµ­¤¹¤ë¡£

¡ü¥ê¥Ó¥¸¥ç¥óÈÖ¹æ
¥ê¥Ó¥¸¥ç¥óÈÖ¹æ¤Ï 1.1 ¤«¤é¥¹¥¿¡¼¥È¤·¤Æ¡¢1.2¡¦1.3¡¦1.4 ¡Ä 1.99¡¦1.100¡¦1.101 ¡Ä ¤È¾å¤¬¤Ã¤Æ¤¤¤¯¡£¤¿¤Þ¤Ë
¡Ö¥á¥¸¥ã¡¼¥Ð¡¼¥¸¥ç¥ó¤¬¾å¤¬¤Ã¤¿¤é 2.0 ¤Ë¤·¤¿¤¤¡×
¤È¸À¤¦¿Í¤¬¤¤¤ë¤¬¡¢¤³¤ì¤Ï¤ä¤á¤¿Êý¤¬¤è¤¤¡£ÉáÄÌ¤Ï 1.xx ¤Î¤Þ¤Þ¤Ë¤·¤Æ¤ª¤¤¤Æ¡¢¤³¤Î¤è¤¦¤Ê´ÉÍý¤Ï¥¿¥°¤Ç¹Ô¤¦¡£¥¿¥°¤Ç¤¢¤ì¤Ð¸å¤«¤éºï½ü¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¤¬¡¢¥ê¥Ó¥¸¥ç¥ó¤ò 2.0 ¤Ë¤¢¤²¤Æ¤·¤Þ¤¨¤Ð¤â¤¦¸µ¤ËÌ᤹¤³¤È¤¬¤Ç¤­¤Ê¤¤¡£Î㤨¤Ð¡Ö¥ê¥ê¡¼¥¹Ä¾Á°¤Ë¾ã³²Â¿È¯¤Î¤¿¤á¥ê¥ê¡¼¥¹¤Ï±ä´ü¡×¤È¤Ê¤Ã¤Æ¤â¤â¤¦¥ê¥Ó¥¸¥ç¥ó¤Ï¸µ¤ËÌ᤻¤Ê¤¤¡£

¤µ¤é¤Ë¸À¤¨¤Ð¡¢¥ê¥Ó¥¸¥ç¥ó¤Ï¤¿¤À¤Î¥Õ¥¡¥¤¥ë¤´¤È¤ÎÄÌÈ֤Ǥ¢¤ë¡£°ìÊý¡¢¥á¥¸¥ã¡¼¥Ð¡¼¥¸¥ç¥ó¤È¤¤¤¦¤Î¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤¬¼Ò²ñ¤ÎÃæ¤Ç¤É¤Î¤è¤¦¤Ê°ÌÃ֤Ť±¤Ë¤¢¤ë¤« (Àµ¼°ÈǤʤΤ«¡¢¥Æ¥¹¥ÈÈǤʤΤ«) ¤È¤¤¤¦³µÇ°¤Ç¤¢¤ë¡£¤Þ¤ï¤ê¤Î¾õ¶·¤¬ÊѤï¤ì¤Ð¡¢¤³¤Î°ÌÃ֤Ť±¤âÍÆ°×¤ËÊѤï¤ë¤â¤Î¤Ç¤¢¤ë (Àè¤Ë¤¢¤²¤¿¥ê¥ê¡¼¥¹±ä´ü¤Ê¤É)¡£¤³¤Î¤è¤¦¤Ê¤¢¤ä¤Õ¤ä¤Ê³µÇ°¤ò¡¢ÄÌÈ֤ȥê¥ó¥¯¤µ¤»¤ë¤Î¤ÏÆÀºö¤Ç¤Ï¤Ê¤¤¡£¥¿¥°¤È¤¤¤¦´Ë¤¤¤Ä¤Ê¤¬¤ê¤Ç·ë¤Ö¤³¤È¤Ç¡¢ÊѲ½¤Ë½ÀÆð¤ËÂбþ¤·¤ä¤¹¤¯¤·¤Æ¤ª¤¯¤ï¤±¤Ç¤¢¤ë¡£¤Á¤Ê¤ß¤ËÅö¥Ú¡¼¥¸´ÉÍý¿Í¤Ï¡¢Í­Ì¾¤Ê¥ª¡¼¥×¥ó¥½¡¼¥¹¤Î¥×¥í¥¸¥§¥¯¥È¤Ç 2.x ¤È¤« 3.x ¤Ê¤É¤È¥ê¥Ó¥¸¥ç¥ó¤ò¾å¤²¤Æ¤¤¤ë¤â¤Î¤ò¸«¤¿¤³¤È¤¬¤Ê¤¤¡£

¤É¤¦¤·¤Æ¤â¤ä¤ê¤¿¤±¤ì¤Ð¡¢¥³¥ß¥Ã¥È¤ÎºÝ¤Ë
% cvs commit -r 2.0
¤È¤¹¤ë¤³¤È¤Ç¼Â¸½¤Ç¤­¤ë¤¬¡¢¥Õ¥¡¥¤¥ë¤¬½¤Àµ¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¥³¥ß¥Ã¥È¤Ç¤­¤Ê¤¤¤¿¤á (¥×¥í¥¸¥§¥¯¥ÈÁ´ÂΤΥ᥸¥ã¡¼¥Ð¡¼¥¸¥ç¥ó¤Ï¾å¤¬¤Ã¤Æ¤â¡¢Á´¥Õ¥¡¥¤¥ë¤Ë½¤Àµ¤¬Æþ¤ë¤È¤Ï¸Â¤é¤Ê¤¤)¡¢$Id ¤ò½¤Àµ¤·¤¿¤ê¡¢Å¬Åö¤Ê¾ì½ê¤Ë¶õÇò¤òÆþ¤ì¤¿¤ê¤·¤ÆÌµÍýÌðÍý¥³¥ß¥Ã¥È¤¹¤ë¤³¤È¤Ë¤Ê¤ë ¡£¤½¤Î·ë²Ì¡¢¼Â¼ÁŪ¤Ë¤Ï¥Õ¥¡¥¤¥ëÆâÍÆ¤ËÊѲ½¤¬¤Ê¤¤¤Î¤Ë¡¢¥ê¥Ó¥¸¥ç¥ó 2.0¡¦3.0¡¦4.0 ¤¬¤Ç¤­¤Æ¤·¤Þ¤¦¡¢¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ë¡£

¤µ¤é¤Ë¡¢
¡Ö¥á¥¸¥ã¡¼¥Ð¡¼¥¸¥ç¥ó.¥Þ¥¤¥Ê¡¼¥Ð¡¼¥¸¥ç¥ó.¥Ð¥°FIX¥Ð¡¼¥¸¥ç¥ó.¥á¥Ã¥»¡¼¥¸Åù½¤Àµ¥Ð¡¼¥¸¥ç¥ó¤È¤·¤¿¤¤¡×
¤Ê¤É¤È¤¤¤¦¿Í¤¬¤¤¤ë¤¬¡¢¤³¤ì¤â¤ä¤á¤¿Êý¤¬¤è¤¤¡£¤È¤¤¤¦¤è¤ê¡¢CVS ¤Ç¤Ï¤¿¤Ö¤ó¤Ç¤­¤Ê¤¤¤è¤¦¤Êµ¤¤¬¤¹¤ë (¥ê¥Ó¥¸¥ç¥óÈÖ¹æ¤Ï¥Ö¥é¥ó¥Á´ÉÍý¤â·ó¤Í¤Æ¤¤¤ë¤¿¤á)¡£

¡ü¾õÂÖ°ìÍ÷
cvs status ¤Çɽ¼¨¤µ¤ì¤ë¾õÂ֤ΰìÍ÷¤ò°Ê²¼¤Ë¼¨¤¹¡£
Up-to-date ºÇ¿·ÈÇ¡£¥ê¥Ý¥¸¥È¥ê¤ÎºÇ¿·¥ê¥Ó¥¸¥ç¥ó¤ÈÆâÍÆ¤¬´°Á´¤Ë°ìÃפ·¤Æ¤¤¤ë¾õÂÖ
Locally Modified ºî¶È¾ì½ê¤Î¥Õ¥¡¥¤¥ë¤ò½¤Àµ¤·¤¿¤¬¡¢¤Þ¤À¥³¥ß¥Ã¥È¤·¤Æ¤¤¤Ê¤¤¾õÂÖ
Locally Added ¥Õ¥¡¥¤¥ë¤ò cvs add ¤·¤¿¤¬¡¢¤Þ¤À¥³¥ß¥Ã¥È¤·¤Æ¤¤¤Ê¤¤¾õÂÖ
Locally Removed ¥Õ¥¡¥¤¥ë¤ò cvs remove ¤·¤¿¤¬¡¢¤Þ¤À¥³¥ß¥Ã¥È¤·¤Æ¤¤¤Ê¤¤¾õÂÖ
Needs Checkout ¼«Ê¬°Ê³°¤Î狼¤¬¿·¤¿¤Ê¥Õ¥¡¥¤¥ë¤òÄɲä·¤¿¤¬¡¢¼ê¸µ¤Îºî¶È¾ì½ê¤Ç¤Ï¤Þ¤¿ cvs update ¤·¤Æ¤¤¤Ê¤¤¾õÂÖ¡£¤¢¤ë¤¤¤Ï¥Á¥§¥Ã¥¯¥¢¥¦¥È¤·¤¿¥Õ¥¡¥¤¥ë¤ò rm ¤Ç¾Ã¤·¤¿¾õÂÖ¡£
Needs Patch ¼«Ê¬°Ê³°¤Î狼¤¬¥³¥ß¥Ã¥È¤·¤¿¤â¤Î¤Î¡¢¼ê¸µ¤Îºî¶È¾ì½ê¤Ï cvs update ¤·¤Æ¤¤¤Ê¤¤¤¿¤á¡¢¼ê¸µ¤Î¥Õ¥¡¥¤¥ë¤¬¸Å¤¤¾õÂÖ
Needs Merge
Unresolved Conflict Ê£¿ô¿Í¤¬Ì¾Á°¤¬Æ±¤¸¥Õ¥¡¥¤¥ë¤ò cvs add ¤·¤ÆÊÒÊý¤¬¥³¥ß¥Ã¥È¤·¤¿¾ì¹ç¡¢¤â¤¦ÊÒÊý¤Ç¤Ï¤³¤Î¾õÂ֤ˤʤ롣郎¤É¤Î¥Õ¥¡¥¤¥ë¤òÄɲ乤뤫¤Îǧ¼±¤Ë¤º¤ì¤¬¤¢¤ë¡£¥³¥ß¥å¥Ë¥±¡¼¥·¥ç¥ó¤òÌ©¤Ë¤È¤í¤¦¡£
File had conflicts on merge CVS ¤Ë¤è¤ë¥Þ¡¼¥¸¤ÎºÝ¤Ë¡¢¾×ÆÍ (¥³¥ó¥Õ¥ê¥¯¥È) ¤¬È¯À¸¤·¤¿¡£¥Õ¥¡¥¤¥ë¤Î¾×ÆÍÉôʬ¤ò½¤Àµ¤·¤Æ¥³¥ß¥Ã¥È¤¹¤ì¤Ð¤è¤¤¡£
Unknown ÉÔÌÀ¤Ê¥Õ¥¡¥¤¥ë¡£cvs status [¸ºß¤·¤Ê¤¤¥Õ¥¡¥¤¥ë] ¤Ê¤É¤È¤·¤¿¾õÂÖ
Entry Invalid 狼¤¬ºî¶È¾ì½ê¤Ç cvs remove ¤·¤Æ¥³¥ß¥Ã¥È¤ò¹Ô¤Ã¤¿¸å¤Ë¡¢Ê̤κî¶È¾ì½ê¤ÇƱ¤¸¥Õ¥¡¥¤¥ë¤ò rm ¤Çºï½ü¤·¤¿¡¢¤Ê¤É

¡üÊ£¿ô¥¢¥«¥¦¥ó¥È¤Ç¤ÎÍøÍÑ
¤Ò¤È¤Ä¤Î¥¢¥«¥¦¥ó¥È¤Ç CVS ¤òÍøÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ï²¿¤éÌäÂê¤Ê¤¤¤¬¡¢Ê£¿ô¤Î¥¢¥«¥¦¥ó¥È¤Ç CVS ¤òÍøÍѤ¹¤ë¾ì¹ç¤Ï¡¢¥ê¥Ý¥¸¥È¥ê¤Î½êÍ­¼Ô¤È¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤¬ÌäÂê¤È¤Ê¤ë¡£

¥ê¥Ý¥¸¥È¥ê¤¬¥í¡¼¥«¥ë¤ËÃÖ¤¤¤Æ¤¢¤ë¤È¤­¡¢CVS ¤òÁàºî¤¹¤ë¤È¤¤¤¦¤³¤È¤Ï·ë¶É¤Ï¥ê¥Ý¥¸¥È¥ê¤Î¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤ó¤À¤ê¡¢Êѹ¹¤·¤¿¤ê¤·¤Æ¤¤¤ë¤ï¤±¤Ç¤¢¤ë¡£¤â¤· userA ¤È userB ¤È¤¤¤¦ 2¤Ä¤Î¥¢¥«¥¦¥ó¥È¤«¤éÁàºî¤ò¤¹¤ë¾ì¹ç¤Ï¡¢¤¤¤º¤ì¤Î¥¢¥«¥¦¥ó¥È¤«¤é¤â¥ê¥Ý¥¸¥È¥ê¤Î¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ read¡¦write ¸¢¸Â¤òÍ¿¤¨¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£

Åö¥Ú¡¼¥¸´ÉÍý¿Í¤¬¤è¤¯¤ä¤ëÊýË¡¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¢¤ë¡£¤Þ¤º¡¢cvs ¤È¤¤¤¦¥°¥ë¡¼¥×¤òºîÀ®¤·¡¢¤½¤³¤Ë¥ê¥Ý¥¸¥È¥ê¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤ë¥¢¥«¥¦¥ó¥È¤òÄɲ乤롣Î㤨¤Ð /etc/group ¤Ë
cvs:*:3000:userA,userB
¤Èµ­½Ò¤¹¤ë¡£Äɲøå¤Ï id ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¡¢cvs ¥°¥ë¡¼¥×¤Ë²Ã¤ï¤Ã¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤è¤¦¡£
% id
uid=1001(userA) gid=101(userA) groups=0(wheel), 3000(cvs)
¤½¤·¤Æ¥ê¥Ý¥¸¥È¥ê¤Î¥°¥ë¡¼¥×¤ò cvs ¤ËÊѹ¹¤·¡¢¥°¥ë¡¼¥×¤ËÂФ¹¤ë write ¸¢¸Â¤òÍ¿¤¨¤ë¡£
(¤³¤³¤Ç¤Î $CVSROOT ¤Ï CVS ¥ê¥Ý¥¸¥È¥ê¤Î¾ì½ê¤òɽ¤¹)
% chgrp -R cvs $CVSROOT
% chmod -R g+w $CVSROOT
¤³¤ì¤Ç userA ¤È userB ¤ÎξÊý¤¬¡¢Á´¥Õ¥¡¥¤¥ë¤ò½¤Àµ¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£¤µ¤é¤Ë Solaris ¤Ê¤É¤Î SystemV ·Ï UNIX ¤Ç¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥ê¤ËÂФ·¤Æ setgid ¥Ó¥Ã¥È¤òΩ¤Æ¤Æ¤ª¤¯¡£
% find $CVSROOT -type d | xargs chmod g+s

setgid ¥Ó¥Ã¥È¤òΩ¤Æ¤ëÍýͳ¤òÀâÌÀ¤¹¤ë¡£CVS ¤Ç¿·µ¬¥Õ¥¡¥¤¥ë¤ò add ¤·¤¿¾ì¹ç¤Îµóư¤ò¹Í¤¨¤è¤¦¡£userA ¤È userB ¤Î¥°¥ë¡¼¥×¤¬°Ê²¼¤Î¤È¤ª¤ê¤Ç¤¢¤ë¤È¤¹¤ë¡£
  • userA ¤Î¥×¥é¥¤¥Þ¥ê¥°¥ë¡¼¥×: groupA¡¢¤½¤Î¾¤Î¥°¥ë¡¼¥×: cvs
  • userB ¤Î¥×¥é¥¤¥Þ¥ê¥°¥ë¡¼¥×: groupB¡¢¤½¤Î¾¤Î¥°¥ë¡¼¥×: cvs
¤½¤·¤Æ°Ê²¼¤Î¤è¤¦¤Ë¡¢¥Ç¥£¥ì¥¯¥È¥ê dir/ ¤Î¥°¥ë¡¼¥×¤¬ cvs¡¢¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤¬ 775 ¤À¤È¤·¤è¤¦¡£
drwxrwxr-x   2 userA     cvs      117  7·î 31Æü  19:20 dir/
¤³¤³¤Ç userB ¤¬ dir/ ¤Î²¼¤Ë¿·¤¿¤Ê¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¤¿¤È¤­¡¢¿·µ¬¥Õ¥¡¥¤¥ë¤Î¥°¥ë¡¼¥×¤Ï¤É¤¦¤Ê¤ë¤À¤í¤¦¤«¡£¤³¤ì¤Ï OS ¤Ë¤è¤Ã¤Æ·ë²Ì¤¬°Û¤Ê¤ë (CVS ¤ËÆÃ²½¤·¤¿ÏäǤϤʤ¯¡¢UNIX °ìÈ̤ÎÏäǤ¢¤ë)¡£
¡üBSD ·Ï UNIX ¤Î¾ì¹ç
drwxrwxr-x   2 userB     cvs      100  7·î 31Æü  19:25 dir/newfile.txt
¢Í ¾å°Ì¥Ç¥£¥ì¥¯¥È¥ê (dir/) ¤Î¥°¥ë¡¼¥× cvs ¤ò°ú¤­·Ñ¤°
¡üSystemV ·Ï UNIX ¤Î¾ì¹ç drwxrwxr-x 2 userB groupB 100 7·î 31Æü 19:25 dir/newfile.txt
¢Í ºîÀ®¼Ô (userB) ¤Î¥×¥é¥¤¥Þ¥ê¥°¥ë¡¼¥× groupB ¤¬¥»¥Ã¥È¤µ¤ì¤ë
CVS ¤òÍøÍѤ¹¤ë¾å¤Ç¹¥¤Þ¤·¤¤¤Î¤Ï BSD ·Ï UNIX ¤ÎÊý¤Ç¤¢¤ë¡£¤Ê¤¼¤Ê¤é¡¢¿·µ¬¥Õ¥¡¥¤¥ë¤Î¥°¥ë¡¼¥×¤¬ cvs ¤È¤Ê¤ë¤¿¤á¡¢userB ¤¬Äɲä·¤¿ dir/newfile.txt ¤ò userA ¤¬ÊÔ½¸¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤«¤é¤À¡£°ìÊý¡¢SystemV ·Ï UNIX ¤Î¾ì¹ç¤Ï¡¢userB ¤¬ºîÀ®¤·¤¿¥Õ¥¡¥¤¥ë¤ò½¤Àµ¤Ç¤­¤ë¤Î¤Ï userB ¤À¤±¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£

¤¿¤À¤· SystemV ·Ï UNIX ¤Ç¤â BSD ¤ÈƱÍÍ¤ÎµóÆ°¤ò¤µ¤»¤ëÊýË¡¤¬¤¢¤ë¡£¤½¤ì¤¬¥Ç¥£¥ì¥¯¥È¥ê¤ËÂФ·¤Æ setgid ¥Ó¥Ã¥È¤òΩ¤Æ¤ëÊýË¡¤Ç¤¢¤ë¡£¤³¤Î¥Ó¥Ã¥È¤òΩ¤Æ¤Æ¤ª¤¯¤È¡¢BSD ¤ÈƱÍͤ˿·µ¬¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤ÎºîÀ®»þ¤Ë¾å°Ì¥Ç¥£¥ì¥¯¥È¥ê¤Î¥°¥ë¡¼¥×¤ò°ú¤­·Ñ¤°¤è¤¦¤Ë¤Ê¤ë¡£setgid ¥Ó¥Ã¥È¤¬Î©¤Ã¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ï¡¢¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤¬¡Ödrwrsx¡×¤È¤Ê¤Ã¤Æ¤¤¤ë¤³¤È¤Ç³Îǧ¤Ç¤­¤ë¡£
% ls -ld dir
drwxrsxr-x   2 userA     cvs      117  7·î 31Æü  19:20 dir/

¤Á¤Ê¤ß¤Ë Linux ¤Ç¤Ï¥Ç¥Õ¥©¥ë¥È¤Ï SystemV ·Ï UNIX ¤ÈƱ¤¸Æ°ºî¤ò¤¹¤ë¤¬ (setgid ¤Ë¤Ä¤¤¤Æ¤âƱÍÍ)¡¢mount ¤Î¥ª¥×¥·¥ç¥ó¤Ç BSD ¤ÈƱ¤¸µóư¤ò¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
>> ÀßÄê¥Õ¥¡¥¤¥ë /etc/group *
>> ¥³¥Þ¥ó¥É chmod *   chgrp *

¡ürsh¡¦ssh¡¦pserver
̤¹Æ¡£

¡üÆü»þ
CVS ¤Ç¤ÏÆü»þ¤ò UTC (¤¤¤ï¤æ¤ë¥°¥ê¥Ë¥Ã¥¸É¸½à»þ) ¤Ç´ÉÍý¤·¤Æ¤¤¤ë¡£cvs log ¤ä cvs status ¤Çɽ¼¨¤µ¤ì¤ëÆü»þ¤Ï UTC ¤Ç¤¢¤ë¡£¤È¤³¤í¤¬ cvs checkout¡¦cvs diff¡¦cvs update ¤Ê¤É¤Î¥µ¥Ö¥³¥Þ¥ó¥É¥ª¥×¥·¥ç¥ó -D ¤Ï¡¢¥í¡¼¥«¥ë¥¿¥¤¥à¤È¤·¤Æ°·¤ï¤ì¤ë¡£

°Ê²¼¡¢¥¿¥¤¥à¥¾¡¼¥ó¤¬ JST ¤Ç¤¢¤ë¤È²¾Äꤹ¤ë¡£
% date
Sun Jul 31 02:57:08 JST 2005
¢Í date ¥³¥Þ¥ó¥É¤Ç¥¿¥¤¥à¥¾¡¼¥ó¤¬ JST ¤È¤Ê¤Ã¤Æ¤¤¤ë
cvs log ¤Î·ë²Ì¤¬°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤¿¤È¤¹¤ë¡£
% cvs log file.txt
----------------------------
revision 1.3
date: 2005/07/30 10:00:00; author: 68user; state: Exp; lines: +1 -0
½¤Àµ¤½¤Î 2
----------------------------
revision 1.2
date: 2005/07/30 05:00:00; author: 68user; state: Exp; lines: +1 -1
½¤Àµ¤½¤Î 1
----------------------------
revision 1.1
date: 2005/07/30 00:00:00; author: 68user; state: Exp; lines: +1 -1
½é´ü¥Ð¡¼¥¸¥ç¥ó
¤³¤Î¤È¤­¥ê¥Ó¥¸¥ç¥ó 1.3 ¤Î¥³¥ß¥Ã¥È»þ¹ï¤Ï¡Ö2005/07/30 10:00:00¡×¤È¤Ê¤Ã¤Æ¤¤¤ë¡£¤·¤«¤·¥ê¥Ó¥¸¥ç¥ó 1.3 ¤ÈÈæ³Ó¤¹¤ë¤Ä¤â¤ê¤Ç
% cvs diff -D "2005/07/30 10:00:00" file.txt
¤È -D ¥ª¥×¥·¥ç¥ó¤ÇÆü»þ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï JST ¤È¤·¤Æ²ò¼á¤µ¤ì¤Æ¤·¤Þ¤¤¡¢UTC ¤Î 2005/07/30 01:00:00 ¤È¤·¤Æ°·¤ï¤ì¤ë¡£¤½¤Î·ë²Ì¡¢¥ê¥Ó¥¸¥ç¥ó 1.3 ¤Ç¤Ï¤Ê¤¯¡¢¥ê¥Ó¥¸¥ç¥ó 1.1 ¤ÈÈæ³Ó¤¹¤ë¤³¤È¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£

CVS ¤Î½ÐÎÏ¤Ï UTC ¤À¤¬¡¢¥æ¡¼¥¶¤ÎÆþÎÏ¤Ï¥í¡¼¥«¥ë¥¿¥¤¥à¤È¤·¤Æ°·¤ï¤ì¤ë¤È¤¤¤¦¤ï¤«¤ê¤Ë¤¯¤¤»ÅÍͤǡ¢¤Ê¤ª¤«¤Ä JST ¤ä UTC ¤Ê¤É¤Î¥¿¥¤¥à¥¾¡¼¥ó¤¬°ìÀÚɽ¼¨¤µ¤ì¤Ê¤¤¤¿¤á¡¢´ª°ã¤¤¤·¤ä¤¹¤¤¡£¤³¤ì¤Ï CVS ¤Î¤Ò¤É¤¤·ç´Ù¤Ç¤¢¤ë¡£Åö¥Ú¡¼¥¸´ÉÍý¿Í¤Î·ëÏÀ¤È¤·¤Æ¤Ï¡ÖÆü»þ¤ËÍê¤ë¤Ê¡¢¥¿¥°¤ò»È¤¨¡×¤Ç¤¢¤ë¡£

¤Ê¤ª¡¢Æü»þɽµ­¤ò JST ¤Ê¤É¤ËÅý°ì¤¹¤ëÊýË¡¤Ï¸ºß¤·¤Ê¤¤ (¾¯¤Ê¤¯¤È¤â cvs-1.11.5 ¤Ç¤Ï)¡£¡Ö¥¿¥¤¥à¥¾¡¼¥ó¤ò¤Þ¤¿¤¬¤ë³«È¯¤ò¤¹¤ë¾ì¹ç¤Ï UTC ¤¸¤ã¤Ê¤¤¤Èº¤¤ë¡×¤È¸À¤¦¿Í¤â¤¤¤ë¤¬¡¢Åö¥Ú¡¼¥¸´ÉÍý¿Í¤¬¤³¤ì¤Þ¤Ç CVS ¤òÍøÍѤ·¤¿´Ä¶­¤Ï¡¢Á´¤Æ JST ¤Ç¤¢¤Ã¤¿¡£¤Á¤Ê¤ß¤Ë cvsweb ¤Ç¤ÏÀßÄê¥Õ¥¡¥¤¥ë¤Ë¤Æ¥¿¥¤¥à¥¾¡¼¥ó¤òÀßÄê¤Ç¤­¤ÆÊØÍø¤Ç¤¢¤ë¡£

¡ü¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ÎÅý°ì
¥Õ¥¡¥¤¥ë¤È¥³¥ß¥Ã¥È¥í¥°¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥° (ʸ»ú¥³¡¼¥É) ¤ÏÅý°ì¤·¤Æ¤ª¤³¤¦¡£¤â¤·¥Õ¥¡¥¤¥ë¤¬ Shift_JIS¡¦¥³¥ß¥Ã¥È¥í¥°¤¬ EUC-JP ¤Ê¤É¤È¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤¬º®ºß¤·¤Æ¤¤¤¿¾ì¹ç¤Ï¡¢CVS Ū¤Ë¤Ï²¿¤éÌäÂê¤Ï¤Ê¤¤¤¬¡¢°·¤¦¿Í´Ö¤Ë¤È¤Ã¤Æ¤Ï´ÉÍý¤·¤Å¤é¤¯¤Ê¤ë¡£

Åö¥Ú¡¼¥¸¤Ç¤ÏÁ´¤Æ¥Õ¥¡¥¤¥ë¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Ï EUC-JP ¤Ë¤·¤Æ¤¤¤ë¡£¤Þ¤¿¡¢¥³¥ß¥Ã¥È»þ¤Ëµ¯Æ°¤¹¤ë¥¨¥Ç¥£¥¿ (emacs) ¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤â EUC-JP ¤È¤·¤Æ¤¤¤ë¤¿¤á¡¢¥³¥ß¥Ã¥È¥í¥°¤â EUC-JP ¤È¤Ê¤ë¡£

¡ü¥µ¥Ö¥³¥Þ¥ó¥É¤ÎÊÌ̾
CVS ¤Ï¥µ¥Ö¥³¥Þ¥ó¥É¤¬Ä¹¤¤¤Î¤Ç¡¢¤¤¤Á¤¤¤Á cvs checktout ¤ä cvs update ¤È¥¿¥¤¥×¤¹¤ë¤Î¤Ï·ë¹½¥À¥ë¤¤¡£¤½¤¦¤¤¤¦¿Í¤Î¤¿¤á¤Ëû¤á¤ÎÊÌ̾¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£
¥µ¥Ö¥³¥Þ¥ó¥É ÊÌ̾ (û½Ì·Ï)
add ad ¤Þ¤¿¤Ï new
admin adm ¤Þ¤¿¤Ï rcs
annotate ann ¤Þ¤¿¤Ï blame
checkout co ¤Þ¤¿¤Ï get
commit ci ¤Þ¤¿¤Ï com
diff di ¤Þ¤¿¤Ï dif
export exp ¤Þ¤¿¤Ï ex
history hi ¤Þ¤¿¤Ï his
import im ¤Þ¤¿¤Ï imp
log lo
login logon ¤Þ¤¿¤Ï lgn
rannotate rann ¤Þ¤¿¤Ï ra
rdiff patch ¤Þ¤¿¤Ï pa
release re ¤Þ¤¿¤Ï rel
remove rm ¤Þ¤¿¤Ï delete
rlog rl
rtag rt ¤Þ¤¿¤Ï rfreeze
status st ¤Þ¤¿¤Ï stat
tag ta ¤Þ¤¿¤Ï freeze
update up ¤Þ¤¿¤Ï upd
version ve ¤Þ¤¿¤Ï ver
ÊÌ̾¤Î¿ô¤Ï¿¤¤¤¬¡¢Åö¥Ú¡¼¥¸´ÉÍý¿Í¤¬»È¤¦¤Î¤Ï cvs co¡¦cvs up¡¦cvs di ¤¯¤é¤¤¤Ç¤¢¤ë¡£¤³¤Î°ìÍ÷¤Ï cvs --help-synonyms ¤Ç³Îǧ¤Ç¤­¤ë¡£¤³¤ì¤Ç¤â²æËý¤Ç¤­¤Ê¤¤¿Í¤Ï¡¢tcsh ¤Î complete ¥³¥Þ¥ó¥É¤Ç¤¬¤ó¤Ð¤Ã¤ÆÊä´°¤ÎÄêµÁ¤ò¤·¤è¤¦¡£
>> ¥³¥Þ¥ó¥É complete *

¡ü¥Ø¥ë¥×
Á´ÂΤΥª¥×¥·¥ç¥ó¤òɽ¼¨
% cvs --help
¶¦ÄÌ¥ª¥×¥·¥ç¥ó°ìÍ÷¤òɽ¼¨
% cvs --help-options
¥µ¥Ö¥³¥Þ¥ó¥É°ìÍ÷¤òɽ¼¨
% cvs --help-commands
¥µ¥Ö¥³¥Þ¥ó¥É¤Îû½Ì·Á°ìÍ÷¤òɽ¼¨
% cvs --help-synonyms
¥µ¥Ö¥³¥Þ¥ó¥É¤Î½ñ¼° (¥µ¥Ö¥³¥Þ¥ó¥É¥ª¥×¥·¥ç¥ó¤È¥µ¥Ö¥³¥Þ¥ó¥É°ú¿ô) ¤òɽ¼¨
% cvs [¥µ¥Ö¥³¥Þ¥ó¥É] --help

¥Ø¥ë¥×¥ª¥×¥·¥ç¥ó¼«ÂΤˤâû½Ì·Á¤¬¤¢¤ê¡¢¾åµ­¤Î¥Ø¥ë¥×¤Ï¤½¤ì¤¾¤ì
% cvs --h
% cvs --help-o
% cvs --help-c
% cvs --help-s
% cvs [¥µ¥Ö¥³¥Þ¥ó¥É] -h
¤È¤·¤Æ¤â¤è¤¤¡£

¡ü¥­¡¼¥ï¡¼¥ÉÃÖ´¹
̤¹Æ¡£

¡ü¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ë
CVS ¤Ï¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ë¤Î°·¤¤¤¬¤Á¤ç¤Ã¤È¶ì¼ê¤Ç¤¢¤ë¡£¤Ê¤¼¤Ê¤é¡¢¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ëÃæ¤Ë¤¿¤Þ¤¿¤Þ $Id ¤ä $Log ¤Ê¤É¤Î¥­¡¼¥ï¡¼¥É¤¬Æþ¤Ã¤Æ¤¤¤¿¾ì¹ç¡¢¥­¡¼¥ï¡¼¥ÉÃÖ´¹¤¬¹Ô¤ï¤ì¤ë¤«¤é¤Ç¤¢¤ë¡£¤Û¤È¤ó¤É¤Î²èÁü¥Õ¥¡¥¤¥ë¤Ê¤É¤Ï¡¢$Id ¤ÈƱ¤¸¥³¡¼¥É¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤³¤È¤Ï¤Þ¤º¤Ê¤¤¤Î¤Ç¡¢¤è¤Û¤É±¿¤¬°­¤¯¤Ê¤±¤ì¤ÐËÜÅö¤Ë¥­¡¼¥ï¡¼¥ÉÃÖ´¹¤¬¹Ô¤ï¤ì¤ë¤³¤È¤Ï¤Ê¤¤¡£

¤·¤«¤·Ç°¤Î¤¿¤á¡Ö¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ë¤Ê¤Î¤Ç¥­¡¼¥ï¡¼¥ÉÃÖ´¹¤Ï¤·¤Ê¤¤¤³¤È¡×¤È¤¤¤¦¥Þ¡¼¥¯¤òÉÕ¤±¤Æ¤ª¤³¤¦¡£cvs add ¤ÎºÝ¤Ë -kb ¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤ë¤³¤È¤Ç¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ë¤Î¥Þ¡¼¥¯¤¬ÉÕ¤±¤é¤ì¤ë¡£
% cvs add -kb newimage.jpg
¤³¤Î¥Þ¡¼¥¯¤Ï¡¢cvs status ¤Ç³Îǧ¤Ç¤­¤ë¡£
% cvs status newimage.jpg
File: newimage.jpg      Status: Up-to-date

   Working revision:    1.1     Sun Jul 31 09:01:31 2005
      Repository revision: 1.1     /home/68user/cvsroot/hello/newimage.jpg,v
      Sticky Tag:          (none)
      Sticky Date:         (none)
      Sticky Options:      -kb (¡ú¤³¤³)
cvs add »þ¤Ë -kb ¤òÉÕ¤±Ëº¤ì¤Æ¥³¥ß¥Ã¥È¤·¤Æ¤·¤Þ¤Ã¤¿¾ì¹ç¤Ï¡¢¸å¤«¤é cvs admin ¤Ç -kb ¤òÄɲäǤ­¤ë¡£
% cvs admin -kb newimage.png
RCS file: /home/68user/cvsroot/hello/newimage.png,v
done
admin -kb ¤Ç½¤Àµ¤µ¤ì¤ë¤Î¤Ï¥ê¥Ý¥¸¥È¥ê¦¤À¤±¤Ê¤Î¤Ç¡¢¼ê¸µ¤Î¥Õ¥¡¥¤¥ë¤Ï¤Þ¤À¥­¡¼¥ï¡¼¥ÉÃÖ´¹¤¬¹Ô¤ï¤ì¤¿¥Õ¥¡¥¤¥ë¤Ç¤¢¤ë (¤â¤·¥­¡¼¥ï¡¼¥É¤¬´Þ¤Þ¤ì¤Æ¤¤¤ì¤Ð)¡£¥¹¥Æ¡¼¥¿¥¹¤¬¡ÖNeeds Checkout¡×¤Ë¤Ê¤ë¤Î¤Ç¡¢
% cvs update newimage.png
¤È¤·¤Æ¥­¡¼¥ï¡¼¥ÉÃÖ´¹¤òÍ޻ߤ·¤¿¥Õ¥¡¥¤¥ë¤ò¼èÆÀ¤·¤Ê¤ª¤¹¤³¤È¡£¥­¡¼¥ï¡¼¥ÉÃÖ´¹¤Ï¡¢¥³¥ß¥Ã¥È»þ¤Ë¹Ô¤ï¤ì¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢¥Õ¥¡¥¤¥ë¼èÆÀ»þ (checkout¡¦update) ¤Ë¹Ô¤ï¤ì¤ë¤Î¤Ç¡¢¤³¤ì¤ÇÀµ¤·¤¤¥Õ¥¡¥¤¥ë¤ò¼èÆÀ¤Ç¤­¤ë¡£

¤È¤Ï¤¤¤¨¡¢¥Õ¥¡¥¤¥ë¤òÄɲ乤ëºÝ¤Ë -kb ¤òÉÕ¤±¤ë¤Î¤Ç¤Ï¤¤¤Ä¤«¥ß¥¹¤¬µ¯¤­¤½¤¦¤Ç¤¢¤ë¡£¤½¤³¤Ç CVSROOT/cvswrappers ¤Ë¡Ö¤³¤Î³ÈÄ¥»Ò¤Ï¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ë¡×¤Èµ­½Ò¤·¤Æ¤ª¤±¤Ð¡¢¾¡¼ê¤Ë¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ë¤È¤·¤Æ¥­¡¼¥ï¡¼¥ÉÃÖ´¹¤¬Í޻ߤµ¤ì¤ë¡£
% cd work (ŬÅö¤Êºî¶È¾ì½ê¤Ë°Üư)
% cvs checkout CVSROOT
cvs checkout: Updating CVSROOT
U CVSROOT/checkoutlist
U CVSROOT/commitinfo
U CVSROOT/config
U CVSROOT/cvswrappers
U CVSROOT/editinfo
U CVSROOT/loginfo
U CVSROOT/modules
U CVSROOT/notify
U CVSROOT/rcsinfo
U CVSROOT/taginfo
U CVSROOT/verifymsg
% cd CVSROOT
¤È¤·¤Æ¡¢cvswrappers ¤Ë°Ê²¼¤Î¹Ô¤òÄɲ乤롣
*.gif -k 'b'
*.jpg -k 'b'
*.png -k 'b'
ºÇ¸å¤Ë¥³¥ß¥Ã¥È¤ò˺¤ì¤º¤Ë¡£
% cvs commit -m '*.{gif,jpg,png} ¤Ï¥­¡¼¥ï¡¼¥ÉÃÖ´¹¤òÍÞ»ß' cvswrappers

¡ü¥ê¥Ý¥¸¥È¥ê¤Î¥³¥Ô¡¼
̤¹Æ (repocoy ¤·¤¿¸å¤Ï¥¿¥°¤ò³°¤¹¤Î¤ò˺¤ì¤º¤Ë)¡£

¡ü¥ê¥Ý¥¸¥È¥ê¤Î°Üư
̤¹Æ¡£

¡ü¥Õ¥¡¥¤¥ë¤ò¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤ËÌ᤹
̤¹Æ (¥í¡¼¥ë¥Ð¥Ã¥¯Åª¤Ê¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£¸Å¤¤¥Õ¥¡¥¤¥ë¤ò»ý¤Ã¤Æ¤­¤Æ¥³¥ß¥Ã¥È¤¹¤ë¤³¤È)¡£

¡üCVS ¤ÎÊä½õ¥Ä¡¼¥ë¤¿¤Á
¡ücvsweb
cvsweb ¤Ï¡¢web ¾å¤«¤é CVS ¥ê¥Ý¥¸¥È¥ê¤ò±ÜÍ÷¤¹¤ë¥Ä¡¼¥ë (CGI ¥×¥í¥°¥é¥à) ¤Ç¤¢¤ë¡£¤¢¤¯¤Þ¤Ç±ÜÍ÷¤¬¤Ç¤­¤ë¤À¤±¤Ç¡¢web ¾å¤«¤é¥³¥ß¥Ã¥È¤Ê¤É¤ÎÁàºî¤Ï¹Ô¤¨¤Ê¤¤¡£cvsweb ¤Ë¤Ï¤¤¤í¤¤¤í¤Ê¥Ð¡¼¥¸¥ç¥ó¤¬¤¢¤ë¤¬¡¢Åö¥Ú¡¼¥¸´ÉÍý¿Í¤Ï°Ê²¼¤Î¤è¤¦¤Ëǧ¼±¤·¤Æ¤¤¤ë¡£
  • Fenner »á¤¬ºÇ½é¤Ë cvsweb ¤ò³«È¯¤·¤¿
  • Zella »á¤¬²þÎɤ·¤¿ (annotate µ¡Ç½¡¦¿§ÉÕ¤­ diff ¤Ê¤É)
  • knu »á¤¬ Zella »á¤Ëµ¡Ç½²þÁ±¤Î¥Ñ¥Ã¥Á¤òÁ÷¤Ã¤¿¤¬Á´¤¯ºÎÍѤ·¤Æ¤¯¤ì¤Ê¤¤¤Î¤Ç¡¢fork ¤·¤Æ knu-cvsweb ¤òºî¤Ã¤¿
  • ¤½¤Î·ë²Ì¡¢Zella-cvsweb ¤È knu-cvsweb ¤¬Ê¹Ԥ·¤Æ³«È¯¤µ¤ì¤Æ¤¤¤¿
  • knu-cvsweb ¤Ï FreeBSD-cvsweb ¤Ë̾¾ÎÊѹ¹ (FreeBSD-cvsweb 2.0 ¤«¤é¥¹¥¿¡¼¥È)
  • Zella-cvsweb ¤Ï¼Â¼ÁŪ¤Ë³«È¯Ää»ß
  • ¸½ºß¤Ï knu »á¤Ï FreeBSD-cvsweb ¤«¤é¼ê¤ò°ú¤­¡¢FreeBSD CVSWeb Project ¤¬³«È¯¤ò³¤±¤Æ¤¤¤ë¡£FreeBSD-cvsweb 3.0 ¤¢¤¿¤ê¤¬ºÇ¿·ÈÇ

Åö¥Ú¡¼¥¸¤Ç»ÈÍѤ·¤Æ¤¤¤ë cvsweb
¤Ï knu-cvsweb-1.105.1.65 ¤Ç¤¢¤ë (knu-cvsweb ¤Î 1.65 ¤Ç¡¢fork »þÅÀ¤«¤é Zella-cvsweb-1.105 ¤Þ¤Ç¤Îµ¡Ç½¤ò¤È¤êÆþ¤ì¤¿¤â¤Î)¡£

cvsweb.cgi ¤È cvsweb.conf ¤òÃÖ¤¤¤ÆÅ¬Åö¤Ë½¤Àµ¤¹¤ì¤Ðư¤¯¡£Åö¥Ú¡¼¥¸´ÉÍý¿Í¤¬½¤Àµ¤·¤¿Éôʬ¤Ï°Ê²¼¤Î¤È¤ª¤ê (¥á¥Ã¥»¡¼¥¸¤ÎÆüËܸ첽¤â´Þ¤à)¡£
½¤ÀµÍýͳ¤â½ñ¤¤¤¿¤Î¤Ç¡¢Å¬Åö¤Ë½¦¤Ã¤Æ¤¤¤Ã¤Æ¤Û¤·¤¤¡£
¤Ê¤ª¡¢cvsweb ¤Ï¥í¡¼¥«¥ë¤Ë¥ê¥Ý¥¸¥È¥ê¤¬¤Ê¤¤¤Èưºî¤·¤Ê¤¤ (rsh¡¦ssh¡¦pserver ·Ðͳ¤Ç¤Ï¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤)¡£¥ê¥Ý¥¸¥È¥ê¤ÈƱ¤¸¥Þ¥·¥ó¤Ç cvsweb ¤òư¤«¤¹¤«¡¢Äê´üŪ¤Ë¥ê¥Ý¥¸¥È¥ê¤ò¥³¥Ô¡¼¤¹¤ë»ÅÁȤߤòºî¤ë¤³¤È¡£

¤Á¤Ê¤ß¤ËƱ¼ï¤Î web ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤È¤·¤Æ ViewCVS ¤È¤¤¤¦¤Î¤â¤¢¤ë¡£cvsweb ¤È¤Îµ¡Ç½Åª¤Êº¹°ã¤Ï¤Û¤È¤ó¤É¤Ê¤¤¤È»×¤ï¤ì¤ë¤¬¡¢cvsweb ¤Ï Perl ¤Ç¡¢ViewCVS ¤Ï Python ¤Çµ­½Ò¤µ¤ì¤Æ¤¤¤ë¤È¤³¤í¤¬Â礭¤Ê°ã¤¤¤À¤í¤¦¤«¡£

¡ücvsgraph
web ¾å¤Ç¥ê¥Ý¥¸¥È¥ê¤Îʬ´ô¾õ¶·¤Ê¤É¤ò¥°¥é¥Õɽ¼¨¤¹¤ë¥Ä¡¼¥ë¡£¥Ö¥é¥ó¥Á¤òƳÆþ¤·¤Æ¤¤¤Ê¤¤¤Ê¤é¤¢¤Þ¤ê°ÕÌ£¤¬¤Ê¤¤¡£¤Þ¤¿¡¢³«È¯´ü´Ö¤¬Ä¹¤¯¤Ê¤ë¤È²èÁü¤¬Â礭¤¯¤Ê¤ê¤¹¤®¤Æ¤¤¤Þ¤¤¤Á¸«¤Å¤é¤¤¡£
perl ¥¹¥¯¥ê¥×¥È¤Ê¤Î¤Ç¡¢GD ¥â¥¸¥å¡¼¥ë¤òŬÅö¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ì¤Ðư¤¯¡£cvsweb ¤«¤é¥ê¥ó¥¯¤òÄ¥¤ê¤¿¤¤¾ì¹ç¤Ï¡¢FreeBSD-cvsweb 3.0 ¤¢¤¿¤ê¤Ê¤é cvsweb.conf ¤ÎÀßÄêÊѹ¹¤Ç OK¡£

¡üSandWeb
cvsweb ¤ä ViewCVS ¤Ï¥ê¥Ý¥¸¥È¥ê¤ò±ÜÍ÷¤¹¤ë¤À¤±¤À¤¬¡¢SandWeb ¤Ï web ¾å¤«¤é cvs ¤Î¤¹¤Ù¤Æ¤ÎÁàºî¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤ë¡£¤¿¤À¤·¡¢»È¤¤¤â¤Î¤Ë¤Ê¤ë¤«¤É¤¦¤«¤ÏÃΤé¤Ê¤¤ (»È¤Ã¤¿¤³¤È¤¬¤Ê¤¤)¡£SandWeb ¤Ï Cvswebclient ¤Î¸å·Ñ¥×¥í¥¸¥§¥¯¥È¤Î¤è¤¦¤À¡£
>> ¥³¥Þ¥ó¥É CVS¥Á¥å¡¼¥È¥ê¥¢¥ë´ðÁÃÊÔ *   CVS¥Á¥å¡¼¥È¥ê¥¢¥ë±þÍÑÊÔ *   CVS±¿ÍÑÊÔ *

CVS±¿ÍÑÊÔ¡¡CVS ¤ò¤ª»Å»ö¤Ê¥×¥í¥¸¥§¥¯¥È¤ËƳÆþ¤¹¤ë¤Ë¤Ï

¼êºî¶È¤Ç¥ê¥ê¡¼¥¹´ÉÍý¤ò¹Ô¤Ã¤Æ¤¤¤ë¥×¥í¥¸¥§¥¯¥È¤Ë¡¢CVS ¤òƳÆþ¤¹¤ëºÝ¤Î¥Î¥¦¥Ï¥¦¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë¡£¤Ê¤ª¡¢Åö¥Ú¡¼¥¸´ÉÍý¿Í¤Ï¶È̳·Ï¤Ê¿Í´Ö¤Ê¤Î¤Ç¡¢¾¯¡¹ÆâÍÆ¤ËÊФ꤬¤¢¤ë¤È»×¤ï¤ì¤ë¡£CVS ¼«ÂΤÎÀâÌÀ¤Ï¡¢¥Á¥å¡¼¥È¥ê¥¢¥ëÊÔ¤ò»²¾È¤Î¤³¤È¡£
>> ¥³¥Þ¥ó¥É CVS¥Á¥å¡¼¥È¥ê¥¢¥ë´ðÁÃÊÔ *   CVS¥Á¥å¡¼¥È¥ê¥¢¥ë±þÍÑÊÔ *

À¤¤ÎÃæ¤Ë¤Ï¶Ã¤¯¤Û¤É¸å¿ÊŪ¤Ê¥×¥í¥¸¥§¥¯¥È¤¬¤¿¤¯¤µ¤ó¸ºß¤¹¤ë¤â¤Î¤Ç¤¢¤ë¡£
  • ¥½¡¼¥¹¤Î¥Þ¥¹¥¿¤¬¤Ê¤¤
  • ³«È¯´Ä¶­¤È¾¦ÍѴĶ­¤Ç¥½¡¼¥¹¤Ëº¹°ã¤¬¤¢¤ë (¥Þ¥¹¥¿¤â¤Ê¤¤¤Î¤Ç¡¢¤É¤Á¤é¤¬Àµ¤·¤¤¤«¤ï¤«¤é¤Ê¤¤)
  • ²áµî¤Î¥½¡¼¥¹¤¬Êݸ¤µ¤ì¤Æ¤¤¤Ê¤¤ (Àøºß¥Ð¥°¤¬È¯³Ð¤·¤¿¤È¤­¡¢¤³¤Î¥Ð¥°¤Ï¤¤¤Ä¤«¤é¸ºß¤·¤¿¤Î¤«Åú¤¨¤é¤ì¤Ê¤¤)
  • 郎½¤Àµ¤·¤¿¤Î¤«¤ï¤«¤é¤Ê¤¤
  • ¾¦ÍѴĶ­¤Ê¤É¤Ø¤Î¥ê¥ê¡¼¥¹ºî¶È¤Ï½¤Àµ¤·¤¿¥Õ¥¡¥¤¥ë¤ò¼êºî¶È¤Ç½¦¤¤¤À¤·¡¢¥Õ¥¡¥¤¥ë¤ò¤Ò¤È¤Ä¤º¤Ä FTP ¤ÇžÁ÷¤¹¤ë
±¿°­¤¯¤³¤Î¤è¤¦¤Ê¥×¥í¥¸¥§¥¯¥È¤Ë´Ø¤ï¤Ã¤Æ¤·¤Þ¤Ã¤¿¾ì¹ç¤Ï¡¢CVS ¤òƳÆþ¤·¤Æ¤Þ¤È¤â¤Ê¥×¥í¥¸¥§¥¯¥È¤ËÊѤ¨¤Æ¤¤¤³¤¦¡£

¡üÌäÂêÄóµ¯
ÂçÄñ¤Î¥×¥í¥¸¥§¥¯¥È¤Ç¤Ï¡¢³«È¯´Ä¶­¤È¾¦ÍѴĶ­¤¬Ê¬¤«¤ì¤Æ¤¤¤ë¤À¤í¤¦¡£¤Þ¤º¤Ï³«È¯´Ä¶­¤È¾¦ÍѴĶ­¤Î¥½¡¼¥¹¤ò diff ¥³¥Þ¥ó¥É¤ò»È¤Ã¤ÆÈæ³Ó¤·¤Æ¤ß¤è¤¦¡£³«È¯´Ä¶­¤Î¥½¡¼¥¹¤ò¼êºî¶È¤Ç¾¦ÍѴĶ­¤Ë¥ê¥ê¡¼¥¹¤·¤Æ¤¤¤ë¤è¤¦¤Ê¥×¥í¥¸¥§¥¯¥È¤Ç¤Ï¡¢¤Þ¤º´Ö°ã¤¤¤Ê¤¯¥½¡¼¥¹¤Ëº¹°ã¤¬È¯À¸¤·¤Æ¤¤¤ë¤À¤í¤¦¡£º¹°ã¤ò¸«¤Ä¤±¤¿¤é¡¢¡Ö¤³¤ì¤ÏÌäÂê¤À¡×¡ÖCVS ¤Ç´ÉÍý¤¹¤ë¤³¤È¤Ç²ò·è¤Ç¤­¤ë¡×¤È¥¢¥Ô¡¼¥ë¤·¤è¤¦¡£

¤â¤·¥½¡¼¥¹¤Îº¹°ã¤¬Á´¤¯¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥½¡¼¥¹´ÉÍý¼Ô¤¬Èó¾ï¤ËÍ¥½¨¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£¤½¤Î¾ì¹ç¤Ï²ÔƯ¹©¿ôºï¸º¤òÁÀ¤¤¤Ë¤¹¤ë¡£Î㤨¤Ð¥½¡¼¥¹´ÉÍý¼Ô¤¬ 1¿Í¤¤¤Æ¡¢½¤Àµ¤·¤¿¤¤¾ì¹ç¤Ï°Ê²¼¤Î¤è¤¦¤Ê¼ê½ç¤òƧ¤ó¤Ç¤¤¤ë¤È¤¹¤ë¡£
  • ¥½¡¼¥¹³«Êü°ÍÍê½ñ (Excel ¥·¡¼¥È) ¤Ë½¤ÀµÂоݥ½¡¼¥¹Ì¾¡¦½¤ÀµÍýͳ¡¦½¤Àµ¼Ô¡¦ÆüÉÕ¤òµ­½Ò¤¹¤ë¡£
  • ¥½¡¼¥¹´ÉÍý¼Ô¤¬¥½¡¼¥¹³«Êü°ÍÍê½ñ¤ò³Îǧ¤·¡¢ºÇ¿·¥½¡¼¥¹¤ò½¤Àµ¼Ô¤ËÁ÷ÉÕ
  • ½¤Àµ¼Ô¤¬¥½¡¼¥¹¤ò½¤Àµ¤·¡¢¥½¡¼¥¹´ÉÍý¼Ô¤ËÁ÷ÉÕ
  • ¥½¡¼¥¹´ÉÍý¼Ô¤Ï½¤ÀµÈÇ¥½¡¼¥¹¤ò¥Þ¥¹¥¿¤Ë³ÊǼ
1²ó¤¢¤¿¤ê²¿Ê¬¤¯¤é¤¤¤«¤«¤Ã¤Æ¡¢1¥õ·î¤Ç²¿»þ´Ö¤Î̵Â̤¬È¯À¸¤·¤Æ¤¤¤ë¤«·×»»¤·¡¢¡ÖCVS ¤Ê¤é¼Á¤òÍî¤È¤µ¤º¤Ë²ÔƯ¤òºï¸º¤Ç¤­¤Þ¤¹¡×¤È¥¢¥Ô¡¼¥ë¤·¤è¤¦¡£

¡ü¥ê¥Ý¥¸¥È¥êºîÀ®
¤Þ¤º¤Ï¥ê¥Ý¥¸¥È¥ê¤Ë¥¤¥ó¥Ý¡¼¥È¤¹¤ë¥½¡¼¥¹¤ò·è¤á¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£³«È¯´Ä¶­¤È¾¦ÍѴĶ­¤«¤é¼èÆÀ¤·¤¿¥½¡¼¥¹¤Ç¡¢º¹°ã¤¬¤¢¤ë¤â¤Î¤ò¥ê¥¹¥È¥¢¥Ã¥×¤·¡¢¤É¤Á¤é¤¬Àµ¤·¤¤¤«¤ò·èÄꤹ¤ë¡£¤Þ¤¿¡¢¤É¤ì¤¬É¬Íפʥե¡¥¤¥ë¤Ç¡¢¤É¤ì¤¬ÉÔÍפʥե¡¥¤¥ë¤«¤òÁªÊ̤¹¤ë¡£

¡ü¥í¡¼¥«¥ë¥ë¡¼¥ëºöÄê
CVS ¤ò»ÈÍѤ¹¤ë¾å¤Ç¤Î¥×¥í¥¸¥§¥¯¥ÈÆâ¤Î¥í¡¼¥«¥ë¥ë¡¼¥ë¤òºöÄꤹ¤ë¡£ºÇÄã¸Â¡¢°Ê²¼¤Î¤³¤È¤òÌÀµ­¤·¤Æ¤ª¤¯¤³¤È¡£
¡üºî¶È¾ì½ê
ºÇ¤â˾¤Þ¤·¤¤¤Î¤Ï¥á¥ó¥ÐÁ´°÷¤Î¥¢¥«¥¦¥ó¥È¤òºîÀ®¤·¡¢
/home/member1/work/src/
/home/member2/work/src/
/home/member3/work/src/
/home/member4/work/src/
¤Ê¤É¤È³Æ¥á¥ó¥Ð¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë¥½¡¼¥¹¤ò¥Á¥§¥Ã¥¯¥¢¥¦¥È¤·¤Æ¡¢³«È¯ºî¶È¤ò¹Ô¤¦ÊýË¡¤Ç¤¢¤ë¡£¤â¤·¡Ö¥×¥í¥°¥é¥à¤òư¤«¤¹¤Ë¤Ïɬ¤º /home/proj/ ¤Î²¼¤Ë¥Õ¥¡¥¤¥ë¤òÃÖ¤¯É¬Íפ¬¤¢¤ë¡×¤Ê¤É¤Î¾ì¹ç¤Ï¡¢¤¤¤Á¤¤¤Á¥³¥ß¥Ã¥È¤·¤Ê¤¤¤Èưºî³Îǧ¤¬¤Ç¤­¤Ê¤¤¤¿¤áºî¶È¸úΨ¤¬Äã²¼¤·¤Æ¤·¤Þ¤¦¡£¤³¤Î¤è¤¦¤Ê¤È¤­¤ÏÂŶ¨°Æ¤È¤·¤Æ
/home/proj/src/
¤Î²¼¤ò¶¦Í­¤Îºî¶È¾ì½ê¤È¤·¤Æ¤â¤è¤¤¡£

¡üôÅö³ä¤ÎÌÀ³Î²½
¤¢¤ë¥½¡¼¥¹¤ò½¤Àµ¤¹¤ëôÅö¼Ô¤Ïɬ¤º 1¿Í¤Ë¤·¤è¤¦¡£¤Ç¤­¤ì¤Ð¡¢°Ê²¼¤Î¤è¤¦¤Ë¥Ç¥£¥ì¥¯¥È¥êñ°Ì¤ÇôÅö¼Ô¤ò·è¤á¤Æ¤ª¤­¡¢Á´°÷¤Ë¼þÃΤ·¤Æ¤ª¤¯¤³¤È¡£
/home/proj/src/program1/ ¡Ä A ¤µ¤ó
/home/proj/src/program2/ ¡Ä B ¤µ¤ó
/home/proj/src/program3/ ¡Ä C ¤µ¤ó
CVS ¤ÏÊ£¿ô¿Í¤Ç¤Îºî¶È¤¬²Äǽ¤Ç¤¢¤ë¤â¤Î¤Î¡¢Ê£¿ô¿Í¤ÇƱ¤¸¥½¡¼¥¹¤ò½¤Àµ¤¹¤ë¤³¤È¼«ÂΤ¬¥ß¥¹¤Î¸µ¤Ç¤¢¤ë¡£¤Ç¤­¤ë¤À¤±¤Ò¤È¤Ä¤Îµ¡Ç½¤òôÅö¤¹¤ë¤Î¤Ï¤Ò¤È¤ê¤À¤±¤Ë¤·¤è¤¦¡£

¡ücvs diff ¤Ç¤Î³Îǧ
¥³¥ß¥Ã¥ÈÁ°¤Ëɬ¤º cvs diff ¤Ç½¤ÀµÅÀ¤ò³Îǧ¤¹¤ë¤è¤¦Å°Ä줵¤»¤è¤¦¡£¥¨¥Ç¥£¥¿¤ÎÁàºî¥ß¥¹¤Ë¤è¤ë°Õ¿Þ¤»¤Ì½¤Àµ¤ä¡¢¥Æ¥¹¥ÈÍÑ¥³¡¼¥É¤ÎÌᤷ˺¤ì¤¬¤Ê¤¤¤«¤ò³Îǧ¤Ç¤­¤ë¡£¤Þ¤¿¡¢Windows ¾å¤Î¥¨¥Ç¥£¥¿¤Ç¥½¡¼¥¹¤òºîÀ®¤·¤Æ ffftp ¤Ê¤É¤Ç UNIX ¥Þ¥·¥ó¤ËžÁ÷¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤ª¤³¤ê¤¬¤Á¤Ê°Ê²¼¤Î¥ß¥¹¤Ë¤âµ¤¤Å¤¯¤³¤È¤¬¤Ç¤­¤ë¡£
  • ¥¨¥Ç¥£¥¿¤Î¥¿¥ÖÀßÄê¤Î°ã¤¤¤Ë¤è¤ê¡¢Á´¤Æ¤Î¹Ô¤Î¥¿¥Ö¤¬¥¹¥Ú¡¼¥¹¤ËÊÑ´¹¤µ¤ì¤Æ¤·¤Þ¤Ã¤¿
  • FTP žÁ÷»þ¤Ë¥¢¥¹¥­¡¼¥â¡¼¥É¤È¥Ð¥¤¥Ê¥ê¥â¡¼¥É¤ò´Ö°ã¤¨¡¢²þ¹Ô¥³¡¼¥É CR+LF ¤Î¤Þ¤Þ UNIX ¥Þ¥·¥ó¤ËžÁ÷¤·¤Æ¤·¤Þ¤Ã¤¿
  • ¡ÖȾ³Ñ¥«¥Ê¢ªÁ´³Ñ¥«¥Ê¡×ÊÑ´¹¤Îµ¡Ç½¤ò»ÈÍѤ·¤Æ¤·¤Þ¤¤¡¢¥½¡¼¥¹Ãæ¤ÎȾ³Ñ¥«¥Ê¤¬Á´¤ÆÁ´³Ñ¥«¥Ê¤ËÊѤï¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£
¤¯¤É¤¤¤è¤¦¤À¤¬¡¢¤³¤ì¤òÁ´¥á¥ó¥Ð¤ËŰÄ줹¤ì¤Ð¤«¤Ê¤ê¤Î¥³¡¼¥Ç¥£¥ó¥°¥ß¥¹¤Ïºï¸º¤Ç¤­¤ë¡£cvs diff ¤ÏÌÌÅݤʺî¶È¤Ç¤Ï¤Ê¤¯¡¢¤Ä¤Þ¤é¤Ê¤¤¥ß¥¹¤ò»öÁ°¤Ëȯ¸«¤Ç¤­¤ëÊØÍø¤Êµ¡Ç½¤Ç¤¢¤ë¤³¤È¤òÀëÅÁ¤·¤è¤¦¡£

¡ü¥³¥ß¥Ã¥È¤Î¥¿¥¤¥ß¥ó¥°
̤¹Æ (¥½¡¼¥¹¤Î¥³¥ó¥Ñ¥¤¥ë¤¢¤ë¤¤¤Ïưºî³Îǧ¤ò³Îǧ¤·¤Æ¤«¤é¥³¥ß¥Ã¥È¤¹¤ë¤³¤È¡¢¤Ê¤É)¡£

¡ü¥³¥ß¥Ã¥È¥í¥°
¥³¥ß¥Ã¥È¤ÎºÝ¤ËÆþÎϤ¹¤ë¥í¥° (¥á¥Ã¥»¡¼¥¸) ¤Îµ­½ÒÆâÍÆ¡£½¤ÀµÍýͳ¤Ïɬ¿Ü¡£¤Ç¤­¤ì¤Ð½¤Àµ³µÍפ⵭½Ò¤¹¤ë¡£¤â¤·½¤Àµ³µÍפòµ­Æþ¤·¤Ê¤¯¤Æ¤â¡¢¸å¤«¤é¥½¡¼¥¹¤Î diff ¤ò¸«¤ì¤Ð½¤ÀµÅÀ¤ÏÇİ®¤Ç¤­¤ë¡£¤·¤«¤·½¤ÀµÍýͳ¤Ï¥½¡¼¥¹¤ò¸«¤Æ¤â¤ï¤«¤é¤Ê¤¤¤Î¤Ç¡¢½¤ÀµÍýͳ¤ÎÊý¤¬Í¥ÀèÅÙ¤¬¹â¤¤¡£
Îã1. hoge Ãͤμ«Æ°ÊäÀµµ¡Ç½¤Ïº£²ó¤Î³«È¯¤Çºï½ü¤¹¤ëͽÄê¤À¤Ã¤¿¤¬¡¢¤³¤ì¤òºï½ü¤¹¤ë¤È fuga Ãͤ˱ƶÁ¤¬µÚ¤Ö¤³¤È¤¬È¯³Ð¤·¤¿¤¿¤á¡¢ºï½ü¤ò¼è¤ê»ß¤á¤ë (»ÅÍÍÊѹ¹)¡£
¢Í ½¤ÀµÍýͳ¤¬½ñ¤¤¤Æ¤¢¤ë¤Î¤¬¤è¤¤¡£
Îã2: hoge ¥Õ¥é¥°¤¬ 1 ¤Î¾ì¹ç¤Ï fuga ¥Õ¥é¥°¤ò 2 ¤Ë¥»¥Ã¥È¤¹¤ë¤è¤¦½¤Àµ¡£
¢Í ½¤Àµ³µÍפϽñ¤¤¤Æ¤¢¤ë¤â¤Î¤Î¡¢¤Ê¤¼¤³¤Î½¤Àµ¤ò¹Ô¤Ã¤¿¤«¤¬¤ï¤«¤é¤Ê¤¤¡£
Îã3: bugid:4432 Âбþ
¢Í ÊÌÅӥХ°´ÉÍý¤ò¤·¤Æ¤¤¤ë¤Ê¤é¡¢°ì°Õ¤ËÆÃÄê¤Ç¤­¤ë´ÉÍýÈÖ¹æ¤òµ­½Ò¤¹¤ë¤À¤±¤Ç¤â¤è¤¤¡£
CVS ¤Ï郎¥³¥ß¥Ã¥È¤·¤¿¤«¤¬µ­Ï¿¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤¬¡¢Á´¥á¥ó¥Ð¤¬Æ±¤¸¥¢¥«¥¦¥ó¥È¤ò»ÈÍѤ·¤Æ¤¤¤¿¤ê¡¢Â¾¥µ¡¼¥Ð¤Ë¥ê¥Ý¥¸¥È¥ê¤òÃÖ¤¤¤Æ¡¢rsh ¤ä ssh ¤ò·Ðͳ¤·¤Æ¥³¥ß¥Ã¥È¤¹¤ë¾ì¹ç¤ËƱ¤¸¥¢¥«¥¦¥ó¥È¤Ç¥í¥°¥¤¥ó¤·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢½¤Àµ¼Ô¤¬Á´¤ÆÆ±¤¸¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£¤³¤Î¤è¤¦¤Ê¤È¤­¤Ï¡¢¤Á¤ç¤Ã¤ÈÌÌÅݤÀ¤¬¥³¥ß¥Ã¥È¥í¥°¤Ë½¤Àµ¼Ô¤òÌÀµ­¤·¤è¤¦¡£
Îã: ¡Á¤Î¤¿¤á½¤Àµ by 68user

¡ü¥Þ¥Ë¥å¥¢¥ëºîÀ®
CVS ¤òÍøÍѤ¹¤ë¾å¤Ç¤Î¥Þ¥Ë¥å¥¢¥ë¤òºîÀ®¤¹¤ë¡£¡Öweb ¸«¤í¡×¡Öman ÆÉ¤á¡×¤È¸À¤¤¤¿¤¤¤Î¤ò¤°¤Ã¤È¤³¤é¤¨¤Æ¡¢Ã¯¤Ç¤âÍý²ò¤Ç¤­¤ë¿ÆÀڤʥޥ˥奢¥ë¤òºîÀ®¤·¤è¤¦¡£
  • ¥Õ¥¡¥¤¥ë¤òÄɲ乤ë¤Ë¤Ï
  • ¥Õ¥¡¥¤¥ë¤òºï½ü¤¹¤ë¤Ë¤Ï
  • ½¤ÀµÅÀ¤ò³Îǧ¤¹¤ë¤Ë¤Ï
  • ¥³¥ß¥Ã¥È¤¹¤ë¤Ë¤Ï
  • ¥³¥ß¥Ã¥È¤·¤¿¥Õ¥¡¥¤¥ë¤ò¸µ¤ËÌ᤹¤Ë¤Ï
  • ¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤¹¤ë¤Ë¤Ï
  • ¥Ç¥£¥ì¥¯¥È¥ê¤òºï½ü¤¹¤ë¤Ë¤Ï
  • ¸Å¤¤¥³¥ß¥Ã¥È¥í¥°¤ò½¤Àµ¤¹¤ë¤Ë¤Ï
¤È¤¤¤Ã¤¿ HowTo Ū¤Ê¹àÌܤò¤º¤é¤Ã¤Èʤ٤롣¥×¥í¥¸¥§¥¯¥È¥á¥ó¥Ð¤Îµ»½Ñ¥ì¥Ù¥ë¤¬Ä㤱¤ì¤ÐÄ㤤¤Û¤É¡¢¤è¤êÎϤòÆþ¤ì¤ÆºîÀ®¤·¤è¤¦¡£¤µ¤é¤Ë¥í¡¼¥«¥ë¥ë¡¼¥ë¤ÎÀâÌÀ¤âÀ¹¤ê¤³¤ó¤Ç¤ª¤¯¡£¤Ê¤ª¡¢´Ä¶­ÊÑ¿ô CVSROOT ¤¬±¾¡¹¤È¤¤¤¦¤è¤¦¤Ê;·×¤Ê¤³¤È¤Ï½ñ¤«¤Ê¤¤¤³¤È¡£¤Þ¤º¤Ï»È¤¤Êý¤ÎÀâÌÀ¤Ëۤ¹¤ë¡£¡Ö¤è¤¯¤ï¤«¤é¤Ê¤¤¤«¤é CVS ¤Ï»È¤ï¤Ê¤¤¡×¤È¤¤¤¦¥»¥ê¥Õ¤Ï¸À¤ï¤»¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£

¡ü¥Ó¥ë¥É¹½À®
ÂçÄñ¤Ï¡¢¤½¤Î¥×¥í¥¸¥§¥¯¥È¤Ë¤ª¤±¤ë¤ª¤ª¤Þ¤«¤Ê¥Ç¥£¥ì¥¯¥È¥ê¹½À®¤¬·è¤á¤é¤ì¤Æ¤¤¤ë¤À¤í¤¦¡£¤¿¤È¤¨¤Ð
/home/proj/src/ ¡Ä ¥½¡¼¥¹ÃÖ¤­¾ì¡£¤³¤Î²¼¤Ç make ¤¹¤ë¡£
/home/proj/bin/ ¡Ä ¼Â¹Ô¥Õ¥¡¥¤¥ëÃÖ¤­¾ì¡£src/ ¤Ç make ¤¹¤ë¤È bin/ ¤Ë¼Â¹Ô¥Õ¥¡¥¤¥ë¤¬ÃÖ¤«¤ì¤ë¡£
/home/proj/lib/ ¡Ä ÀßÄê¥Õ¥¡¥¤¥ëÃÖ¤­¾ì¡£
/home/proj/data/ ¡Ä ¥×¥í¥°¥é¥à¤Ë¤è¤êÀ¸À®¤µ¤ì¤ë¥Ç¡¼¥¿¥Õ¥¡¥¤¥ëÃÖ¤­¾ì (CSV ¥Õ¥¡¥¤¥ë¤Ê¤É)¡£
¤Ê¤É¤Ç¤¢¤ë¡£¤³¤Î¾ì¹ç¡¢CVS ´ÉÍý¤ò¹Ô¤¦¤Î¤Ï src/ ¤È lib/ ¤À¤±¤Ç¤è¤¤¡£

¥½¡¼¥¹ÃÖ¤­¾ì¤Ï»þ´Ö¤¬·Ð¤Ä¤Èɬ¤º±ø¤ì¤Æ¤¤¤¯¡£¥Æ¥¹¥ÈÌÜŪ¤Ç¥½¡¼¥¹¤ò°ì»þŪ¤Ë½¤Àµ¤·¤Æ¡¢¸µ¤ËÌᤵ¤º¤Ë˺¤ì¤Æ¤·¤Þ¤Ã¤¿¤ê¡¢¸í¤Ã¤Æ¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Æ¤·¤Þ¤¦¤³¤È¤¬¤¢¤ë¤«¤é¤À¡£¤³¤Î¤è¤¦¤Ê±ø¤ì¤¿¥½¡¼¥¹ÃÖ¤­¾ì¤Ç make ¤·¤¿¤È¤³¤í¤Ç¡¢Àµ¤·¤¤¼Â¹Ô¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤ë¤Ï¤º¤¬¤Ê¤¤¡£¤½¤³¤Ç¥½¡¼¥¹ÃÖ¤­¾ì¤Ï¼«Æ°Åª¤Ëºï½ü¤·¡¢ºÇ¿·¥½¡¼¥¹¤ò¥Á¥§¥Ã¥¯¥¢¥¦¥È¤¹¤ë¤³¤È¤ò¤ª´«¤á¤¹¤ë¡£¤³¤Îºî¶È¤Ï cron ¤Ê¤É¤ËÅÐÏ¿¤·¤Æ¤ª¤¤¤ÆËèÆü¹Ô¤¦¤È¤è¤¤¡£ºî¶È¤Î¼ÙËâ¤Ë¤Ê¤é¤Ê¤¤¤è¤¦¡¢¿¼Ìë¤äÁáÄ«¤Ë¼Â»Ü¤¹¤ë¤Î¤¬¤è¤¤¤À¤í¤¦¡£

¿®Íê¤Ç¤­¤Ê¤¤¥½¡¼¥¹ÃÖ¤­¾ì¤Ç make ¤·¤¿¾ì¹ç¤Ï¡¢ÅöÁ³¤Ê¤¬¤é bin/ ¤ä lib/ ¤â¿®Íê¤Ç¤­¤Ê¤¤¡£¤Ç¤­¤ì¤Ð bin/ ¤ä lib/ ¤âËèÆüºï½ü¤·¤Æ¤·¤Þ¤ª¤¦¡£src/ ¤Ç make ¤·¤¿¤È¤­¤Ë¡¢bin/ ¤ä lib/ ¤Ï¼«Æ°Åª¤Ë mkdir ¤¹¤ë¤è¤¦¤Ê Makefile ¤òÍѰդ·¤Æ¤ª¤¯¡£bin/ ¤ä lib/ ¤Î¥´¥ßÁݽü¤Ë¤â¤Ê¤ê¡¢°ìÀÐÆóÄ»¤À¡£

¡ü¥ê¥Ý¥¸¥È¥ê¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×
¥ê¥Ý¥¸¥È¥ê¤Ï¤È¤Æ¤âÂç»ö¤Ê»ñ¸»¤Ç¤¢¤ë¡£ËèÆü¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¼èÆÀ¤·¤Æ¤ª¤³¤¦¡£RAID ´Ä¶­¤Ç¤¢¤Ã¤Æ¤â¡¢¥Ð¥Ã¥¯¥¢¥Ã¥×¤Ïɬ¿Ü¤Ç¤¢¤ë¡£¡Ö¸í¤Ã¤Æ¤¿¤¯¤µ¤ó¤Î¥Õ¥¡¥¤¥ë¤ò¥³¥ß¥Ã¥È¤·¤Æ¤·¤Þ¤Ã¤¿¡×¤È¤¤¤¦¤È¤­¤Ê¤É¤Ï¡¢¥Õ¥¡¥¤¥ë¤ò¤Ò¤È¤Ä¤º¤Ä¸µ¤ËÌᤷ¤Æ¥³¥ß¥Ã¥È¤·¤Ê¤ª¤¹¤è¤ê¤â¡¢ºòÆü¥Ð¥Ã¥¯¥¢¥Ã¥×¤·¤¿¥ê¥Ý¥¸¥È¥ê¤ËÌᤷ¤¿¤³¤È¤¬Á᤯¤ÆÀµ³Î¤Ç¤¢¤ë¡£¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¹Ô¤¦¤Ë¤Ï¡¢¥ê¥Ý¥¸¥È¥ê¤ò tar ¤È gzip ¤Ç¸Ç¤á¤Æ¡¢
repository-backup-YYYYMMDD.tar.gz
¤È¤¤¤Ã¤¿¥Õ¥¡¥¤¥ë̾¤òÉÕ¤±¤Æ¤ª¤±¤Ð¤è¤¤¡£¥Ç¥£¥¹¥¯¤Ë;͵¤¬¤¢¤ë¤Ê¤é²¿Ç¯Ê¬¤Ç¤âÊݸ¤·¤Æ¤ª¤±¤Ð¤è¤¤¤¬¡¢¤â¤·Ä¾¶á 50 Æüʬ¤À¤±Êݸ¤·¤Æ¤ª¤­¤¿¤¤¾ì¹ç¤Ï
% ls -r repository-backup-*.tar.gz | tail +51 | xargs rm
¤Ê¤É¤È 51 ¸ÄÌܰʹߤòºï½ü¤¹¤ì¤Ð¤è¤¤¡£

¡ü¥³¥ß¥Ã¥È¥á¡¼¥ë
¥³¥ß¥Ã¥È¤·¤¿¤È¤­¤Ë¥á¡¼¥ê¥ó¥°¥ê¥¹¥È°¸¤Ë°Ê²¼¤Î¤è¤¦¤Ê¥á¡¼¥ë¤òÈô¤Ð¤¹¤³¤È¤ò¤ª´«¤á¤¹¤ë¡£
Subject: CVS: proj/src/program1/src committed by 68user.

Update of proj/src/program1/src
In directory hostname:/tmp/cvs-serv28826/proj/src/program1/src

Modified Files:
    program1.c
Log Message:
¥¨¥é¡¼È¯À¸»þ¤Î¥í¥°½ÐÎϤξðÊó¤ò½¼¼Â²½¡£

Index: prohello.c
===================================================================
RCS file: /home/cvsroot/proj/src/program1/src/program1.c

retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- program1.c   12 Jul 2004 07:41:24 -0000    1.4
+++ program1.c   28 Jul 2005 07:30:55 -0000    1.5
@@ -80,7 +80,7 @@
    if ( is_error ){
-      log_error("¡û¡û½èÍý¤¬°Û¾ï½ªÎ»");
+      log_error("¡û¡û½èÍý¤¬°Û¾ï½ªÎ» [¸ÜµÒ¥³¡¼¥É:%d] [ʪÉÊ¥³¡¼¥É:%d]",
+                customer_code, item_code);
    }
¤³¤Î¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ë¤Ï³«È¯¼Ô¥á¥ó¥ÐÁ´°÷¤¬»²²Ã¤¹¤ë¡£ÁÀ¤¤¤Ï°Ê²¼¤ÎÄ̤ꡣ
  • ¤É¤Î¥½¡¼¥¹¤Ë¤É¤¦¤¤¤¦½¤Àµ¤ò¹Ô¤Ã¤¿¤«¤òÁ´°÷¤ËÃΤ餻¤ë
  • ½¤ÀµÆâÍÆ¤¬¤ª¤«¤·¤¤¾ì¹ç¤Ï¡¢¤¹¤°¤ËÆÍ¤Ã¹þ¤à
  • ¾¥á¥ó¥Ð¤Îºî¶ÈÆâÍÆ¤Ë¶½Ì£¤ò»ý¤¿¤»¤ë
  • ¼«Ê¬¤Îºî¶ÈÆâÍÆ¤¬¥á¥ó¥ÐÁ´°÷¤ËÃΤé¤ì¤ë¤³¤È¤ò°Õ¼±¤µ¤»¤ë (±ø¤¤¥½¡¼¥¹¡¦¥³¥Ô¥Ú¤ÎÍÞ»ß)

¤¿¤À¤·¥á¥ó¥ÐÁ´°÷¤¬¥á¡¼¥ë¤ò½ÏÆÉ¤¹¤ë¤³¤È¤òËܵ¤¤Ç´üÂÔ¤·¤Ê¤¤¤³¤È¡£Â¾¿Í¤Î»Å»ö¤Ë̵´Ø¿´¤Ê¿Í¤Ïɬ¤º¤¤¤ë¡£¥³¥ß¥Ã¥È¥á¡¼¥ë¤ò¥½¡¼¥¹¥ì¥Ó¥å¡¼¤ÎÂå¤ï¤ê¤Ë¤·¤è¤¦¤Ê¤É¤È»×¤ï¤º¡¢¥á¡¼¥ë¤Ç¥ß¥¹¤Ëµ¤¤Å¤¤¤¿¤é¥é¥Ã¥­¡¼ÄøÅ٤˹ͤ¨¤ë¤È¤è¤¤¡£¤¿¤À¤·Ã¯¤«¤Ò¤È¤ê¡¢¤Ç¤­¤ì¤Ð¤¢¤Ê¤¿¤Ï»þ´Ö¤¬¤¢¤ë¸Â¤ê¥³¥ß¥Ã¥È¥á¡¼¥ë¤ò¤¶¤Ã¤Èį¤á¤Æ¡¢¤¿¤Þ¤ËŬÅÙ¤ÊÆÍ¤Ã¹þ¤ß¤òÆþ¤ì¡¢¤Á¤ã¤ó¤È¸«¤Æ¤ë¤ó¤À¤¾¤È¥¢¥Ô¡¼¥ë¤·¤è¤¦¡£

¾åµ­¤Î»ÅÁȤߤò¼Â¸½¤¹¤ë¤Ë¤Ï http://radiofly.to/nishi/cvsbook/ ¤ÇÇÛÉÛ¤µ¤ì¤Æ¤¤¤ë¥¹¥¯¥ê¥×¥È mailto-committers.pl ¤ò»ÈÍѤ¹¤ë¤È¤è¤¤ (¤Á¤Ê¤ß¤Ë¤³¤Î¥Ú¡¼¥¸¤Ç¾Ò²ð¤µ¤ì¤Æ¤¤¤ëËܤϡ¢CVS ´ØÏ¢¤ÎËܤÎÃæ¤Ç¤â¤Ã¤È¤â¤ª¤¹¤¹¤á¤Ç¤¢¤ë)¡£

ÀßÄêÊýË¡¤Ï°Ê²¼¤ÎÄ̤ꡣ
CVSROOT ¤ò¥Á¥§¥Ã¥¯¥¢¥¦¥È¡£
% cd work (ŬÅö¤Êºî¶È¾ì½ê¤Ë°Üư)
% cvs checkout CVSROOT
mailto-committers.pl ¤òÍѰդ·¡¢CVSROOT/mailto-committers.pl ¤È¤·¤ÆÄɲá£
% cd CVSROOT
% cvs add mailto-committers.pl
¤É¤³¤«¤«¤é jcode.pl ¤ò½¦¤Ã¤Æ¤­¤Æ¡¢CVSROOT/jcode.pl ¤È¤·¤ÆÄɲá£
% cvs add jcode.pl
CVSROOT/checkoutlist ¤Ë°Ê²¼¤Î 2¹Ô¤òÄɲá£
mailto-committers.pl
jcode.pl
CVSROOT/loginfo ¤Ë°Ê²¼¤Î¹Ô¤òÄɲà (cvslog@example.co.jp ¤Ï¥á¡¼¥ê¥ó¥°¥ê¥¹¥È)¡£
DEFAULT $CVSROOT/CVSROOT/mailto-committers.pl %{sVv} $USER cvslog@example.co.jp
¾åµ­¤Î½¤Àµ¤òÁ´¤Æ¥³¥ß¥Ã¥È¡£
% cvs commit

¡ü¥¿¥°
¾¦ÍÑ¥ê¥ê¡¼¥¹»þ¤Ë¤Ï PHASE99_RELEASE ¤Ê¤É¤Î¥¿¥°¤òÉղ乤뤳¤È¡£¤â¤·³«È¯¹©Äø¤¬¸·Ì©¤Ëʬ¤«¤ì¤Æ¤¤¤ë¤Ê¤é¡¢·ë¹ç¥Æ¥¹¥È¥ê¥ê¡¼¥¹»þ¤Ë¤Ï PHASE99_IT_RELEASE ¥¿¥°¤òÉղᢤȤ¤¤¦¤Õ¤¦¤Ë¤·¤Æ¤â¤è¤¤¡£¤Þ¤¿¡¢¾¦ÍѴĶ­¤Ç¥Ð¥°¤¬½Ð¤¿¤é¡¢½¤Àµ¥½¡¼¥¹¤Ë PHASE99_BUGFIX007 ¤Ê¤É¤È¥¿¥°¤òÉÕ¤±¤ë¤Î¤â¥¢¥ê¤À¤í¤¦¡£

¥¿¥°¤òÂǤäƤª¤¯¤È¡Ö¤³¤Î¥¿¥°¤òÂǤä¿»þÅÀ¤«¤é¸½»þÅÀ¤Þ¤Ç¤Ë½¤Àµ¤·¤¿¥½¡¼¥¹°ìÍ÷¤òɽ¼¨¡×¤È¤¤¤Ã¤¿Ä´ºº¤¬´Êñ¤Ë¹Ô¤¨¤ë¡£¤·¤«¤·¥¿¥°¤òÂǤÁ¤¹¤®¤ë¤È¥¦¥¶¤¯¤Ê¤ë¡£¤É¤¦¤¤¤¦¥¤¥Ù¥ó¥È¤Ç¥¿¥°¤òÂǤĤ«¤Ï»öÁ°¤Ë·è¤á¤Æ¤ª¤³¤¦¡£¤¿¤À¤·¥¿¥°¤ò¸å¤«¤éºï½ü¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¤·¡¢²áµî¤ÎÆÃÄê¤ÎÆü»þ¤Î»þÅÀ¤Ç¤Î¥½¡¼¥¹¤Ë¥¿¥°¤òÂǤĤ³¤È¤â¤Ç¤­¤ë¡£

¥¿¥°¤òÂǤĺݤϡ¢¤½¤Î¤È¤­½¤Àµ¤·¤¿¥½¡¼¥¹¤À¤±¤Ë¥¿¥°¤òÂǤĤΤǤϤʤ¯¡¢¥â¥¸¥å¡¼¥ë°Ê²¼¤ÎÁ´¥Õ¥¡¥¤¥ë¤Ë¥¿¥°¤òÂǤĤ³¤È¤ò¤ª´«¤á¤¹¤ë¡£Á´¥Õ¥¡¥¤¥ë¤Ë¥¿¥°¤òÂǤäƤª¤±¤Ð¡Ö¤³¤Î¥¿¥°¤òÂǤä¿»þÅÀ¤Ç¤ÎÁ´¥½¡¼¥¹¤ò¼èÆÀ¡×¤Ê¤É¤È¤¤¤¦¤³¤È¤¬´Êñ¤Ë¤Ç¤­¤ë¤«¤é¤Ç¤¢¤ë¡£¤½¤Î·ë²Ì¡¢½¤Àµ¤¬¹Ô¤ï¤ì¤Ê¤«¤Ã¤¿¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤Æ¤Ï¡¢Æ±°ì¥ê¥Ó¥¸¥ç¥ó¤ËÊ£¿ô¤Î¥¿¥°¤¬ÂǤ¿¤ì¤ë¤³¤È¤Ë¤Ê¤ë¤¬¡¢¤³¤ì¤ÏÁ´¤¯ÌäÂê¤Ê¤¤¡£

¤Ê¤ª¡¢³Æ¥á¥ó¥Ð¤¬¸ÄÊ̤˥¿¥°¤òÂǤĤΤǤϤʤ¯¡¢¥½¡¼¥¹´ÉÍý¼Ô¤¬°ì³ç¤·¤Æ¥¿¥°¤òÂǤĤȤ褤¡£¤½¤ÎºÝ¤Ï¡¢¡Ö¤¤¤Þ¤«¤é¥¿¥°¤òÂǤĤ¬¡¢¤Þ¤À¥³¥ß¥Ã¥È¤·¤Æ¤¤¤Ê¤¤¥½¡¼¥¹¤¬¤¢¤ì¤Ð¶µ¤¨¤Æ¤Û¤·¤¤¡×¤È³Îǧ¤ò¼è¤ë¤³¤È¡£

¡ü¥ê¥ê¡¼¥¹ºî¶È
³«È¯´Ä¶­¤È¥Í¥Ã¥È¥ï¡¼¥¯Åª¤ËÀܳ¤µ¤ì¤Æ¤¤¤Ê¤¤´Ä¶­¡¢¤¿¤È¤¨¤Ð¾¦ÍѴĶ­¤Ø¤Î¥ê¥ê¡¼¥¹ºî¶È¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë¡£

¤Þ¤º¡¢¤Ç¤­¤ì¤Ð¾¦ÍѴĶ­¤Ë¤â CVS ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤ª¤³¤¦¡£¤½¤·¤Æ°Ê²¼¤Î¤è¤¦¤Ê¼ê½ç¤ò¿ä¾©¤¹¤ë¡£
  • ³«È¯´Ä¶­¤Ç cvs diff ¤·¤Æ¡¢¥³¥ß¥Ã¥È˺¤ì¤¬¤Ê¤¤¤³¤È¤ò³Îǧ
  • ³«È¯´Ä¶­¤Ç cvs tag ¤« cvs rtag ¤Ç¥¿¥°¤òÉÕ¤±¤ë (PHASE99_RELEASE ¤Ê¤É)
  • ¥ê¥Ý¥¸¥È¥ê¤ò¤Þ¤ë¤´¤È tar ¤Ç¸Ç¤á¤Æ¾¦ÍѴĶ­¤Ø»ý¤Ã¤Æ¤¤¤¯¡£½¤Àµ¤·¤¿¥Õ¥¡¥¤¥ë¤À¤±¤òÁª¤ó¤Ç»ý¤Ã¤Æ¤¤¤«¤Ê¤¤¤³¤È¡£¼ê¤ÇÁªÊ̤¹¤ë¤Èɬ¤ºÏ³¤ì¤¬È¯À¸¤¹¤ë¤¿¤á¡£
  • ¾¦ÍѴĶ­¤Î¥ê¥Ý¥¸¥È¥ê¤òºï½ü (¤Þ¤¿¤Ï mv ¤Ç¥ê¥Í¡¼¥à)
  • ¾¦ÍѴĶ­¤Ë¤Æ tar ¤òŸ³«¤·¤Æ¡¢¥ê¥Ý¥¸¥È¥ê¤òÇÛÃÖ
  • ¾¦ÍѴĶ­¤Ë¤Æ cvs diff ¤ò¹Ô¤¤¡¢¾¦ÍѴĶ­¤Î¥Õ¥¡¥¤¥ë¤òľÀܤ¤¤¸¤Ã¤¿¿Í¤¬¤¤¤Ê¤¤¤³¤È¤ò³Îǧ (ǰ¤Î¤¿¤á)¡£
  • ¾¦ÍѴĶ­¤Ë¤Æ¥½¡¼¥¹ÃÖ¤­¾ì¡¦¥Ð¥¤¥Ê¥êÃÖ¤­¾ì¤Ê¤É¤òÁ´¤Æ¥ê¥Í¡¼¥à (Îã: mv src src.old)
  • ¾¦ÍѴĶ­¤Ë¤Æ¥½¡¼¥¹¤ò¥Á¥§¥Ã¥¯¥¢¥¦¥È
  • ¾¦ÍѴĶ­¤Ë¤Æ¥½¡¼¥¹¤ò make
¤â¤·¥ê¥ê¡¼¥¹¸å¤Ë¾¦ÍѴĶ­¤Ç¥Ð¥°¤¬È¯¸«¤µ¤ì¤¿¾ì¹ç¤Î¼ê½ç¤Ï°Ê²¼¤Î¤È¤ª¤ê¡£
  • ¤Ç¤­¤ì¤Ð³«È¯´Ä¶­¤Ç¸¶°øµæÌÀ¡£
  • ¸¶°ø¤¬¤ï¤«¤Ã¤¿¤é³«È¯´Ä¶­¤Ç¥½¡¼¥¹¤ò½¤Àµ¤·¤Æ¥³¥ß¥Ã¥È¡£
  • ³«È¯´Ä¶­¤«¤é¾¦ÍѴĶ­¤Ë¥ê¥Ý¥¸¥È¥ê¤ò»ý¤Ã¤Æ¤¤¤Ã¤ÆºÆ¥ê¥ê¡¼¥¹
¤â¤·»þ´ÖŪ¡¦ÊªÍýŪÀ©¸Â¤Ë¤è¤ê¡¢¾¦ÍѴĶ­¤Ë¤Æ¸¶°øµæÌÀ¤»¤¶¤ë¤ò¤¨¤Ê¤¤¾ì¹ç¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤¹¤ë¡£
  • ¾¦ÍѴĶ­¤Ç¸¶°øµæÌÀ¡£É¬Íפʤ饽¡¼¥¹¤ò½¤Àµ¤·¤Æ¤â¤è¤¤¡£
  • Àµ¾ï¤Ëư¤¤¤¿¤é cvs diff ¤Î·ë²Ì¤ò³«È¯´Ä¶­¤Ë»ý¤Ã¤Æ¤¤¤¯ (cvs diff ¤Ç¥Ñ¥Ã¥Á¤òºîÀ®¤·¤Æ¤â¤è¤¤)¡£
  • ³«È¯´Ä¶­¤Ç½¤ÀµÈǤò¥³¥ß¥Ã¥È¡£
  • ³«È¯´Ä¶­¤«¤é¾¦ÍѴĶ­¤Ë¥ê¥Ý¥¸¥È¥ê¤ò»ý¤Ã¤Æ¤¤¤Ã¤ÆºÆ¥ê¥ê¡¼¥¹
¤È¤Ë¤«¤¯¾¦ÍѴĶ­¤Ç¥³¥ß¥Ã¥È¤·¤Ê¤¤¤³¤È¡£¤â¤·¾¦ÍѴĶ­¤È³«È¯´Ä¶­¤Ç¤½¤ì¤¾¤ì¤Î¥ê¥Ý¥¸¥È¥ê¤Ë¥³¥ß¥Ã¥È¤¹¤ë¤è¤¦¤Ê¤³¤È¤¬¤¢¤ë¤È¡¢¤É¤Á¤é¤¬¥Þ¥¹¥¿¤«¤ï¤«¤é¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£¥ê¥Ý¥¸¥È¥ê¤Îή¤ì¤ò¡Ö³«È¯´Ä¶­¢ª¾¦ÍѴĶ­¡×¤Î°ìÊý¸þ¤Ë¸ÂÄꤹ¤ë¤Î¤¬¥Ý¥¤¥ó¥È¤Ç¤¢¤ë¡£

¡ü³«È¯¥µ¥¤¥¯¥ë¤È¥Ö¥é¥ó¥Á
Ĺ´ü´Ö¤Î³«È¯¤Ç¤Ï¡¢¿ô¥ö·î¤´¤È¤Ë¥Õ¥§¡¼¥º 1¡¢¥Õ¥§¡¼¥º 2¡¢¥Õ¥§¡¼¥º 3 ¡Ä¤Ê¤É¤È³«È¯¡¦¥Æ¥¹¥È¡¦¥ê¥ê¡¼¥¹¤Î¥µ¥¤¥¯¥ë¤ò·«¤êÊÖ¤¹¤Î¤¬°ìÈÌŪ¤Ç¤¢¤ë¡£´ðËÜŪ¤Ë¤Ï¥Õ¥§¡¼¥º n ¤È¥Õ¥§¡¼¥º n+1 ¤Ï½Å¤Ê¤é¤Ê¤¤¤Ï¤º¤Ç¤¢¤ë¤¬¡¢¥Õ¥§¡¼¥º n ¤Î¥ê¥ê¡¼¥¹Á°¤Ë¥Õ¥§¡¼¥º n+1 ¤Î³«È¯¤ò³«»Ï¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾õ¶·¤â¤¢¤ë¤À¤í¤¦¡£¤Þ¤¿¡¢¥Õ¥§¡¼¥º n+1 ¤Î³«È¯Ãæ¤Ë¥Õ¥§¡¼¥º n ¤Î¥Ð¥°¤¬È¯³Ð¤·¤¿¤Î¤Ç½¤Àµ¥½¡¼¥¹¤ò¥³¥ß¥Ã¥È¤·¤¿¤¤¤È¤­¤â¤¢¤ë¡£

¤¤¤º¤ì¤Î¾ì¹ç¤Ç¤â¡¢°ìÈÌŪ¤Ë¤Ï¥Ö¥é¥ó¥Á¤òƳÆþ¤¹¤Ù¤­¥±¡¼¥¹¤Ç¤¢¤ë¡£¤·¤«¤·Åö¥Ú¡¼¥¸´ÉÍý¿Í¤Î»ä¸«¤Ç¤Ï¡¢CVS ¤Î¥Ö¥é¥ó¥Á¤ÏÈó¾ï¤Ë¤ï¤«¤ê¤Å¤é¤¤¡£¥Æ¥­¥¹¥È¥Ù¡¼¥¹¤Ç¤Ïʬ´ô¾õ¶·¤òľ´ÑŪ¤ËÇİ®¤¹¤ë¤Î¤ÏÆñ¤·¤¯¡¢¸½ºß½¤ÀµÃæ¤Î¥Õ¥¡¥¤¥ë¤¬ trunk ¤Ê¤Î¤«¥Ö¥é¥ó¥Á¤Ê¤Î¤«¤âº®Í𤷤¬¤Á¤Ç¤¢¤ë¡£´·¤ì¤Æ¤¤¤ë¿Í¤¬Áàºî¤¹¤ë¤Î¤Ç¤¢¤ì¤ÐÁ´¤¯ÌäÂê¤Ê¤¤¤¬¡¢¥×¥í¥¸¥§¥¯¥È¥á¥ó¥Ð¤Î¥¹¥­¥ë¤¬Ä㤤¾ì¹ç¤Ï¥Ö¥é¥ó¥Á¤òƳÆþ¤¹¤ë¤Î¤Ï¤¿¤á¤é¤ï¤ì¤ë¡£

¤½¤³¤ÇÄ󰯤¹¤ë¤Î¤¬¡¢¥Õ¥§¡¼¥º¤´¤È¤Ë¥â¥¸¥å¡¼¥ë¤ò¥³¥Ô¡¼¤·¤Æ´ÉÍý¤¹¤ëÊýË¡¤Ç¤¢¤ë¡£Phase1 ¤Î³«È¯»þ¤Ï
$CVSROOT/Phase1/
¤Ë¤Æ¥½¡¼¥¹¤ò´ÉÍý¤¹¤ë¡£Phase1 ¤Î¾¦ÍÑ¥ê¥ê¡¼¥¹¤¬´°Î»¤·¡¢Phase2 ¤Î³«È¯¤¬»Ï¤Þ¤Ã¤¿¤é¡¢
% cd $CVSROOT
% cp -rp Phase1 Phase2
¤È¥â¥¸¥å¡¼¥ë¤ò¥³¥Ô¡¼¤·¡¢
% cvs checkout Phase2
¤È¤¤¤¦¤Õ¤¦¤Ë¥½¡¼¥¹¤ò¼èÆÀ¤·¤Æ³«È¯¤¹¤ë¡£¤â¤· Phase1 ¤Î¾¦ÍÑ¥ê¥ê¡¼¥¹¸å¤Ë¥Ð¥°¤¬È¯¸«¤µ¤ì¤¿¾ì¹ç¤Ï¡¢Phase1 ¤ËÂФ·¤Æ½¤Àµ¤ò¹Ô¤¦¤È¤È¤â¤Ë¡¢Phase2 ¤ËÂФ·¤Æ¤âƱ¤¸½¤Àµ¤ò¹Ô¤¦¡£¥Õ¥§¡¼¥º¤ò½Å¤Í¤ë¤´¤È¤Ë
$CVSROOT/Phase1/
$CVSROOT/Phase2/
$CVSROOT/Phase3/
$CVSROOT/Phase4/
¤È¥â¥¸¥å¡¼¥ë¤¬Áý¤¨¤Æ¤¤¤¯¤Î¤Ç¡¢4À¤ÂåÁ°¤Î¸Å¤¤¥ê¥Ý¥¸¥È¥ê¤Ïºï½ü¤·¤Æ¤è¤¤¡¢¤Ê¤É¤È·è¤á¤Æ¤ª¤±¤Ð¤è¤¤¤À¤í¤¦ (Phase1 ¤ÎÍúÎò¤¬ºï½ü¤µ¤ì¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¤³¤È¤ËÃí°Õ¡£¥ê¥Ý¥¸¥È¥ê¤òPhase1 ¤ÎÍúÎò¤Ï Phase2¡Á4 Á´¤Æ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë)¡£

¾åµ­¤Î¥â¥¸¥å¡¼¥ë¤ò¥³¥Ô¡¼¤¹¤ëÊýË¡¤ò¼è¤ë¤Ë¤»¤è¡¢¤¢¤ë¤¤¤Ï¥Ö¥é¥ó¥Á¤òƳÆþ¤¹¤ë¤Ë¤»¤è¡¢¤¤¤º¤ì¤Î¾ì¹ç¤Ç¤âʹԳ«È¯´ü´Ö¤ò¤Ç¤­¤ë¸Â¤êû¤¯¤·¤è¤¦¡£Phase1 ¤Î¾¦ÍÑ¥ê¥ê¡¼¥¹Ä¾¸å¤Ë Phase2 ¤Î¥â¥¸¥å¡¼¥ë¤ò¥³¥Ô¡¼¤Þ¤¿¤Ï¥Ö¥é¥ó¥Á¤òºîÀ®¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢Phase2 ¤ÎÀ߷פ¬´°Î»¤·¡¢¥½¡¼¥¹¤òºîÀ®¤·¡¢¥³¥ß¥Ã¥È¤¬É¬Íפˤʤ俤Ȥ­¤Ë½é¤á¤Æ Phase2 ¤Î¥â¥¸¥å¡¼¥ë¤ò¥³¥Ô¡¼¤Þ¤¿¤Ï¥Ö¥é¥ó¥Á¤òºîÀ®¤¹¤ë¡£
>> ¥³¥Þ¥ó¥É CVS¥Á¥å¡¼¥È¥ê¥¢¥ë´ðÁÃÊÔ *   CVS¥Á¥å¡¼¥È¥ê¥¢¥ë±þÍÑÊÔ *   CVS¥È¥Ô¥Ã¥¯ÊÔ *

date¡¡¸½ºß¤Î»þ¹ï (Æü»þ) ¤òɽ¼¨¡¦ÀßÄꤹ¤ë

°ú¿ô¤Ê¤·¤Ç¼Â¹Ô¤¹¤ë¤È¡¢¸½ºß¤Î»þ¹ï¤òɽ¼¨¤¹¤ë¡£
% date
Sun Oct 10 10:38:28 JST 1999
-u ¥ª¥×¥·¥ç¥ó¤òÍ¿¤¨¤ë¤È¡¢À¤³¦É¸½à»þ¤Çɽ¼¨¤¹¤ë¡£
% date -u
Sun Oct 10 01:38:58 GMT 1999
¡Ö+¡×¤Î¤¢¤È¤Ëʸ»úÎó¤ò»ØÄꤹ¤ë¤È¡¢Ç¤°Õ¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Çɽ¼¨¤Ç¤­¤ë¡£
% date "+%Y/%m/%d%n %H:%M:%S"
1997/2/25
06:04:41
¥Õ¥©¡¼¥Þ¥Ã¥È¤Î½ñ¼°¤Ï°Ê²¼¤ÎÄ̤ꡣ¤è¤ê¾Ü¤·¤¤½ñ¼°¤Ï¡¢strftime(3) ¤ò»²¾È¤·¤Æ¤Û¤·¤¤¡£
%y ǯ (2·åɽ¼¨)
%Y ǯ (4·åɽ¼¨)
%m ·î (2·åɽ¼¨)
%d Æü (2·åɽ¼¨)
%h ·î (±Ñ¸ìɽ¼¨ Jan,Feb...)
%H »þ
%M ʬ
%S ÉÃ
%n ²þ¹Ô
%t ¥¿¥Ö
%% ¡Ö%¡×¼«ÂÎ

n »þ´Ö¸å¡¢n Æü¸å¡¢n ¥õ·î¸å¤Ê¤É¤Î»þ¹ï¤òÃΤꤿ¤¤¾ì¹ç¤Ï -v ¥ª¥×¥·¥ç¥ó¤ò»È¤¨¤Ð¤è¤¤¡£
% date -v+1y (1ǯ¸å¤Î»þ¹ï¤òɽ¼¨)
% date -v+2m (2¥õ·î¸å¤Î»þ¹ï¤òɽ¼¨)
% date -v+3w (3½µ´Ö¸å¤Î»þ¹ï¤òɽ¼¨)
% date -v+4d (4Æü¸å¤Î»þ¹ï¤òɽ¼¨)
% date -v+5H (5»þ´Ö¸å¤Î»þ¹ï¤òɽ¼¨)
% date -v+6M (6ʬ¸å¤Î»þ¹ï¤òɽ¼¨)
% date -v+7S (7Éøå¤Î»þ¹ï¤òɽ¼¨)
²áµî¤ËÌá¤ë¾ì¹ç¤Ï¥×¥é¥¹¤ò¥Þ¥¤¥Ê¥¹¤ËÊѤ¨¤ë¡£
% date -v-1y (1ǯÁ°¤Î»þ¹ï¤òɽ¼¨)
% date -v-2m (2¥õ·îÁ°¤Î»þ¹ï¤òɽ¼¨)
º£¤«¤é 1ǯ¸å¤Î 2½µ´ÖÁ°¤Î»þ¹ï¤Ï¡¢-v ¤òÊ£¿ô²ó»ØÄꤷ¤Æ
% date -v+1y -v-2w
¤È¤¹¤ë¡£¤¿¤À¤·¡¢-v ¤Ï BSD ¤ä GNU ¤Î date ¥³¥Þ¥ó¥É¤Ë¤·¤«¤Ê¤¯¡¢Î㤨¤Ð Solaris ¤Î date ¤Ç¤Ï»È¤¨¤Ê¤¤¡£¤½¤Î¾ì¹ç¤Ï¥¿¥¤¥à¥¾¡¼¥ó¤òÀßÄꤹ¤ë¤³¤È¤Ç¡¢¤¢¤ëÄøÅ٤ޤǤÏÂбþ¤Ç¤­¤ë (¤³¤Î¤è¤¦¤Ê»È¤¤Êý¤Ï¥¿¥¤¥à¥¾¡¼¥óËÜÍè¤ÎÍÑÅӤǤϤʤ¤)¡£

Î㤨¤ÐÆüËÜ»þ´Ö¤ÏÀ¤³¦É¸½à»þ´Ö GMT (¢âUTC) ¤è¤ê9»þ´ÖÁᤤ¤Î¤Ç¡¢
% date
¤Ï
% env TZ=JST-9 date
¤ÈÅù²Á¤Ç¤¢¤ë¡£¤è¤Ã¤Æ¡¢1ÆüÁ° (24»þ´ÖÁ°) ¤ÎÆüÉÕ¤òÃΤꤿ¤±¤ì¤Ð -9+24=15 ¤È¤¤¤¦¥¿¥¤¥à¥¾¡¼¥ó¤òÀßÄꤹ¤ì¤Ð¤è¤¤¡£1Æü¸å (24»þ´Ö¸å) ¤Ê¤é -9-24=-33 ¤È¤¹¤ì¤Ð¤è¤¤¡£
% env TZ=JST+15 date (1ÆüÁ°¤Î»þ¹ï¤òɽ¼¨)
% env TZ=JST-33 date (1Æü¸å¤Î»þ¹ï¤òɽ¼¨)
¥¿¥¤¥à¥¾¡¼¥ó¤ò¥×¥é¥¹¤Ë¤¹¤ì¤Ð²áµî¤Ë¤µ¤«¤Î¤Ü¤ê¡¢¥Þ¥¤¥Ê¥¹¤Ë¤¹¤ì¤Ð̤Íè¤Î»þ¹ï¤È¤Ê¤ë¤³¤È¤ËÃí°Õ¡£

date ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¸½ºß»þ¹ï¤òÀßÄꤹ¤ë¤³¤È¤â¤Ç¤­¤ë¡£ÅöÁ³¤Ê¤¬¤é»þ¹ïÀßÄê¤Ï root ¤Ç¤Ê¤¤¤È¤Ç¤­¤Ê¤¤¡£
# date 9803301445
¢Í ¸½ºß»þ¹ï¤ò1998ǯ3·î31Æü14»þ45ʬ¤ËÀßÄꤹ¤ë¡£
# date 0632
¢Í ¸½ºß»þ¹ï¤ò6»þ32ʬ¤ËÀßÄꤹ¤ë¡£ÆüÉÕ¤ÏÊѹ¹¤·¤Ê¤¤¡£
¥Í¥Ã¥È¥ï¡¼¥¯¤òÍøÍѤ·¤ÆÀµ³Î¤Ê»þ¹ï¤ËÀßÄꤹ¤ë¤Ë¤Ï ntpdate ¤ò»È¤¦¤È¤è¤¤¡£
>> ¥³¥Þ¥ó¥É ntpdate *
>> ÍѸ콸 »þ¹ï´ÉÍý *

dc¡¡µÕ¥Ý¡¼¥é¥ó¥Éµ­Ë¡¤Î·×»»µ¡

·×»»¼°¤òµÕ¥Ý¡¼¥é¥ó¥É¤ËÊÑ´¹¤¹¤ë¤È¡¢³ç¸Ì¤ÎÍ¥Àè½ç°Ì¤Ê¤É¤òµ¤¤Ë¤»¤º¡¢ÀèÆ¬¤«¤é½çÈ֤˽èÍý¤·¤Æ¤¤¤¯¤³¤È¤¬¤Ç¤ë¡£µÕ¥Ý¡¼¥é¥ó¥É¤Ï¥³¥ó¥Ô¥å¡¼¥¿¸þ¤±¤Î½ñ¤­Êý¤Ç¡¢¿Í´Ö¤¬»È¤¦¾ì¹ç¤Ï¡¢bc ¥³¥Þ¥ó¥É¤Ê¤É¤ò»È¤¦¤È¤è¤¤¡£
% dc
2 3 + (2+3¤Î·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤Ëpush)
p (¥¹¥¿¥Ã¥¯¤ÎÀèÆ¬¤òɽ¼¨)
5 (·ë²Ì¤Ï5)
1 2 + 5 3 - * ( (1+2)*(5-3)¤Î·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤òpush)
p (¥¹¥¿¥Ã¥¯¤ÎÀèÆ¬¤òɽ¼¨)
6 (·ë²Ì¤Ï6)
>> ¥³¥Þ¥ó¥É bc *   calc *   xcalc *   hexcalc *

decayscreen¡¡²èÌ̤¬ÍϤ±¤Æ¤¤¤¯¥Ç¥â¡£¥¹¥¯¥ê¡¼¥ó¥»¡¼¥Ð¤«¡©

-root ²èÌÌÁ´ÂΤòÍϤ«¤¹¡£
-delay usec ²èÌ̤òÍϤ«¤¹½èÍý¤Î´Ö¤Ëusec¤Î¥¦¥§¥¤¥È¤ò¤¤¤ì¤ë¡£
(ñ°Ì¤Ï¥Þ¥¤¥¯¥í¥»¥«¥ó¥É)

dd¡¡¥Õ¥¡¥¤¥ë¤Î¥³¥Ô¡¼¡¦¥Ç¥£¥¹¥¯¥À¥ó¥×¡¦¥Ð¥Ã¥¯¥¢¥Ã¥×¡¦¥ê¥¹¥È¥¢¡¦¥Õ¥¡¥¤¥ëºîÀ®

¡Ú¤³¤Î¹àÌܤÎÀâÌÀ¤Ï¤«¤Ê¤ê²ø¤·¤²¤Ê¤Î¤ÇÃí°Õ¤¹¤ë¤³¤È¡Û

dd ¤ÏÆþÎϤ«¤é½ÐÎϤإǡ¼¥¿¤ò¥³¥Ô¡¼¤¹¤ë¥³¥Þ¥ó¥É¤Ç¤¢¤ë¡£cp ¤Ï¥Õ¥¡¥¤¥ë¤«¤é¥Õ¥¡¥¤¥ë¤Ë¥³¥Ô¡¼¤¹¤ë¤À¤±¤Ç¤¢¤ë¤¬¡¢dd ¤Ï¥Õ¥¡¥¤¥ë¤«¤é¥Ç¥Ð¥¤¥¹¡¢¥Ç¥Ð¥¤¥¹¤«¤é¥Õ¥¡¥¤¥ë¡¢¥Ç¥Ð¥¤¥¹¤«¤é¥Ç¥Ð¥¤¥¹¤Ø¤Î¥³¥Ô¡¼¤â²Äǽ¤Ê¤¿¤á¡¢¥Ç¥£¥¹¥¯¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤ä¥À¥ó¥×¤Ë¤â»ÈÍѤǤ­¤ë¡£

¡ü¥Ç¥£¥¹¥¯¤Î¥³¥Ô¡¼
# dd if=/dev/ad0 of=/dev/ad1
¢Í /dev/ad0 ¤ò /dev/ad1 ¤Ë¥³¥Ô¡¼¤¹¤ë¡£¤¿¤À¤·Î¾Êý¤Î¥Ç¥£¥¹¥¯¤¬Æ±ÍÆÎ̤Ǥʤ¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£

¥Õ¥í¥Ã¥Ô¡¼¤Î¥³¥Ô¡¼¤Ê¤É¤â²Äǽ¡£
# dd if=/dev/rfd0 of=fdd.flp
¢Í FDD ¤ÎÆâÍÆ¤ò¥Õ¥¡¥¤¥ë¤Ë¥À¥ó¥×
# dd if=kern.flp of=/dev/rfd0
¢Í ¥Õ¥í¥Ã¥Ô¡¼¤Î¥¤¥á¡¼¥¸¥Õ¥¡¥¤¥ë¤ò FDD ¤Ë¥³¥Ô¡¼¡£OS ¥¤¥ó¥¹¥È¡¼¥ë¥Õ¥í¥Ã¥Ô¡¼ºîÀ®»þ¤Ë¤è¤¯»È¤¦¡£

¡ü¥Ç¥£¥¹¥¯¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤È¥ê¥¹¥È¥¢
¥Ð¥Ã¥¯¥¢¥Ã¥×¤ä¥ê¥¹¥È¥¢¤Ï¡¢¥·¥ó¥°¥ë¥æ¡¼¥¶¥â¡¼¥É¤ËÍî¤È¤¹¤«¡¢¥Ç¥Ð¥¤¥¹¤ò umount ¤·¤Æ¤«¤é¹Ô¤¦¤³¤È¡£
# dd if=/dev/ad0 of=ad0backup.dump
¢Í HDD ¤«¤é¥Õ¥¡¥¤¥ë¤Ø¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×
# dd if=ad0backup.dump of=/dev/ad0
¢Í ¥ê¥¹¥È¥¢¤Ï¡¢¥Ð¥Ã¥¯¥¢¥Ã¥×¤Î¤È¤­¤È if¡¦of ¤òµÕ¤Ë¤¹¤ë
¥Ç¡¼¥¿Î̤¬Â礭¤¤¤È¤­¤Ï gzip ¤Ç°µ½Ì¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¡£
# dd if=/dev/ad0 | gzip -c > ad0backup.dump.gz
¢Í °µ½Ì¤·¤Ä¤Ä¥Ð¥Ã¥¯¥¢¥Ã¥×
# gzip -dc < ad0backup.dump.gz | dd of=/dev/ad0
¢Í ¿­Ä¹¤·¤Ä¤Ä¥ê¥¹¥È¥¢
¥Í¥Ã¥È¥ï¡¼¥¯±Û¤·¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×
# tar cf - . | rsh remotehost dd of=/dev/¥Æ¡¼¥×¥Ç¥Ð¥¤¥¹Ì¾ obs=20b

¡ü¥Õ¥¡¥¤¥ë¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤È¥ê¥¹¥È¥¢
¥Ç¥£¥¹¥¯¤À¤±¤Ç¤Ê¤¯¡¢¥Õ¥¡¥¤¥ëñ°Ì¤Ç¤â¥Ð¥Ã¥¯¥¢¥Ã¥×¤Ç¤­¤ë¡£¤È¤Ï¤¤¤¨ 1¥Õ¥¡¥¤¥ë¤À¤±¥Ð¥Ã¥¯¥¢¥Ã¥×¤·¤Æ¤¤¤Æ¤â¡¢¤¢¤Þ¤ê¤¦¤ì¤·¤¯¤Ê¤¤¡£
# dd if=.cshrc of=/dev/ad0
¢Í .cshrc ¤ò HDD ¤Ë¥Ð¥Ã¥¯¥¢¥Ã¥×
# dd if=/dev/ad0 of=.cshrc
¢Í .cshrc ¤ò HDD ¤«¤é¥ê¥¹¥È¥¢

¡ü¥Õ¥¡¥¤¥ëºîÀ®
»ØÄꥵ¥¤¥º¤Î¥Õ¥¡¥¤¥ëºîÀ®¤â²Äǽ¤Ç¤¢¤ë¡£Î㤨¤Ð /dev/zero ¤òÆþÎÏ¥Õ¥¡¥¤¥ë¤Ë»ØÄꤹ¤ë¤³¤È¤Ç¡¢Á´¥Ç¡¼¥¿¤¬ NULL ¤Î¥Õ¥¡¥¤¥ë¤¬À¸À®¤Ç¤­¤ë¡£¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤Ï¡Öcount ¤Ç»ØÄꤷ¤¿¥Ö¥í¥Ã¥¯¿ô¡ß¥Ö¥í¥Ã¥¯¥µ¥¤¥º¡×¤È¤Ê¤ë¡£¥Ç¥Õ¥©¥ë¥È¤Î¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤Ï 512 ¤À¤¬¡¢bs ¤ÇÊѹ¹²Äǽ¡£
% dd if=/dev/zero of=zero.dat count=1000
¢Í 512*1000 ¥Ð¥¤¥È¤Î zero.dat ¤¬À¸À®¤µ¤ì¤ë
% dd if=/dev/zero of=zero.dat count=2048 bs=1
¢Í ¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤ò 1 ¤Ë»ØÄê¡£2048 ¥Ð¥¤¥È¤Î zero.dat ¤¬À¸À®¤µ¤ì¤ë

Solaris ¤Ç¥Õ¥¡¥¤¥ëÀ¸À®¤ò¤¹¤ë¤Ê¤é¡¢mkfile ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¤â¤è¤¤¡£
>> ¥³¥Þ¥ó¥É mkfile *

¡ü¼çÍ×¥ª¥×¥·¥ç¥ó°ìÍ÷
if=[¥Õ¥¡¥¤¥ë] ÆþÎÏ¥Õ¥¡¥¤¥ë (¥Ç¥Ð¥¤¥¹)¡£»ØÄꤷ¤Ê¤¤¤Èɸ½àÆþÎÏ¡£
of=[¥Õ¥¡¥¤¥ë] ½ÐÎÏ¥Õ¥¡¥¤¥ë (¥Ç¥Ð¥¤¥¹)¡£»ØÄꤷ¤Ê¤¤¤Èɸ½à½ÐÎÏ¡£
bs=[¥µ¥¤¥º] Æþ½ÐÎϤΥ֥í¥Ã¥¯¥µ¥¤¥º¤ò»ØÄê¡£ibs ¤È obs ¤ÎξÊý¤ËƱ¤¸Ãͤò¥»¥Ã¥È¤¹¤ë¾ì¹ç¤Ë»ÈÍѤ¹¤ë¡£
ibs=[¥µ¥¤¥º] ÆþÎϤΥ֥í¥Ã¥¯¥µ¥¤¥º¤ò»ØÄê
obs=[¥µ¥¤¥º] ½ÐÎϤΥ֥í¥Ã¥¯¥µ¥¤¥º¤ò»ØÄê
count=[¥Ö¥í¥Ã¥¯¿ô] ¥³¥Ô¡¼¤¹¤ë¥Ö¥í¥Ã¥¯¿ô¤ò»ØÄê
conv=ÊÑ´¹¥ª¥×¥·¥ç¥ó ÊÑ´¹¥ª¥×¥·¥ç¥ó¤ò»ØÄê (¸å½Ò)¡£conv=hoge,fuga ¤Ê¤É¤ÈÊ£¿ô»ØÄê¤â²Äǽ¡£
seek=[¥Ö¥í¥Ã¥¯¿ô] ½ÐÎϤγ«»Ï°ÌÃÖ¤ò»ØÄꤵ¤ì¤¿¥Ö¥í¥Ã¥¯¤Ë°Üư¤·¤Æ¤«¤é¥³¥Ô¡¼¤¹¤ë
oseek=[¥Ö¥í¥Ã¥¯¿ô] FreeBSD ¤Ç¤Ï seek ¤ÈƱ¤¸¡£Solaris ¤Ç¤Ï°ã¤¦¤Ã¤Ý¤¤¡Ä?
skip=[¥Ö¥í¥Ã¥¯¿ô] ÆþÎϤγ«»Ï°ÌÃÖ¤ò»ØÄꤵ¤ì¤¿¥Ö¥í¥Ã¥¯¤Ë°Üư¤·¤Æ¤«¤é¥³¥Ô¡¼¤¹¤ë
iseek=[¥Ö¥í¥Ã¥¯¿ô] FreeBSD ¤Ç¤Ï skip ¤ÈƱ¤¸¡£Solaris ¤Ç¤Ï skip ¤è¤ê®¤¤¤È½ñ¤¤¤Æ¤¢¤ë¡Ä?

¥µ¥¤¥º¤Ë¤Ï¿ô»ú¤Î¤Û¤«¡¢k¡¦m¡¦g ¤Ê¤É¤Îñ°Ì¤ò»ØÄê¤Ç¤­¤ë (¥Ö¥í¥Ã¥¯¿ô¤Ë¤â»È¤¨¤ë¤±¤Éº®Í𤹤뤫¤â)¡£
bs=1 1¥Ð¥¤¥È
bs=1b 512¥Ð¥¤¥È (b ¤Ï¥Ð¥¤¥È¤Ç¤Ï¤Ê¤¯¥Ö¥í¥Ã¥¯)
bs=1k 1KB
bs=1m 1MB
bs=1g 1GB

conv ¤Ë»ØÄê¤Ç¤­¤ëÊÑ´¹¥ª¥×¥·¥ç¥ó¤¦¤Á¡¢¼çÍפʤâ¤Î¤ò°Ê²¼¤Ë¤¢¤²¤ë¡£
¢þnoerror
HDD ÆÉ¤ß¼è¤ê¥¨¥é¡¼¤Ê¤É¡¢ÆþÎϤǥ¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¤Ç¤â½ªÎ»¤»¤º¤Ë½èÍý¤ò³¹Ô¤¹¤ë¡£noerror ¤ò»ØÄꤷ¤Ê¤¤¤È¡¢dd ¤Ï¥¨¥é¡¼È¯À¸»þ¤Ë¤¹¤°½ªÎ»¤·¤Æ¤·¤Þ¤¦¡£noerror ¤ò»ØÄꤹ¤ë¾ì¹ç¤Ï¡¢É¬¤º sync ¤â»ØÄꤹ¤ë¤³¤È (conv=noerror,sync)¡£¤³¤ì¤Ë¤è¤ê¡¢¥¨¥é¡¼¤ÎÉôʬ¤Ï NULL ¤ÇËä¤á¤é¤ì¤Æ½ÐÎϤ˥³¥Ô¡¼¤µ¤ì¤ë¡£sync ¤òÉÕ¤±¤Ê¤¤¤È¥¨¥é¡¼Éôʬ¤Ï½ÐÎϤµ¤ì¤Ê¤¤¡£¤Þ¤¿¡¢noerror »ØÄê»þ¤Ï count ¤òÌÀ¼¨Åª¤Ë»ØÄꤹ¤ë¤³¤È (½ªÃ¼¤Ë㤷¤Æ¤â»ß¤Þ¤é¤Ê¤¯¤Ê¤ë¤é¤·¤¤)¡£

¢þsync
ÆþÎÏ¥Ö¥í¥Ã¥¯¤ò¡¢ÆþÎϥХåե¡¥µ¥¤¥º¤Ë¤Ê¤ë¤è¤¦¤Ë NULL ¤Ç¥Ñ¥Ç¥£¥ó¥°¤¹¤ë¡£

¢þnotrunc
´û¤Ë out.dat ¤¬Â¸ºß¤·¡¢¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤¬ 2048 ¥Ð¥¤¥È¤À¤Ã¤¿¤È¤¹¤ë¡£¤³¤Î¾õÂÖ¤Ç
% dd if=/dev/zero of=out.dat count=1 bs=512
¤È¤¹¤ë¤È¡¢out.dat ¤Î¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤Ï 512 ¥Ð¥¤¥È¤ËÀÚ¤êµÍ¤á¤é¤ì¤Æ¤·¤Þ¤¦¡£°ìÊý¡¢
% dd if=/dev/zero of=out.dat count=1 bs=512 conv=notrunc
¤È conv=notrunc ¤òÉÕ¤±¤ë¤È¡¢out.dat ¤ÎÀèÆ¬ 512 ¥Ð¥¤¥È¤¬ NULL ¤ÇËä¤á¤é¤ì¤ë¤¬¡¢513¡Á2048 ¥Ð¥¤¥ÈÌܤޤǤϺǽé¤Î¥Õ¥¡¥¤¥ë¤Î¾õÂ֤Τޤ޻Ĥµ¤ì¤ë¡£

¥³¥Ô¡¼ÂоݤΥµ¥¤¥º¤Ï¡Ö¥Ö¥í¥Ã¥¯¥µ¥¤¥º¡ß¥Ö¥í¥Ã¥¯¿ô¡×¤Ç·è¤Þ¤ë¤¿¤á¡¢°Ê²¼¤Î¤½¤ì¤¾¤ì¤Î¥³¥Þ¥ó¥É¤ÇÀ¸À®¤µ¤ì¤ë¥Õ¥¡¥¤¥ëÆâÍÆ¤ÏÁ´¤¯Æ±¤¸¤Ç¤¢¤ë¤¬¡¢¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤¬¾®¤µ¤¹¤®¤ë¤È»þ´Ö¤¬¤«¤«¤Ã¤Æ¤·¤Þ¤¦¤³¤È¤ËÃí°Õ¡£
% dd if=/dev/zero of=zero.dat bs=1 count=51200000
¢Í ¼Â¹Ô»þ´Ö 3ÉÃ
% dd if=/dev/zero of=zero.dat bs=512 count=100000
¢Í ¼Â¹Ô»þ´Ö 2.5ÉÃ
% dd if=/dev/zero of=zero.dat bs=51200000 count=1
¢Í ¼Â¹Ô»þ´Ö 13ʬ

¤Ê¤ª¡¢¤³¤ÎÎã¤Ç¤ÏÆþÎϤ¬¥Õ¥¡¥¤¥ë¤Ç¤¢¤ë¤¿¤á¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤Ï¤É¤ó¤ÊÃͤǤâ (®Åٰʳ°¤Ï) ÌäÂê¤Ê¤¤¤¬¡¢ÆþÎϤ¬¥Ç¥Ð¥¤¥¹¤Î¾ì¹ç¤ÏŬÀÚ¤ÊÃͤËÀßÄꤹ¤ëɬÍפ¬¤¢¤ë¡£¥Ö¥í¥Ã¥¯¥Ç¥Ð¥¤¥¹¤Î¾ì¹ç¡¢¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤Ï¥»¥¯¥¿¥µ¥¤¥º¤ÎÀ°¿ôÇܤǤʤ¯¤Æ¤Ï¤Ê¤é¤Ê¤¤ (¤È¤¤¤¦É½¸½¤Ç¤¢¤Ã¤Æ¤¤¤ë¤Î¤À¤í¤¦¤«)¡£
% dd if=/dev/ad0 of=ad0-backup.dump bs=1
dd: /dev/ad0: Invalid argument
¢Í ¾®¤µ¤¹¤®¤Æ¤â¥¨¥é¡¼
% dd if=/dev/ad0 of=ad0-backup.dump bs=513
dd: /dev/ad0: Invalid argument
¢Í Â礭²á¤®¤Æ¤â¥¨¥é¡¼
% dd if=/dev/ad0 of=ad0-backup.dump bs=512
¢Í 1¥»¥¯¥¿=512 ¥Ð¥¤¥È¤Ê¤Î¤Ç¡¢OK
% dd if=/dev/ad0 of=ad0-backup.dump bs=1024
¢Í À°¿ôÇÜ¤Ê¤Î¤Ç OK
% dd if=/dev/ad0 of=ad0-backup.dump bs=8192
¢Í ¤³¤ì¤â OK¡£°ìµ¤¤ËÆÉ¤ß¹þ¤à¤Î¤Ç¡¢bs=512, bs=1024 ¤è¤ê®¤¤¤«¤â¤·¤ì¤Ê¤¤
¾åµ­¤Î bs=1 ¤ÎÎã¤Ç¥¨¥é¡¼¤Ë¤Ê¤ë¤Î¤Ï¡¢¤½¤â¤½¤â /dev/ad0 ¤ËÂФ¹¤ë 1¥Ð¥¤¥Èʬ¤Î read(2) ¤¬¥¨¥é¡¼¤È¤Ê¤ë¤«¤é¤Ç¤¢¤ë (Invalid Argument)¡£

¤Þ¤¿¡¢¡Öconv=noerror,sync¡×¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤òºÇ¾®¤Î¥»¥¯¥¿Ã±°Ì¤Ç»ØÄꤷ¤¿Êý¤¬¤è¤¤¤È¤«¡£¥¨¥é¡¼¤¬È¯À¸¤·¤¿¥Ö¥í¥Ã¥¯¤Î¤ß NULL ¤ÇËä¤á¤é¤ì¤ë¤é¤·¤¤¡£
% dd if=/dev/ad0 of=zero.dat bs=512 count=.... conv=noerror,sync
¢Í 1¥»¥¯¥¿¤Î¤ß¥¨¥é¡¼¤Ë¤Ê¤ë¾ì¹ç¤Ï 512 ¥Ð¥¤¥È¤À¤± NULL Ëä¤á¤µ¤ì¤ë (¤Î¤«?)
% dd if=/dev/ad0 of=zero.dat bs=1024 count=.... conv=noerror,sync
¢Í ư¤­¤Ï¤¹¤ë¤¬¡¢¤ª´«¤á¤·¤Ê¤¤¡£1¥»¥¯¥¿¤Î¤ß¥¨¥é¡¼¤Ë¤Ê¤ë¾ì¹ç¤Ç¤â¡¢1024 ¥Ð¥¤¥È¤¬ NULL Ëä¤á¤µ¤ì¤Æ¤·¤Þ¤¦ (¤È¤¤¤¦¤³¤È¤«?)

¡üSIGINFO ¤Ë¤è¤ë¾õÂÖÄÌÃÎ
FreeBSD ¤Î dd ¤Ï SIGINFO ¥·¥°¥Ê¥ë¤ò¼õ¤±¤ë¤È¡¢¸½ºß¤Î¾õÂÖ¤òɽ¼¨¤¹¤ë (½èÍý¤Ï¤½¤Î¤Þ¤Þ³¹Ô¤¹¤ë)¡£
% dd if=/dev/zero of=zero.dat count=10000000
(½èÍýÃæ¤Ê¤Î¤Ç²¿¤âɽ¼¨¤µ¤ì¤Ê¤¤¤¬¡¢¤³¤³¤Ç Ctrl-t ¤ò²¡¤·¤Æ SIGINFO ¤òÈô¤Ð¤¹)
load: 0.05 cmd: dd 5500 [running] 0.06u 0.93s 0% 564k
47717+0 records in
47717+0 records out
24431104 bytes transferred in 1.235103 secs (19780622 bytes/sec)
¢Í ÆþÎÏ¡¦½ÐÎϥ쥳¡¼¥É¿ô¡¦¥Ð¥¤¥È¿ô¤Ê¤É¤Î¾ðÊó¤¬É½¼¨¤µ¤ì¡¢¤µ¤é¤Ë½èÍý¤Ï³¤¯
(ºÆÅÙ Ctrl-t)
load: 0.12 cmd: dd 5500 [running] 0.12u 3.00s 0% 588k
145009+0 records in
145008+0 records out
74244096 bytes transferred in 3.606494 secs (20586225 bytes/sec)
¢Í ¼Â¹ÔÃæ¤Ç¤¢¤ì¤Ð²¿Å٤Ǥâ Ctrl-t ¤ÇºÇ¿·¤Î¾õÂÖ¤òɽ¼¨¤Ç¤­¤ë

¡ü;ÃÌ
dd ¥³¥Þ¥ó¥É¤Îµ¡Ç½¤Ï¡Öconvert and copy a file¡×¤Ê¤Î¤ÇËÜÅö¤Ï cc ¥³¥Þ¥ó¥É¤Ë¤·¤¿¤«¤Ã¤¿¤¬¡¢´û¤Ë C ¥³¥ó¥Ñ¥¤¥é¤¬ cc ¤È¤¤¤¦Ì¾Á°¤ò»È¤Ã¤Æ¤¤¤¿¤Î¤Ç¡¢»ÅÊý¤Ê¤¯ cc ¤Î¼¡¤Î dd ¤Ë¤·¤¿¤é¤·¤¤¡£
>> ¥³¥Þ¥ó¥É cp *   mkfile *
>> ÍѸ콸 ·ê¤¢¤­¥Õ¥¡¥¤¥ë *
>> ÆÉ¤ßÊý dd *

df¡¡¥Ç¥£¥¹¥¯¤Î»ÈÍѾõ¶·¤òɽ¼¨

¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤´¤È¤Ë¡¢¥Ç¥Ð¥¤¥¹Ì¾¡¢Á´ÍÆÎÌ¡¢»ÈÍÑÍÆÎÌ¡¢»Ä¤êÍÆÎÌ¡¢»ÈÍѳä¹ç¡¢¥Þ¥¦¥ó¥ÈÀè¤òɽ¼¨¤¹¤ë¡£
% df -k
Filesystem  1K-blocks     Used    Avail Capacity  Mounted on
/dev/sd0s1a    118959    71251    38192    65%    /
/dev/sd0s1f   3540086  2488705   768175    76%    /usr
/dev/sd0s1e    197951    19640   162475    11%    /var
procfs              4        4        0   100%    /proc
/dev/cd0c      662942   662942        0   100%    /cdrom
¡ü¥ª¥×¥·¥ç¥ó
-k 512¥Ð¥¤¥Èñ°Ì¤Ç¤Ï¤Ê¤¯¡¢1¥­¥í¥Ð¥¤¥Èñ°Ì¤Çɽ¼¨
-i i-node ¤Î¾ÃÈñÎ̤âɽ¼¨
i-node ¤Ï¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤¿¤Ó¤Ëɬ¤º°ì¤ÄɬÍפȤʤ롣i-node ¤òÁ´¤Æ»È¤¤¤Ä¤¯¤¹¤È¡¢¥Ç¥£¥¹¥¯ÍÆÎ̤˶õ¤­¤¬¤¢¤Ã¤Æ¤â¿·¤¿¤Ê¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤­¤Ê¤¯¤Ê¤ë¡£iused¡¦ifree¡¦%iused ¤¬ i-node ¤Ë´Ø¤ï¤ë¾ðÊó¤Ç¡¢¤½¤ì¤¾¤ì¡Ö»ÈÍÑÃæ¤Î i-node¡×¡Ö̤»ÈÍѤΠi-node¡×¡Öi-node ¤Î»ÈÍÑΨ¡×¤Ç¤¢¤ë¡£
Filesystem  1K-blocks     Used    Avail Capacity iused   ifree %iused  Mounted on
/dev/ad0s1a  37352396 16260170 18104036    47%  363569 4464589    8%   /
devfs               1        1        0   100%       0       0  100%   /dev
procfs              4        4        0   100%       1       0  100%   /proc
linprocfs           4        4        0   100%       1       0  100%   /usr/compat/linux/proc
-H ¿Í´Ö¤¬ÆÉ¤ß¤ä¤¹¤¤Ã±°Ì¤Çɽ¼¨
% df -H
Filesystem    Size   Used  Avail Capacity  Mounted on
/dev/ad0s1a    38G    17G    19G    47%    /
devfs         1.0K   1.0K     0B   100%    /dev
procfs        4.1K   4.1K     0B   100%    /proc
linprocfs     4.1K   4.1K     0B   100%    /usr/compat/linux/proc

ÉáÄÌ df ¥³¥Þ¥ó¥É¤ò¥ª¥×¥·¥ç¥ó¤Ê¤·¤Ç¼Â¹Ô¤¹¤ë¤È¡¢ÍÆÎ̤¬ 512 ¥Ð¥¤¥Èñ°Ì¤Çɽ¼¨¤µ¤ì¤Æ¤·¤Þ¤¤ ¤ï¤«¤ê¤Ë¤¯¤¤¤Î¤Ç¡¢¾å¤ÎÎã¤Î¤è¤¦¤Ë -k ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¤è¤¤¡£¤Þ¤¿¡¢-k ¥ª¥×¥·¥ç¥ó¤ÎÂå¤ï¤ê¤Ë´Ä¶­ÊÑ¿ô BLOCKSIZE ¤òÀßÄꤷ¤Æ¤ª¤¯¼ê¤â¤¢¤ë¡£
>> ´Ä¶­ÊÑ¿ô BLOCKSIZE *

df ¤Çɽ¼¨¤µ¤ì¤ë»ÈÍѳä¹ç (capacity) ¤Ï 100% ¤È¤Ê¤Ã¤Æ¤¤¤Æ¤âËÜÅö¤Ë¥Ç¥£¥¹¥¯¤¬°ìÇդˤʤäƤ¤¤ë¤ï¤±¤Ç¤Ï¤Ê¤¯¡¢¤¢¤ëÄøÅÙ;͵¤ò»ý¤¿¤»¤Æ¤¢¤ë¡£¤³¤Î;ʬ¤Ê¥¹¥Ú¡¼¥¹¤Ï®ÅÙ¸þ¾å¤Î¤¿¤á¤Ë»È¤ï¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢°ìÈ̥桼¥¶¤Ï¤³¤Î¥¹¥Ú¡¼¥¹¤òÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¡£¤¿¤À¤· root ¤À¤±¤ÏÎΰèÁ´ÂΤò»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¤â¤·¸ÂÅÙ°ìÇդޤǥե¡¥¤¥ë¤òºîÀ®¤¹¤ë¤È¡¢df ¤Îɽ¼¨¤¬ 100% ¤ò±Û¤¨¤Æ¡Ö110%¡×¤Ê¤É¤Èɽ¼¨¤µ¤ì¤ë¡£

FreeBSD 2.2.7-RELEASE¡Á5.2.1-RELEASE ¤Ç¤Ï¡¢¤³¤Î;ʬ¤Ê¥¹¥Ú¡¼¥¹¤¬Á´ÂΤΠ8% ³ÎÊݤµ¤ì¤ë¡£¤³¤Î¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸¤Ï¡¢¥Õ¥©¡¼¥Þ¥Ã¥È»þ¤Ë newfs ¥³¥Þ¥ó¥É¤Ç»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¤¬¡¢tunefs ¥³¥Þ¥ó¥É¤ÇưŪ¤ËÊѹ¹¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¢¤ë¡£

Solaris ¤ä HP-UX ɸ½à¤Î df (¤Ä¤Þ¤ê SystemV ¤Î df) ¤Ç¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë»ÈÍÑΨ¤¬É½¼¨¤µ¤ì¤Ê¤¤¤¿¤á¡¢¤ï¤«¤ê¤Å¤é¤¤¡£
% df
/                  (/dev/dsk/c0t0d0s0 ):  632572 ¥Ö¥í¥Ã¥¯   309231 files
/proc              (/proc             ):       0 ¥Ö¥í¥Ã¥¯     7851 files
/dev/fd            (fd                ):       0 ¥Ö¥í¥Ã¥¯        0 files
/opt               (/dev/dsk/c0t0d0s3 ): 3287522 ¥Ö¥í¥Ã¥¯   302842 files
/usr/local         (/dev/dsk/c0t0d0s5 ): 2832984 ¥Ö¥í¥Ã¥¯   325437 files
/home              (/dev/dsk/c1t1d0s0 ):39442983 ¥Ö¥í¥Ã¥¯  1904820 files
Solaris ¤Ç¤¢¤ì¤Ð
% df -k
HP-UX ¤Ç¤¢¤ì¤Ð
% bdf
¤È¤¹¤ë¤³¤È¤Ç¡¢»ÈÍÑΨ¤òɽ¼¨¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
>> ÀßÄê¥Õ¥¡¥¤¥ë /etc/fstab *
>> ÍѸ콸 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à *   ¥Õ¥¡¥¤¥ëÀ©¸Â¤Þ¤È¤á *
>> ÆÉ¤ßÊý df *

diff¡¡¥Õ¥¡¥¤¥ë¤Î°ã¤¤¤òɽ¼¨¡£¥Ñ¥Ã¥Á¤òºîÀ®¡£(º¹Ê¬¡¦º¹°Û¡¦Èæ³Ó)

¡üº¹Ê¬É½¼¨
2¤Ä¤Î¥Õ¥¡¥¤¥ë¤Î°ã¤¤¤òɽ¼¨¤¹¤ë¡£
% diff file1 file2
¤È¤¹¤ë¤È¡¢file1 ¤È file2 ¤ÎÁê°ãÅÀ¤òɽ¼¨¤¹¤ë¡£¥·¥¹¥Æ¥à¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤ò¤¤¤¸¤ë¾ì¹ç¤Ï¡¢ºÇ½é¤Ë
% cp rc.conf rc.conf.org
¤Ê¤É¤È¥ª¥ê¥¸¥Ê¥ë¤òÊݸ¤·¡¢Å¬»þ
% diff rc.conf rc.conf.org
¤È¤·¤Æº¹Ê¬¤ò¼è¤ë¤³¤È¤Ç¡¢½¤ÀµÅÀ¤¬°ìÌܤǤ狼¤ë¡£

¥Õ¥¡¥¤¥ë̾¤È¤·¤Æ - ¤ò»ØÄꤹ¤ë¤Èɸ½àÆþÎϤÈÈæ³Ó¤¹¤ë¡£Î㤨¤Ð
% command | diff - file
¤Ï command ¤Î½ÐÎÏ¤È file ¤ÎÆâÍÆ¤òÈæ³Ó¤¹¤ë¡£¤Þ¤¿¡¢foo/bar.dat ¤È hoge/bar.dat ¤òÈæ³Ó¤·¤¿¤¤¾ì¹ç¤Î¤è¤¦¤Ë¡¢¥Õ¥¡¥¤¥ë̾¤¬Æ±°ì¤Î¾ì¹ç¤Ï¡¢
% diff foo/bar.dat hoge
¤Î¤è¤¦¤Ë¡¢°ìÊý¤Î¥Õ¥¡¥¤¥ë̾¤Ï¾Êά¤Ç¤­¤ë¡£

°ú¿ô¤ÎξÊý¤Ë¥Ç¥£¥ì¥¯¥È¥ê̾¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢2¤Ä¤Î¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤Ë¸ºß¤¹¤ë¥Õ¥¡¥¤¥ë¤Îº¹Ê¬¤òɽ¼¨¤¹¤ë¡£
% diff dir1/ dir2/
¤¿¤À¤·¡¢ÊÒÊý¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤·¤«Â¸ºß¤·¤Ê¤¤¥Õ¥¡¥¤¥ë¡¢Î㤨¤Ð dir1 ¤Î²¼¤Ë¸ºß¤¹¤ë¤¬ dir2 ¤Î²¼¤Ë¤Ï¸ºß¤·¤Ê¤¤¥Õ¥¡¥¤¥ë¤Î¾ðÊó¤Ïɽ¼¨¤·¤Ê¤¤¡£Î¾Êý¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËƱ¤¸Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¾ì¹ç¤Î¤ß¡¢º¹Ê¬¤òɽ¼¨¤¹¤ë¤À¤±¤Ç¤¢¤ë¡£¤Þ¤¿¡¢-r ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤Ç¡¢ºÆµ¢Åª¤Ë¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ò¤¿¤É¤Ã¤Æ¤¤¤¯¡£Î㤨¤Ð¡¢
dir1/file1
dir1/subdir1/
dir1/subdir1/subfile1
dir1/subdir1/subfile2
dir2/file1
dir2/file2
dir2/subdir1/
dir2/subdir1/subfile1
dir2/subdir2/subfile1
¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤¿¤È¤­¡¢
% diff dir1/ dir2/
¤Ç¤Ï¡¢dir1/file1 ¤È dir2/file1 ¤Îº¹Ê¬¤·¤«É½¼¨¤·¤Ê¤¤¡£
% diff -r dir1/ dir2/
¤À¤È¡¢dir1/file1 ¤È dir2/file1¡¢dir1/subdir1/subfile1 ¤È dir2/subdir1/subfile1 ¤Îº¹Ê¬¤·¤«É½¼¨¤·¤Ê¤¤¡£

¡ü¥Ñ¥Ã¥ÁºîÀ®
¥Ñ¥Ã¥Á¤òºîÀ®¤¹¤ë¤È¤­¤Ë¤â diff ¥³¥Þ¥ó¥É¤¬»È¤¨¤ë¡£¤Þ¤ººÇ½é¤Ë¥Ñ¥Ã¥Á¤Î·Á¼°¤Ë¤Ä¤¤¤ÆÀâÌÀ¤»¤Í¤Ð¤Ê¤ë¤Þ¤¤¡£¥Ñ¥Ã¥Á¤Ë¤Ï¼ç¤Ë context ·Á¼°¡¢unified ·Á¼°¤Î2¼ïÎब¤¢¤ë (¾¤Ë¤â¥Î¡¼¥Þ¥ë·Á¼°¤È ed ·Á¼°¤¬¤¢¤ë¤¬¾Êά)¡£file.txt.org ¤È file.txt ¤È¤¤¤¦2¤Ä¤Î¥Õ¥¡¥¤¥ë¤òÎã¤Ë¤¢¤²¤ë¡£
% cat file.txt.org
abc
def
hij
% cat file.txt
abc
XXX
hij
file.txt.org ¤È file.txt ¤Î°ã¤¤¤Ï2¹ÔÌܤΡÖdef¡×¤È¡ÖXXX¡×¤À¤±¤Ç¤¢¤ë¡£¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤º¤Ë diff ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢
% diff file.txt.org file.txt
2c2
< def
---
> XXX
¤È¤Ê¤ë¡£¤³¤ì¤¬¥Î¡¼¥Þ¥ë·Á¼°¤Ç¤¢¤ë¡£½ÐÎϤò context ·Á¼°¤Ë¤¹¤ë¤Ë¤Ï -c ¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤ë¡£
% diff -c file.txt.org file.txt (context ·Á¼°¤Ç½ÐÎÏ)
*** file.txt.org Sun Sep 12 07:43:26 1999
--- file.txt Sun Sep 12 07:43:34 1999
***************
*** 1,3 ****
abc
! def
hij
--- 1,3 ----
abc
! XXX
hij
¤È¤¤¤¦·Á¼°¤Ë¤Ê¤ë¡£°ìÊý¡¢-u ¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤ë¤È unified ·Á¼°¤Ë¤Ê¤ê¡¢
% diff -u file.txt.org file.txt (unified ·Á¼°¤Ç½ÐÎÏ)
--- file.txt.org Sun Sep 12 07:43:26 1999
+++ file.txt Sun Sep 12 07:43:34 1999
@@ -1,3 +1,3 @@
abc
-def
+XXX
hij
¤È¡¢¤½¤Î̾¤ÎÄ̤ê unified (Åý°ì¤µ¤ì¤¿) ¤Ê½ÐÎϤ¬ÆÀ¤é¤ì¤ë¡£context diff ¤ä unified diff ¤Ï¡¢¥Î¡¼¥Þ¥ë·Á¼°¤È°ã¤¤¡¢¡Ö¤É¤Î¥Õ¥¡¥¤¥ë¤Îº¹Ê¬¤Ç¤¢¤ë¤«¡×¤È¤¤¤¦¾ðÊó¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤¬¡¢¥Î¡¼¥Þ¥ë·Á¼° (¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤Ê¤¤¤Ç¼Â¹Ô) ¤ä ed ·Á¼° (-e¥ª¥×¥·¥ç¥ó) ¤Ç¤Ï¡¢¥Õ¥¡¥¤¥ë¤Î¾ðÊó¤¬´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¡£

¤Ä¤Þ¤ê¡¢¥Î¡¼¥Þ¥ë·Á¼°¤ä ed ·Á¼°¤Î¥Ñ¥Ã¥Á¤ò patch ¥³¥Þ¥ó¥É¤ÇÅö¤Æ¤è¤¦¤È¤¹¤ë¤È¡¢¥Ñ¥Ã¥Á¤òÅö¤Æ¤ë¤Ù¤­¥Õ¥¡¥¤¥ë̾¤ò¥æ¡¼¥¶¼«¿È¤¬ÆþÎϤ·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£¤·¤«¤·¡¢context ·Á¼°¤ä unified ·Á¼°¤Ê¤é¡¢¥Ñ¥Ã¥Á¥Õ¥¡¥¤¥ë¼«ÂΤ˥ѥåÁ¤ÎÂоݤȤʤë¥Õ¥¡¥¤¥ë¤Î¾ðÊó¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¤ï¤¶¤ï¤¶¥æ¡¼¥¶¤¬¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤹ¤ëɬÍפϤʤ¤¡£¤è¤Ã¤Æ¡¢¥Ñ¥Ã¥Á¤òºîÀ®¤¹¤ëºÝ¤Ï¡¢context ¤« unified ·Á¼°¤ò»È¤¦¤Ù¤­¤Ç¤¢¤ë¡£¤Ê¤ª¡¢context ¤È unified ¤Î¤É¤Á¤é¤ò»È¤¦¤«¤Ï¹¥¤ß¤ÎÌäÂê¡£°Ê¹ß¤ÎÎã¤Ç¤Ï unified ·Á¼°¤ò»È¤¦¤¬¡¢ÆÃ¤ËÍýͳ¤Ï¤Ê¤¤¡£

¤Ç¤Ï¡¢ËÜÂê¤Ç¤¢¤ë¥Ñ¥Ã¥Á¤Îºî¤êÊý¤òÀâÌÀ¤¹¤ë¡£file.txt.org ¤È file.txt ¤Î¥Ñ¥Ã¥Á¤ò patch.txt ¤ËÊݸ¤¹¤ë¡£
% diff -u file.txt.org file.txt > patch.txt
¤³¤³¤ÇÂç»ö¤Ê¤Î¤Ï¡¢°ú¿ô¤Ç»ØÄꤹ¤ë file.txt.org ¤È file.txt ¤Î½çÈ֤Ǥ¢¤ë¡£¥Ñ¥Ã¥Á¤òºî¤ë¤È¤¤¤¦¤³¤È¤Ï¡¢Ã¯¤«¤Ë¥Ñ¥Ã¥Á¤òÅö¤Æ¤ÆÍߤ·¤¤¤ï¤±¤Ç¤¢¤ë¡£¤½¤Î¡Ö狼¡×¤Î¼ê¸µ¤Ë¤Ï¡¢ÅöÁ³¤É¤Á¤é¤«¤Î¥Õ¥¡¥¤¥ë¤·¤«Â¸ºß¤·¤Ê¤¤ (ξÊý¤¢¤ë¤Ê¤é¥Ñ¥Ã¥Á¤òÅö¤Æ¤ëɬÍפϤʤ¤)¡£°ú¿ô¤ÎºÇ½é¤Ë»ØÄꤹ¤ë¤Î¤Ï¡¢
¡Ö¸µ¤Î¥Õ¥¡¥¤¥ë¤ÈƱ¤¸ÆâÍÆ¤Î¥Õ¥¡¥¤¥ë̾¡×(from-file)
2ÈÖÌܤ˻ØÄꤹ¤ë¤Î¤Ï
¡Ö²þÊѸå¤Î¥Õ¥¡¥¤¥ë̾¡×(to-file)
¤Ç¤¢¤ë¡£

¥Ñ¥Ã¥Á¤òÅö¤Æ¤ë¿Í¤Î¼ê¸µ¤Ë¤Ï¡¢file.txt ¤È¤¤¤¦Ì¾Á°¤Î
abc
def
hij
¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¤Ï¤º¤Ç¤¢¤ë¡£°ìÊý¡¢¤³¤Á¤é¤Î¼ê¸µ¤Ë¤Ï¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤ÈƱ¤¸ÆâÍÆ¤Î file.txt.org ¤È¡¢ÆâÍÆ¤òÊѹ¹¤·¤¿¿·¤·¤¤ file.txt ¤¬¤¢¤ë¡£¤è¤Ã¤Æ¡¢
% diff -u file.txt.org file.txt
¤È¤¤¤¦½çÈ֤ˤ·¤Ê¤±¤ì¤Ð¤¤¤±¤Ê¤¤¡£¤³¤Î½çÈÖ¤òµÕ¤Ë¤¹¤ë¤È¥ê¥Ð¡¼¥¹¥Ñ¥Ã¥Á¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£
¥ê¥Ð¡¼¥¹¥Ñ¥Ã¥Á¡¦¥Ñ¥Ã¥Á¤ÎÅö¤ÆÊý¤Ï¡¢patch ¥³¥Þ¥ó¥É¤ÎÀâÌÀ¤ò»²¾È¤·¤Æ¤Û¤·¤¤¡£

¡ü¥ª¥×¥·¥ç¥ó
-c context diff ·Á¼°¤Î½ÐÎϤò¤¹¤ë¡£
-u unified diff ·Á¼°¤Î½ÐÎϤò¤¹¤ë¡£
-e ed diff ·Á¼°¤Î½ÐÎϤò¤¹¤ë¡£ÉáÄ̤ϻȤï¤Ê¤¤¡£
-r ¥Ç¥£¥ì¥¯¥È¥ê¤òÈæ³Ó¤·¤¿¤È¤­¡¢¤½¤Î²¼¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤òºÆµ¢Åª¤Ë¤¿¤É¤Ã¤Æ¤¤¤¯¡£
-a ¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤È¤·¤ÆÈæ³Ó¤¹¤ë¡£
-b ¶õÇò¡¦¥¿¥Ö¤Î¿ô¤Î°ã¤¤¤ò̵»ë¤¹¤ë¡£
-i Âçʸ»ú¡¦¾®Ê¸»ú¤Î°ã¤¤¤ò̵»ë¤¹¤ë¡£
-B ¶õ¹Ô¤Î¤¢¤ë¡¦¤Ê¤·¤Î°ã¤¤¤ò̵»ë¤¹¤ë¡£
-y 2¤Ä¤Î¥Õ¥¡¥¤¥ë¤ò¡¢²£¤Ëʤ٤ÆÉ½¼¨¤¹¤ë¡£
½½Ê¬¤ÊüËö¤Î²£Éý¤¬¤Ê¤¤¤È¸«¤Ë¤¯¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£-W ¥ª¥×¥·¥ç¥ó¤Ç²£Éý¤ò»ØÄê¤Ç¤­¤ë¡£
-W -y ¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤¿¤È¤­¤Î¡¢²£Éý¤ò»ØÄê¡£
% diff -y -W60 file1 file2
¢Í º¹Ê¬¤ò²£¤Ëʤ٤ÆÉ½¼¨¡£²£Éý¤Ï60ʸ»ú¡£
-q ¥Õ¥¡¥¤¥ë¤¬Æ±¤¸¤«¤É¤¦¤«¤À¤±¤òɽ¼¨¤¹¤ë¡£

¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ë¤Î¥Ñ¥Ã¥ÁÀ¸À®¤Ë¤Ï¡¢xdelta ¤ä bsdiff ¤ò»È¤¦¡£
>> ¥³¥Þ¥ó¥É patch *   cmp *   comm *   diff3 *   zdiff *   bsdiff *   xdelta *

diff3¡¡3¤Ä¤Î¥Õ¥¡¥¤¥ë¤Î°ã¤¤¤òɽ¼¨ (º¹Ê¬¡¦º¹°Û¡¦Èæ³Ó)

>> ¥³¥Þ¥ó¥É diff *   zdiff *

dig¡¡Ì¾Á°²ò·è¤ò¹Ô¤¦

http://X68000.q-e-d.net/~68user/net/resolver-1.html ¤ò»²¾È¡£
>> ¥³¥Þ¥ó¥É nslookup *   ping *   traceroute *   whois *

dirname¡¡¥Ñ¥¹Ì¾¡Ü¥Õ¥¡¥¤¥ë̾¤«¤é¥Õ¥¡¥¤¥ë̾¤òºï½ü¤¹¤ë

>> ¥³¥Þ¥ó¥É basename *   realpath *

display¡¡²èÁü¤òɽ¼¨¡¦ÊÔ½¸¤¹¤ë(ImageMagick)

>> ¥³¥Þ¥ó¥É convert *   identify *   ImageMagick *   xv *

dmesg¡¡¥·¥¹¥Æ¥à¤Î¥á¥Ã¥»¡¼¥¸¤òɽ¼¨

OS ¤Î¥Ö¡¼¥È»þ¤Î¥á¥Ã¥»¡¼¥¸¤ò¡¢¥Ö¡¼¥È¸å¤Ë»²¾È¤·¤¿¤¤¾ì¹ç¤Ë»È¤¦¡£¤Þ¤¿¡¢¥Ç¥£¥¹¥¯¤¬°ìÇդǥե¡¥¤¥ë¤ò½ñ¤­¹þ¤á¤Ê¤«¤Ã¤¿¡¢¤Ê¤É¤Î¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤âɽ¼¨¤µ¤ì¤ë¡£¤·¤«¤· rc.local ¤Ê¤É¤Çɽ¼¨¤µ¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Ïɽ¼¨¤µ¤ì¤Ê¤¤¡£
>> ÆÉ¤ßÊý dmesg *

du¡¡»ØÄê¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤Î¥Ç¥£¥¹¥¯»ÈÍÑÎ̤òºÆµ¢Åª¤Ëɽ¼¨¤¹¤ë

-L ¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤â·×»»¤¹¤ë
-a ³Æ¥Õ¥¡¥¤¥ë¤´¤È¤Ë»ÈÍÑÎ̤òɽ¼¨¤¹¤ë
-d ¿¼¤µ¡¡»ØÄꤷ¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Î¿¼¤µ¤À¤±¤·¤«É½¼¨¤·¤Ê¤¤¡£
-k ñ°Ì¤òKB¤Çɽ¼¨¤¹¤ë
du ¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥Ö¥í¥Ã¥¯Ã±°Ì¤ÇÃͤòɽ¼¨¤¹¤ë¡£°ìÈÌŪ¤ÊUNIX¤Ï1¥Ö¥í¥Ã¥¯¡á512¥Ð¥¤¥È¤È¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢ÉáÄÌ¤Ë du ¤ò¼Â¹Ô¤¹¤ë¤È¡¢ÃͤÏ512KBñ°Ì¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£1K¥Ð¥¤¥Èñ°Ì¤Çɽ¼¨¤·¤¿¤¤¾ì¹ç¤Ï¡¢-k ¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤ë¡£¤Þ¤¿¡¢´Ä¶­ÊÑ¿ô BLOCKSIZE ¤Ëñ°Ì¤ò»ØÄꤷ¤Æ¤â¤è¤¤¡£
% du ¡Ä 512¥Ð¥¤¥Èñ°Ì
% du -k ¡Ä 1¥­¥í¥Ð¥¤¥Èñ°Ì
% setenv BLOCKSIZE 1024
% du ¡Ä 1¥­¥í¥Ð¥¤¥Èñ°Ì
% setenv BLOCKSIZE 1048576
% du ¡Ä 1¥á¥¬¥Ð¥¤¥Èñ°Ì
% setenv BLOCKSIZE 1073741824
% du ¡Ä 1¥®¥¬¥Ð¥¤¥Èñ°Ì
>> ´Ä¶­ÊÑ¿ô BLOCKSIZE *
-s »ØÄê¥Ç¥£¥ì¥¯¥È¥ê¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Î»ÈÍÑÎ̤òɽ¼¨¤·¤Ê¤¤¡£
du / ¤À¤È /usr¡¢/bin¡¢/etc¡¢¤µ¤é¤Ë /usr/bin ¤ä /usr/local/bin ¤Ê¤É¤ÎÍÆÎ̤âɽ¼¨¤¹¤ë¤¬¡¢-s ¤ò»ØÄꤹ¤ë¤È
% du -s /
/ 6563241
¤È¡¢Á´¤Æ¤ÎÍÆÎ̤ò¹ç·×¤·¤¿Ãͤ¬É½¼¨¤µ¤ì¤ë¡£
% du -s /*
¤È¤¹¤ë¤È¡¢¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤òɽ¼¨¤»¤º¤Ë / °Ê²¼¤Î³Æ¥Ç¥£¥ì¥¯¥È¥ê¤Î¥µ¥¤¥º¤òɽ¼¨¤¹¤ë¡£
-c Á´¤Æ¤Î¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤ÎÍÆÎ̤ιç·×¤òɽ¼¨ (FreeBSD 2.2.7-RELEASE °Ê¹ß)
>> ¥³¥Þ¥ó¥É xdu *
>> ÆÉ¤ßÊý du *

dvi2ps¡¡DVI ¥Õ¥¡¥¤¥ë¤ò PostScript ·Á¼°¤ËÊÑ´¹¤¹¤ë

jlatex ¥³¥Þ¥ó¥É¤Ç DVI ¥Õ¥¡¥¤¥ë¤òºî¤Ã¤¿¤é¡¢
% dvi2ps foo.dvi | lp -d printer_name
¤È¤¹¤ë¤³¤È¤Ç°õºþ¤Ç¤­¤ë¡£
>> ¥³¥Þ¥ó¥É xdvi *   gs *   dvi2tty *   a2ps *

dvi2tty¡¡DVI ¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥½¡¼¥ë¤Ç¥×¥ì¥Ó¥å¡¼¤¹¤ë

ÉáÄÌ¤Ï DVI ¥Õ¥¡¥¤¥ë¤Ï xdvi ¤Ç¥×¥ì¥Ó¥å¡¼¤¹¤ë¤¬¡¢xdvi ¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï X ¤¬É¬ÍפǤ¢¤ë¡£dvi2tty¤Ï¡¢DVI ¥Õ¥¡¥¤¥ë¤ò¥Æ¥­¥¹¥È·Á¼°¤ËÊÑ´¹¤·¤Æ½ÐÎϤ¹¤ë¤Î¤Ç¡¢¥³¥ó¥½¡¼¥ë¾å¤«¤é¤Ç¤â¥×¥ì¥Ó¥å¡¼¤Ç¤­¤ë¡£¤¿¤À¤·¤½¤Îʬ¡¢Ê¸»ú¤ÎÂ礭¤µ¤ä¿ô¼°¤Ê¤É¤Îɽ¼¨Ç½ÎϤÏÄ㤤¡£
>> ¥³¥Þ¥ó¥É xdvi *   dvi2ps *

echo¡¡Ê¸»úÎó¤òɽ¼¨

echo ¤Ï°ú¿ô¤ÇÍ¿¤¨¤¿Ê¸»úÎó¤òɸ½à½ÐÎϤ˽ÐÎϤ¹¤ë¤À¤±¤Î¥³¥Þ¥ó¥É¤Ç¤¢¤ë¡£¥·¥§¥ë¤ÎÆâÉô¥³¥Þ¥ó¥É¤Î echo ¤È¡¢/bin/echo ¤¬Â¸ºß¤¹¤ë¤³¤È¤ËÃí°Õ¡£
% echo abc
abc
¢Í °ú¿ô¤Ç»ØÄꤷ¤¿Ê¸»úÎó¤òɽ¼¨¤¹¤ë
% echo abc def abc def
¢Í Ê£¿ô¤Î°ú¿ô¤òÍ¿¤¨¤ë¤È¡¢¤¹¤Ù¤Æ¤òɽ¼¨¤¹¤ë
% echo "*hoge fuga~ [??]" *hoge fuga ??
¢Í ¥á¥¿¥­¥ã¥é¥¯¥¿¤äϢ³¤·¤¿¶õÇò¤ò´Þ¤à¾ì¹ç¤Ï¥À¥Ö¥ë¥¯¥©¡¼¥È¤Ç°Ï¤à
% echo $path /sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin ...
¢Í ¥·¥§¥ëÊÑ¿ô¤òɽ¼¨
% echo $PATH /sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:...
¢Í ´Ä¶­ÊÑ¿ô¤òɽ¼¨

echo ¥³¥Þ¥ó¥É¤Ë¤ª¤±¤ë²þ¹ÔÍÞ»ß¤Ë¤Ï 2¼ïÎà¤ÎÊýË¡¤¬¤¢¤ê¡¢Åý°ì¤·¤¿¤ä¤êÊý¤Ï¸ºß¤·¤Ê¤¤¡£
% echo -n abc; echo def
abcdef
¢Í -n ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢ºÇ¸å¤Î²þ¹Ô¤òÍ޻ߤ¹¤ë echo ¤â¤¢¤ë
% echo 'abc\c'; echo def
abcdef
¢Í °ìÊý¡¢ËöÈø¤Ë \c ¤òÉÕ¤±¤ë¤È¡¢ºÇ¸å¤Î²þ¹Ô¤òÍ޻ߤ¹¤ë echo ¤â¤¢¤ë
Î㤨¤Ð FreeBSD¡¦Linux ¤Î /bin/echo ¤Ï -n ÇÉ¡¢Solaris ¤Ê¤É SystemV ·Ï¤Î /bin/echo ¤Ï \c ÇÉ¡¢FreeBSD ¤Î sh (ash) ¤Ï -n ÇÉ¡¢bash ¤Ï -n ÇÉ¡¢tcsh ¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï -n ÇɤÀ¤¬¥·¥§¥ëÊÑ¿ô echo_style ¤ÇÊѹ¹²Äǽ¡¢¤È¤¤¤Ã¤¿¥«¥ª¥¹¾õÂ֤Ǥ¢¤ë¡£²þ¹Ô¤Ë¤Ä¤¤¤ÆÇº¤ß¤¿¤¯¤Ê¤¤¾ì¹ç¤Ï¡¢echo ¥³¥Þ¥ó¥É¤Ç¤Ï¤Ê¤¯ printf ¥³¥Þ¥ó¥É¤ò»È¤¦¤³¤È¡£
>> ¥³¥Þ¥ó¥É printf *

csh¡¦tcsh ¤ÎÆâÉô¥³¥Þ¥ó¥É¤Ç¤¢¤ë echo ¥³¥Þ¥ó¥É¤Ç²þ¹Ô¤òÍ޻ߤ¹¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥·¥§¥ëÊÑ¿ô echo_style ¤ò»²¾È¡£
>> C¥·¥§¥ëÊÑ¿ô echo_style *

echo ¤Ï xargs ¤ÈÁȤ߹ç¤ï¤»¤Æ¤âÊØÍø¤Ç¤¢¤ë¡£
>> ¥³¥Þ¥ó¥É xargs *
>> ÍѸ콸 ¥Õ¥¡¥¤¥ë¥°¥í¥Ö *

egrep¡¡³ÈÄ¥Àµµ¬É½¸½¤ò»È¤¨¤ë grep

egrep ¤Ï grep -E ¤È¤Û¤ÜƱ¤¸¤Ç¡¢»ØÄꤷ¤¿¸¡º÷¥Ñ¥¿¡¼¥ó¤Ï³ÈÄ¥Àµµ¬É½¸½¤È¤·¤Æ°·¤ï¤ì¤ë¡£¤¿¤À¤·¡¢grep -E ¤Ç¤Ï {} ¤¬·«¤êÊÖ¤·²ó¿ô¤òɽ¤¹¤¬¡¢egrep ¤Ç {} ¤ò»È¤¦¤È¡¢¤¿¤À¤Î `{}' ¤È¤¤¤¦Ê¸»úÎó¤È¤·¤Æ°·¤ï¤ì¤ë¡£
>> ¥³¥Þ¥ó¥É grep *   fgrep *   zgrep *   agrep *
>> ÆÉ¤ßÊý egrep *

elvis¡¡ÆüËܸì¤òɽ¼¨¤Ç¤­¤ë vi

>> ¥³¥Þ¥ó¥É vi *

emacs¡¡¹âÀ­Ç½¥¨¥Ç¥£¥¿

¤È¤Ã¤Æ¤âͭ̾¤Ê¥¨¥Ç¥£¥¿¡£¾Ü¤·¤¤ÀâÌÀ¤Ï mule ¤Î¹à¤ò»²¾È¡£
>> ¥³¥Þ¥ó¥É mule *   xemacs *

enlightenment¡¡¥°¥é¥Õ¥£¥«¥ë¤Ê¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã

¤¢¤­¤ì¤ë¤Û¤É¹âµ¡Ç½¡£¤¢¤­¤ì¤ë¤Û¤É¤Î¥«¥¹¥¿¥Þ¥¤¥º¤¬²Äǽ¡£¤½¤Îʬ¡¢¤¢¤­¤ì¤ë¤Û¤É½Å¤¤¡£¤´¤Æ¤´¤Æ¤·¤¿¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤¬¤ª¹¥¤ß¤Ê¤é¡¢»î¤·¤Æ¤ß¤ë²ÁÃͤϽ½Ê¬¤Ë¤¢¤ë¡£
>> ¥³¥Þ¥ó¥É twm *   fvwm *   fvwm2 *   fvwm95-2 *   afterstep *

env¡¡´Ä¶­ÊÑ¿ô¤ò¥»¥Ã¥È¤·¤Æ¥³¥Þ¥ó¥É¤ò¼Â¹Ô

ÆÃÄê¤Î¥³¥Þ¥ó¥É¤À¤±¤Ë´Ä¶­ÊÑ¿ô¤òǧ¼±¤µ¤»¤¿¤¤¤È¤­¤Ë»È¤¦¡£
% env LANG=ja_JP.eucJP netscape &
% alias jman LANG=ja_JP.eucJP jman
% alias jman env LANG=ja man
´Ä¶­ÊÑ¿ô¤ò
% env A=1 B=2 C=3 command
¤Ê¤É¤ÈÍåÎ󤹤뤳¤È¤Ç¡¢Ê£¿ô¤Î´Ä¶­ÊÑ¿ô¤òƱ»þ¤Ë»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤ë¡£

°ú¿ô¤Ë `-' ¤òÉÕ¤±¤ë¤È¡¢Á´¤Æ¤Î´Ä¶­ÊÑ¿ô¤¬¥¯¥ê¥¢¤µ¤ì¤ë¡£
% env - printenv
printenv ¤Ï´Ä¶­ÊÑ¿ô¤òÁ´¤ÆÉ½¼¨¤¹¤ë¥³¥Þ¥ó¥É¤À¤¬¡¢env ¤Î°ú¿ô¤Ë `-' ¤òÉÕ¤±¤Æ¤¤¤ë¤Î¤Ç¡¢Á´¤Æ¤Î´Ä¶­ÊÑ¿ô¤¬¥¯¥ê¥¢¤µ¤ì¤Æ¤«¤é printenv ¤ò¼Â¹Ô¤¹¤ë¤¿¤á¡¢printenv ¤Ï²¿¤âɽ¼¨¤·¤Ê¤¤¤Ï¤º¤Ç¤¢¤ë¡£

`-' ¤Î¸å¤Ë´Ä¶­ÊÑ¿ô¤ò»ØÄꤹ¤ë¤³¤È¤Ç¡¢ÆÃÄê¤Î´Ä¶­ÊÑ¿ô°Ê³°¤ò¥¯¥ê¥¢¤·¤Æ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¡£
% env - TEST=sample printenv
TEST=sample

>> ¥³¥Þ¥ó¥É printenv *   setenv *
>> ÍѸ콸 ¥·¥§¥Ð¥ó¥° *

Eterm¡¡Çطʤ˲èÁü¤òޤì¤ë¥¿¡¼¥ß¥Ê¥ë¥½¥Õ¥È

ÇØ·Ê¤Ë²èÁü¤òŽ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£Enlightenment ¤ÈÌ©Àܤ˴ط¸¤·¤Æ¤¤¤ë¤¬¡¢Â¾¤Î¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤«¤é¤âÍøÍѲÄǽ¡£
% Eterm --background-pixmap file
¤Ç¡¢file ¤òÇØ·Ê¤ËŽ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£file ¤Ë¤Ï¡¢pixmap¡¦GIF¡¦JPEG ¤Ê¤É¡¢¤Û¤È¤ó¤É¤Î²èÁü·Á¼°¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¤½¤Î¾¤Î¤Û¤È¤ó¤É¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¢xterm¡¦kterm ¤Ê¤É¤È¶¦ÄÌ (kterm ¤Î¹à¤ò»²¾È)¡£

kterm¡¢xterm ¤Î¤è¤¦¤Ë¸Å¤¯¤«¤é¤¢¤ë¥³¥Þ¥ó¥É¤Ç¤Ï¤Ê¤¤¤Î¤Ç¡¢·ë¹½ÉÔ°ÂÄê¡£¥¦¥£¥ó¥É¥¦¥µ¥¤¥º¤òÊѹ¹¤¹¤ë¤È´Êñ¤ËÍî¤Á¤Æ¤¯¤ì¤ë¡£ÆüËܸì¤Îɽ¼¨¡¢kinput2 ¤«¤é¤ÎÆþÎϤâ¤Ç¤­¤ë¤é¤·¤¤¤¬¡¢¤³¤Á¤é¤Î´Ä¶­¤Ç¤ÏÀ®¸ù¤·¤Æ¤¤¤Ê¤¤¡£
>> ¥³¥Þ¥ó¥É enlightenment *   kterm *   xterm *

ethereal¡¡¥Ñ¥±¥Ã¥È´Æ»ë¥Ä¡¼¥ë

¥Í¥Ã¥È¥ï¡¼¥¯¤òή¤ì¤ë¥Ñ¥±¥Ã¥È¤ò²òÀϤ¹¤ë¥Ä¡¼¥ë¡£tcpdump ¤Î¤è¤¦¤Ê¥­¥ã¥é¥¯¥¿¥Ù¡¼¥¹¤Î¥×¥í¥°¥é¥à¤È¤Ï°ã¤¤¡¢GUI ¤ÇÁàºî¡¦É½¼¨¤¬²Äǽ¡£¥×¥í¥È¥³¥ë¤Î³Ø½¬ÍÑ¤Ë¤ÏÆÃ¤Ë¸ú²ÌŪ¡£

»ÈÍÑÎã¤Ï http://X68000.q-e-d.net/~68user/net/resolver-1.html ¤ò»²¾È¡£
>> ¥³¥Þ¥ó¥É tcpdump *

euctosj¡¡Ê¸»ú¥³¡¼¥É¤òÊÑ´¹¤¹¤ë (¥Ñ¥¤¥×)

Solaris ɸ½à¤Î EUC-JP¡¦Shift_JIS¡¦ISO-2022-JP ¤Îʸ»ú¥³¡¼¥ÉÊÑ´¹¥³¥Þ¥ó¥É¡£¤³¤³¤Ç¤ÏÂåɽŪ¤Ë euctosj ¤ò¤¢¤²¤¿¤¬¡¢Á´Éô¤Ç 6¤Ä¤Î¥³¥Þ¥ó¥É¤¬ÍѰդµ¤ì¤Æ¤¤¤ë¡£
  • euctosj ¡Ä EUC-JP ¤«¤é Shift_JIS ¤ËÊÑ´¹
  • euctojis ¡Ä EUC-JP ¤«¤é ISO-2022-JP (JIS) ¤ËÊÑ´¹
  • sjtoeuc ¡Ä Shift_JIS ¤«¤é EUC-JP ¤ËÊÑ´¹
  • sjtojis ¡Ä Shift_JIS ¤«¤é ISO-2022-JP (JIS) ¤ËÊÑ´¹
  • jistoeuc ¡Ä ISO-2022-JP (JIS) ¤«¤é EUC-JP ¤ËÊÑ´¹
  • jistosj ¡Ä ISO-2022-JP (JIS) ¤«¤é Shift_JIS ¤ËÊÑ´¹
>> ¥³¥Þ¥ó¥É nkf *   qkc *   iconv *

exec¡¡¸½ºß¼Â¹ÔÃæ¤Î¥·¥§¥ë¤ËÂå¤ï¤ê¡¢»ØÄꤷ¤¿¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë

¥·¥§¥ë¤«¤é
% ls
¤È¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢¥·¥§¥ë¤Ï°Ê²¼¤Î¤³¤È¤ò¹Ô¤¦¡£
  • ¥·¥¹¥Æ¥à¥³¡¼¥ë fork(2) ¤ò¸Æ¤Ó¡¢»Ò¥×¥í¥»¥¹¤òÀ¸À®¤¹¤ë¡£
  • »Ò¥×¥í¥»¥¹¤Ï ls ¤ò exec(2) ¤¹¤ë¡£
  • ¿Æ¥×¥í¥»¥¹¤Ç¤¢¤ë¥·¥§¥ë¤Ï¡¢ls ¤Î¼Â¹Ô¤¬´°Î»¤¹¤ë¤Î¤òÂÔ¤Ä (wait ¤¹¤ë)¡£

°ìÊý¡¢
% exec ls
¤È exec ¤ò»È¤¦¤È¡¢¥·¥§¥ë¤Ï fork(2) ¤»¤º¡¢¤¤¤­¤Ê¤ê ls ¥³¥Þ¥ó¥É¤ò exec(2) ¤¹¤ë (¥·¥§¥ë¤ÎÆâÉô¥³¥Þ¥ó¥É exec(1) ¤ò¼Â¹Ô¤¹¤ë¤È¡¢ÆâÉô¤Ç¥·¥¹¥Æ¥à¥³¡¼¥ë exec(2) ¤¬¸Æ¤Ð¤ì¤ë¤È¤¤¤¦¤³¤È)¡£¥·¥§¥ë¤Î¥×¥í¥»¥¹¾ðÊó¤Ï ls ¤Î¥×¥í¥»¥¹¤Î¾ðÊó¤Ç¾å½ñ¤­¤µ¤ì¤ë¡£¤Ê¤ª¡¢»Ò¥×¥í¥»¥¹¤ÏÀ¸À®¤µ¤ì¤Ê¤¤¤Î¤Ç¡¢¥·¥§¥ë¤È ls ¤Î¥×¥í¥»¥¹ ID ¤ÏƱ¤¸¤Ë¤Ê¤ë¡£

¼ÂºÝ¤Ë¤ä¤Ã¤Æ¤ß¤ë¤È¤ï¤«¤ë¤¬¡¢kterm ¤Ê¤É¤ÎüËö¥¨¥ß¥å¥ì¡¼¥¿¾å¤Ç¥·¥§¥ë¤òư¤«¤·¤Æ¤¤¤ë¤È¤­¤Ë
% exec ls
¤È¤¹¤ë¤È°ì½Ö ls ¤Î·ë²Ì¤¬¼Â¹Ô¤µ¤ì¤ë¤¬¡¢kterm ¤Ï½ªÎ»¤·¤Æ¤·¤Þ¤¦ (kterm ¤ÏÄ̾亮¥§¥ë¤¬½ª¤ï¤ë¤Î¤òÂԤäƤ¤¤ë¤¬¡¢¥·¥§¥ë¤Î¥×¥í¥»¥¹¤Ï ls ¤Î¥×¥í¥»¥¹¤Ë¾å½ñ¤­¤µ¤ì¤ë¤Î¤Ç¡¢ls ¤¬½ªÎ»¤¹¤ë¤È kterm ¤â½ªÎ»¤·¤Æ¤·¤Þ¤¦)¡£

exec ¤Î¤Ä¤«¤¤¤É¤³¤í¤Ï°Ê²¼¤Î¤È¤ª¤ê¡£

¡üÎã 1. ~/.xinitrc ¤ä ~/.xsession
~/.xinitrc ¤ä ~/.xsession ¤Ç¤Ï¡¢Ä̾ï kterm ¤Ê¤É¤ÎüËö¥¨¥ß¥å¥ì¡¼¥¿¤ò¿ô¸Ä¸Æ¤Ó¡¢twm ¤ä fvwm ¤Ê¤É¤Î¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤òµ¯Æ°¤¹¤ë¡£¤³¤³¤Ç
#!/bin/sh
kterm -g 102x60+10+10 &
kterm -g 90x52-10-10 &
twm
¤Ç¤Ï¤Ê¤¯¡¢
#!/bin/sh
kterm -g 102x60+10+10 &
kterm -g 90x52-10-10 &
exec twm # ¤³¤³¤Ç exec ¤ò»È¤¦
¤È½ñ¤¯¤È¤è¤¤¡£Á°¼Ô¤Ï twm ¤ò¼Â¹Ô¤·¤Æ¤¤¤ë´Ö (¢â¥æ¡¼¥¶¤¬¥í¥°¥¤¥ó¤·¤Æ¤¤¤ë´Ö)¡¢sh ¤¬¤º¤Ã¤È twm ¤Î½ªÎ»¤òÂԤäƤ¤¤ë¡£¤·¤«¤·¸å¼Ô¤Ï sh ¤Î¥×¥í¥»¥¹¤Ï twm ¤Î¥×¥í¥»¥¹¤Ç¾å½ñ¤­¤µ¤ì¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢Á°¼Ô¤è¤ê¥×¥í¥»¥¹¿ô¤¬°ì¤Ä¾¯¤Ê¤¯¤Æ¤¹¤à¡£

¡üÎã 2. wrapper ¥¹¥¯¥ê¥×¥È
Î㤨¤Ð FreeBSD 4.7-RELEASE ¤Î /usr/bin/pagesize¡£Ãæ¿È¤Ï°Ê²¼¤Î¤è¤¦¤Ê sh ¥¹¥¯¥ê¥×¥È¤Ç¡¢sysctl ¤ò¼Â¹Ô¤¹¤ë¤À¤±¤Î wrapper ¥¹¥¯¥ê¥×¥È¤Ç¤¢¤ë¡£
#!/bin/sh -
PATH=/bin:/usr/bin:/sbin:/usr/sbin; export PATH
exec sysctl -n hw.pagesize
¤³¤ì¤â sysctl ¤ò¼Â¹Ô¤¹¤ë´Ö¡¢/bin/sh ¤òÂÔ¤¿¤»¤Ê¤¯¤Æ¤è¤¤¤È¤¤¤¦¸ú²Ì¤¬¤¢¤ë¡£

ƱÍͤˡ¢FreeBSD 4.7-RELEASE ¤ÇÄ´¤Ù¤Æ¤ß¤ë¤È¡¢
  • /usr/bin/clear ¤Ï tput ¤ò exec ¤¹¤ë
  • /usr/bin/sockstat ¤Ï netstat ¤ò exec ¤¹¤ë
  • /usr/bin/perldoc ¤Ï perl ¤ò exec ¤¹¤ë
  • gs ÉÕ°¤Î¥×¥í¥°¥é¥à (pf2afm¡¢ps2pdf ¤Ê¤É) ¤Ï gs ¤ò exec ¤¹¤ë
¤Ê¤É¤Ê¤É¡¢Â¿¤¯¤Î wrapper ¥¹¥¯¥ê¥×¥È¤¬ exec ¤Ç¥³¥Þ¥ó¥É¤ò¸Æ¤ó¤Ç¤¤¤ë¡£

¡ü¤Þ¤È¤á
exec ¤Ë¤è¤ë¸ú²Ì¤Ï°Ê²¼¤ÎÄ̤ꡣ
  • fork(2) ¤Ç»Ò¥×¥í¥»¥¹¤òÀ¸À®¤·¤Ê¤¯¤Æ¤¹¤à¡£fork(2) ¤Ï¤«¤Ê¤ê½Å¤¤¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ç¤¢¤ë¡£fork(2) ¤¬½Å¤¤¤Î¤Ç¡¢vfork(2) ¤¬ºî¤é¤ì¤¿¤¯¤é¤¤½Å¤¤¡£¤¿¤À¡¢¸½Âå¤Î UNIX ¤Ç¤Ï copy-on-write ¤Î¸ú²Ì¤Ë¤è¤ê¡¢°ÊÁ°¤Û¤É fork(2) ¤¬½Å¤¤¤ï¤±¤Ç¤Ï¤Ê¤¤¡£
  • ¿Æ¥×¥í¥»¥¹¤¬»Ò¥×¥í¥»¥¹¤Î½ªÎ»¤òÂÔ¤ÄɬÍפ¬¤Ê¤¤¡£1 ¥×¥í¥»¥¹Ê¬É⤯¤ï¤±¤Ç¤¢¤ë¡£

exec ¤ò 1²ó»È¤¦¤³¤È¤Ë¤è¤ë®ÅÙ¸þ¾å¡¦¥á¥â¥êÎ̺︺¸ú²Ì¤Ï¤¿¤¤¤·¤¿¤³¤È¤Ï¤Ê¤¤¡£¤¿¤À¤·¿ôÉ´²ó¡¦¿ôÀé²óʬ³¤¯¤è¤¦¤Ê¤é¡¢¿Ð¤âÀѤâ¤ì¤Ð¡Ä¤È¤Ê¤ë¡£Î㤨¤ÐÂç³Ø¤Î¤è¤¦¤Ê¡Ö1¤Ä¤ÎÂç·¿¥µ¡¼¥Ð¤È¿ô½½Âæ¤Î X üËö¡×¤È¤¤¤¦¾õ¶·¤Ç¡¢¾åµ­¤ÎÎã 1 ¤ò¹Í¤¨¤ë¤È¡¢
twm
¤ÎÉôʬ¤ò
exec twm
¤È¤¹¤ë¤À¤±¤Ç¡¢°ìµ¤¤Ë¿ô½½¥×¥í¥»¥¹¤¬É⤯¤ï¤±¤Ç¤¢¤ë¡£

export¡¡´Ä¶­ÊÑ¿ô¤òÀßÄꤹ¤ë¡£sh¡¦bash ¤ÎÆâÉô¥³¥Þ¥ó¥É¡£

sh¡¦bash ¤Ç´Ä¶­ÊÑ¿ô¤òÀßÄꤹ¤ë¤Ë¤Ï¡¢¤Þ¤º¥·¥§¥ëÊÑ¿ô¤ò¥»¥Ã¥È¤·¡¢¤½¤Î¸å¤Ë export ¤ò¼Â¹Ô¤¹¤ë¡£
FOO="BAR"
export FOO
bash ¤ä FreeBSD ¤Î sh (ash) ¤Ç¤Ï¡¢¤¤¤­¤Ê¤ê export ¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ç´Ä¶­ÊÑ¿ô¤ÎÀßÄ꤬²Äǽ¤Ç¤¢¤ë¡£
export FOO="BAR"
¤¿¤À¤·¡¢Solaris ¤ä HP-UX ¤Ê¤É¤Î sh ¤Ç¤Ï¾åµ­¤Î¤è¤¦¤Ê¤ä¤êÊý¤Ï¥¨¥é¡¼¤È¤Ê¤ë¡£°Ü¿¢À­¤ò½Å»ë¤¹¤ë¾ì¹ç¤Ï°ìÅÙ¥·¥§¥ëÊÑ¿ô¤ËÃͤò¥»¥Ã¥È¤·¤Æ¤«¤é export ¤ò¼Â¹Ô¤¹¤ë¤³¤È¤ò¤ª´«¤á¤¹¤ë¡£

export ¤·¤¿´Ä¶­ÊÑ¿ô¤òºï½ü¤¹¤ë¤Ë¤Ï unset ¥³¥Þ¥ó¥É¤ò»È¤¦¡£
$ FOO="BAR"
$ export FOO
$ printenv FOO
BAR
¢Í FOO=BAR ¤Ç¤¢¤ë¤³¤È¤¬¤ï¤«¤ë
$ unset FOO
$ printenv FOO
¢Í ²¿¤âɽ¼¨¤µ¤ì¤Ê¤¤ (´Ä¶­ÊÑ¿ô¤¬ºï½ü¤µ¤ì¤¿¤È¤¤¤¦¤³¤È)

csh¡¦tcsh ¤Ç´Ä¶­ÊÑ¿ô¤òÀßÄꤹ¤ë¤Ë¤Ï setnev ¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¡£
>> ¥³¥Þ¥ó¥É env *   printenv *   setenv *   set *

exit¡¡¸½ºß¤Î¥·¥§¥ë¤ò½ªÎ»¤¹¤ë¡£¥·¥§¥ë¤ÎÆâÉô¥³¥Þ¥ó¥É¡£

¥í¥°¥¢¥¦¥È¤·¤¿¸å¤â¡¢¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤µ¤»Â³¤±¤¿¤±¤ì¤Ð nohup ¤ò»È¤¦¤È¤è¤¤¡£

¤â¤· Ctrl-Z ¤ä stop ¥³¥Þ¥ó¥É¤Ê¤É¤Ç¥µ¥¹¥Ú¥ó¥É (ÃæÃÇ) ¤·¤¿¥¸¥ç¥Ö¤¬¤¢¤ë¤Î¤Ë exit ¤·¤è¤¦¤È¤·¤¿¾ì¹ç¡¢
There are suspended jobs.
¤ä
You have stopped jobs.
¤Ê¤É¤È·Ù¹ð¤µ¤ì¤Æ¥·¥§¥ë¤Ï½ªÎ»¤·¤Ê¤¤¡£jobs ¥³¥Þ¥ó¥É¤Ç¼Â¹ÔÃæ¤Î¥¸¥ç¥Ö¤ò³Îǧ¤·¡¢Âн褷¤è¤¦¡£

·Ù¹ð¤¬½Ð¤Æ¤â¡¢¤â¤¦°ìÅÙ exit ¤È¤¹¤ì¤Ð¥µ¥¹¥Ú¥ó¥É¤·¤¿¥¸¥ç¥Ö¤ò»Ä¤·¤Æ¥·¥§¥ë¤Ï½ªÎ»¤¹¤ë¡£¤½¤Î¾ì¹ç¤Ï¥×¥í¥»¥¹¤Ë SIGHUP ¤¬Á÷¤é¤ì¡¢(ÂçÄñ¤Î¾ì¹ç¤Ï) ¥×¥í¥»¥¹¤Ï½ªÎ»¤¹¤ë¡£¤·¤«¤·¤Ê¤ë¤Ù¤¯¥¸¥ç¥Ö¤ò¼«Ê¬¤Ç»ÏËö¤·¤Æ¤«¤é exit ¤¹¤ëÊý¤¬¤è¤¤¤À¤í¤¦¡£
>> C¥·¥§¥ëÊÑ¿ô ignoreeof *   savehist *
>> ¥³¥Þ¥ó¥É nohup *   jobs *

expand¡¡¥Õ¥¡¥¤¥ëÃæ¤Î¥¿¥Ö¤ò¥¹¥Ú¡¼¥¹¤ËÊÑ´¹¤¹¤ë (¥Ñ¥¤¥×)

fold ¤ä TeX ¤Îʸ¾ÏÃæ¤Ê¤É¤Ï¡¢¥¿¥Ö¤òǧ¼±¤·¤Æ¤¯¤ì¤Ê¤¤¤Î¤Ç¡¢»öÁ°¤Ë¥¿¥Ö¤ò¥¹¥Ú¡¼¥¹¤ËÊÑ´¹¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ë¡£expand ¥³¥Þ¥ó¥É¤ÎÂå¤ï¤ê¤Ë¡¢emacs ¤ä mule ¤Î M-x untabify ¤ò»È¤Ã¤Æ¤â¤¤¤¤¡£
>> ¥³¥Þ¥ó¥É unexpand *

f77¡¡Fortran¥³¥ó¥Ñ¥¤¥é

factor¡¡¿ô»ú¤¬ÁÇ¿ô¤«¤É¤¦¤«Ä´¤Ù¤ë

FreeBSD ¤Ç¤Ï /usr/games/ ¤Î²¼¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¤Î¤ÇÃí°Õ¡£
>> ¥³¥Þ¥ó¥É primes *

fd¡¡¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê´ÉÍý¥Ä¡¼¥ë

fdformat¡¡¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤ò¥Õ¥©¡¼¥Þ¥Ã¥È¤¹¤ë


fetch¡¡FTP¡¦HTTP ¥À¥¦¥ó¥í¡¼¥À

(ºÆµ¢Åª¤Ë¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¤Î¤Ç¤Ê¤¯) °ì¤Ä¤Î¥Õ¥¡¥¤¥ë¤À¤±¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤¿¤¤¤È¤­¤Ë½ÅÊõ¤¹¤ë¡£¤â¤·¤«¤·¤¿¤é FreeBSD ¤Ë¤·¤«Â¸ºß¤·¤Ê¤¤¥³¥Þ¥ó¥É¤«¤â¤·¤ì¤Ê¤¤¡£
% fetch ftp://www.foo.bar/pub/hoge.tar.gz
¤È¤¹¤ë¤³¤È¤Ç¡¢»ØÄê¤Î¥Õ¥¡¥¤¥ë¤ò¥À¥¦¥ó¥í¡¼¥É¤·¡¢¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤Î hoge.tar.gz ¤ËÆâÍÆ¤òÊݸ¤¹¤ë¡£HTTP ¤â
% fetch http://www.foo.bar/hoge/fuga.html
¤È²Äǽ¤Ç¤¢¤ë¤¬¡¢
% fetch http://www.foo.bar/hoge/
¤Î¤è¤¦¤Ë¡¢ºÇ¸å¤¬¥Õ¥¡¥¤¥ë̾¤Ç½ª¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¥À¥¦¥ó¥í¡¼¥É¤Ç¤­¤Ê¤¤(¤³¤ì¤Ï¥Ð¥°¤Ç¤¢¤í¤¦¡£¾­Í轤Àµ¤µ¤ì¤ë¤È»×¤¦)¡£

-p FTP ¤Î¥Ñ¥Ã¥·¥Ö¥â¡¼¥É¤ò»È¤¦¡£¥Õ¥¡¥¤¥¢¡¼¥¦¥©¡¼¥ëÆâÉô¤«¤é¥À¥¦¥ó¥í¡¼¥É¤·¤¿¤¤¾ì¹ç¤ËÍ­¸ú¡£
-r ¥ê¥È¥é¥¤¡£°ÊÁ°¤ËÃæÃǤµ¤ì¤¿¥Õ¥¡¥¤¥ë¤Î³¤­¤ò¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¡£
°ìÅÙ¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¤¤¤¿¤¬¡¢ÅÓÃæ¤ÇÀܳ¤¬ÀÚ¤ì¤Æ¤·¤Þ¤¤¡¢¥Õ¥¡¥¤¥ë¤ÎÁ°È¾¤À¤±¤¬¼ê¸µ¤Ë¤¢¤ë¾ì¹ç¡¢Á´ÂΤò¥À¥¦¥ó¥í¡¼¥É¤·Ä¾¤¹¤Î¤Ç¤Ï¤Ê¤¯»Ä¤ê¤ÎÉôʬ¤À¤±¤ò¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¡£¥ê¥È¥é¥¤¤Ç¤­¤ë¤Î¤Ï FTP ¤È HTTP/1.1 ¤Î¤ß¤Ç¡¢¤Ê¤ª¤«¤ÄÁê¼ê¦¥µ¡¼¥Ð¤¬¥ê¥È¥é¥¤¤ËÂбþ¤·¤Æ¤¤¤ëɬÍפ¬¤¢¤ë¡£
-T ¥¿¥¤¥à¥¢¥¦¥È¤Þ¤Ç¤ÎÉÿô¤ò»ØÄê¡£
% fetch -T 30 http://www.foo.bar/hoge/fuga.html
¢Í 30 É俤äƤâ¥À¥¦¥ó¥í¡¼¥É¤¬½ªÎ»¤·¤Ê¤±¤ì¤Ð¤¢¤­¤é¤á¤ë¡£
>> ¥³¥Þ¥ó¥É ftp *   ncftp *   wget *
>> ´Ä¶­ÊÑ¿ô HTTP_PROXY *

fg¡¡»ØÄꤷ¤¿¥¸¥ç¥Ö¤ò¥Õ¥©¥¢¥°¥é¥¦¥ó¥É¤Ç¼Â¹Ô¤¹¤ë

»ØÄꤷ¤¿¥¸¥ç¥Ö¤ò¥Õ¥©¥¢¥°¥é¥¦¥ó¥É¤Ç¼Â¹Ô¤¹¤ë¡£¥¸¥ç¥ÖÈÖ¹æ¤ò»ØÄꤷ¤Ê¤¤¤È¥«¥ì¥ó¥È¥¸¥ç¥Ö¤¬ÁàºîÂоݤˤʤ롣

Î㤨¤Ð mule ¤ò¼Â¹ÔÃæ¤Ë°ì»þŪ¤Ë¾¤Î»ö¤ò¤·¤¿¤¤¤È¤­¡¢¤¤¤Á¤¤¤Á½ªÎ»¤¹¤ë¤Î¤ÏÌÌÅݤʤΤÇ(mule¤Îµ¯Æ°¤¬ÃÙ¤¤¤«¤é)¡¢Ctrl-Z ¤ÇÃæÃǤ·¤ÆÊ̤λö¤ò¤ä¤ê¡¢¤½¤Î¸å fg ¤Ç mule ¤Î½èÍý¤ò¹Ô¤¦¡¢¤È¤¤¤¦¤Õ¤¦¤Ë¤¹¤ë¤ÈÊØÍø¡£
>> ¥³¥Þ¥ó¥É bg *   jobs *   nohup *

fgrep¡¡Àµµ¬É½¸½¤¬Ìµ¸ú¤È¤Ê¤ë grep¡£

fgrep ¤Ï grep -F ¤ÈÁ´¤¯Æ±¤¸¤Ç¤¢¤ë¡£»ØÄꤷ¤¿¸¡º÷¥Ñ¥¿¡¼¥ó¤ÏÀµµ¬É½¸½¤Ç¤Ï¤Ê¤¯¡¢ÉáÄ̤Îʸ»úÎó¤È¤·¤Æ°·¤ï¤ì¤ë¡£

¤Ê¤ª¡¢fgrep ¤Ï Fixed GREP ¤Îά¤Ç¤¢¤ë (Fast GREP ¤Ç¤Ï¤Ê¤¤)¡£¸ÇÄêʸ»úÎó¤Î¸¡º÷ÍÑ¡¢¤È¤¤¤¦¤³¤È¡£
>> ¥³¥Þ¥ó¥É grep *   egrep *   zgrep *   agrep *

file¡¡»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤ò²òÀϤ·¤Æ¡¢¥Õ¥¡¥¤¥ë¤Î¼ïÎà¤òɽ¼¨¤¹¤ë¡£

¥Õ¥¡¥¤¥ë¤Î¼ïÎब¤ï¤«¤é¤Ê¤¤¤È¤­¤Ë»È¤¦¡£Ç§¼±¤Ç¤­¤ë¥Õ¥¡¥¤¥ë¤Î°ìÎã¤ò¤¢¤²¤ë¤È¡¢
¥¹¥¯¥ê¥×¥È
awk sed B-shell C-shell perl
¥½¡¼¥¹
¥¢¥»¥ó¥Ö¥é C LISP Pl/1
¼Â¹Ô¥Õ¥¡¥¤¥ë
DOS FreeBSD/i386 NetBSD/i386 PDP-11
¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à
¥½¥±¥Ã¥È ¥Ç¥£¥ì¥¯¥È¥ê ¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯ ¥Ö¥í¥Ã¥¯¥Ç¥Ð¥¤¥¹
¤½¤Î¾
¥¢¥¹¥­¡¼¥Æ¥­¥¹¥È ±Ñʸ ¥Ý¥¹¥È¥¹¥¯¥ê¥×¥È TeXDVI ²»À¼ ²èÁü °µ½Ì¥Õ¥¡¥¤¥ë news mail make nroff troff ¥¢¡¼¥«¥¤¥Ö SGML METAFONT PGM¥Õ¥¡¥¤¥ë TIFF emacs¥Ð¥¤¥È¥³¥ó¥Ñ¥¤¥ë ¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë
¥Õ¥¡¥¤¥ë¤Î°ìÉô¤ò²òÀϤ¹¤ë¤¿¤á¡¢´Ö°ã¤¨¤ë¤³¤È¤â¿¤¯¡¢xpm ¤Ï C ¤Î¥½¡¼¥¹¡¢HTML ¤Ï±Ñʸ¤ä C ¤Î¥½¡¼¥¹¤Èǧ¼±¤·¤Æ¤·¤Þ¤¦¡£

¤Þ¤¿¡¢¥³¥¢¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ file ¥³¥Þ¥ó¥É¤ò»È¤¦¤È¡¢¸µ¤Î¥×¥í¥°¥é¥à̾¤òÃΤ뤳¤È¤¬¤Ç¤­¤ë¡£
% file core (/bin/cat¤ò¥³¥¢¥À¥ó¥×¤·¤¿¤â¤Î)
core: i386 a.out core file from "cat"
GIF ¤ä PNG ¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¤Ï
% file sample.gif
sample.gif: GIF image data, version 89a, 302 x 231,
¤È¡¢¹â¤µ¤ÈÉý¤¬É½¼¨¤µ¤ì¤ë¡£¤½¤Î¾¤Î²èÁü¥Õ¥©¡¼¥Þ¥Ã¥È¤Ë´Ø¤¹¤ë¾ðÊó¤Ï identify ¤Ç¡£
>> ¥³¥Þ¥ó¥É identify *

¡ü¥ª¥×¥·¥ç¥ó
-z »ØÄê¥Õ¥¡¥¤¥ë¤¬°µ½Ì¥Õ¥¡¥¤¥ë¤Î¾ì¹ç¡¢¿­Ä¹¤·¤Æ²òÀϤ¹¤ë¡£
-L ¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ÎÀè¤Î¥Õ¥¡¥¤¥ë¤ò²òÀϤ¹¤ë
>> ¥³¥Þ¥ó¥É strings *

file2c¡¡É¸½àÆþÎϤ«¤éÆÉ¤ß¹þ¤ó¤Àʸ»úÎó¤ò ASCII ¥³¡¼¥É¤ËÊÑ´¹¤¹¤ë¡£

ɸ½àÆþÎϤ«¤éÆÉ¤ß¹þ¤ó¤Àʸ»úÎó¤ò ASCII ¥³¡¼¥É¤ËÊÑ´¹¤¹¤ë¡£
% echo abc | file2c
97,98,99,10
°Ê²¼¤Î¤è¤¦¤Ë¡¢¥×¥í¥°¥é¥àÍѤΥǡ¼¥¿¥Õ¥¡¥¤¥ëÀ¸À®¤Ë¤âÌò¤ËΩ¤Ä¡£
% echo abc | file2c 'char buf[]={' '};'
char buf[]={
97,98,99,10
};

filepp¡¡ÆÈ¼«³ÈÄ¥¥×¥ê¥×¥í¥»¥Ã¥µ

filepp ¤Ïʸ»úÎó¤òÁ°½èÍý¤¹¤ë cpp ¤È»÷¤¿¤è¤¦¤Ê¥×¥ê¥×¥í¥»¥Ã¥µ¤Ç¤¢¤ë¡£°Ê²¼¤Î¤è¤¦¤Ë»ÈÍѤ¹¤ë¡£
% filepp ÆþÎÏ¥Õ¥¡¥¤¥ë > ½ÐÎÏ¥Õ¥¡¥¤¥ë

¤Þ¤º¡¢filepp ¤ò cpp ¤ÎÂåÂØ¤È¤·¤Æ C ¸À¸ì¤Î¥½¡¼¥¹¤ò½èÍý¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¤Î¤ÏÈò¤±¤¿Êý¤¬¤è¤¤¡£Íýͳ¤Ï¡¢¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Ê¤«¤Ã¤¿¾ì¹ç¤Î½èÍý¤ä¡¢Ê¸»úÎó¥ê¥Æ¥é¥ë ("hoge" ¤Î¤è¤¦¤Êʸ»úÎóÄê¿ô) ¤ò½ñ¤­´¹¤¨¤Æ¤·¤Þ¤¦¤È¤¤¤¦»ÅÍͤΰ㤤¤¬¤¢¤ë¤«¤é¤Ç¤¢¤ë¡£

¤È¤Ê¤ë¤È»È¤¤¤É¤³¤í¤¬Æñ¤·¤¤¤Î¤À¤¬¡¢Î㤨¤Ð
Ê£¿ô¥Û¥¹¥È¤Î /etc/hosts ¤Ê¤É¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤ò´ÉÍý¤¹¤ëºÝ¡¢¸µ¥Í¥¿¤È¤Ê¤ë¥Õ¥¡¥¤¥ë¤ò¤Ò¤È¤Ä¤À¤±ºî¤Ã¤Æ¤ª¤­¡¢filepp ¤Ç³Æ¥Û¥¹¥È¤Î hosts ¤òÀ¸À®¤¹¤ë
¤Ê¤É¡¢¡ÖÀÅŪ¥Ç¡¼¥¿¤ËÂФ·¤Æ¤Á¤ç¤Ã¤È¤·¤¿À©¸æ¤ò¹Ô¤¤¤¿¤¤¡×¤È¤¤¤¦¤È¤­¤Ë»È¤¦¤È¤è¤¤¤Î¤Ç¤Ï¤Ê¤¤¤«¤È»×¤¦¡£¤Þ¤¿¡¢Java ¤Î¤è¤¦¤Ë¥×¥ê¥×¥í¥»¥Ã¥µ¤¬Â¸ºß¤·¤Ê¤¤´Ä¶­¤Ç¡¢¥×¥ê¥×¥í¥»¥Ã¥µ¤¬É¬Íפˤʤ俤Ȥ­¤Ë filepp ¤ò»È¤¦¤Î¤â¤è¤¤¤«¤â¤·¤ì¤Ê¤¤¡£

¥×¥ê¥×¥í¥»¥Ã¥µ¤Î´ðËÜŪ¤Ê¹½Ê¸ (#include¡¦#define¡¦#ifdef ¤Ê¤É) ¤Ï cpp ¤Î¹à¤ò»²¾È¡£Æ±Íͤˡ¢cpp ¤Ç»ÈÍѤǤ­¤ë¥ª¥×¥·¥ç¥ó¤Ï filepp ¤Ç¤â»ÈÍѲÄǽ¤Ê¤³¤È¤¬Â¿¤¤¡£
>> ¥³¥Þ¥ó¥É cpp *

filepp ¤Ç¤Ï°ìÈÌŪ¤Ê cpp ¤ò³ÈÄ¥¤·¡¢ÆÈ¼«¤Îµ¡Ç½¤ò»ý¤Ã¤Æ¤¤¤ë¡£¥Ç¥Õ¥©¥ë¥È¤Î¤Þ¤Þ¤Ç»ÈÍѤǤ­¤ë³ÈÄ¥µ¡Ç½¤â¤¢¤ë¤¬¡¢Â¿¤¯¤Îµ¡Ç½¤Ï¥â¥¸¥å¡¼¥ë¤òÁȤ߹þ¤Þ¤Ê¤¤¤È»ÈÍѤǤ­¤Ê¤¤¡£¥â¥¸¥å¡¼¥ë¤òÍ­¸ú¤Ë¤¹¤ë¤Ë¤Ï -m ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¡£Î㤨¤Ð for.pm ¥â¥¸¥å¡¼¥ë¤ò»È¤¦¾ì¹ç¤Ï
% filepp -m for.pm ÆþÎÏ¥Õ¥¡¥¤¥ë > ½ÐÎÏ¥Õ¥¡¥¤¥ë
¤È¤¹¤ë¡£°Ê²¼¡¢filepp ÆÈ¼«¤Î³ÈÄ¥µ¡Ç½¤È¡¢Ãí°ÕÅÀ¤òÀâÌÀ¤¹¤ë¡£

¡üʸ»úÎóÈæ³Ó¤Î³ÈÄ¥
Ä̾ï¤Î¥×¥ê¥×¥í¥»¥Ã¥µ¤Ç¤Ïʸ»úÎó¤ÎÈæ³Ó¤Ï¤Ç¤­¤Ê¤¤¡£
#if HOGE = 1
¢Í ¿ôÃͤÎÈæ³Ó¤Ï OK ¤À¤¬¡Ä
#if HOGE = "hoge"
¢Í ʸ»úÎó¤ÎÈæ³Ó¤Ï¥¨¥é¡¼¤È¤Ê¤ë

°ìÊý¡¢filepp ¤Ç¤Ï eq ¤ò»È¤¦¤³¤È¤Çʸ»úÎó¤òÈæ³Ó¤¬²Äǽ¤Ç¡¢¤µ¤é¤Ë¡Ö=~¡×¤Ç¥Ñ¥¿¡¼¥ó¥Þ¥Ã¥Á¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤ë¡£
#if HOGE eq "string"
¢Í ʸ»úÎó¤ÎÈæ³Ó¤Ë¤Ï eq ¤ò»È¤¦
#if HOGE =~ /regexp/
¢Í ¥Ñ¥¿¡¼¥ó¥Þ¥Ã¥Á¤Ï¡Ö=~¡×¤Ç

¡ü¥ë¡¼¥× (for.pm ¥â¥¸¥å¡¼¥ë)
#for COUNTER 1 < 4 +1
printf("%d\n", COUNTER);
¢Í COUNTER ¤Ï 1¡Á3 ¤Þ¤ÇÁýʬ +1 ¤Ç¥ë¡¼¥×¤¹¤ë
#endfor

¡ü¥ë¡¼¥× (foreach.pm ¥â¥¸¥å¡¼¥ë)
#foreach FILE "file1.dat", "file2.dat", "file99.dat"
printf("%s\n", FILE);
#endfor
¢Í ¥«¥ó¥Þ¶èÀڤ국½Ò¤·¤¿³ÆÍ×ÁǤò¡¢¥ë¡¼¥×Æâ¤Ç»ÈÍѤǤ­¤ë¡£

#foreachdelim / /
#foreach FILE "file1.dat" "file2.dat" "file99.dat"
printf("%s\n", FILE);
#endfor
¢Í foreachdelim ¤ò»È¤¦¤³¤È¤Ç¡¢foreach ¤Î¶èÀÚ¤êʸ»ú¤òÊѹ¹¤Ç¤­¤ë¡£

#foreachdelim /\s+/
¢Í ¶èÀÚ¤êʸ»ú¤ÏÀµµ¬É½¸½¤Ç»ØÄꤹ¤ë¤³¤È¤â²Äǽ¡£

¡ü¥¤¥ó¥¯¥ë¡¼¥É¥Ñ¥¹
cpp ¤Ï /usr/include ¤òɸ½à¤Î¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¥Ñ¥¹¤È¤·¤ÆÆÃḚ̂·¤¤¤·¤Æ¤¤¤ë¡£°ìÊý¡¢filepp ¤Ï¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¥Ñ¥¹¤ÏÁ´¤Æ¼«Ê¬¤Ç -I ¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤹ¤ëɬÍפ¬¤¢¤ë (/usr/include ¤ÏÆÃḚ̂·¤¤¤µ¤ì¤Ê¤¤)¡£¤Þ¤¿¡¢¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤¬¸«¤Ä¤«¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ç¤â¥¨¥é¡¼¤È¤Ï¤Ê¤é¤º¡¢¤½¤Î¹Ô¤òºï½ü¤·¤Æ½èÍý¤Ï³¹Ô¤µ¤ì¤ë¡£

¡üÄêµÁºÑ¥Þ¥¯¥í
cpp ¤ÈƱÍͤˡ¢__FILE__¡¦__LINE__ ¤Ê¤É¤¬ÄêµÁºÑ¥Þ¥¯¥í¤È¤·¤ÆÍѰդµ¤ì¤Æ¤¤¤ë¤¬¡¢
printf("%s\n", __FILE__);
¤È½ñ¤¯¤È
printf("%s\n", foo.c);
¤È¤¤¤¦¤Õ¤¦¤Ëʸ»úÎ󤬥À¥Ö¥ë¥¯¥©¡¼¥È¤Ç°Ï¤Þ¤ì¤Ê¤¤·Á¤ÇÃÖ´¹¤µ¤ì¤Æ¤·¤Þ¤¦¡£¤â¤·°ìÈÌŪ¤Ê cpp ¤Î¤è¤¦¤Ê½ÐÎϤ¬Íߤ·¤±¤ì¤Ð¡¢cmacros.pm ¥â¥¸¥å¡¼¥ë¤ò»È¤¦¤³¤È¡£

¡ü¥³¥á¥ó¥Èºï½ü (c-comment.pm ¥â¥¸¥å¡¼¥ë)
C ¸À¸ì¡¦C++ ·Á¼°¤Î¥³¥á¥ó¥È¡¢¡Ö/* ¡Á */¡×¡Ö//¡Á¡×¤òºï½ü¤¹¤ë¡£Ä̾ï¤Ï¥³¥á¥ó¥È¤Ï½ÐÎÏ¥Õ¥¡¥¤¥ë¤Ë»Ä¤ë¤¬¡¢
% filepp -m c-comment.pm ÆþÎÏ¥Õ¥¡¥¤¥ë > ½ÐÎÏ¥Õ¥¡¥¤¥ë
¤È¤¹¤ë¤³¤È¤Ç¡¢¥³¥á¥ó¥È¤¬ºï½ü¤µ¤ì¤¿¤â¤Î¤¬½ÐÎÏ¥Õ¥¡¥¤¥ë¤Ë½ÐÎϤµ¤ì¤ë¡£

¡üÊ£¿ô¹Ô¤Î define (bigdef.pm ¥â¥¸¥å¡¼¥ë)
ÉáÄ̤Υץê¥×¥í¥»¥Ã¥µ¤ÇÊ£¿ô¹Ô¤ËÅϤëÃÖ´¹¤ò¹Ô¤¦¾ì¹ç¡¢
#define foo(x,y,z) printf(\ 
   "x is %d\n"\ 
   "y is %s\n"\ 
   "z is %s\n",\ 
   x, y, z);
¤Ê¤É¤È¹ÔËö¤Ë¥¨¥¹¥±¡¼¥×¤òÉÕ¤±¤ëɬÍפ¬¤¢¤ê¡¢ÌÌÅÝ¤Ç²ÄÆÉÀ­¤¬Ä㤯¤Ê¤ë¡£¤·¤«¤· bigdef.pm ¥â¥¸¥å¡¼¥ë¤òÁȤ߹þ¤à¤³¤È¤Ç¡¢
#bigdef foo(x,y,z)
   printf("x is %d\n"
          "y is %s\n"
          "z is %s\n",
          x, y, z);
#endbigdef
¤È #bigdef¡Á#endbigdef ¤ò»È¤Ã¤ÆÆÉ¤ß¤ä¤¹¤¤·Á¤Çµ­½Ò¤Ç¤­¤ë¡£

¡üʸ»úÎó¥ê¥Æ¥é¥ëÆâ¤Îʸ»úÎóÃÖ´¹ÍÞ»ß (literal.pm ¥â¥¸¥å¡¼¥ë)
¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï filepp ¤Ïʸ»úÎó¥ê¥Æ¥é¥ë¤âÃÖ´¹ÂоݤȤ¹¤ë (¤È¤¤¤¦¤è¤ê¡¢filepp ¤Ï¡Ö¤³¤³¤«¤é¤³¤³¤Þ¤Ç¤¬Ê¸»úÎó¥ê¥Æ¥é¥ë¡×¤Ê¤É¤È¤¤¤¦²òÀϤϹԤäƤ¤¤Ê¤¤)¡£¤Ä¤Þ¤ê¡¢
#define hoge FUGA
printf("This is hoge.\n");
¤Î½ÐÎÏ·ë²Ì¤Ï¡¢
printf("This is FUGA.\n");
¤È¤Ê¤ë¡£¤·¤«¤· literal.pm ¥â¥¸¥å¡¼¥ë¤ò»ÈÍѤ¹¤ë¤Èʸ»úÎó¥ê¥Æ¥é¥ë¤«¤É¤¦¤«¤òȽÃǤ·¡¢Ê¸»úÎó¥ê¥Æ¥é¥ëÆâ¤Îʸ»úÎóÃÖ´¹¤¬Í޻ߤµ¤ì¤ë¤è¤¦¤Ë¤Ê¤ë¡£

¡ü¿ô³Ø´Ø¿ô (maths.pm ¥â¥¸¥å¡¼¥ë)
²Ã¸º¾è½ü»»¤Î¤Û¤«¡¢abs¡¦tan¡¦sin¡¦cos¡¦exp¡¦log¡¦rand ¤Ê¤É¤¬»ÈÍѲÄǽ¡£¤É¤¦¤¤¤¦¤È¤­¤Ë»È¤¦¤ÈÊØÍø¤Ê¤ó¤À¤í¤¦¤«¡£
printf("1+2=%d\n", add(1, 2));
printf("1+2+3+4=%d\n", add(1, 2, 3, 4));
printf("5-2=%d\n", sub(5, 2));
printf("3*4=%d\n", mul(3, 4));
printf("8/2=%d\n", div(8, 2));
printf("pi=%d\n", M_PI);
printf("e=%d\n", M_EI);
>> ¥³¥Þ¥ó¥É cpp *

find¡¡¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤¹¤ë¡£

´ðËÜŪ¤Ë¤Ï
% find ¸¡º÷³«»Ï¥Ç¥£¥ì¥¯¥È¥ê ¸¡º÷¾ò·ï ¥³¥Þ¥ó¥É
¤È¤¤¤¦½ñ¼°¤Ç»È¤¦¡£FreeBSD¡¦Linux ¤Ê¤É°ìÉô¤Î find ¤Ç¤Ï¡¢
% find /usr
¤È¡¢¸¡º÷³«»Ï¥Ç¥£¥ì¥¯¥È¥ê¤Î¤ß¤ò»ØÄꤹ¤ë¤È¡¢¥³¥Þ¥ó¥É¤È¤·¤Æ -print ¤¬»ØÄꤵ¤ì¤¿¤â¤Î¤È¤·¤ÆÆ°ºî¤¹¤ë¡£¤Þ¤¿¡¢Linux ¤Î find ¤Ç¤Ï
% find
¤È¸¡º÷³«»Ï¥Ç¥£¥ì¥¯¥È¥ê¤Î¾Êά¤â²Äǽ¡£¤³¤Î¾ì¹ç¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤¬¸¡º÷³«»Ï¥Ç¥£¥ì¥¯¥È¥ê¤È¤ß¤Ê¤µ¤ì¤ë¡£

¡üÃí°Õ
find ¤Ï¡¢OS ¤Ë¤è¤Ã¤Æ»ÈÍѲÄǽ¤Ê¥ª¥×¥·¥ç¥ó¤¬Â礭¤¯°Û¤Ê¤ë¡£ºÇ¤â¹âµ¡Ç½¤Ê find ¤Ï¡¢Linux ¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤ë GNU find ¤Ç¤¢¤í¤¦¡£*BSD ¤Î find ¤â¡¢GNU find ¤Îµ¡Ç½¤òÀѶËŪ¤Ë¼è¤ê¹þ¤ó¤Ç¤¤¤ë¡£°ìÊý¡¢Solaris ¤ä HP-UX ¤Î find ¤Ï¡¢¤³¤³¤Ë¤¢¤²¤¿¥ª¥×¥·¥ç¥ó¤ÎȾʬ°Ê¾å¤Ï»ÈÍѤǤ­¤Ê¤¤¡£»È¤Ã¤Æ¤¤¤ë OS ¤Î¥Þ¥Ë¥å¥¢¥ë¤Ç¤Î³Îǧ¤ò˺¤ì¤º¤Ë¡£

¡ü¸¡º÷³«»Ï¥Ç¥£¥ì¥¯¥È¥ê
¸¡º÷¤ò³«»Ï¤¹¤ëµ¯ÅÀ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤹ¤ë
% find /foo/bar -type f -print
¢Í /foo/bar °Ê²¼¤ÎÁ´¥Õ¥¡¥¤¥ë¤Î°ìÍ÷¤òɽ¼¨
% find . -type f -print
¢Í ¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤ÎÁ´¥Õ¥¡¥¤¥ë¤Î°ìÍ÷¤òɽ¼¨
¸¡º÷³«»Ï¥Ç¥£¥ì¥¯¥È¥ê¤ÏÊ£¿ô»ØÄꤹ¤ë¤³¤È¤â²Äǽ¤Ç¤¢¤ë¡£
% find /usr/local /usr/bin /usr/sbin -type f -print
¢Í /usr/local ¤È /usr/bin ¤È /usr/sbin °Ê²¼¤ÎÁ´¥Õ¥¡¥¤¥ë¤òɽ¼¨

¡ü¸¡º÷¾ò·ï
-name file
¸¡º÷¤¹¤ë¥Õ¥¡¥¤¥ë¤ò»ØÄê¡£¥ï¥¤¥ë¥É¥«¡¼¥É¤È¤·¤Æ *¡¦?¡¦[¡¦] ¤ò»ÈÍѤ¹¤ë¤³¤È¤¬²Äǽ¤À¤¬¡¢¤½¤Î¾ì¹ç¤Ï "" ¤Ê¤É¤Ç°Ï¤à¤³¤È¡£¥Õ¥¡¥¤¥ë̾¤Î¤ß¤¬¸¡º÷ÂоݤǤ¢¤ë¤³¤È¤ËÃí°Õ¡£¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤Ë
abc.txt
xxx/
xxx/abc.txt
abc/
abc/def.txt
¤È¤¤¤¦¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤¬¤¢¤ë¤È¤­¡¢
% find . -name "*abc*"
¤È¤¹¤ë¤È¡¢abc.txt ¤È abc/ ¤È xxx/abc.txt ¤Ï¥Þ¥Ã¥Á¤¹¤ë¤¬¡¢abc/def.txt ¤Ï¥Þ¥Ã¥Á¤·¤Ê¤¤¡£
-iname file
¸¡º÷¤¹¤ë¥Õ¥¡¥¤¥ë̾¤ò»ØÄê¡£Âçʸ»ú¾®Ê¸»ú¤ò¶èÊ̤·¤Ê¤¤°Ê³°¤Ï -name ¤ÈƱ¤¸¡£
-regex reg
¥Ñ¥¹¤ò´Þ¤à¥Õ¥¡¥¤¥ë̾Á´ÂΤ¬Àµµ¬É½¸½ reg ¤Ë¥Þ¥Ã¥Á¤¹¤ë¤â¤Î¤ò¸¡º÷¤¹¤ë¡£-name ¤È°Û¤Ê¤ê¡¢¸¡º÷Âоݤ¬¥Ñ¥¹¤â´Þ¤à¤³¤È¤ËÃí°Õ¡£¤Þ¤¿¡¢¡Ö¡Á¤ò´Þ¤à¡×¤Ç¤Ï¤Ê¤¯¡¢¡ÖÁ´ÂΤ¬¥Þ¥Ã¥Á¤¹¤ë¡×¤È¤¤¤¦¾ò·ï¤Ç¤¢¤ë¤³¤È¤Ë¤âÃí°Õ¡£Î㤨¤Ð
% find . -regex "abc"
¤ÏÀäÂФ˥ޥåÁ¤·¤Ê¤¤¡£¤Ê¤¼¤Ê¤é¡¢¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ë abc ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬¤¢¤Ã¤¿¾ì¹ç¤Ï¡Ö./abc¡×¤È½ÐÎϤµ¤ì¤ë¤¬¡¢¤³¤ì¤Ï -regex ¤Ç»ØÄꤷ¤¿¡Öabc¡×¤È¥Þ¥Ã¥Á¤·¤Ê¤¤¤«¤é¤Ç¤¢¤ë¡£¤³¤Î¾ì¹ç¤Ï
% find . -regex ".*abc.*"
¤È¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-iregex reg
Âçʸ»ú¾®Ê¸»ú¤ò¶èÊ̤·¤Ê¤¤°Ê³°¤Ï¡¢-regex ¤ÈƱ¤¸¡£
-atime [+-]n
nÆüÁ°¤Ë¥¢¥¯¥»¥¹¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¡£
-atime 4 4ÆüÁ°¤Ë¥¢¥¯¥»¥¹¤µ¤ì¤¿¥Õ¥¡¥¤¥ë
-atime +4 5Æü°ÊÁ°¤Ë¥¢¥¯¥»¥¹¤µ¤ì¤¿¥Õ¥¡¥¤¥ë
-atime -4 3Æü°ÊÆâ¤Ë¥¢¥¯¥»¥¹¤µ¤ì¤¿¥Õ¥¡¥¤¥ë
-ctime [+-]n
nÆüÁ°¤Ë¥Õ¥¡¥¤¥ë¥¹¥Æ¡¼¥¿¥¹¤¬Êѹ¹¤µ¤ì¤¿¥Õ¥¡¥¤¥ë
-ctime 4 ¤Á¤ç¤¦¤É4ÆüÁ°¤Ë¥Õ¥¡¥¤¥ë¥¹¥Æ¡¼¥¿¥¹¤¬Êѹ¹¤µ¤ì¤¿¥Õ¥¡¥¤¥ë
-ctime +4 5Æü°ÊÁ°¤Ë¥Õ¥¡¥¤¥ë¥¹¥Æ¡¼¥¿¥¹¤¬Êѹ¹¤µ¤ì¤¿¥Õ¥¡¥¤¥ë
-ctime -4 3Æü°ÊÆâ¤Ë¥Õ¥¡¥¤¥ë¥¹¥Æ¡¼¥¿¥¹¤¬Êѹ¹¤µ¤ì¤¿¥Õ¥¡¥¤¥ë
-mtime [+-]n
nÆüÁ°¤Ë½¤Àµ¤µ¤ì¤¿¥Õ¥¡¥¤¥ë
-mtime 4 ¤Á¤ç¤¦¤É4ÆüÁ°¤Ë½¤Àµ¤µ¤ì¤¿¥Õ¥¡¥¤¥ë
-mtime +4 5Æü°ÊÁ°¤Ë½¤Àµ¤µ¤ì¤¿¥Õ¥¡¥¤¥ë
-mtime -4 3Æü°ÊÆâ¤Ë½¤Àµ¤µ¤ì¤¿¥Õ¥¡¥¤¥ë
-group ¥°¥ë¡¼¥×̾
»ØÄê¤Î¥°¥ë¡¼¥×¤Ë°¤¹¤ë¥Õ¥¡¥¤¥ë
-inum inode ÈÖ¹æ
»ØÄê¤Î inode ¤Î¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¥Ç¥£¥ì¥¯¥È¥ê¡£inode ¤Ï ls -i ¤Ç³Îǧ¤Ç¤­¤ë¡£inode ¤Ï¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤´¤È¤ÎÄÌÈ֤Τ褦¤ÊÈÖ¹æ¤Ê¤Î¤Ç¡¢Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¤Þ¤¿¤¬¤Ã¤¿¾ì¹ç¤ÏƱ¤¸ inode ¤¬Â¸ºß¤¹¤ë²ÄǽÀ­¤¬¤¢¤ë¤³¤È¤ËÃí°Õ¡£

Î㤨¤Ð¡¢/¡¦/usr¡¦/home¡¦/var ¤È¤¤¤¦ 4¤Ä¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢
% find /usr -inum 100
¤Ç¤¢¤ì¤Ð¥Õ¥¡¥¤¥ë¤¬ 1¤Ä¤ËÆÃÄê¤Ç¤­¤ë¤¬¡¢
% find / -inum 100
¤È¤¹¤ë¤È /¡¦/usr¡¦/home¡¦/var ¤½¤ì¤¾¤ì¤Î inode ¤¬ 100 ¤Ç¤¢¤ë¥Õ¥¡¥¤¥ë¤¬É½¼¨¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ë¡£
>> ¥³¥Þ¥ó¥É ls *
-newer file
¥Õ¥¡¥¤¥ë file ¤è¤ê¥¿¥¤¥à¥¹¥¿¥ó¥×¤¬¿·¤·¤¤¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷¡£¥¿¥¤¥à¥¹¥¿¥ó¥×Èæ³ÓÍÑ¥Õ¥¡¥¤¥ë¤ò¤¢¤é¤«¤¸¤áºîÀ®¤·¡¢touch ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¥¿¥¤¥à¥¹¥¿¥ó¥×¤òÊѹ¹¤·¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤ÈÈæ³Ó¤¹¤ë¤È¤è¤¤¡£

µÕ¤Ë¡¢¡Ö¡Á¤è¤ê¸Å¤¤¡×¤È¤¤¤¦¾ò·ï¤Ç¸¡º÷¤·¤¿¤¤¾ì¹ç¤Ï¡¢¾ò·ï¤ÎÈÝÄê¤ò»È¤¦¡£
% find . ! -newer file -print
>> ¥³¥Þ¥ó¥É touch *
-maxdepth n
¸¡º÷Âоݤò n ³¬ÁؤËÀ©¸Â¤¹¤ë¡£
% find / -maxdepth 0
/
¢Í 0 ³¬ÁØÌÜ (»ØÄꤷ¤¿¸¡º÷³«»Ï¥Ç¥£¥ì¥¯¥È¥ê) ¤Ç¥¹¥È¥Ã¥×

% find / -maxdepth 1
/
/dev
/etc
(ά)
¢Í 1 ³¬ÁØÌܤǥ¹¥È¥Ã¥×¡£¤¿¤À¤· 0³¬ÁØÌܤΠ/ ¤âɽ¼¨¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¡£

% find / -maxdepth 2
/
/dev
/dev/network
(ά)
/etc
/etc/defaults
(ά)
¢Í 2 ³¬ÁØÌܤǥ¹¥È¥Ã¥×¡£¤¿¤À¤· 0¡¦1³¬ÁØÌܤâɽ¼¨¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¡£
-mindepth n
n ³¬ÁØ°ÊÆâ¤Î¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤òɽ¼¨¤·¤Ê¤¤¡£¾å°Ì¤Î¥Ç¥£¥ì¥¯¥È¥ê¤òÂоݳ°¤Ë¤·¤¿¤¤¾ì¹ç¤ËÍ­ÍÑ¡£
% find / -mindepth 1
/dev
/dev/network
/dev/geom.ctl
(ά)
¢Í / ¤¬É½¼¨¤µ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤ËÃí°Õ

% find / -mindepth 2
/dev/network
/dev/geom.ctl
(ά)
¢Í / ¤È /dev ¤¬É½¼¨¤µ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤ËÃí°Õ

-mindepth ¤Ï¡¢-maxdepth ¤ÈÁȤ߹ç¤ï¤»¤ë¤ÈÍ­ÍѤǤ¢¤ë¡£
% find /usr -maxdepth 1 -mindepth 1 -type d
¢Í /usr ľ²¼¤Ë¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î¤ß¤òɽ¼¨¡£
-prune
¤½¤ì°Ê¾å¥Ç¥£¥ì¥¯¥È¥ê¤ò¹ß¤ê¤Ê¤¤¡£ÆÃÄê¤Î¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤ò½ü³°¤¹¤ë¾ì¹ç¤ËÍ­ÍÑ¡£
% find . -prune -print
.
¢Í ñÂΤǻÈÍѤ·¤Æ¤â°ÕÌ£¤¬¤Ê¤¤¡£
% find . -type d -name CVS -prune -o -print
¢Í CVS/ °Ê²¼¤ò½ü³°¤¹¤ë¡£
% find /usr/* -type d -prune
¢Í /usr ľ²¼¤Ë¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î¤ß¤òɽ¼¨
¼ÂºÝ¤Ï -prune ¤Ï¥Ç¥£¥ì¥¯¥È¥ê°Ê³°¤Ë¤â¸ú²Ì¤¬¤¢¤ë¤Î¤Ç¡¢
% find . -name "*.txt" -prune -o -print
¢Í *.txt ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤ò½ü³°¤¹¤ë¡£
¤È¤¤¤¦»È¤¤Êý¤â¤Ç¤­¤ë¤¬¡¢¤³¤ì¤Ï
% find . ! -name "*.txt"
¤ÈƱ¤¸¤Ç¤¢¤ë¡£

-type * ¥Õ¥¡¥¤¥ë¤Î¼ïÎà
b ¥Ö¥í¥Ã¥¯¥Ç¥Ð¥¤¥¹
c ¥­¥ã¥é¥¯¥¿¥Ç¥Ð¥¤¥¹
d ¥Ç¥£¥ì¥¯¥È¥ê
f ¥Õ¥¡¥¤¥ë
l ¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯
p ̾Á°ÉÕ¤­¥Ñ¥¤¥×
s ¥½¥±¥Ã¥È (UNIX ¥É¥á¥¤¥ó¥½¥±¥Ã¥È)
D Door (Solaris ¤Î¤ß)
-size [+-]n[c]
¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤Þ¤¿¤Ï¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤Ç¸¡º÷¡£¡Ö-size 100¡×¤À¤È¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤È¤ß¤Ê¤·¡¢¡Ö-size 100c¡×¤Ê¤É¤ÈËöÈø¤Ë c ¤ò¤Ä¤±¤ë¤È¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤È¤ß¤Ê¤¹¡£
% find . -size 100c
¢Í ¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤¬¤Á¤ç¤¦¤É 100 ¥Ð¥¤¥È¤Î¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷
% find . -size +100c
¢Í ¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤¬ 101 ¥Ð¥¤¥È°Ê¾å¤Î¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷
% find . -size -100c
¢Í ¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤¬ 99 ¥Ð¥¤¥È°Ê²¼¤Î¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷

% find . -size 4
¢Í ¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤¬ 4 ¤Î¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷
% find . -size +4
¢Í ¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤¬ 5 °Ê¾å¤Î¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷
% find . -size -4
¢Í ¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤¬ 3 °Ê²¼¤Î¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷
³Æ¥Õ¥¡¥¤¥ë¤Î¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤Ï ls -s ¤Ç»²¾È¤Ç¤­¤ë¡£
>> ¥³¥Þ¥ó¥É ls *
¡ü¾ò·ï¤Î·ë¹ç¡¦ÈÝÄê¤Ê¤É
-a ¤Þ¤¿¤Ï -and
¸¡º÷¾ò·ï¤ò AND ¤Ç·ë¤Ö¡£
% find . -name abc -and -type d
¢Í abc ¤È¤¤¤¦Ì¾Á°¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷
¤¿¤À¤·¡¢Ê£¿ô¤Î¸¡º÷¾ò·ï¤òʤ٤ƽñ¤±¤Ð AND ¤È¤·¤Æ°·¤ï¤ì¤ë¤Î¤Ç¡¢¾åµ­¥³¥Þ¥ó¥É¤Ï
% find . -name abc -type d
¤ÈƱ¤¸¡£
-o ¤Þ¤¿¤Ï -or
¸¡º÷¾ò·ï¤ò OR ¤Ç·ë¤Ö¡£
% find . -name abc -or -type d
¢Í abc ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤«¡¢¤¢¤ë¤¤¤Ï¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷
! ¤Þ¤¿¤Ï -not
¾¤Î¾ò·ï¤ÎÁ°¤ËÉÕ¤±¤Æ¡¢¾ò·ï¤òÈÝÄꤹ¤ë¡£-not ¤Ï°ìÉô¤Î find ¤Ç¤·¤«»È¤¨¤Ê¤¤¡£
% find . ! -name \*.txt -print
¢Í ³ÈÄ¥»Ò¤¬ .txt ¤Ç *¤Ê¤¤* ¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê
% find . -not -newer target.txt -print
¢Í target.txt ¤È¥¿¥¤¥à¥¹¥¿¥ó¥×¤¬Æ±¤¸¤«¡¢¤¢¤ë¤¤¤Ï¸Å¤¤¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê
¡ü¥³¥Þ¥ó¥É
-print ¸¡º÷¥Õ¥¡¥¤¥ë¤òɽ¼¨
-ls ¸¡º÷¥Õ¥¡¥¤¥ë¤ò¾Ü¤·¤¯ (ls -l ¤ÈƱ¤¸¤è¤¦¤Ë) ɽ¼¨
¤è¤êÀµ³Î¤Ë¸À¤¦¤È¡¢¹ÔƬ¤Ë inode ¤È»ÈÍÑ¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤¬É½¼¨¤µ¤ì¤ë¤¿¤á¡¢ls -lis ¤ÈƱ¤¸¤Ç¤¢¤ë¡£
-exec ¸¡º÷¥Õ¥¡¥¤¥ë¤ò°ú¿ô¤È¤·¤Æ¥³¥Þ¥ó¥É¤ò¼Â¹Ô
-ok -exec ¤ÈƱ¤¸¤À¤¬¡¢¼Â¹Ô¤¹¤ëºÝ¤Ë³Îǧ¤òµá¤á¤ë

¡üÎã
% find / -name .cshrc -print
¢Í ¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤Î .cshrc ¤ò¸¡º÷¤·¤Æ¥Õ¥ë¥Ñ¥¹¤òɽ¼¨¤¹¤ë
% find /usr/local -name file\* -ls
¢Í /usr/local °Ê²¼¤Î file* ¤ò¸¡º÷¤·¤Æ¾ÜºÙ¤Ê¾ðÊó¤òɽ¼¨¤¹¤ë
% find . -name \*~ -exec rm {} \;
¢Í ¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤Î *~ ¤ò¥ê¥¹¥È¥¢¥Ã¥×¤·¤Æ¡Örm ¸¡º÷¤·¤¿¥Õ¥¡¥¤¥ë̾¡×¤ò¼Â¹Ô¤¹¤ë¡£{}¤Î¾ì½ê¤Ë¤Ï¸¡º÷¤·¤¿¥Õ¥¡¥¤¥ë̾¤¬Æþ¤ë¡£; ¤Ï¥³¥Þ¥ó¥É¤Î½ªÎ»¤òɽ¤¹¤¬¡¢¥·¥§¥ë¤Ë¡Ö;¡×¤ò²ò¼á¤µ¤»¤º¡¢find ¤Ø¡Ö;¡×¤òÅϤ¹¤¿¤á¤Ë¥¨¥¹¥±¡¼¥×¤·¤Æ¤¢¤ë¡£¤Þ¤¿¡¢¡Ö{}¡×¤È¡Ö\¡×¤Î´Ö¤Ë¤Ïɬ¤º¥¹¥Ú¡¼¥¹¤ò¶õ¤±¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£
% find . -name \*~ -print -exec rm {} \;
¢Í ¥³¥Þ¥ó¥É¤ÏÊ£¿ô¸Ä»ØÄê¤Ç¤­¤ë¡£
% find . -name \*~ -exec ls {} \; -exec rm {} \;
¢Í (¤³¤ÎÎã¤Ï¤¢¤Þ¤ê°ÕÌ£¤Ï¤Ê¤¤¤¬) -exec ¤òÊ£¿ô¸Ä»ØÄꤷ¤Æ¤â¤è¤¤¡£

¾¥æ¡¼¥¶¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷¤¹¤ë¾ì¹ç¡¢ÆÉ¤ß¹þ¤ß¸¢¸Â¤Î¤Ê¤¤¥Ç¥£¥ì¥¯¥È¥ê¤Ï permission denied ¤Èɽ¼¨¤µ¤ì¡¢½ÐÎϤ¬¸«¤Ë¤¯¤¯¤Ê¤ë¡£csh¡¦tcsh ¤Ê¤é
% (find / -name hoge\* -print >/dev/tty ) >& /dev/null
¤È¤¹¤ë¤³¤È¤Ç¡¢É¸½à¥¨¥é¡¼½ÐÎϤΤߤò¼Î¤Æ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£sh¡¦bash ¤Ê¤é
% find / -name fvwm\* -print 2>/dev/null
¤È¤¹¤ì¤Ð¤è¤¤¡£
>> ÍѸ콸 ¥ê¥À¥¤¥ì¥¯¥È *

locate ¥³¥Þ¥ó¥É¤ÎÊý¤¬¹â®¤Ë¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤Ç¤­¤ë¡£locate ¥³¥Þ¥ó¥É¤¬»È¤¨¤ë¤Ê¤é¡¢¤Þ¤º¤½¤Á¤é¤ò»È¤¦¤Ù¤·¡£

¥½¡¼¥¹¤ÎÃæ¤«¤éʸ»úÎó¡Öhogehoge¡×¤ò¸¡º÷¤¹¤ë¤Ë¤Ï
% find . -name \*.c -exec grep hogehoge {} \;
¤È¤¹¤ì¤Ð¤è¤¤¤¬¡¢¤³¤ì¤Ç¤Ï *.c ¤Î¥Õ¥¡¥¤¥ë¤Î¿ô¤À¤± grep ¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¡¢»þ´Ö¤¬¤«¤«¤ë¡£¤½¤¦¤¤¤¦¾ì¹ç¤Ï
% find . -name \*.c -print | xargs grep hogehoge
¤È¤¹¤ì¤Ð¤è¤¤¡£¤â¤Ã¤È¤­¤Ã¤Á¤ê¤ä¤ë¤Ê¤é
% find . -name \*.c -print0 | xargs -0 grep hogehoge /dev/null
¤Ê¤Î¤À¤¬¡¢¾Ü¤·¤¯¤Ï¥Þ¥Ë¥å¥¢¥ë¤òÆÉ¤ó¤Ç¤¯¤ì¤¤¡£
>> ¥³¥Þ¥ó¥É locate *   xargs *   tree *

finger¡¡¸½ºß¥í¥°¥¤¥ó¤·¤Æ¤¤¤ë¥æ¡¼¥¶Ì¾¤òɽ¼¨¡£¥æ¡¼¥¶¤Î¸Ä¿Í¾ðÊó¤òɽ¼¨

°ú¿ô¤Ê¤·¤Çµ¯Æ°¤¹¤ë¤È¸½ºß¥í¥°¥¤¥ó¤·¤Æ¤¤¤ë¥æ¡¼¥¶Ì¾¤òɽ¼¨¤¹¤ë¡£¥æ¡¼¥¶Ì¾¤ò»ØÄꤹ¤ë¤È¡¢¤½¤Î¥æ¡¼¥¶¤Î¸Ä¿Í¾ðÊó¤òɽ¼¨¤¹¤ë¡£

% finger
¢Í ¸½ºß¥í¥°¥¤¥ó¤·¤Æ¤¤¤ë¥æ¡¼¥¶¤Î°ìÍ÷¤òɽ¼¨
% finger username
¢Í ¥í¡¼¥«¥ë¥Û¥¹¥È¤Î¥æ¡¼¥¶ username ¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òɽ¼¨
% finger -l username
¢Í ¥í¡¼¥«¥ë¥Û¥¹¥È¤Î¥æ¡¼¥¶ username ¤Ë¤Ä¤¤¤Æ¤Î¾ÜºÙ¤Ê¾ðÊó¤òɽ¼¨
% finger username@anotherhost
¢Í anotherhost ¤Î¥æ¡¼¥¶ username ¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òɽ¼¨¡£¤³¤Î¾ì¹ç¡¢anotherhost ¤Ç finger¥Ç¡¼¥â¥ó¤¬Æ°¤¤¤Æ¤¤¤ëɬÍפ¬¤¢¤ë¡£

GNU fingerd ¤ò»È¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ë ~/.nofinger ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤òºî¤Ã¤Æ¤ª¤¯¤È¡¢¤½¤Î¥æ¡¼¥¶¤¬Â¸ºß¤·¤Ê¤¤¤«¤Î¤è¤¦¤Ë°·¤ï¤ì¤ë¡£

Âç³Ø¤Ê¤É¤Ç¤Ï fingerd ¤¬Æ°¤¤¤Æ¤¤¤ë¤È¤³¤í¤â¤¢¤ë¤«¤â¤·¤ì¤Ê¤¤¤¬¡¢°ìÈ̤Υץí¥Ð¥¤¥À¤Ç¤Ï¤Þ¤º fingerd ¤ÏÉÔÍפʥµ¡¼¥Ó¥¹¤È¤·¤Æ»ß¤á¤é¤ì¤Æ¤¤¤ë¤À¤í¤¦¡£
>> ÀßÄê¥Õ¥¡¥¤¥ë ~/.nofinger *   ~/.plan *   ~/.project *   users *   who *

flame¡¡¥Õ¥é¥¯¥¿¥ë²èÁü¤òÉÁ¤¯

>> ¥³¥Þ¥ó¥É xscreensaver *

flex¡¡»ú¶ç²òÀϥѡ¼¥µÀ¸À®¥×¥í¥°¥é¥à

lex ¤Î¾å°Ì¸ß´¹¥×¥í¥°¥é¥à¡£¹½Ê¸²òÀÏ´ï¤Î bison ¤ÈÁȤ߹ç¤ï¤»¤Æ»ÈÍѤµ¤ì¤ë¤³¤È¤¬Â¿¤¤¡£bison ¤È¤Ï°Û¤Ê¤ê¡¢flex ¤Ï GNU ¤Î¥×¥í¥À¥¯¥È¤Ç¤Ï¤Ê¤¯¡¢GPL ¤ÇÇÛÉÛ¤µ¤ì¤Æ¤â¤¤¤Ê¤¤¡£
>> ¥³¥Þ¥ó¥É lex *   yacc *   bison *
>> ÆÉ¤ßÊý flex *

fold¡¡¥Æ¥­¥¹¥È¤ò°ìÄêÉý¤ËÀ°·Á¤¹¤ë(¥Ñ¥¤¥×)

»ØÄꤷ¤¿Ê¸»ú¿ô¤è¤êŤ¤¹Ô¤òÀÚ¤êµÍ¤á¤ë¡£
% ls -l | fold -w 40
¢Í 1¹Ô¤ò 40ʸ»ú¤ËÀ°·Á
fold ¤Ï¥¿¥Ö¤òǧ¼±¤·¤Ê¤¤¤Î¤Ç¡¢¥¿¥Ö¤ò´Þ¤à¥Æ¥­¥¹¥È¤Ï expand ¤ÇÁ°½èÍý¤¹¤ëɬÍפ¬¤¢¤ë¡£¤Þ¤¿¡¢FreeBSD (FreeBSD2.2.6¤Ç³Îǧ) ¤Î /usr/bin/fold ¤ÏÆüËܸì¤ò¤¦¤Þ¤¯°·¤¨¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢ÆüËܸì¤ò´Þ¤àʸ¾Ï¤Ï nkf ¤Î -f ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¤è¤¤¡£
>> ¥³¥Þ¥ó¥É cut *   expand *   nkf *

for¡¡»ØÄꤵ¤ì¤¿¥³¥Þ¥ó¥É¤ò°ì³ç¤·¤Æ¼Â¹Ô¤¹¤ë¡£sh¡¦bash ¤ÎÆâÉô¥³¥Þ¥ó¥É

»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¡¢°ìÏ¢¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¡£Î㤨¤ÐÊ£¿ô¤Î¥Õ¥¡¥¤¥ë¤Îʸ»ú¥³¡¼¥É¤òÊÑ´¹¤·¤¿¤¤¾ì¹ç¡¢
% for i in file1 file2 file3
> do
> nkf -e < $i > tmp
> mv tmp $i
> done
¤È¤¹¤ë¤È¡¢file1¡¢file2¡¢file3 ¤¬½ç¤Ë¥·¥§¥ëÊÑ¿ô $i ¤Ë¥»¥Ã¥È¤µ¤ì¡¢nkf ¤È mv ¤¬¼Â¹Ô¤µ¤ì¤ë (¤³¤ÎÎã¤Ç¤Ï qkc ¤ò»È¤¨¤Ðʸ»ú¥³¡¼¥É¤Î°ì³çÊÑ´¹¤¬¤Ç¤­¤ë¤Î¤À¤¬)¡£É¬¤ºÁ°¸å¤ò do ¤È done ¤Ç¶´¤à¤³¤È¡£¤Þ¤¿¡¢
% foreach i in *.txt /tmp/hoge/a??
¤Ê¤É¤È¥á¥¿¥­¥ã¥é¥¯¥¿¤ò»È¤¦¤³¤È¤â¤Ç¤­¤ë¡£

DOS ¤Ç¤¤¤¦¤È¤³¤í¤Î
% copy *.txt *.txt.bak
¤ò¹Ô¤¦¤Ë¤Ï
% for i in *.txt
> do
> cp $i $i.bak
> done
¤È¤¹¤ë¡£³ÈÄ¥»Ò¤Î°ì³çÊÑ´¹¤Ï
% for i in *.txt
> do
> cp $i ${i%.txt}.html
> done
¤È¤¹¤ë¡£¤Þ¤¿¡¢for ¤Ï ; ¤Ç¶èÀڤ뤳¤È¤Ç1¹Ô¤Ç½ñ¤¯¤³¤È¤¬¤Ç¤­¤ë¡£
% for i in file1 file2 file3 ; do nkf -e < $i > tmp ; mv tmp $i ; done

for ʸ¤Ï sh¡¦bash ¤ÎÆâÉô¥³¥Þ¥ó¥É¤Ç¤¢¤ë¡£csh¡¦tcsh ¤Ë¤Ï foreach ¤¬ÍѰդµ¤ì¤Æ¤¤¤ë¡£¤Ê¤ª¡¢tcsh ¤Î foreach ¤ÎÃæ¤Ç¼Â¹Ô¤·¤¿¥³¥Þ¥ó¥É¤Ï¥Ò¥¹¥È¥ê¤Ç¤µ¤«¤Î¤Ü¤ì¤Ê¤¤¤Î¤ËÂФ·¤Æ¡¢bash ¤Î for ¤ÏÊ£¿ô¹Ô¤Çµ­½Ò¤·¤Æ¤â¡¢¥Ò¥¹¥È¥ê¤Ç¤µ¤«¤Î¤Ü¤ë¤È ; ¤Ç¶èÀڤä¿1¹Ô¤Îʸ»úÎó¤È¤·¤ÆÉ½¼¨¤·¤Æ¤¯¤ì¤ë¡£bash ¤Î¾¡¤Á¡£
>> ¥³¥Þ¥ó¥É foreach *
>> ÍѸ콸 ¥·¥§¥ë¥¹¥¯¥ê¥×¥È *

foreach¡¡»ØÄꤵ¤ì¤¿¥³¥Þ¥ó¥É¤ò°ì³ç¤·¤Æ¼Â¹Ô¤¹¤ë¡£csh¡¦tcsh ¤ÎÆâÉô¥³¥Þ¥ó¥É

»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¡¢°ìÏ¢¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¡£Î㤨¤ÐÊ£¿ô¤Î¥Õ¥¡¥¤¥ë¤Îʸ»ú¥³¡¼¥É¤òÊÑ´¹¤·¤¿¤¤¾ì¹ç¡¢
% foreach i ( file1 file2 file3 )
foreach? nkf -e < $i > tmp
foreach? mv tmp $i
foreach? end
¤È¤¹¤ë¤È¡¢file1¡¢file2¡¢file3 ¤¬½ç¤Ë¥·¥§¥ëÊÑ¿ô $i ¤Ë¥»¥Ã¥È¤µ¤ì¡¢nkf ¤È mv ¤¬¼Â¹Ô¤µ¤ì¤ë¡£
% foreach i ( *.txt /tmp/hoge/a?? )
¤Ê¤É¤È¥á¥¿¥­¥ã¥é¥¯¥¿¤ò»È¤¦¤³¤È¤â¤Ç¤­¤ë¡£

DOS ¤Ç¤¤¤¦¤È¤³¤í¤Î
% copy *.txt *.txt.bak
¤ò¹Ô¤¦¤Ë¤Ï
% foreach i ( *.txt )
foreach? cp $i $i.bak
foreach? end
¤È¤¹¤ë¡£³ÈÄ¥»Ò¤Î°ì³çÊÑ´¹¤Ï
% foreach i ( *.txt )
foreach? cp $i $i:s/.txt/.html/
foreach? end
¤È¤¹¤ì¤Ð¤è¤¤¡£

¥·¥§¥ëÊÑ¿ô¤Ø¤ÎÂåÆþ»þ¤Ï $ ¤òÉÕ¤±¤Æ¤Ï¤¤¤±¤Ê¤¤¤³¤È¤ËÃí°Õ¡£¤Ä¤Þ¤ê
% foreach $i ( ... )
¤Ï¥¨¥é¡¼¤Ë¤Ê¤ë¡£

foreach ¤Ï¡¢csh¡¦tcsh ¤ÎÆâÉô¥³¥Þ¥ó¥É¤Ç¤¢¤ë¡£sh¡¦bash ¤Î¾ì¹ç¤Ï for ¤¬ÍѰդµ¤ì¤Æ¤¤¤ë¡£
>> ¥³¥Þ¥ó¥É for *
>> ÍѸ콸 ¥·¥§¥ë¥¹¥¯¥ê¥×¥È *

freebsd-update¡¡FreeBSD ¤Î¥Ð¥¤¥Ê¥ê¹¹¿·¤ò¹Ô¤¦¡£Windows Update ¤Î¤è¤¦¤Ê¤â¤Î

FreeBSD ¤Î¥Ð¥¤¥Ê¥ê¹¹¿·¤ò¹Ô¤¦¡£Windows Update ¤Î¤è¤¦¤Ê¤ª¼ê·Ú¥Ä¡¼¥ë¡£

¤Þ¤º¡¢port ¤« package ¤«¤é freebsd-update ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¡£

¤½¤·¤ÆÀßÄê¥Õ¥¡¥¤¥ë¤òÍѰդ¹¤ë¡£
# cd /usr/local/etc/
# cp freebsd-update.conf.sample freebsd-update.conf
¢Í ¤³¤³¤Ç¤Ï¥Ç¥Õ¥©¥ë¥È¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤ò¤½¤Î¤Þ¤Þ»ÈÍѤ·¤Æ¤¤¤ë

¤³¤ì¤Ç½àÈ÷¤Ï´°Î»¡£¤Þ¤º¡¢fetch ¤Ç¥Ð¥¤¥Ê¥ê¥Ñ¥Ã¥Á¤ò¼èÆÀ¤¹¤ë¡£
# /usr/local/sbin/freebsd-update fetch
Fetching updates signature...
Fetching updates...
Fetching hash list signature...
Fetching hash list...
Examining local system...
Fetching updates...
/boot/kernel/kernel...
/usr/bin/fetch...
Updates fetched
To install these updates, run: '/usr/local/sbin/freebsd-update install'

¤É¤Î¥Õ¥¡¥¤¥ë¤¬¹¹¿·¤µ¤ì¤ë¤«³Îǧ¤·¤¿¤é¡¢install ¤ò¹Ô¤¦¡£
# /usr/local/sbin/freebsd-update install
Backing up /boot/kernel/kernel...
Installing new /boot/kernel/kernel...
Backing up /usr/bin/fetch...
Installing new /usr/bin/fetch...
¤³¤ì¤Ç¤ª¤·¤Þ¤¤¡£´Êñ¤Ê¤â¤Î¤Ç¤¢¤ë¡£

¡üfreebsd-update ¤Ç»ØÄê¤Ç¤­¤ë¼ç¤Ê¥³¥Þ¥ó¥É
fetch
¥Ð¥¤¥Ê¥ê¥Ñ¥Ã¥Á¤ò¼èÆÀ¤¹¤ë¡£¥¤¥ó¥¹¥È¡¼¥ë¤Ï¹Ô¤ï¤ì¤Ê¤¤¡£
install
fetch ¤Ç¼èÆÀ¤·¤Æ¤ª¤¤¤¿¥Ñ¥Ã¥Á¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¡£
cron
fetch ¤ò¹Ô¤¤¡¢¤â¤·¥Ð¥¤¥Ê¥ê¥Ñ¥Ã¥Á¤¬Ä󶡤µ¤ì¤Æ¤¤¤ì¤Ð root °¸¤Ë¥á¡¼¥ë¤òÁ÷¿®¤¹¤ë¡£Ä󶡤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð²¿¤â¤·¤Ê¤¤¡£¤³¤ì¤ò cron ¤Ë»Å¹þ¤ó¤Ç¤ª¤¯¤È¡¢¥á¡¼¥ë¤¬ÆÏ¤¤¤¿¤È¤­¤À¤± freebsd-update install ¤ò¼êư¤Ç¼Â¹Ô¤¹¤ì¤Ð¤è¤¤¤ï¤±¤Ç¤¢¤ë¡£
rollback
install ¤·¤¿¥Ñ¥Ã¥Á¤òºï½ü¤¹¤ë¡£²¿ÅÙ¤â rollback ¤¹¤ë¤³¤È¤Ç¡¢¤É¤ó¤É¤ó°ÊÁ°¤Î¾õÂ֤ˤµ¤«¤Î¤Ü¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

¡üÃí°ÕÅÀ
  • freebsd-update ¤Ï¥»¥­¥å¥ê¥Æ¥£´ØÏ¢¤ÎÀȼåÀ­¤ò½¤Àµ¤¹¤ë¤¿¤á¤Î»ÅÁȤߤǤ¢¤Ã¤Æ¡¢FreeBSD ¤òºÇ¿·¥ê¥ê¡¼¥¹¤ËÊݤĤ¿¤á¤Î»ÅÁȤߤǤϤʤ¤¡£Î㤨¤Ð FreeBSD 5.1-RELEASE ¤Ç freebsd-update ¤·¤Æ¤â¡¢FreeBSD 5.2-RELEASE ¤Ë¹¹¿·¤µ¤ì¤ë¤ï¤±¤Ç¤Ï¤Ê¤¯¡¢¤¢¤¯¤Þ¤Ç 5.1-STABLE ¤òÄɤ䫤±¤Æ¤¤¤ë¤Ë²á¤®¤Ê¤¤¡£
  • freebsd-update ¤Ï¥¤¥ó¥¿¡¼¥Í¥Ã¥È·Ðͳ¤Ç¥Ð¥¤¥Ê¥ê¥Ñ¥Ã¥Á¤ò¼èÆÀ¤¹¤ë¤¿¤á¡¢¥¤¥ó¥¿¡¼¥Í¥Ã¥È¤ËÀܳ¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ë¡£¤Ê¤ª¡¢fetch ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ HTTP ·Ðͳ¤Ç¥Õ¥¡¥¤¥ë¤ò¼èÆÀ¤¹¤ë¤Î¤Ç¡¢É¬ÍפǤ¢¤ì¤Ð proxy ¤ÎÀßÄê¤Ê¤É¤ò¹Ô¤Ã¤Æ¤ª¤¯¤³¤È¡£
  • ¥Ð¥¤¥Ê¥ê¥Ñ¥Ã¥Á¤Ç¤¢¤ë¤¿¤á¡¢¥«¡¼¥Í¥ë¤ä´ðËÜÇÛÉÛʪ¤ò¼ê¸µ¤Ç¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤·¤Þ¤¦¤È¡¢freebsd-update ¤Ïưºî¤·¤Ê¤¤¡£
  • ŬÍѤ¹¤ë¥Ñ¥Ã¥Á¤òÁªÂò¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£freebsd-update ¤ò»È¤Ã¤ÆÁ´¤Æ¤Î´ðËÜÇÛÉÛʪ¤òºÇ¿·¤Î¾õÂÖ¤ËÊݤĤ«¡¢freebsd-update ¤ò»È¤ï¤Ê¤¤¤«¡¢¤Î¤¤¤º¤ì¤«¤òÁªÂò¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
  • ¹¹¿·ÂоݤȤʤë¤Î¤Ï FreeBSD ¤Î´ðËÜÇÛÉÛʪ¤Î¤ß¤Ç¤¢¤ë¡£¤Ä¤Þ¤ê /bin¡¦/usr/bin¡¦/usr/sbin ¤Ï¹¹¿·ÂоݤÀ¤¬¡¢/usr/local/bin ¤ä /usr/local/sbin ¤Ê¤É¤Î ports¡¦packages ¤Ï¹¹¿·¤ÎÂоݤȤʤé¤Ê¤¤¡£
  • ÀÅŪ¤Ë¥ê¥ó¥¯¤·¤Æ¤¤¤ë ports¡¦packages ¤Î¥×¥í¥°¥é¥à¤ËÃí°Õ¡£Î㤨¤Ð libc ¤Î´Ø¿ô¤ËÀȼåÀ­¤¬È¯¸«¤µ¤ì¤¿¤È¤¹¤ë¡£¤½¤Î·ë²Ì¡¢°Ê²¼¤Î¥Õ¥¡¥¤¥ë¤Ï freebsd-update ¤Ë¤è¤Ã¤Æ¹¹¿·¤µ¤ì¤ë¡£
  • ÀÅۥ饤¥Ö¥é¥ê /usr/lib/libc.a
  • libc.a ¤òÀÅŪ¤Ë¥ê¥ó¥¯¤·¤Æ¤¤¤ë´ðËÜÇÛÉÛʪ¤Î¥³¥Þ¥ó¥É
  • ưۥ饤¥Ö¥é¥ê /usr/lib/libc.so
¤·¤«¤·ÀÅۥ饤¥Ö¥é¥ê /usr/lib/libc.a ¤òÀÅŪ¤Ë¥ê¥ó¥¯¤·¤Æ¤¤¤ë ports¡¦packages ¤Î¥³¥Þ¥ó¥É¤¬¤½¤Î´Ø¿ô¤ò»ÈÍѤ·¤Æ¤¤¤¿¾ì¹ç¡¢ÀȼåÀ­¤Ï»Ä¤Ã¤¿¤Þ¤Þ¤È¤Ê¤ë¡£¤³¤Î¤è¤¦¤Ê¤È¤­¤Ï portupgrade -f ¤Ç ports¡¦packages ¤òºÆ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Î¤¬¤ª¼ê·Ú¡£
  • ¥«¡¼¥Í¥ë¤¬¹¹¿·¤µ¤ì¤¿¾ì¹ç¤Ï¥ê¥Ö¡¼¥È¤ò˺¤ì¤º¤Ë¡£¥«¡¼¥Í¥ë¥â¥¸¥å¡¼¥ë¤¬¹¹¿·¤µ¤ì¤¿¾ì¹ç¤Ï¡¢kldstat -v ¤Ç¥«¡¼¥Í¥ë¤¬»ÈÍÑÃæ¤«¤É¤¦¤«¤ò³Îǧ¤¹¤ë¤³¤È¡£¤â¤·»ÈÍÑÃæ¤Ç¤¢¤ì¤Ð¥â¥¸¥å¡¼¥ë¤Îµ¡Ç½¤ò»ÈÍѤ·¤Æ¤¤¤ë¥µ¡¼¥Ó¥¹¤ò»ß¤á¤Æ¤«¤é kldunload¡¦kldload ¤·¤ÆºÆÅÙ¥í¡¼¥É¤·¤Ê¤ª¤¹¤«¡¢¤¢¤ë¤¤¤Ï¥ê¥Ö¡¼¥È¤¹¤ë¤³¤È¡£


freebsd-update ¤Ï°ì¸«¡Ö¥Ð¥¤¥Ê¥ê¤òÈæ³Ó¤·¤Æ¡¢¤â¤·°Û¤Ê¤Ã¤Æ¤¤¤ì¤ÐÇÛÉÛ¤¹¤ë¡×¤È¤¤¤¦Ã±½ã¤Êºî¶È¤ò¤·¤Æ¤¤¤ë¤À¤±¤Ë¸«¤¨¤ë¤¬¡¢¤½¤¦´Êñ¤Ç¤Ï¤Ê¤¤¡£

¤Þ¤º¡¢FreeBSD ¤Î¥Ó¥ë¥É»þ¤ËÀ¸À®¤µ¤ì¤ë¥Ð¥¤¥Ê¥ê¤Ë¥¿¥¤¥à¥¹¥¿¥ó¥×¤¬Ëä¤á¤³¤Þ¤ì¤ë¤â¤Î¤¬¤¢¤ë¡£¤³¤ì¤ÏƱ¤¸¥½¡¼¥¹¤«¤éÆó²ó¥Ó¥ë¥É¤ò¹Ô¤¤¡¢°Û¤Ê¤ëÉôʬ¤òÈæ³Ó¤ÎÂоݳ°¤È¤¹¤ë¤³¤È¤Ç²ò·è¤·¤Æ¤¤¤ë¡£Ãæ¤Ë¤ÏÆüÉÕ¤òʸ»úÎó¤Ç¥Ð¥¤¥Ê¥ê¤ËËä¤á¹þ¤ó¤Ç¤·¤Þ¤¦¤â¤Î¤¬¤¢¤ë¤¬¡¢¡ÖMarch¡×¤È¡ÖFebruary¡×¤Î¤è¤¦¤ËŤµ¤¬°Û¤Ê¤Ã¤Æ¤·¤Þ¤¦¤¿¤á¡¢¥Ó¥ë¥É¤Î¤¿¤Ó¤Ë¥Ð¥¤¥Ê¥ê¥µ¥¤¥º¤¬ÊѤï¤Ã¤Æ¤·¤Þ¤¦¡£¤Þ¤¿¡¢¥Ó¥ë¥É¤Î¤¿¤Ó¤Ë¥é¥ó¥À¥à¤Ê¥Ç¡¼¥¿¤òÀ¸À®¤¹¤ë¤â¤Î¤â¤¢¤ë¡£¤³¤Î¤è¤¦¤Ê¥¤¥ì¥®¥å¥é¡¼¤Ê¥Õ¥¡¥¤¥ë¤ÏÈæ³ÓÂоݳ°¤È¤¹¤ë¤Ê¤É¡¢·ë¹½ÂçÊѤʤΤÀ¡£

¤Á¤Ê¤ß¤ËÅö¥Ú¡¼¥¸´ÉÍý¿Í¤Ï freebsd-update ¤ò°¦ÍѤ·¤Æ¤¤¤ë¡£

from¡¡ÅþÃ夷¤¿¥á¡¼¥ë¤ÎÁ÷¤ê¼ç°ìÍ÷¤òɽ¼¨

̤ÆÉ¥á¡¼¥ë¤Î°ìÍ÷¤òɽ¼¨¤¹¤ë¡£¥×¥í¥°¥é¥à¼«ÂΤÏñ½ã¤Ç¡¢¥á¡¼¥ë¥¹¥×¡¼¥ë (/var/mail/$USER) ¤òÆÉ¤ß¹þ¤ß¡¢From: ¥Ø¥Ã¥À¤Î¹Ô¤òɽ¼¨¤¹¤ë¤À¤±¤Ç¤¢¤ë¡£¤Ê¤ª¡¢POP (¾¤Î¥µ¡¼¥Ð¤Ë¥á¡¼¥ë¥¹¥×¡¼¥ë¤¬¤¢¤ë¤È¤¤¤¦¤³¤È) ¤Ë¤ÏÂбþ¤·¤Æ¤¤¤Ê¤¤¡£
% from
From foo@example.co.jp Sat Jun 24 12:57:21 2005
From bar@mail.example.net Sat Jun 25 09:27:08 2005
From bar@mail.example.net Sat Jun 25 23:57:44 2005

¡ü¥ª¥×¥·¥ç¥ó
-f ¥á¡¼¥ë¥¹¥×¡¼¥ë¤ò»ØÄꤹ¤ë¡£¥Ç¥Õ¥©¥ë¥È¤Ï /var/mail/$USER
>> ¥³¥Þ¥ó¥É mail *   xbiff *   xpbiff *

fsck¡¡¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ÎÌ·½â¤Î¸¡½Ð¡¦½¤Éü

UNIX ¤¬µ¯Æ°¤·¤¿¤È¤­¡¢¥·¥¹¥Æ¥à¤Ï /etc/fstab ¤ò»²¾È¤·¤Ê¤¬¤é mount ¥³¥Þ¥ó¥É¤òÍѤ¤¤Æ¼«Æ°Åª¤Ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¥Þ¥¦¥ó¥È¤¹¤ë¡£OS ¤ò½ªÎ»¤¹¤ëºÝ¤Ï¡¢umount ¥³¥Þ¥ó¥É¤¬¼«Æ°Åª¤Ë¼Â¹Ô¤µ¤ì¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¥¢¥ó¥Þ¥¦¥ó¥È¤¹¤ë¡£

¤â¤·¥¢¥ó¥Þ¥¦¥ó¥È¤»¤º¤Ë OS ¤ò½ªÎ»¤·¤¿¾ì¹ç(Î㤨¤Ð PC ¤ÎÅŸ»¤ò¤¤¤­¤Ê¤êÀڤ俤Ȥ«)¡¢¼¡²ó¤Î OS ¤Îµ¯Æ°»þ¤Ë¤Ï¼«Æ°Åª¤Ë fsck ¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤ë¡£ÂçÄñ¤Î¾ì¹ç¤Ï¤³¤Î¼«Æ°¼Â¹Ô¤µ¤ì¤ë fsck ¤¬¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò½¤Éü¤·¤Æ¤¯¤ì¤ë¤¬¡¢¤¿¤Þ¤Ë¼«Æ°½¤Éü¤Ë¼ºÇÔ¤¹¤ë¤³¤È¤â¤¢¤ë¡£

fsck ¤ò¼êư¤Ç¼Â¹Ô¤¹¤ë¾ì¹ç¤Ï¡¢¤¿¤¯¤µ¤ó¤Î¼ÁÌ䤬ʹ¤«¤ì¤ë¤¬¡¢UNIX ¤ËÀºÄ̤·¤Æ¤¤¤Ê¤¤¤È¼ÁÌä¤Î°ÕÌ£¤¬Íý²ò¤Ë¤·¤¯¤¤¡£¤½¤Î¾ì¹ç fsck -y ¤Ç¼Â¹Ô¤¹¤ë¤È¡¢Á´¤Æ¤Î¼ÁÌä¤Ë yes ¤ÈÅú¤¨¤¿¤³¤È¤Ë¤Ê¤ë¡£
>> ¥³¥Þ¥ó¥É mount *

fstat¡¡¸½ºß¥ª¡¼¥×¥ó¤·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Î¾ðÊó¤òɽ¼¨

¸½ºß¡¢¤É¤Î¥×¥í¥»¥¹¤¬¡¢¤É¤Î¥Õ¥¡¥¤¥ë¤ò»²¾È/½ñ¤­¹þ¤ß¤·¤Æ¤¤¤ë¤«¤òɽ¼¨¤¹¤ë¡£umount ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ Device Busy ¥¨¥é¡¼¤Ë¤Ê¤Ã¤¿¤È¤­¡¢¤É¤Î¥×¥í¥»¥¹¤¬¥¢¥¯¥»¥¹¤·¤Æ¤¤¤ë¤Î¤«¤òÄ´¤Ù¤ë¤Î¤ËÊØÍø¡£

¥Õ¥¡¥¤¥ë filename ¤Ë¸½ºß¥¢¥¯¥»¥¹¤·¤Æ¤¤¤ë¥×¥í¥»¥¹¤òÄ´¤Ù¤ë¤Ë¤Ï
% fstat filename
USER     CMD          PID   FD MOUNT      INUM MODE         SZ|DV R/W NAME
foo      jless        373    4 /usr     729624 -rw-r--r--    5867  r  filename
¤È¤¹¤ë¡£¤³¤ì¤Ë¤è¤ë¤È¡¢¥æ¡¼¥¶ foo ¤¬¼Â¹Ô¤·¤Æ¤¤¤ë¥×¥í¥»¥¹ jless (¥×¥í¥»¥¹ÈÖ¹æ 373) ¤¬¡¢¥Õ¥¡¥¤¥ë filename (i-node 729624¡¢¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó 644¡¢¥Õ¥¡¥¤¥ë¥µ¥¤¥º 5867) ¤ò¡¢ÆÉ¤ß¹þ¤ß¥â¡¼¥É (R/W=r) ¤Ç¥ª¡¼¥×¥ó¤·¤Æ¤¤¤ë¤³¤È¤¬¤ï¤«¤ë¡£

vi ¤ä emacs¡¦mule ¤Ê¤É¤Î¥¨¥Ç¥£¥¿¤Ç¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤ó¤À¾ì¹ç¤Ï¡¢¥Õ¥¡¥¤¥ë¤ò¥ª¡¼¥×¥ó¤·¤Æ¥Ð¥Ã¥Õ¥¡¤ËÆÉ¤ß¹þ¤ó¤À¸å ¥¯¥í¡¼¥º¤·¤Æ¤·¤Þ¤¦¡£¤è¤Ã¤Æ¡¢¤³¤ì¤é¤Î¥¨¥Ç¥£¥¿¤ò»È¤Ã¤Æ¡¢¤É¤Î¥Õ¥¡¥¤¥ë¤Ë¥¢¥¯¥»¥¹¤·¤Æ¤¤¤ë¤³¤È¤òÃΤë¤Î¤ÏÆñ¤·¤¤ (¤Á¤ç¤¦¤É¥Õ¥¡¥¤¥ë¤ò¥ª¡¼¥×¥ó¤·¤Æ¤¤¤ëºÇÃæ¤Ë fstat ¤ò¼Â¹Ô¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤)¡£°ìÊý¡¢tail -f ¤ä more¡¦less ¤Ï¤º¤Ã¤È¥Õ¥¡¥¤¥ë¤ò¥ª¡¼¥×¥ó¤·Â³¤±¤ë¤Î¤Ç¡¢fstat ¤ÇÍÆ°×¤ËÄ´¤Ù¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

¡ü¥ª¥×¥·¥ç¥ó
-p PID »ØÄꤷ¤¿ PID ¤Î¥×¥í¥»¥¹¤¬³«¤¤¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Î¤ß¤òɽ¼¨
-u user »ØÄꤷ¤¿¥æ¡¼¥¶¤Î¥×¥í¥»¥¹¤¬³«¤¤¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Î¤ß¤òɽ¼¨
-f »ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Î°¤¹¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¾ðÊó¤òɽ¼¨
% fstat -f /usr/
¢Í /usr ¤¬Â°¤¹¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥Õ¥¡¥¤¥ë¤ò¥ª¡¼¥×¥ó¤·¤Æ¤¤¤ë¥×¥í¥»¥¹°ìÍ÷¤òɽ¼¨

fstat ¥³¥Þ¥ó¥É¤Ï BSD ·Ï¤Ë¤·¤«¤Ê¤¤¡£SystemV ¤Ç¤Ï fuser ¤È¤¤¤¦Æ±ÍͤΥ³¥Þ¥ó¥É¤¬¤¢¤ë¡£Linux ¤Ç¤Ïɸ½à¤Ç lsof ¤È¤¤¤¦¥³¥Þ¥ó¥É¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤¬Â¿¤¤¡£
>> ¥³¥Þ¥ó¥É fuser *   lsof *   umount *

ftp¡¡¥Õ¥¡¥¤¥ëžÁ÷¥æ¡¼¥Æ¥£¥ê¥Æ¥£

¥í¡¼¥«¥ë¥Û¥¹¥È¤«¤éÊ̤Υۥ¹¥È¤ËÀܳ¤·¡¢¥Õ¥¡¥¤¥ë¤òžÁ÷ (ÃÖ¤­¤Ë¤¤¤¯/»ý¤Ã¤Æ¤¯¤ë) ¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

anonymous FTP ¥µ¥¤¥È¤«¤é¥Õ¥¡¥¤¥ë¤ò¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¾ì¹ç¤Ï¡¢¥æ¡¼¥¶Ì¾¤Ë¡Öanonymous¡×¤«¡Öftp¡×¡¢¥Ñ¥¹¥ï¡¼¥É¤Ë¼«Ê¬¤Î¥á¡¼¥ë¥¢¥É¥ì¥¹¤ò»ØÄꤹ¤ë¡£¤¿¤Þ¤Ë¡Öftp¡×¤Ç¤Ï¥À¥á¤Ç¡¢¡Öanonymous¡×¤ÈÆþÎϤ·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤ FTP ¥µ¡¼¥Ð¤â¤¢¤ë¡£

¤Þ¤¿¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î¥Þ¥·¥ó¤¬µÕ°ú¤­¤Ç¤­¤Ê¤¤ (IP ¥¢¥É¥ì¥¹¤«¤é¥Û¥¹¥È̾¤Ø¤ÎÊÑ´¹¤¬¤Ç¤­¤Ê¤¤¡áDNS ¤ÎÀßÄ꤬¤µ¤ì¤Æ¤¤¤Ê¤¤) ¤È¥í¥°¥¤¥ó¤µ¤»¤Æ¤¯¤ì¤Ê¤¤ anonymous FTP ¥µ¥¤¥È¤â¤¢¤ë¡£

ftp://ftp.hoge.com/pub/sample/test.tgz ¤ò¥À¥¦¥ó¥í¡¼¥É¤¹¤ë¾ì¹ç¤ÎÁàºîÎã¤ò°Ê²¼¤Ë¼¨¤¹¡£
% ftp
ftp> open ftp.hoge.com (FTP¥µ¥¤¥È¤ËÀܳ)
Connected to ftp.hoge.com
220 ftp.hoge.com FTP server (UNIX(r) System V Release 4.0) ready
User (ftp.hoge.com:(none)) : ftp(¤¢¤ë¤¤¤Ïanonymous)
331 Password required for ftp
Password: ¼«Ê¬¤Î¥á¡¼¥ë¥¢¥É¥ì¥¹(ŬÅö¤ËÆþÎϤ·¤Æ¤âÌäÂê¤Ê¤¤¤¬¡¢¥Þ¥Ê¡¼¤È¤·¤ÆÀµ¤·¤¤¥á¡¼¥ë¥¢¥É¥ì¥¹¤òÆþÎϤ¹¤ë)
230 User ftp logged in
ftp> ls (¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤Î¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤òɽ¼¨)
(¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê°ìÍ÷¤¬É½¼¨¤µ¤ì¤ë)
ftp> cd pub/sample
ftp> get test.tgz
ftp> bye (FTP½ªÎ»)

¡ü¼çÍ×¥³¥Þ¥ó¥É°ìÍ÷
open ¥ê¥â¡¼¥È¥Û¥¹¥È¤ËÀܳ
close ¥ê¥â¡¼¥È¥Û¥¹¥È¤Ø¤ÎÀܳ¤òÀÚÃÇ
user ¥Ñ¥¹¥ï¡¼¥É¤ò´Ö°ã¤Ã¤¿¾ì¹ç¤Ï¡¢user ¥³¥Þ¥ó¥É¤ÇºÆÅÙ¥í¥°¥¤¥ó¤·Ä¾¤¹¤³¤È¤¬¤Ç¤­¤ë¡£
ls ¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê°ìÍ÷¤òɽ¼¨
¥á¥¿¥­¥ã¥é¥¯¥¿¤ò»È¤Ã¤Æ¡¢
ftp> ls *.txt
¤Ê¤É¤È¡¢³ÈÄ¥»Ò¤¬ txt ¤Î¥Õ¥¡¥¤¥ë°ìÍ÷¤À¤±¤òɽ¼¨¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¡£
cd ¥ê¥â¡¼¥È¥Û¥¹¥È¤Î¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤¿¥Ç¥£¥ì¥¯¥È¥ê¤ËÊѹ¹¡£
°ú¿ô¤Ê¤·¤Ç¼Â¹Ô¤¹¤ë¤È¡¢(¥ê¥â¡¼¥È¤Î) ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư¤¹¤ë
lcd ¥í¡¼¥«¥ë¥Û¥¹¥È¤Î¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤¿¥Ç¥£¥ì¥¯¥È¥ê¤ËÊѹ¹¡£
°ú¿ô¤Ê¤·¤Ç¼Â¹Ô¤¹¤ë¤È¡¢(¥í¡¼¥«¥ë¤Î) ¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ë°Üư¤¹¤ë
pwd ¥ê¥â¡¼¥È¥Û¥¹¥È¤Î¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤òɽ¼¨
bye ftp¤ò½ªÎ»
get ¥Õ¥¡¥¤¥ë¤ò¥ê¥â¡¼¥È¥Û¥¹¥È¤«¤é¥í¡¼¥«¥ë¥Û¥¹¥È¤ËžÁ÷¤¹¤ë
put ¥Õ¥¡¥¤¥ë¤ò¥í¡¼¥«¥ë¥Û¥¹¥È¤«¤é¥ê¥â¡¼¥È¥Û¥¹¥È¤ËžÁ÷¤¹¤ë
ftp> pwd (¥ê¥â¡¼¥È¤Î¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ï /home/remote)
257 "/home/remote" is current directory.
ftp> !pwd (¥í¡¼¥«¥ë¤Î¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ï /home/local)
/home/local
ftp> get file1
¢Í /home/remote/file1 ¤ò /home/local/file1 ¤ËžÁ÷¤¹¤ë¡£
ftp> get file1 new-file1
¢Í /home/remote/file1 ¤ò /home/local/new-file1 ¤ËžÁ÷¤¹¤ë¡£
ftp> get dir/file1
¢Í /home/remote/dir/file1 ¤ò /home/local/dir/file1 ¤ËžÁ÷¤¹¤ë¡£¤³¤ÎºÝ¡¢¥í¡¼¥«¥ë¤Ë¤â /home/local/dir/ ¤È¤¤¤¦¥Ç¥£¥ì¥¯¥È¥ê¤¬Â¸ºß¤·¤Ê¤¤¤È¥¨¥é¡¼¤Ë¤Ê¤ë¡£
ftp> get dir/file1 new-file1
¢Í /home/remote/dir/file1 ¤ò /home/local/new-file1 ¤ËžÁ÷¤¹¤ë¡£
mget Ê£¿ô¥Õ¥¡¥¤¥ë¤òget (¥á¥¿¥­¥ã¥é¥¯¥¿»ÈÍѲÄ)
mput Ê£¿ô¥Õ¥¡¥¤¥ë¤òput (¥á¥¿¥­¥ã¥é¥¯¥¿»ÈÍѲÄ)
get/put¥³¥Þ¥ó¥É¤Ï¡¢°ìÅÙ¤Ë1¤Ä¤Î¥Õ¥¡¥¤¥ë¤·¤«Å¾Á÷¤Ç¤­¤Ê¤¤¤¬¡¢mget/mput ¤ò»È¤¦¤È¡¢°ìÅÙ¤ËÊ£¿ô¤Î¥Õ¥¡¥¤¥ë¤òžÁ÷¤Ç¤­¤ë¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥Õ¥¡¥¤¥ë¤ò1¤ÄžÁ÷¤¹¤ëÁ°¤Ë¡¢¥æ¡¼¥¶¤Ë³Îǧ¤òµá¤á¤Æ¤¯¤ë¡£
ftp> ls *.gz
-rw-r--r-- 1 user group 2151 Jun 28 00:20 file1.tar.gz
-rw-r--r-- 1 user group 1716 Jun 28 00:20 file2.tar.gz
-rw-r--r-- 1 user group 3828 Jun 22 23:19 file3.gz
ftp> mget *.gz
mget file1.tar.gz? (¤³¤³¤Çy¤«Enter¤ò²¡¤¹¤ÈžÁ÷¤¹¤ë)
mget file2.tar.gz? (¤³¤³¤Çy¤«Enter¤ò²¡¤¹¤ÈžÁ÷¤¹¤ë)
mget file3.gz? (¤³¤³¤Çy¤«Enter¤ò²¡¤¹¤ÈžÁ÷¤¹¤ë)
Ëè²ó¤Î³Îǧ¤Ë¤¤¤Á¤¤¤ÁÅú¤¨¤ë¤Î¤¬ÌÌÅݤʾì¹ç¤Ï¡¢prompt ¥³¥Þ¥ó¥É¤ò»È¤¨¤Ð¤è¤¤¡£
ftp> ls *.gz
-rw-r--r-- 1 user group 2151 Jun 28 00:20 file1.tar.gz
-rw-r--r-- 1 user group 1716 Jun 28 00:20 file2.tar.gz
-rw-r--r-- 1 user group 3828 Jun 22 23:19 file3.gz
ftp> prompt
Interactive mode off.
¢Í ¥æ¡¼¥¶¤Ë³Îǧ¤·¤Ê¤¤¥â¡¼¥É¤Ë¤Ê¤Ã¤¿
ftp> mget *.gz
¢Í ³Îǧ¤Ê¤·¤Ç3¤Ä¤Î¥Õ¥¡¥¤¥ë¤¬Å¾Á÷¤µ¤ì¤ë
prompt mget,mput »ÈÍÑ»þ¤Ë³Æ¥Õ¥¡¥¤¥ë¤òžÁ÷¤¹¤ë¤«¤É¤¦¤«¡¢Ëè²ó¥æ¡¼¥¶¤Î³Îǧ¤òµá¤á¤ë/µá¤á¤Ê¤¤ (¥È¥°¥ë)¡£
glob mget,mput»ÈÍÑ»þ¤Ë¥á¥¿¥­¥ã¥é¥¯¥¿¤òŸ³«¤¹¤ë/Ÿ³«¤·¤Ê¤¤ (¥È¥°¥ë)
hash ¥Õ¥¡¥¤¥ë¤ÎžÁ÷¾õ¶·¤òɽ¼¨/Èóɽ¼¨ (¥È¥°¥ë)¡£
Â礭¤Ê¥Õ¥¡¥¤¥ë¤òžÁ÷¤¹¤ëºÝ¤Ï¡¢hash¤òON¤Ë¤·¤Æ¡¢¤É¤³¤Þ¤ÇžÁ÷¤¬½ª¤Ã¤¿¤«¤¬¤ï¤«¤ë¤è¤¦¤Ë¤¹¤ë¤È¤è¤¤¡£
ascii ¥Æ¥­¥¹¥È¥â¡¼¥É¤ÇžÁ÷¡£²þ¹Ô¥³¡¼¥É¤òŬÀÚ¤ËÊѹ¹¤¹¤ë¡£
binary ¥Ð¥¤¥Ê¥ê¥â¡¼¥É¤ÇžÁ÷¡£°·¤¦¥Õ¥¡¥¤¥ë¤¬¥Æ¥­¥¹¥È°Ê³°¤Ê¤é¤³¤ì¤¬É¬Í×
¤Ê¤ª¡¢¥í¡¼¥«¥ë¤â¥ê¥â¡¼¥È¤â UNIX ¤Ê¤é¤Ð¡¢¼«Æ°Åª¤Ë binary ¥â¡¼¥É¤ËÀßÄꤵ¤ì¤ë¤Î¤Ç¡¢ascii/binary ¤òµ¤¤Ë¤¹¤ëɬÍפϤʤ¤¡£
status ¸½ºß¤ÎÀßÄê¤òɽ¼¨ (prompt ¤Ê¤É)
passive ¥Ñ¥Ã¥·¥Ö¥â¡¼¥É¤ËÀÚ¤êÂØ¤¨
-p ¥ª¥×¥·¥ç¥ó¤Î¹à¤ò»²¾È¡£
!command ¥í¡¼¥«¥ë¥Û¥¹¥È¤Ç¥³¥Þ¥ó¥É¤ò¼Â¹Ô
Î㤨¤Ð !pwd ¤È¤¹¤ë¤³¤È¤Ç¡¢¥í¡¼¥«¥ë¤Î¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤òɽ¼¨¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

¡ü¥ª¥×¥·¥ç¥ó
-n ¥³¥Þ¥ó¥É¤òɸ½àÆþÎϤ«¤éÆÉ¤à
Î㤨¤Ð ftpcommand.dat ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤Ë
open ftp.hogehoge.ac.jp
user username passwd
binary
cd lib
lcd lib
get sample
put test
bye
¤Ê¤É¤È½ñ¤¤¤Æ¤ª¤­¡¢
% ftp -n < ftpcommand.dat
¤È¤¹¤ë¤È¡¢¼«Æ°Åª¤Ë¥Õ¥¡¥¤¥ë¤Î¤ä¤ê¤È¤ê¤¬¹Ô¤ï¤ì¤ë¡£¥×¥ì¥¤¥ó¥Æ¥­¥¹¥È¤Ë¥Ñ¥¹¥ï¡¼¥É¤ò½ñ¤¤¤Æ¤ª¤¯¤³¤È¤Ë¤Ê¤ë¤Î¤Ç¡¢chmod 600¤È¤·¤Æ¤ª¤¯¤³¤È¡£¤Û¤«¤Ë¤â¼«Æ°¤Ç ftp ¤¹¤ë¤Ë¤Ï~/.netrc ¤Ëµ­½Ò¤·¤Æ¤ª¤¯ÊýË¡¤¬¤¢¤ë¡£
>> ÀßÄê¥Õ¥¡¥¤¥ë ~/.netrc *
-d ¥Ç¥Ð¥Ã¥°¥â¡¼¥É
FTP ¥µ¡¼¥Ð¤È¤ä¤ê¤È¤ê¤¹¤ë¥×¥í¥È¥³¥ë¤ÎÆâÍÆ¤òɽ¼¨¡£http://X68000.q-e-d.net/~68user/net/ftp-1.html
-p ¥Ñ¥Ã¥·¥Ö¥â¡¼¥É
ftp ¤ò¼Â¹Ô¤·¤¿Ä¾¸å¤Ë passive ¤È¥¿¥¤¥×¤¹¤ë¤Î¤ÈƱ¤¸¤Ç¤¢¤ë¡£

¡üÃΤäƤª¤¯¤ÈÊØÍø¤Êµ¡Ç½
  • ls . |command ¤È¤¹¤ë¤³¤È¤Ç¡¢Ç¤°Õ¤Î¥³¥Þ¥ó¥É¤Ë½ÐÎϤòÅϤ¹¤³¤È¤¬¤Ç¤­¤ë¡£
Î㤨¤Ð¡¢ls ¤Î½ÐÎϤ¬²èÌÌÆâ¤Ë¼ý¤Þ¤ê¤­¤é¤Ê¤¤¾ì¹ç¤Ï
ftp> ls . |more
¤È¤¹¤ì¤Ð¤è¤¤¡£¶õÇò¤Î¾ì½ê¤ËÃí°Õ¡£¡Ö.¡×¤Î¥Õ¥¡¥¤¥ë°ìÍ÷¤ò¡Ö|more¡×¤ËÅϤ¹ (¡á¥Ñ¥¤¥×¤ÇÅϤ¹) ¤ï¤±¤Ç¤¢¤ë¡£

¡üºÇ¶á¤Î ftp ¥³¥Þ¥ó¥É¤ËÉÕ¤¤¤Æ¤¤¤ëÊØÍø¤Êµ¡Ç½
°Ê²¼¤Îµ¡Ç½¤Ï¾¯¤Ê¤¯¤È¤â FreeBSD¡¦NetBSD¡¦OpenBSD ɸ½à¤Î ftp ¥³¥Þ¥ó¥É¤ËÈ÷¤ï¤Ã¤Æ¤¤¤ë¡£
  • Ctrl-D¡¦TAB ¤ò²¡¤¹¤³¤È¤Ç¡¢emacs¡¦tcsh É÷¤Î (¥í¡¼¥«¥ë¡¦¥ê¥â¡¼¥È¤È¤â)¥Õ¥¡¥¤¥ë¤ÎÊä´°¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£
  • Ctrl-p¡¦Ctrl-n ¤Ç¥Ò¥¹¥È¥ê¤òÍøÍѤǤ­¤ë
>> ¥³¥Þ¥ó¥É fetch *   wget *   ncftp *   rcp *   xarchie *   xftp *

funzip¡¡ZIP ¥¢¡¼¥«¥¤¥Ö¤òɸ½àÆþÎϤ«¤éÆÉ¤ß¹þ¤ß¡¢¿­Ä¥ (²òÅà)¡¦Å¸³«¤¹¤ë

funzip ¤Ï¡¢É¸½àÆþÎϤ«¤é ZIP ¥¢¡¼¥«¥¤¥Ö¤òÆÉ¤ß¹þ¤ß¡¢¿­Ä¥ (²òÅà)¡¦Å¸³«¤¹¤ë¥³¥Þ¥ó¥É¤Ç¤¢¤ë (funzip ¤Î f ¤Ï filter)¡£unzip ¥³¥Þ¥ó¥É¤Ïɸ½à½ÐÎϤ«¤é¤ÎÆþÎϤò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¤¿¤á¡¢Ê̤Υ³¥Þ¥ó¥É¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£

¡üÍøÍÑÎã
% dd if=/dev/nrst0 | funzip | tar xf -
¥Æ¡¼¥×¤«¤éÆÉ¤ß¹þ¤ó¤À¥Ç¡¼¥¿¤òɸ½àÆþÎϤ«¤éÆÉ¤ß¹þ¤ó¤Ç¿­Ä¥¤·¡¢tar ¤ËÅϤ¹¡£

zip ¤Î¿­Ä¥¤Ë´Ø¤¹¤ë¾ÜºÙ¤ÊÀâÌÀ¤Ï unzip ¤ò»²¾È¡£
>> ¥³¥Þ¥ó¥É unzip *   zip *

fuser¡¡¥Õ¥¡¥¤¥ë¡¦¥½¥±¥Ã¥È¤ò»ÈÍѤ·¤Æ¤¤¤ë¥×¥í¥»¥¹¤òɽ¼¨ (Solaris¡¦Linux)

TCP ¤Î¥Ý¡¼¥È 80 ¤ò»ÈÍѤ·¤Æ¤¤¤ë¥×¥í¥»¥¹¤òÄ´¤Ù¤ë¡£
# fuser -vn tcp 80
                     USER        PID ACCESS COMMAND
80/tcp               root        212 f....  httpd
                     root       6113 f....  httpd
                     root       6114 f....  httpd

FreeBSD ¤Ç¤Ï fuser ¤Ç¤Ï¤Ê¤¯sockstat ¤ò»È¤¦¤³¤È¡£
>> ¥³¥Þ¥ó¥É sockstat *   fstat *   lsof *

fvwm¡¡Ê£¿ô¤Î²¾ÁÛ²èÌ̤ò»ý¤Ä¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã

¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤ÎÌò³ä¤Ï³Æ¥¦¥£¥ó¥É¥¦¤ò´ÉÍý¤¹¤ë¤³¤È¤Ç¤¢¤ë¡£¥¦¥£¥ó¥É¥¦¤Ë¤ÏÏȤ䥿¥¤¥È¥ë¤¬¤¢¤ê¡¢¥Þ¥¦¥¹¤ò¥¯¥ê¥Ã¥¯¤¹¤ë¤³¤È¤Ç¤½¤Î¥¦¥£¥ó¥É¥¦¤¬¥¢¥¯¥Æ¥£¥Ö¤Ë¤Ê¤Ã¤¿¤ê¡¢¥¦¥£¥ó¥É¥¦¤Î°Üư¤¬¤Ç¤­¤ë¡£¥ë¡¼¥È¥¦¥£¥ó¥É¥¦(ÇØ·Ê)¤Ç¥Þ¥¦¥¹¤ò¥¯¥ê¥Ã¥¯¤¹¤ë¤È¥á¥Ë¥å¡¼¤¬É½¼¨¤µ¤ì¤ë¡£¤³¤ì¤é¤Îµ¡Ç½¤Ï¤¹¤Ù¤Æ¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤Î¤ª¤«¤²¤Ç¼Â¸½¤µ¤ì¤Æ¤¤¤ë¡£
¤¿¤á¤·¤Ë¡¢~/.xsession ¤Î fvwm (¤¢¤ë¤¤¤Ï twm) ¤È¤¤¤¦¹Ô¤ò¥³¥á¥ó¥È¥¢¥¦¥È¤·¤Æ¡¢ºÇ¸å¤Î¹Ô¤Ë kterm ¤È¤À¤±½ñ¤¤¤Æ¤ß¤ë¤È¡¢¥¦¥£¥ó¥É¥¦¤ÎÏȤ䥿¥¤¥È¥ë¤¬¤Ê¤¯¤Ê¤ê¡¢°Üư¤ä¥ê¥µ¥¤¥º¤¬¤Ç¤­¤Ê¤¯¤Ê¤ë¡£¥á¥Ë¥å¡¼¤â¤Ç¤Ê¤¯¤Ê¤ë¡£½ªÎ»¤¹¤ë¤Ë¤ÏºÇ¸å¤Ëµ¯Æ°¤·¤¿ kterm ¤Ç exit ¤È¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£

ÀßÄê¥Õ¥¡¥¤¥ë¤Ï~/.fvwmrc¡£
>> ¥³¥Þ¥ó¥É afterstep *   twm *   fvwm2 *   fvwm95-2 *   enlightenment *

fvwm2¡¡fvwm¤Î¥Ð¡¼¥¸¥ç¥ó2¡£

ÀßÄê¥Õ¥¡¥¤¥ë¤Ï~/.fvwm2rc¡£~/.fvwmrc ¤È¤Î¸ß´¹À­¤Ï¤Ê¤¤¤Î¤ÇÃí°Õ¡£fvwm ¤ËÈæ¤Ù¤Æ¥á¥â¥ê¤ò¿©¤¦¤¬¡¢¼ÂÁõ¤Î»ÅÊý¤¬¤­¤ì¤¤¤Ë¤Ê¤Ã¤¿(¤é¤·¤¤)¡£¥·¥¹¥Æ¥àÉÕ°¤ÎÀßÄê¤ò»È¤¦¤Ë¤Ï¡¢
% cp /usr/X11R6/lib/X11/fvwm/system.fvwmrc ~/.fvwmrc
¤È¤·¤Æ¡¢~/.xsession (¤¢¤ë¤¤¤Ï ~/.xinitrc) ¤ÎºÇ¸å¤Ë exec fvwm ¤È½ñ¤±¤Ð¤è¤¤
>> ¥³¥Þ¥ó¥É afterstep *   twm *   fvwm *   fvwm95-2 *   enlightenment *

fvwm95-2¡¡Windows95 É÷¤Î¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¡£

¥·¥¹¥Æ¥àÉÕ°¤ÎÀßÄê¤ò»È¤¦¤Ë¤Ï¡¢
% cp /usr/X11R6/lib/X11/fvwm95-2/system.fvwmrc ~/.fvwm2rc95
¤È¤·¤Æ¡¢~/.xsession (¤¢¤ë¤¤¤Ï ~/.xinitrc) ¤ÎºÇ¸å¤Ë exec fvwm95-2 ¤È½ñ¤±¤Ð¤è¤¤¡£
>> ¥³¥Þ¥ó¥É afterstep *   twm *   fvwm *   fvwm2 *   enlightenment *

gas¡¡GNU¥¢¥»¥ó¥Ö¥é

FreeBSD ¤Î¾ì¹ç¤Ï¡¢¥·¥¹¥Æ¥àɸ½à¤Î¥¢¥»¥ó¥Ö¥é as ¤¬ gas ¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£
>> ¥³¥Þ¥ó¥É as *

gawk¡¡GNU awk¡£ÆüËܸì¤â°·¤¨¤ë¡£

>> ¥³¥Þ¥ó¥É awk *

gcc¡¡GNU C/C++ ¥³¥ó¥Ñ¥¤¥é

GNU ¤¬ºîÀ®¤·¤Æ¤¤¤ë C/C++ ¥³¥ó¥Ñ¥¤¥é¡£FreeBSD¡¢Linux ¤Ê¤É¤Ïɸ½à¤Î C ¥³¥ó¥Ñ¥¤¥é¤¬ gcc ¤Ë¤Ê¤Ã¤Æ¤¤¤ë (cc¤Ègcc¤Ï¥Ï¡¼¥É¥ê¥ó¥¯¤µ¤ì¤Æ¤¤¤ë)¡£Solaris ¤Ê¤É¾¦ÍÑ¥Þ¥·¥ó¤Ç¤â gcc ¤Î½ÅÍ×Å٤Ϲ⤯¡¢OS ɸ½à¤Î¥³¥ó¥Ñ¥¤¥é¤Ç¤Ï¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤º¡¢gcc ¤ò»È¤ï¤Ê¤¤¤È¤¤¤±¤Ê¤¤¥½¥Õ¥È¥¦¥§¥¢¤â¿¤¤¡£

¡ü»È¤¤Êý
¥¨¥Ç¥£¥¿¤ÇŬÅö¤Ê¥Õ¥¡¥¤¥ë¡¢Î㤨¤Ð sample.c ¤Ë
#include <stdio.h>
main(){
printf("hello world.\n");
}
¤È½ñ¤¤¤Æ¡¢
% gcc sample.c
¤È¤¹¤ë¤È¡¢a.out ¤È¤¤¤¦¥³¥ó¥Ñ¥¤¥ëºÑ¤Î¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤ë¡£¼Â¹Ô¤¹¤ë¤È
% ./a.out
hello world.
¤È¤Ê¤ë¡£*.cc ¤È¤¤¤¦³ÈÄ¥»Ò¤Ï C++ ¤Î¥½¡¼¥¹¤È¤·¤Æ°·¤ï¤ì¤ë¡£

¡üÆâÉôưºî
gcc ¤ÎÆâÉô¤Ç¤Ï
1. ¥×¥ê¥×¥í¥»¥Ã¥µ /usr/libexec/cpp
Á°½èÍýÍÑ¥×¥í¥°¥é¥à¡£#include¡¢#define ¤Ê¤É¤ò½èÍý¡£
2. ¥³¥ó¥Ñ¥¤¥é /usr/libexec/cc1
C ¸À¸ì¤ò¥¢¥»¥ó¥Ö¥é¤ËÊÑ´¹¡£
3. ¥¢¥»¥ó¥Ö¥é /usr/bin/as
¥¢¥»¥ó¥Ö¥é¤ò¥Þ¥·¥ó¸ì¤ËÊÑ´¹¡£½ÐÎϤϥª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë(*.o)¡£
4. ¥ê¥ó¥« /usr/bin/ld
¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤È¥é¥¤¥Ö¥é¥ê¤ò¥ê¥ó¥¯ (·ë¹ç½èÍý) ¤¹¤ë¡£
¤¬½ç¤Ë¸Æ¤Ð¤ì¤ë¡£-E¡¢-S¡¢-c ¥ª¥×¥·¥ç¥ó¤Ç¡¢Ç¤°Õ¤ÎÃʳ¬¤Ç½èÍý¤ò»ß¤á¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

¡ü¥ª¥×¥·¥ç¥ó
-E ¥×¥ê¥×¥í¥»¥¹¸å½ªÎ»¡£¥³¥ó¥Ñ¥¤¥ë¤ò¤·¤Ê¤¤¡£
¥×¥ê¥×¥í¥»¥Ã¥µ¤Î½ÐÎϤòɸ½à½ÐÎϤ˽ñ¤­½Ð¤¹¡£#include ¤ä #define ¤Ê¤É¤¬¥×¥ê¥×¥í¥»¥Ã¥µ¤Ë¤è¤Ã¤Æ½èÍý¤µ¤ì¤ë¡£#ifdef ¡Á #endif ¤¬Â¿¤¯¤ÆÆÉ¤ß¤Ë¤¯¤¤¥½¡¼¥¹¤Ï -E ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¤è¤¤¡£¤Ê¤ª¡¢¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤ÎÆÉ¤ß¹þ¤ßÉôʬ¤Ç¿¤¯¤Î¶õ¹Ô¤¬ÁÞÆþ¤µ¤ì¤ë¤Î¤Ç¡¢cat ¥³¥Þ¥ó¥É¤Î -s ¥ª¥×¥·¥ç¥ó (Ϣ³¤¹¤ë¶õ¹Ô¤ò 1¹Ô¤Ë¤Þ¤È¤á¤ë) ¤ò»È¤Ã¤Æ
% gcc -E foo.c | cat -s | less
¤Ê¤É¤È¤¹¤ë¤Î¤¬¤ª´«¤á¡£
-S ¥³¥ó¥Ñ¥¤¥ë¸å½ªÎ»¡£¥¢¥»¥ó¥Ö¥ë¤ò¤·¤Ê¤¤¡£
-c ¥¢¥»¥ó¥Ö¥ë¸å½ªÎ»¡£¥ê¥ó¥¯¤ò¼Â¹Ô¤·¤Ê¤¤¡£
*.o ¤È¤¤¤¦¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤¿»þÅÀ¤Ç¥¹¥È¥Ã¥×¤¹¤ë¡£

-g ¥Ç¥Ð¥Ã¥°ÍѤξðÊó¤òÊݸ¤¹¤ë
gdb ¤Ê¤É¤Î¥Ç¥Ð¥Ã¥¬¤ò»È¤¦¾ì¹ç¤ËÍ­ÍѤʾðÊó¤ò¥Ð¥¤¥Ê¥ê¤Ë»Ä¤·¤Æ¤ª¤¯¡£
>> ¥³¥Þ¥ó¥É strip *
-static ÀÅŪ¤Ë¥ê¥ó¥¯¤¹¤ë
Ä̾printf(3) ¤ò»ÈÍѤ·¤Æ¤¤¤ë¥×¥í¥°¥é¥à¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¡¢
% gcc a.c
% ldd ./a.out
./a.out:
libc.so.4 => /usr/lib/libc.so.4 (0x28066000)
¤È¤¤¤¦¤Õ¤¦¤Ë¡¢¼Â¹Ô»þ¤Ë¶¦Í­¥é¥¤¥Ö¥é¥ê¤òưŪ¤Ë¥ê¥ó¥¯¤¹¤ë¤è¤¦¤Ê¥Ð¥¤¥Ê¥ê¤¬À¸À®¤µ¤ì¤ë¡£¤³¤ÎÎã¤Ç¤Ï a.out ¤Ï¶¦Í­¥é¥¤¥Ö¥é¥ê libc.so.4 ¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢¼Â¹Ô»þ¤Ë libc.so.4 ¤¬Â¸ºß¤·¤Ê¤¤¤È a.out ¤Ï¼Â¹Ô¤Ç¤­¤Ê¤¤¡£

°ìÊý¡¢-static ¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤Æ¥ê¥ó¥¯¤¹¤ë¤È¡¢É¬Íפʥ饤¥Ö¥é¥ê¤¬¥Ð¥¤¥Ê¥ê¤Ë¥ê¥ó¥¯¤µ¤ì¡¢¥Ð¥¤¥Ê¥êñÂΤǼ¹Ԥ¬²Äǽ¤Ë¤Ê¤ë¡£
% gcc a.c
% ldd a.out
ldd: a.out: not a dynamic executable

¤¿¤À¤·¡¢ÀÅŪ¥ê¥ó¥¯¤ò¤¹¤ë¤È
  • ¥Ð¥¤¥Ê¥ê¥µ¥¤¥º¤¬Áý²Ã¤¹¤ë
  • Ê£¿ô¤Î¥×¥í¥»¥¹´Ö¤Ç¼Â¹Ô»þ¤Ë¥é¥¤¥Ö¥é¥ê¤Î¥á¥â¥ê¤ò¶¦Í­¤Ç¤­¤Ê¤¤(¶¦Í­¥é¥¤¥Ö¥é¥ê¤Ë¤·¤Æ¤ª¤±¤Ð¡¢¥Æ¥­¥¹¥ÈÎΰè¤Îʬ¤À¤±¥á¥â¥ê¤ò¶¦Í­¤Ç¤­¤ë)
  • ¥é¥¤¥Ö¥é¥ê¤Ë¥Ð¥°¤¬¤¢¤Ã¤¿¤é¡¢Á´¥Ð¥¤¥Ê¥ê¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Ê¤ª¤¹É¬Íפ¬¤¢¤ë
¤È¤¤¤¦·çÅÀ¤¬¤¢¤ë¡£
>> ¥³¥Þ¥ó¥É ldd *
-o À¸À®¤¹¤ë¼Â¹Ô¥Õ¥¡¥¤¥ë̾¤ò»ØÄê¡£-o ¤Ç»ØÄꤷ¤Ê¤¤¤È a.out ¤È¤¤¤¦¥Ð¥¤¥Ê¥ê¤¬À¸À®¤µ¤ì¤ë¡£
% gcc -o bar foo.c
¢Í À¸À®¤µ¤ì¤ë¥Ð¥¤¥Ê¥ê¤Ï bar ¤È¤Ê¤ë¡£
% gcc foo.c
¢Í ¥Ç¥Õ¥©¥ë¥È¤Î¥Õ¥¡¥¤¥ë̾¤Ç¤¢¤ë¡¢a.out ¤¬À¸À®¤µ¤ì¤ë¡£
-v ¥Ð¡¼¥Ü¡¼¥º¥â¡¼¥É¡£
¥Þ¥¯¥í¡¢¥¤¥ó¥¯¥ë¡¼¥É¥Ñ¥¹¡¢¥×¥ê¥×¥í¥»¥Ã¥µ¡¢¥¢¥»¥ó¥Ö¥é¡¢¥ê¥ó¥«¤ËÅϤ¹¥ª¥×¥·¥ç¥ó¤òÁ´¤ÆÉ½¼¨¤¹¤ë¡£
-pipe ¥Æ¥ó¥Ý¥é¥ê¥Õ¥¡¥¤¥ë¤òºî¤é¤º¡¢¥Ñ¥¤¥×¤Ç½èÍý¤¹¤ë¡£
¥³¥ó¥Ñ¥¤¥ë¤Ë¤«¤«¤ë»þ´Ö¤¬Ã»½Ì¤µ¤ì¤ë¤¬¡¢¤è¤ê¿Î̤Υá¥â¥ê¤¬É¬Íס£
-ansi ANSI C ¤Ë½àµò¤¹¤ë¡£
GNU C ÆÈ¼«¤Î³ÈÄ¥µ¡Ç½¤Ç¤¢¤ë asm¡¦inline¡¦typeof ¤Ê¤É¤¬»È¤¨¤Ê¤¯¤Ê¤ë¡£
-trigraphs ANSI C ¤Î¥È¥é¥¤¥°¥é¥Õ¤òǧ¼±¤¹¤ë
-traditional ÅÁÅýŪ¤Ê C ¤Îʸˡ¤òǧ¼±¤¹¤ë
-w ·Ù¹ð (warning) ¤òɽ¼¨¤·¤Ê¤¤
-W... ³Æ¼ï¤Î·Ù¹ð (warning) ¤òɽ¼¨¤¹¤ë¤«¤É¤¦¤«ÀßÄꤹ¤ë
Î㤨¤Ð -Wimplicit-function-declaration ¤ä -Wswitch ¤Ê¤É¡¢¿ô½½¼ïÎà¤Î -W... ¥ª¥×¥·¥ç¥ó¤¬¤¢¤ë¡£Á´¤Æ¤Î -W... ¤òÍ­¸ú¤Ë¤¹¤ë¤Ë¤Ï -Wall ¤ò»È¤¦¡£
-Wall -W¥¹¥¤¥Ã¥Á¤Ç»ØÄê¤Ç¤­¤ëÁ´¤Æ¤Î·Ù¹ð (warning) ¤òɽ¼¨¤¹¤ë
¤Ê¤ë¤Ù¤¯ -Wall ¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤Æ¤â·Ù¹ð (warning) ¤¬½Ð¤Ê¤¤¤è¤¦¤Ê¥³¡¼¥É¤ò½ñ¤¯¤Ù¤­¡£
-Wl, ¥ê¥ó¥«¤ËÅϤ¹¥ª¥×¥·¥ç¥ó¤òÄêµÁ¤¹¤ë¡£
Èó¾ï¤Ëʬ¤«¤ê¤Å¤é¤¤¤¬¡¢·Ù¹ð·Ï¤Î -W ¥ª¥×¥·¥ç¥ó¤È¤Ï̵´Ø·¸¡£Î㤨¤Ð
% gcc -Wl,-rpath=. hoge.c
¤È¤¹¤ë¤È¡¢¥ê¥ó¥«¤Ë¡Ö-rpath=.¡×¤È¤¤¤¦¥ª¥×¥·¥ç¥ó¤¬ÅϤ롣
-O ºÇŬ²½¤·¤¿¥³¡¼¥É¤òÀ¸À®¤¹¤ë¡£
¼Â¹Ô®ÅÙ¤¬Â®¤¯¤Ê¤Ã¤¿¤ê¡¢¥Ð¥¤¥Ê¥ê¤Î¥µ¥¤¥º¤ò¸º¤é¤¹¤³¤È¤¬¤Ç¤­¤ë¡£-O2 -O3 ¤Ê¤É¤È¿ô»ú¤òÍ¿¤¨¤ë¤³¤È¤Ç¡¢ºÇŬ²½¤ÎÃʳ¬¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¿ô»ú¤¬Â礭¤¤¤Û¤É¸­¤¤ºÇŬ²½¤ò¹Ô¤¦¡£ºÇŬ²½¤ò¹Ô¤¦¤È¥³¥ó¥Ñ¥¤¥ë¤Ë»þ´Ö¤¬¤«¤«¤ë¤Î¤Ç¡¢¥Ç¥Ð¥Ã¥°½ªÎ»¸å¤Ë¹Ô¤¦¤È¤è¤¤¡£
-D ¥Þ¥¯¥í¤òÄêµÁ
% gcc -DHOGE foo.c
¤È¤¹¤ë¤Î¤Ï¡¢foo.c ¤ÎÀèÆ¬¤Ë
#define HOGE 1
¤È½ñ¤¤¤¿¤³¤È¤ÈƱ¤¸¤Ç¤¢¤ë¡£¤Þ¤¿¡¢
% gcc -DHOGE=10 foo.c
% gcc -DHOGE=\"string\" foo.c
¤âƱÍͤË
#define HOGE 10
#define HOGE "string"
¤ò²Ã¤¨¤¿¤Î¤ÈƱ¤¸¤Ç¤¢¤ë¡£foo.c ¤ÎÃæ¤Ç¥Þ¥¯¥í HOGE ¤ÎÄêµÁ¤¬¹Ô¤ï¤ì¤Æ¤¤¤¿¤È¤·¤Æ¤â¡¢-D ¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤷ¤¿Ãͤ¬Í­¸ú¤Ë¤Ê¤ë¡£-U ¥ª¥×¥·¥ç¥ó¤Ç¥Þ¥¯¥í¤ò̵¸ú¤Ë¤Ç¤­¤ë¡£

¼«ºî¤Î¥½¡¼¥¹¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¤­¤Ï¤¢¤Þ¤ê»È¤ï¤Ê¤¤¤À¤í¤¦¤¬¡¢°ìÈ̤ËÇÛÉÛ¤µ¤ì¤Æ¤¤¤ë¥×¥í¥°¥é¥à¤Ï¡¢Â¿¤¯¤Î´Ä¶­¤Ç¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤¿¤á¡¢#ifdef ¡Á #else ¡Á #endif ¤¬»³¤Î¤è¤¦¤ËËä¤á¹þ¤Þ¤ì¤Æ¤¤¤ë¡£¤½¤Î¤Þ¤Þ¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤ì¤ÐÌäÂê¤Ê¤¤¤Î¤À¤¬¡¢¤â¤·¥³¥ó¥Ñ¥¤¥ëÅÓÃæ¤Ë¥¨¥é¡¼¤Ç½ªÎ»¤·¤¿¾ì¹ç¤Ï¡¢¤¢¤ì¤³¤ìǺ¤ß¤Ê¤¬¤é -D ¥ª¥×¥·¥ç¥ó¤Ç¥Þ¥¯¥í¤òÀßÄꤹ¤ë¤³¤È¤Ë¤Ê¤ë¡£

¤Þ¤¿¡¢¥Ç¡¼¥¿¤ÎºÇÂç¿ô¤¬
#define MAX_DATA 1000
¤È¥Þ¥¯¥í¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤È¤­¤ä¡¢¡Á¤È¤¤¤¦µ¡Ç½¤òÍ­¸ú¤Ë¤¹¤ë¤«¤É¤¦¤«¤ò¥Þ¥¯¥í¤Ç·èÄꤹ¤ë¾ì¹ç¤Ï¡¢¤½¤ì¤¾¤ì
% gcc -DMAX_DATA=3000 ....
% gcc -DENABLE_HOGE ....
¤È¤¹¤ë¤³¤È¤Ç¡¢¥½¡¼¥¹¤ò½ñ¤­´¹¤¨¤ë¤³¤È¤Ê¤¯¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤ë¡£

¤¿¤À¤·¡¢µ¡Ç½¤Î¥ª¥ó¡¦¥ª¥Õ¤ä¡¢¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ê¤É¤Ï Makefile ¤ò½ñ¤­´¹¤¨¤¿¤ê¡¢make ¤Î°ú¿ô¤Ç¥Þ¥¯¥í¤òÀßÄꤷ¤¿¤ê¡¢configure ¤Î¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤹ¤ë¤³¤È¤ÎÊý¤¬Â¿¤¤¡£¤Þ¤º¤Ï¥×¥í¥°¥é¥à¤ËÉÕ°¤¹¤ë¥¤¥ó¥¹¥È¡¼¥ë¥Þ¥Ë¥å¥¢¥ë¤ò½ÏÆÉ¤¹¤ë¤³¤È¡£

-U ¥Þ¥¯¥í¤ò̵¸ú²½¤¹¤ë
% gcc -UHOGE foo.c
¤È¤¹¤ë¤È¡¢foo.c ¤ÎÃæ¤Î¥Þ¥¯¥í HOGE ¤¬Ìµ¸ú¤Ë¤Ê¤ê¡¢
#ifdef HOGE
¤¬µ¶¤Ë¤Ê¤ë¡£¥Þ¥¯¥í¤òÀßÄꤹ¤ë¤Ë¤Ï -D ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¡£

-I ¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤ò»ØÄê
¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤ò¼è¤ê¹þ¤à¾ì¹ç¤Ï¡¢¥½¡¼¥¹¤ÎÃæ¤Ë
#include <stdio.h>
#include <sys/stat.h>
#include <X11/Xutil.h>
¤Ê¤É½ñ¤¯¡£¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤¬ /usr/include/ °Ê²¼¤Ë¤¢¤ë¤Ê¤é¡¢-I ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Ê¤¯¤Æ¤â
/usr/include/stdio.h¡¢/usr/include/sys/stat.h
¤¬¥¤¥ó¥¯¥ë¡¼¥É¤µ¤ì¤ë¡£¤·¤«¤· X11/Xutil.h ¤Ï¼ÂºÝ¤Ï /usr/X11R6/include/X11/Xutil.h ¤Ë¤¢¤ë¤Î¤Ç¡¢
-I/usr/X11R6/include
¤È¡¢¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹¤ò»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-l ¥é¥¤¥Ö¥é¥ê¤ò»ØÄê
Îã: -lm -lnsl -lX11
Î㤨¤Ð¥½¡¼¥¹Ãæ¤Ç sin() ¤ò»È¤Ã¤¿¾ì¹ç¡¢sin() ¤Î¥é¥¤¥Ö¥é¥ê¤ò»ØÄꤷ¤Ê¤¤¤È¥ê¥ó¥¯»þ¤Ë¥¨¥é¡¼¤È¤Ê¤ë¡£sin() ¤Î¥é¥¤¥Ö¥é¥ê¤Ï /usr/lib/libm.a ¤Ê¤Î¤Ç¡¢¡Ölibm.a¡×¤«¤é¡Ölib¡×¤È¡Ö.a¡×¤ò¼è¤ê½ü¤¤¤Æ¡Ö-lm¡×¤È»ØÄꤹ¤ë¡£Æ±Íͤˡ¢X Window System ¤Î¥é¥¤¥Ö¥é¥ê´Ø¿ô¤Ï¡¢/usr/X11R6/lib/libX11.a ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡Ö-lX11¡×¤È¤¹¤ë (¤¿¤À¤· -L ¥ª¥×¥·¥ç¥ó¤Ç¥é¥¤¥Ö¥é¥ê¥Ñ¥¹¤Î»ØÄ꤬ɬÍ×)¡£printf¡¢strlen ¤Ê¤É¤Î´ðËÜŪ¤Ê´Ø¿ô¤Ï¡¢Á´¤Æ /usr/lib/libc.a ¤È¤¤¤¦¥é¥¤¥Ö¥é¥ê¤Ë ´Þ¤Þ¤ì¤Æ¤¤¤ë¤¬¡¢libc.a ¤Ïɸ½à¤Ç¥ê¥ó¥¯¤µ¤ì¤ë¤Î¤Ç -lc ¤È»ØÄꤹ¤ëɬÍפϤʤ¤¡£

¤Ê¤ª¡¢ÌÜŪ¤Î¥é¥¤¥Ö¥é¥ê´Ø¿ô¤¬¡¢¤É¤Î¥é¥¤¥Ö¥é¥ê¤ËÆþ¤Ã¤Æ¤¤¤ë¤«¤Ï nm ¥³¥Þ¥ó¥É¤Çõ¤¹¤È¤è¤¤¡£
% nm -o /usr/lib/*.a /usr/X11R6/lib/*.a | grep sin
>> ¥³¥Þ¥ó¥É nm *   ar *
-L ¥é¥¤¥Ö¥é¥ê¤Î¥Ñ¥¹¤ò»ØÄê
Îã: -L /usr/X11R6/lib
¾å¤ÇÀâÌÀ¤·¤¿¥é¥¤¥Ö¥é¥ê¤Î¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Ë¥Ñ¥¹¤¬Ä̤äƤ¤¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ò -L ¥ª¥×¥·¥ç¥ó¤Ç»ØÄꤹ¤ë¡£Î㤨¤Ð X11 ´Ø·¸¤Î´Ø¿ô¤ò»ÈÍѤ·¤¿¾ì¹ç¡¢/usr/X11R6/lib/libX11.a ¤ò¥ê¥ó¥¯¤¹¤ëɬÍפ¬¤¢¤ë¤Î¤Ç -lX11 ¤È¤¹¤ë¡£¤·¤«¤·É¸½àÀßÄê¤Ç¤Ï /usr/X11R6/lib ¤¬¥é¥¤¥Ö¥é¥ê¤Î¸¡º÷ÂоݤȤʤäƤ¤¤Ê¤¤¤Î¤Ç¡¢-L /usr/X11R6/lib ¤È¤¹¤ëɬÍפ¬¤¢¤ë¡£

ÀÎ¤Ï gcc ¤Ï¡ÖGNU C Compiler¡×¤Îά¤À¤Ã¤¿¤¬¡¢ ¸½ºß¤Ï¡ÖGNU Compiler Collection¡×¤Îά¤Ë¤Ê¤Ã¤¿¡£C ¤ä C++¡¢Objective-C ¤Ë²Ã¤¨¡¢Fortran¡¦Ada¡¦Java ¤Þ¤Ç¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤ë¤é¤·¤¤¡£
>> ¥³¥Þ¥ó¥É cc *   as *   cpp *   ld *   ldd *   make *   cflow *   unifdef *   strip *   indent *

gcore¡¡¼Â¹ÔÃæ¤Î¥×¥í¥»¥¹¤Î¥³¥¢¤òÆÀ¤ë

gdb¡¡¥Ç¥Ð¥Ã¥¬

¡ü16¿Ê¿ô ¢ª 10¿Ê¿ôÊÑ´¹
% gdb
(gdb) print 0x1234
$1 = 4660
(gdb) p 0x1234 (print ¤ò¾Êά¤·¤Æ p ¤Ç¤â¤è¤¤)
$1 = 4660
>> ¥³¥Þ¥ó¥É gcc *

getopt¡¡

ghostview¡¡Postscript ¥Õ¥¡¥¤¥ë¤Î¥Ó¥å¥¢¡¼¡£

ghostview ¤Ï gs (ghostscript) ¤Î GUI ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¢¤ë¡£
>> ¥³¥Þ¥ó¥É gs *   a2ps *   dvi2ps *

gimp¡¡¹âµ¡Ç½¥°¥é¥Õ¥£¥Ã¥¯¥Ä¡¼¥ë

¥×¥í¤Î»ÈÍѤËÂѤ¨¤é¤ì¤ë¤Û¤É¹âµ¡Ç½¡£¤¿¤À¤·µ¡Ç½¤¬Â¿¤¹¤®¤ëʬ¡¢¤Á¤ç¤Ã¤È»È¤Ã¤Æ¤ß¤ÆÊ·°Ïµ¤¤òÄϤ⤦¤È¤¤¤¦½é¿´¼Ô¤Ë¤Ï¡¢Áàºî¤¬¤ï¤«¤ê¤Ë¤¯¤¤¤«¤â¤·¤ì¤Ê¤¤¡£

Åö¥Ú¡¼¥¸´ÉÍý¿Í¤Ï´Êñ¤Ê¥Ð¥Ê¡¼¤òºî¤í¤¦¤È»×¤Ã¤¿¤¬¡¢²¿¤ò¤É¤¦¤¹¤ì¤Ð¤è¤¤¤Î¤«¤ï¤«¤é¤º¡¢·ë¶É xpaint ¤Çºî¤Ã¤¿¡£
>> ¥³¥Þ¥ó¥É xpaint *

gmake¡¡GNU make

GNU ¤¬ºîÀ®¤·¤¿ make¡£Makefile Ãæ¤Ç¤Î¾ò·ïʬ´ô¤Ê¤É¤¬µ­½Ò¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£

Linux ¤Ç¤Ï GNU make ¤¬É¸½à¤Î¤¿¤á¡¢make ¤È¤¤¤¦¥³¥Þ¥ó¥É̾¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë(gmake ¤È¤¤¤¦¥³¥Þ¥ó¥É¤Ï¤Ê¤¤)¡£°ìÊý¡¢BSD ¤Ç¤Ï BSD ÈÇ make ¤¬É¸½à¤È¤Ê¤Ã¤Æ¤ª¤ê¡¢Solaris ¤Ç¤â SystemV ·Ï¤Î make ¤¬É¸½à¤Ç¤¢¤ë¡£

*BSD ¤ä Solaris ¤Ç¤Ï¡¢¥Ñ¥Ã¥±¡¼¥¸¤Ç GNU make ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤ë¡£¤³¤Î¾ì¹ç¤Ï¥·¥¹¥Æ¥àɸ½à¤Î make ¤È¤«¤Á¹ç¤ï¤Ê¤¤¤è¤¦¤Ë¡¢gmake ¤È¤¤¤¦¥³¥Þ¥ó¥É̾¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¡£

GNU make¡¢BSD make¡¢SystemV ¤Î make ¤Ï¤½¤ì¤¾¤ìºÙ¤«¤¤Éôʬ¤Çº¹¤¬¤¢¤ë¤¿¤á¡¢*BSD ¤ä Solaris ¤Ç¥·¥¹¥Æ¥àɸ½à¤Î make ¤ò»È¤Ã¤Æ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï¡¢gmake ¤ò»È¤Ã¤Æ¤ß¤ë¤È¤è¤¤¡£
>> ¥³¥Þ¥ó¥É make *

gnuplot¡¡¥°¥é¥ÕÉÁ²è¥×¥í¥°¥é¥à

2¼¡¸µ¡¦3¼¡¸µ¤ËÂбþ¤·¤¿¥°¥é¥ÕÉÁ²è¥×¥í¥°¥é¥à¡£

gogo¡¡MP3 ¥¨¥ó¥³¡¼¥À

Àµ¼°Ì¾¾Î¤Ï¡Ö¸á¸å¤Î¤³¡Á¤À¡×¡£wave ·Á¼°¤Î²»À¼¥Õ¥¡¥¤¥ë¤ò MP3 ·Á¼°¤ËÊÑ´¹¤¹¤ë¡£ÊÑ´¹¥¹¥Ô¡¼¥É¤¬·ë¹½Â®¤¤¤Î¤Ç¡¢¤ª´«¤á¡£²»¼Á¤Ë¤Ä¤¤¤Æ¤Ï³Æ¼«¤Çʹ¤­Èæ¤Ù¤Æ¤Û¤·¤¤¡£

²»³Ú CD ¤«¤é tosha ¤Ç¶Ê¤òµÛ¤¤½Ð¤·¡¢sox ¤Ç wave ¤ËÊÑ´¹¡¢¤µ¤é¤Ë gogo ¤Ç MP3 ¤ËÊÑ´¹
% tosha -d /dev/cd0c -t 2 -o sample.raw
% sox -t cdr sample.raw sample.wav
% gogo sample.wav sample.mp3

²»³Ú CD ¤«¤é tosha ¤Ç¶Ê¤òµÛ¤¤½Ð¤· wave ¤Ç½ÐÎÏ¡¢¤µ¤é¤Ë gogo ¤Ç MP3 ¤ËÊÑ´¹
% tosha -d /dev/cd0c -t 2 -f wav -o sample.wav
% gogo sample.wav sample.mp3

¾å¤ÎÎã¤ÈƱ¤¸¤À¤¬¡¢Ãæ´Ö¥Õ¥¡¥¤¥ë¤òºî¤é¤Ê¤¤¡£
% tosha -d /dev/cd0c -t 2 -f wav -o - | gogo stdin sample.mp3
>> ¥³¥Þ¥ó¥É mpg123 *   sox *   tosha *

grance¡¡top ¤Î¤è¤¦¤Ê¤â¤Î¤é¤·¤¤¡£HP-UX ¤Î¤ß¡£

³Æ¥×¥í¥»¥¹¤Î¥á¥â¥ê»ÈÍÑÎ̤ä¥Ç¥£¥¹¥¯¥¢¥¯¥»¥¹¡¦CPU »ÈÍÑΨ¤Ê¤É¤òɽ¼¨¤Ç¤­¤ë¡£HP ¤ÎÇä¤êʪ¤é¤·¤¤¡£
>> ¥³¥Þ¥ó¥É top *

grdc¡¡¥³¥ó¥½¡¼¥ë¤Ë»þ·×¤òɽ¼¨

n(¿ô»ú) nÉô֤À¤±»þ·×¤òɽ¼¨¤¹¤ë

grep¡¡»ØÄê¤Î¥Ñ¥¿¡¼¥ó¤Ë¥Þ¥Ã¥Á¤¹¤ë¹Ô¤òɽ¼¨(¥Ñ¥¤¥×)

¤¢¤ë¥Õ¥¡¥¤¥ë¤ÎÃæ¤Ë¡¢»ØÄê¤Îʸ»úÎó¤ò´Þ¤à¹Ô¤òɽ¼¨¤¹¤ë¡£Î㤨¤Ð¡¢sample.dat ¤ÎÃæ¤Î¡Öhoge¡×¤È¤¤¤¦Ê¸»úÎó¤ò´Þ¤à¹Ô¤òɽ¼¨¤·¤¿¤¤¾ì¹ç¡¢
% grep hoge sample.dat
¤È¤¹¤ë¡£¤Þ¤¿¡¢
% grep hoge file1 file2 file3
% grep hoge dir/*
¤Ê¤É¤È¤¹¤ë¤È¡¢Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ä¤¤¤ÆÄ´¤Ù¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

¸¡º÷¤·¤¿¤¤Ê¸»úÎó¤Ë¤ÏÀµµ¬É½¸½¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤ë¡£Î㤨¤Ð
% grep '[a-z]' sample.dat
¤È¤¹¤ë¤È¡¢a¡Áz ¤ò´Þ¤à¹Ô¤òÁ´¤ÆÉ½¼¨¤¹¤ë¡£¤¿¤À¤·¡¢grep ¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¸ÂÄêÀµµ¬É½¸½¤·¤«°·¤¨¤Ê¤¤¤³¤È¤ËÃí°Õ (-E ¥ª¥×¥·¥ç¥ó¤ò»²¾È)¡£

FreeBSD ¤ä Linux ¤Ï¹âµ¡Ç½ÈǤΠgrep (GNU grep) ¤òɸ½àºÎÍѤ·¤Æ¤¤¤ë¤¬¡¢Solaris ¤Ê¤É¤Ï¥Ç¥Õ¥©¥ë¥È¤Î grep ¤ÏÄ㵡ǽÈǤǡ¢-e ¥ª¥×¥·¥ç¥ó¤ä -E ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤Ê¤¤¡£Solaris ¤Î¾ì¹ç¡¢/usr/xpg4/bin/grep ¤¬¹âµ¡Ç½ÈǤΠgrep ¤È¤Ê¤Ã¤Æ¤¤¤ë¡£

grep ¤ÎÍÑÅӤϤȤƤ⹭¤¤¡£
  • /var/log/ ¤Ë¤¢¤ë¥í¥°¥Õ¥¡¥¤¥ë¤«¤é¡¢ÆÃÄê¤Î¥á¥Ã¥»¡¼¥¸¤òÈ´¤­½Ð¤¹
  • /var/log/ ¤Ë¤¢¤ë¥í¥°¥Õ¥¡¥¤¥ë¤«¤é¡¢ÆÃÄê¤ÎÆüÉÕ¤Î¤ß¤Î¥í¥°¤òÈ´¤­½Ð¤¹
  • /usr/include/ ¤«¤é¡¢ÆÃÄê¤Î¥Þ¥¯¥í¤¬¤É¤³¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤«Ä´¤Ù¤ë
¤Ê¤É¤Ê¤É¡£grep ¤ò»È¤¤¤³¤Ê¤»¤Æ¤¤¤Ê¤¤¤È¤·¤¿¤é¡¢¤½¤Î¿Í¤Î UNIX ¤Î¥¹¥­¥ë¤ÏÃΤ줿¤â¤Î¤Ç¤¢¤ë¡£¤¼¤ÒÍ­¸ú¤Ê»È¤¤Êý¤ò³Ð¤¨¤Æ¤Û¤·¤¤¡£

-num ¥Þ¥Ã¥Á¤·¤¿Ê¸»úÎó¤ÎÁ°¸å num ¹Ô¤òɽ¼¨¤¹¤ë¡£
¥Ç¥Õ¥©¥ë¥È¤Ï -0¡£¤Ä¤Þ¤ê¥Þ¥Ã¥Á¤·¤¿¹Ô¤Î¤ß¤òɽ¼¨¤¹¤ë¤È¤¤¤¦¤³¤È¡£
-A num ¥Þ¥Ã¥Á¤·¤¿Ê¸»úÎó¤Î¸å¤Ë³¤¯ num ¹Ô¤òɽ¼¨¤¹¤ë
-B num ¥Þ¥Ã¥Á¤·¤¿Ê¸»úÎó¤ÎÁ°¤Î num ¹Ô¤òɽ¼¨¤¹¤ë
-b ¥Þ¥Ã¥Á¤·¤¿Ê¸»úÎó¤Î¥ª¥Õ¥»¥Ã¥È¤òɽ¼¨
-C -2¤ÈƱ¤¸
-c ¥Æ¥­¥¹¥ÈÃæ¤Ëʸ»úÎ󤬽и½¤·¤¿²ó¿ô¤òɽ¼¨¡£
-e ÌÀ¼¨Åª¤Ë¥Ñ¥¿¡¼¥ó¤ò»ØÄꤹ¤ë¡£Ê£¿ô¸Ä¤Î¥Ñ¥¿¡¼¥ó¤ò»ØÄꤹ¤ë¤È¤­¤Ë»È¤¦
¡Örwx¡×¤È¡Ör-x¡×¤ò´Þ¤à¹Ô¤ò¸¡º÷¤·¤è¤¦¤È¤·¤Æ¡¢
% ls -l | grep 'rwx' 'r-x'
¤È¤¹¤ë¤È¡¢grep ¤Ï ¡Ör-x¡×¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤ò¸«ÉÕ¤±¤è¤¦¤È¤·¤Æ¥¨¥é¡¼¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£¤³¤¦¤¤¤¦¾ì¹ç¤Ï
% ls -l | grep -e 'rwx' -e 'r-x'
¤È¤¹¤ì¤Ð¤è¤¤¡£Ä㵡ǽÈǤΠgrep ¤Ë¤Ï -e ¥ª¥×¥·¥ç¥ó¤Ï¸ú¤«¤Ê¤¤¤Î¤ÇÃí°Õ¡£
-E ³ÈÄ¥Àµµ¬É½¸½¤ò»È¤¦¡£
¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï ¡Ö?+|{}()¡×¤Ê¤É¤ÏÉáÄ̤Îʸ»ú¤È¤·¤Æ°·¤ï¤ì¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢¡Öfoo¡×¤È¡Öbar¡×¤ò´Þ¤à¹Ô¤òɽ¼¨¤·¤è¤¦¤È¤·¤Æ¡¢
% grep 'foo|bar' sample.txt
¤È¤·¤Æ¤â¡¢'foo|bar' ¤È¤¤¤¦ÉáÄ̤Îʸ»úÎó¤À¤Èǧ¼±¤µ¤ì¤Æ¤·¤Þ¤¦¡£
% grep -E 'foo|bar' sample.txt
¤À¤È³ÈÄ¥Àµµ¬É½¸½¤È¤·¤Æ°·¤ï¤ì¤ë¤Î¤Ç¡¢¤¦¤Þ¤¯¤¤¤¯¡£Ä㵡ǽÈǤΠgrep ¤Ë¤Ï -E ¥ª¥×¥·¥ç¥ó¤Ï¸ú¤«¤Ê¤¤¤Î¤ÇÃí°Õ¡£grep -E ¤Ï egrep ¤È¤Û¤ÜƱ¤¸¤Ç¤¢¤ë¡£
>> ¥³¥Þ¥ó¥É egrep *
-F ¸ÇÄêʸ»úÎó¤È¤·¤Æ¸¡º÷¤¹¤ë¡£
. * ? ¤Ê¤É¤Î¥á¥¿¥­¥ã¥é¥¯¥¿¤ò»ØÄꤷ¤Æ¤â¡¢Àµµ¬É½¸½¤È¤·¤Æ¤Î°ÕÌ£¤ò»ý¤¿¤Ê¤¯¤Ê¤ë¡£grep -F ¤Ï¡¢fgrep ¤ÈƱ¤¸¤Ç¤¢¤ë¡£
>> ¥³¥Þ¥ó¥É fgrep *
-f file fileÃæ¤Îʸ»úÎó¤ò¸¡º÷¥Ñ¥¿¡¼¥ó¤È¤·¤Æ»È¤¦¡£
-i Âçʸ»ú¾®Ê¸»ú¤ò¶èÊ̤·¤Ê¤¤¡£
-l »ØÄêʸ»úÎó¤ò´Þ¤à¥Õ¥¡¥¤¥ë̾¤òɽ¼¨¡£
»ØÄê¤Îʸ»úÎó¤ò´Þ¤à¥Õ¥¡¥¤¥ë¤¬²¿¸Ä¤¢¤ë¤«¿ô¤¨¤ë¤Ë¤Ï
% grep -l hoge *.txt | wc -l
¤È¤¹¤ë¡£
>> ¥³¥Þ¥ó¥É wc *
-L »ØÄêʸ»úÎó¤ò´Þ¤Þ¤Ê¤¤¥Õ¥¡¥¤¥ë̾¤òɽ¼¨¡£
-n ¥Þ¥Ã¥Á¤·¤¿¹Ô¤Î¹ÔÈÖ¹æ¤òɽ¼¨¤¹¤ë¡£
-s ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òÍÞÀ©¤¹¤ë(¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¤Î permission denied ¤Ê¤É)
-R ¥Ç¥£¥ì¥¯¥È¥ê¤òºÆµ¢Åª¤Ë¤¿¤É¤Ã¤Æ¡¢¥Õ¥¡¥¤¥ë¤ò¸¡º÷¤¹¤ë¡£
FreeBSD ¤Î grep ¤Ç¤Ï»È¤¨¤ë¤¬¡¢Â¾¤Î UNIX ¤Ç¤Ï -R ¥ª¥×¥·¥ç¥ó¤Ï»È¤¨¤Ê¤¤¾ì¹ç¤¬Â¿¤¤¡£
-w ¥Õ¥¡¥¤¥ëÃæ¤Î»ØÄêʸ»úÎ󤬯ÈΩ¤·¤Æ¤¤¤ë¾ì¹ç¤À¤±¥Þ¥Ã¥Á¤·¤¿¤â¤Î¤È¤ß¤Ê¤¹¡£
% cat test
sample // ÆÈΩ¤·¤¿Ê¸»úÎó¤Ç¤Ï¤Ê¤¤¤Î¤Ç¥Þ¥Ã¥Á¤·¤Ê¤¤
samp // µ­¹æ¤ä¶õÇò¤Ç¤«¤³¤Þ¤ì¤¿Ê¸»úÎó¤Ï¥Þ¥Ã¥Á¤¹¤ë
samp2 // ¿ô»ú¤Ïµ­¹æ¤È¤ß¤Ê¤µ¤ì¤Ê¤¤
,samp-
(samp&
samp/
% grep -w samp test
samp
,samp-
(samp&
samp/
-x »ØÄêʸ»úÎ󤬤½¤Î¤Þ¤Þ1¹Ô¤Ë¤¢¤ë¤â¤Î¤À¤±¥Þ¥Ã¥Á¤·¤¿¤â¤Î¤È¤ß¤Ê¤¹
¤Ä¤Þ¤ê
% grep -x abc
¤Ï
% grep '^abc$'
¤ÈÅù²Á¡£
-v »ØÄêʸ»úÎó¤ò¡Ö´Þ¤Þ¤Ê¤¤¡×¹Ô¤òɽ¼¨
-Z °µ½Ì¤·¤¿¥Õ¥¡¥¤¥ë¤ò grep ¤¹¤ë¡£
% compress file.txt
% grep -Z file.txt.Z
>> ¥³¥Þ¥ó¥É zgrep *

ɬ¤º³Ð¤¨¤Æ¤Û¤·¤¤¥ª¥×¥·¥ç¥ó¤Ï¡¢-i¡¢-e¡¢-n¡¢-v ¤Ç¤¢¤ë¡£

¸½ºß¼Â¹ÔÃæ¤Î¥×¥í¥»¥¹¤«¤é abc ¤È¤¤¤¦É½¼¨¤òÈ´¤­½Ð¤¹¤Ë¤Ï
% ps ax | grep abc (SystemV ·Ï UNIX ¤Ê¤é ps -ef)
¤È¤¹¤ì¤Ð¤è¤¤¤¬¡¢¥×¥í¥»¥¹¼Â¹Ô¤Î¥¿¥¤¥ß¥ó¥°¤Ë¤è¤Ã¤Æ¤Ï
% ps ax | grep abc
118 ?? Ss 0:00.03 abc
760 p3 R+ 0:00.00 grep abc
¤È¡¢grep ¼«¿È¤¬¥Þ¥Ã¥Á¤·¤Æ¤·¤Þ¤¦¤³¤È¤¬¤¢¤ë¡£¤³¤¦¤¤¤¦¤È¤­¤Ï
% ps ax | grep '[ a]bc'
¤È¤¹¤ì¤Ð¤è¤¤¡£grep '[ a]bc' ¤ò¼Â¹Ô¤¹¤ë¤È¡¢ps ¤Î½ÐÎϤˤÏ
760 p3 R+ 0:00.00 grep [ a]bc
¤È¤Ê¤ë¤¬¡¢[ a]bc ¼«ÂΤÏÀµµ¬É½¸½¤È²ò¼á¤µ¤ì¤ë¤Î¤Ç¡¢
760 p3 R+ 0:00.00 grep [ a]bc
¤Î¹Ô¤Ë¤Ï¥Þ¥Ã¥Á¤·¤Ê¤¤¤ï¤±¤Ç¤¢¤ë¡£¤Þ¤¡¡¢Ã±½ã¤Ë
% ps ax | grep abc | grep -v grep
¤Ç¤â¤è¤¤¤Î¤À¤±¤ì¤É¡£
>> ¥³¥Þ¥ó¥É fgrep *   egrep *   zgrep *   agrep *   sed *   tr *   find *   xargs *
>> ÆÉ¤ßÊý grep *

greynetic¡¡Ä¹Êý·Á¤ò¥é¥ó¥À¥à¤ËÉÁ¤¯

>> ¥³¥Þ¥ó¥É xscreensaver *

gs¡¡ghostscript¡£PostScript (¥Ý¥¹¥È¥¹¥¯¥ê¥×¥È) ·Á¼°¤Î¥Õ¥¡¥¤¥ë¤òɽ¼¨¤¹¤ë

.ps ¤ä .eps ¤Ê¤É¤Î³ÈÄ¥»Ò¤ò»ý¤Ã¤¿ PostScript ·Á¼°¤Î²èÁü¤òɽ¼¨¤¹¤ë¡£

PostScript ¤òÊ̤ηÁ¼°¤ËÊÑ´¹¤¹¤ë¤Ë¤Ï convert ¥³¥Þ¥ó¥É¤ò»È¤¦¤È¤è¤¤¡£
>> ¥³¥Þ¥ó¥É convert *   a2ps *   dvi2ps *   ghostview *

gzcat¡¡°µ½Ì¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤ò¿­Ä¹¤»¤º¤Ëɽ¼¨¡£¼Â¹Ô¥Õ¥¡¥¤¥ë¤Ï gzip ¤ÈƱ¤¸¡£

zcat ¤ÏËÜÍè compress ¤Ç°µ½Ì¤µ¤ì¤¿ *.Z ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤·¤«°·¤¨¤Ê¤¤¤¬¡¢gzcat ¤Ï gzip ¤Ç°µ½Ì¤µ¤ì¤¿ *.gz ¤â°·¤¨¤ë¡£¤¿¤À¤·¡¢ºÇ¶á¤Î zcat ¤Ï gzcat ¤ÈƱ¤¸µ¡Ç½¤ò»ý¤Ã¤Æ¤¤¤ë¾ì¹ç¤¬Â¿¤¤¡£

gzcat ¤Ï gzip -dc ¤ÈƱ¤¸¤Ç¤¢¤ë¡£
>> ¥³¥Þ¥ó¥É gzip *   zcat *

gzexe¡¡¼Â¹Ô¥Õ¥¡¥¤¥ë¤ò°µ½Ì¤·¤Æ¡¢¼«¸Ê¿­Ä¹·¿¤Î¼Â¹Ô¥Õ¥¡¥¤¥ë¤òºî¤ë¡£

¼Â¹Ô¥Õ¥¡¥¤¥ë¤ò gzip ¤Ç°µ½Ì¤·¡¢¤µ¤é¤Ë°µ½Ì¤·¤¿¥Õ¥¡¥¤¥ë¤ÎÀèÆ¬¤Ë¥¹¥¯¥ê¥×¥È¤ò½ñ¤­¹þ¤ó¤Ç¡¢°µ½Ì¤·¤Æ¤¢¤ë¤Î¤Ë¼Â¹Ô²Äǽ¤Ê¥×¥í¥°¥é¥à¤òºî¤ë¡£

¤É¤¦¤ä¤Ã¤Æ¼Â¸½¤·¤Æ¤¤¤ë¤«¤Ï¡¢°µ½ÌºÑ¤Î¼Â¹Ô¥Õ¥¡¥¤¥ë¤ò¸«¤ë¤È¤ï¤«¤ë¡£½é¤á¤Æ¸«¤ë¤È¡¢·ë¹½´¶Æ°¤¹¤ë¤«¤â¡£¤Ê¤ª¡¢¼Â¹Ô¥Õ¥¡¥¤¥ë¤Î¥µ¥¤¥º¤ò¸º¤é¤·¤¿¤¤¤Ê¤é¡¢strip ¤ò»È¤¦¼ê¤â¤¢¤ë¡£
>> ¥³¥Þ¥ó¥É strip *

¥ª¥×¥·¥ç¥ó:
-d ¼«¸Ê¿­Ä¹·¿¤Î¼Â¹Ô¥Õ¥¡¥¤¥ë¤ò¸µ¤ËÌ᤹¡£
>> ¥³¥Þ¥ó¥É gzip *

gzip¡¡¹âµ¡Ç½¤Ê¥Õ¥¡¥¤¥ë°µ½Ì¡¦¿­Ä¹¥Ä¡¼¥ë (gunzip)

compress ¤è¤ê°µ½ÌΨ¤¬¹â¤¯¡¢¥Õ¥¡¥¤¥ë¤ÎËöÈø¤¬.gz¡¢.Z¡¢.tgz¡¢.taz ¤Î¥Õ¥¡¥¤¥ë¤ò°·¤¨¤ë¡£¥ª¥×¥·¥ç¥ó¤Ê¤·¤Çµ¯Æ°¤¹¤ë¤È»ØÄê¤Î¥Õ¥¡¥¤¥ë¤ò°µ½Ì¤·¡¢¥Õ¥¡¥¤¥ë¤ÎºÇ¸å¤Ë .gz ¤È¤¤¤¦³ÈÄ¥»Ò¤ò¤Ä¤±¤ë¡£
% ls -l (sample.txt ¤Î¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤Ï 225KB)
-rw-r--r-- 1 user group 225280 Oct 6 07:52 sample.txt
% gzip sample.txt (sample.txt ¤ò°µ½Ì)
% ls -l (¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤¬ 40KB ¤Ë¸º¾¯¡£¥Õ¥¡¥¤¥ë̾¤ÎºÇ¸å¤Ë³ÈÄ¥»Ò .gz ¤¬ÉÕ¤±¤é¤ì¤ë)
-rw-r--r-- 1 user group 40289 Oct 6 07:52 sample.txt.gz
% gunzip sample.txt.gz (sample.txt.gz ¤ò¿­Ä¹)
% ls -l (¸µÄ̤ê)
-rw-r--r-- 1 user group 225280 Oct 6 07:52 sample.txt
¤Þ¤¿¡¢
% gzip *.txt
¤È¡¢Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤ò°ìÅ٤˰µ½Ì¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¡£¤¿¤À¤·¡¢¥Õ¥¡¥¤¥ë¤ò°ì¤Ä¤Ë¤Þ¤È¤á¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¤³¤È¤ËÃí°Õ¡£UNIX ¤Ç¤Î¥¢¡¼¥«¥¤¥Ö (¥Õ¥¡¥¤¥ë¤ò°ì¤Ä¤Ë¤Þ¤È¤á¤ë¤³¤È) ¤Ë¤Ï tar ¥³¥Þ¥ó¥É¤¬¤è¤¯»È¤ï¤ì¤ë¡£
>> ¥³¥Þ¥ó¥É tar *

¡ü¥ª¥×¥·¥ç¥ó
-c °µ½Ì¡¦¿­Ä¹¤Î·ë²Ì¤òɸ½à½ÐÎϤ˽ñ¤­½Ð¤¹¡£¥Õ¥¡¥¤¥ë¤Ø¤Î½ñ¤­¹þ¤ß¤Ï¹Ô¤Ê¤ï¤Ê¤¤
-d ¿­Ä¹¤¹¤ë
-l °µ½Ì¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¡¦°µ½ÌΨ¤òɽ¼¨
-n ¥Õ¥¡¥¤¥ë̾¤È¥¿¥¤¥à¥¹¥¿¥ó¥×¤òÊݸ¤¹¤ë
-r ¥Ç¥£¥ì¥¯¥È¥ê¤òºÆµ¢Åª¤Ë°·¤¦
-v ¥Ð¡¼¥Ü¡¼¥º¥â¡¼¥É
-1 °µ½Ì¤Ë¤«¤«¤ë»þ´Ö¤òû¤¯¤¹¤ë
-9 °µ½ÌΨ¤Î¹â¤¤°µ½ÌÊýË¡¤ò»È¤¦

gunzip¡¦gzip¡¦gzcat ¤È¤â¥Õ¥¡¥¤¥ë¤Î¼ÂÂÎ¤ÏÆ±¤¸¤À¤¬ (¥Ï¡¼¥É¥ê¥ó¥¯¤µ¤ì¤Æ¤¤¤ë)¡¢¤É¤Î̾Á°¤Çµ¯Æ°¤µ¤ì¤¿¤«¤Ë¤è¤Ã¤Æ¿­Ä¹¡¦°µ½Ì¡¦É½¼¨¤Èưºî¤òÊѤ¨¤ë¡£¤É¤Î̾Á°¤Çµ¯Æ°¤·¤Æ¤â¥ª¥×¥·¥ç¥ó¤òÌÀ¼¨Åª¤Ë»ØÄꤹ¤ë¤³¤È¤Ç¡¢Á´¤Æ¤Îµ¡Ç½¤ò¼Â¹Ô¤Ç¤­¤ë¡£¤Ä¤Þ¤ê
% gunzip sample.txt.gz
% gzcat sample.txt.gz
¤Ï¡¢
% gzip -d sample.txt.gz
% gzip -dc sample.txt.gz
¤ÈƱ¤¸¤Ç¤¢¤ë¡£

¡ü2GB ÌäÂê
Solaris¡¦HP-UX¡¦Linux ¤Ê¤É¤Î gzip ¤Ï 2GB Ķ¤Î¥Õ¥¡¥¤¥ë¤Ë̤Âбþ¤Ç¤¢¤ë¤³¤È¤¬Â¿¤¤¡£

gzip ¼«ÂΤˤϡÖ2GB¡×¤È¤¤¤¦¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤Î¾å¸Â¤Ï¤Ê¤¤¡£¤Þ¤¿¡¢ºÇ¶á¤Î Solaris¡¦HP-UX¡¦Linux ¤Ê¤É¤Î OS ¼«ÂÎ¤Ï 2GB Ķ¤Î¥Õ¥¡¥¤¥ë¤òÌäÂê¤Ê¤¯°·¤¨¤ë¡£¤¿¤À¤·¸ß´¹À­¤«¤é¤«¡¢¥½¡¼¥¹¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¡¢¥Õ¥¡¥¤¥ë¥ª¥Õ¥»¥Ã¥È (off_t) ¤¬ 32bit ¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦´Ä¶­¤¬Â¿¤¤¡£¤³¤Î¤è¤¦¤Ê´Ä¶­¤Ç¥³¥ó¥Ñ¥¤¥ë¤·¤¿¥Ð¥¤¥Ê¥ê¤Ï¡¢gzip ¤Ë¸Â¤é¤º 2GB Ķ¤Î¥Õ¥¡¥¤¥ë¤òÀ¸À®¤Ç¤­¤Ê¤¤¤·¡¢´û¤Ë¤¢¤ë 2GB Ķ¤Î¥Õ¥¡¥¤¥ë¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£

°ìÈÌŪ¤Ë¤Ï¡¢¥³¥ó¥Ñ¥¤¥ë»þ¤Ë -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE ¤È¤¤¤¦¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤Æ¥³¥ó¥Ñ¥¤¥ë¤¹¤ì¤Ð¥Õ¥¡¥¤¥ë¥ª¥Õ¥»¥Ã¥È¤¬ 64bit ¤Ë¤Ê¤ë¤³¤È¤¬Â¿¤¤¤è¤¦¤À (Solaris2.6¡¦Solari8¡¦ HP-UX 11i¡¦Linux ¤Ç³Îǧ¡£AIX ¤Ç¤Ï¤Á¤ç¤Ã¤È°ã¤¦¤é¤·¤¤)¡£

À¤¤ÎÃæ¤Ç¹­¤¯»È¤ï¤ì¤Æ¤¤¤ë gzip ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï 1.2.4 ¤Ç¤¢¤ë¤¬¡¢¥Õ¥¡¥¤¥ë¥ª¥Õ¥»¥Ã¥È¤¬ 32bit ¤Ê´Ä¶­¤Ç make ¤¹¤ë¤È¡¢¥Õ¥¡¥¤¥ë¥ª¥Õ¥»¥Ã¥È¤¬ 32bit ¤Ê gzip ¤¬À¸À®¤µ¤ì¡¢2GB Ķ¤Î¥Õ¥¡¥¤¥ë¤ò°·¤¦¤³¤È¤¬¤Ç¤­¤Ê¤¤¡£SunSite ¤ä Linux ɸ½à¤Î gzip ¤Ï¤³¤Î¤è¤¦¤Ë make ¤µ¤ì¤¿¤â¤Î¤¬Â¿¤¤¤Î¤Ç¡¢2GB Ķ¤Î¥Õ¥¡¥¤¥ë¤Ë̤Âбþ¤Ê¤³¤È¤¬Â¿¤¤¤Î¤Ç¤¢¤ë¡£¤³¤Î¾ì¹ç¡¢Makefile ¤Î CFLAGS ¤Ë¡¢¾åµ­¤Î¥ª¥×¥·¥ç¥ó¤òÄɲ䷤ƺƥ³¥ó¥Ñ¥¤¥ë¤¹¤ì¤Ð²ò·è¤¹¤ë¡£

gzip-1.3.3 ¤Î configure ¤Ï¾¯¤·¸­¤¯¤Æ¡¢64bit ¥Õ¥¡¥¤¥ë¥Ý¥¤¥ó¥¿¤¬»È¤¨¤ë¾ì¹ç¤Ï¾åµ­¥ª¥×¥·¥ç¥ó¤ò¾¡¼ê¤ËÄɲ䷤ƥ³¥ó¥Ñ¥¤¥ë¤·¤Æ¤¯¤ì¤ë¤¿¤á¡¢2GB ÌäÂê¤Ïµ¯¤³¤é¤Ê¤¤¤À¤í¤¦¡£

¤Á¤Ê¤ß¤Ë¡¢¥Õ¥¡¥¤¥ë¥ª¥Õ¥»¥Ã¥È¤¬ 32bit ¤Ê¤Î¤« 64bit ¤Ê¤Î¤«¤Ï°Ê²¼¤Î¥½¡¼¥¹¤ò¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¼Â¹Ô¤¹¤ì¤Ð¤ï¤«¤ë¡£
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
main(){
printf("%d\n", sizeof(off_t));
}
½ÐÎÏ·ë²Ì¤¬ 4 ¤Ê¤é¤Ð 32bit¡¢8 ¤Ê¤é¤Ð 64bit ¤Ç¤¢¤ë¡£4 ¤Èɽ¼¨¤µ¤ì¤¿¾ì¹ç¤Ç¤â¡¢¾åµ­¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤Æ¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤È¡¢ÂçÄñ¤Î´Ä¶­¤Ç¤Ï 8 ¤ËÊѤï¤ë¤À¤í¤¦ (º£¤É¤­¤Î OS ¤Ê¤é¤Ð)¡£

FreeBSD ¤Ç¤Ï (*BSD ¤¹¤Ù¤Æ?) ¥Õ¥¡¥¤¥ë¥ª¥Õ¥»¥Ã¥È¤Ï 64bit ¤Ê¤Î¤Ç¡¢2GB ÌäÂê¤ÏȯÀ¸¤·¤Ê¤¤¡£¾¯¤Ê¤¯¤È¤â 2.2.7-RELEASE °Ê¹ß¤ÏÌäÂê¤Ê¤·¡£Solaris ¤ä HP-UX ¤Ç¤â¡¢64bit ¥â¡¼¥É¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¾ì¹ç¤Ï¡¢¥ª¥×¥·¥ç¥ó¤Ê¤·¤Ç¤â¥Õ¥¡¥¤¥ë¥ª¥Õ¥»¥Ã¥È¤¬ 64bit ¤È¤Ê¤ë¡£

¤Ê¤ª¡¢gzip-1.2.4 ¤Ë¤Ï¸µ¥Õ¥¡¥¤¥ë¤Î¥µ¥¤¥º¤¬ 2GB Ķ¤Î¤È¤­¡¢gzip -l ¤Çɽ¼¨¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤¬¥Þ¥¤¥Ê¥¹ÃͤˤʤäƤ·¤Þ¤¦¤È¤¤¤¦¥Ð¥°¤¬¤¢¤ë (ɽ¼¨¤À¤±¤ÎÌäÂê)¡£

¡ü4GB ÌäÂê
¤³¤Á¤é¤Ï¤¢¤Þ¤ê¿¼¹ï¤ÊÌäÂê¤Ç¤Ï¤Ê¤¤¡£gzip-1.2.4 ¤Ë¤ª¤¤¤Æ¡¢Å¸³«¸å¤Î¥µ¥¤¥º¤¬ 4GB Ķ¤Î°µ½ÌºÑ¥Õ¥¡¥¤¥ë¤ò zcat ¤·¤¿¤È¤­¤Ë¡¢¥Õ¥¡¥¤¥ëÆâÍÆ°Û¾ï¤Ê¤É¤Î¥¨¥é¡¼¤¬µ¯¤³¤ë¤È¼Â¹Ô¤¬ÂǤÁÀÚ¤é¤ì¤Æ¤·¤Þ¤¦¤È¤«¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬¤ª¤«¤·¤¯¤Ê¤ë¡¢¤È¤¤¤Ã¤¿ÆâÍÆ¤Ç¤¢¤ë (»î¤·¤¿¤ï¤±¤Ç¤Ï¤Ê¤¤¤Î¤Ç¡¢°ã¤¦¤«¤â)¡£

gzip.org ¤Ë¤Æ¥Ñ¥Ã¥Á¤¬¸ø³«¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¤½¤ì¤ò¤¢¤Æ¤ì¤Ð¤è¤¤¡£gzip-1.3.3 ¤Ç¤Ï½¤ÀµºÑ¡£FreeBSD ¤Ç¤Ï 5.3-RELEASE ¤Ç¾åµ­¥Ñ¥Ã¥Á¤¬Å¬ÍѤµ¤ì¤¿¡£

¡ügzip ¤Î³«È¯ÂÎÀ©
¤³¤ó¤ÊºÙ¤«¤Ê¤³¤È¤Þ¤ÇÀâÌÀ¤·¤¿¤¯¤Ï¤Ê¤¤¤Î¤À¤¬¡¢Àµ¼°ÈǤǤ¢¤ë gzip-1.2.4 ¤Ï 1992 ǯº¢¤Ë¥ê¥ê¡¼¥¹¤µ¤ì¤¿¤â¤Î¤Ç¡¢¤½¤ì°Ê¹ßÀµ¼°ÈǤ¬¥ê¥ê¡¼¥¹¤µ¤ì¤Æ¤¤¤Ê¤¤¡£¤Ä¤Þ¤ê¡¢ÀΤÎÉÔ¶ñ¹ç¤ò¤º¤Ã¤È°ú¤­¤º¤Ã¤Æ¤¤¤ë¤ï¤±¤Ç¤¢¤ë¡£

gzip-1.3.3 ¤Ï 2002ǯ¤Ë¸ø³«¤µ¤ì¤Æ¤¤¤ë¤¬¡¢¤Þ¤À¥Ù¡¼¥¿ÈǤǤ¢¤ë (2005ǯ6·î¸½ºß)¡£2GB ¤ÎÌäÂê¤â¡¢4GB ¤ÎÌäÂê¤â¡¢gzip-1.3 ·Ï¤òÀµ¼°¥ê¥ê¡¼¥¹¤¹¤ì¤Ð²ò·è¤¹¤ë¡£Ã¯¤« gzip ¤Î³«È¯¤ò°ú¤­·Ñ¤¤¤Ç¤ä¤Ã¤Æ¤¯¤À¤µ¤¤¡£
>> ¥³¥Þ¥ó¥É compress *   gzcat *   gzexe *   tar *   bzip2 *   gzrecover *

gzrecover¡¡²õ¤ì¤¿ gzip ¥Õ¥¡¥¤¥ë¤ò¥ê¥«¥Ð¥ê¤¹¤ë (ÇË»/Éüµì/Éü³è/gzip Recovery Toolkit/gzrt)

gzrecover ¥³¥Þ¥ó¥É¤ò»È¤¦¤È¡¢²õ¤ì¤¿ gzip ¥Õ¥¡¥¤¥ë¤ò¥ê¥«¥Ð¥ê¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¥Ä¡¼¥ë¤Î̾¾Î¤Ï¡Ögzip Recovery Toolkit¡×¤Ç¤¢¤ë¤¬¡¢¥³¥Þ¥ó¥É̾¤Ï¡Ögzrecover¡×¤Ç¤¢¤ë¡£¤Þ¤¿¡¢¥Ä¡¼¥ë¤Îά¾Î¤ä¥½¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Ê¤É¤Ç¤Ï¡Ögzrt¡×¤È¤¤¤¦É½µ­¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¡£

¡üÉüµìÊýË¡
gzip ¤ä tar ¤Î z ¥ª¥×¥·¥ç¥ó»ÈÍÑ»þ¤Ë
unexpected end of file
¤ä
Premature end of gzip compressed data: Input/output error
¤È¤¤¤¦¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¡¢Å¸³«/¿­Ä¥¤¬ÅÓÃæ¤Ç¼ºÇÔ¤·¤Æ¤·¤Þ¤¦¾ì¹ç¡¢gzrecover ¥³¥Þ¥ó¥É¤ò»È¤Ã¤ÆÉüµì¤ò»î¤ß¤Æ¤ß¤ë¤È¤è¤¤¤À¤í¤¦¡£

ÇË»¤·¤¿¥Õ¥¡¥¤¥ë¤¬ backup.txt.gz ¤È¤¹¤ë¤È¡¢
% gzrecover backup.txt.gz
¤È¤¹¤ë¤³¤È¤Ç backup.txt.recovered ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤ë¡£

¡ütar+gzip ¤Î¾ì¹ç
¤â¤· tar ¥Õ¥¡¥¤¥ë¤ò gzip ¤Ç°µ½Ì¤·¤Æ¤¤¤¿¾ì¹ç¤Ï¡¢gzrecover ¤ÇÉüµì¤·¤¿¸å¡¢¤µ¤é¤Ë tar ¤ÇŸ³«¤¹¤ëɬÍפ¬¤¢¤ë¡£gzrecover ¤Ï¸µ¥Õ¥¡¥¤¥ë¤Î¥¨¥é¡¼¤ò̵»ë¤·¡¢ÆÉ¤á¤ëÉôʬ¤ò½¦¤¤½Ð¤·¤¿¤â¤Î¤Ç¤¢¤ë¤¿¤á¡¢tar ¥Õ¥¡¥¤¥ë¤È¤·¤Æ¤ÏÉÔ´°Á´¤Ç¤¢¤ë²ÄǽÀ­¤¬¤¢¤ë¡£¤·¤«¤·¡¢GNU tar ¥³¥Þ¥ó¥É¤Ï¥¨¥é¡¼¤ò´Þ¤à¤«¤â¤·¤ì¤Ê¤¤ tar ¥Õ¥¡¥¤¥ë¤ò¤¦¤Þ¤¯°·¤¦¤³¤È¤¬¤Ç¤­¤Ê¤¤¡£¤è¤Ã¤Æ¡¢¤³¤Î¾ì¹ç¤Ï tar ¥³¥Þ¥ó¥É¤Ç¤Ï¤Ê¤¯ cpio ¥³¥Þ¥ó¥É¤ò»ÈÍѤ¹¤ë¡£
% cpio -F backup.tar.recovered -i -v
¤È¤¹¤ë¤³¤È¤Ç¡¢¤Ç¤­¤ë¸Â¤ê¤Î¥Õ¥¡¥¤¥ë¤ò½¦¤¤½Ð¤¹¤³¤È¤¬¤Ç¤­¤ë¤À¤í¤¦¡£
>> ¥³¥Þ¥ó¥É gzip *   tar *

halo¡¡²èÌ̤˥µ¡¼¥¯¥ë¤òÉÁ¤¯

>> ¥³¥Þ¥ó¥É xscreensaver *

halt¡¡¥·¥ã¥Ã¥È¥À¥¦¥ó

¾Ü¤·¤¤ÀâÌÀ¤Ï shutdown ¤Î¹à¤ò»²¾È
>> ¥³¥Þ¥ó¥É shutdown *   reboot *
>> ÆÉ¤ßÊý halt *

hd¡¡¥Õ¥¡¥¤¥ë¤Î¥À¥ó¥× (8¿Ê¿ô/10¿Ê¿ô/16¿Ê¿ôɽ¼¨)

>> Linux hd(4)  
¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤ò¥À¥ó¥×¤¹¤ë¡£hexdump -C ¤È¤Þ¤Ã¤¿¤¯Æ±¤¸¡£¾ÜºÙ¤Ï hexdump ¥³¥Þ¥ó¥É¤Î¹à¤ò»²¾È¡£
>> ¥³¥Þ¥ó¥É hexdump *   od *   beav *

head¡¡¥Õ¥¡¥¤¥ë¤ÎÀèÆ¬Éôʬ¤òɽ¼¨ (¥Ñ¥¤¥×)

°ú¿ô¤Ë¥Õ¥¡¥¤¥ë̾¤Î¤ßÅϤ¹¤È¡¢ÀèÆ¬¤Î 10¹Ô¤òɽ¼¨¤¹¤ë¡£
% head sample.txt
(sample.txt ¤ÎÀèÆ¬ 10¹Ô¤¬½ÐÎϤµ¤ì¤ë)

-¿ô»ú ¤È¤¤¤¦¥ª¥×¥·¥ç¥ó¤Ç¡¢É½¼¨¤¹¤ë¹Ô¿ô¤ò»ØÄꤹ¤ë¤³¤È¤¬²Äǽ¡£
% cat sample.txt
aaa
bbb
ccc
% cat sample.txt | head -2 (ÀèÆ¬¤Î 2¹Ô¤¬½ÐÎϤµ¤ì¤ë)
aaa
bbb
-n count ¥Õ¥¡¥¤¥ë¤ÎÀèÆ¬¤Î count ¹Ô¤òɽ¼¨
¤Ä¤Þ¤ê
% head -5 sample.txt
¤È
% head -n 5 sample.txt
¤ÏƱ¤¸¤Ç¤¢¤ë¡£
-c count ¥Õ¥¡¥¤¥ë¤ÎÀèÆ¬¤Î count ¥Ð¥¤¥È¤òɽ¼¨
% cat sample.txt | head -c 2 (ÀèÆ¬¤Î 2¥Ð¥¤¥È¤¬½ÐÎϤµ¤ì¤ë)
aa

¥Õ¥¡¥¤¥ë¤ÎÀèÆ¬ n ¹Ô¤ÈËöÈø¤Î m ¹Ô¤òºï½ü¡¢¤È¤¤¤¦¾ì¹ç¤Ï tail ¤ò»È¤¦¤È¤è¤¤¡£
>> ¥³¥Þ¥ó¥É cut *   tail *

helix¡¡¤é¤»¤óÌÏÍͤòÉÁ¤¯

>> ¥³¥Þ¥ó¥É xscreensaver *

hexcalc¡¡2¿Ê¡¢8¿Ê¡¢10¿Ê¡¢16¿Ê¿ô¤Î·×»»¤¬¤Ç¤­¤ëÅÅÂî

>> ¥³¥Þ¥ó¥É bc *   calc *   dc *   xcalc *

hexdump¡¡¥Õ¥¡¥¤¥ë¥À¥ó¥× (8¿Ê¿ô/10¿Ê¿ô/16¿Ê¿ôɽ¼¨)

-b 1¥Ð¥¤¥È¤´¤È¤Ë8¿Ê¿ô¤Çɽ¼¨
-c 1¥Ð¥¤¥È¤³¤È¤Ë¥­¥ã¥é¥¯¥¿¤Çɽ¼¨
-d 2¥Ð¥¤¥È¤´¤È¤Ë10¿Ê¿ô¤Çɽ¼¨
-o 2¥Ð¥¤¥È¤´¤È¤Ë8¿Ê¿ô¤Çɽ¼¨
-C 1¥Ð¥¤¥È¤´¤È¤Ë16¿Ê¿ô¤Ç¥À¥ó¥×¤·¤¿¾å¤Ç¡¢±¦Â¦¤Ëʸ»ú¤âɽ¼¨
hexdump -C ¤È¤Þ¤Ã¤¿¤¯Æ±Íͤʤ³¤È¤ò¹Ô¤¦ hd ¥³¥Þ¥ó¥É¤âÍѰդµ¤ì¤Æ¤¤¤ë¡£
>> ¥³¥Þ¥ó¥É hd *
-s n ¥À¥ó¥×¤ò³«»Ï¤¹¤ë¥ª¥Õ¥»¥Ã¥È¤ò»ØÄꤹ¤ë
>> ¥³¥Þ¥ó¥É beav *   hd *   od *

history¡¡²áµî¤Ë¥¿¥¤¥×¤·¤¿¥³¥Þ¥ó¥É¤òɽ¼¨¤¹¤ë¡£csh¡¦tcshÆâÉô¥³¥Þ¥ó¥É¡£

¿ô»ú¤ò»ØÄꤹ¤ë¤È¡¢¸½ºß¤«¤é¤µ¤«¤Î¤Ü¤Ã¤Æ¤½¤Î¿ô¤À¤±¤Î¥Ò¥¹¥È¥ê¤òɽ¼¨¤¹¤ë¡£
>> C¥·¥§¥ëÊÑ¿ô savehist *

hopalong¡¡¥Õ¥é¥¯¥¿¥ë²èÁü¤òÉÁ¤¯

>> ¥³¥Þ¥ó¥É xscreensaver *

host¡¡

hostname¡¡¥Û¥¹¥È̾¤òɽ¼¨

¥ª¥×¥·¥ç¥ó¤Ê¤·¤Ç¼Â¹Ô¤¹¤ë¤È¡¢¥Û¥¹¥È̾¤òɽ¼¨¤¹¤ë¡£
% hostname
foo.bar.baz.com
-s ¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤ë¤È¡¢
% hostname -s
foo
¤È¤Ê¤ë¡£

°ìÈ̥桼¥¶¤Ï¥Û¥¹¥È̾¤òɽ¼¨¤¹¤ë¤³¤È¤·¤«¤Ç¤­¤Ê¤¤¤¬¡¢root ¤À¤±¤Ï
# hostname ¥Û¥¹¥È̾
¤È¤¹¤ë¤³¤È¤Ç¡¢¥Û¥¹¥È̾¤òÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¤¿¤À¤·¥ê¥Ö¡¼¥È¤¹¤ë¤È¸µ¤ËÌá¤Ã¤Æ¤·¤Þ¤¦¤Î¤ÇÃí°Õ¡£
FreeBSD ¤Ç¤Ï /etc/rc.conf ¤ÎÃæ¤Î
hostname = "¥Û¥¹¥È̾"
¤ÎÉôʬ¤òÊѹ¹¤¹¤ë¤³¤È¤Ç¡¢¥Û¥¹¥È̾¤òÀßÄê¤Ç¤­¤ë¡£Â¾¤Î OS ¤Ç¤â¥Û¥¹¥È̾¤òÊѹ¹¤¹¤ë¾ì¹ç¤Ï¡¢/etc/ ¤Î²¼¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤ò½¤Àµ¤¹¤ë¤³¤È¤¬Â¿¤¤¡£
>> ÀßÄê¥Õ¥¡¥¤¥ë /etc/rc.conf *

hypercube¡¡4¼¡¸µÊªÂΤò2¼¡¸µ¤Çɽ¼¨

iconv¡¡Ê¸»ú¥³¡¼¥É¤òÊÑ´¹¤¹¤ë (¥Ñ¥¤¥×)

iconv ¤Ï¥í¥±¡¼¥ë¤Î»ÅÁȤߤˤΤäȤä¿ÀµÅýÇÉʸ»ú¥³¡¼¥ÉÊÑ´¹¥³¥Þ¥ó¥É¤Ç¤¢¤ë¡£nkf ¤ä qkc ¤ÏÆüËܸìÀìÍѤΤ¿¤á¡¢ÊØÍø¤Ç¤Ï¤¢¤ë¤¬ÀµÅýÇɤȤϤ¤¤¨¤Ê¤¤¡£

iconv ¤ÏÊÑ´¹¸µÊ¸»ú¥³¡¼¥É¤ÈÊÑ´¹¸åʸ»ú¥³¡¼¥É¤ÎξÊý¤ò»ØÄꤹ¤ë¡£
% iconv -f EUC-JP -t Shift_JIS < infile.txt > outfile.txt
¢Í infile.txt ¤Îʸ»ú¥³¡¼¥É¤ò EUC-JP ¤È¤ß¤Ê¤·¡¢Shift_JIS ¤ËÊÑ´¹¤·¤Æ outfile.txt ¤Ë½ÐÎϤ¹¤ë¡£
FreeBSD ¤Ê¤É°ìÉô¤Î iconv ¤Ç¤Ï¡¢ÊÑ´¹¸µ¤«ÊÑ´¹¸å¤Î¤¤¤º¤ì¤«¤Îʸ»ú¥³¡¼¥É¤ò¾Êά¤·¤¿¾ì¹ç¡¢´Ä¶­ÊÑ¿ô LC_ALL ¤ä LANG ¤Ê¤É¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¥í¥±¡¼¥ë¤ò»ÈÍѤ¹¤ë¤¬¡¢¤¹¤Ù¤Æ¤Î iconv ¤Ç¤½¤Î¤è¤¦¤Êµóư¤ò¤¹¤ë¤È¤Ï¸Â¤é¤Ê¤¤¡£

ÆþÎÏ¥Õ¥¡¥¤¥ë¤Ë̵¸ú¤Êʸ»ú (-f ¤Ç»ØÄꤷ¤¿Ê¸»ú¥³¡¼¥É¤ÈÌ·½â¤¹¤ë¤è¤¦¤Ê¥Ç¡¼¥¿) ¤¬´Þ¤Þ¤ì¤Æ¤¤¤¿¾ì¹ç¡¢iconv ¤Ï¥¨¥é¡¼¤È¤·¤Æ½ªÎ»¤¹¤ë¡£FreeBSD ¤Î iconv ¤Ç¤Ï -c ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤Ç¡¢Ìµ¸ú¤Êʸ»ú¤ò̵»ë¤·¤ÆÌµ»ë¤·¤ÆÂ³¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£Linux ¤Ï¤Ê¤¼¤« man ¤Ëµ­ºÜ¤Ï¤Ê¤¤¤¬¡¢-c ¥ª¥×¥·¥ç¥ó¤ò»ØÄê¤Ç¤­¤ë (man ¤Ë¤Ï¤Ê¤¤¤¬¡¢iconv --help ¤À¤È -c ¥ª¥×¥·¥ç¥ó¤¬É½¼¨¤µ¤ì¤ë)¡£¤½¤Î¾¤Î iconv ¤Ç¤Ïɬ¤º¥¨¥é¡¼¤Ç½ªÎ»¤·¤Æ¤·¤Þ¤¦¤è¤¦¤À¡£

iconv ¤Ç»ØÄꤹ¤ëʸ»ú¥³¡¼¥É¤Ï OS ¤Ë¤è¤Ã¤Æ¤«¤Ê¤ê°Û¤Ê¤ë¡£Î㤨¤Ð HP-UX ¤Ç¤Ï EUC-JP ¤ä euc-jp ¤Ç¤Ï¥À¥á¤Ç¡¢eucjp ¤È¤·¤Ê¤¯¤Æ¤Ï¤¤¤±¤Ê¤¤¡£»ÈÍѲÄǽ¤Êʸ»ú¥³¡¼¥É°ìÍ÷¤òÄ´¤Ù¤ëÊýË¡¤Ï iconv ¤Î¼ÂÁõ¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë¤¿¤á¡¢°Ê²¼¤ÎÊýË¡¤ò»î¤·¤Æ¤ß¤Æ¤Û¤·¤¤¡£
% iconv -l
¢Í »ÈÍѲÄǽ¤Êʸ»ú¥³¡¼¥É°ìÍ÷¤òɽ¼¨ (FreeBSD ¤Î iconv ¤Ç³Îǧ)
% iconv --list
¢Í »ÈÍѲÄǽ¤Êʸ»ú¥³¡¼¥É°ìÍ÷¤òɽ¼¨ (GNU ¤Î iconv ¤Ç³Îǧ)
% man iconv
¢Í ʸ»ú¥³¡¼¥É°ìÍ÷ɽ¼¨µ¡Ç½¤¬¤Ê¤¤¾ì¹ç¤Ï¥Þ¥Ë¥å¥¢¥ë¤òÆÉ¤à¤³¤È

iconv ¤Ï¥Õ¥¡¥¤¥ëÆâÍÆ¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤òÊÑ´¹¤¹¤ë¥³¥Þ¥ó¥É¤Ç¤¢¤ë¡£¡Ö¥Õ¥¡¥¤¥ë̾¡×¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤òÊÑ´¹¤¹¤ë¾ì¹ç¤Ï¡¢convmv ¥³¥Þ¥ó¥É¤ò»È¤¦¤³¤È¡£
>> ¥³¥Þ¥ó¥É nkf *   qkc *   euctosj *   coco *   convmv *
>> ÍѸ콸 ¥í¥±¡¼¥ë *

id¡¡¥æ¡¼¥¶¤Î UID¡¢GID¡¢¥°¥ë¡¼¥×̾¤òɽ¼¨

¥æ¡¼¥¶¤Î UID¡¢GID¡¢½ê°¤·¤Æ¤¤¤ë¥°¥ë¡¼¥×̾¤òɽ¼¨¤¹¤ë¡£
% id
uid=1001(foo) gid=1001(foo) groups=1001(foo), 0(wheel), 5(operator)
¤³¤ÎÎã¤Ç¤Ï¡¢¥æ¡¼¥¶ foo ¤Î UID ¤Ï 1001¡¢GID ¤Ï 1001 ¤Ç¤¢¤ê¡¢foo¡¦wheel¡¦operator ¤Î 3¤Ä¤Î¥°¥ë¡¼¥×¤Ë°¤·¤Æ¤¤¤ë¤³¤È¤¬¤ï¤«¤ë¡£
>> ¥³¥Þ¥ó¥É chgrp *   vipw *   whoami *
>> ÀßÄê¥Õ¥¡¥¤¥ë /etc/passwd *   /etc/group *

identify¡¡²èÁü¥Õ¥¡¥¤¥ë¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¡¦¥µ¥¤¥º¤Ê¤ÉÄ´¤Ù¤ë (ImageMagick)

²èÁü¥Õ¥¡¥¤¥ë¤ò»ØÄꤹ¤ë¤È¡¢
% identify sample.gif
sample.gif 302x231+0+0 PseudoClass 16c 2122b GIF 1s
¤È¡¢¹â¤µ¡¢Éý¡¢¿§¾ðÊó¡¢¥µ¥¤¥º¡¢²èÁü·Á¼°¤Ê¤É¤¬É½¼¨¤µ¤ì¤ë¡£-verbose ¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤ë¤È¡¢
% identify -verbose sample.gif
Image: sample.gif
type: palette
class: PseudoClass
colors: 16
0: ( 0, 0, 0) #000000 black
1: ( 24, 24, 73) #181849
2: ( 48, 52,113) #303471
3: ( 89, 93, 89) #595d59
4: ( 97,101, 97) #616561 ~gray39
5: ( 73, 73,134) #494986
6: ( 89, 93,150) #595d96
7: (113,113,174) #7171ae
8: (134,134,190) #8686be
9: (190,186,190) #bebabe ~gray74
10: (190,190,190) #bebebe gray
11: (158,154,207) #9e9acf
12: (174,174,223) #aeaedf
13: (255,255,255) #ffffff white
14: ( 0, 0, 0) #000000 black
15: ( 0, 0, 0) #000000 black
signature: 7ab4317a86fd9ece02dd224f74c35b95
matte: False
runlength packets: 1374 of 69762
geometry: 302x231
depth: 8
filesize: 2122b
interlace: None
page geometry: 302x231+0+0
format: GIF
compression: Runlength Encoded
comments:
xwdump
¤È¡¢¾ÜºÙ¤Ê¾ðÊó¤¬É½¼¨¤µ¤ì¤ë¡£

GIF ¤ä PNG ¤Ê¤é¤Ð¡¢¹â¤µ¤ÈÉý¤Ï file ¥³¥Þ¥ó¥É¤Ç¤âÄ´¤Ù¤é¤ì¤ë¡£
% file hoge.png
hoge.png: PNG image data, 300 x 300, 4-bit colormap, interlaced
>> ¥³¥Þ¥ó¥É convert *   display *   ImageMagick *   xv *   file *

idprio¡¡¥¢¥¤¥É¥ë¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤ò»ÈÍѤ¹¤ë

¤â¤È¤â¤È¤Ï HP-UX ¤Ë¤¢¤Ã¤¿¥³¥Þ¥ó¥É¤Ç¡¢Â¾¤Î
>> ¥³¥Þ¥ó¥É rtprio *   nice *   renice *   priocntl *

ifconfig¡¡¥Í¥Ã¥È¥ï¡¼¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÀßÄê¤ò¹Ô¤¦

LAN ¤òÁȤà¤È¤­¡¢¥Í¥Ã¥È¥ï¡¼¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÀßÄ꤬ɬÍפˤʤ롣½ñ¼°¤Ï
# ifconfig ¥¤¥ó¥¿¥Õ¥§¡¼¥¹Ì¾ IP¥¢¥É¥ì¥¹ ¥Í¥Ã¥È¥Þ¥¹¥¯
¤Ç¤¢¤ë¡£

¤Þ¤º¡¢¥Í¥Ã¥È¥ï¡¼¥¯¥«¡¼¥É (Ethernet ¥«¡¼¥É) ¤¬1Ëç¤À¤±¤µ¤µ¤Ã¤Æ¤¤¤ë¤Ê¤é¡¢dmesg ¥³¥Þ¥ó¥É¤Ç
¥Í¥Ã¥È¥ï¡¼¥¯¥«¡¼¥É¤Î¥Ç¥Ð¥¤¥¹Ì¾¤ò³Îǧ¤¹¤ë¡£FreeBSD ¤Ê¤é
% dmesg | grep ed1
ed1 <NE2000 PCI Ethernet (RealTek 8029)> rev 0 int a irq 10 on pci0:11:0
ed1: address 52:54:00:d9:68:28, type NE2000 (16 bit)
¤Ê¤É¤È¤Ê¤Ã¤Æ¤¤¤ë¤Ï¤º¤Ç¤¢¤ë¡£²¾¤Ë
  • ¥Ç¥Ð¥¤¥¹Ì¾¤¬ ed1
  • ¤½¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë³ä¤ê¿¶¤ë IP ¥¢¥É¥ì¥¹¤¬ 127.0.10.1
  • ¥Í¥Ã¥È¥Þ¥¹¥¯¤Ï 255.255.255.0
¤À¤Ã¤¿¤È¤·¤¿¤é¡¢
# ifconfig ed1 127.0.10.1 netmask 255.255.255.0
¤È¤¹¤ë¡£

¤¦¤Þ¤¯ÀßÄê¤Ç¤­¤¿¤«³Îǧ¤¹¤ë¤Ë¤Ï¡¢LAN Æâ¤Î¾¤Î¥Þ¥·¥ó¤ËÂФ·¤Æ
% ping IP¥¢¥É¥ì¥¹
¤È¤¹¤ë¡£È¿±þ¤¬¤¢¤ì¤ÐÀ®¸ù¤Ç¤¢¤ë¡£¼¡¤Ë
% ping ¥Û¥¹¥È̾
¤È¤·¤Æ¡¢
ping: cannot resolve XXX: Host name lookup failure
¤È¤Ê¤Ã¤¿¾ì¹ç¤Ï¡¢DNS ¤« /etc/hosts ¤« /etc/resolv.conf ¤ÎÀßÄ꤬¤ª¤«¤·¤¤¡£

¸½ºßÀßÄꤵ¤ì¤Æ¤¤¤ë¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë¤Ä¤¤¤Æ¤Ï¡¢netstat ¥³¥Þ¥ó¥É¤Ç³Îǧ¤Ç¤­¤ë¡£

¥Í¥Ã¥È¥ï¡¼¥¯¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤ÎÀßÄê¤Ï /etc/rc.conf ¤Ë½ñ¤¤¤Æ¤ª¤¯¤³¤È¤Ç¡¢¥Ö¡¼¥È»þ¤ËËè²ó¼«Æ°Åª¤ËÀßÄꤵ¤ì¤ë¡£
>> ¥³¥Þ¥ó¥É netstat *
>> ÀßÄê¥Õ¥¡¥¤¥ë /etc/rc.conf *   /etc/hosts *   /etc/resolv.conf *

ImageMagick¡¡¥°¥é¥Õ¥£¥Ã¥¯¥æ¡¼¥Æ¥£¥ê¥Æ¥£

ImageMagick ¤È¤¤¤¦¤Î¤Ï¥Ñ¥Ã¥±¡¼¥¸Ì¾¤Ç¡¢display¡¦convert¡¦identify¡¦import ¤Ê¤É¤Î³Æ¥×¥í¥°¥é¥à¤Ç¹½À®¤µ¤ì¤Æ¤¤¤ë¡£¤½¤ì¤¾¤ì¡¢²èÁüɽ¼¨¡¢¥Õ¥©¡¼¥Þ¥Ã¥ÈÊÑ´¹¡¢³Æ¼ï²èÁüÁàºî¤Ê¤É¤¬¹Ô¤¨¤ë¡£
>> ¥³¥Þ¥ó¥É display *   convert *   identify *   import *   xv *   netpbm *

import¡¡¥¦¥£¥ó¥É¥¦¤Î²èÁü¤ò¥À¥ó¥×¤¹¤ë

import ¤ò¼Â¹Ô¤·¤¿¸å¡¢¥Þ¥¦¥¹¤Ç¥À¥ó¥×¤·¤¿¤¤¥¦¥£¥ó¥É¥¦¤òÁªÂò¤¹¤ë¤È¡¢magick.ps ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤Ë PostScript·Á¼°¤Ç²èÁü¤¬Êݸ¤µ¤ì¤ë¡£

-window ¥¦¥£¥ó¥É¥¦ID
¥À¥ó¥×¤¹¤ë¥¦¥£¥ó¥É¥¦ID¤ò»ØÄꤹ¤ë¡£root¤ò»ØÄꤹ¤ë¤È¥ë¡¼¥È¥¦¥£¥ó¥É¥¦ (²èÌÌÁ´ÂÎ) ¤ò¥À¥ó¥×¤¹¤ë¡£
>> ¥³¥Þ¥ó¥É xwininfo *
-frame ¥¦¥£¥ó¥É¥¦¥Þ¥Í¡¼¥¸¥ã¤¬¤Ä¤±¤ë¥¦¥£¥ó¥É¥¦ÏȤâÊݸ¤¹¤ë¡£
-monochrome Çò¹õ²èÁü¤ÇÊݸ

% import -window 0x10000d window.jpg
¢Í ¥¦¥£¥ó¥É¥¦ ID ¤¬ 0x10000d ¤Î¥¦¥£¥ó¥É¥¦¤ò (JPEG ·Á¼°¤Ç) window.jpg ¤ËÊݸ¤¹¤ë¡£
>> ¥³¥Þ¥ó¥É xwd *   display *   ImageMagick *

imsmap¡¡¥Õ¥é¥¯¥¿¥ë²èÁü¤òÉÁ¤¯

>> ¥³¥Þ¥ó¥É xscreensaver *

indent¡¡C ¤Î¥½¡¼¥¹¤òÀ°·Á¤¹¤ë (¥Ñ¥¤¥×)

C ¸À¸ì¤Î¥½¡¼¥¹¤Î¥¤¥ó¥Ç¥ó¥È¡¦³ç¸Ì¤ÎÉÕ¤±Êý¤Ê¤É¤òÊѹ¹¤¹¤ë¡£
% indent foo.c
foo.c ¤òľÀܽñ¤­´¹¤¨¤ë¡£foo.c¤Ïfoo.c.BAK¤È¤¤¤¦¥Õ¥¡¥¤¥ë̾¤ËÃÖ¤­´¹¤¨¤é¤ì¤ë¡£
% indent foo.c bar.c
foo.c ¤òÀ°·Á¤·¤¿¤â¤Î¤òbar.c¤Ë½ñ¤­¹þ¤à¡£foo.c ¤ÏÊѲ½¤·¤Ê¤¤¡£

¥ª¥×¥·¥ç¥ó:
-br ¥Ö¥é¥±¥Ã¥È¤ÎÉÕ¤±Êý¤ò
if (...){
...
}
¤È¤¤¤¦·Á¤Ë¤¹¤ë
-i¿ô»ú ¥¤¥ó¥Ç¥ó¥È¤¢¤¿¤ê¤Î¥¹¥Ú¡¼¥¹¤Î¿ô¡£¥Ç¥Õ¥©¥ë¥È¤Ï4¡£
-pcs ´Ø¿ô¤Î `(' Á°¤Ë¥¹¥Ú¡¼¥¹¤òÆþ¤ì¤ë¡£ int foo (); ¤È¤Ê¤ë¡£
-sc ¥³¥á¥ó¥È¤ò
/*
* ......
*/
¤È¤¤¤¦·Á¼°¤Ë¤¹¤ë¡£
-nsc ¥³¥á¥ó¥È¤ò
/*
......
*/
¤È¤¤¤¦·Á¼°¤Ë¤¹¤ë¡£
>> ¥³¥Þ¥ó¥É gcc *

inetd¡¡¥Ý¡¼¥È¤ò¸«Ä¥¤ê¡¢¥¯¥é¥¤¥¢¥ó¥È¤«¤é¤Î¥ê¥¯¥¨¥¹¥È¤¬¤¢¤ë¤È¥µ¡¼¥Ð¥×¥í¥°¥é¥à¤òµ¯Æ°¤¹¤ë¡£

°ì¸ý¤Ç¥µ¡¼¥Ð¤È¤¤¤Ã¤Æ¤â¡¢ftp ¥µ¡¼¥Ð¡¢rsh ¥µ¡¼¥Ð¡¢rlogin ¥µ¡¼¥Ð¡¢rcp ¥µ¡¼¥Ð¡¢WWW ¥µ¡¼¥Ð¡¢telnet ¥µ¡¼¥Ð¡¢SMTP ¥µ¡¼¥Ð¡¢finger ¥µ¡¼¥Ð¡¢pop3 ¥µ¡¼¥Ð¤Ê¤É¤¤¤í¤¤¤í¤¢¤ë¡£¤³¤ì¤é¤Î¥µ¡¼¥Ð¥×¥í¥°¥é¥à¤òÁ´¤Æ¾ïÃ󤵤»¤Æ¤ª¤¯¤È¡¢¥á¥â¥ê¤Ï¶ô¤¦¤·Éé²Ù¤Ï¤«¤«¤ë¤·¤Ç¤¢¤Þ¤ê¤¤¤¤¤³¤È¤Ï¤Ê¤¤¡£

¤½¤³¤Ç inetd ¤Ï¥¯¥é¥¤¥¢¥ó¥È¤«¤é¤ÎÍ×µá¤ò¸«Ä¥¤ê¡¢¤½¤Î¥¯¥é¥¤¥¢¥ó¥È¤ËÂбþ¤¹¤ëÍ׵᤬¤¢¤Ã¤¿»þÅÀ¤Ç½é¤á¤Æ¥µ¡¼¥Ð¥×¥í¥°¥é¥à¤òµ¯Æ°¤¹¤ë¡£

ÉáÄÌ¡¢inetd ¤Ï¥Ö¡¼¥È»þ¤Ë¼«Æ°Åª¤Ëµ¯Æ°¤µ¤ì¤ë¡£ÀßÄê¥Õ¥¡¥¤¥ë¤Ï /etc/inetd.conf¡£
>> ÀßÄê¥Õ¥¡¥¤¥ë /etc/inetd.conf *   netstat *

info¡¡info ¥É¥­¥å¥á¥ó¥È±ÜÍ÷¥Ä¡¼¥ë

¼ç¤Ë GNU ¤¬ÇÛÉÛ¤¹¤ë¥×¥í¥°¥é¥à¤Î¿¤¯¤Ï man ¤Ç¤Ï¤Ê¤¯ info ¤Ë¾ÜºÙ¤Ê¥Þ¥Ë¥å¥¢¥ë¤¬µ­ºÜ¤µ¤ì¤Æ¤¤¤ë¡£Ã±¤Ë
% info
¤È¤¹¤ë¤È°Ê²¼¤Î¤è¤¦¤Ê emacs ¥é¥¤¥¯¤Ê²èÌ̤ˤʤꡢ¥Þ¥·¥óÆâ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ëÁ´ info ¥Õ¥¡¥¤¥ë¤Î°ìÍ÷¤¬É½¼¨¤µ¤ì¤ë¡£
File: dir,      Node: Top       This is the top of the INFO tree

This (the Directory node) gives a menu of major topics.
Typing "q" exits, "?" lists all Info commands, "d" returns here,
"h" gives a primer for first-timers,
"mEmacs" visits the Emacs manual, etc.

In Emacs, you can click mouse button 2 on a menu item or cross reference to select it.

* Menu:

Programming & development tools.
* As: (as).                     The GNU assembler.
* Binutils: (binutils).         The GNU binary utilities.
* Bzip2: (bzip2).               A program and library for data compression.
* CVS: (cvs).          Concurrent Versions System
* Gas: (as).                    The GNU assembler.
(ά)
-----Info: (dir)Top, 198 lines --Top----------------------------------------------
¥¢¥¹¥¿¥ê¥¹¥¯ `*' ¤¬ÉÕ¤¤¤Æ¤¤¤ë¹Ô¤¬Ê̥Ρ¼¥É¤Ø¤Î¥ê¥ó¥¯¤Ç¤¢¤ë (¥Î¡¼¥É ¢â ¥Ú¡¼¥¸)¡£Ê̥Ρ¼¥É¤Ë°Üư¤¹¤ë¤Ë¤Ï¥«¡¼¥½¥ë¤òÁÀ¤¤¤Î¥ê¥ó¥¯¤Ë¹ç¤ï¤»¡¢Enter ¥­¡¼¤ò²¡¤¹¡£

¥«¡¼¥½¥ë°Üư¡¦¸¡º÷¡¦¥¦¥£¥ó¥É¥¦Ê¬³ä¤Ê¤É¤Ï emacs ¸ß´¹¤Ç¤¢¤ë¤¬¡¢ÊÔ½¸µ¡Ç½¤Ê¤É¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤¡£emacs ¤Ë¤³¤À¤ï¤ë¤Ê¤é¡¢emacs ¾å¤Ç M-x info ¤È¤·¤Æ info-mode ¤òÍøÍѤ¹¤ë¼ê¤â¤¢¤ë¡£¤¿¤À¤·Èù̯¤Ë info ¥³¥Þ¥ó¥É¤È emacs ¤Î info-mode ¤ÎÁàºîÊýË¡¤Ï°Û¤Ê¤ë¤è¤¦¤À¡£
>> ¥³¥Þ¥ó¥É mule *

¤½¤Î¾¤Î¥­¡¼¥Ð¥¤¥ó¥É¤Ï¡¢ºÇÄã°Ê²¼¤Î¤â¤Î¤òÃΤäƤª¤¤¤Æ¤Û¤·¤¤¡£
  • SPACE ¥Ú¡¼¥¸¤ò²¼¤Ë¥¹¥¯¥í¡¼¥ë¤µ¤»¤ë¡£¥Ú¡¼¥¸ËöÈø¤Þ¤ÇÅþ㤷¤¿¤é¼¡¤Î¥Î¡¼¥É¤Ø°Üư
  • n ¼¡¤Î¥Î¡¼¥É¤Ø°Üư (next)
  • p ¼¡¤Î¥Î¡¼¥É¤Ø°Üư (previous)
  • l ºÇ¸å¤Ë±ÜÍ÷¤·¤Æ¤¤¤¿¥Î¡¼¥É (Á°¥Ú¡¼¥¸) ¤Ø°Üư (last)
  • u ³¬Áع½Â¤¤ò°ÌÃÖÃʳ¬¾å¤¬¤ë (up)
  • q info ¥³¥Þ¥ó¥É¤ò½ªÎ»¤¹¤ë (quit)

¤Ê¤ª¡¢--vi-keys ¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤Æ info ¤òµ¯Æ°¤¹¤ë¤³¤È¤Ç¡¢vi ¥é¥¤¥¯¤Ê¥­¡¼¥Ð¥¤¥ó¥É¤È¤Ê¤ë¡£

info ¤Ë°ú¿ô¤òÍ¿¤¨¤ë¤³¤È¤Ç¡¢»ØÄꤷ¤¿ info ¥Õ¥¡¥¤¥ë¤òľÀܱÜÍ÷¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
% info gcc
% info as
info ¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤»¤º¡¢man ¤¬Â¸ºß¤¹¤ë¾ì¹ç¤Ï¡¢man ¤Î½ÐÎϤò¤½¤Î¤Þ¤Þ info ¾å¤Çɽ¼¨¤¹¤ë¡£
% info mount
¢Í mount.info ¤¬Â¸ºß¤·¤Ê¤¤¤¿¤á¡¢mount(8) ¤Î·ë²Ì¤òɽ¼¨¤¹¤ë¡£

¡üTexinfo ¤È Info ¤Ë¤Ä¤¤¤Æ
Texinfo ¤È¤¤¤¦¥É¥­¥å¥á¥ó¥ÈºîÀ®¥Ä¡¼¥ë¤¬Â¸ºß¤¹¤ë¡£Texinfo ·Á¼°¤Î¥Õ¥¡¥¤¥ë (³ÈÄ¥»Ò¤Ï .texi) ¤ò 1¤Ä¤À¤±ºîÀ®¤¹¤ì¤Ð¡¢°õºþÍѥޥ˥奢¥ë¤È¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤ËÊÑ´¹¤Ç¤­¤ë¡£¤³¤Î Texinfo ¥Õ¥¡¥¤¥ë¤Ï¡¢makeinfo ¤È¤¤¤¦¥³¥Þ¥ó¥É¤Ç info ¥Õ¥¡¥¤¥ë¤ËÊÑ´¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë (³ÈÄ¥»Ò¤Ï .info)¡£¤³¤Î info ¥Õ¥¡¥¤¥ë¤ò±ÜÍ÷¤¹¤ë¥×¥í¥°¥é¥à¤¬ info ¥³¥Þ¥ó¥É¤Ç¤¢¤ë¡£info ¥Õ¥¡¥¤¥ë¤Ï info2html ¤È¤¤¤¦¥Ä¡¼¥ë¤Ç HTML ²½¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

¤É¤¦¤Ç¤â¤¤¤¤¤¬¡¢Åö¥Ú¡¼¥¸´ÉÍý¿Í¤¬°ìÈÖ·ù¤¤¤Ê UNIX ¥³¥Þ¥ó¥É¤¬ info ¤Ç¤¢¤ë¡£Í­±×¤Ê¾ðÊó¤¬ info Æâ¤Ë¤¢¤ë¤Î¤Ë¡¢¸«¤Å¤é¤¤¤·¡¢Áàºî¤·¤Å¤é¤¤¤«¤é¡£info2html ¤ÎÅǤ¯ HTML ¤â·ù¤¤¡£À¤¤Î¿Í¡¹¤Ï info ¤ËËþ­¤·¤Æ¤¤¤ë¤Î¤À¤í¤¦¤«?
>> ¥³¥Þ¥ó¥É man *

init¡¡¥í¥°¥¤¥ó½èÍý¤Î½é´ü²½

UNIX ¤Ç°ìÈֺǽé¤Ë¼Â¹Ô¤µ¤ì¤ë¥×¥í¥»¥¹¤¬ init ¤Ç¤¢¤ë¡£Á´¤Æ¤Î¥×¥í¥»¥¹¤Ï init ¤«¤é fork/exec ¤µ¤ì¤ÆºîÀ®¤µ¤ì¤ë¡£

init ¤ÏºÇ½é¤Ë sh ¥¹¥¯¥ê¥×¥È /etc/rc ¤ò¼Â¹Ô¤¹¤ë¡£/etc/rc ¤ÎÃæ¤Ç¤Ï
  • /etc/fstab ¤ò»²¾È¤·¤Ê¤¬¤é /¡¢/usr¡¢/var ¤Ê¤É¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¥Þ¥¦¥ó¥È¤¹¤ë
  • /etc/rc.network ¤ä /etc/rc.serial ¤ò¼Â¹Ô¤¹¤ë
  • ¥Û¥¹¥È¤ÎÀßÄê¥Õ¥¡¥¤¥ë /etc/rc.conf ¤òÆÉ¤ß¹þ¤ß¡¢¤½¤ÎÆâÍÆ¤Ë½¾¤Ã¤Æ sendmail ¤Ê¤É¤Î<li>³Æ¼ï¥Ç¡¼¥â¥ó¡¦/usr/local/etc/rc.d/*.sh ¤ò¼Â¹Ô¤¹¤ë¡£
¤¬½ç¤Ë¹Ô¤ï¤ì¤ë¡£

init ¤ÏºÇ¸å¤Ë /etc/ttys ¤ò»²¾È¤·¤Ä¤Ä /usr/libexec/getty ¤ò¼Â¹Ô¤¹¤ë¡£FreeBSD ¤Ç¤Î¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢getty ¤¬ 3¤Äµ¯Æ°¤µ¤ì¤ë¡£getty ¤Ï
Login:
¤Èɽ¼¨¤·¡¢¥æ¡¼¥¶Ì¾¤¬ÆþÎϤµ¤ì¤ë¤Î¤òÂԤġ£¥æ¡¼¥¶Ì¾¤¬¼Â¹Ô¤µ¤ì¤ë¤È¡¢getty ¤Ï login ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¡£Î㤨¤Ð hoge ¤È¤¤¤¦¥æ¡¼¥¶Ì¾¤¬ÆþÎϤµ¤ì¤ë¤È
/usr/bin/login -p hoge
¤ò¼Â¹Ô¤¹¤ë¡£

login ¥³¥Þ¥ó¥É¤Ï
Password:
¤Èɽ¼¨¤·¡¢¥Ñ¥¹¥ï¡¼¥ÉÆþÎϤòÂԤġ£¥Ñ¥¹¥ï¡¼¥É¤¬ÆþÎϤµ¤ì¤¿¤é¡¢ÆÀ¤é¤ì¤¿¥æ¡¼¥¶Ì¾¤È¥Ñ¥¹¥ï¡¼¥É¤ò¾È¹ç¤·¡¢/etc/master.passwd (¼ÂºÝ¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹²½¤µ¤ì¤¿ /etc/spwd.db) ¤È¾È¤é¤·¹ç¤ï¤»¤ÆÀµ¤·¤¤¥Ñ¥¹¥ï¡¼¥É¤«¤É¤¦¤«¤òÄ´¤Ù¤ë¡£Àµ¤·¤±¤ì¤Ð¤½¤Î¥æ¡¼¥¶¤Î¥í¥°¥¤¥ó¥·¥§¥ë¤ò¼Â¹Ô¤¹¤ë¤ï¤±¤Ç¤¢¤ë¡£

¥æ¡¼¥¶¤¬¥í¥°¥¢¥¦¥È¤¹¤ë¤È login ¥³¥Þ¥ó¥É¤¬½ªÎ»¤·¡¢init ¤Ë½èÍý¤¬Ìá¤ë¡£¤¹¤ë¤È¡¢init ¤ÏºÆÅÙ getty ¤ò¼Â¹Ô¤·¡¢ºÆ¤Ó¥æ¡¼¥¶¤¬¥í¥°¥¤¥ó¤·¤Æ¤¯¤ë¤Î¤òÂԤġ£

/etc/ttys ¤òÊѹ¹¤¹¤ë¤³¤È¤Ç¡¢xdm ¤ä getty ¤Ê¤É¤ÎºÙ¤«¤ÊÀßÄê¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤­¤ë¡£
>> ÀßÄê¥Õ¥¡¥¤¥ë /etc/ttys *   /etc/passwd *

jcatman¡¡ÆüËܸì¥Þ¥Ë¥å¥¢¥ëÂбþ¤Î catman

FreeBSD ¤Ç¤Ï¡¢ÆüËܸì¥Þ¥Ë¥å¥¢¥ë¤ò catman ¥³¥Þ¥ó¥É¤ÇÀ°·Á¤¹¤ë¤ÈÆüËܸìÉôʬ¤¬²½¤±¤Æ¤·¤Þ¤¦¡£¤³¤Î¾ì¹ç¤Ï jcatman ¥³¥Þ¥ó¥É¤ò»È¤¦¤È¤è¤¤¡£
% jcatman /usr/local/man/ja_JP.EUC/man1
¢Í /usr/local/man/ja_JP.EUC/man1 °Ê²¼¤Î¥Þ¥Ë¥å¥¢¥ë¤òÀ°·Á¤¹¤ë¡£
¾Ü¤·¤¯¤Ï catman ¤Î¹à¤ò»²¾È¡£
>> ¥³¥Þ¥ó¥É catman *   man *   jman *

jlatex¡¡TeX ¥³¥ó¥Ñ¥¤¥é

TeX ¤Î¥½¡¼¥¹¤ò¥¨¥Ç¥£¥¿¤ÇºîÀ®¤·
% jlatex sample.tex
¤È¤¹¤ë¤È sample.dvi ¤¬¤Ç¤­¤ë¡£
% xdvi sample.dvi
¤È¤¹¤ë¤³¤È¤Ç°õºþ»þ¤Î»Å¾å¤ê¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
>> ¥³¥Þ¥ó¥É xdvi *   dvi2ps *   dvi2tty *

jless¡¡ÆüËܸì¤òɽ¼¨¤Ç¤­¤ë less

FreeBSD ¤ÇÆüËܸì¤òɽ¼¨¤¹¤ë¤Ë¤Ï less ¤Ç¤Ï¤Ê¤¯ jless (ja-less) ¤ò»È¤¤¡¢¤µ¤é¤Ë´Ä¶­ÊÑ¿ô LANG ¤ä LESSCHARSET ¤ò
% setenv LANG ja (°Ê²¼ csh¡¦tcsh ¤Î¾ì¹ç)
% setenv LANG japanese
% setenv LESSCHARSET japanese
% setenv LESSCHARSET ja_JP.EUC
% export LANG=ja (°Ê²¼ sh¡¦bash ¤Î¾ì¹ç)
% export LANG=japanese
% export LESSCHARSET=ja
% export LESSCHARSET=japanese
¤Ê¤É¤ÈÀßÄꤹ¤ëɬÍפ¬¤¢¤ë¡£FreeBSD ¤Ê¤é
% setenv LESSCHARSET ja_JP.EUC
¤È¤¹¤ë¤Î¤¬¤è¤¤¤À¤í¤¦¡£

jless ¼«ÂΤÎÀâÌÀ¤Ï less ¤Î¹à¤Ç¹Ô¤¦¡£
>> ¥³¥Þ¥ó¥É less *
>> ´Ä¶­ÊÑ¿ô LANG *

jman¡¡ÆüËܸì¤Î¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¤òɽ¼¨

FreeBSD ¤Î¾ì¹ç¡¢
% setenv LANG ja_JP.EUC
% setenv PAGER jless (ÆüËܸ줬Ä̤ë¥Ú¡¼¥¸¥ã¤ò»ØÄê)
% setenv LESSCHARSET ja (jless ¤ÇÆüËܸ줬ɽ¼¨¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë)
¤È¤·¤Æ
% jman ls
¤È¤¹¤ë¤ÈÆüËܸì¥Þ¥Ë¥å¥¢¥ë¤¬É½¼¨¤µ¤ì¤ë¡£´Ä¶­ÊÑ¿ô LANG ¤òÀßÄꤷ¤Ê¤¤¤È¡¢jman ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤â±Ñ¸ì¥Þ¥Ë¥å¥¢¥ë¤¬É½¼¨¤µ¤ì¤Æ¤·¤Þ¤¦¡£PAGER ¤È LESSCHARSET ¤Ï¡¢ÆüËܸì¤òɽ¼¨¤¹¤ë¤¿¤á¤ÎÀßÄê¡£

Åö¥Ú¡¼¥¸´ÉÍý¿Í¤Ï ~/.cshrc ¤ÎÃæ¤Ë
setenv PAGER jless
setenv LESSCHARSET
alias jman "env LANG=ja_JP.EUC jman"
¤È½ñ¤¤¤Æ¤¤¤ë¡£bash ¤ò»È¤Ã¤Æ¤¤¤ë¤Ê¤é
export PAGER=jless
export LESSCHARSET=ja
alias jman="env LANG=ja_JP.EUC jman"
¤ò ~/.profile ¤Ë½ñ¤¤¤Æ¤ª¤¯¤È¤è¤¤¡£

jman ¥³¥Þ¥ó¥É¤¬Â¸ºß¤»¤º¡¢´Ä¶­ÊÑ¿ô LANG ¤Ë¤è¤Ã¤ÆÆüËܸì¥Þ¥Ë¥å¥¢¥ë¤òɽ¼¨¤¹¤ë¤«¤É¤¦¤«¤ò·è¤á¤ë UNIX ¤â¤¢¤ë (Î㤨¤Ð Solaris)¡£¤½¤Î¾ì¹ç¡¢
% alias jman "env LANG=ja man" (csh¡¦tcsh ¤Î¾ì¹ç)
% alias jman="env LANG=ja man" (sh¡¦bash ¤Î¾ì¹ç)
¤È¤¹¤ë¤³¤È¤Ç¡¢man ¤Ç±Ñ¸ì¥Þ¥Ë¥å¥¢¥ë¡¢jman ¤ÇÆüËܸì¥Þ¥Ë¥å¥¢¥ë¤È¤¤¤¦¤Õ¤¦¤Ë»È¤¤Ê¬¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

¥ª¥ó¥é¥¤¥ó¥Þ¥Ë¥å¥¢¥ë¼«ÂΤÎÀâÌÀ¤Ï man ¤Î¹à¤ò»²¾È¡£
>> ¥³¥Þ¥ó¥É man *   less *   jless *
>> ´Ä¶­ÊÑ¿ô LANG *   PAGER *

jnethack¡¡¥í¡¼¥°É÷¤Î¥²¡¼¥à(ÆüËܸìÈÇ)

¥Æ¥­¥¹¥Èɽ¼¨¤Î¥À¥ó¥¸¥ç¥óõ¸¡¥²¡¼¥à

jobs¡¡¼Â¹ÔÃæ¤Î¥¸¥ç¥Ö¤òɽ¼¨

¡Ö¥¸¥ç¥Ö¡×¤È¤Ï¡¢¥×¥í¥»¥¹¤È»÷¤¿³µÇ°¤Ç¡¢¸½ºß¼Â¹ÔÃæ¤Î¥×¥í¥°¥é¥à¤Î¤³¤È¤ò»Ø¤¹¡£¥¸¥ç¥Ö¤È¥×¥í¥»¥¹¤Î°ã¤¤¤Ï¡¢
% ls | more
¤Î¤è¤¦¤Ê¥Ñ¥¤¥×¤ò»È¤Ã¤¿¾ì¹ç¤Ë¸½¤ì¤ë¡£ls ¤È more ¤Ï¤½¤ì¤¾¤ìÊÌ¤Î¥×¥í¥»¥¹¤À¤¬¡¢ls | more ¤Ï¤Ò¤È¤Ä¤Î¥¸¥ç¥Ö¤Ç¤¢¤ë¡£¾åµ­¤Î¾ì¹ç¡¢ls ¤ò¼Â¹Ô¤·¤¿¤Þ¤Þ more ¤ò»ß¤á¤ë¡¢¤È¤¤¤¦¤è¤¦¤ÊÁàºî¤Ï (Áàºî¤·¤Æ¤¤¤ë¿Í¤Ë¤È¤Ã¤Æ¤Ï) ¤¢¤Þ¤ê°ÕÌ£¤¬¤Ê¤¤¡£Áàºî¤·¤Æ¤¤¤ë¿Í¤ÎΩ¾ì¤«¤é¸«¤Æ¡¢Ê£¿ô¤Î¥×¥í¥»¥¹¤ò¥°¥ë¡¼¥×²½¤·¤¿¤â¤Î¤¬¥¸¥ç¥Ö¤Ç¤¢¤ë¡£

¸½ºß¼Â¹ÔÃæ¤Î¥¸¥ç¥Ö°ìÍ÷¤ò¸«¤ë¾ì¹ç¤Ï jobs ¤ò»È¤¦¡£
% more sample.dat
^Z
¢Í Ctrl-z ¤Ç more ¤òÃæÃÇ
% jobs
[1] + Suspended more sample.dat
¤³¤³¤Ç¹ÔƬ¤Î [1] ¤Ï¥¸¥ç¥ÖÈֹ桢+ ¤Î°õ¤¬ÉÕ¤¤¤Æ¤¤¤ë¤Î¤Ï¥«¥ì¥ó¥È¥¸¥ç¥Ö¤Ç¡¢
°ú¿ô¤Ê¤·¤Ç fg ¤ä bg ¤ò¼Â¹Ô¤¹¤ë¤È¥«¥ì¥ó¥È¥¸¥ç¥Ö¤¬ÂоݤȤʤ롣¤µ¤é¤Ë¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤ß¤è¤¦¡£
% emacs test.c
^Z
¢Í emacs ¤òÃæÃÇ
% jobs
[1] - Suspended more sample.dat
[2] + Suspended mule test.c

% kill %2
[2] Terminated emacs test.c
% fg %1
¢Í more ¤Î½èÍý¤ËÌá¤ë

>> ¥³¥Þ¥ó¥É fg *   bg *   kill *

jot¡¡Ï¢ÈÖ¡¦¥é¥ó¥À¥à¥Ç¡¼¥¿¤òÀ¸À®

1¡Á5 ¤Þ¤Ç¤ÎϢ³¤·¤¿¿ô»úÎó¤òÀ¸À®¤¹¤ë¤Ë¤Ï
% jot 5
1
2
3
4
5
¤È¤¹¤ë¡£³«»ÏÈÖ¹æ¤ò»ØÄꤹ¤ë¤Ë¤Ï°ú¿ô¤ò 2¤Ä»ØÄꤷ¡¢
% jot 5 20 (20¡Á24 ¤Î¿ô»ú¤ò½ÐÎÏ)
¤È¤¹¤ë¡£½ªÎ»ÈÖ¹æ¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢¤µ¤é¤Ë¤â¤¦ 1¤Ä°ú¿ô¤òÄɲ䷤ơ¢
% jot 5 20 100
20
40
60
80
100
¤È¤¹¤ë¡£

-r ¥é¥ó¥À¥à¤Ê 1¡Á100 ¤Î¿ô»úÎó¤òÀ¸À®¤¹¤ë
% jot -r 500
¢Í 1¡Á100 ¤Î¥é¥ó¥À¥à¤Ê¿ô»ú¤ò 500 ¸Äɽ¼¨¤¹¤ë¡£
% jot -r 500 30
¢Í 30¡Á100 ¤Î¥é¥ó¥À¥à¤Ê¿ô»ú¤ò 500 ¸Äɽ¼¨¤¹¤ë¡£
% jot -r 500 30 50
¢Í 30¡Á50 ¤Î¥é¥ó¥À¥à¤Ê¿ô»ú¤ò 500 ¸Äɽ¼¨¤¹¤ë¡£
¥é¥ó¥À¥à¤Ê¡Öʸ»úÎó¡×¤Ç¤Ï¤Ê¤¯¡¢¥é¥ó¥À¥à¤Ê¥Ð¥¤¥Ê¥ê¥Ç¡¼¥¿¤òÀ¸À®¤·¤¿¤¤¾ì¹ç¤Ï¡¢openssl rand ¤ò»È¤¦¤È¤è¤¤¡£
>> ¥³¥Þ¥ó¥É openssl *
-w ½ñ¼°Ê¸»úÎó
printf(3) ¤Ç»ØÄê¤Ç¤­¤ë½ñ¼°Ê¸»úÎó¤òÍ¿¤¨¤ë¤³¤È¤Ç¡¢À¸À®¤¹¤ë¥Ç¡¼¥¿¤Î½ñ¼°¤ò»ØÄê¤Ç¤­¤ë¡£
% jot -w %03d 5
001
002
003
004
005
% touch `jot -w file%03d.txt 999`
¢Í file001.txt¡Áfile999.txt ¤òºîÀ®¤¹¤ë¡£

kakasi¡¡´Á»ú¤ò¤Ò¤é¤¬¤Ê¡¦¥«¥¿¥«¥Ê¡¦¥í¡¼¥Þ»ú¤ËÊÑ´¹

% echo '´Á»ú¤òÊ¿²¾Ì¾¤Ë' | kakasi -JH
¤«¤ó¤¸¤ò¤Ò¤é¤¬¤Ê¤Ë
% echo '´Á»ú¤ò¥«¥¿¥«¥Ê¤Ë' | kakasi -JK
¥«¥ó¥¸¤ò¥«¥¿¥«¥Ê¤Ë
% echo 'Á´¤Æ¤ò¥í¡¼¥Þ»ú¤Ë' | kakasi -Ha -Ka -Ja -Ea -ka
subetewohiraganani

kbdcontrol¡¡¥­¡¼¥Ü¡¼¥É¤Î¼ïÎà¤ò·è¤á¤ë

¥³¥ó¥½¡¼¥ë¤Ç¤Î¥­¡¼¥Ü¡¼¥É¤Î¥¿¥¤¥×¤ò·è¤á¤ë¡£ÉáÄÌ¤Ï /etc/rc.conf ¤Ë½ñ¤¤¤¿ÄêµÁ¤ò¸µ¤Ë¡¢¥Ö¡¼¥È»þ¤Ë /etc/rc.local ¤Ç¥­¡¼¥Ü¡¼¥É¥¿¥¤¥×¤¬¥»¥Ã¥È¤µ¤ì¤ë¡£¼êư¤ÇÀßÄꤷ¤¿¤¤¾ì¹ç¤Ï
% kbdcontrol -l /usr/share/sysconf/keymaps/jp.106x
¤Ê¤É¤È¤¹¤ë (°ìÈ̥桼¥¶¤Ç¤â¼Â¹Ô¤Ç¤­¤ë)¡£

¤³¤ÎÀßÄê¤Ï¡¢X Window System ¾å¤Ë¤ÏÈ¿±Ç¤µ¤ì¤Ê¤¤¡£X ¤Î¥­¡¼¥Ü¡¼¥É¥Þ¥Ã¥×¤òÀßÄꤹ¤ë¤Ë¤Ï¡¢XF86Setup ¥³¥Þ¥ó¥É¤ò»È¤¦¤«¡¢Ä¾ÀÜ /etc/XF86Config ¤ò½ñ¤­´¹¤¨¤ë¤³¤È¡£
>> ÀßÄê¥Õ¥¡¥¤¥ë /etc/rc.conf *   /usr/share/sysconf/keymaps/* *
>> ¥³¥Þ¥ó¥É XF86Setup *

kcon¡¡¥­¡¼¥Ü¡¼¥É¤Î¥³¥ó¥È¥í¡¼¥ë¤È¥Þ¥Ã¥Ô¥ó¥°

kon¡¡¥³¥ó¥½¡¼¥ë¤ÇÆüËܸì¤òɽ¼¨¤¹¤ë

ÉáÄÌ¤Ï X window system ¾å¤Ç¤Ê¤¤¤ÈÆüËܸì¤òɽ¼¨¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¤¬¡¢kon ¤ò»È¤¦¤È X window system ¤¬¤Ê¤¯¤Æ¤âÆüËܸì¤òɽ¼¨¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

kill¡¡¥×¥í¥»¥¹¡¦¥¸¥ç¥Ö¤ò»¦¤¹

¥×¥í¥°¥é¥à¤Îµóư¤¬¤ª¤«¤·¤¯¤Ê¤Ã¤ÆÆþÎϤò¼õ¤±ÉÕ¤±¤Ê¤¯¤Ê¤ê¡¢C-c ¤Ç¤â½ªÎ»¤·¤Ê¤¯¤Ê¤Ã¤¿¾ì¹ç¡¢kill ¤Ç¥·¥°¥Ê¥ë¤òÁ÷¤Ã¤ÆÄä»ß¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

¤Þ¤º ps ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¡¢
% ps axww | grep hoge (BSD ·Ï¤Î¾ì¹ç)
% ps -ef | grep hoge (SystemV ·Ï¤Î¾ì¹ç)
½ªÎ»¤µ¤»¤¿¤¤¥×¥í¥»¥¹¤Î¥×¥í¥»¥¹ÈÖ¹æ¤ò³Îǧ¤¹¤ë¡£¥×¥í¥»¥¹ÈÖ¹æ¤ò³Îǧ¤·¤¿¤é
% kill ¥×¥í¥»¥¹ÈÖ¹æ
¤ò¼Â¹Ô¤¹¤ë¡£¤â¤¦¤¤¤Á¤É ps ¥³¥Þ¥ó¥É¤Ç³Îǧ¤·¤Æ¡¢¤Þ¤À¥×¥í¥»¥¹¤¬À¸¤­¤Æ¤¤¤¿¤é¡¢
% kill -9 ¥×¥í¥»¥¹ÈÖ¹æ
¤È¤¹¤ë¤È³Î¼Â¤Ë½ªÎ»¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

-l ¥·¥°¥Ê¥ë¤Î°ìÍ÷¤òɽ¼¨
% kill -l (°Ê²¼¤Ï FreeBSD ¤Î¾ì¹ç¡£¥·¥°¥Ê¥ë¤Î¼ïÎà¤Ï OS ¤Ë¤è¤Ã¤Æ·ë¹½°ã¤¦)
HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM
URG STOP TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH
INFO USR1 USR2
¼çÍ×¥·¥°¥Ê¥ë¤ÎÀâÌÀ
  • INT ÃæÃÇ(¥¤¥ó¥¿¥é¥×¥È)¡£¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç C-c ¤¹¤ë¤ÈÁ÷¤é¤ì¤ë¥·¥°¥Ê¥ë¡£
  • TERM ¥×¥í¥»¥¹¤ò½ªÎ»¤µ¤»¤ë¡£¥·¥°¥Ê¥ë̾¤ò»ØÄꤷ¤Ê¤¤¤È TERM ¤¬Á÷¤é¤ì¤ë¡£
  • STOP ¥×¥í¥»¥¹¤òÃæÃǤµ¤»¤ë¡£CONT ¤ÇºÆ³«¤Ç¤­¤ë¡£C-z ¤Î¥µ¥¹¥Ú¥ó¥É¤ÈƱ¤¸¡£
  • HUP ²óÀþÀÚÃÇ¡£¥Ç¡¼¥â¥ó¥×¥í¥»¥¹ (apache ¤ä inetd ¤Ê¤É)¤òºÆµ¯Æ°¤µ¤»¤ë¾ì¹ç¤Ë¤è¤¯»È¤ï¤ì¤ë¡£
  • CONT STOP¤ÇÃæÃǤ·¤¿¥×¥í¥»¥¹¤òºÆ³«¤µ¤»¤ë¡£
  • KILL ¥×¥í¥»¥¹¤ò¶¯À©½ªÎ»¤µ¤»¤ë¡£
¥·¥°¥Ê¥ë¤Ï¥·¥°¥Ê¥ë̾¤Ç»ØÄꤷ¤Æ¤â¤è¤¤¤·¡¢¥·¥°¥Ê¥ë¤ÎÈÖ¹æ¤Ç¤â¤è¤¤¡£Î㤨¤Ð HUP ¥·¥°¥Ê¥ë¤Ï 1ÈÖ (kill -l ¤Ç 1ÈÖÌܤËɽ¼¨¤µ¤ì¤ë¤«¤é) ¤Ê¤Î¤Ç¡¢
% kill -HUP ¥×¥í¥»¥¹ÈÖ¹æ
% kill -1 ¥×¥í¥»¥¹ÈÖ¹æ
¤Ï¡¢¤É¤Á¤é¤âƱ¤¸¤Ç¤¢¤ë¡£¤Þ¤¿¡¢kill -KILL ¤È kill -9 ¤âƱ¤¸¤Ç¤¢¤ë¡£¤Ê¤ª¡¢¥·¥°¥Ê¥ë̾ (¤ä¥·¥°¥Ê¥ëÈÖ¹æ) ¤ò¾Êά¤·¤¿¤È¤­¤Ï SIGTERM ¥·¥°¥Ê¥ë¤¬»È¤ï¤ì¤ë¤Î¤Ç¡¢
% kill ¥×¥í¥»¥¹ÈÖ¹æ
% kill -TERM ¥×¥í¥»¥¹ÈÖ¹æ
¤Ï¡¢Æ±¤¸°ÕÌ£¤Ç¤¢¤ë¡£

¥×¥í¥°¥é¥à¤Î½ñ¤­Êý¼¡Âè¤Ç¡¢¥×¥í¥»¥¹¤¬¥·¥°¥Ê¥ë¤ò¼õ¤±¤Æ¤â¡¢¤½¤ì¤ò̵»ë¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤ë¡£Î㤨¤Ð HUP ¥·¥°¥Ê¥ë¤ò¥Ö¥í¥Ã¥¯¤·¤Æ¤¤¤ì¤Ð¡¢C-c ¤Ç½ªÎ»¤·¤Ê¤¤¤è¤¦¤Ë¤Ç¤­¤ë¡£¤·¤«¤·¥Ö¥í¥Ã¥¯¤Ç¤­¤Ê¤¤¥·¥°¥Ê¥ë¤¬°ì¤Ä¤À¤±¤¢¤ë¡£¤½¤ì¤Ï KILL ¥·¥°¥Ê¥ë (-9) ¤Ç¡¢¤³¤Î¥·¥°¥Ê¥ë¤ò¼õ¤±¤ë¤È¡¢¤¢¤é¤æ¤ë¥×¥í¥»¥¹¤Ï OS ¤Ë¤è¤Ã¤Æ¶¯À©Åª¤Ë½ªÎ»¤µ¤»¤é¤ì¤ë¡£
>> ¥³¥Þ¥ó¥É fg *   bg *   killall *   ps *   suspend *   xkill *

killall¡¡¥³¥Þ¥ó¥É̾¤ò»ØÄꤷ¤Æ kill

°Ê²¼¤Ï¡¢BSD¡¦Linux ¤Î killall ¤ÎÀâÌÀ¤Ç¤¢¤ë¡£

¥ª¥×¥·¥ç¥ó:
-l ¥·¥°¥Ê¥ë°ìÍ÷¤òɽ¼¨
-m ¥³¥Þ¥ó¥É̾¤òÀµµ¬É½¸½¤Ç»ØÄꤹ¤ë
-s ¥·¥°¥Ê¥ë¤òÁ÷¤ë¥×¥í¥»¥¹¤òɽ¼¨¤¹¤ë¡£¼ÂºÝ¤Ë¤Ï¥·¥°¥Ê¥ë¤ÏÁ÷¤é¤Ê¤¤¡£

¤Þ¤º kterm ¤ò¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¼Â¹Ô¤¹¤ë¡£
% kterm &
[1] 4985
kterm ¤ò kill ¤·¤¿¤¯¤Ê¤Ã¤¿¤¬¡¢ps ¤Ç¥×¥í¥»¥¹ ID ¤òÄ´¤Ù¤ë¤Î¤¬ÌÌÅݤǤ¢¤ë¡£¤½¤³¤Ç killall ¤ò»È¤¦¡£¤Þ¤º¤Ï -s ¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤Æ¡¢¤É¤Î¥×¥í¥»¥¹¤Ë¥·¥°¥Ê¥ë¤¬Á÷¤é¤ì¤ë¤«³Îǧ¤¹¤ë¡£
% killall -s kterm
kill -TERM 4985
º£ÅÙ¤ÏËÜÅö¤Ë kterm ¤ò kill ¤¹¤ë¡£
% killall kterm

inetd ¤òºÆµ¯Æ°¤¹¤ë¾ì¹ç¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤¹¤ë¡£
# killall -HUP inetd

¤â¤·»ØÄê¤Î¥³¥Þ¥ó¥É¤Ë³ºÅö¤¹¤ë¤â¤Î¤¬Ê£¿ô¸Ä¤¢¤ë¾ì¹ç¤Ï¡¢Á´¤Æ¤Î¥×¥í¥»¥¹¤Ë¥·¥°¥Ê¥ë¤òÁ÷¤ë¡£¤À¤«¤é¾å¤ÎÎã¤ò X ¾å¤Î kterm ¤«¤é¼Â¹Ô¤¹¤ë¤È¡¢Á´¤Æ¤Î kterm ¤¬½ªÎ»¤·¤Æ¤·¤Þ¤¦¡£

killall ¤Î¥ª¥×¥·¥ç¥ó¤òÊ£¿ô»ØÄꤹ¤ë¤È¤­¤Ï
% killall -ms
¤Ê¤É¤È¤»¤º¤Ë
% killall -m -s
¤È¤·¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£

Solaris ¤Î killall ¤Ï¡¢Á´¥×¥í¥»¥¹¤ò½ªÎ»¤µ¤»¤ë¥³¥Þ¥ó¥É¤Ç¤¢¤ë¡£¤³¤ì¤Ï root ¸¢¸Â¤¬¤Ê¤¤¤È¼Â¹Ô¤Ç¤­¤Ê¤¤¡£
% su
# killall
¤È¤¹¤ë¤À¤±¤Ç¡¢daemon ¤ò´Þ¤à¤Û¤È¤ó¤É¤Î¥×¥í¥»¥¹¤¬½ªÎ»¤·¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢BSD¡¦Linux ¤Î killall ¤Ë´·¤ì¤Æ¤¤¤ë¿Í¤ÏÃí°Õ¤·¤¿Êý¤¬¤è¤¤¤À¤í¤¦¡£
>> ¥³¥Þ¥ó¥É kill *

kinput2¡¡ÆüËܸì¤òÆþÎϤ¹¤ë¤¿¤á¤Î¥Ä¡¼¥ë¡£

kterm¡¡¥¿¡¼¥ß¥Ê¥ë¥¨¥ß¥å¥ì¡¼¥¿¡£xterm ¤ÎÆüËܸìÂбþÈÇ

ÉáÄ̤Ϥ³¤Î¾å¤Ç¥·¥§¥ë (tcsh ¤ä bash ¤Ê¤É) ¤ò¼Â¹Ô¤·¡¢¤¤¤í¤¤¤í¤Ê¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¡£Íפϡ¢kterm ¤Ï²èÌ̾å¤Ëʸ»úÎó¤òɽ¼¨¤¹¤ë¤¿¤á¤Î¥×¥í¥°¥é¥à¤Ç¤¢¤ë¡£¤³¤ì¤òüËö¥¨¥ß¥å¥ì¡¼¥¿¤È¸À¤¦¡£

Ctrl ¥­¡¼¤ò²¡¤·¤Ê¤¬¤é¡¢¥Þ¥¦¥¹¤Î³Æ¥Ü¥¿¥ó¤ò²¡¤¹¤³¤È¤Ç¥á¥Ë¥å¡¼¤¬½Ð¤Æ¤¯¤ë¡£ÃΤé¤Ê¤¤¤Èº¤¤ë¤Î¤¬¡¢¡ÖCtrl+¥Þ¥¦¥¹¤Î¿¿¤óÃæ¥Ü¥¿¥ó¡×¤Çɽ¼¨¤µ¤ì¤ë¡ÖVT Options¡×¤ÎÃæ¤Î¡ÖDo Full Reset¡×¡£¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ë¤òɽ¼¨¤¹¤ë¤È (Î㤨¤Ð¸í¤Ã¤Æ cat /bin/ls ¤ò¼Â¹Ô¤·¤¿¾ì¹ç)¡¢²èÌ̤¬²½¤±¤¿¤Þ¤Þ¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¦¤³¤È¤¬¤¢¤ë¡£¤³¤¦¤¤¤¦¤È¤­¤Ë¡ÖDo Full Reset¡×¤ò¹Ô¤¦¤³¤È¤Ç¡¢²óÉü¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

-T str ¥¦¥£¥ó¥É¥¦¤Î¥¿¥¤¥È¥ë¤ò»ØÄꤹ¤ë¡£¾Êά¤¹¤ë¤È¡Ökterm¡×¤È¤Ê¤ë¡£
-fn fontname ¥Õ¥©¥ó¥È̾
-fb fontname ÂÀ»ú (bold) ¤Î¥Õ¥©¥ó¥È̾
-fk fontname ´Á»ú¥Õ¥©¥ó¥È̾
-fkb fontname ÂÀ»ú (bold) ¤Î´Á»ú¥Õ¥©¥ó¥È̾
-fr fontname JIS X 0201 ¤Î¥Õ¥©¥ó¥È¡£
JIS X 0201 ¤ÏASCII ¥³¡¼¥É¤È»÷¤Æ¤¤¤ë¤¬Èù̯¤Ë°ã¤¦¡£¤è¤¯¤ï¤«¤é¤Ê¤¤¾ì¹ç¤Ï -fn ¤ÈƱ¤¸¥Õ¥©¥ó¥È¤ò»ØÄꤹ¤ë¤³¤È¡£»ØÄê²Äǽ¤Ê¥Õ¥©¥ó¥È¤Ï xlsfonts ¤Ê¤É¤ÇÄ´¤Ù¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
>> ¥³¥Þ¥ó¥É xlsfonts *
-km kanjimode
´Á»ú¥³¡¼¥É¤ò»ØÄꤹ¤ë¡£kterm ¤Ï JIS ¥³¡¼¥É (ISO-2022-JP) ¤Ï¤¤¤Ä¤Ç¤â½ÐÎϤǤ­¤ë¤¬¡¢EUC ¤È SJIS ¤Î¼«Æ°È½ÊÌ¤ÏÆñ¤·¤¤¤¿¤á¡¢EUC ¤È SJIS ¤Î¤É¤Á¤é¤òɽ¼¨¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤«¤Ï¥æ¡¼¥¶¤¬Áª¤Ð¤Ê¤¯¤Æ¤Ï¤¤¤±¤Ê¤¤¡£
% kterm -km euc
¤È¤¹¤ë¤È¡¢JIS ¤È EUC ¤òɽ¼¨¤Ç¤­¤ë¡£°ìÊý
% kterm -km sjis
¤À¤È¡¢JIS ¤È SJIS ¤¬É½¼¨¤Ç¤­¤ë¡£¤³¤Î´Á»ú¥â¡¼¥É¤Ï kterm ¾å¤Ç
¡ÖCtrl+¥Þ¥¦¥¹¤Î¿¿¤óÃæ¥Ü¥¿¥ó¡×
¤Ç³«¤¯¥á¥Ë¥å¡¼¤ÎÃæ¤Ç¡¢¡ÖJapanese EUC Mode¡×¡ÖShift-JIS Mode¡×¤òÁªÂò¤¹¤ë¤³¤È¤Ç kterm ¼Â¹ÔÃæ¤ËÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

UNIX ¾å¤Ç¤Ï EUC ¤ò»È¤¦¤³¤È¤ÎÊý¤¬Â¿¤¤¤Î¤Ç¡¢ÉáÄÌ¤Ï EUC ¥â¡¼¥É¤Ë¤·¤Æ¤ª¤¯¤È¤è¤¤¤À¤í¤¦¡£¤¿¤À¤·¤½¤Î¾ì¹ç¤Ï SJIS ¤Î¥Õ¥¡¥¤¥ë¤ò cat ¥³¥Þ¥ó¥É¤Ê¤É¤Çɽ¼¨¤¹¤ë¤È²½¤±¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢
% cat sjis-flie | nkf -e
¤È¤¹¤ë¤«¡¢cat ¤ò»È¤ï¤º mule ¤ä less ¥³¥Þ¥ó¥É¤Ç¥Õ¥¡¥¤¥ë¤ò¸«¤ë¤È¤è¤¤¡£
>> ¥³¥Þ¥ó¥É nkf *
-C ¥³¥ó¥½¡¼¥ë¤Î¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë (/dev/console °¸¤Ë½ÐÎϤµ¤ì¤¿Ê¸»ú¤â½ÐÎϤµ¤ì¤ë¤è¤¦¤Ë¤Ê¤ë)
>> ¥³¥Þ¥ó¥É xconsole *
-cr colorname ¥«¡¼¥½¥ëÉôʬ¤Î¿§¤ò»ØÄꤹ¤ë¡£
-hc colorname ¥Þ¥¦¥¹¤Ç¥É¥é¥Ã¥°¤·¤¿Éôʬ¤Î¿§¤ò»ØÄꤹ¤ë¡£
¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï xterm ¤Î¤ß»ÈÍѲĤǡ¢kterm ¤Ç¤Ï»È¤¨¤Ê¤¤¤é¤·¤¤¡£¿§¤Î̾Á°¤Ï showrgb¡¦xcolors ¤Ê¤É¤ÇÄ´¤Ù¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
>> ¥³¥Þ¥ó¥É showrgb *   xcolors *
-b ¿ô»ú kterm ÆâÉô¤Îü¤«¤é¡¢¥¦¥£¥ó¥É¥¦¼«ÂΤÎü¤Þ¤Ç¤Î¥É¥Ã¥È¿ô¡£
-e ¥³¥Þ¥ó¥É
kterm ¤ò¼Â¹Ô¤¹¤ë¤È¡¢¤½¤Î¥¦¥£¥ó¥É¥¦¤ÎÃæ¤Ç»ØÄꤷ¤¿¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¡£
% kterm -e top
¤Ê¤É¤È»ØÄꤹ¤ë¡£¤½¤Î¥×¥í¥°¥é¥à¤¬½ªÎ»¤¹¤ë¤È¼«Æ°Åª¤Ë kterm ¤âÊĤ¸¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢
% kterm -e cal
¤Ï¡¢cal ¤Î¼Â¹Ô¤¬½ª¤ë¤È°ì½Ö¤Ç kterm ¤âÊĤ¸¤Æ¤·¤Þ¤¦¡£¤½¤¦¤¤¤¦¤È¤­¤Ï¡¢
% kterm -e sh -c 'cal; exec sh' (¥·¥§¥ë¤¬µ¯Æ°¤¹¤ë)
% kterm -e sh -c 'cal; read line' (Enter ¥­¡¼¤ò²¡¤¹¤È½ªÎ»)
¤È¤¹¤ì¤Ð¤è¤¤¡£

¤Þ¤¿¡¢-e ¥ª¥×¥·¥ç¥ó¤Ï
% kterm -cr red -e top
¤Î¤è¤¦¤ËºÇ¸å¤Ë»ØÄꤹ¤ë¤³¤È¡£
% kterm -e top -cr red
¤Ç¤Ï¤¦¤Þ¤¯¤¤¤«¤Ê¤¤¡£
-mc ¿ô»ú ¥Þ¥¦¥¹¥¯¥ê¥Ã¥¯¤ÎºÝ¤Ë¡¢¥À¥Ö¥ë/¥È¥ê¥×¥ë¥¯¥ê¥Ã¥¯¤Èǧ¼±¤µ¤ì¤ëºÇÂç»þ´Ö¤ò»ØÄꤹ¤ë¡£
% kterm -mc 300
¤È¤¹¤ë¤È¡¢300¥ß¥êÉà (0.3ÉÃ) ¤ò±Û¤¨¤ë¤È¡¢¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤È¤Ïǧ¼±¤µ¤ì¤Ê¤¤¡£
-sb ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤òɽ¼¨¤¹¤ë
¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤òÁàºî¤¹¤ë¤³¤È¤Ç¡¢²èÌ̤«¤é¥¹¥¯¥í¡¼¥ë¤·¤Æ¤·¤Þ¤Ã¤¿Éôʬ¤ò»²¾È¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤¬É½¼¨¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ï¡¢¡ÖCtrl+¥Þ¥¦¥¹¤Î¿¿¤óÃæ¥Ü¥¿¥ó¡×¤ò²¡¤·¤Æ°ìÈÖ¾å¤Î¡ÖEnable Scrollbar¡×¤òÁªÂò¤¹¤ë¤È¡¢¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤¬É½¼¨¤µ¤ì¤ë¡£-sb ¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤ë¤È¡¢ºÇ½é¤«¤é¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤¬É½¼¨¤µ¤ì¤ë¡£

¤Þ¤¿¡¢¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤òÁàºî¤·¤Ê¤¯¤Æ¤â¡¢Shift+PageUp¡¦Shift+PageDown ¤Ç kterm ¤Î²èÌ̤òÁ̤뤳¤È¤¬¤Ç¤­¤ë¡£
-sl ¿ô»ú ¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤ÇÌá¤ë¤³¤È¤¬¤Ç¤­¤ë¹Ô¿ô¤ò»ØÄꤹ¤ë¡£
¤¿¤Þ¤Ë¡¢¤â¤Ã¤ÈÌá¤ê¤¿¤¤¤Î¤À¤¬¡¢¤³¤ì°Ê¾åÌá¤ì¤Ê¤¤¤È¤¤¤¦¾õ¶·¤¬¤¢¤ë¡£ºÇ¶á¤Î¥Þ¥·¥ó¤Ï½áÂô¤Ê¥á¥â¥ê¤òÀѤó¤Ç¤¤¤ë¤Î¤Ç¡¢1000 ¹ÔÄøÅÙ»ØÄꤷ¤Æ¤ª¤¤¤¿Êý¤¬¤è¤¤¤À¤í¤¦¡£¥Ç¥Õ¥©¥ë¥È¤Ï 64 ¹Ô¡£
-r ʸ»ú¿§¤ÈÇØ·Ê¿§¤òµÕ¤Ë¤¹¤ë

°Ê²¼¤Ï¥ê¥½¡¼¥¹ÀßÄê¡£~/.Xdefaults ¤ä ~/.Xresources ¤Ëµ­½Ò¤¹¤ë¤³¤È¡£
>> ÀßÄê¥Õ¥¡¥¤¥ë ~/.Xdefaults *   ~/.Xresources *
charClass
kterm ¤Îʸ»ú¾å¤Ç¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤·¤¿¾ì¹ç¡¢°ìÄêÈϰϤÎʸ»úÎ󤬥«¥Ã¥È¥Ð¥Ã¥Õ¥¡¤ËÆþ¤ë(ȿžɽ¼¨¤µ¤ì¤ë)¡£charClass ¤òÀßÄꤹ¤ë¤³¤È¤Ç¡¢¤É¤³¤Þ¤Ç¤òʸ»úÎó¤È¤·¤ÆÇ§¼±¤¹¤ë¤«¤òÀßÄê¤Ç¤­¤ë¡£¤ª´«¤á¤Ï
KTerm*VT100*charClass: 35:48,37-38:48,43:48,45-47:48,58:48,61:48,63-64:48,126:48
¤³¤ì¤À¤È¡¢URL ¤é¤·¤­Ê¸»úÎó¤Î¾å¤Ç¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤¹¤ë¤³¤È¤Ç¡¢¥«¥Ã¥È¥Ð¥Ã¥Õ¥¡¤Ë³ÊǼ¤Ç¤­¤ë¡£
EightBitInput
kterm + mule -nw ¾å¤Ç¡¢Alt-v ¤Ç¾åÊý¸þ¤Ë1²èÌÌ¥¹¥¯¥í¡¼¥ë¤»¤º¡¢¤ï¤¶¤ï¤¶ ESC-v ¤È¥¿¥¤¥×¤·¤Æ¤¤¤ë¿Í¤Ï¤³¤ì¤ò false ¤Ë¤¹¤ë¤È¤è¤¤¡£Alt-v ¤¬ Esc-v ¤ÈƱÅù¤Ë°·¤ï¤ì¤ë¡£¤¿¤À¤·¡¢kterm + emacs-20.7 -nw ¤Ç¤Ï¤³¤ì¤¬¤Ê¤¯¤Æ¤â Alt-v ¤¬»È¤¨¤ëÌÏÍÍ¡£¤Ê¤¼?

¤ª´«¤á¥ª¥×¥·¥ç¥ó¤Ï¡¢
% kterm -fn 8x16 -fr 8x16 -fk kanji16 -km euc -sl 1000
¤Ç¤¢¤ë¡£¥Õ¥©¥ó¥È¤Ï16¥É¥Ã¥È¡£´Á»ú¥â¡¼¥É¤Ï EUC¡£¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤ÇÌá¤ì¤ë¹Ô¿ô¤Ï 1000 ¹Ô¡£¥ª¥×¥·¥ç¥ó¤Ç¤Ê¤¯¥ê¥½¡¼¥¹ÀßÄê¤Ç¹Ô¤¦¤Ê¤é¡¢~/.Xdefaults ¤ä ~/.Xresources ¤Ë
*VT100*font: 8x16
*VT100*romanKanaFont: 8x16
*VT100*kanjiFont: kanji16
*VT100*kanjiMode: euc
*VT100*saveLines: 1000
*VT100*charClass: 35:48,37-38:48,43:48,45-47:48,58:48,61:48,63-64:48,126:48
*VT100*EightBitInput: false
¤È½ñ¤¤¤Æ¤ª¤¯¤È¤è¤¤¡£
>> ÀßÄê¥Õ¥¡¥¤¥ë ~/.Xdefaults *   ~/.Xresources *

>> ¥³¥Þ¥ó¥É xterm *   Eterm *

last¡¡²áµî¤Î¥Ö¡¼¥È¡¢¥·¥ã¥Ã¥È¥À¥¦¥ó¡¢¥í¥°¥¤¥ó¤Îµ­Ï¿¤òɽ¼¨

% last user
¢Í ¥æ¡¼¥¶Ì¾ user ¤Î¥í¥°¥¤¥ó¾ðÊó¤òɽ¼¨

lastcomm¡¡¤³¤ì¤Þ¤Ç¼Â¹Ô¤µ¤ì¤¿¥³¥Þ¥ó¥É¤Î°ìÍ÷¤òɽ¼¨

²áµî¤Ë¼Â¹Ô¤µ¤ì¤¿¥³¥Þ¥ó¥É¤òɽ¼¨¤¹¤ë¡£
% lastcomm
jman             -       user   ttyp3      0.00 secs Sun Oct 10 10:30 
sh               -       user   ttyp3      0.00 secs Sun Oct 10 10:30 
jless            -       user   ttyp3      0.02 secs Sun Oct 10 10:30 
ping             -       user   ttyv0      0.00 secs Sun Oct 10 10:30 
sleep            -       user   ttyv0      0.00 secs Sun Oct 10 10:30 
mule-19.28       -       user   ttyp1      1.41 secs Sun Oct 10 10:25 
gzcat            -       user   ttyp3      0.00 secs Sun Oct 10 10:30 
jless            -       user   ttyp3      0.02 secs Sun Oct 10 10:30 
ls               -       user   ttyp3      0.00 secs Sun Oct 10 10:30 
ping             -       user   ttyv0      0.00 secs Sun Oct 10 10:29 
jless            -       user   ttyp3      0.14 secs Sun Oct 10 10:29 
cron             -F      root   __         0.00 secs Sun Oct 10 10:30 
sh               -S      root   __         0.00 secs Sun Oct 10 10:30 
atrun            -S      root   __         0.00 secs Sun Oct 10 10:30 
ls               -       user   ttyp3      0.00 secs Sun Oct 10 10:29 
lastcomm ¤Ï /var/account/acct ¤òÆÉ¤ß¤³¤à¤Î¤Ç¡¢»öÁ°¤Ë accton ¤Ç¥·¥¹¥Æ¥à¤Î¥í¥°¤òºîÀ®¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ë¡£
>> ¥³¥Þ¥ó¥É ac *   accton *   sa *

ld¡¡¥ê¥ó¥«¡£¥ê¥ó¥¯¥¨¥Ç¥£¥¿

>> ¥³¥Þ¥ó¥É ldd *   gcc *

ldconfig¡¡¶¦Í­¥é¥¤¥Ö¥é¥ê¤ò¸¡º÷¤¹¤ë¥Ñ¥¹¤òÀßÄê

ldd ¤ÇÀâÌÀ¤·¤¿¥À¥¤¥Ê¥ß¥Ã¥¯¥ê¥ó¥¯¤Ï¡¢¥é¥¤¥Ö¥é¥ê¤¬¤É¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤¤¤Æ¤¢¤ë¤«¤È¤¤¤¦¾ðÊó¤¬É¬Íפˤʤ롣°ìÈÌŪ¤Ë¤Ï /usr/lib¡¢/usr/X11R6/lib¡¢/usr/local/lib¤Ê¤É¤Ë¶¦Í­¥é¥¤¥Ö¥é¥ê¤¬ÃÖ¤«¤ì¤Æ¤¤¤ë¡£
>> ¥³¥Þ¥ó¥É ldd *

ldd¡¡¥À¥¤¥Ê¥ß¥Ã¥¯¥ê¥ó¥¯¤Î´Ø·¸¤òɽ¼¨

¥×¥í¥°¥é¥à¤òºîÀ®¤¹¤ë¾ì¹ç¡¢´û¤ËÍѰդ·¤Æ¤¢¤ë¥é¥¤¥Ö¥é¥ê¤òÍøÍѤ¹¤ë¤³¤È¤¬Â¿¤¤¡£Î㤨¤Ð¤Û¤È¤ó¤É¤Î¥×¥í¥°¥é¥à¤Ç¤Ï printf(3) ¤ò»È¤¦¤¬¡¢¤À¤«¤é¤È¤¤¤Ã¤Æ¤Û¤È¤ó¤É¤Î¥Ð¥¤¥Ê¥ê¤Ë printf(3) ¤Î¥³¡¼¥É¤òËä¤á¹þ¤à¤Î¤Ï¥Ç¥£¥¹¥¯¥¹¥Ú¡¼¥¹¤Î̵Â̤Ǥ¢¤ë¡£¤½¤³¤Ç¥³¥ó¥Ñ¥¤¥ë»þ¤Ë¥é¥¤¥Ö¥é¥ê¤ò¥ê¥ó¥¯¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢¼Â¹Ô»þ¤ËưŪ¤Ë¥ê¥ó¥¯¤ò¹Ô¤¦»ÅÁȤߤ¬¤¢¤ë¡£ldd ¤Ï¥³¥Þ¥ó¥É¤¬¤É¤Î¥é¥ó¥¿¥¤¥à¥é¥¤¥Ö¥é¥ê¤ò»²¾È¤·¤Æ¤¤¤ë¤«É½¼¨¤¹¤ë¡£
% ldd /usr/X11R6/bin/kterm
/usr/X11R6/bin/kterm:
-lXt.6 => /usr/X11R6/lib/libXt.so.6.0 (0x806f000)
-lX11.6 => /usr/X11R6/lib/libX11.so.6.1 (0x80bd000)
-lXmu.6 => /usr/X11R6/lib/libXmu.so.6.0 (0x805f000)
-lSM.6 => /usr/X11R6/lib/libSM.so.6.0 (0x8153000)
-lICE.6 => /usr/X11R6/lib/libICE.so.6.0 (0x815b000)
-lgnumalloc.2 => /usr/lib/libgnumalloc.so.2.0 (0x816d000)
-ltermcap.2 => /usr/lib/libtermcap.so.2.1 (0x8171000)
-lc.2 => /usr/lib/libc.so.2.2 (0x8175000)

¥À¥¤¥Ê¥ß¥Ã¥¯¥ê¥ó¥¯¤Ï¡¢¥Ð¥¤¥Ê¥ê¤Î¥µ¥¤¥º¤¬¾¯¤Ê¤¯¤Ê¤ë¤³¤È¤È¤Ò¤­¤«¤¨¤Ë¡¢¤½¤Î¥Ð¥¤¥Ê¥êñÆÈ¤Ç¤Î¼Â¹Ô¤¬ÉÔ²Äǽ¤Ë¤Ê¤ë¤È¤¤¤¦·çÅÀ¤¬¤¢¤ë¡£

¤³¤ÎÎã¤Ç¤Ï kterm ¤Ï8¤Ä¤Î¥é¥ó¥¿¥¤¥à¥é¥¤¥Ö¥é¥ê¤ò¼Â¹Ô»þ¤ËɬÍפȤ·¡¢1¤Ä¤Ç¤â·ç¤±¤ë¤È¼Â¹Ô¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£¤â¤· OS ¤Îµ¯Æ°»þ¤Ë²¿¤«ÉÔ¶ñ¹ç¤¬¤¢¤Ã¤Æ¥·¥ó¥°¥ë¥æ¡¼¥¶¥â¡¼¥É¤Çµ¯Æ°¤·¤¿¤È¤­¡¢/bin/ls ¤ä /bin/mount ¤¬/usr/lib/libc.* ¤òɬÍפȤ·¤¿¤È¤·¤¿¤é¡¢/usr ¤¬¥Þ¥¦¥ó¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¤ÈÉüµìºî¶È¤Ï¤Ç¤­¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£¤½¤Î¤¿¤á¡¢/bin¡¢/sbin ¤Ê¤É¤Î¥³¥Þ¥ó¥É¤Ï¥é¥ó¥¿¥¤¥à¥é¥¤¥Ö¥é¥ê¤òɬÍפȤ·¤Ê¤¤¤è¤¦¤Ëºî¤é¤ì¤Æ¤¤¤ë¡£

kterm ¤Î¤è¤¦¤Ê¥ê¥ó¥¯Êý¼°¤ò¡¢¥À¥¤¥Ê¥ß¥Ã¥¯¥ê¥ó¥¯¡¦Æ°Åª¥ê¥ó¥¯¤È¸À¤¤¡¢ls ¤Î¤è¤¦¤Ê¥ê¥ó¥¯Êý¼°¤ò¥¹¥¿¥Æ¥£¥Ã¥¯¥ê¥ó¥¯¡¦ÀÅŪ¥ê¥ó¥¯¤È¤¤¤¦¡£ÀÅŪ¤Ë¥ê¥ó¥¯¤µ¤ì¤¿¥Ð¥¤¥Ê¥ê¤ò ldd ¤Ç¸«¤ë¤È
% ldd /bin/ls
ldd: /bin/ls: not a dynamic executable
¤È¤Ê¤ë¡£
>> ¥³¥Þ¥ó¥É ar *   ld *   ldconfig *
>> ´Ä¶­ÊÑ¿ô LD_LIBRARY_PATH *

leave¡¡¥í¥°¥¢¥¦¥È¤¹¤ëͽÄê¤Î»þ´Ö¤òÃΤ餻¤ë

% leave 1630
¸á¸å4»þ30ʬ¤Ë¥í¥°¥¢¥¦¥È¤¹¤ëͽÄê¡£5ʬÁ°¤Ë¥¢¥é¡¼¥à¤È¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¡¢4»þ30ʬ¤Ë¤â¥¢¥é¡¼¥à¤È¥á¥Ã¥»¡¼¥¸¤Ç»þ´Ö¤Ë¤Ê¤Ã¤¿¤³¤È¤òÃΤ餻¤ë¡£¤½¤Î¸å1ʬ¤ª¤­¤Ë¥¢¥é¡¼¥à¤È¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë¡£
% leave +30
º£¤«¤é30ʬ¸å¤Ë¥í¥°¥¢¥¦¥È¤¹¤ëͽÄê

less¡¡¥Õ¥¡¥¤¥ëɽ¼¨¥×¥í¥°¥é¥à (¥Ú¡¼¥¸¥ã)

¤¢¤ë¥³¥Þ¥ó¥É¤ò¼Â¹Ô·ë²Ì¤ä¡¢¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤ò¸«¤¿¤¤¤È¤­¡¢1²èÌ̤˼ý¤Þ¤ê¤­¤é¤º¥¹¥¯¥í¡¼¥ë¤·¤Æ¤·¤Þ¤Ã¤ÆºÇ½é¤ÎÉôʬ¤¬¸«¤¨¤Ê¤¤¤³¤È¤¬¤¢¤ë¡£¤½¤¦¤¤¤¦¾ì¹ç¡¢
% ls -l | less
¤ä
% less file.txt
¤Ê¤É¤È¤¹¤ë¤³¤È¤Ç¤æ¤Ã¤¯¤ê¸«¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

more ¤Ç¤Ï¤Ç¤­¤Ê¤«¤Ã¤¿¥Ð¥Ã¥¯¥¹¥¯¥í¡¼¥ë¤ËÂбþ¡¢Â¾¤Ë¤â gzip ¤ä compress ¤Ç°µ½Ì¤µ¤ì¤¿¥Õ¥¡¥¤¥ë (*.gz ¤ä *.Z) ¤òľÀܸ«¤ë¤³¤È¤¬¤Ç¤­¤ë¤Ê¤É¡¢¤¤¤í¤¤¤í¤Êµ¡Ç½¤¬ÉÕ¤±²Ã¤¨¤é¤ì¤Æ¤¤¤ë¡£¤Ê¤ª¡¢FreeBSD ¤Î less ¤ÏÆüËܸì¤òɽ¼¨¤Ç¤­¤Ê¤¤¤Î¤Ç¡¢jless (ja-less) ¤ò»È¤¦¤³¤È¡£
>> ¥³¥Þ¥ó¥É jless *

ºÇ½é¤Ë»È¤¦¤È¤­¤Ï
  • q ¤Ç½ªÎ» (more ¤È°ã¤Ã¤Æ¡¢less ¤Ï¥Õ¥¡¥¤¥ë¤ÎºÇ¸å¤ËÅþ㤷¤Æ¤â½ªÎ»¤·¤Ê¤¤)
  • ¥«¡¼¥½¥ë¥­¡¼¡¦Ctrl-p¡¦Ctrl-n ¤Ç¾å²¼¥¹¥¯¥í¡¼¥ë
  • <¡¦>¤ÇÀèÆ¬¹Ô¡¦ºÇ½ª¹Ô¤Ë°Üư
  • / ¤Ç¸¡º÷ (Àµµ¬É½¸½¤È¤·¤Æ°·¤ï¤ì¤ë)
¤È¤¤¤¦¤³¤È¤ò³Ð¤¨¤Æ¤ª¤¯¤È¤è¤¤¡£

¥­¡¼¥Ð¥¤¥ó¥É¡£less ¤Ï1¤Ä¤Îưºî¤ËÂФ·¤ÆÊ£¿ô¤Î¥­¡¼¤¬³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤ë¡£Î㤨¤Ð less ¤ò½ªÎ»¤¹¤ë¤Ë¤Ï q ¤« :q ¤« :Q ¤« ZZ ¤Î¤¦¤Á¤¤¤º¤ì¤ò»È¤Ã¤Æ¤â¤è¤¤¡£
q :q :Q ZZ less ¤ò½ªÎ»
¥«¡¼¥½¥ë¥­¡¼ Á°¸å¤Ë1¹Ô°Üư¡£¤Ê¤ª¡¢º¸±¦¥¹¥¯¥í¡¼¥ë¤â¤Ç¤­¤ë¡£
¿ô»ú »ØÄê¹Ô¤Ë°Üư
f SPACE ^V ^F 1²èÌÌÁ°¿Ê
b ^B ESC-v 1²èÌ̸åÂà
RETURN e j ^N ^E ^J 1¹ÔÁ°¿Ê
y k ^Y ^P ^K 1¹Ô¸åÂà
d ^D 1/2²èÌÌÁ°¿Ê
u ^U 1/2²èÌ̸åÂà
r ^R ^L ²èÌ̤òºÆÉ½¼¨
R ¥Õ¥¡¥¤¥ë¤òÆÉ¤ßľ¤·¤ÆºÆÉ½¼¨
g < ESC-< ÀèÆ¬¹Ô¤Ë°Üư
G > ESC-> ºÇ½ª¹Ô¤Ë°Üư
/[!*@]ʸ»úÎó ʸ»úÎó¤òÁ°Êý¸¡º÷(Àµµ¬É½¸½¤È¤·¤Æ°·¤ï¤ì¤ë)
/!ʸ»úÎó ʸ»úÎó¤ò´Þ¤Þ¤Ê¤¤¹Ô¤ò¸¡º÷
/*ʸ»úÎó ¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤷ¤¿Á´¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò¸¡º÷
/@ʸ»úÎó ¥Õ¥¡¥¤¥ë¤ÎÀèÆ¬¤«¤é¸¡º÷
?[!*@]ʸ»úÎó ʸ»úÎó¤ò¸åÊý¸¡º÷¡£/¤ÈƱ¤¸µ¡Ç½¤ò»ý¤Ä
n ¼¡¸¡º÷¡£°ìÅÙ / ¤Ç¸¡º÷¤·¤¿¸å¡¢¤â¤¦°ìÅÙÆ±¤¸Ê¸»úÎó¤ò¸¡º÷¤·¤¿¤¤¤È¤­ n ¤ò»È¤¦¡£
N n¤È¤ÏµÕÊý¸þ¤Ë¼¡¸¡º÷
F tail -f ¤Î¤è¤¦¤Ë¡¢Äɵ­Éôʬ¤ò½ç¼¡É½¼¨¤¹¤ë¡£Ctrl-C ¤Ç tail -f ¥â¡¼¥É½ªÎ»¡£
ESC-u ¸¡º÷¤Ë¥Þ¥Ã¥Á¤·¤¿Éôʬ¤Îȿžɽ¼¨¤ò²ò½ü
v ¥¨¥Ç¥£¥¿¤òµ¯Æ°¤·¤Æ¸½ºßɽ¼¨¤·¤Æ¤¤¤ë¥Õ¥¡¥¤¥ëÊÔ½¸
>> ´Ä¶­ÊÑ¿ô EDITOR *
= ^G :f ¸½ºß°ÌÃ֤ιԿô¡¢¥Ð¥¤¥È¿ô¡¢¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸¤òɽ¼¨
h ´Ê°×¥Ø¥ë¥×¤òɽ¼¨
V ¥Ð¡¼¥¸¥ç¥ó¤òɽ¼¨
!(¥ê¥¿¡¼¥ó) ¥·¥§¥ë¤òµ¯Æ°
!¥³¥Þ¥ó¥É ¥³¥Þ¥ó¥É¤ò¼Â¹Ô
!! ľÁ°¤Î!¥³¥Þ¥ó¥É¤òºÆ¼Â¹Ô

¥ª¥×¥·¥ç¥ó¤Ï°Ê²¼¤ÎÄ̤ꡣ

-e ¥Õ¥¡¥¤¥ë½ªÃ¼¤Ë2ÅÙÅþ㤹¤ë¤È½ªÎ»¤¹¤ë
-E ¥Õ¥¡¥¤¥ë½ªÃ¼¤Ë1ÅÙÅþ㤹¤ë¤È½ªÎ»¤¹¤ë (more ¤ÈƱ¤¸Æ°ºî)
-f ¥Ç¥£¥ì¥¯¥È¥ê¤ä¼Â¹Ô¥Õ¥¡¥¤¥ë¤âɽ¼¨¤¹¤ë¡£less ¤Ç¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ë¤ò¸«¤è¤¦¤È¤¹¤ë¤È¡Ö"/bin/ls" may be a binary file. See it anyway?¡×¤Ê¤É¤È¤¤¤¦³Îǧ¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¡¢`y' ¤ò²¡¤¹¤ÈÆâÍÆ¤ò¸«¤ë¤³¤È¤¬¤Ç¤­¤ë¡£-f ¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤ë¤È¡¢¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ë¤Ç¤â³Îǧ¤òµá¤á¤º¤Ëɽ¼¨¤¹¤ë¡£
-g ¥µ¡¼¥Á¤Ë¥Þ¥Ã¥Á¤·¤¿Ê¸»úÎó¤Î¤¦¤ÁºÇ¸å¤Ë¥Þ¥Ã¥Á¤·¤¿¤â¤Î¤À¤±¤òȿžɽ¼¨¤¹¤ë
-G ¥µ¡¼¥Á¤Ë¥Þ¥Ã¥Á¤·¤¿Ê¸»úÎó¤òȿžɽ¼¨¤·¤Ê¤¤
-jn(¿ô»ú) ¥¿¡¼¥²¥Ã¥È¥é¥¤¥ó¤Î°ÌÃÖ¤ò»ØÄꤹ¤ë¡£¥¿¡¼¥²¥Ã¥È¥é¥¤¥ó¤È¤Ï¡¢¥µ¡¼¥Á¤Ë¥Þ¥Ã¥Á¤·¤¿Ê¸»úÎó¤¬É½¼¨¤µ¤ì¤ë¹Ô¤Î¤³¤È¡£-j10 ¤È¤¹¤ë¤È¡¢¥µ¡¼¥Á¤Ë¥Þ¥Ã¥Á¤·¤¿Ê¸»úÎó¤Ï¾å¤«¤é 10¹ÔÌܤËɽ¼¨¤µ¤ì¤ë¡£ -j-10 ¤È¤¹¤ë¤È¡¢²¼¤«¤é 10¹ÔÌܤËɽ¼¨¤µ¤ì¤ë¡£
-k¥Õ¥¡¥¤¥ë̾ lesskey ¤Çºî¤é¤ì¤¿¥­¡¼¥Ð¥¤¥ó¥ÉÀßÄê¥Õ¥¡¥¤¥ë¤òÆÉ¤ß¹þ¤à
-m ¥×¥í¥ó¥×¥È¤Ë¾ï¤Ë¸½ºß¹Ô¤Î¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸¤òɽ¼¨¤¹¤ë
-M ¥×¥í¥ó¥×¥È¤Ë¾ï¤Ë¸½ºß¹Ô¤Î¥Ñ¡¼¥»¥ó¥Æ¡¼¥¸¤È¹Ô¿ô¤òɽ¼¨¤¹¤ë
-n ¹Ô¿ô·×»»¤ò¤·¤Ê¤¤¡£Èó¾ï¤Ë¥µ¥¤¥º¤ÎÂ礭¤¤¥Õ¥¡¥¤¥ë¤Î¾ì¹çưºî¤¬¹â®²½¤µ¤ì¤ë
-N ³Æ¹Ô¤ÎÀèÆ¬¤Ë¹ÔÈÖ¹æ¤òɽ¼¨¤¹¤ë
-o¥Õ¥¡¥¤¥ë̾ ÆþÎϤò¥Õ¥¡¥¤¥ë¤Ë¥³¥Ô¡¼¤¹¤ë¡£¥Ñ¥¤¥×¤«¤éÆþÎϤ·¤¿¾ì¹ç¤ËÍ­ÍÑ
-O¥Õ¥¡¥¤¥ë̾ -o¤ÈƱ¤¸¤À¤¬¡¢Æ±Ì¾¤Î¥Õ¥¡¥¤¥ë¤¬¤¹¤Ç¤Ë¸ºß¤·¤¿¤é¾å½ñ¤­¤¹¤ë
-p¥Ñ¥¿¡¼¥ó µ¯Æ°¸å¡¢»ØÄꤵ¤ì¤¿¥Ñ¥¿¡¼¥ó¤ò¥µ¡¼¥Á¤¹¤ë
-q ¥¨¥é¡¼¤ÎºÝ¤Ë¤¢¤Þ¤ê¥Ó¡¼¥×²»¤òÌĤ餵¤Ê¤¤ (¾õ¶·¤Ë¤è¤ë)
-Q ¥¨¥é¡¼¤ÎºÝ¤Ë¥Ó¡¼¥×²»¤òÌĤ餵¤Ê¤¤
-r ¥³¥ó¥È¥í¡¼¥ë¥³¡¼¥É¤ò¤½¤Î¤Þ¤Þɽ¼¨¤¹¤ë¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï control-A ¤Ï ^A ¤Èɽ¼¨¤µ¤ì¤ë¤¬¡¢-r ¤ò»ØÄꤹ¤ë¤È¤½¤Î¤Þ¤Þɽ¼¨¤¹¤ë¡£¤³¤ì¤Ë¤è¤Ã¤Æ¡¢cat ¤ÇÆüËܸ줬ɽ¼¨¤Ç¤­¤ë´Ä¶­¤Ê¤é¡¢less -r ¤ÇÆüËܸ줬ɽ¼¨¤Ç¤­¤ë¤«¤â¡£
-S 1¹Ô¤Îʸ»ú¿ô¤¬²èÌ̤β£Éý¤òͤ¨¤¿¾ì¹ç¡¢ÀÞ¤êÊÖ¤µ¤º¡¢¤Ï¤ß¤Ç¤¿Éôʬ¤Ïɽ¼¨¤·¤Ê¤¤
-V ¥Ð¡¼¥¸¥ç¥ó¤òɽ¼¨
-w ¶õ¹Ô¤òɽ¤¹µ­¹æ¤Ë~¤òɽ¼¨¤·¤Ê¤¤
-xn(¿ô»ú) ¥¿¥ÖÉý¤òn¤ËÀßÄꤹ¤ë¡£¥Ç¥Õ¥©¥ë¥È¤Ï 8
-zn(¿ô»ú) f ¥­¡¼¡¢b ¥­¡¼¤ò²¡¤·¤¿»þ¤Ë¥¹¥¯¥í¡¼¥ë¤¹¤ë¹Ô¿ô¤ò»ØÄꤹ¤ë¡£n ¤¬¥Þ¥¤¥Ê¥¹¤Ê¤é (¥¹¥¯¥ê¡¼¥ó¤Î½ÄÉý-n) ¹Ô¥¹¥¯¥í¡¼¥ë¤¹¤ë

¤ª´«¤á¥ª¥×¥·¥ç¥ó¤Ï -gj10¡£´Ä¶­ÊÑ¿ô LESS ¤Ë¥ª¥×¥·¥ç¥ó¤òÀßÄꤹ¤ë¤³¤È¤Ç¡¢¥Ç¥Õ¥©¥ë¥È¥ª¥×¥·¥ç¥ó¤È¤·¤Æ°·¤ï¤ì¤ë¡£Î㤨¤Ð
% setenv LESS -gj10 (csh¡¦tcsh ¤Î¾ì¹ç)
% export LESS=-gj10 (sh¡¦bash ¤Î¾ì¹ç)
¤Ê¤É¤ÈÀßÄꤹ¤ë¡£

¤Ê¤ª¡¢less ¤ò»È¤ï¤Ê¤¯¤Æ¤â kterm ¤Ê¤é Shift+PageUp¡¢Shift+PageDown ¤Ç¤µ¤«¤Î¤Ü¤ë¤³¤È¤â¤Ç¤­¤ë¤Î¤Ç¡¢³Ð¤¨¤Æ¤ª¤¯¤È¤è¤¤¤À¤í¤¦¡£
>> ¥³¥Þ¥ó¥É jless *   more *   xless *   kterm *
>> ´Ä¶­ÊÑ¿ô PAGER *

lesskey¡¡less ¤Î¥­¡¼¥Ð¥¤¥ó¥É¤òÊѹ¹

lex¡¡»ú¶ç²òÀϥѡ¼¥µÀ¸À®¥×¥í¥°¥é¥à

lex ¤Ï¡Ö¡Ø»ú¶ç²òÀϤò¹Ô¤¦¥×¥í¥°¥é¥à¤Î¥½¡¼¥¹¡Ù¤òÀ¸À®¤¹¤ë¥×¥í¥°¥é¥à¡×¤Ç¤¢¤ë¡£ÆþÎϤµ¤ì¤¿Ê¸»úÎ󤬿ôÃͤ«¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤«¤òȽÄꤹ¤ë¥×¥í¥°¥é¥à¤òºî¤Ã¤Æ´Êñ¤ÊÎã¤ò¼¨¤½¤¦¡£
%{
#include <stdio.h>
%}

%%
[\t ]+ { /* ²¿¤â¤·¤Ê¤¤ */ }
[0-9]+ { printf("digit=%s",yytext); }
[a-z]+ { printf("alphabet=%s",yytext); }
\n { /* ²¿¤â¤·¤Ê¤¤ */ }
. { printf("Syntax error\n"); }
%%
¤È¤¤¤¦ÆâÍÆ¤Î sample.l ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¡£¤½¤·¤Æ¡¢
% lex sample.l
¤È¤¹¤ë¤È¡¢lex.yy.c ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤ë¡£¤Ä¤Þ¤ê¡¢lex ¤Ï¡ÖC ¤Î¥½¡¼¥¹À¸À®´ï¡×¤Ê¤ï¤±¤À¡£¼¡¤Ë¡¢¤³¤Î¥½¡¼¥¹¤ò
% cc lex.yy.c -ll
¤Ç¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¡£-ll ¤Ï libl.a ¤È¤¤¤¦ lex ÍѤΥ饤¥Ö¥é¥ê¤ò¥ê¥ó¥¯¤¹¤ë¤¿¤á¤Î¥ª¥×¥·¥ç¥ó¤Ç¤¢¤ë¡£¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤¿¤é¼Â¹Ô¤·¤Æ¤ß¤è¤¦¡£
% ./a.out
123 (¤ÈÆþÎÏ)
digit=123
abc (¤ÈÆþÎÏ)
alphabet=abc
! (¤ÈÆþÎÏ)
Syntax error
123 456 abc (¤ÈÆþÎÏ)
digit=123
digit=456
alphabet=abc
a1b2 (¤ÈÆþÎÏ)
alphabet=a
digit=1
alphabet=b
digit=2
¤Ê¤ó¤È¤Ê¤¯¤½¤ì¤Ê¤ê¤Ë½èÍý¤µ¤ì¤Æ¤¤¤ëµ¤¤¬¤¹¤ë¡£¤µ¤Æ¡¢sample.l ¤ò¤â¤¦°ìÅÙ¸«¤Æ¤ß¤è¤¦¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ï
%{
ÄêµÁÉô
%}
%%
µ¬Â§Éô
%%
¤È¤¤¤¦¹½Â¤¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ÄêµÁÉô¤Ë¤Ïµ¬Â§Éô¤Ç»È¤¦ÊÑ¿ô¡¦¹½Â¤ÂΤÎÀë¸À¤ä¡¢#define¡¦#include ¤Ê¤É¡¢¥Þ¥¯¥í¤ä¥¤¥ó¥¯¥ë¡¼¥É¥Õ¥¡¥¤¥ë´ØÏ¢¤òµ­½Ò¤¹¤ë¡£

°ìÊý¡¢µ¬Â§Éô¤Ë¤Ï¡¢
Àµµ¬É½¸½ { C ¤Î¥³¡¼¥É }
¤òʤ٤Ƥª¤¯¡£Àµµ¬É½¸½¤¬¥Þ¥Ã¥Á¤·¤¿¤È¤­¤Ë¡¢Âбþ¤¹¤ë {} Æâ¤ÎÉôʬ¤¬¼Â¹Ô¤µ¤ì¤ë¡£¥Þ¥Ã¥Á¤·¤¿Ê¸»úÎó¤Ï yytext ¤È¤¤¤¦ÊÑ¿ô¤ËÂåÆþ¤µ¤ì¤ë¡£

sample.l ¤Îµ¬Â§Éô¤Ï¡¢
  • ¥¹¥Ú¡¼¥¹¤ä¥¿¥Ö¤Ê¤é²¿¤â¤·¤Ê¤¤
  • 0¡Á9 ¤¬Ï¢Â³¤¹¤ëʸ»úÎó¤Ê¤é¡¢digit=¡Ä ¤Èɽ¼¨
  • a¡Áz ¤¬Ï¢Â³¤¹¤ëʸ»úÎó¤Ê¤é¡¢alphabet=¡Ä ¤Èɽ¼¨
  • ²þ¹Ô¥³¡¼¥É (\n) ¤Ê¤é²¿¤â¤·¤Ê¤¤¡£
  • ¤½¤ì°Ê³°¤Îʸ»ú¤Ï Syntax error ¤òɽ¼¨
¤È¤¤¤¦°ÕÌ£¤Ç¤¢¤ë¡£

¤³¤ÎÎã¤Î¤è¤¦¤Ë lex ñÂΤǻȤäƤâ¤è¤¤¤¬¡¢yacc ¤ÈÁȤ߹ç¤ï¤»¤Æ»È¤¦¤È´Êñ¤Ê¥¤¥ó¥¿¥×¥ê¥¿¤¯¤é¤¤¤Ê¤é¼ê·Ú¤Ëºî¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
>> ¥³¥Þ¥ó¥É flex *   yacc *   bison *
>> ÆÉ¤ßÊý lex *

lha¡¡LHA¡¦LZH ¥Õ¥¡¥¤¥ë¤Î´ÉÍý¥Ä¡¼¥ë

l ¥¢¡¼¥«¥¤¥Ö¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤Î°ìÍ÷¤òɽ¼¨
x ¥¢¡¼¥«¥¤¥Ö¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤òŸ³«
>> ¥³¥Þ¥ó¥É tar *

limit¡¡¥×¥í¥»¥¹¤Ø¤Î³Æ¼ï¤ÎÀ©¸Â¤òÀßÄꤹ¤ë¡£csh¡¦tcsh ¤ÎÆâÉô¥³¥Þ¥ó¥É¡£

limit ¤ÇÀßÄê¤Ç¤­¤ëÀ©¸ÂÃͤˤϡ¢°ìÈ̥桼¥¶¤¬Êѹ¹¤Ç¤­¤ë(ÉáÄ̤Î)¥ê¥ß¥Ã¥È¤È¡¢root ¤·¤«Êѹ¹¤Ç¤­¤Ê¤¤¥Ï¡¼¥É¥ê¥ß¥Ã¥È¤¬¤¢¤ë¡£°ú¿ô¤Ê¤·¤Ç limit ¤ò¼Â¹Ô¤¹¤ë¤È
% limit 
cputime         unlimited
filesize        unlimited
datasize        16384 kbytes
stacksize       8192 kbytes
coredumpsize    unlimited
memoryuse       30720 kbytes
descriptors     64 
memorylocked    10240 kbytes
maxproc         64 
¤È¸½ºß¤Î¥ê¥ß¥Ã¥ÈÃͤ¬É½¼¨¤µ¤ì¤ë¡£°ìÊý¡¢-h ¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¤ë¤È
% limit -h
cputime         unlimited
filesize        unlimited
datasize        131072 kbytes
stacksize       65536 kbytes
coredumpsize    unlimited
memoryuse       unlimited
descriptors     360 
memorylocked    124084 kbytes
maxproc         179 
¤È¥Ï¡¼¥É¥ê¥ß¥Ã¥È¤¬É½¼¨¤µ¤ì¤ë¡£¤³¤Î¾õÂ֤Ǥϡ¢ºÇÂç¥×¥í¥»¥¹¿ô¤Ï64 (maxproc=64¤À¤«¤é) ¤À¤¬¡¢
% limit maxproc 179
¤È¤¹¤ë¤³¤È¤Ç¡¢ºÇÂç¥×¥í¥»¥¹¿ô¤ò 179 ¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¤·¤«¤·°ìÈ̥桼¥¶¤Ï
% limit maxproc 180
¤Ê¤É¤È¥Ï¡¼¥É¥ê¥ß¥Ã¥È¤ò±Û¤¨¤ëÃͤò¥»¥Ã¥È¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£¥Ï¡¼¥É¥ê¥ß¥Ã¥È¤òÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¤Î¤Ï root ¤Î¤ß¤Ç¤¢¤ë¡£

limit ¤Î³Æ¹àÌܤΰÕÌ£°Ê²¼¤ÎÄ̤ꡣ
cputime
³Æ¥×¥í¥»¥¹¤¬ CPU ¤ò»È¤¦¤³¤È¤Î¤Ç¤­¤ë»þ´Ö¤Î¾å¸Â
filesize
1¤Ä¤Î¥Õ¥¡¥¤¥ë¤ÎŤµ¤Î¾å¸Â
datasize
sbrk(2) ¤òÍѤ¤¤Æ¥×¥í¥°¥é¥à¤Î¥Æ¥­¥¹¥ÈÎΰè¤ÎËöÈø¤òͤ¨¤ÆÁý²Ã¤µ¤»¤ë¤³¤È¤Î¤Ç¤­¤ë data+stack Îΰè¤Î¥µ¥¤¥º¤Î¾å¸Â
stacksize
¼«Æ°Åª¤Ë³ÈÄ¥¤µ¤ì¤ë¥¹¥¿¥Ã¥¯¤Î¥µ¥¤¥º¤Î¾å¸Â
coredumpsize
¥³¥¢¥À¥ó¥×¤·¤¿ºÝ¤Ëºî¤é¤ì¤ë¥³¥¢¥Õ¥¡¥¤¥ë¤Î¥µ¥¤¥º¤Î¾å¸Â
% limit coredumpsize 0
¤Ç¡¢¥³¥¢¥À¥ó¥×»þ¤Ë core ¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
memoryuse
³Æ¥×¥í¥»¥¹¤¬»ÈÍѤǤ­¤ë¥á¥â¥ê»ÈÍÑÎÌ
descriptors
1¥æ¡¼¥¶¤¬Æ±»þ¤Ë¥ª¡¼¥×¥ó²Äǽ¤Ê¥Õ¥¡¥¤¥ë¿ô¤Î¾å¸Â
memorylocked
???
maxproc
1¥æ¡¼¥¶¤¬Æ±»þ¤Ë¼Â¹Ô²Äǽ¤Ê¥×¥í¥»¥¹¿ô¤Î¾å¸Â

ÃͤÎñ°Ì¤Ï³Æ¹àÌܤ´¤È¤Ë°Û¤Ê¤ë¡£cputime ¤Ï
% limit cputime 1 1ÉÃ
% limit cputime 1m 1ʬ
% limit cputime 1h 1»þ´Ö
% limit cputime 1:1 1ʬ1ÉÃ
¤Ç¡¢maxproc¡¦descriptors ¤Ï¤½¤ì¤¾¤ì¥×¥í¥»¥¹¡¢¥Ç¥¹¥¯¥ê¥×¥¿¤Î¸Ä¿ô¡¢¤½¤Î¾¤Ï
% limit filesize 1 1¥­¥í¥Ð¥¤¥È
% limit filesize 1m 1¥á¥¬¥Ð¥¤¥È
¤Ê¤É¤È»ØÄꤹ¤ë¡£
>> ¥³¥Þ¥ó¥É unlimit *   ulimit *
>> ÍѸ콸 ¥×¥í¥»¥¹ *

lint¡¡C¥×¥í¥°¥é¥à¤Îʸˡ¥Á¥§¥Ã¥«

>> ¥³¥Þ¥ó¥É gcc *

listres¡¡¥¦¥£¥¸¥§¥Ã¥È¥ê¥½¡¼¥¹¤Î¥ê¥¹¥È¤òɽ¼¨

¤Ï¤Ã¤­¤ê¸À¤Ã¤Æ¡¢²¿¤Î¤¿¤á¤Î¥³¥Þ¥ó¥É¤Ê¤Î¤«¤ï¤«¤ê¤Þ¤Ø¤ó¡£
>> ¥³¥Þ¥ó¥É appres *

ln¡¡¥Ï¡¼¥É¥ê¥ó¥¯¡¦¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤òÄ¥¤ë¡£

¡Ö¥ê¥ó¥¯¤òÄ¥¤ë¡×¤È¤Ï¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤ÎÊÌ̾¤òºî¤ë¤è¤¦¤Ê¤â¤Î¤Ç¡¢¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤òÊ̤Î̾Á°¤Ç»²¾È¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¥ê¥ó¥¯¤Ë¤Ï¥Ï¡¼¥É¥ê¥ó¥¯¤È¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤¬¤¢¤ê¡¢¤½¤ì¤¾¤ì¤ÎÍøÅÀ¤¬¤¢¤ë¤¬¡¢°ìÈÌŪ¤Ë¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ò»È¤¦Êý¤¬¤è¤¤¤À¤í¤¦¡£

¥Ï¡¼¥É¥ê¥ó¥¯¤òºî¤ë¤³¤È¤Ç¡¢¤¢¤ë¥Õ¥¡¥¤¥ë¤ÎÊ£À½¤òºî¤ë¤³¤È¤¬¤Ç¤­¤ë¤¬¡¢°ìÅ٥ϡ¼¥É¥ê¥ó¥¯¤òºî¤Ã¤Æ¤·¤Þ¤¦¤È¡¢»²¾ÈÀè (¼ÂÂÎ) ¤ä»²¾È¸µ¤Ê¤É¤È¤¤¤¦¶èÊ̤Ϥʤ¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£
% ln file-a file-b
¤È¤¹¤ë¤³¤È¤Ç¡¢file-a ¤ÈƱ¤¸ÆâÍÆ¤ò»ý¤Ä file-b ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¤³¤ì¤ò¥Ï¡¼¥É¥ê¥ó¥¯¤È¸À¤¦¡£¤³¤Î¤È¤­ file-a ¤Ï¼ÂºÝ¤Ë¸ºß¤·¤Æ¤¤¤Ê¤¯¤Æ¤Ï¤Ê¤é¤º¡¢¿·¤¿¤ËºîÀ®¤µ¤ì¤ë file-b ¤¬´û¤Ë¸ºß¤·¤Æ¤¤¤Æ¤Ï¤¤¤±¤Ê¤¤¡£°ìÅ٥ϡ¼¥É¥ê¥ó¥¯¤òÄ¥¤Ã¤Æ¤·¤Þ¤¦¤È¡¢ËÜÅö¤Î¥Õ¥¡¥¤¥ë/ÊÌ̾¤Î¥Õ¥¡¥¤¥ë¤È¤¤¤¦¶èÊ̤Ϥʤ¯¤Ê¤ë¡£¤³¤ì¤Ï¡¢file-a ¤È file-b ¤¬Æ±¤¸ i-node ¤ò»Ø¤¹¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤«¤é¤Ç¤¢¤ë¡£

¥Ï¡¼¥É¥ê¥ó¥¯¤È i-node ¤Î´Ø·¸¤Ë¤Ä¤¤¤Æ ls -li ¤Ç³Î¤«¤á¤Æ¤ß¤è¤¦¡£ls ¤Ë -i ¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤ë¤³¤È¤Ç i-node ¤Î¾ðÊó¤òɽ¼¨¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
% ls -li file-a
414820 -rw-r--r-- 1 user group 10 Aug 4 14:49 file-a
¸½ºß¤Ï file-a ¤¬Â¸ºß¤·¡¢i-node ¤Ï 414820 ¤Ç¤¢¤ë¡£¤Ê¤ª¡¢i-node ¤È¤Ï¡¢¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤ËÉÕ¤±¤é¤ì¤¿°ì°Õ¤ÊÈÖ¹æ¤Ç¤¢¤ë¡£¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¼±ÊÌÈÖ¹æ¤È¤Ç¤â¹Í¤¨¤ì¤Ð¤¤¤¤¤À¤í¤¦¡£

file-a ¤Î¥Ï¡¼¥É¥ê¥ó¥¯ file-b ¤òºîÀ®¤¹¤ë¡£
% ln file-a file-b
¤â¤¦°ìÅÙ ls -li ¤ò¼Â¹Ô¤·¤Æ¤ß¤è¤¦¡£
% ls -li file-a file-b
414820 -rw-r--r-- 2 user group 10 Aug 4 14:49 file-a
414820 -rw-r--r-- 2 user group 10 Aug 4 14:49 file-b
file-a ¤È file-b ¤Î i-node ¤¬Æ±¤¸¤Ê¤Î¤ËÃíÌܤ·¤Æ¤Û¤·¤¤¡£i-node ¤¬Æ±¤¸¤È¤¤¤¦¤³¤È¤Ï¡¢file-a ¤È file-b ¤ÏÁ´¤¯°ã¤¤¤¬¤Ê¤¤¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£file-a ¤ÎÆâÍÆ¤ò½ñ¤­´¹¤¨¤è¤¦¤È¤¹¤ë¤È¡¢OS ¤Ï file-a ¤Î i-node ¤¬ 414820 ¤Ç¤¢¤ë¤³¤È¤òÄ´¤Ù¡¢¥Ç¥£¥¹¥¯Ãæ¤Î 414820 ¤ËÂбþ¤¹¤ë¥Õ¥¡¥¤¥ë¤¬½ñ¤­´¹¤¨¤é¤ì¤ë¡£¼¡¤Ë file-b ¤òÃæ¿È¤òɽ¼¨¤·¤è¤¦¤È¤·¤¿¾ì¹ç¤â¡¢OS ¤¬ file-b ¤Î i-node ¤¬ 414820 ¤Ç¤¢¤ë¤³¤È¤òÄ´¤Ù¡¢¥Ç¥£¥¹¥¯Ãæ¤Î 414820 ¤ËÂбþ¤¹¤ë¥Õ¥¡¥¤¥ë¤ÎÃæ¿È¤òɽ¼¨¤¹¤ë¡£¤Ä¤Þ¤ê¡¢file-a ¤ò½ñ¤­´¹¤¨¤Æ¤â file-b ¤ò½ñ¤­´¹¤¨¤Æ¤â¡¢Æ±¤¸¥Ç¥£¥¹¥¯¤ÎÎΰè¤ò½ñ¤­´¹¤¨¤ë¤³¤È¤Ë¤Ê¤ë¡£Æ±Íͤˡ¢¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¡¢¥Õ¥¡¥¤¥ë¥ª¡¼¥Ê¡¼¤â¶¦Í­¤µ¤ì¤ë¡£file-a ¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤òÊѹ¹¤¹¤ë¤È file-b ¤Ë¤âÈ¿±Ç¤µ¤ì¤ë¡£

¤Ç¤Ï¡¢ºï½ü»þ¤Î¤³¤È¤ò¹Í¤¨¤Æ¤ß¤è¤¦¡£Ã±½ã¤Ëºï½ü¤·¤Æ¤·¤Þ¤¦¤È¡¢file-a ¤òºï½ü¤·¤¿¤È¤­ i-node 414820 ¤ËÂбþ¤¹¤ëÎΰ褬¤Ê¤¯¤Ê¤ê¡¢file-b ¤Ï»Ä¤Ã¤Æ¤¤¤ë¤â¤Î¤Î¥Õ¥¡¥¤¥ë¼«ÂΤϺï½ü¤µ¤ì¡¢»²¾È¤Ç¤­¤Ê¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£¤½¤ì¤òÈò¤±¤ë¤¿¤á¡¢UNIX ¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï¥ê¥ó¥¯¿ô¤È¤¤¤¦¾ðÊó¤òÊÝ»ý¤·¤Æ¤¤¤ë¡£ÀèÄø¤Î ls -li ¤Îɽ¼¨¤Ç¡¢¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤Î¸å¤Î¿ô»ú¤¬¤½¤ì¤Ç¤¢¤ë¡£file-a ¤·¤«Â¸ºß¤·¤Ê¤¤¤È¤­¤Ï¥ê¥ó¥¯¿ô¤Ï 1 ¤Ç¤¢¤ë¤¬¡¢file-b ¤òºîÀ®¤¹¤ë¤È¥ê¥ó¥¯¿ô¤¬ 2 ¤ËÁý¤¨¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤Û¤·¤¤¡£file-a ¤òºï½ü¤¹¤ë¤È¤­¡¢OS ¤Ï¥ê¥ó¥¯¿ô¤ò 1 ¸º¤é¤¹¡£¥ê¥ó¥¯¿ô¤¬ 0 ¤Ë¤Ê¤é¤Ê¤¤¤È¥Õ¥¡¥¤¥ë¤Î¼ÂÂΤϺï½ü¤·¤Ê¤¤¡£
% ls -li file-a file-b (¤½¤ì¤¾¤ì¤Î¥ê¥ó¥¯¿ô¤Ï2)
414820 -rw-r--r-- 2 user group 10 Aug 4 14:49 file-a
414820 -rw-r--r-- 2 user group 10 Aug 4 14:49 file-b
% rm file-a (file-a¤òºï½ü)
% ls -li file-b (¥ê¥ó¥¯¿ô¤¬1¤Ë¤Ê¤Ã¤¿)
414820 -rw-r--r-- 1 user group 10 Aug 4 14:49 file-b
¾å¤ÎÎã¤Ç¤Ï¡¢rm file-a ¤Ç¥ê¥ó¥¯¿ô¤ò1¸º¤é¤·¤Æ¤â¥ê¥ó¥¯¿ô¤¬ 0 ¤Ë¤Ï¤Ê¤é¤Ê¤¤¤Î¤Ç¡¢i-node 414820 ¤ËÂбþ¤¹¤ë¥Ç¥£¥¹¥¯Îΰè¤Ïºï½ü¤µ¤ì¤Ê¤¤¤ï¤±¤Ç¤¢¤ë¡£¤³¤Î¾õÂÖ¤Ç rm file-b ¤ò¼Â¹Ô¤¹¤ë¤È¡¢¥ê¥ó¥¯¿ô¤Ï 0 ¤Ë¤Ê¤ê¡¢i-node 414820 ¤ËÂбþ¤¹¤ë¥Ç¥£¥¹¥¯Îΰè¤Ï¾Ãµî¤µ¤ì¤ë¡£

¤Ê¤ª¡¢°ìÈÌŪ¤Ë¥Ç¥£¥ì¥¯¥È¥ê¤Î¥Ï¡¼¥É¥ê¥ó¥¯¤ÏºîÀ®¤Ç¤­¤Ê¤¤¡£¤³¤ì¤Ï¡¢½Û´Ä¥Ç¥£¥ì¥¯¥È¥ê¤¬¤Ç¤­¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Ç¤¢¤ë¡£Î㤨¤Ð /hoge ¤¬¥Ç¥£¥ì¥¯¥È¥ê¤Î¾ì¹ç¡¢
% ln /hoge /hoge/dir
¤ò¼Â¹Ô¤¹¤ë¤È¡¢/hoge/dir/dir/dir/dir/dir/dir/.... ¤È¤¤¤¦Ìµ¸Â¤Î¥Ç¥£¥ì¥¯¥È¥ê¤¬¤Ç¤­¤ë¤³¤È¤Ë¤Ê¤ë (/hoge/dir ¤Ï /hoge ¤ÈƱ¤¸¤À¤«¤é)¡£¤½¤Î¤¿¤á¡¢¥Ç¥£¥ì¥¯¥È¥ê¤Î¥Ï¡¼¥É¥ê¥ó¥¯¤ÏºîÀ®¤Ç¤­¤Ê¤¤¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£¤¿¤À¤·¡¢Solaris ¤Ê¤É¤Ç¤Ï root ¤Î¤ß¤¬¥Ç¥£¥ì¥¯¥È¥ê¤Î¥Ï¡¼¥É¥ê¥ó¥¯¤òºîÀ®¤Ç¤­¤ë(ln ¥³¥Þ¥ó¥É¤Ç¤ÏÉÔ²Äǽ¡£¥·¥¹¥Æ¥à¥³¡¼¥ë link(2) ¤ò»È¤¦É¬Íפ¬¤¢¤ë)¡£¤·¤«¤·¡¢°ìÈÌŪ¤Ë¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ò»È¤¦Êý¤¬¤è¤¤¤À¤í¤¦¡£

¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à (df ¥³¥Þ¥ó¥É¤Çɽ¼¨¤µ¤ì¤ë¤â¤Î) ¤ò¤Þ¤¿¤¤¤À¥Ï¡¼¥É¥ê¥ó¥¯¤òºîÀ®¤Ç¤­¤Ê¤¤¤³¤È¤ËÃí°Õ¡£¤³¤ì¤Ï¡¢¥Ï¡¼¥É¥ê¥ó¥¯¤Ï°Û¤Ê¤ë¥Õ¥¡¥¤¥ë¤¬Æ±¤¸ i-node ¤ò»Ø¤¹¤³¤È¤Ç¼Â¸½¤µ¤ì¤Æ¤¤¤ë¤¬¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬°Û¤Ê¤ë¤È¡¢Á´¤¯°ã¤¦ i-node ¤¬ÉÕ¤±¤é¤ì¤ë¤«¤é¤Ç¤¢¤ë¡£¤Ä¤Þ¤ê/dev/sd0 ¤Î i-node 100 ¤¬ /usr/hoge ¤À¤Ã¤¿¤È¤·¤Æ¤â¡¢/dev/wd0 ¤Î i-node 100 ¤Ï/var/hoge ¤«¤â¤·¤ì¤Ê¤¤¡£/dev/wd0 ¤ÎÃæ¤Î¥Õ¥¡¥¤¥ë¤È /dev/sd0 ¤ÎÃæ¤Î¥Õ¥¡¥¤¥ë¤È¤Ç¤Ï¡¢Æ±¤¸ i-node ¤ò¶¦Í­¤¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¤Î¤Ç¤¢¤ë¡£

¼¡¤Ë¡¢¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë¡£ln ¤Ë¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤ë¤È¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤¬ºîÀ®¤µ¤ì¤ë¡£
% ln -s file-a file-b
¤È¤¹¤ë¤³¤È¤Ç¡¢file-a ¤ÎÊÌ̾¤Ç¤¢¤ë file-b ¤¬¤Ç¤­¤ë¡£¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Ï¥Ï¡¼¥É¥ê¥ó¥¯¤È¤Ï°ã¤¤¡¢»²¾ÈÀè(¼ÂÂÎ)¤È»²¾È¸µ¤È¤¤¤¦¶èÊ̤¬¤Ï¤Ã¤­¤ê¤È¸ºß¤¹¤ë¡£¤³¤ì¤Ï ls -l ¤Ç¸«¤ë¤È¤ï¤«¤ê¤ä¤¹¤¤¤À¤í¤¦¡£
% ls -l file-a file-b
-rw-r--r-- 1 user group 0 Aug 1 16:14 file-a
lrwxrwxrwx 1 user group 3 Aug 1 16:14 file-b -> file-a
ÀèÆ¬¤Î¥Õ¥¡¥¤¥ë¥¿¥¤¥×¤¬¡Öl¡×¤Ç¤¢¤ë¤³¤È¤«¤é¡¢file-b ¤ÏÄ̾ï¥Õ¥¡¥¤¥ë¤Ç¤Ï¤Ê¤¯¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Ç¤¢¤ê¡¢file-a ¤ò»Ø¤·¤Æ¤¤¤ë¤³¤È¤¬¤ï¤«¤ë¡£

¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Ï¡¢»²¾ÈÀ褬¸ºß¤·¤Ê¤¯¤Æ¤â¥¨¥é¡¼¤È¤Ê¤é¤Ê¤¤¡£¤Ä¤Þ¤ê¡¢file-a ¤¬Â¸ºß¤·¤Ê¤¯¤Æ¤â
% ln -s file-a file-b
¤È¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¤Þ¤¿¡¢¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Ï¥Ï¡¼¥É¥ê¥ó¥¯¤È¤Ï°ã¤Ã¤Æ¡¢Ê̤Υե¡¥¤¥ë¥·¥¹¥Æ¥à¤Ø¤â¥ê¥ó¥¯¤òÄ¥¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

¤Ê¤ª¡¢
% cd /tmp; ln -s /home/foo/bar/sample
¤Ï
% ln -s /home/foo/bar/sample /tmp/sample
¤ÈƱ¤¸¤Ç¤¢¤ë¡£¤Ä¤Þ¤ê¡¢Â¾¤Î¥Ç¥£¥ì¥¯¥È¥êÃæ¤Î¥Õ¥¡¥¤¥ë¤Ø¤Î¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤ò¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤ËºîÀ®¤·¤¿¤«¤Ã¤¿¤é¡¢
% ln -s /home/foo/bar/sample
¤È¡¢¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯Ì¾¤ò¾Êά¤Ç¤­¤ë¡£¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Îºï½ü¤ò¤·¤¿¤¤¤È¤­¤Ï¡¢ÉáÄÌ¤Ë rm ¥³¥Þ¥ó¥É¤ò»È¤¨¤Ð¤è¤¤¡£rm ¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Î»Ø¤¹Àè¤Ç¤Ï¤Ê¤¯¡¢¥ê¥ó¥¯¼«ÂΤòºï½ü¤¹¤ë¡£
>> ¥³¥Þ¥ó¥É rm *

¡ü¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó
¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¼«ÂΤΥѡ¼¥ß¥Ã¥·¥ç¥ó¤ÏÁ´¤¯°ÕÌ£¤ò»ý¤¿¤Ê¤¤¡£
lrwxrwxrwx 1 user group 3 Aug 1 16:14 file-b -> file-a
¤Ç¤â
l--------- 1 user group 3 Aug 1 16:14 file-b -> file-a
¤Ç¤âÁ´¤¯°ã¤¤¤Ï¤Ê¤¤¡£Í­¸ú¤Ê¤Î¤Ï¥ê¥ó¥¯Àè¤Î file-a ¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤Ç¤¢¤ë¡£
>> ¥³¥Þ¥ó¥É chmod *

¡ü¥ª¥×¥·¥ç¥ó
-f ¤¹¤Ç¤Ë¥ê¥ó¥¯¤¬Ä¥¤é¤ì¤Æ¤¤¤¿¤é¡¢¥ê¥ó¥¯¤òÉÕ¤±Âؤ¨¤ë¡£
% ln -s file link
% ln -s file2 link
ln: link: File exists
¤³¤Î¤è¤¦¤Ë¥ê¥ó¥¯¤Î¡ÖÄ¥¤êÂØ¤¨¡×¤Î¤è¤¦¤Êºî¶È¤ò¤¹¤ë¤È¥¨¥é¡¼¤È¤Ê¤ë¤¬ -f ¥ª¥×¥·¥ç¥ó¤òÉÕ¤±¤ë¤È¡¢¤³¤Î¡ÖÄ¥¤êÂØ¤¨¡×¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ë¡£
-s ¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤òÄ¥¤ë¡£-s ¤òÉÕ¤±¤Ê¤¤¤È¥Ï¡¼¥É¥ê¥ó¥¯¤È¤Ê¤ë¡£

locate¡¡¥Õ¥¡¥¤¥ë¤ò¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é¸¡º÷¤¹¤ë¡£

Î㤨¤Ð locate a ¤Ï
% find / -name '*a*' -print
¤ÈƱ¤¸Æ¯¤­¤ò¤¹¤ë¡£¤Ä¤Þ¤ê¡¢Á´¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ÎÃæ¤«¤é¡¢a ¤È¤¤¤¦Ê¸»ú¤ò´Þ¤à¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê̾¤ò¸¡º÷¤·¡¢É½¼¨¤¹¤ë¡£

¤·¤«¤· find ¤È°ã¤¤¡¢locate ¤Ï¤½¤Î¾ì¤Ç¥Ç¥£¥ì¥¯¥È¥ê¤ò¸¡º÷¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¤¤Î¤Ç¸¡º÷»þ´Ö¤¬¤«¤«¤é¤Ê¤¤¡£¤¢¤é¤«¤¸¤á¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥àÃæ¤ÎÁ´¥Õ¥¡¥¤¥ë¤ò¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ëµ­Ï¿¤·¤Æ¤ª¤­¡¢¤½¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¸¡º÷¤¹¤ë¤Î¤Ç¡¢¿ôÉäǸ¡º÷¤¬½ªÎ»¤¹¤ë¡£·çÅÀ¤Ï¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬¹¹¿·¤µ¤ì¤¿¸å¤Ë¥Õ¥¡¥¤¥ë¤Î°Üư¤Ê¤É¤ò¤·¤¿¾ì¹ç¡¢¤½¤Î¾ðÊ󤬥ǡ¼¥¿¥Ù¡¼¥¹¤ËÈ¿±Ç¤µ¤ì¤Ê¤¤¤³¤È¤Ç¤¢¤ë¡¢

FreeBSD ¤Î¾ì¹ç¤Ï¡¢/etc/periodic/weekly/310.locate ¤È¤¤¤¦¥¹¥¯¥ê¥×¥È¤¬½µ¤Ë1²ó¼Â¹Ô¤µ¤ì¡¢¤½¤ÎÃæ¤Ç /usr/libexec/locate.updatedb ¤¬¸Æ¤Ð¤ì¤Æ/var/db/locate.database ¤¬¹¹¿·¤µ¤ì¤ë¡£¤Ä¤Þ¤ê½µ¤Ë°ìÅÙ¤À¤±¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬¹¹¿·¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ë¡£¤Ê¤ª¡¢/etc/periodic/ ¤ò¼Â¹Ô¤¹¤ë¤Î¤Ï cron ¥Ç¡¼¥â¥ó¤Ç¤¢¤ë¡£
>> ¥³¥Þ¥ó¥É cron *

OS ¥¤¥ó¥¹¥È¡¼¥ëľ¸å¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë¤¬ºîÀ®¤µ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢Ä¾ÀÜ /usr/libexec/locate.updatedb ¤ò¼Â¹Ô¤¹¤ì¤Ð¤è¤¤¡£ËÜÅö¤Ï nobody ¸¢¸Â¤Ç¼Â¹Ô¤¹¤ë¤Î¤¬°ìÈ֤褤¤¬¡¢locate.updatedb(8) ¤ò»²¾È¡£

¤Ê¤ª¡¢/etc/locate.rc ¤ò½ñ¤­´¹¤¨¤ë¤³¤È¤Ç¡¢¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤Ï¸¡º÷Âоݤ˴ޤá¤Ê¤¤¡¢¤È¤¤¤¦ÀßÄê¤ò¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¡£
>> ÆÉ¤ßÊý locate *

lock¡¡¥¿¡¼¥ß¥Ê¥ë¤ò¥í¥Ã¥¯¤¹¤ë¡£

¼Â¹Ô¤¹¤ë¤È¥Ñ¥¹¥ï¡¼¥É¤òÍ׵ᤵ¤ì¤ë¡£ºÆ¤Ó¤½¤Î¥Ñ¥¹¥ï¡¼¥É¤¬ÆþÎϤµ¤ì¤ë¤Þ¤ÇÆþÎϤò¼õ¤±ÉÕ¤±¤Ê¤¤¡£
% lock
Key: (¥í¥Ã¥¯¤Î¥­¡¼¤òÆþÎÏ)
Again: (¤â¤¦°ìÅÙÆ±¤¸¥­¡¼¤òÆþÎÏ)
lock: /dev/ttyp2 on localhost. timeout in 15 minutes
time now is Fri Jan 23 21:32:09 JST 1998
Key: (¤³¤³¤Ç¥­¡¼¤òÆþÎϤ¹¤ë¤È¥í¥Ã¥¯²ò½ü)

Î㤨¤Ð kterm Æâ¤Ç lock ¤ò¼Â¹Ô¤¹¤ë¤È¡¢¥í¥Ã¥¯¤µ¤ì¤ë¤Î¤Ï kterm Æâ¤À¤±¤Ç¤¢¤ë¡£X ¤ò»È¤Ã¤Æ¤¤¤Æ²èÌÌÁ´ÂΤò¥í¥Ã¥¯¤·¤¿¤¤¾ì¹ç¤Ï xlock ¤ò»È¤¦¤È¤è¤¤¡£
>> ¥³¥Þ¥ó¥É xlock *

look¡¡±Ññ¸ì¤Î¤Ä¤Å¤ê¤òÄ´¤Ù¤ë¡£

Î㤨¤Ð¡Ö¥ì¥·¡¼¥Ö¡×¤Î¤Ä¤Å¤ê¤¬¡Öreceive¡×¡Örecieve¡×¡Öreseive¡×¤Î¤É¤ì¤¬Àµ¤·¤¤¤«¤ï¤«¤é¤Ê¤¤¾ì¹ç¡¢
% look reseive
¢Í ²¿¤â½ÐÎϤµ¤ì¤Ê¤¤ (¡á¤½¤ó¤Ê±Ññ¸ì¤Ï¤Ê¤¤)
% look recieve
¢Í ²¿¤â½ÐÎϤµ¤ì¤Ê¤¤ (¡á¤½¤ó¤Ê±Ññ¸ì¤Ï¤Ê¤¤)
% look receive
receive
received
receivedness
receiver
receivership
¢Í ½ÐÎϤµ¤ì¤¿¡£
¤È¤Ê¤ë¤¿¤á receive ¤¬Àµ¤·¤¤¤³¤È¤¬¤ï¤«¤ë¡£¼­½ñ¤Ï (FreeBSD ¤Î¾ì¹ç¤Ï) /usr/share/dict/words ¤ËÃÖ¤«¤ì¤Æ¤¤¤ë¡£

ls¡¡¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤òɽ¼¨

¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Î°ìÍ÷¤òɽ¼¨¤¹¤ë¡£¥Õ¥¡¥¤¥ë¤ò»ØÄꤻ¤º
% ls
¤È¤¹¤ë¤È¡¢¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ë¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤òɽ¼¨¤¹¤ë¡£
% ls file1 file2 file3
¤À¤È¡¢»ØÄꤷ¤¿¥Õ¥¡¥¤¥ë¤Î°ìÍ÷¤òɽ¼¨¤¹¤ë¡£
% ls file? *.txt
¤Ê¤É¤È¡¢¥ï¥¤¥ë¥É¥«¡¼¥É¤ò»È¤¦¤³¤È¤â¤Ç¤­¤ë¡£¾ÜºÙ¤Ê¾ðÊó¤ò¸«¤¿¤¤¾ì¹ç¤Ï
% ls -l file1 file2 file3
¤È¤¹¤ì¤Ð¤è¤¤¡£
% ls dir1 dir2 dir3
¤Î¤è¤¦¤Ë¡¢¥Ç¥£¥ì¥¯¥È¥ê̾¤ò»ØÄꤹ¤ë¤È¡¢»ØÄꤷ¤¿¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë¤¢¤ë¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤òɽ¼¨¤¹¤ë¡£(¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ç¤Ï¤Ê¤¯)¥Ç¥£¥ì¥¯¥È¥ê¼«ÂΤξðÊó¤ò¸«¤¿¤¤¤Ê¤é¡¢
% ls -d dir1
¤È¤¹¤ë¡£¤Þ¤¿¡¢ls ¤Ï¡Ö.¡×¤«¤é»Ï¤Þ¤ë¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê¤Ïɽ¼¨¤·¤Ê¤¤¡£-a ¤ä -A ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤³¤È¤Ç¡Ö.¡×¤«¤é»Ï¤Þ¤ë¥Õ¥¡¥¤¥ë¤âɽ¼¨¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

ɬ¤º³Ð¤¨¤Æ¤ª¤­¤¿¤¤¤Î¤Ï¡¢-l¡¢-A ¥ª¥×¥·¥ç¥ó¡£³Ð¤¨¤Æ¤ª¤¯¤ÈÊØÍø¤Ê¤Î¤Ï -F ¥ª¥×¥·¥ç¥ó¡£Åö¥Ú¡¼¥¸´ÉÍý¿Í¤Ï
% alias ls "ls -F"
% alias l "ls -lFA"
¤È¤·¤Æ¤¤¤ë¡£¤³¤ì¤Ï csh¡¦tcsh ¤Î½ñ¤­Êý¡£sh¡¦bash ¤ò»È¤Ã¤Æ¤¤¤ë¤Ê¤é
% alias ls="ls -F"
% alias l="ls -lFA"
¤È¤¹¤ì¤Ð¤è¤¤¡£
>> ¥³¥Þ¥ó¥É alias *

-a ¡Ö.¡× ¤«¤é»Ï¤Þ¤ë¥Õ¥¡¥¤¥ë¤âɽ¼¨¡£¡Ö.¡×¡Ö..¡×¤âɽ¼¨¤¹¤ë¡£
-A ¡Ö.¡× ¤«¤é»Ï¤Þ¤ë¥Õ¥¡¥¤¥ë¤âɽ¼¨¡£¡Ö.¡×¡Ö..¡×¤Ïɽ¼¨¤·¤Ê¤¤¡£
root ¤¬ ls ¤ò¼Â¹Ô¤·¤¿¾ì¹ç¡¢¾ï¤Ë -A ¥ª¥×¥·¥ç¥ó¤¬ÉÕ¤±¤é¤ì¤¿¤â¤Î¤È¤·¤ÆÆ°ºî¤¹¤ë¡£
-l ¥Õ¥¡¥¤¥ë¡¢¥Ç¥£¥ì¥¯¥È¥ê¤Î¾ÜºÙ¤Ê¾ðÊó¤òɽ¼¨¤¹¤ë
-T ¥¿¥¤¥à¥¹¥¿¥ó¥×¤òǯ·îÆü»þʬÉäޤÇɽ¼¨ (Í× -l ¥ª¥×¥·¥ç¥ó)
-o ¥Õ¥¡¥¤¥ë¥Õ¥é¥°¤òɽ¼¨¡£BSD ·Ï¤Î¤ß (Í× -l ¥ª¥×¥·¥ç¥ó)
>> ¥³¥Þ¥ó¥É chflags *
-1 (¥Þ¥¤¥Ê¥¹¥¨¥ë¤¸¤ã¤Ê¤¯¤Æ¥Þ¥¤¥Ê¥¹¥¤¥Á) 1¹Ô¤Ë¤Ä¤­1¤Ä¤Î¥Õ¥¡¥¤¥ë¤Î¾ðÊó¤òɽ¼¨
-C ¥Þ¥ë¥Á¥«¥é¥à¤Çɽ¼¨ (-1 ¤ÎµÕ)¡£
% ls | more
¤Ê¤É¤È¤¹¤ë¤È¡¢ls ¤¬½ÐÎÏÀ褬¥Ñ¥¤¥×¤À¤ÈȽÃǤ·¡¢¼«Æ°Åª¤Ë -1 ¤ò»ØÄꤷ¤¿¤Î¤ÈƱ¤¸¤è¤¦¤Ëưºî¤¹¤ë¤¬¡¢-C ¤òÉÕ¤±¤ë¤È¤½¤ì¤òÍÞÀ©¤·¡¢1¹Ô¤ËÊ£¿ô¤Î¥Õ¥¡¥¤¥ë¤òɽ¼¨¤¹¤ë¡£
-F ¥Õ¥¡¥¤¥ë¥¿¥¤¥×¤Î¼±Ê̻ҤòÉÕ¤±¤ë¡£
¥Ç¥£¥ì¥¯¥È¥ê¤Î¸å¤í¤Ë¡Ö/¡×¡¢¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¤Î¸å¤í¤Ë¡Ö@¡×¡¢¼Â¹Ô·Á¼°¥Õ¥¡¥¤¥ë¤Î¸å¤í¤Ë¡Ö*¡×¤ò¤Ä¤±¤ë
-L ¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯¼«ÂΤǤϤʤ¯¡¢¥ê¥ó¥¯Àè¤Î¥Õ¥¡¥¤¥ë¤Î¾ðÊó¤òɽ¼¨
-R ºÆµ¢Åª¤Ë¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤Î¥Õ¥¡¥¤¥ë¤òɽ¼¨¤¹¤ë¡£
¤Ä¤Þ¤ê ls -R / ¤ÇÁ´¤Æ¤Î¥Õ¥¡¥¤¥ë¤¬É½¼¨¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ë
-c ¥Õ¥¡¥¤¥ë¤ÎÊѹ¹Æü»þ¤Ç¤Ï¤Ê¤¯¡¢ºÇ¸å¤Ë¥Õ¥¡¥¤¥ë¥¹¥Æ¡¼¥¿¥¹¤òÊѹ¹¤·¤¿Æü»þ¤òɽ¼¨
-u ¥Õ¥¡¥¤¥ë¤ÎÊѹ¹Æü»þ¤Ç¤Ï¤Ê¤¯¡¢ºÇ¸å¤Ë¥Õ¥¡¥¤¥ë¤Ë¥¢¥¯¥»¥¹¤·¤¿Æü»þ¤òɽ¼¨
-d ¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤Î¥Õ¥¡¥¤¥ë¤Ç¤Ï¤Ê¤¯¥Ç¥£¥ì¥¯¥È¥ê¼«ÂΤξðÊó¤òɽ¼¨¡£
ls -l /usr/bin ¤Ï¡¢ls -l /usr/bin/* ¤ÈƱ¤¸¤è¤¦¤Êưºî¤ò¤¹¤ë¤¬¡¢ls -ld /usr/bin ¤À¤È¡¢
drwxr-xr-x 2 bin bin 5120 Oct 7 05:26 /usr/bin
¤È¡¢¥Ç¥£¥ì¥¯¥È¥ê¼«ÂΤξðÊó¤òɽ¼¨¤¹¤ë
-f ¥Õ¥¡¥¤¥ë̾¤ò¥½¡¼¥È¤»¤º¤Ëɽ¼¨
-r µÕ½ç¤Ë¥½¡¼¥È¤·¤ÆÉ½¼¨
-t ¥Õ¥¡¥¤¥ë¤òÊѹ¹¤·¤¿Æü»þ¤Î½ç¤Ç¥½¡¼¥È¤¹¤ë¡£ºÇ¶á¤É¤Î¥Õ¥¡¥¤¥ë¤¬¹¹¿·¤µ¤ì¤¿¤«Ä´¤Ù¤¿¤¤¤È¤­¤Ï
% ls -lt | head
ºÇ¶á¤É¤Î¥Õ¥¡¥¤¥ë¤¬»²¾È¤µ¤ì¤¿¤«¤òÄ´¤Ù¤¿¤¤¤È¤­¤Ï
% ls -lut | head
¤¬ÊØÍø¡£
-i ¥Õ¥¡¥¤¥ë¤Î i-node ¤òɽ¼¨
>> ¥³¥Þ¥ó¥É ln *
-s ³Æ¥Õ¥¡¥¤¥ë¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¥Ö¥í¥Ã¥¯¤Î»ÈÍÑÎ̤òɽ¼¨ (512¥Ð¥¤¥Èñ°Ì)
¤¿¤È¤¨1¥Ð¥¤¥È¤Î¥Õ¥¡¥¤¥ë¤Ç¤â1¥Ö¥í¥Ã¥¯ (512¥Ð¥¤¥È) ¤ò¾ÃÈñ¤·¤Æ¤¤¤ë¡£¤½¤Î¾ÃÈñÎ̤òɽ¼¨¤¹¤ë¡£¥Ö¥í¥Ã¥¯¤Îñ°Ì¤Ï´Ä¶­ÊÑ¿ô BLOCKSIZE ¤ÇÀßÄê¤Ç¤­¤ë¡£
>> ´Ä¶­ÊÑ¿ô BLOCKSIZE *
>> ÍѸ콸 ·ê¤¢¤­¥Õ¥¡¥¤¥ë *
-k -s ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤¿¾ì¹ç¡¢»ÈÍÑÎ̤ò 1K ¥Ð¥¤¥Èñ°Ì¤Çɽ¼¨¤¹¤ë
-x ¥Õ¥¡¥¤¥ë¤ò²£Êý¸þ¤Ç¤Ï¤Ê¤¯¡¢½ÄÊý¸þ¤Ë¥½¡¼¥È¤¹¤ë
(-x ¥ª¥×¥·¥ç¥ó¤Ï SystemV ·Ï¤È GNU ¤Î ls ¤Î¤ß)¡£
-q ¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥ì¥¯¥È¥ê̾¤ÎÃæ¤Ëɽ¼¨ÉÔ²Äǽ¤Êʸ»ú¤¬¤¢¤Ã¤¿¾ì¹ç¡¢`?' ¤È¤¤¤¦Ê¸»ú¤ËÃÖ¤­´¹¤¨¤ÆÉ½¼¨¤¹¤ë¡£¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£¤³¤Î¤ª¤«¤²¤ÇÆüËܸì¤ò´Þ¤à¥Õ¥¡¥¤¥ë̾¤ò ls ¤Çɽ¼¨¤·¤è¤¦¤È¤¹¤ë¤È¡¢???? ¤Ê¤É¤È¤Ê¤Ã¤Æ¤·¤Þ¤¦¡£¤³¤Îµ¡Ç½¤Ï¡¢½ÐÎÏÀ褬¥Ñ¥¤¥×¤ä¥Õ¥¡¥¤¥ë¤À¤ÈÍÞÀ©¤µ¤ì¤ë¤Î¤Ç¡¢
% ls | less
% ls | cat
¤Ê¤É¤È¤¹¤ë¤È¡¢ÆüËܸì¥Õ¥¡¥¤¥ë̾¤òɽ¼¨¤Ç¤­¤ë¡£
>> ¥³¥Þ¥ó¥É stat *
>> ÆÉ¤ßÊý ls *

lsdev¡¡¸½ºß¤Î¥·¥¹¥Æ¥à¤ÇÍ­¸ú¤Ê¥Ç¥Ï¥¤¥¹¤òɽ¼¨

-t class »ØÄꤷ¤¿¥¿¥¤¥×¤Î¥Ç¥Ð¥¤¥¹¤òɽ¼¨¡£
class ¤Ë»ØÄê¤Ç¤­¤ë¤Î¤Ï¡¢cpu¡¢isa¡¢eisa¡¢pci¡¢scsi¡¢disk¡¢bus¡£
-c ¥«¡¼¥Í¥ëÀßÄê¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¤è¤¦¤Ê½ñ¼°¤Ç½ÐÎÏ

lsof¡¡¥ª¡¼¥×¥óÃæ¤Î¥Õ¥¡¥¤¥ë°ìÍ÷¤ä¡¢¥Õ¥¡¥¤¥ë¤ò¥ª¡¼¥×¥ó¤·¤Æ¤¤¤ë¥×¥í¥°¥é¥à¤Î°ìÍ÷¤òɽ¼¨

>> ¥³¥Þ¥ó¥É fuser *   fstat *
>> ÆÉ¤ßÊý lsof *

lynx¡¡¥Æ¥­¥¹¥È¥Ö¥é¥¦¥¶

µ¯Æ°»þ¤Ë
% lynx http://www.foo.com/~bar/index.html
¤È¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç URL ¤òÍ¿¤¨¤ë¤È¡¢»ØÄꤷ¤¿¥Ú¡¼¥¸¤òɽ¼¨¤¹¤ë¡£¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ë¤ò
% lynx dir/index.html
¤È¤·¤Æ¤â¤è¤¤¡£

µ¯Æ°¸å¤Ï¥«¡¼¥½¥ë¥­¡¼¤Î¾å²¼¤Ç°Üư¤·¡¢¥ê¥¿¡¼¥ó¥­¡¼¤Ç¥ê¥ó¥¯Àè¤Ø¥¸¥ã¥ó¥×¤¹¤ë¡£Ctrl-n¡¢Ctrl-p ¤ÇÁ°¸å¤Ë1¹Ô¤º¤Ä¥¹¥¯¥í¡¼¥ë¤¹¤ë¡£¥«¡¼¥½¥ë¥­¡¼¤Îº¸±¦¤Ç¡¢Ä¾Á°¤Ë¸«¤Æ¤¤¤¿¥Ú¡¼¥¸¤Ë°Üư¤Ç¤­¤ë¡£

lynx ¤Ï¹ñºÝ²½¤µ¤ì¤Æ¤¤¤ë¤¬¡¢¥Ç¥Õ¥©¥ë¥È¤ÇÆüËܸì¤òɽ¼¨¤¹¤ë¤È²½¤±¤Æ¤·¤Þ¤¦¡£ÆüËܸì¤òɽ¼¨¤µ¤»¤ë¤Ë¤Ï¡¢lynx ¤òµ¯Æ°¤·¤Æ O)ption¡¢C)haracter set ¤È¤·¤Æ Japanese(EUC) ¤òÁªÂò¤¹¤ë¡£ÁªÂò¸å¤Ë¡Ö>¡×¤ò²¡¤¹¤ÈÀßÄê¤ò ~/.lynxrc ¤Ë¥»¡¼¥Ö¤¹¤ë¡£

-source URL »ØÄê¤ÎURL¤òÆÉ¤ß¤³¤ß¡¢É¸½à½ÐÎϤ˽ñ¤­½Ð¤¹¡£
% lynx -source http://www.foo.com/~bar/index.html
% lynx -source http://www.foo.com/~bar/sample.jpg > sample.jpg

HTTP proxy ¤ÎÀßÄê¤Ï¡¢´Ä¶­ÊÑ¿ô HTTP_PROXY ¤ÇÀßÄê¤Ç¤­¤ë¡£
>> ¥³¥Þ¥ó¥É mosaic *   netscape *
>> ´Ä¶­ÊÑ¿ô HTTP_PROXY *
>> ÆÉ¤ßÊý lynx *

m4¡¡¥Þ¥¯¥í¸À¸ì¥×¥í¥»¥Ã¥µ

m4 ¤Ï cpp ¤Î¤è¤¦¤Ëʸ»úÎó¤ÎÃÖ¤­´¹¤¨¡¦¥Õ¥¡¥¤¥ë¼è¤ê¹þ¤ß¤Ê¤É¤ò¹Ô¤¦¥Þ¥¯¥í¸À¸ì¥×¥í¥»¥Ã¥µ¤Ç¤¢¤ë¡£m4 ¤Ï cpp ¤è¤ê¶¯ÎϤÀ¤¬¡¢¤½¤Îʬ¤ï¤«¤ê¤Å¤é¤¤¡£m4 ¤ò¾ÜºÙ¤ËÀâÌÀ¤¹¤ë¤ÈËܤ¬°ìºý½ñ¤±¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢³µÍפÀ¤±½Ò¤Ù¤ë¡£

¤Þ¤º¤Ï¥³¥Þ¥ó¥É¥é¥¤¥ó¤«¤é m4 ¤ò¼Â¹Ô¤·¤Æ¤ß¤è¤¦¡£m4 ¤¬²¿¤ÎÌò¤ËΩ¤Ä¤«¤ï¤«¤é¤Ê¤¤¿Í¤Ï¤Ä¤Þ¤é¤Ê¤¯»×¤¦¤«¤â¤·¤ì¤Ê¤¤¤¬¡¢ºÇ½é¤Ë´ðËÜŪ¤Êµ¡Ç½¤À¤±¤ÏÍÞ¤¨¤Æ¤ª¤¯¤ÈÍý²ò¤·¤ä¤¹¤¤¡£

ÆþÎϹԤÏÊØµ¹Åª¤Ë¡Ö>¡×¤òÉÕ¤±¤¿¤¬¡¢¼ÂºÝ¤Ë¤Ï¤³¤Î¤è¤¦¤Ê¥×¥í¥ó¥×¥È¤Ïɽ¼¨¤µ¤ì¤Ê¤¤¡£
% m4
> hoge
hoge
¢Í hoge ¤òÆþÎϤ·¤¿¤é hoge ¤¬½ÐÎϤµ¤ì¤¿¡£m4 ¤ÎºÇ¤â´ðËÜŪ¤Êµ¡Ç½¤Ï¡¢ÆþÎϤò¤½¤Î¤Þ¤Þ½ÐÎϤ¹¤ë¤³¤È¤Ç¤¢¤ë¡£
> define(hoge, `fuga')
¢Í ¥Þ¥¯¥í hoge ¤òÄêµÁ¡£ÆþÎÏ¤Ë hoge ¤òȯ¸«¤·¤¿¤éfuga ¤ËÃÖ´¹¤¹¤ë¤È¤¤¤¦¤³¤È¡£fuga ¤ò°Ï¤à¥¯¥©¡¼¥È¤Ï '¡Á' ¤Ç¤Ï¤Ê¤¯ `¡Á' (¥Ð¥Ã¥¯¥¯¥©¡¼¥È¤È¥·¥ó¥°¥ë¥¯¥©¡¼¥È) ¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ¡£
> hoge
fuga
¢Í ¥Þ¥¯¥í hoge ¤òÄêµÁ¤·¤¿¤¿¤á¡¢fuga ¤ËÃÖ´¹¤µ¤ì¤¿
> hogehoge
hogehoge
¢Í hogehoge ¤Ï fugafuga ¤È¤Ï¤Ê¤é¤Ê¤¤¡£m4 ¤Ïñ½ã¤Ëʸ»úÎó¤òÃÖ´¹¤¹¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¡£¤Ê¤¼¤Ê¤é¡¢hogehoge ¤Ï hoge ¤È hoge ¤¬Ï¢Â³¤·¤¿¤â¤Î¤È¤Ï¸«¤Ê¤µ¤ì¤º¡¢hogehoge ¤È¤¤¤¦¤Ò¤È¤Ä¤ÎÆþÎÏ (Àµ³Î¤Ë¤Ï¥È¡¼¥¯¥ó) ¤È¸«¤Ê¤µ¤ì¤ë¡£
> hoge hoge
fuga fuga
¢Í ¶õÇò¤Ç¶èÀÚ¤ì¤ÐÊ̤Υȡ¼¥¯¥ó¤È¤Ê¤ë¤Î¤Ç¡¢hoge hoge ¤Ï fuga fuga ¤ËÃÖ´¹¤µ¤ì¤ë¡£
> define(abc, `hoge')
¢Í ¥Þ¥¯¥í abc ¤òÄêµÁ¡£abc ¤Ï hoge ¤ËÃÖ´¹¤µ¤ì¤ë¡£
> abc
fuga
¢Í abc ¤Ï hoge ¤Ç¤Ï¤Ê¤¯ fuga ¤È¤Ê¤Ã¤Æ¤¤¤ë¤³¤È¤ËÃí°Õ¡£
define(hoge, `fuga')
define(abc, `hoge')
¤È¤¤¤¦ 2¤Ä¤Î¥Þ¥¯¥íÄêµÁ¤Ë¤è¤ê¡¢abc ¢ª hoge ¢ª fuga ¤È¤Ê¤ë¡£¤Ä¤Þ¤ê¥Þ¥¯¥íŸ³«¸å¤Îʸ»úÎ󤬥ޥ¯¥í¤È¸«¤Ê¤»¤ë¾ì¹ç¡¢ºÆÅÙ¥Þ¥¯¥íŸ³«¤¬¹Ô¤ï¤ì¤ë¡£¤³¤ì°Ê¹ß¤Ï¥Þ¥¯¥í¤ÈŸ³«¸å¤Îʸ»úÎó¤òº®Æ±¤·¤Ê¤¤¤è¤¦¡¢¥Þ¥¯¥í̾¤Ï¡Ö¥¢¥ó¥À¡¼¥Ð¡¼ + Âçʸ»ú¡×¤ËÅý°ì¤¹¤ë¡£
> define(_ARGS, `args are $1 $2')
¢Í ¥Þ¥¯¥í¤Ë¤Ï°ú¿ô¤òÅϤ¹¤³¤È¤¬¤Ç¤­¤ë¡£¥Þ¥¯¥íÄêµÁÉô¤Ç¤Ï $1¡¦$2¡Ä ¤Ç 1ÈÖÌÜ¡¦2ÈÖÌÜ¡Ä ¤Î°ú¿ô¤ò°·¤¦¤³¤È¤¬¤Ç¤­¤ë¡£
> _ARGS(`aaa')
args are aaa
> _ARGS(`aaa', `bbb')
args are aaa bbb
> _ARGS(`aaa', `bbb', `ccc')
args are aaa bbb
¢Í ¥Þ¥¯¥í _ARGS ¤Ç¤Ï 2¤Ä¤Î°ú¿ô¤·¤«»ÈÍѤ·¤Æ¤¤¤Ê¤¤¤¿¤á¡¢3¤ÄÌܰʹߤΰú¿ô¤Ï̵»ë¤µ¤ì¤ë¡£
> define(_ARGS, `args are $* [$#]')
¢Í Á´¤Æ¤Î°ú¿ô¤òɽ¤¹¤Ë¤Ï $* ¤ò¡¢°ú¿ô¤Î¿ô¤Ï $# ¤ò»È¤¦¡£¤Á¤Ê¤ß¤Ë¤³¤ì¤Ï¾å¤ÇÄêµÁ¤·¤¿¥Þ¥¯¥í _ARGS ¤òºÆÄêµÁ¤·¤Æ¤¤¤ë¤³¤È¤Ë¤Ê¤ë¡£
> _ARGS(`aaa', `bbb', `ccc', `ddd')
args are aaa bbb ccc ddd [4]
¢Í Á´¤Æ¤Î°ú¿ô¤È¡¢°ú¿ô¤Î¸Ä¿ô¤ËŸ³«¤µ¤ì¤Æ¤¤¤ë¡£

m4 ¤Ë¤Ï¤¤¤¯¤Ä¤«¤ÎÁȤ߹þ¤ß¥Þ¥¯¥í¤¬¤¢¤é¤«¤¸¤áÍѰդµ¤ì¤Æ¤¤¤ë (define ¤â¤½¤Î°ì¤Ä)¡£
> include(`hoge.txt')
¢Í ¥Õ¥¡¥¤¥ë hoge.txt ¤ò¼è¤ê¹þ¤à¡£¤â¤·¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Ê¤±¤ì¤Ð¥¨¥é¡¼¡£¥Õ¥¡¥¤¥ëÆâÍÆ¤â¥Þ¥¯¥í¤È¤·¤ÆÉ¾²Á¤µ¤ì¤ë¤³¤È¤ËÃí°Õ¡£
> syscmd(`¥³¥Þ¥ó¥É')
¢Í ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤¿·ë²Ì¤ò¼è¤ê¹þ¤à¡£

¥³¥Þ¥ó¥É¥é¥¤¥ó¤«¤é¥Þ¥¯¥íÄêµÁ¤ò¤¤¤Á¤¤¤Á¥¿¥¤¥×¤·¤¿¤¯¤Ê¤¤¤À¤í¤¦¤«¤é¡¢¥Õ¥¡¥¤¥ë (¤³¤ÎÎã¤Ç¤Ï input.txt) ¤Ë
define(_HOGE, `fuga $1')
_HOGE(`abc')
¤ÈÆþÎÏÆâÍÆ¤È¥Þ¥¯¥íÄêµÁ¤ò¤¢¤é¤«¤¸¤áµ­½Ò¤·¤Æ¤ª¤­¡¢
% m4 input.txt > output.txt
¤È¤·¤Æ¥Þ¥¯¥íŸ³«¤ò¹Ô¤¦¤Î¤¬°ìÈÌŪ¤Ê»È¤¤Êý¤Ç¤¢¤ë¡£

¤â¤·ÆþÎÏÆâÍÆ¤È¥Þ¥¯¥íÄêµÁ¤òʬΥ¤·¤Æ¤ª¤­¤¿¤±¤ì¤Ð¡¢Å¬Åö¤Ê¥Õ¥¡¥¤¥ë¡¢Î㤨¤Ð input.m4 ¤Ë
define(_HOGE, `fuga $1')
¤È¥Þ¥¯¥íÄêµÁ¤òµ­½Ò¤·¡¢ÆþÎÏ¥Õ¥¡¥¤¥ëÆâ¤Ç
include(`input.m4')
_HOGE(`abc')
¤È¥Þ¥¯¥íÄêµÁ¥Õ¥¡¥¤¥ë¤ò include ¤¹¤ì¤Ð¤è¤¤¡£¤³¤¦¤¹¤ë¤³¤È¤Ç¡¢°ì¤Ä¤À¤±¥Þ¥¯¥íÄêµÁ¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Æ¤ª¤¤¤Æ¡¢Ê£¿ô¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤Ç»È¤¤¤Þ¤ï¤¹¤³¤È¤¬¤Ç¤­¤ë¡£

¤è¤ê¼ÂÁ©Åª¤ÊÎã¤È¤·¤Æ¡¢HTML ¤ò m4 ¤ÇÀ¸À®¤·¤Æ¤ß¤è¤¦¡£Åö¥Ú¡¼¥¸´ÉÍý¿Í¤Ï HTML ¥Õ¥¡¥¤¥ë¤ò¼ê¤Ç½ñ¤¤¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¡£¥¨¥Ç¥£¥¿¤Ç
¤Î¤è¤¦¤Ê¥×¥ì¥¤¥ó¥Æ¥­¥¹¥È¤òºîÀ®¤·¡¢¤³¤ì¤ò¼«ºî¤Î Perl ¥¹¥¯¥ê¥×¥È¤Ë¶ô¤ï¤»¤ë¤³¤È¤Ç
¤È¤¤¤¦ HTML ¥Õ¥¡¥¤¥ë¤ò¼«Æ°À¸À®¤·¤Æ¤¤¤ë¡£

¼«ºî¥¹¥¯¥ê¥×¥È¤Î¼ç¤Êµ¡Ç½¤Ï°Ê²¼¤ÎÄ̤ꡣ
  • ¡Ö:start ¤Û¤²¤Û¤²¡×¤È½ñ¤±¤Ð HTML¡¦HEAD¡¦TITLE¡¦BODY Í×ÁǤ¬½ÐÎϤµ¤ì¡¢¡Ö¤Û¤²¤Û¤²¡×¤¬¥Ú¡¼¥¸¥¿¥¤¥È¥ë¤È¤Ê¤ë
  • ¡Ö:term ¤Õ¤¬¤Õ¤¬¡×¤È½ñ¤±¤Ð¹àÌܤθ«½Ð¤·¤È¤Ê¤ë
  • ¡Ö:cmd¡×¡Á¡Ö:cmd¡×¤Ç°Ï¤à¤È¥³¥Þ¥ó¥É¤Î¼Â¹ÔÎã¤È¤·¤ÆÉ½¼¨¤µ¤ì¤ë
  • ¡Ö:code¡×¡Á¡Ö:code¡×¤Ç°Ï¤à¤È¥½¡¼¥¹¤ÎÎã¤È¤·¤ÆÉ½¼¨¤µ¤ì¤ë
  • ¡Ö:preincude ¥Õ¥¡¥¤¥ë̾¡×¤È½ñ¤¯¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ëÁ´ÂΤ¬¼è¤ê¹þ¤Þ¤ì¤ë
  • ¤³¤Î¤È¤­¡¢¥½¡¼¥¹¤Ë¹ÔÈÖ¹æ¤òÉղ乤ë
  • ¤µ¤é¤Ë¥½¡¼¥¹Ãæ¤Î <¡¦> ¤ò &lt;¡¦&gt; ¤ËÃÖ´¹¤¹¤ë (¼ÂÂλ²¾È²½)
  • ¡Ö:preincude ¥Õ¥¡¥¤¥ë̾ 42-45¡×¤È½ñ¤¯¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ëÃæ¤Î»ØÄꤷ¤¿¹ÔÈÖ¹æÉôʬ¤¬¼è¤ê¹þ¤Þ¤ì¤ë
  • ¡Ö:preincude 42-45¡×¤È¥Õ¥¡¥¤¥ë̾¤ò¾Êά¤¹¤ë¤È¡¢Á°²ó»ØÄꤷ¤¿¥Õ¥¡¥¤¥ë̾¤¬¼è¤ê¹þ¤Þ¤ì¤ë
  • ¥Õ¥¡¥¤¥ë¤Î½ª¤ï¤ê¤Ë¤Ï¼«Æ°Åª¤Ë cvs ¤Î $id: ¥Ø¥Ã¥À¤ä BODY¡¦HTML Í×ÁǤÎÊĤ¸¥¿¥°¤¬½ÐÎϤµ¤ì¤ë

¾åµ­¤ÎºÙ¤«¤Ê»ÅÍͤϤɤ¦¤Ç¤â¤è¤¤¡£¤³¤ì¤ÈƱ¤¸¤³¤È¤ò m4 ¤ò»È¤Ã¤Æ¼Â¸½¤·¤Æ¤ß¤è¤¦¡¢¤È¤¤¤¦¤Î¤¬ÌÜŪ¤Ç¤¢¤ë¡£

·ë²Ì¤È¤·¤Æ¡¢°Ê²¼¤Îµ¡Ç½Êѹ¹¤ò¹Ô¤Ã¤¿¡£
  • m4 ¤Ç¤Ï¥³¥í¥ó¤ò´Þ¤à¥Þ¥¯¥í̾¤Ï»È¤¨¤Ê¤¤¤Î¤Ç¡¢¥¢¥ó¥À¡¼¥Ð¡¼¤«¤é»Ï¤Þ¤ë¥Þ¥¯¥í̾¤ËÊѹ¹¤·¤¿¡£
  • ¡Ö:cmd ¡Á :cmd ¤Ç°Ï¤à¡×¤È¤¤¤Ã¤¿¾õÂÖÊÝ»ý¤¬É¬Íפʽñ¤­Êý¤Ï m4 Ū¤Ç¤Ï¤Ê¤¤¤Î¤Ç¡¢¡Ö_CMD_BEGIN ¡Á _CMD_END ¤Ç°Ï¤à¡×¤ËÊѹ¹¤·¤¿ (define ¤Ç¸½ºß¤Î¾õÂÖ¤òÊݸ¤¹¤ì¤Ð¡¢¥È¥°¥ëŪ¤Êưºî¤â²Äǽ¤À¤í¤¦)¡£
¤½¤·¤Æ¤¤¤í¤¤¤í»î¹Ôºø¸í¤·¤Æ¤ß¤¿¤¬¡¢FreeBSD 5.2.1-RELEASE ¤Î m4 ¤Ç¤Ï¡¢°Ê²¼¤Îµ¡Ç½¤Ï¼Â¸½¤Ç¤­¤Ê¤«¤Ã¤¿¡£
  • ¡Ö:preincude ¥Õ¥¡¥¤¥ë̾ 42-45¡×¤È½ñ¤¯¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ëÃæ¤Î»ØÄꤷ¤¿¹ÔÈÖ¹æÉôʬ¤¬¼è¤ê¹þ¤Þ¤ì¤ë
  • ¡Ö:preincude ¥Õ¥¡¥¤¥ë̾¡×¤Ç¼è¤ê¹þ¤ó¤À¥½¡¼¥¹Ãæ¤Î <¡¦> ¤ò &lt;¡¦&gt; ¤ËÃÖ´¹¤¹¤ë
ºÇ½ªÅª¤ËºîÀ®¤·¤¿ m4 ¥Þ¥¯¥í¤Ï°Ê²¼¤ÎÄ̤ꡣ
define(_HTML_BEGIN, `<HTML><HEAD><TITLE>$*</TITLE></HEAD><BODY><H1>$*</H1>')
define(_HTML_END, `<P CLASS="cvsid"><A HREF="_CVSWEB_URL">_CVSID</A></P></BODY></HTML>')
define(_TERM, `<H2>$*</H2>')
define(_CMD_BEGIN, `<PRE class="cmd">')
define(_CMD_END, `</PRE>')
define(_CODE_BEGIN, `<PRE class="code">')
define(_CODE_END, `</PRE>')
define(_PREINCLUDE, `<PRE class="code">syscmd(cat -n $1)</PRE>')
define(_CVSID, `$Id: prgmemo.src,v 1.64 2011/08/05 05:12:37 68user Exp $')
define(_CVSWEB_URL, `../cgi-bin/cvsweb.cgi/public_html/net/org/'__file__)
m4wrap(`_HTML_END')

_HTML_BEGIN(`RSA ¤Ç°Å¹æ²½¤·¤Æ¤ß¤è¤¦ (2)')
_TERM(`¼«Ê¬¤Ç°Å¹æ²½¡¦Éü¹æ²½')

Á°¥Ú¡¼¥¸¤ÇºîÀ®¤·¤¿ (ά) ¼Â¹Ô·ë²Ì¤Ï°Ê²¼¤ÎÄ̤ꡣ

_CMD_BEGIN
% cc -o rsa-2 rsa-2.c -lcrypto
(ά)
_CMD_END

¤Þ¤º¤Ï RSA ¤Î¸°À¸À®¤Ç¤¹¡£Á°¥Ú¡¼¥¸¤Î rsa-1.c ¤Ç¤Ï

_CODE_BEGIN
RSA *rsa = RSA_generate_key(KEYBIT_LEN, 65537, NULL, NULL);
_CODE_END

¤À¤±¤ÇºÑ¤ó¤Ç¤¤¤Þ¤·¤¿¤¬¡¢º£Å٤ϼ«Ê¬¤Ç·×»»¤·¤Ê¤¯¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡£

_PREINCLUDE(`rsa-2.c')
(ά)

°Ê²¼¡¢Íî¤ÁÊæ½¦¤¤¡£

¡ü¥³¥á¥ó¥È
m4 ¤Î¥³¥á¥ó¥È¤Ï # ¤«¤é¹ÔËö¤Þ¤Ç¤Ç¤¢¤ë¡£¤¿¤À¤·¥Þ¥¯¥í²òÀϤÎÂоݤȤʤé¤Ê¤¤¤À¤±¤Ç¡¢¥³¥á¥ó¥È¤â¤½¤Î¤Þ¤Þ½ÐÎϤµ¤ì¤Æ¤·¤Þ¤¦¤³¤È¤ËÃí°Õ¡£
% m4
> #hogehoge
#hogehoge
½ÐÎϤ·¤¿¤¯¤Ê¤¤¥³¥á¥ó¥È¤Ï
divert(-1)
# ¥³¥á¥ó¥È
# ¥³¥á¥ó¥È
divert(0)dnl
¤È¤¹¤ì¤Ð¤è¤¤¡£°ÕÌ£¤Ë¤Ä¤¤¤Æ¤ÏÁȤ߹þ¤ß¥Þ¥¯¥í divert ¤Î¹à¤ò»²¾È¡£
¡üdnl
dnl ¤Ï¡ÖDelete through NewLine¡×¤Îά¤Ç¡Ö¤³¤³¤«¤é¹ÔËö¤Þ¤ÇÇË´þ¡×¤È¤¤¤¦°ÕÌ£¤Ç¤¢¤ë¡£Î㤨¤Ð define ¤Ç¥Þ¥¯¥í¤òÄêµÁ¤¹¤ë¤È¡¢Í¾Ê¬¤Ê¶õ¹Ô¤¬½ÐÎϤµ¤ì¤ë¤³¤È¤Ëµ¤¤¬¤Ä¤¤¤¿¤À¤í¤¦¤«¡£
% m4
> define(foo, bar)
¢« ¤³¤Î¶õ¹Ô¤Ï²¿?
> foo
bar
m4 ¤ÏÆþÎϤµ¤ì¤¿Ê¸»ú¤ò¤½¤Î¤Þ¤Þ½ÐÎϤ·¤è¤¦¤È¤¹¤ë¤¿¤á¡¢define(foo, bar) ¤Î¸å¤ËÆþÎϤ·¤¿²þ¹Ô¥³¡¼¥É¤¬¤½¤Î¤Þ¤Þ½ÐÎϤµ¤ì¤¿¤Î¤Ç¤¢¤ë¡£¤³¤ì¤òËɤ°¤Ë¤Ï
% m4
> define(foo,bar)foo
bar
¤È³¤±¤Æ½ñ¤±¤Ð¤è¤¤¤¬¡¢¤³¤ì¤Ç¤Ï¸«¤Å¤é¤¯¤Æ»ÅÊý¤¬¤Ê¤¤¡£¤½¤³¤Ç¡¢
% m4
> define(foo, bar)dnl
> foo
bar
¤È define ¤Î¸å¤Ë dnl ¤òÉÕ¤±¤Æ¡¢¡Ö¤³¤³¤«¤é¹ÔËö¤Þ¤ÇÇË´þ¤·¤Ê¤µ¤¤¡×¤È m4 ¤Ë»Ø¼¨¤¹¤ë¤³¤È¤Ç;·×¤Ê²þ¹Ô¥³¡¼¥É¤¬ÉÕ¤«¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£

¡üÁȤ߹þ¤ß¥Þ¥¯¥í°ìÍ÷ (̤¹Æ)
divert¡¦undivert
m4 ¤Ë¤Ï 0¡Á9 ¤Þ¤Ç¤Î½ÐÎÏ¥­¥å¡¼¤¬Â¸ºß¤¹¤ë¡£¥Ç¥Õ¥©¥ë¥È¤Ï 0 ¤Ç¡¢
% m4
> hoge
hoge
¤Ï½ÐÎÏ¥­¥å¡¼ 0 ¤ËÂФ·¤Æ¡Öhoge¡×¤ò½ÐÎϤ·¡¢Â¨ºÂ¤Ë²èÌ̾å¤Ëɽ¼¨¤µ¤ì¤¿¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£divert ¥Þ¥¯¥í¤Ë¤è¤Ã¤Æ½ÐÎϤ¹¤ë½ÐÎÏ¥­¥å¡¼¤òÁªÂò¤Ç¤­¤ë¡£Á´¤Æ¤Î½èÍý¤¬½ªÎ»¤·¤¿¸å¡¢1¡Á9 ¤Î½ÐÎÏ¥­¥å¡¼¤ÎÃæ¤Ë¤¿¤Þ¤Ã¤Æ¤¤¤ë¥­¥å¡¼¤ÎÆâÍÆ¤¬¡¢½ÐÎÏ¥­¥å¡¼ 1¢ª9 ¤Î½ç¤Ç½ÐÎϤµ¤ì¤ë¡£
% m4
> divert(2)
> this is queue 2
¢Í ½ÐÎÏ¥­¥å¡¼ 2 ¤Ë¤¿¤á¤Æ¤¤¤ë
> divert(1)
> this is queue 1
¢Í ½ÐÎÏ¥­¥å¡¼ 1 ¤Ë¤¿¤á¤Æ¤¤¤ë
> divert(0)
> this is queue 0
this is queue 0
¢Í ½ÐÎÏ¥­¥å¡¼ 0 ¤Ï¤¹¤°½ÐÎϤµ¤ì¤ë
^D (Ctrl-d ¤Çɸ½àÆþÎϤò¥¯¥í¡¼¥º)
this is queue 1
this is queue 2
¢Í ½ÐÎÏ¥­¥å¡¼ 1¡Á9 ¤ÎÆâÍÆ¤¬½ÐÎϤµ¤ì¤ë
Ǥ°Õ¤Î»þÅÀ¤Ç½ÐÎÏ¥­¥å¡¼¤ÎÆâÍÆ¤ò¼è¤ê½Ð¤·¤¿¤¤¾ì¹ç¤Ï¡¢undivert ¤¹¤ì¤Ð¤è¤¤¡£
% m4
> divert(2)
> this is queue 2
¢Í ½ÐÎÏ¥­¥å¡¼ 2 ¤Ë¤¿¤á¤Æ¤¤¤ë
> divert(0)
¢Í ½ÐÎÏ¥­¥å¡¼¤ò 0 ¤ËÀÚ¤êÂØ¤¨
> undivert(2)
¢Í ½ÐÎÏ¥­¥å¡¼ 2 ¤ÎÆâÍÆ¤ò¸½ºß¤Î½ÐÎÏ¥­¥å¡¼ (¥­¥å¡¼ 0) ¤Ë°Üư¡£·ë²Ì¤È¤·¤Æ²èÌ̤˽ÐÎϤµ¤ì¤ë
this is queue 2

> divert(3)
this is queue 3
¢Í ½ÐÎÏ¥­¥å¡¼ 3 ¤Ë¤¿¤á¤Æ¤¤¤ë
> divert(1)
¢Í ½ÐÎÏ¥­¥å¡¼¤ò 1 ¤ËÀÚ¤êÂØ¤¨
> undivert(3)
¢Í ½ÐÎÏ¥­¥å¡¼ 3 ¤ÎÆâÍÆ¤ò¸½ºß¤Î½ÐÎÏ¥­¥å¡¼ (¥­¥å¡¼ 1) ¤Ë°Üư¡£
> divert(0)
¢Í ½ÐÎÏ¥­¥å¡¼¤ò 0 ¤ËÀÚ¤êÂØ¤¨
> undivert(1)
this is queue 3
¢Í ½ÐÎÏ¥­¥å¡¼ 1 ¤ÎÆâÍÆ¤ò¸½ºß¤Î½ÐÎÏ¥­¥å¡¼ (¥­¥å¡¼ 0) ¤Ë°Üư¡£·ë²Ì¤È¤·¤Æ²èÌ̤˽ÐÎϤµ¤ì¤ë¡£¥­¥å¡¼ 3 ¤Ë½ÐÎϤ·¤¿ÆâÍÆ¤¬¥­¥å¡¼ 1 ¤«¤é½Ð¤Æ¤­¤¿¤³¤È¤ËÃí°Õ¡£
include
¥Õ¥¡¥¤¥ë¤ò¼è¤ê¹þ¤à¡£¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Ê¤«¤Ã¤¿¤é¥¨¥é¡¼¡£
sinclude
¥Õ¥¡¥¤¥ë¤ò¼è¤ê¹þ¤à¡£¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Ê¤«¤Ã¤¿¤é sinclude ¤¬¤Ê¤«¤Ã¤¿¤â¤Î¤È¤·¤ÆÂ³¹Ô¤¹¤ë¡£
syscmd
¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¡£¼Â¹Ô·ë²Ì¤Ï¥Þ¥¯¥íŸ³«ÂоݤȤϤʤé¤Ê¤¤¡£
esyscmd
¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¡£¼Â¹Ô·ë²Ì¤Ï¥Þ¥¯¥íŸ³«ÂоݤȤʤ롣

>> ¥³¥Þ¥ó¥É cpp *   sendmail *   configure *
>> ÆÉ¤ßÊý m4 *

mail¡¡´Ê°×Ū¤Ê¥á¡¼¥é¡¼

% mail foo@example.com < file
file ¤ÎÆâÍÆ¤ò foo@example.com ¤ËÁ÷¤ë
% mail -s hoge foo@example.com < file
¤µ¤é¤Ë¥µ¥Ö¥¸¥§¥¯¥È¤ò hoge ¤È¤¹¤ë
>> ¥³¥Þ¥ó¥É mew *   sendmail *

ÆüËܸì¤ò´Þ¤ó¤À¥á¡¼¥ë¤òÁ÷¤ë¾ì¹ç¤Ï¡¢É¬¤º nkf ¥³¥Þ¥ó¥É¤Ê¤É¤Çʸ»ú¥³¡¼¥É¤ò ISO-2022-JP(¤¤¤ï¤æ¤ë JIS ¥³¡¼¥É) ¤ËÊÑ´¹¤¹¤ë¤³¤È¡£
% nkf -j < file | mail -s "HOGE FUGA" foo@example.com
>> ¥³¥Þ¥ó¥É nkf *   euctosj *   iconv *

make¡¡°Í¸´Ø·¸¤òÄ´¤Ù¤ÆºÇŬ¤Ê¼Â¹Ô¤ò¤¹¤ë¡£

°ìÈÌŪ¤Ë¤Ï¡¢¥×¥í¥°¥é¥à¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ëºÝ¤Ë¡¢Makefile ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤Ë°Í¸´Ø·¸¤òµ­½Ò¤·¡¢make ¤Ë¼«Æ°Åª¤Ë¥³¥ó¥Ñ¥¤¥ë¤µ¤»¤ë¡¢¤È¤¤¤Ã¤¿»È¤¤Êý¤ò¤¹¤ë¡£°ì³ç½èÍý¤ò¤µ¤»¤ë¤À¤±¤Ê¤é¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤ò»È¤¨¤Ð¤è¤¤¤Î¤Ç¤Ï?¡¢¤È»×¤¦¤«¤â¤·¤ì¤Ê¤¤¤¬¡¢make ¤Ï¥Õ¥¡¥¤¥ë¤Î°Í¸´Ø·¸¤È ¤½¤ì¤é¤Î¥¿¥¤¥à¥¹¥¿¥ó¥×¤òÄ´¤Ù¡¢É¬ÍפʽèÍý¤À¤±¤ò¹Ô¤¦¤È¤¤¤¦µ¡Ç½¤ò»ý¤Ã¤Æ¤¤¤ë¡£

Î㤨¤Ð program ¤È¤¤¤¦¥³¥Þ¥ó¥É¤Î¥½¡¼¥¹¤¬¡¢source-1.c¡¢source-2.c¡¢source-3.c¡¢program.h ¤È¤¤¤¦ 3¤Ä¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È1¤Ä¤Î¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤«¤é¹½À®¤µ¤ì¡¢³Æ source-*.c ¤ÎÃæ¤Ç program.h ¤ò include ¤·¤Æ¤¤¤ë¤È¤¹¤ë¡£°ì³ç¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤·¤¿¤¤¾ì¹ç¤Ï
% cc -o program source-1.c source-2.c source-3.c
¤È¤¹¤ì¤Ð¤è¤¤¤¬¡¢¤¢¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤À¤±¤ò½ñ¤­´¹¤¨¤¿¾ì¹ç¤Ç¤â¡¢Á´¤Æ¤Î¥½¡¼¥¹¤ò¤¤¤Á¤¤¤Á¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¤³¤È¤Ë¤Ê¤ê¡¢»þ´Ö¤Î̵Â̤Ǥ¢¤ë¡£¤½¤³¤Ç Makefile ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¡¢¤½¤ÎÃæ¤Ë
program: source-1.o source-2.o source-3.o
cc -o program source-1.o source-2.o source-3.o
source-1.o: source-1.c program.h
cc -c source-1.c
source-2.o: source-2.c program.h
cc -c source-2.c
source-3.o: source-3.c program.h
cc -c source-3.c
¤È½ñ¤¤¤Æ¤ª¤¯¡£
  • 1¹ÔÌܤϡ¢program ¤Ï source-1.o¡¢source-2.o¡¢source-3.o ¤«¤é¹½À®¤µ¤ì¤ë
  • 2¹ÔÌܤϡ¢program ¤òºîÀ®¤¹¤ë¤Ë¤Ï cc -o program ... ¤È¤¹¤ì¤Ð¤è¤¤
¤È¤¤¤¦¤³¤È¤ò¼¨¤·¤Æ¤¤¤ë¡£¤½¤Î¸å¤Î¹Ô¤âƱ¤¸¤¯¡¢
  • source-1.o ¤Ï source-1.c ¤È program.h ¤«¤é¹½À®¤µ¤ì¤ë
  • source-1.o ¤òºîÀ®¤¹¤ë¤Ë¤Ï cc -c source-1.c ¤È¤¹¤ì¤Ð¤è¤¤
¤È¤¤¤¦¤³¤È¤òɽ¤¹¡£°ìÈÌŪ¤Ë¤Ï Makefile ¤Ï
¥¿¡¼¥²¥Ã¥È: °Í¸¤¹¤ë¥Õ¥¡¥¤¥ë
(TAB)¥¿¡¼¥²¥Ã¥È¤òºîÀ®¤¹¤ë¤¿¤á¤Î¥³¥Þ¥ó¥É
¤È¤¤¤¦¾ðÊó¤ÎÍåÎó¤Ç¤¢¤ë¡£¤Ê¤ª¡¢TAB ¤ÎÉôʬ¤Ïɬ¤º TAB ¤Ë¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤ (¥¹¥Ú¡¼¥¹¤Ç¤Ï¥À¥á)¡£

²¿¤â¤Ê¤¤¾õÂÖ (¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤¤¤Ê¤¤¾õÂÖ)¤Ç make ¤ò¼Â¹Ô¤¹¤ë¤È¡¢¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤Î Makefile ¤¬ÆÉ¤Þ¤ì¡¢ºÇ½é¤Ë½Ð¤Æ¤¯¤ë¥¿¡¼¥²¥Ã¥È̾ (¤³¤Î¾ì¹ç¤Ï program) ¤òºîÀ®¤·¤è¤¦¤È¤¹¤ë¡£¤è¤Ã¤Æ
% make
cc -c source-1.c
cc -c source-2.c
cc -c source-3.c
cc -o program source-1.o source-2.o source-3.o
¤¬¼Â¹Ô¤µ¤ì¤ë¡£¤³¤³¤Ç source-1.c ¤ÎÆâÍÆ¤ò½ñ¤­´¹¤¨¤¿¤È¤·¤è¤¦¡£¥Õ¥¡¥¤¥