åºè«
æ¬çš¿ã¯ å åžåœ¹æè·å¡ãWEBããã°ã©ãã«è»¢è·ãããŸã§ã®ããŒãããã ã®é£èŒèšäºã®äžéšã§ãã
ãŸã ãWEBããã°ã©ãã«è»¢è·ããŠãã2幎ãçµéããŠããªãçŽ äººã§ãããããè²ã
ãšééã£ãŠããããšãæžããŠãããããããšæããŸãã
ãã®éã¯ãææ°ã§ã¯ããããŸããããææããã ããã°å¹žãã§ããããŸãã
ãŸããæ¬çš¿ã¯äžéš The 2020 Web Developer Roadmap ã®èšäºãæåããŠãããŸãã
ããããããäºæ¿ããã ããã°ãšæããŸãã
GUI ãš CLI
ã°ã©ãã£ã«ã«ãŠãŒã¶ã€ã³ã¿ãŒãã§ã€ã¹ïŒGUIïŒã¯ãã¢ã€ã³ã³ããã¿ã³ãªã©ã«ããçŽèгçã«ã³ã³ãã¥ãŒã¿ãæ±ãããšãã§ããŸãã
ããããªãã GUI ã§ã¯ããããããæäŸãããŠããæ©èœããæ±ããªãã£ãããæè»ãªã³ã³ãã¥ãŒã¿æäœã«ã¯åããŠããªãã£ããããŸãã
ãŸããæäœæé ã®å
±æã®ããã«ç»åã®ããã¥ã¢ã«ãå¿
èŠã«ãªããªã©ãäžäŸ¿ãªããšãå€ãã§ãã
äžæ¹ã§ã³ãã³ãã©ã€ã³ã€ã³ã¿ãŒãã§ã€ã¹ïŒCLIïŒã¯ãã³ã³ãã¥ãŒã¿ãããæè»ã«æäœãã匷åãªææ®µã§ãããæé ã®å ±æãæ¯èŒç容æã§ãã
CLI ã®ãã¡ãªãããšããŠã¯ãå®è¡ãããã¿ã¹ã¯ãã³ãã³ããšããŠå ¥åããªããã°ãªããªããããèŠããã¹ãããšãå€ãã£ãããçŽèгçã§ãªãã£ããããããšãæããããŸãã
ããããªãããæäœã«æ
£ããŠããŸãã°ãã³ãã³ããçµã¿åãããŠæ§ã
ãªã¿ã¹ã¯ãæè»ã«å®è¡ããããšãã§ããããã«ãªããŸãã
ãŸããåºæ¬çãªããã°ã©ãã³ã°ã®èãæ¹ãåŠã¶ã®ã«ãè¯ããšèããŠããŸãã
ïŒãšã¯ãããWEBããã³ããšã³ãå šçæã®çŸåšã«ãããŠã¯ãæ®éã« HTML/CSS, JavaScript ããå ¥ã£ãŠãReact ã Vue ãªã©ãåŠã¶ã®ãæè¯ãªã®ãããããŸããïŒ
ã³ãã³ãã®æžãæ¹
以äžã«å žåçãªã³ãã³ãã©ã€ã³ã³ãã³ãã®äŸã瀺ããŸãã
$ rm -f foo.txt
ãã®ã³ãã³ã㯠foo.txt ã匷å¶çã«åé€ããããšãã³ã³ãã¥ãŒã¿ã«åœä»€ããŠããŸãã
ã³ã³ãã¥ãŒã¿ã¯åœä»€ãåããå®éã« foo.txt ãåé€ããŸãã
æ¬çš¿ã«ãããã³ãã³ãã®åºæ¬çãªæžãæ¹ã«ã€ããŠã¯ ã³ãã³ãã®èšæ³ ãåç §ããŠãã ããã
端æ«ïŒã¿ãŒããã«ïŒã®å®è¡
ã³ãã³ãã©ã€ã³ã³ãã³ããå®è¡ããã«ã¯ãæåã«ã¿ãŒããã«ïŒã³ãã³ãã©ã€ã³ãæäŸããããã°ã©ã ãéç§°ãé»ãç»é¢ãïŒãèµ·åããå¿ èŠããããŸãã
â» æ¬çš¿ã¯ãWSL2 + Ubuntu 20.04 + Docker éçºç°å¢æ§ç¯ ã§æ§ç¯ããç°å¢ãåæã«è©±ãé²ããŠãããŸãã®ã§ãèªèº«ã®ç°å¢ã«åãããŠé©å®èªã¿æ¿ããŠããã ããã°å¹žãã§ãã
Ubuntu 20.04 on WSL2 ã§ã¯ãäž»ã«ä»¥äžã®ãããªæé ã§ã¿ãŒããã«ãèµ·åããããšãã§ããŸãã
- Windowsã¹ã¿ãŒãã¡ãã¥ãŒ >
Ubuntu 20.04 - PowerShell ã³ãã³ãã©ã€ã³ >
start wslã³ãã³ãå®è¡ - Windowsãšã¯ã¹ãããŒã© > ã¢ãã¬ã¹ã㌠>
wslããå®è¡
ã¿ãŒããã«ã®æ§æèŠçŽ ã¯äžå³ã®ããã«ãªã£ãŠããŸãã
ãã¡ã€ã«ã·ã¹ãã ã®éãã«ã€ããŠ
äžèš 3 ã®æ¹æ³ã§ã¿ãŒããã«ãèµ·åããå Žåãã«ã¬ã³ããã¹ã /mnt/c/... ãšãã圢åŒã«ãªã£ãŠããããšããããŸãã
ããã¯ãWindowsãã¡ã€ã«ã·ã¹ãã ã® C:\... ãããŠã³ããããã¹ã§ãã
ããŠã³ããšã¯ãLinuxãã¡ã€ã«ã·ã¹ãã äžã«æ¬æ¥ååšããªããã¡ã€ã«ã·ã¹ãã ãLinuxãã¡ã€ã«ã·ã¹ãã å ã«åã蟌ãä»çµã¿ã®ããšã§ãã
ãã®ææ³šæãããã®ã¯ãWindowsãã¡ã€ã«ã·ã¹ãã ã¯éåžžãNTFS ãšåŒã°ãããã©ãŒãããã§ãäžè¬çãªLinuxãã¡ã€ã«ã·ã¹ãã ã®ãã©ãŒãããã§ãã ext4 ãšç°ãªããšããããšã§ãã
ãã®ãã¡ã€ã«ã·ã¹ãã ãã©ãŒãããã®éãã«ãããWSL2 ãWindowsãã¡ã€ã«ã·ã¹ãã äžã§åãããšããã¡ã€ã«ã®èªã¿æžããé
ããšããåé¡ããããŸãã
ãã®ãããWSL2 ã¯åºæ¬çã«Linuxãã¡ã€ã«ã·ã¹ãã äžã§åããããšãæšå¥šããŠããŸãã
Ubuntu 20.04 on WSL2 ã®å Žåããã®Linuxãã¡ã€ã«ã·ã¹ãã ã¯ãWindowsãšã¯ã¹ãããŒã©ã®ã¢ãã¬ã¹ããŒã§ \\wsl$\Ubuntu-20.04 ãšæã¡èŸŒãã æã«ç¢ºèªã§ããŸãã
æåã®ã³ãã³ã
"Hello, World" ãã¿ãŒããã«äžã«è¡šç€ºããŠã¿ãŸãã
echo ã³ãã³ãã¯ãåŒæ°ã«æååãåãåãããã®æååãã¿ãŒããã«äžã«è¡šç€ºããããšãã§ããŸãã
# echo ... ã§ ... ã衚瀺ãã
$ echo Hello, World
Hello, World
# '' ã "" ã§å²ãããšã§ããããäžã€ã®æååã§ããããšãæç€ºãã
$ echo 'Hello, World'
Hello, World
$ echo "Hello, World"
Hello, World
# "" ã§å²ãã å Žåã"$倿°å" ã倿°ã®äžèº«ã§å±éããããšãã§ãã
$ echo "ç§ã®ãŠãŒã¶ID㯠$UID ã§ã"
ç§ã®ãŠãŒã¶ID㯠1000 ã§ã
# â» âã®ãŠãŒã¶IDã¯ç°å¢ã«ããç°ãªã
# '' ã§å²ãã å Žåã'$倿°å' ã¯ãã®ãŸãŸè¡šç€ºããã
$ echo 'ç§ã®ãŠãŒã¶ID㯠$UID ã§ã'
ç§ã®ãŠãŒã¶ID㯠$UID ã§ã
# '' ã "" ã§å²ããšããçµããã®ã¯ãªãŒããå¿ãããšããç¶ãã®å
¥åãä¿ããã
$ echo 'Hello, World
> # ç¶ãã®æååãå
¥åã§ãã => çµããã®ã¯ãªãŒããå
¥åããããŸã§ç¶ã
> # å
¥åã®éäžã§ã³ãã³ãå®è¡ãäžæãããå Žå㯠Ctrl + C ããŒãæã€
ããã¥ã¢ã«ããŒãž
man ã³ãã³ãã¯ãåŒæ°ã«æž¡ãããã³ãã³ãã®ããã¥ã¢ã«ããŒãžã衚瀺ããŸãã
äœ¿ãæ¹ã®åãããªãã³ãã³ããããå Žåããšãããã man <ã³ãã³ãå> ã³ãã³ããå®è¡ãããšå€§äœãªããšããªããŸãã
# echo ã³ãã³ãã®ããã¥ã¢ã«ããŒãžã衚瀺
$ man echo
# => ããã¥ã¢ã«ããŒãžãéã
### <man>
åå
echo - 1 è¡ã®ããã¹ãã衚瀺ãã
æžåŒ
echo [SHORT-OPTION]... [STRING]...
echo LONG-OPTION
説æ
:
### </man>
# ããã¥ã¢ã«ããŒãžã¯ q ããŒãæã€ããšã§çµäºã§ãã
# ããã¥ã¢ã«ããŒãžã§ã®ããŒæäœãåãããªããªã£ãå Žå㯠h ããŒã§ãã«ãããŒãžã衚瀺ã§ãã
ã¿ãŒããã«ãšãã£ã¿å ¥é
ã¿ãŒããã«äžã§ãã¡ã€ã«ã®ç·šéãè¡ãããå Žåãã¿ãŒããã«ãšãã£ã¿ã䜿ããªããã°ãªããªãå Žé¢ãåºãŠããŸãã
äŒçµ±çãªLinuxã®ã¿ãŒããã«ãšãã£ã¿ã¯ vi(vim) ãšãããšãã£ã¿ã§ãããvi <ãã¡ã€ã«å> ãšããã³ãã³ãã§å¯Ÿè±¡ãã¡ã€ã«ãç·šéãã vi ãšãã£ã¿ãèµ·åããŸãã
ãã® vi ãšãã£ã¿ã¯æäœæ¹æ³ãç¬ç¹ã§ãããæ £ããªãå ã¯æžæãããšãå€ããããviããŒãã·ãŒã ãèŠãªããæäœãããšè¯ããããããŸããã
æãåºæ¬çãªäœ¿ãæ¹ã¯ä»¥äžã®éãã§ãã
# test.txt ã vi ã§ç·šéããïŒååšããªãå Žåã¯æ°èŠäœæããïŒ
$ vi test.txt
### <test.txt>
# èµ·åçŽåŸã® vi ã¯ã¹ã¯ãªãŒã³ã¢ãŒãã§ãããã i ããŒã§ç·šéã¢ãŒãã«ç§»ããããã¹ããæã¡èŸŒã
Hello, Vi Editor.
# ç·šéçµäºããããEsc ããŒã§ã¹ã¯ãªãŒã³ã¢ãŒãã«ç§»ã
# ã¹ã¯ãªãŒã³ã¢ãŒãã§ :wq ãšæã¡èŸŒã¿ããã¡ã€ã«ã®ä¿åã»çµäºãè¡ã
### </test.txt>
ãªããæè¿ã§ã¯ nano ãšããããããŠãŒã¶ãã¬ã³ããªãŒãªã¿ãŒããã«ãšãã£ã¿ãããããããã¡ããã€ã³ã¹ããŒã«ããŠäœ¿ã£ãŠãè¯ããããããŸããã
VSCode Remote WSL
ãšãã£ã¿ãšã㊠VSCode ã䜿ã£ãŠããå ŽåãRemote WSL ãã©ã°ã€ã³ã«ãããWSL2 äžã®Linuxã¿ãŒããã«ã§ code <ãã¡ã€ã«ã»ãã£ã¬ã¯ããª> ã³ãã³ããå®è¡ãããš VSCode GUI ãšãã£ã¿ãéãããšãã§ããŸãã
ä»åŸå®éã«éçºãè¡ã£ãŠããéã¯ãã¿ãŒããã«ãšãã£ã¿ã§éçºãè¡ãã®ã¯éåžžã«å€§å€ã§ãããããVSCode Remote WSL ãã©ã°ã€ã³ã掻çšããããšãæšå¥šããŸãã
Linuxãã¡ã€ã«ã·ã¹ãã
ã³ãã³ãã©ã€ã³èšæ³
ããã§ã¯ããã°ã€ã³ãŠãŒã¶åãšäœæ¥ãã£ã¬ã¯ããªïŒã«ã¬ã³ããã£ã¬ã¯ããªïŒãæç€ºããããã以äžã®ããã«èšè¿°ããŸãã
# åºæ¬ã³ãã³ãã©ã€ã³èšæ³
<ãŠãŒã¶å>@<ã³ã³ãã¥ãŒã¿å> <ã«ã¬ã³ããã£ã¬ã¯ããª>$ <ã³ãã³ã>
# 以äžã®æ¡ä»¶ã®å Žå
## ãã°ã€ã³ãŠãŒã¶: user
## ã³ã³ãã¥ãŒã¿å: local
## ã«ã¬ã³ããã£ã¬ã¯ããª: ããŒã ãã£ã¬ã¯ããªïŒ~ïŒ
user@local ~/$
Linuxã®ãã£ã¬ã¯ããªæ§é
Linuxã®ãã£ã¬ã¯ããªæ§é 㯠FHS(Filesystem Hierarchy Standard) ãšããèŠæ Œã«ãã£ãŠçµ±äžåãå³ãããŠãããåºæ¬çã«ä»¥äžã®ãããªæ§é ãšãªã£ãŠããŸãã
/ # ã«ãŒããã£ã¬ã¯ããª: Linuxã·ã¹ãã ã®å
šãŠããã®äžã«å
¥ã£ãŠãã
| ## ãã®ãã£ã¬ã¯ããªãåé€ãããšã·ã¹ãã ã®å
šãŠãæ¶ãå»ãããæ³šæïŒ
|
|_ bin/ # äžè¬ãŠãŒã¶åãã®åºæ¬ã³ãã³ããæ ŒçŽ
| ## PATH: /bin/
|
|_ boot/ # ã·ã¹ãã èµ·åã«å¿
èŠãªãã¡ã€ã«ãæ ŒçŽ
| ## PATH: /boot/
|
|_ dev/ # ããã€ã¹ãã¡ã€ã«ãæ ŒçŽ
| ## PATH: /dev/
|
|_ etc/ # åçš®èšå®ãã¡ã€ã«ãæ ŒçŽ (PATH: /etc/)
| |_ opt/ # optã®èšå®ãã¡ã€ã«æ ŒçŽ (PATH: /etc/opt/)
| |_ X11/ # X Window System v11çšã®èšå®ãã¡ã€ã«æ ŒçŽ (PATH: /etc/X11/)
| |_ sgml/ # SGMLã®èšå®ãã¡ã€ã«æ ŒçŽ (PATH: /etc/sgml/)
| |_ xml/ # XMLã®èšå®ãã¡ã€ã«æ ŒçŽ (PATH: /etc/xml/)
|
|_ home/ # ãŠãŒã¶ããŒã ãã£ã¬ã¯ã㪠(PATH: /home/)
| |_ <user>/ # ãŠãŒã¶åããšã®ãã£ã¬ã¯ããªããã (PATH: /home/<user>/)
| : ## éåžžããã°ã€ã³äžã®ãŠãŒã¶ã®ããŒã ãã£ã¬ã¯ã㪠(~) ãããã«ãªã£ãŠãã
| ## äŸ: fooãŠãŒã¶ã®ããŒã ãã£ã¬ã¯ã㪠~foo = /home/foo/
|
|_ lib/ # å
±æã©ã€ãã©ãªãæ ŒçŽ
| ## PATH: /lib/
|
|_ mnt/ # ãã¡ã€ã«ã·ã¹ãã ã®äžæçãªããŠã³ããã€ã³ãçšãã£ã¬ã¯ããª
| ## PATH: /mnt/
|
|_ media/ # CD-ROMãªã©ã®ãªã ãŒããã«åªäœ(media)ã®ããŠã³ããã€ã³ã
| ## PATH: /media/
|
|_ opt/ # å®è¡æã«æžãæããããªãã¢ããªã±ãŒã·ã§ã³ãœãããŠã§ã¢ããã±ãŒãžãæ ŒçŽ
| ## PATH: /opt/
|
|_ proc/ # ã«ãŒãã«ãããã»ã¹ã«é¢ããæ
å ±ãããã¹ãã§è¡šç€ºããä»®æ³ãã¡ã€ã«ã·ã¹ãã
| ## PATH: /proc/
|
|_ root/ # rootãŠãŒã¶çšããŒã ãã£ã¬ã¯ããª
| ## PATH: /root/
|
|_ sbin/ # ã·ã¹ãã 管ççšã³ãã³ããæ ŒçŽ
| ## PATH: /sbin/
|
|_ tmp/ # ãã¡ã€ã«ãªã©ãäžæçã«ä¿ç®¡ãããã£ã¬ã¯ããª
| ## PATH: /tmp/
|
|_ srv/ # ã·ã¹ãã ã«æäŸããããµã€ãåºæã®ããŒã¿ãæ ŒçŽ
| ## PATH: /srv/
|
|_ usr/ # ããã°ã©ã ãã«ãŒãã«ãœãŒã¹ãæ ŒçŽ (PATH: /usr/)
| |_ bin/ # /bin/ ãšåãã ããåºæ¬ã³ãã³ãã§ã¯ãªã (PATH: /usr/bin/)
| |_ include/ # æšæºincludeãã¡ã€ã«æ ŒçŽ (PATH: /usr/include/)
| |_ lib/ # /lib/ ãšåé¡ (PATH: /usr/lib/)
| |_ sbin/ # /sbin/ ãšåãã ããåºæ¬çãªã·ã¹ãã ã³ãã³ãã§ã¯ãªã (PATH: /usr/sbin/)
| |_ share/ # ã¢ãŒããã¯ãã£ã«äŸåããªãå
±æããŒã¿ (PATH: /usr/share/)
| |_ src/ # ãœãŒã¹ã³ãŒãïŒã«ãŒãã«ã®ãœãŒã¹ã³ãŒãã»ããããã¡ã€ã«ïŒ(PATH: /usr/src/)
| |_ X11R6/ # X Window System v11 Release 6 (PATH: /usr/X11R6/)
| |_ local/ # ãã¹ãåºæã®ããŒã«ã«ããŒã¿ãæ ŒçŽãã第äžéå±€ (PATH: /usr/local/)
| |_ bin/ # ãã¹ãåºæã®ã³ãã³ããæ ŒçŽ (PATH: /usr/local/bin/)
|
|_ var/ # ã·ã¹ãã ãã°ãªã©ã®åçã«å€åãããã¡ã€ã«ãæ ŒçŽ (PATH: /var/)
|_ lock/ # 䜿çšäžãªãœãŒã¹ãä¿æãããã¡ã€ã«æ ŒçŽ (PATH: /var/local/)
|_ log/ # åçš®ãã°ãã¡ã€ã«æ ŒçŽ (PATH: /var/log/)
|_ mail/ # ãŠãŒã¶ã®ã¡ãŒã«ããã¯ã¹ (PATH: /var/mail/)
| |_ <user> # ãŠãŒã¶åããšã®ã¡ãŒã«ããã¯ã¹ããã (PATH: /var/mail/<user>/)
| :
|
|_ run/ # ããŒã以éã®èµ°è¡äžã·ã¹ãã ã«é¢ããæ
å ± (PATH: /var/run/)
|_ spool/ # åŠçåŸ
ã¡ç¶æ
ã®ã¿ã¹ã¯ã®ã¹ããŒã« (PATH: /var/spool/)
| |_ mail/ # äºæã®ããã«æ®ãããããã€ãŠã®ãŠãŒã¶ã¡ãŒã«ããã¯ã¹
| ## PATH: /var/spool/mail/
|
|_ tmp/ # äžæãã¡ã€ã«çœ®å Ž (ãã«ããŠãŒã¶ã¢ãŒãã§ã¯ãã¡ãã®äœ¿çšãæšå¥šããã)
## PATH: /var/tmp/
ã«ã¬ã³ããã£ã¬ã¯ã㪠(current directory)
Linuxã®ã¿ãŒããã«ã§ã³ãã³ããå®è¡ããå Žåã«ã¯ããã£ã¬ã¯ããªããªãŒå
ã®ããããã®ãã£ã¬ã¯ããªã«ãŠãŒã¶ãååšããŠäœæ¥ãè¡ãããšã«ãªããŸãã
ãã®äœæ¥ãè¡ã£ãŠããçŸåšäœçœ®ã®ãã£ã¬ã¯ããªã ã«ã¬ã³ããã£ã¬ã¯ã㪠ãšåŒã³ãŸãã
å¥ã®åŒã³æ¹ãšã㊠ã¯ãŒãã³ã°ãã£ã¬ã¯ã㪠ã ã«ã¬ã³ãã¯ãŒãã³ã°ãã£ã¬ã¯ã㪠ãªã©ãšåŒã¶ããšããããŸãã
ã«ã¬ã³ããã£ã¬ã¯ããªã衚瀺ããã«ã¯ pwd (Print Working Directory) ã³ãã³ããå®è¡ããŸãã
# æ®éã« WSL2 ã¿ãŒããã«ãèµ·åããå Žåãã«ã¬ã³ããã£ã¬ã¯ããªã¯ãŠãŒã¶ããŒã ãã£ã¬ã¯ããªã«ãªã£ãŠãã
# => pwd ã³ãã³ããå®è¡ãããš /home/<ãŠãŒã¶å> ã衚瀺ãããã¯ã
user@local ~/$ pwd
/home/user
絶察ãã¹ (absolute path)
絶察ãã¹ãšã¯ãLinuxæšæºãã¡ã€ã«ã·ã¹ãã ïŒFHSïŒã«ãããã«ãŒããã£ã¬ã¯ããªïŒ/ïŒããã®éå±€äœçœ®ã衚ããŸãã
ãã®ãšãããã£ã¬ã¯ããªïŒéå±€ïŒã¯ / ã§åºåãããŠè¡šçŸãããŸãã
äŸãã° /var/mail/user/ ã¯ã以äžã®ãããªéå±€æ§é ã® user ãã£ã¬ã¯ããªã瀺ããŠããŸãã
/
|_ var/
|_ mail/
|_ user/
Linuxã·ã¹ãã ã«ããããã¡ã€ã«ã»ãã£ã¬ã¯ããªã¯ãå¿ ãã«ãŒããã£ã¬ã¯ããªå ã®ããããã®éå±€ã«ååšããããã絶察ãã¹ã§è¡šèšããããã¡ã€ã«ã·ã¹ãã äœçœ®ã¯äžæã«æ±ºãŸããŸãã
ãªãã絶察ãã¹ã®ããšã ãã«ãã¹ ãšåŒã¶ããšããããŸãã
ã«ã¬ã³ããã£ã¬ã¯ããªã®ç§»å
ã«ã¬ã³ããã£ã¬ã¯ããªãç§»åããã«ã¯ cd (Current Directory) ã³ãã³ããå®è¡ããŸãã
äŸãã°ããŠãŒã¶ããŒã ãã£ã¬ã¯ããªïŒãŠãŒã¶å: userïŒã®äžã® .ssh ãšãããã£ã¬ã¯ããªã«ç§»åããã«ã¯ã以äžã®ã³ãã³ããå®è¡ããŸãã
# ã«ã¬ã³ããã£ã¬ã¯ããªç§»å
user@local ~/$ cd /home/user/.ssh/
# ã«ã¬ã³ããã£ã¬ã¯ããªã®çµ¶å¯Ÿãã¹ã衚瀺
user@local ~/.ssh/$ pwd
/home/user/.ssh
çžå¯Ÿãã¹ (relative path)
絶察ãã¹ã¯ãã£ã¬ã¯ããªããªãŒå
ã«ãããã¡ã€ã«ããã£ã¬ã¯ããªå
šãŠã衚çŸã§ããŸãã
ããããã«ã¬ã³ããã£ã¬ã¯ããªã®äžã«ãããã¡ã€ã«ã»ãã£ã¬ã¯ããªã衚çŸãã床ã«ãã¡ãã¡çµ¶å¯Ÿãã¹ã§è¡šèšããŠããŠã¯éåžžã«é¢åã§ãã
ããã§ãã«ã¬ã³ããã£ã¬ã¯ããªãäžå¿ãšããŠçžå¯Ÿçãªãã¡ã€ã«ããã£ã¬ã¯ããªã®äœçœ®ãæå®ããŠãããã衚çŸã§ãããã çžå¯Ÿãã¹ ãšããè¡šèšæ¹æ³ãå©çšãããŸãã
äŸãã°ãã«ã¬ã³ããã£ã¬ã¯ããªãèªåïŒãŠãŒã¶å: userïŒã®ããŒã ãã£ã¬ã¯ããªã§ããããã®äžã«ãã sample ãšãããã¡ã€ã«ã®ååãèšè¿°ããå ŽåãèããŸãã
絶察ãã¹ã§ããã° /home/user/sample ãšæžããªããã°ãããªããšããããçžå¯Ÿãã¹ã§ã¯åã«ãã¡ã€ã«åã§ãã sample ãšèšè¿°ããã ãã§æžã¿ãŸãã
ãŸããçžå¯Ÿãã¹è¡šèšã§ã¯ãã«ã¬ã³ããã£ã¬ã¯ããªã .ïŒããªãªãïŒã§èšè¿°ãããã sample 㯠./sample ãšèšè¿°ããããšãã§ããŸãã
絶察ãã¹ãšåãããã£ã¬ã¯ããªïŒéå±€ïŒã®åºåãæåã / ã®ããã./sample ã¯ãã«ã¬ã³ããã£ã¬ã¯ããªã®äžã® sampleããšããæå³ã«ãªãåçã§ãã
次ã«ãã«ã¬ã³ããã£ã¬ã¯ããªãããäžã«ãããã£ã¬ã¯ããªãžçžå¯Ÿãã¹ã§ã¢ã¯ã»ã¹ããããã®è¡šèšã«ã€ããŠèª¬æããŸãã
äžã€äžã®ãã£ã¬ã¯ããªïŒèŠªãã£ã¬ã¯ã㪠ãšãåŒã¶ïŒã¯ãçžå¯Ÿãã¹è¡šèšã§ã¯ã..ïŒããªãªã2ã€ïŒã§è¡šçŸãããŸãã
äŸãã°ããŠãŒã¶ããŒã ãã£ã¬ã¯ããªãã«ã¬ã³ããã£ã¬ã¯ããªã®å Žåã芪ãã£ã¬ã¯ããªã§ãã /home/ ãžç§»åããã«ã¯ã以äžã®ããã«èšè¿°ã§ããŸãã
# ã«ã¬ã³ããã£ã¬ã¯ããªç¢ºèª
user@local ~/$ pwd
/home/user/
# 芪ãã£ã¬ã¯ããªã«ç§»å
user@local ~/$ cd ..
# ã«ã¬ã³ããã£ã¬ã¯ããªè¡šç€º
user@local /home/$ pwd
/home/
ãã¹æå®ã§å©çšãããèšå·
| èšå· | æå³ |
|---|---|
/ |
/ åäœã§èšè¿°ããå Žåã¯ãã«ãŒããã£ã¬ã¯ããªãæå³ãããã以å€ã¯ãã£ã¬ã¯ããªïŒéå±€ïŒã®åºåãæåãšèŠãªã |
. |
ã«ã¬ã³ããã£ã¬ã¯ããªãæå³ãã |
.. |
äžã€äžã®ãã£ã¬ã¯ããªïŒèŠªãã£ã¬ã¯ããªïŒãæå³ãããäºã€äžã®ãã£ã¬ã¯ããªã¯ ../.. ã§è¡šèšããã |
~ |
èªåã®ããŒã ãã£ã¬ã¯ããªãæå³ãã |
~user |
ãŠãŒã¶å user ã®ããŒã ãã£ã¬ã¯ããªãæå³ãã |
Linuxã®ãã¡ã€ã«æäœ
ãã¡ã€ã«äžèЧã®ç¢ºèª
ã«ã¬ã³ããã£ã¬ã¯ããªå
ã®ãã¡ã€ã«ã»ãã£ã¬ã¯ããªäžèЧã確èªããã«ã¯ ls ã³ãã³ããå®è¡ããŸãã
# äžæŠã«ãŒããã£ã¬ã¯ããªã«ç§»å
user@local ~/$ cd /
# ã«ã¬ã³ããã£ã¬ã¯ããªå
ã®ãã¡ã€ã«ã»ãã£ã¬ã¯ããªäžèЧã衚瀺
user@local /$ ls
bin boot dev etc home init lib lib32 lib64 libx32 lost+found media mnt opt proc root run sbin snap srv sys tmp usr var
詳现ãªãã¡ã€ã«äžèŠ§è¡šç€º
ãã ã® ls ã³ãã³ãã§ã¯ãã¡ã€ã«ãšãã£ã¬ã¯ããªã®éããåãããªããã -l ãªãã·ã§ã³ãšäœµçšããããšãå€ãã§ãã
è¡šç€ºçµæã®åè¡ã®å é ããã®ãã¡ã€ã«çš®é¡ãæå³ããŸãã
-
-: ãã¡ã€ã« -
d: ãã£ã¬ã¯ã㪠-
l: ãªã³ã¯ïŒå¥ã®ãã¡ã€ã«ã»ãã£ã¬ã¯ããªãžã®ã·ã§ãŒãã«ããïŒ
user@local /$ ls -l
lrwxrwxrwx 1 root root 7 4æ 23 15:40 bin -> usr/bin
drwxr-xr-x 3 root root 4096 7æ 3 13:59 boot
drwxr-xr-x 7 root root 2760 7æ 22 11:34 dev
drwxr-xr-x 134 root root 12288 7æ 22 11:34 etc
drwxr-xr-x 4 root root 4096 6æ 26 22:30 home
-rwxr-xr-x 3 root root 631968 12æ 8 2019 init
lrwxrwxrwx 1 root root 7 4æ 23 15:40 lib -> usr/lib
lrwxrwxrwx 1 root root 9 4æ 23 15:40 lib32 -> usr/lib32
lrwxrwxrwx 1 root root 9 4æ 23 15:40 lib64 -> usr/lib64
lrwxrwxrwx 1 root root 10 4æ 23 15:40 libx32 -> usr/libx32
drwx------ 2 root root 16384 4æ 11 2019 lost+found
drwxr-xr-x 2 root root 4096 4æ 23 15:40 media
drwxr-xr-x 6 root root 4096 7æ 13 21:25 mnt
drwxr-xr-x 3 root root 4096 6æ 26 22:43 opt
dr-xr-xr-x 209 root root 0 7æ 22 11:34 proc
drwx------ 2 root root 4096 7æ 16 01:10 root
drwxr-xr-x 10 root root 280 7æ 22 16:27 run
lrwxrwxrwx 1 root root 8 4æ 23 15:40 sbin -> usr/sbin
drwxr-xr-x 2 root root 4096 4æ 10 23:57 snap
drwxr-xr-x 2 root root 4096 4æ 23 15:40 srv
dr-xr-xr-x 11 root root 0 7æ 22 11:34 sys
drwxrwxrwt 61 root root 32768 7æ 23 19:33 tmp
drwxr-xr-x 14 root root 4096 4æ 23 15:41 usr
drwxr-xr-x 13 root root 4096 4æ 23 15:43 var
é ããã¡ã€ã«
Linuxãã¡ã€ã«ã·ã¹ãã ã§ã¯ . ããå§ãŸããã¡ã€ã«å㯠é ããã¡ã€ã« (Hidden File) ãšåŒã°ããŸãã
ãã®æãã«ã¬ã³ããã£ã¬ã¯ããªãšã®éãã«æ³šæããå¿ èŠããããŸãã
-
./sample: ã«ã¬ã³ããã£ã¬ã¯ããªå ã®ãsampleããšãããã¡ã€ã«ïŒãããã¯ãã£ã¬ã¯ããªïŒ -
.sample: ãsampleããšããååã®é ããã¡ã€ã«ïŒãããã¯é ããã£ã¬ã¯ããªïŒ
é ããã¡ã€ã«ã¯éåžžã® ls ã³ãã³ãã§ã¯è¡šç€ºã§ããªããããèšå®ãã¡ã€ã«çã®ããŸãè§Šã£ãŠã»ãããªããã¡ã€ã«ã§ããããšãå€ãã§ãã
# äœãäœæ¥ãè¡ã£ãŠããªãå ŽåããŠãŒã¶ããŒã ãã£ã¬ã¯ããªã«ã¯äœãå
¥ã£ãŠããªãããã«èŠãã
user@local ~/$ ls
# é ããã¡ã€ã«ã»ãã£ã¬ã¯ããªã衚瀺ããã«ã¯ -a ãªãã·ã§ã³ãã€ãã
## ãã¡ã€ã«ã»ãã£ã¬ã¯ããªã®åºå¥ãè¡ããã -l ãªãã·ã§ã³ãã€ãã
user@local ~/$ ls -la
drwxr-xr-x 23 user user 4096 7æ 23 19:25 . # ã«ã¬ã³ããã£ã¬ã¯ããª
drwxr-xr-x 4 root root 4096 6æ 26 22:30 .. # 芪ãã£ã¬ã¯ããª
drwxr-xr-x 3 user user 4096 6æ 26 23:07 .ansible
drwxr-xr-x 4 user user 4096 7æ 3 13:25 .anyenv
drwxr-xr-x 2 user user 4096 6æ 27 00:26 .aws
-rw------- 1 user user 436510 7æ 23 19:25 .bash_history
-rw-r--r-- 1 user user 220 6æ 26 22:20 .bash_logout
-rw-r--r-- 1 user user 4241 7æ 23 12:18 .bashrc
drwxr-xr-x 12 user user 4096 7æ 7 15:42 .cache
drwx------ 13 user user 4096 7æ 3 16:24 .config
drwxr-xr-x 6 user user 4096 6æ 26 22:36 .cpan
drwx------ 3 user user 4096 6æ 30 20:51 .dbus
-rw-r--r-- 1 user user 114 7æ 4 23:26 .gitconfig
drwxr-xr-x 2 user user 4096 6æ 26 22:20 .landscape
drwxr-xr-x 3 user user 4096 6æ 30 14:11 .local
drwxr-xr-x 2 user user 4096 6æ 30 17:47 .mume
drwxr-xr-x 5 user user 4096 7æ 20 00:24 .npm
-rw-r--r-- 1 user user 1338 7æ 3 15:38 .profile
drwxr-xr-x 2 user user 4096 7æ 13 15:50 .ssh
ãã¡ã€ã«äœæ
ãã¡ã€ã«ãæ°èŠäœæããå Žå㯠touch ã³ãã³ãã䜿ããŸãã
# test.txt ãã«ã¬ã³ããã£ã¬ã¯ããªã«æ°èŠäœæãã
user@local ~/$ touch test.txt
# ã«ã¬ã³ããã£ã¬ã¯ããªå
ãã¡ã€ã«äžèЧã確èª
user@local ~/$ ls -l
-rw-r--r-- 1 user user 0 7æ 23 21:47 test.txt
# test.txt ã«ã¯äžèº«ããªãã®ã§ vi ã¿ãŒããã«ãšãã£ã¿çã䜿ã£ãŠç·šéãã
## touch ã³ãã³ãã䜿ããã«çŽæ¥ vi ãšãã£ã¿ã§æ°èŠäœæããããšãå¯èœ
user@local ~/$ vi test.txt
ãã¡ã€ã«ã³ããŒ
cp <ã³ããŒå
ãã¡ã€ã«> <ã³ããŒå
ãã¡ã€ã«> ã³ãã³ãã§ãã¡ã€ã«ãã³ããŒã§ããŸãã
# ã«ã¬ã³ããã£ã¬ã¯ããªã«ãã test.txt ã test_copy.txt ã«ã³ããŒãã
user@local ~/$ cp test.txt test_copy.txt
# ã«ã¬ã³ããã£ã¬ã¯ããªå
ãã¡ã€ã«äžèЧã確èª
user@local ~/$ ls -l
-rw-r--r-- 1 user user 0 7æ 23 21:47 test.txt
-rw-r--r-- 1 user user 0 7æ 23 21:50 test_copy.txt
ãã¡ã€ã«ã®ç§»å
ã³ããŒã§ã¯ãªãç§»åãè¡ãå Žå㯠mv ã³ãã³ãã䜿ããŸãã
mv ã³ãã³ãã¯ããã¡ã€ã«ã®ãªããŒã ã«ã䜿ãããŸãã
# ã«ã¬ã³ããã£ã¬ã¯ããªã«ãã test_copy.txt ã test2.txt ã«ç§»åïŒãªããŒã ïŒ
user@local ~/$ mv test_copy.txt test2.txt
# ã«ã¬ã³ããã£ã¬ã¯ããªå
ãã¡ã€ã«äžèЧã確èª
user@local ~/$ ls -l
-rw-r--r-- 1 user user 0 7æ 23 21:47 test.txt
-rw-r--r-- 1 user user 0 7æ 23 21:50 test2.txt
ãã¡ã€ã«ãªãã€ã¬ã¯ããšãã¡ã€ã«é²èЧ
éåžžãecho <ããã¹ã> ã³ãã³ããå®è¡ãããšããããã¹ãã¯ã¿ãŒããã«äžã«è¡šç€ºãããŸãã
ããããããããã¡ã€ã«ã«åæ ãããããšãå¯èœã§ãã
ã³ãã³ãã®å®è¡çµæãã¿ãŒããã«ã§ã¯ãªããã¡ã€ã«ã«åæ ãããåŠçã ãªãã€ã¬ã¯ã ãšåŒã³ãŸãã
# "Hello, World" ãã¿ãŒããã«äžã«è¡šç€º
user@local ~/$ echo 'Hello, World'
Hello, World
# ã¿ãŒããã«ã§ã¯ãªã test.txt ã«ãªãã€ã¬ã¯ã
user@local ~/$ echo 'Hello, World' > test.txt
# => ã¿ãŒããã«ã«ã¯äœã衚瀺ãããªã
# ãã¡ã€ã«ã®äžèº«ã確èªããæ¹æ³ã«ã¯è€æ°ã®çš®é¡ãããã
# ããã§ã¯ cat ã³ãã³ãã§ test.txt ãã¡ã€ã«ã®äžèº«ã確èªãã
user@local ~/$ cat test.txt
Hello, World # <= ãªãã€ã¬ã¯ãããããã¹ãããã¡ã€ã«ã«åæ ãããŠãã
# éåžžã®ãªãã€ã¬ã¯ãã§ã¯ãã¡ã€ã«ã®å
容ãäžæžããããŠããŸãã
# >> ãªãã€ã¬ã¯ãã䜿ããšãã¡ã€ã«ã®æ¬¡ã®è¡ã«å
容ã远èšã§ãã
user@local ~/$ echo 'Next Line' >> test.txt
user@local ~/$ cat test.txt
Hello, World
Next Line # <= 次ã®è¡ã«è¿œèšãããŠãã
# éåžžãªãã€ã¬ã¯ãã®å Žå
user@local ~/$ echo '3rd Line' > test.txt
user@local ~/$ cat test.txt
3rd Line # <= äžèº«ãäžæžããããŠãã
ãã¡ã€ã«åé€
rm ã³ãã³ãã§ãã¡ã€ã«ãåé€ã§ããŸãã
# ã«ã¬ã³ããã£ã¬ã¯ããªã«ãã test2.txt ãåé€
user@local ~/$ rm test.txt
# ã«ã¬ã³ããã£ã¬ã¯ããªå
ãã¡ã€ã«äžèЧã確èª
user@local ~/$ ls -l
-rw-r--r-- 1 user user 9 7æ 23 21:55 test.txt
ãã£ã¬ã¯ããªã®æäœ
ãã£ã¬ã¯ããªã®æäœã¯ãåºæ¬çã«ãã¡ã€ã«æäœã³ãã³ããšåããã®ã䜿ããŸãããæ°èŠäœæã®é㯠mkdir ã³ãã³ãã䜿ãå¿
èŠããããŸãã
# ã«ã¬ã³ããã£ã¬ã¯ããªã« test ãã£ã¬ã¯ããªäœæ
user@local ~/$ mkdir test
# ã«ã¬ã³ããã£ã¬ã¯ããªå
ãã¡ã€ã«äžèЧã確èª
user@local ~/$ ls -l
drwxr-xr-x 2 user user 4096 7æ 23 21:56 test
-rw-r--r-- 1 user user 9 7æ 23 21:55 test.txt
# ã«ã¬ã³ããã£ã¬ã¯ããªã«ãã test.txt ã test ãã£ã¬ã¯ããªã«ç§»åïŒtest.txt ãšãããã¡ã€ã«åã®ãŸãŸïŒ
user@local ~/$ mv test.txt test/test.txt
# ã«ã¬ã³ããã£ã¬ã¯ããªã«ãã test ãã£ã¬ã¯ããªã test_copy ãã£ã¬ã¯ããªã«ã³ããŒ
## ãã£ã¬ã¯ããªã³ããŒã®å Žåãäžã«ãããã¡ã€ã«ãååž°çã«ã³ããŒããå¿
èŠããããã
## -r (--recursive) ãªãã·ã§ã³ãã€ããå¿
èŠããã
user@local ~/$ cp -r test test_copy
# test_copy ãã£ã¬ã¯ããªã®äžã«ç§»åããŠãã¡ã€ã«äžèЧã確èª
user@local ~/$ cd test_copy
user@local ~/test_copy/$ ls -l
-rw-r--r-- 1 user user 9 7æ 23 22:00 test.txt
# 芪ãã£ã¬ã¯ããªã«æ»ã£ãŠ test_copy ã test2 ãã£ã¬ã¯ããªã«ç§»åïŒãªããŒã ïŒ
user@local ~/test_copy/$ cd ..
user@local ~/$ mv test_copy test2
user@local ~/$ ls -l
drwxr-xr-x 2 user user 4096 7æ 23 21:56 test
drwxr-xr-x 2 user user 4096 7æ 23 22:00 test2
# test2 ãã£ã¬ã¯ããªãåé€
## cp ã³ãã³ãåæ§ãäžã®ãã¡ã€ã«ãååž°çã«åé€ããå¿
èŠããããã -r ãªãã·ã§ã³ãã€ãã
user@local ~/$ rm -r test2
ãŠãŒã¶ãšããŒããã·ã§ã³
ãŠãŒã¶
Linuxã·ã¹ãã ã«ã¯ ãŠãŒã¶ ãšããæŠå¿µãããããŠãŒã¶ããšã«å®è¡ã§ããã³ãã³ãã«å¶éããã£ãããç¹å®ã®ãã¡ã€ã«ã»ãã£ã¬ã¯ããªãžã®ã¢ã¯ã»ã¹æš©éãæ±ºãŸã£ãŠãããããŸãã
ãŠãŒã¶ã¯å€§ãŸãã«ãäžè¬ãŠãŒã¶ããšãrootãŠãŒã¶ãã«åããããrootãŠãŒã¶ã¯Linuxã·ã¹ãã ã«ãããå¯äžç¥ã§ãã
rootãŠãŒã¶ã¯ã·ã¹ãã ã®ããããæäœãå¯èœã§ãããã·ã¹ãã ãã®ãã®ãç Žå£ããããšãã§ãããããæ¥µå䜿çšããªãã®ãäžè¬çã§ãã
äžè¬ãŠãŒã¶ã®äžã«ã¯ãrootã®æš©éãåããŠã³ãã³ãå®è¡ããæš©éãææããŠãããã®ããããsudo <ã³ãã³ã> ãšãã圢ã§rootæš©éã³ãã³ããå®è¡ããããšãã§ããŸãã
# ã·ã¹ãã å
ã«å®çŸ©ãããŠãããŠãŒã¶ã¯ /etc/passwd ãšãããã¡ã€ã«ã«å
šãŠèšè¿°ãããŠãã
## WSL2 ã®åæãŠãŒã¶ã¯ãã®ãã¡ã€ã«ãç¹ã«å¶éãªãé²èЧã§ããããå Žåã«ãã£ãŠã¯rootæš©éãå¿
èŠãããããªã
## $ sudo cat /etc/passwd
$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
:
ã°ã«ãŒã
Linuxã·ã¹ãã ã«ã¯ ã°ã«ãŒã ãšããæŠå¿µããããè€æ°ã®ãŠãŒã¶ãå¹ççã«ç®¡çããããã®ä»çµã¿ãåãã£ãŠããŸãã
ãŠãŒã¶ã¯å¿
ãäžã€ã®ãäž»ã°ã«ãŒããã«æå±ããä»»æã®ãå¯ã°ã«ãŒããã«æå±ããããšãã§ããŸãã
äž»ã°ã«ãŒãã¯1ã€ã ãèšå®ãããæå±å¿
é ã§ãããå¯ã°ã«ãŒãã¯0ïœè€æ°èšå®å¯èœã§ãã
# ã·ã¹ãã å
ã«å®çŸ©ãããŠããã°ã«ãŒã㯠/etc/group ãšãããã¡ã€ã«ã«å
šãŠèšè¿°ãããŠãã
## WSL2 ã®åæãŠãŒã¶ã¯ãã®ãã¡ã€ã«ãç¹ã«å¶éãªãé²èЧã§ããããå Žåã«ãã£ãŠã¯rootæš©éãå¿
èŠãããããªã
## $ sudo cat /etc/group
$ cat /etc/group
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
:
ããŒããã·ã§ã³
Linuxãã¡ã€ã«ã·ã¹ãã ã«ã¯ ããŒããã·ã§ã³ ãšããæŠå¿µãããããã®ãã¡ã€ã«ïŒãã£ã¬ã¯ããªïŒããèª°ã®ææãããã¡ã€ã«ãããèªã¿èŸŒã¿ã»æžã蟌ã¿ã»å®è¡ã®æš©éãæããã®ã¯èª°ãããšããæš©é管çãã§ããããã«ãªã£ãŠããŸãã
ãã®ããŒããã·ã§ã³ãé©åã«èšå®ããŠãããªããšãèµ€ã®ä»äººã«å€§äºãªãã¡ã€ã«ã®äžèº«ãèªãŸããããã·ã¹ãã ãæ£åžžã«åäœããªãã£ããããŸãã
# ls ã³ãã³ãã® -l ãªãã·ã§ã³ã¯ããã¡ã€ã«çš®é¡ã ãã§ãªãããŒããã·ã§ã³ã確èªã§ãã
## -a ãªãã·ã§ã³ã§é ããã¡ã€ã«ã衚瀺
user@local ~/$ ls -la
drwxr-xr-x 23 user user 4096 7æ 23 19:25 . # ã«ã¬ã³ããã£ã¬ã¯ããª
drwxr-xr-x 4 root root 4096 6æ 26 22:30 .. # 芪ãã£ã¬ã¯ããª
drwxr-xr-x 3 user user 4096 6æ 26 23:07 .ansible
drwxr-xr-x 4 user user 4096 7æ 3 13:25 .anyenv
drwxr-xr-x 2 user user 4096 6æ 27 00:26 .aws
-rw------- 1 user user 436510 7æ 23 19:25 .bash_history
-rw-r--r-- 1 user user 220 6æ 26 22:20 .bash_logout
-rw-r--r-- 1 user user 4241 7æ 23 12:18 .bashrc
:
äžèšã®ããã«ãããŒããã·ã§ã³ã¯ä»¥äžã®ãããªåœ¢åŒã§è¡šãããŸãã
- ãã¡ã€ã«çš®å¥
-
-: ãã¡ã€ã« -
d: ãã£ã¬ã¯ã㪠-
l: ãªã³ã¯ïŒå¥ã®ãã¡ã€ã«ã»ãã£ã¬ã¯ããªãžã®ã·ã§ãŒãã«ããïŒ - äžèšç»åã®å Žåã¯ããã£ã¬ã¯ããªãã§ããããšã衚ã
-
- ææãŠãŒã¶ã®æš©é
- å·Šãããèªã¿èŸŒã¿æš©éããæžãèŸŒã¿æš©éããå®è¡æš©éãã衚ã
- èªã¿èŸŒã¿æš©éãæããå Žåã¯
r, ãªãå Žåã¯- - æžãèŸŒã¿æš©éãæããå Žåã¯
w, ãªãå Žåã¯- - å®è¡æš©éãæããå Žåã¯
x, ãªãå Žåã¯- - äžèšç»åã®å ŽåããææãŠãŒã¶ã¯èªã¿æžãå®è¡ãã¹ãŠã®æš©éãæãããããšã衚ã
- ææã°ã«ãŒãã®æš©é
- åäžãäžèšç»åã®å Žåããææã°ã«ãŒãã¯èªã¿èŸŒã¿ãšå®è¡ã®æš©éãæãããããšã衚ã
- ãã®ä»ãŠãŒã¶ã®æš©é
- åäžãäžèšç»åã®å Žåãããã¡ã€ã«ã®ææè ã§ãææã°ã«ãŒãã®æå±ã§ããªããŠãŒã¶ã¯ãèªã¿èŸŒã¿ãšå®è¡ã®æš©éãæãããããšã衚ã
- ãªã³ã¯ãããŠããæ°ããµããã£ã¬ã¯ããªã®æ°
- ããŸãéèŠã§ã¯ãªãã®ã§çç¥
- ææãŠãŒã¶
- ãã¡ã€ã«ãææããŠãããŠãŒã¶ã衚ãïŒäžèšç»åã®å ŽåãrootããææãŠãŒã¶ïŒ
- 2 ãšåãããŠèãããšããã®ãã¡ã€ã«ã¯ãrootãŠãŒã¶ãªãèªã¿æžãå®è¡ãå¯èœããšèšãã
- ææã°ã«ãŒã
- ãã¡ã€ã«ãææããŠããã°ã«ãŒãã衚ãïŒäžèšç»åã®å Žåãrootããææã°ã«ãŒãïŒ
- 3 ãšåãããŠèãããšããã®ãã¡ã€ã«ã¯ãrootã°ã«ãŒãã«æå±ãããŠãŒã¶ãªããèªã¿èŸŒã¿ãšå®è¡ãå¯èœããšèšãã
ãªããããŒããã·ã§ã³ã¯æ°å€ã§è¡šãããšãããã以äžã®ãããªå¯Ÿå¿ãšãªã£ãŠããŸãã
- èªã¿èŸŒã¿æš©é:
4 - æžãèŸŒã¿æš©é:
2 - å®è¡æš©é:
1
å
šãŠã®æš©éãæããå Žå㯠$4+2+1 = 7$ ãšããèšç®ã«ãªãããææãŠãŒã¶æš©éããææã°ã«ãŒãæš©éãããã®ä»ãŠãŒã¶æš©éãã䞊ã¹ãŠè¡šèšããŸãã
äŸãã°ãäžèšç»åã®ãããªããŒããã·ã§ã³ã§ããã° 755 ãšãªããŸãã
æ¬çš¿ã¯ä»¥äžãšãªããŸãã
ããããšãããããŸããã








