
Linuxã®å匷ããããïŒ4ïŒãã³ãã³ãç·š
Linuxã®ã³ãã³ããšã¯äœãïŒ
Linuxã®ã³ãã³ããšã¯ãLinuxãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ïŒOSïŒã«å¯ŸããŠæç€ºãåºãããã®åœä»€æã®ããšã§ãããŠãŒã¶ãŒã¯ã³ãã³ããå ¥åããããšã§ããã¡ã€ã«ã®æäœãããã°ã©ã ã®å®è¡ãã·ã¹ãã ã®èšå®å€æŽãªã©ãæ§ã ãªåŠçãè¡ãããšãã§ããŸãã
ã³ãã³ãã®åºæ¬çãªæ§é
Linuxã³ãã³ãã¯ãäžè¬çã«ä»¥äžã®æ§é ãæã¡ãŸãã
command [options] [arguments]`command`: å®è¡ããã³ãã³ãã®ååãäŸãã°ã`ls` (ãã¡ã€ã«äžèŠ§è¡šç€º), `mkdir` (ãã£ã¬ã¯ããªäœæ), `rm` (ãã¡ã€ã«åé€) ãªã©ã
`options`: ã³ãã³ãã®åäœãå¶åŸ¡ããããã®ãªãã·ã§ã³ããã€ãã³ (`-`) ãŸãã¯ããã«ãã€ãã³ (`--`) ã§å§ãŸããäŸãã°ã`ls -l` (詳现ãªãã¡ã€ã«äžèŠ§è¡šç€º), `rm -r` (ãã£ã¬ã¯ããªãååž°çã«åé€) ãªã©ã
`arguments`: ã³ãã³ããåŠçãã察象ãšãªããã¡ã€ã«åããã£ã¬ã¯ããªåããŸãã¯ãã®ä»ã®ããŒã¿ãäŸãã°ã`ls /home/user` (`/home/user` ãã£ã¬ã¯ããªã®ãã¡ã€ã«äžèŠ§è¡šç€º), `mkdir new_directory` (`new_directory` ãšããååã®ãã£ã¬ã¯ããªãäœæ) ãªã©ã
äŸ:
ls -l /home/user/documentsãã®äŸã§ã¯ã
`ls` ãã³ãã³ã (ãã¡ã€ã«äžèŠ§è¡šç€º)
`-l` ããªãã·ã§ã³ (詳现衚瀺)
`/home/user/documents` ãåŒæ° (衚瀺察象ã®ãã£ã¬ã¯ããª)2. ã³ãã³ãã®çš®é¡
Linuxã«ã¯éåžžã«å€ãã®ã³ãã³ããååšããŸãããäž»ãªçš®é¡ãšããŠä»¥äžã®ãããªãã®ããããŸãã
ãã¡ã€ã«æäœã³ãã³ã:
`ls`: ãã¡ã€ã«ããã£ã¬ã¯ããªã®äžèЧã衚瀺
`cd`: ãã£ã¬ã¯ããªãç§»å
`pwd`: çŸåšã®ãã£ã¬ã¯ããªã衚瀺
`mkdir`: ãã£ã¬ã¯ããªãäœæ
`rmdir`: 空ã®ãã£ã¬ã¯ããªãåé€
`touch`: 空ã®ãã¡ã€ã«ãäœæããŸãã¯ãã¡ã€ã«ã®ã¿ã€ã ã¹ã¿ã³ããæŽæ°
`cp`: ãã¡ã€ã«ããã£ã¬ã¯ããªãã³ããŒ
`mv`: ãã¡ã€ã«ããã£ã¬ã¯ããªãç§»åãŸãã¯ãªããŒã
`rm`: ãã¡ã€ã«ããã£ã¬ã¯ããªãåé€
`cat`: ãã¡ã€ã«ã®å 容ã衚瀺
`more`, `less`: ãã¡ã€ã«ã®å 容ãããŒãžåäœã§è¡šç€º
`head`: ãã¡ã€ã«ã®å é éšåã衚瀺
`tail`: ãã¡ã€ã«ã®æ«å°Ÿéšåã衚瀺
`find`: ãã¡ã€ã«ãæ€çŽ¢
`grep`: ãã¡ã€ã«ã®äžããç¹å®ã®æååãæ€çŽ¢
`tar`: ãã¡ã€ã«ãã¢ãŒã«ã€ã (å§çž®)
`gzip`, `bzip2`: ãã¡ã€ã«ãå§çž®
ã·ã¹ãã 管çã³ãã³ã:
`ps`: ããã»ã¹ã®ç¶æ ã衚瀺
`top`: ã·ã¹ãã ã®è² è·ç¶æ³ã衚瀺
`kill`: ããã»ã¹ãçµäº
`shutdown`, `reboot`: ã·ã¹ãã ãã·ã£ããããŠã³ãŸãã¯åèµ·å
`df`: ãã£ã¹ã¯ã®äœ¿çšç¶æ³ã衚瀺
`du`: ãã£ã¬ã¯ããªã®ãã£ã¹ã¯äœ¿çšéã衚瀺
`chmod`: ãã¡ã€ã«ã®ã¢ã¯ã»ã¹æš©ã倿Ž
`chown`: ãã¡ã€ã«ã®ææè ã倿Ž
`passwd`: ãŠãŒã¶ãŒã®ãã¹ã¯ãŒãã倿Ž
`useradd`, `userdel`: ãŠãŒã¶ãŒã¢ã«ãŠã³ãã远å ãŸãã¯åé€
`groupadd`, `groupdel`: ã°ã«ãŒãã远å ãŸãã¯åé€
`sudo`: 管çè æš©éã§ã³ãã³ããå®è¡
ãããã¯ãŒã¯ã³ãã³ã:
`ping`: ãããã¯ãŒã¯ã®çéãç¢ºèª * `ifconfig`, `ip`: ãããã¯ãŒã¯ã€ã³ã¿ãŒãã§ãŒã¹ã®èšå®ã衚瀺ãŸãã¯å€æŽ
`netstat`, `ss`: ãããã¯ãŒã¯æ¥ç¶ã®ç¶æ ã衚瀺
`ssh`: ãªã¢ãŒããã¹ãã«å®å šã«æ¥ç¶
`scp`: ãªã¢ãŒããã¹ããšã®éã§ãã¡ã€ã«ãå®å šã«ã³ããŒ
`wget`, `curl`: Webãµã€ããããã¡ã€ã«ãããŠã³ããŒã
ãã®ä»:
`echo`: æååã衚瀺
`date`: çŸåšã®æ¥æã衚瀺
`cal`: ã«ã¬ã³ããŒã衚瀺
`man`: ã³ãã³ãã®ããã¥ã¢ã«ã衚瀺
`history`: ã³ãã³ãã®å®è¡å±¥æŽã衚瀺
`alias`: ã³ãã³ãã«å¥åãã€ãã
ã³ãã³ãã®å®è¡æ¹æ³
Linuxã®ã³ãã³ãã¯ãã¿ãŒããã« (ãŸãã¯ã³ã³ãœãŒã«) ãšåŒã°ããããã¹ãããŒã¹ã®ã€ã³ã¿ãŒãã§ãŒã¹ããå®è¡ããŸããã¿ãŒããã«ãéããã³ãã³ããå ¥åããŠEnterããŒãæŒããšãã³ãã³ããå®è¡ãããŸãã
ã³ãã³ãã®ãã«ã
åã³ãã³ãã«ã¯ããªãã·ã§ã³ãåŒæ°ã®äœ¿ãæ¹ã説æãããã«ãããã¥ã¡ã³ããçšæãããŠããŸãããã«ãã衚瀺ããã«ã¯ã以äžã®ããããã®æ¹æ³ã䜿çšããŸãã
`man ã³ãã³ãå`: `man` ã³ãã³ãã¯ãã³ãã³ãã®ããã¥ã¢ã«ããŒãžã衚瀺ããŸãã
`ã³ãã³ãå --help`: å€ãã®ã³ãã³ãã¯ã`--help` ãªãã·ã§ã³ã§ç°¡åãªãã«ãã衚瀺ããŸãã
äŸ:
man ls
ls --helpã³ãã³ãã®çµã¿åãã (ãã€ããšãªãã€ã¬ã¯ã)
Linuxã®åŒ·åãªæ©èœã®äžã€ã«ãã³ãã³ããçµã¿åãããŠè€éãªåŠçãè¡ãããšãã§ããç¹ããããŸãã
ãã€ã (`|`): ããã³ãã³ãã®åºåããå¥ã®ã³ãã³ãã®å ¥åãšããŠæž¡ããŸãã
äŸ: `ls -l | grep "txt"` (ãã¡ã€ã«äžèЧãã "txt" ãå«ãè¡ãæ€çŽ¢)
ãªãã€ã¬ã¯ã (`>`, `<`): ã³ãã³ãã®å ¥åºåããã¡ã€ã«ã«ãªãã€ã¬ã¯ãããŸãã
`>`: ã³ãã³ãã®åºåããã¡ã€ã«ã«æžã蟌ã¿ãŸã (äžæžã)ã
`>>`: ã³ãã³ãã®åºåããã¡ã€ã«ã«è¿œå æžã蟌ã¿ãŸãã
`<`: ãã¡ã€ã«ã®å 容ãã³ãã³ãã®å ¥åãšããŠäœ¿çšããŸãã
äŸ: `ls -l > file_list.txt` (ãã¡ã€ã«äžèЧã `file_list.txt` ã«ä¿å)
Linuxã®ã·ã§ã«ã«ã€ããŠ
Linuxã«ãããã·ã§ã«ãšã¯ããŠãŒã¶ãŒãšãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ïŒã«ãŒãã«ïŒãšã®éãåãæã€ã€ã³ã¿ãŒãã§ãŒã¹ã§ãããŠãŒã¶ãŒãå ¥åããã³ãã³ããè§£éããã«ãŒãã«ã«å®è¡ãæç€ºããããã«ãŒãã«ããã®å¿çããŠãŒã¶ãŒã«åããããã衚瀺ããããã圹å²ãæ ããŸãã
ã·ã§ã«ã¯ãã³ãã³ãã©ã€ã³ã€ã³ã¿ãŒãã§ãŒã¹ïŒCLIïŒãæäŸããããã°ã©ã ã§ããããŠãŒã¶ãŒã¯ããŒããŒãããããã¹ãããŒã¹ã®ã³ãã³ããå ¥åããŠã·ã¹ãã ãæäœããŸãã
ã€ã¡ãŒãž:
ãŠãŒã¶ãŒ: ããªã (ã³ãã³ããå ¥åãã人)
ã·ã§ã«: éèš³ (ããªãã®èšèãã«ãŒãã«ã«äŒããã«ãŒãã«ã®èšèãããªãã«äŒãã)
ã«ãŒãã«: Linux OSã®äžæ ž (å®éã®åŠçãå®è¡ãã)
ã·ã§ã«ã®çš®é¡:
Linuxã«ã¯æ§ã ãªçš®é¡ã®ã·ã§ã«ãååšããŸããããããã«ç¹åŸŽããããæ§æãæ©èœãç°ãªããŸãã代衚çãªã·ã§ã«ã«ã¯ä»¥äžã®ãããªãã®ããããŸãã
Bash (Bourne Again Shell): ã»ãšãã©ã®Linuxãã£ã¹ããªãã¥ãŒã·ã§ã³ã§ããã©ã«ããšããŠæ¡çšãããŠãããæãäžè¬çãªã·ã§ã«ã
Zsh (Z Shell): Bashãæ¡åŒµãããã®ã§ããã©ã°ã€ã³ã«ããã«ã¹ã¿ãã€ãºæ§ãé«ãã髿©èœã
Fish (Friendly Interactive Shell): ãŠãŒã¶ãŒãã¬ã³ããªãŒãªèšèšã§ãè£å®æ©èœãæ§æãã€ã©ã€ããå å®ã
Ksh (Korn Shell): åçšUNIXã§ãã䜿ãããŠããã·ã§ã«ã§ãBashã®å ã«ãªã£ãã
Csh (C Shell): Cèšèªã«äŒŒãæ§æãæã€ã·ã§ã«ã
ã·ã§ã«ã®åœ¹å²:
ã³ãã³ãã®è§£éãšå®è¡: ãŠãŒã¶ãŒãå ¥åããã³ãã³ããè§£æãããã®æå³ãçè§£ããŠãã«ãŒãã«ã«å®è¡ãæç€ºããŸãã
ããã°ã©ã ã®å®è¡: ã³ãã³ããšããŠæå®ãããããã°ã©ã ãèµ·åããŸãã
å ¥åºåã®ãªãã€ã¬ã¯ã: ã³ãã³ãã®æšæºå ¥åãæšæºåºåãæšæºãšã©ãŒåºåããã¡ã€ã«ãä»ã®ã³ãã³ãã«åãæ¿ããŸãã
ãã€ãåŠç: è€æ°ã®ã³ãã³ãããã€ãã§ç¹ããåã®ã³ãã³ãã®åºåãæ¬¡ã®ã³ãã³ãã®å ¥åãšããŠæž¡ããŸãã
倿°: ããŒã¿ãäžæçã«ä¿åããããã®å€æ°ãæäŸããŸãã
å¶åŸ¡æ§é : æ¡ä»¶åå² (ifæ) ãç¹°ãè¿ã (foræ, whileæ) ãªã©ã®å¶åŸ¡æ§é ãçšããŠãè€éãªåŠçãèšè¿°ã§ããŸãã
ã¹ã¯ãªããã®å®è¡: äžé£ã®ã³ãã³ãããã¡ã€ã«ã«èšè¿°ããã·ã§ã«ã¹ã¯ãªãããå®è¡ã§ããŸãã
ã³ãã³ãè£å®: ã³ãã³ãããã¡ã€ã«åãéäžãŸã§å ¥åãããšãåè£ãæç€ºããŠå ¥åãè£å©ããŸãã
ãã¹ããªæ©èœ: éå»ã«å ¥åããã³ãã³ããèšé²ããåå©çšã§ããŸãã
ãšã€ãªã¢ã¹: ãã䜿ãã³ãã³ãã«çãå¥å (ãšã€ãªã¢ã¹) ãä»ããããšãã§ããŸãã
Bashã®äŸ
以äžã«ãBashã·ã§ã«ã§ãã䜿ãããã³ãã³ãã®äŸãããã€ã瀺ããŸãã
`ls`: çŸåšã®ãã£ã¬ã¯ããªã«ãããã¡ã€ã«ããã£ã¬ã¯ããªã®äžèЧã衚瀺ããŸãã
`ls -l`: è©³çŽ°ãªæ å ±ã衚瀺ããŸã (ããŒããã·ã§ã³ãææè ããµã€ãºãæçµæŽæ°æ¥æãªã©)ã
`ls -a`: é ããã¡ã€ã« (ãã¡ã€ã«åã `.` ã§å§ãŸããã¡ã€ã«) ã衚瀺ããŸãã
`cd`: ãã£ã¬ã¯ããªãç§»åããŸãã
`cd /home/user`: `/home/user` ãã£ã¬ã¯ããªã«ç§»åããŸãã
`cd ..`: 芪ãã£ã¬ã¯ããªã«ç§»åããŸãã
`cd`: ããŒã ãã£ã¬ã¯ããªã«ç§»åããŸãã
`pwd`: çŸåšã®ãã£ã¬ã¯ããªã®ãã¹ã衚瀺ããŸãã
`mkdir`: æ°ãããã£ã¬ã¯ããªãäœæããŸãã
`mkdir my_directory`: `my_directory` ãšããååã®ãã£ã¬ã¯ããªãäœæããŸãã
`rm`: ãã¡ã€ã«ããã£ã¬ã¯ããªãåé€ããŸãã
`rm my_file.txt`: `my_file.txt` ãšãããã¡ã€ã«ãåé€ããŸãã
`rm -r my_directory`: `my_directory` ãšãããã£ã¬ã¯ããªãšãã®äžèº«ããã¹ãŠåé€ããŸã (泚æ: æ éã«äœ¿çšããŠãã ãã)ã
`cp`: ãã¡ã€ã«ããã£ã¬ã¯ããªãã³ããŒããŸãã
`cp my_file.txt new_file.txt`: `my_file.txt` ã `new_file.txt` ãšããååã§ã³ããŒããŸãã
`cp -r my_directory new_directory`: `my_directory` ã `new_directory` ãšããååã§ãã£ã¬ã¯ããªããšã³ããŒããŸãã
`mv`: ãã¡ã€ã«ããã£ã¬ã¯ããªãç§»åãŸãã¯ãªããŒã ããŸãã
`mv my_file.txt new_file.txt`: `my_file.txt` ã `new_file.txt` ãšããååã«ãªããŒã ããŸãã
`mv my_file.txt /home/user/documents`: `my_file.txt` ã `/home/user/documents` ãã£ã¬ã¯ããªã«ç§»åããŸãã
`cat`: ãã¡ã€ã«ã®å 容ã衚瀺ããŸãã
`cat my_file.txt`: `my_file.txt` ã®å 容ãã¿ãŒããã«ã«è¡šç€ºããŸãã
`echo`: æååã衚瀺ããŸãã
`echo "Hello, world!"`: "Hello, world!" ãšããæååãã¿ãŒããã«ã«è¡šç€ºããŸãã
`grep`: ãã¡ã€ã«ã®äžããç¹å®ã®ãã¿ãŒã³ã«äžèŽããè¡ãæ€çŽ¢ããŸãã
`grep "error" logfile.txt`: `logfile.txt` ã®äžãã "error" ãšããæååãå«ãè¡ãæ€çŽ¢ããŸãã
`find`: ãã¡ã€ã«ã·ã¹ãã ã®äžããç¹å®ã®æ¡ä»¶ã«äžèŽãããã¡ã€ã«ãæ€çŽ¢ããŸãã
`find . -name "*.txt"`: çŸåšã®ãã£ã¬ã¯ããªä»¥äžã«ããæ¡åŒµåã `.txt` ã®ãã¡ã€ã«ããã¹ãŠæ€çŽ¢ããŸãã
`ps`: çŸåšå®è¡äžã®ããã»ã¹ã衚瀺ããŸãã
`ps aux`: ãã¹ãŠã®ãŠãŒã¶ãŒãå®è¡ããŠãããã¹ãŠã®ããã»ã¹ã衚瀺ããŸãã
`kill`: ããã»ã¹ãçµäºãããŸãã
`kill 1234`: ããã»ã¹IDã 1234 ã®ããã»ã¹ãçµäºãããŸãã
`sudo`: 管çè æš©éã§ã³ãã³ããå®è¡ããŸãã
`sudo apt update`: ããã±ãŒãžãªã¹ããæŽæ°ããŸã (管çè æš©éãå¿ èŠ)ã
ã·ã§ã«ã¹ã¯ãªããã®äŸ:
#!/bin/bash
# çŸåšã®æ¥æã衚瀺ãã
echo "çŸåšã®æå»: $(date)"
# ãŠãŒã¶ãŒã«ååãå
¥åããŠããã
read -p "ããªãã®ååãå
¥åããŠãã ãã: " name# å
¥åãããååã䜿ã£ãŠæšæ¶ãã
echo "ããã«ã¡ã¯, ${name} ãã!"
# æå®ããããã£ã¬ã¯ããªã®ãã¡ã€ã«æ°ãæ°ãã
directory="/home/user/documents"
file_count=$(ls -l "$directory" | grep -v "^d" | wc -l)
# ãã¡ã€ã«æ°ã衚瀺ããecho "${directory} ã«ã¯ ${file_count} åã®ãã¡ã€ã«ããããŸãã"ãã®ã¹ã¯ãªããã¯ãçŸåšã®æ¥æã衚瀺ãããŠãŒã¶ãŒã«ååãå ¥åããŠããããæšæ¶ããæå®ããããã£ã¬ã¯ããªã®ãã¡ã€ã«æ°ãæ°ããŠè¡šç€ºããŸãã
ãŸãšã:
ã·ã§ã«ã¯ãLinuxã·ã¹ãã ãæäœããããã®åŒ·åãªããŒã«ã§ããã³ãã³ããçè§£ãã䜿ãããªãããšã§ããã¡ã€ã«ã®æäœãããã°ã©ã ã®å®è¡ãã·ã¹ãã 管çãªã©ãæ§ã ãªã¿ã¹ã¯ãå¹ççã«è¡ãããšãã§ããŸããã·ã§ã«ã¹ã¯ãªãããäœæããããšã§ãäžé£ã®ã³ãã³ããèªååããããšãå¯èœã§ãã
次åã¯
çè ã¯äœãã䜿ãããªããšããããšã¯ãçšéã«å¿ããã«ã¹ã¿ãã€ãºããããšããããšããå§ãŸããšèããŠããŸããããã§æ¬¡çš¿ã¯ã«ã¹ã¿ãã€ãºã®ããæ¹ã説æããããšæããŸã