第3ç« shellã䜿ã
ãã®ç« ã§ç޹ä»ãã Linux shell 㯠Bash shell ãšåŒã°ãããã®ã§ãæ£åŒå称㯠Bourne Again shell ã ããä»ã«ããBSD UNIX ãŠãŒã¶ãŒã«äººæ°ã® C shell (csh) ããUNIX System V ãŠãŒã¶ãŒã«æ®åããŠãã Korn shell (ksh) ãUbuntu ã§ããã©ã«ãã§èµ·åãã Dash shell (Bash ããé«é) ãæ¹è¯ç C shell ã® Tcsh shell ãBourne shell ã«ãã䌌ã Ash shell ãªã©ããããã ã
3.1 shell ãš Terminal ãŠã£ã³ããŠ
- Terminal ãŠã£ã³ããŠã䜿ã
GUI äžã§ã¿ãŒããã«ãšãã¥ã¬ãŒã¿ (Terminal ãŠã£ã³ããŠãšãåŒã°ãã) ãå®è¡ããããšã§ãshell ãèµ·åã§ãããã
ã ãããã®ã·ã¹ãã 㯠Ctrl+Shift+T ã®ã·ã§ãŒãã«ããã§éããããFedora ãªãããã°ã©ã äžèЧããæ¢ãããAlt+F2 ãæŒããåŸã« gnome-terminal ãšå ¥åããã°OKã
- ä»®æ³ã³ã³ãœãŒã«ã䜿ã
GUI ãåãã Linux ã·ã¹ãã ã®å€ãã¯ãèµ·åæã«è€æ°ã®ä»®æ³ã³ã³ãœãŒã«ãåãããŠãããä»®æ³ã³ã³ãœãŒã«ã䜿ãã°ãGUI 以å€ã«ãè€æ°ã® shell ã»ãã·ã§ã³ãéãããã ã
Ctrl+Shift+F1ãF6 ã§ä»®æ³ã³ã³ãœãŒã«ãåãæ¿ããããããäŸãã° Fedora ã ãšãtty1 ã gdm (ãã°ã€ã³ç»é¢) ãtty2 ãæåã®ãã¹ã¯ããããtty3 ã2çªç®ã®ãã¹ã¯ããã (ããã¹ãã®ã¿) ã£ãŠæãã«ãªã£ãŠããã
- ã³ãã³ãããã³ãã
äžè¬ãŠãŒã¶ãŒã®å Žåãããã©ã«ãã®ããã³ããã¯ã·ã³ãã«ãªãã«èšå·ã ãã
$
root ãŠãŒã¶ãŒ (管çè ) ã®å Žåã¯ãã·ã£ãŒãèšå· (ãã³ããŒãµã€ã³ãããã·ã¥ã¿ã°ãšãåŒã°ãã) ã«ãªããã ã
#
ã¢ã¡ãªã«ã®ã«ãŒããã€ã®ãªã¹ã«ããããšãçµ¶åŠã«è¡šããŠããïŒç¬ïŒ
3.2 shell ãéžã¶
who ã³ãã³ãã䜿ãã°ãä»ãã°ã€ã³ããŠãããŠãŒã¶ãŒåãä»®æ³ã³ã³ãœãŒã«ããã°ã€ã³æéã衚瀺ããããã
grep ãŠãŒã¶ãŒå /etc/passwd ã³ãã³ããå©ããšãåºåã®æåŸã«ããã©ã«ãã§äœ¿ã£ãŠãã shell ã衚瀺ãããã
kshãtcshãcshãshãdash ãªã©ã®ã³ãã³ããå ¥åããã°ãå¥ã® shell ã«åãæ¿ããããšãã§ããã (ã€ã³ã¹ããŒã«ãããŠããã°ã®è©±ã ãã©) ã
Bash shell ãåŠã¶ã®ã¯ããããå€ãã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã§ããã©ã«ããªã ããããªããã»ãšãã©ã® Linux èªå®è©Šéšã§äœ¿ããããããªãã ã
3.3 ã³ãã³ããå®è¡ãã
ã³ãã³ãåãå ¥åããã ãã§åããã®ãå€ããã©ãã³ãã³ãã®åŸã«äœããä»ãè¶³ããŠæåãå€ããã®ãäžè¬çã ããåŸãã«ç¶ãæåãåèªã¯ããªãã·ã§ã³ãããåŒæ°ããšåŒã°ãããã ã
3.3.1 ã³ãã³ãã®æ§æãç¥ã
- ã»ãšãã©ã®ã³ãã³ãã«ã¯ãåäœãå€ããããã®ãªãã·ã§ã³ã1ã€ä»¥äžããã
ã ãããã®ãªãã·ã§ã³ã¯1ã€ã®ã¢ã«ãã¡ãããã§ãåã«ãã€ãã³ - ãä»ãããè€æ°ã®ãªãã·ã§ã³ãäžåºŠã«äœ¿ããšãã¯ããŸãšããŠæžãããšãã§ãããã1ã€ãã€ãã€ãã³ãä»ããŠããããã
åèªåœ¢åŒã®ãªãã·ã§ã³ããã£ãŠããã®å Žåã¯ããã«ãã€ãã³ -- ã䜿ãã®ãäžè¬çãäŸãã° --help ãšå
¥åãããšããã -help ãšãã¡ãããšã-h ã-e ã-l ã-p ãšãã4ã€ã®ãªãã·ã§ã³ãšããŠè§£éããã¡ããããšããããã ã
- ãŸãããªãã·ã§ã³ã®åŸãã³ãã³ãã©ã€ã³ã®æåŸã«ãåŒæ°ããæž¡ãããšãã§ããã
åŒæ°ã¯ããã¡ã€ã«åããã£ã¬ã¯ããªããŠãŒã¶ãŒåãããã€ã¹ãªã©ã®è¿œå æ å ±ã®ããšãã³ãã³ãã©ã€ã³ã蚱容ããé·ããªããããã€ã§ãåŒæ°ãæå®ã§ãããã
åŒæ°ãç¹å®ã®ãªãã·ã§ã³ãšçµã³ã€ããŠããå Žåã¯ããã®ãªãã·ã§ã³ã®çŽåŸã«çœ®ãå¿
èŠãããã1æåãªãã·ã§ã³ãªãã¹ããŒã¹ã空ããŠãåèªãªãã·ã§ã³ãªãã€ã³ãŒã« = ã§ç¹ãããšãå€ãããªã
äŸãã°ïŒ
| |
ããã¯ãã/home/yexca ãã£ã¬ã¯ããªã®å šãã¡ã€ã«ã backup.tar ãšãããã¡ã€ã«åã§äœæ (c) ã (f) ãäœæãçµãã£ãã詳现ã衚瀺 (v) ããããšããæå³ãbackup.tar 㯠f ãªãã·ã§ã³ã®åŒæ°ã ãããf ã®çŽåŸã«æžãå¿ èŠããããã ã
| |
--hide ãªãã·ã§ã³ã¯ ls ã³ãã³ãã«ãDesktop ãšããååã®ãã¡ã€ã«ããã£ã¬ã¯ããªã衚瀺ããªããããã«äŒãããã®ããªãã·ã§ã³ãšåŒæ°ã®éã«ã¹ããŒã¹ããªãããšã«æ³šç®ããŠãã
- ä»ã«ããããªã³ãã³ãã詊ããŠã¿ããã
uname ã³ãã³ãã¯å®è¡äžã®ã·ã¹ãã ã¿ã€ãã衚瀺ããã-a ãªãã·ã§ã³ãä»ãããšãã¹ãåãã«ãŒãã«ããŒãžã§ã³ãèŠããããã
Linux ã«ãã°ã€ã³ãããšãã·ã¹ãã ã¯åã®ãŠãŒã¶ãŒåãã°ã«ãŒãåããŠãŒã¶ãŒIDãã°ã«ãŒãID ãªã©ã®ãè奿
å ±ããèªèãããããã«ããã°ã€ã³æéãã¢ã€ãã«æéãã©ããããã°ã€ã³ãããã远跡ããŠããããid ã³ãã³ãã§èªåã®æ
å ±ã確èªããŠã¿ããã
SELinux (Security Enhanced Linux) ãæå¹ãªãã£ã¹ããªãã¥ãŒã·ã§ã³ã ãšã
idã®åºåã®æåŸã« context ãªã©ã®è¿œå æ å ±ã衚瀺ãããããSELinux ã¯ã»ãã¥ãªãã£ãã¬ãã¬ãã«åºããããã®ä»çµã¿ãªãã ã
who -uH ã䜿ããšãã¢ã€ãã«æéãããã»ã¹ID (u) ãèŠåºã (H) ã衚瀺ã§ããã
ã¢ã€ãã« (IDLE) ã¯ãäœãå ¥åããã« shell ãæŸçœ®ããŠããæéãããã»ã¹çªå· (PID) 㯠shell ã®ããã»ã¹IDãåè (COMMENT) ã¯ããªã¢ãŒããããã°ã€ã³ããŠãããªããã®ã³ã³ãã¥ãŒã¿åãããŒã«ã«ãªããã£ã¹ãã¬ã€å (*:0.0 ãªã©) ã衚瀺ããããã
3.3.2 ã³ãã³ããæ¢ãä»çµã¿
å ¥åãããã³ãã³ããå®è¡ããããã«ãshell ã¯ããã¹ (PATH) ããšåŒã°ããå Žæãæ¢ãã«è¡ãããã¹ã«å«ãŸããŠããªãã³ãã³ããåããã«ã¯ããã«ãã¹ã§å Žæãæå®ããŠãããªããšãããªãã
echo $PATH ã§ãä»ã® shell ã®ç°å¢å€æ° PATH ã確èªã§ãããã
åèïŒ Linuxã®binãã£ã¬ã¯ããªã«ã€ã㊠- yexca’Blog
ä»ã®OSãšéã£ãŠãLinux ã¯ããã©ã«ãã§ã¯ã«ã¬ã³ããã£ã¬ã¯ã㪠(ä»ããå Žæ) ãæ¢ãã«è¡ããªããã ãããã« PATH ãæ€çŽ¢ãå§ãããã«ã¬ã³ããã£ã¬ã¯ããªã«ãããã¡ã€ã«ãå®è¡ããããªããPATH ã«è¿œå ããããçžå¯Ÿãã¹ã絶察ãã¹ã§æå®ããå¿ èŠããããã
ãã¹ãŠã®ã³ãã³ãã PATH å ã®ãã£ã¬ã¯ããªã«ãããããããªããshell ã«çµã¿èŸŒãŸããŠãããã®ããããããšã€ãªã¢ã¹ (å¥å) ã§äžæžããããŠããããšããããshell ãã³ãã³ããæ¢ãé çªã¯ãããªæãïŒ
- ãšã€ãªã¢ã¹ (Alias)ïŒ
aliasã³ãã³ãã§èšå®ãããå¥åã - shell äºçŽèªïŒshell ãç¹å¥ãªçšéã§äºçŽããŠããåèªã
- 颿°ïŒä»ã® shell å ã§ãŸãšããŠå®è¡ãããã³ãã³ã矀ã
- çµã¿èŸŒã¿ã³ãã³ã (Built-in)ïŒcdãechoãexitãpwdãhistoryãfgãsetãtype ãªã©ããã¡ã€ã«ã·ã¹ãã äžã«ã¯ååšããªã shell å éšã®ã³ãã³ãã
- ãã¡ã€ã«ã·ã¹ãã ã³ãã³ãïŒPATH 倿°ã§æå®ããããã£ã¬ã¯ããªã«ä¿åãããŠããå®è¡ãã¡ã€ã«ã
ã³ãã³ããã©ãããæ¥ãŠãããç¥ãã«ã¯ãtype ã which ã䜿ããtype -a ã䜿ãã°ããã®ã³ãã³ãã®åè£ãå
šéšåºããŠããããã
ããã³ãã³ãã PATH å
ã«èŠã€ãããªããšãã¯ãlocate ã³ãã³ãã§æ¢ããŠã¿ãã®ãæã ããã·ã¹ãã å
šäœãããã¡ã€ã«ãæ¢ããŠããããã
æè¿è¿œå ããã°ããã®ãã¡ã€ã«ãèŠã€ãããªããšãã¯ãroot ãŠãŒã¶ãŒã§ updatedb ãå®è¡ããŠããŒã¿ããŒã¹ãæŽæ°ããŠã¿ãŠã
3.4 䜿çšåœä»€åå²è®°åœé倿§è¡åœä»€
é·ããŠè€éãªãæã¡ééããããªã³ãã³ããäœåºŠãæã€ã®ã¯é¢åã ãããå±¥æŽã䜿ãã°æ¥œãã§ãããã
3.4.1 ã³ãã³ãã©ã€ã³ç·šé
ããã©ã«ãã§ã¯ãBash shell 㯠Emacs ããŒã¹ã®ãšãã£ã¿æäœã䜿ããããã«ãªã£ãŠãããvi ã®ã»ãã奜ããªããããŒã ãã£ã¬ã¯ããªã® .bashrc ã« set -o vi ãæžã蟌ãã°ãããã
- ã³ãã³ãã©ã€ã³ç§»åã®ã·ã§ãŒãã«ãã
| ã㌠| åç§° | æå³ |
|---|---|---|
| Ctrl+F | 1æåé²ã | ã«ãŒãœã«ãå³ã«ç§»å |
| Ctrl+B | 1æåæ»ã | ã«ãŒãœã«ãå·Šã«ç§»å |
| Alt+F | 1åèªé²ã | ã«ãŒãœã«ã次ã®åèªãžç§»å |
| Alt+B | 1åèªæ»ã | ã«ãŒãœã«ãåã®åèªãžç§»å |
| Ctrl+A | è¡é ãž | ã³ãã³ãã©ã€ã³ã®å é ã«ç§»å |
| Ctrl+E | è¡æ«ãž | ã³ãã³ãã©ã€ã³ã®æ«å°Ÿã«ç§»å |
| Ctrl+L | ç»é¢ã¯ãªã¢ | ç»é¢ã綺éºã«ããŠãã«ãŒãœã«ãäžçªäžãž |
- ã³ãã³ãã©ã€ã³ç·šéã®ã·ã§ãŒãã«ãã
| ã㌠| åç§° | æå³ |
|---|---|---|
| Ctrl+D | 1æååé€ | ã«ãŒãœã«äœçœ®ã®æåãæ¶ã |
| Backspace | åã®æåãåé€ | ã«ãŒãœã«ã®åã®æåãæ¶ã |
| Ctrl+T | æåãå ¥ãæ¿ã | ã«ãŒãœã«äœçœ®ãšåã®æåãå ¥ãæ¿ãã |
| Alt+T | åèªãå ¥ãæ¿ã | ã«ãŒãœã«äœçœ®ãšåã®åèªãå ¥ãæ¿ãã |
| Alt+U | 倧æåå | åèªã倧æåã«ãã |
| Alt+L | å°æåå | åèªãå°æåã«ãã |
| Alt+C | å é 倧æåå | åèªã®æåã®æåã ã倧æåã«ãã |
| Ctrl+V | ç¹æ®æåæ¿å ¥ | Tab ãªã©ã®ç¹æ®ãªæåããã®ãŸãŸå ¥åãã |
- ã³ããŒïŒããŒã¹ã (ã«ããïŒã€ã³ã¯)
| ã㌠| åç§° | æå³ |
|---|---|---|
| Ctrl+K | è¡æ«ãŸã§ã«ãã | ã«ãŒãœã«ããåŸããå šéšæ¶ã |
| Ctrl+U | è¡é ãŸã§ã«ãã | ã«ãŒãœã«ããåãå šéšæ¶ã |
| Ctrl+W | åã®åèªãã«ãã | ã«ãŒãœã«ã®åã®1åèªãæ¶ã |
| Alt+D | åŸã®åèªãã«ãã | ã«ãŒãœã«ã®åŸã®1åèªãæ¶ã |
| Ctrl+Y | ããŒã¹ã | æåŸã«ã«ããããããã¹ãã貌ã |
| Alt+Y | éå»åãããŒã¹ã | ããã«åã«ã«ãããããã®ã貌ã |
| Ctrl+C | è¡åé€ | 仿ã£ãŠããå 容ãå šéšæšãŠã |
3.4.2 ã³ãã³ãã©ã€ã³è£å®
ããŒå ¥åãæžããããã«ãBash ã¯ãè£å®ãæ©èœãæã£ãŠããããæåãæ°åæã£ãŠãã Tab ããŒãæŒãã ããè£å®ã§ããã®ã¯ãããªãã®ïŒ
- ã³ãã³ãããšã€ãªã¢ã¹ã颿°ïŒæ®éã®æåã§å§ãŸããšãã
- 倿°ïŒãã«èšå·
$ã§å§ãŸããšãã - ãŠãŒã¶ãŒåïŒãã«ã
~ã§å§ãŸããšãã~usernameã¯ãã®ãŠãŒã¶ãŒã®ããŒã ãã£ã¬ã¯ããªãæããã - ãã¹ãåïŒã¢ããããŒã¯
@ã§å§ãŸããšãã/etc/hostsããè£å®ãããã
ä»ã®ãã¡ã€ã«ãããã¹ãåãè£å®ããããšãã¯ã
HOSTFILE倿°ã«ãã®ãã¡ã€ã«ãã¹ãèšå®ããã°ãããã
åè£ãè€æ°ãããšãã¯ãTab ã2åå©ãã°ãªã¹ãã衚瀺ããããã ã
3.4.3 ã³ãã³ãã®åå®è¡
å®è¡ããã³ãã³ã㯠shell ã®å±¥æŽãªã¹ãã«ä¿åããããã
history ã³ãã³ãã§äžèЧãèŠãããããæ°åãä»ããã°çŽè¿ã®æ°ä»¶ã ã衚瀺ã§ããã
æå笊 ! ã䜿ããšãå±¥æŽããã³ãã³ããçŽæ¥å®è¡ã§ãããã©ã確èªãªãã§åãã¡ããããæ³šæããŠãã
- !n — çªå·æå®ã§å®è¡ãäŸãã°
!255ãªã255çªç®ã®ã³ãã³ããåãã - !! — 1ã€åã®ã³ãã³ããå®è¡ã
- !?string? — æå®ããæååãå«ãçŽè¿ã®ã³ãã³ããå®è¡ã
å±¥æŽããã å®è¡ããã ããããªããŠãç·šéããŠããåããããšãã§ãããã
| ã㌠| æ©èœ | 説æ |
|---|---|---|
| ç¢å°ã㌠ãŸã㯠Ctrl+P / Ctrl+N | å±¥æŽã蟿ã | äžäžããŒã§éå»ã®ã³ãã³ãã1ã€ãã€åŒã³åºããã |
| Ctrl+R | ã€ã³ã¯ãªã¡ã³ã¿ã«æ€çŽ¢ | éå»ã®ã³ãã³ããæåå ¥åã§æ€çŽ¢ã§ãããå ¥åãããã°ããããããããã |
| Ctrl+S | åæ¹æ€çŽ¢ | Ctrl+R ã®éããããŸã䜿ããªãããèšå®ã«ãã£ãŠã¯å¹ããªãããšãããã |
| Alt+P | éåææ€çŽ¢ | æ€çŽ¢æååãå ¥ã㊠Enter ãæŒããšããã®ã³ãã³ãã衚瀺ãããã |
| Alt+N | åæ¹éåææ€çŽ¢ | äžèšã®éããŒãžã§ã³ã |
fc ã³ãã³ããäœ¿ãæ¹æ³ããããfc 233 255 ã¿ããã«çªå·ãæå®ãããšãããã¹ããšãã£ã¿ (ããã©ã«ã㯠vi) ã§ãã®ç¯å²ã®ã³ãã³ããéãããšãã£ã¿ãéãããšãããããé çªã«å®è¡ããããã
shell ãéãããšããå±¥æŽã¯ããŒã ãã£ã¬ã¯ããªã® .bash_history ã«ä¿åããããããã©ã«ãã¯1000ä»¶ãŸã§ã
å±¥æŽãæ®ããããªããšãã¯ãæ®éã«ãã°ã¢ãŠãããã«
kill -9 PIDã§ shell ã匷å¶çµäºããããšãä¿åãã¹ãããã§ããè£æããããã
HISTFILE=/dev/nullã«ãããHISTSIZEã空ã«ããŠããæ£åžžçµäºãããšä¿åããã¡ããããšãããããã匷å¶çµäºã確å®ã ãã
3.5 ã³ãã³ãã®é£çµãšæ¡åŒµ
shell ã®æ¬åœã®åŒ·ãã¯ãã³ãã³ãã®å ¥åºåãä»ã®ã³ãã³ãããã¡ã€ã«ã«ç¹ããããããšã«ãããã ã
ã³ãã³ããç¹ãã«ã¯ãã¡ã¿æå (metacharacter) ãã䜿ãããã㯠shell ã«ãšã£ãŠç¹å¥ãªæå³ãæã€èšå·ã®ããšã
ãã䜿ãã¡ã¿æåïŒãã€ã | ãã¢ã³ããµã³ã & ãã»ãã³ãã³ ; ãæ¬åŒ§ () ãäžçå· < > ãªã©ã
3.5.1 ã³ãã³ãéã®ãã€ã
ãã€ã | ã¯ãåã®ã³ãã³ãã®åºåãæ¬¡ã®ã³ãã³ãã®å
¥åã«æž¡ããã
| |
ãã㯠passwd ãã¡ã€ã«ã®äžèº«ãåºãããããäžŠã³æ¿ã㊠(sort) ãæåŸã«ã¹ã¯ããŒã«è¡šç€º (less) ããããšããæµãã
3.5.2 é£ç¶å®è¡
ã»ãã³ãã³ ; ã䜿ãã°ã1è¡ã§è€æ°ã®ã³ãã³ããé çªã«å®è¡ã§ãããã
| |
倧ããªææžãåŠçããååŸã« date ã眮ããŠãã©ããããæéãããã£ããæž¬ãããªããŠäœ¿ãæ¹ãã§ãããã
3.5.3 ããã¯ã°ã©ãŠã³ãå®è¡
æéããããåŠçã¯ãåŸãã« & ãä»ããŠããã¯ã°ã©ãŠã³ãã§åãããã
| |
åŠçãçµããåã« shell ãéãããããã»ã¹ã殺ããããããšãéäžã§æ¢ãŸã£ã¡ããããæ°ãã€ããŠã
3.5.4 ã³ãã³ã眮æ
ããã³ãã³ãã®å®è¡çµæããå¥ã®ã³ãã³ãã®åŒæ°ãšããŠäœ¿ãããšãã§ãããã ã
圢åŒã¯ $(command) ãŸã㯠`command` (ããã¯ã¯ã©ãŒã) ã
| |
ããã¯ããŸã /home ãã xyzzy ãšããååãå«ããã¡ã€ã«ãå
šéšæ¢ãåºããŠããã®çµæã vi ã³ãã³ãã«æž¡ããŠéãããšããåäœã«ãªãã
泚æïŒã«ãŒããã£ã¬ã¯ã㪠/ ãã grep ããããããšãæ°ååã®ãã¡ã€ã«ãäžæ°ã«éãããšããŠå€§å€ãªããšã«ãªãããæ°ãã€ããŠãã
3.5.5 ç®è¡åŒã®æ¡åŒµ
èšç®çµæãã³ãã³ãã«æž¡ããããšãã¯ã$[expression] ã $((expression)) ã䜿ããã
| |
åºå㯠I am 65 years old ã«ãªãã
| |
ä»ã®ãã£ã¬ã¯ããªã®ãã¡ã€ã«æ°ãæ°ããŠããããã¡ãã»ãŒãžã«çµã¿èŸŒãã§è¡šç€ºããäŸã ãã
3.5.6 倿°ã®æ¡åŒµ
ãã«èšå· $ ã䜿ã£ãŠå€æ°ã®å€ãåŒã³åºãã
| |
ãã㯠bash ã³ãã³ãã®å®è¡ãã¡ã€ã«ã®è©³çްæ å ±ã衚瀺ãããã
3.6 shell 倿°ã䜿ã
shell ã¯å€æ°ã䜿ã£ãŠããŠãŒã¶ãŒã®ã»ãã·ã§ã³ã«åœ¹ç«ã€æ
å ±ãä¿åããŠãããã ãset ã³ãã³ãã䜿ãã°ãä»èšå®ãããŠãããã¹ãŠã®å€æ°ãèŠããããã
ãã®äžã§ããå¥ã® shell ã«ãåŒãç¶ããã倿°ããç°å¢å€æ°ããšåŒã¶ããã㯠env ã³ãã³ãã§ç¢ºèªã§ããã
倿°ã®å€ãåç
§ãããšãã¯ãé ã« $ ãä»ããã®ãå¿ããã«ã
shell èµ·åæã«èªåã§èšå®ãããäž»ãªå€æ°ããŸãšããŠã¿ããã
| 倿° | 説æ |
|---|---|
| BASH | Bash ã³ãã³ãã®ãã«ãã¹ãã ããã㯠/bin/bash |
| BASH_VERSION | Bash ã®ããŒãžã§ã³çªå· |
| EUID | çŸåšã®ãŠãŒã¶ãŒã®æå¹ãªãŠãŒã¶ãŒID |
| FCEDIT | fc ã³ãã³ãã§äœ¿ããšãã£ã¿ãããã©ã«ã㯠vi |
| HISTFILE | å±¥æŽãã¡ã€ã«ã®å Žæãé垞㯠$HOME/.bash_history |
| HISTFILESIZE | ä¿åããå±¥æŽã®æå€§ä»¶æ°ãããã©ã«ã㯠1000 |
| HISTCMD | å±¥æŽãªã¹ãã®äžã§ã®ä»ã®ã³ãã³ãçªå· |
| HOME | ããŒã ãã£ã¬ã¯ã㪠|
| HOSTTYPE | ã·ã¹ãã ã®ã¢ãŒããã¯ã㣠(x86_64 ãªã©) |
| ã¡ãŒã«ããã¯ã¹ã®å Žæ | |
| OLDPWD | 1ã€åã«ãããã£ã¬ã¯ã㪠|
| OSTYPE | ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®çš®é¡ (Linux ãªã©) |
| PATH | ã³ãã³ããæ¢ããã£ã¬ã¯ããªã®ãªã¹ã (ã³ãã³ : åºåã) |
| PPID | 芪ããã»ã¹ã®ID |
| PROMPT_COMMAND | ããã³ããã衚瀺ããçŽåã«å®è¡ãããã³ãã³ã |
| PS1 | ã¡ã€ã³ã®ããã³ããã®ãã¶ã€ã³ |
| PWD | ä»ãããã£ã¬ã¯ã㪠(ã«ã¬ã³ããã£ã¬ã¯ããª) |
| RANDOM | 0ã32767 ã®ä¹±æ°ãçæãã |
| SECONDS | shell ãèµ·åããŠããã®çµéç§æ° |
| SHLVL | shell ã®æ·±ãã¬ãã«ãsu ã bash ãå©ããã³ã«å¢ãã |
| TMOUT | ç¡æäœæã«èªåãã°ã¢ãŠããããŸã§ã®ç§æ° |
3.6.1 ãšã€ãªã¢ã¹ã®äœæãšå©çš
alias ã³ãã³ãã䜿ãã°ãé·ãã³ãã³ãã«çãããã¯ããŒã ãä»ãããããã
| |
ããã§ p ãšæã€ã ãã§ãä»ã®å Žæã衚瀺ããŠãããã¡ã€ã«äžèЧãã«ã©ã 衚瀺ããŠãããããã«ãªãã
æ¶ããããšã㯠unalias ã䜿ãã°OKã
3.6.2 shell ãçµäºãã
exit ãšæã€ããCtrl+D ãæŒãã°çµäºã§ãããã
3.7 èªå奜ã¿ã® shell ç°å¢ãäœã
èšå®ãããã£ãŠããã£ãšå¹çããäœæ¥ã§ããããã«ãããã
3.7.1 shell ãèšå®ãã
Bash ã®æåã¯ããã€ãã®èšå®ãã¡ã€ã«ã§æ±ºãŸã£ãŠãããã ã
| ãã¡ã€ã« | 説æ |
|---|---|
| /etc/profile | å šãŠãŒã¶ãŒå ±éã®èšå®ããã°ã€ã³æã«äžåºŠã ãèªã¿èŸŒãŸããããã¹ã®èšå®ãªã©ãããã |
| /etc/bashrc | Bash ãéããã³ã«èªã¿èŸŒãŸããå šãŠãŒã¶ãŒå ±éèšå®ãããã³ããããšã€ãªã¢ã¹ã®ããã©ã«ããªã©ã |
| ~/.bash_profile | ãŠãŒã¶ãŒåå¥ã®ãã°ã€ã³æèšå®ãç°å¢å€æ°ã远å ãããªããããããããã |
| ~/.bashrc | ãŠãŒã¶ãŒåå¥ã® Bash èµ·åæèšå®ããšã€ãªã¢ã¹ãæžãã®ã«æé©ã |
| ~/.bash_logout | ãã°ã¢ãŠãæã«å®è¡ããããããã©ã«ãã§ã¯ç»é¢ãæ¶å»ãããããã |
/etc/ 以äžã®ãã¡ã€ã«ããããã«ã¯ root æš©éãå¿
èŠã ããã·ã¹ãã å
šäœã®èšå®ãå€ããããšãã¯ãå
ã®ãã¡ã€ã«ãçŽæ¥ããããã /etc/profile.d/custom.sh ã¿ãããªãã¡ã€ã«ãäœã£ãŠè¿œå ããã®ããäœæ³ã
- nano ãšãã£ã¿
åå¿è
ã«ã䜿ãããããšãã£ã¿ã ããCtrl+O ã§ä¿åãCtrl+X ã§çµäºã
3.7.2 ããã³ããã®èšå®
ããã³ãã (å
¥ååŸ
ã¡ã®èšå·) 㯠PS1 ãšãã倿°ã§ã«ã¹ã¿ãã€ãºã§ããã
| ç¹æ®æå | 説æ |
|---|---|
| \! | å±¥æŽçªå·ã衚瀺 |
| \# | ä»ã®ã»ãã·ã§ã³ã§ã®ã³ãã³ãçªå· |
| \$ | äžè¬ãŠãŒã¶ãŒãªã $ ãroot ãªã # ã衚瀺 |
| \W | ä»ãããã£ã¬ã¯ããªåã ãã衚瀺 |
| \[ | 衚瀺ãããªãæåã®éå§ (è²ä»ããšãã«äœ¿ã) |
| \] | 衚瀺ãããªãæåã®çµäº |
| \\ | ããã¯ã¹ã©ãã·ã¥ã衚瀺 |
| \d | æ¥ä»ã衚瀺 |
| \h | ãã¹ãåã衚瀺 |
| \n | æ¹è¡ |
| \s | shell ã®ååã衚瀺 |
| \t | çŸåšæå» (HH:MM:SS) |
| \u | ãŠãŒã¶ãŒåã衚瀺 |
| \w | ä»ããå Žæã®ãã«ãã¹ã衚瀺 |
äžæçã«å€ããã ããªã export PS1="[\t\w]\$" ã¿ããã«æãŠã°ãããããã£ãšãã®èšå®ã«ããããªã ~/.bashrc ã«æžã蟌ããã
詳ããç¥ããããªãïŒ Bash Prompt HOWTO
3.7.3 ç°å¢å€æ°ã远å ãã
ãã .bashrc ã«è¿œå ãããèšå®äŸã玹ä»ãããã
TMOUT — èªåã¿ã€ã ã¢ãŠãã®èšå®ã
PATH — ã³ãã³ããæ¢ãå Žæã®è¿œå ãäŸãã°
~/binã远å ããããªãïŒPATH=$PATH:~/bin ; export PATHä»ã®ãã¹ ($PATH) ã®åŸãã«
~/binããã£ã€ããŠããããæ°ãã PATH ãšããŠãšã¯ã¹ããŒãããŠãããã
ã»ãã¥ãªãã£ã®ãªã¹ã¯ããããããã«ã¬ã³ããã£ã¬ã¯ããªã衚ã
.ã PATH ã«å ¥ããã®ã¯ãããŠããããã
ç¬èªå€æ° — èªåã®äœæ¥çšã·ã§ãŒãã«ãããäœããã
MYWORKDIR=/home/yexca/work ; export MYWORKDIRããããŠããã°ã
cd $MYWORKDIRã§äžçºã§äœæ¥ãã£ã¬ã¯ããªã«é£ã¹ããã
3.8 ã³ãã³ãã®æ å ±ã調ã¹ã
shell ã«çµã¿èŸŒãŸããã³ãã³ããªããhelp ã³ãã³ãã䜿ãããhelp | less ã§äžèЧãèŠãããhelp cd ã¿ããã«ç¹å®ã®ã³ãã³ãã®äœ¿ãæ¹ãèŠããã§ãããã
å€ãã®ã³ãã³ã㯠--help ã -h ãªãã·ã§ã³ãä»ããŠå©ããšãç°¡åãªãã«ããåºããŠãããã
ãã£ãšè©³ããç¥ããããªã info ã man ã³ãã³ãã䜿ããã
ãããã¥ã¢ã«ããŒãž (man page) ãã¯ãLinux ã§äžçªãã䜿ãããèª¿ã¹æ¹ã ãã
man ã«ã¯ 8 ã€ã®ã»ã¯ã·ã§ã³ (ç« ) ããããã ã
| ç« çªå· | ç« ã®åå | 説æ |
|---|---|---|
| 1 | ãŠãŒã¶ãŒã³ãã³ã | äžè¬ãŠãŒã¶ãŒãå®è¡ã§ããã³ãã³ã |
| 2 | ã·ã¹ãã ã³ãŒã« | ããã°ã©ã ããã«ãŒãã«ãåŒã³åºã颿° |
| 3 | C ã©ã€ãã©ãªé¢æ° | ããã°ã©ãã³ã°çšã®ã©ã€ãã©ãªé¢æ° |
| 4 | ããã€ã¹ãšç¹æ®ãã¡ã€ã« | ããã€ã¹é¢é£ã®ãã¡ã€ã«ãªã© |
| 5 | ãã¡ã€ã«åœ¢åŒãšæ £ç¿ | èšå®ãã¡ã€ã«ã®æžãæ¹ãšã |
| 6 | ã²ãŒã | ã·ã¹ãã ã«å ¥ã£ãŠããã²ãŒã |
| 7 | ãã®ä» | ãããã³ã«ããã¡ã€ã«ã·ã¹ãã ã®æŠèª¬ |
| 8 | ã·ã¹ãã 管çããŒã« | root æš©éãå¿ èŠãªç®¡ççšã³ãã³ã |
man -k ããŒã¯ãŒã ã§ãããã¥ã¢ã«ã®ããŒã¿ããŒã¹ãæ€çŽ¢ã§ããããããæ€çŽ¢ã«å€±æãããªããroot ã§ mandb ãå®è¡ããŠããŒã¿ããŒã¹ãäœã£ãŠãã
ç¹å®ã®ã»ã¯ã·ã§ã³ãèŠãããšãã¯ãman 5 passwd ã¿ããã«çªå·ãæå®ãããã ã
æäœã¯ Page Down / Page Up ã§ããŒãžããããEnter ãç¢å°ããŒã§1è¡ç§»åã/ ãæŒããŠããæåãæã€ãšæ€çŽ¢ã§ããŠãn ã§æ¬¡ãæ€çŽ¢ãN ã§åãæ€çŽ¢ã§ããããçµãããšã㯠q ãæŒãã°ãããã