æ¬æžã®ç¿»èš³çã¯ãLinuxã³ãã³ãã©ã€ã³ãç¿åŸããã人ã察象ãšããŠããŸãã ãã®ããŒã«ãå¹æçã«äœ¿çšããæ©èœã¯ãå€ãã®æéãç¯çŽããŸãã ç¹ã«ãBashã·ã§ã«ãš21ã®äŸ¿å©ãªã³ãã³ãã«ã€ããŠèª¬æããŸãã ãŸããã³ãã³ããã©ã°ãšBashãšã€ãªã¢ã¹ã䜿çšããŠãé·ãåœä»€ã®å
¥åãé«éåããæ¹æ³ã«ã€ããŠã説æããŸãã

â
ãŸããããã°ã§bashã¹ã¯ãªããã«é¢ããäžé£ã®åºçç©ãèªãã§ãã ãããèŠçŽ
Linuxã³ãã³ãã©ã€ã³ã®äœ¿çšæ¹æ³ãåŠç¿ãããšãããã²ãŒãããã®ã«åœ¹ç«ã€å€ãã®æŠå¿µã«åºãããå¯èœæ§ããããŸãã ãLinuxããšãUnixãããã³ãã³ãã·ã§ã«ããšãã¿ãŒããã«ããªã©ããããã®äžéšã¯æ··åãããããšããããŸãã ãããããã³ä»ã®éèŠãªçšèªã«ã€ããŠè©±ããŸãããã
Unixã¯ã1970幎代ã«Bell Labsã«ãã£ãŠéçºãããäžè¬çãªãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§ãã 圌女ã®ã³ãŒãã¯ãã©ã€ããŒãã§ããã
Linuxã¯ãæã人æ°ã®ããUnixã©ã€ã¯ãªãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§ãã ä»æ¥ã§ã¯ãã³ã³ãã¥ãŒã¿ãŒãå«ãå€ãã®ããã€ã¹ã§äœ¿çšãããŠããŸãã
端æ«ããŸãã¯ç«¯æ«ãšãã¥ã¬ãŒã¿ã¯ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãžã®ã¢ã¯ã»ã¹ãæäŸããããã°ã©ã ã§ãã è€æ°ã®ã¿ãŒããã«ãŠã£ã³ããŠãåæã«éãããšãã§ããŸãã
ã·ã§ã«ã¯ãç¹å¥ãªèšèªã§æžãããã³ãã³ãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«éä¿¡ã§ããããã°ã©ã ã§ãã
Bashã¯Bourne Again SHellã®ç¥ã§ãã ããã¯ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãšã®å¯Ÿè©±ã«äœ¿çšãããæãäžè¬çãªã·ã§ã«èšèªã§ãã ããã«ãããã©ã«ãã®Bashã·ã§ã«ã¯macOSã«ãã£ãŠäœ¿çšãããŸãã
ã³ãã³ãã©ã€ã³ã€ã³ã¿ãŒãã§ã€ã¹ïŒCLIïŒã¯ããŠãŒã¶ãŒãããŒããŒãããã³ãã³ããå
¥åããéã«ââ䜿çšãããŠãŒã¶ãŒãšã³ã³ãã¥ãŒã¿ãŒéã®ããåãã®æ¹æ³ã§ãããã³ã³ãã¥ãŒã¿ãŒã¯ãããã®ã³ãã³ããå®è¡ããŠããŠãŒã¶ãŒã«å¯ŸããŠããã¹ã圢åŒã§ã¡ãã»ãŒãžã衚瀺ããŸãã åºæ¬çã«ãCLIã¯ããã¡ã€ã«ãªã©ã®ç¹å®ã®ãšã³ãã£ãã£ã«é¢ããææ°æ
å ±ãååŸãããã¡ã€ã«ãæäœããããã«äœ¿çšãããŸãã ã³ãã³ãã©ã€ã³ã€ã³ã¿ãŒãã§ã€ã¹ã¯ãäž»ã«ããŠã¹ã§äœ¿çšãããã°ã©ãã£ã«ã«ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ïŒGUIïŒãšã¯åºå¥ããå¿
èŠããããŸãã ã³ãã³ãã©ã€ã³ã€ã³ã¿ãŒãã§ã€ã¹ã¯ãå€ãã®å Žåãåã«ã³ãã³ãã©ã€ã³ãšåŒã°ããŸãã
ã¹ã¯ãªããã¯ãäžé£ã®ã·ã§ã«ã³ãã³ããå«ãå°ããªããã°ã©ã ã§ãã ã¹ã¯ãªããã¯ãã¡ã€ã«ã«æžã蟌ãŸããç¹°ãè¿ã䜿çšã§ããŸãã ã¹ã¯ãªãããèšè¿°ãããšããå€æ°ãæ¡ä»¶ä»ãæ§æãã«ãŒããé¢æ°ãããã³ãã®ä»ã®æ©èœã䜿çšã§ããŸãã
éèŠãªçšèªãæ€èšããã®ã§ãããã§ã¯çšèªãBashãããshellããããã³ãcommand lineãã亀æå¯èœãšããŠäœ¿çšãããdirectoryãããã³ãfolderãã®æŠå¿µã䜿çšããŸãã
ããã§äœ¿çšããæšæº
ã¹ããªãŒã ã¯ãæšæºå
¥åïŒæšæºå
¥åã
stdin
ïŒãæšæºåºåïŒæšæºåºåã
stdout
ïŒãããã³æšæºãšã©ãŒåºåïŒæšæºãšã©ãŒã
stderr
ïŒã§ãã
以äžã«ç€ºãã³ãã³ãã®äŸã§
my_whatever
ãããªãã®ã«ééããå Žåãããã¯ãã®ãã©ã°ã¡ã³ããèªåã®ãã®ã«çœ®ãæããå¿
èŠãããããšãæå³ããŸãã ããšãã°ããã¡ã€ã«åã
ããã§ããã®è³æã䜿çšãããŠããããŒã ã®åæã«é²ãåã«ããªã¹ããšç°¡åãªèª¬æãèŠãŠã¿ãŸãããã
21ããã·ã¥ããŒã
informationæ
å ±ãå
¥æãã
man
ïŒã³ãã³ãã®ãŠãŒã¶ãŒããã¥ã¢ã«ïŒãã«ãïŒã衚瀺ããŸããpwd
ïŒäœæ¥ãã£ã¬ã¯ããªã«é¢ããæ
å ±ã衚瀺ããŸããls
ïŒãã£ã¬ã¯ããªã®å
容ã衚瀺ããŸããps
ïŒå®è¡äžã®ããã»ã¹ã«é¢ããæ
å ±ã衚瀺ã§ããŸãã
âãã¡ã€ã«ã·ã¹ãã ã®æäœ
cd
ïŒäœæ¥ãã£ã¬ã¯ããªãå€æŽããŸããtouch
ïŒãã¡ã€ã«ãäœæããŸããmkdir
ïŒãã£ã¬ã¯ããªãäœæããŸããcp
ïŒãã¡ã€ã«ãã³ããŒããŸããmv
ïŒãã¡ã€ã«ã移åãŸãã¯åé€ããŸããln
ïŒãªã³ã¯äœæã
âI / Oãªãã€ã¬ã¯ããšãã€ãã©ã€ã³
<
ïŒ stdin
ãªãã€ã¬ã¯ãã>
ïŒ stdout
ãªãã€ã¬ã¯ãã|
ïŒãã€ãã©ã€ã³ã䜿çšããŠãããã³ãã³ãã®åºåãå¥ã®ã³ãã³ãã®å
¥åã«ãªãã€ã¬ã¯ãããŸãã
filesãã¡ã€ã«ã®èªã¿åã
head
ïŒãã¡ã€ã«ã®å
é ãèªã¿åããŸããtail
ïŒãã¡ã€ã«ã®çµãããèªã¿åããŸããcat
ïŒãã¡ã€ã«ãèªã¿åãããã®å
容ãç»é¢ã«è¡šç€ºãããããã¡ã€ã«ãé£çµããŸãã
filesãã¡ã€ã«ã®åé€ãããã»ã¹ã®åæ¢
rm
ïŒãã¡ã€ã«ãåé€ããŸããkill
ïŒããã»ã¹ãåæ¢ããŸãã
âæ€çŽ¢
grep
ïŒæ
å ±ãæ€çŽ¢ããŸããag
ïŒé«åºŠãªæ€çŽ¢ããŒã ã
âã¢ãŒã«ã€ã
tar
ïŒã¢ãŒã«ã€ããäœæããŠæäœããŸãã
ãããã®ããŒã ã«ã€ããŠè©³ãã説æããŸãããã
ããŒã ã®è©³çŽ°
ãŸããçµæã
stdout
ã®åœ¢åŒã§çºè¡ãããããŒã ãææ¡ããŸãããã éåžžããããã®çµæã¯ã¿ãŒããã«ãŠã£ã³ããŠã«è¡šç€ºãããŸãã
informationæ
å ±ãå
¥æãã
man command_name
ïŒã³ãã³ãããã¥ã¢ã«ã®åºåãã€ãŸãåç
§æ
å ±ã
pwd
ïŒçŸåšã®äœæ¥ãã£ã¬ã¯ããªãžã®ãã¹ã衚瀺ããŸãã ã³ãã³ãã©ã€ã³ã䜿çšããå ŽåããŠãŒã¶ãŒã¯å€ãã®å Žåãèªåãããã·ã¹ãã ã®æ£ç¢ºãªå ŽæãèŠã€ããå¿
èŠããããŸãã
ls
ïŒãã£ã¬ã¯ããªã®å
容ã衚瀺ããŸãã ãã®ã³ãã³ããé »ç¹ã«äœ¿çšãããŸãã
ls -a
ïŒé ããã¡ã€ã«ãåºåããŸãã
ls
ã®
-a
ãã©ã°ãããã«é©çšãããŸãã ãã©ã°ã䜿çšãããšãããŒã ã®åäœãã«ã¹ã¿ãã€ãºã§ããŸãã
ls -l
ïŒè©³çŽ°ãªãã¡ã€ã«æ
å ±ã衚瀺ããŸãã
ãã©ã°ã¯çµã¿åãããããšãã§ããããšã«æ³šæããŠãã ããã ããšãã°ã次ã®ããã«ïŒ
ls -al
ã
ps
ïŒå®è¡äžã®ããã»ã¹ã衚瀺ããŸãã
ps -e
ïŒçŸåšã®ãŠãŒã¶ãŒã·ã§ã«ã«é¢é£ããããã»ã¹ã ãã§ãªããå®è¡äžã®ãã¹ãŠã®ããã»ã¹ã«é¢ããæ
å ±ã衚瀺ããŸãã ãã®ã³ãã³ãã¯ããã®åœ¢åŒã§ãã䜿çšãããŸãã
âãã¡ã€ã«ã·ã¹ãã ã®æäœ
cd my_directory
ïŒäœæ¥ãã£ã¬ã¯ããªã
my_directory
å€æŽã
my_directory
ã ãã£ã¬ã¯ããªããªãŒã®1ã€äžã®ã¬ãã«ã«ç§»åããã«ã¯ãçžå¯Ÿãã¹
../
ã
my_directory
ãšããŠ
my_directory
ãŸãã
CDã³ãã³ãtouch my_file
ïŒ
my_file
ãããã¹ã«
my_file
ãäœæããŸãã
mkdir my_directory
ïŒæå®ããããã¹ã«
my_directory
ãã©ã«ããŒãäœæããŸãã
mv my_file target_directory
ïŒ
my_file
ãã¡ã€ã«ã
my_file
ãã©ã«ããŒã«ç§»åããŸãã ã¿ãŒã²ãããã£ã¬ã¯ããªãæå®ãããšãã¯ã絶察ãã¹ã䜿çšããå¿
èŠããããŸãïŒ
../
ãããªæ§é ã§ã¯ãããŸããïŒã
mv
ã³ãã³ãã䜿çšããŠããã¡ã€ã«ãŸãã¯ãã©ã«ããŒã®ååãå€æŽããããšãã§ããŸãã ããšãã°ã次ã®ããã«ãªããŸãã
mv my_old_file_name.jpg my_new_file_name.jpg
cp my_source_file target_directory
mv my_old_file_name.jpg my_new_file_name.jpg
cp my_source_file target_directory
ïŒ
mv my_old_file_name.jpg my_new_file_name.jpg
cp my_source_file target_directory
ã®ã³ããŒãäœæãã
target_directory
ãã©ã«ããŒã«é
眮ããŸãã
ln -s my_source_file my_target_file
ïŒ
my_target_file
ãã
my_source_file
ãžã®ã·ã³ããªãã¯ãªã³ã¯ãäœæããŸãã ãªã³ã¯ãå€æŽãããšãå
ã®ãã¡ã€ã«ãå€æŽãããŸãã
ãã¡ã€ã«
my_source_file
ãåé€ããããšã
my_target_file
ã¯æ®ããŸãã
ln
ã³ãã³ãã®
-s
ãã©ã°ã䜿çšãããšããã£ã¬ã¯ããªã®ãªã³ã¯ãäœæã§ããŸãã
次ã«ãI / Oãªãã€ã¬ã¯ããšãã€ãã©ã€ã³ã«ã€ããŠèª¬æããŸãã
âI / Oãªãã€ã¬ã¯ããšãã€ãã©ã€ã³
my_command < my_file
ïŒæšæºå
¥åãã¡ã€ã«ïŒ
stdin
ïŒã®èšè¿°åã
my_file
ãã¡ã€ã«ã«
my_file
ãŸãã ããã¯ãã³ãã³ããããŒããŒãããããŒã¿ãå
¥åããããšãæ³å®ããŠããããã®ããŒã¿ãäºåã«ãã¡ã€ã«ã«ä¿åãããŠããå Žåã«åœ¹ç«ã¡ãŸãã
my_command > my_file
ïŒã³ãã³ãã®çµæãã€ãŸãéåžž
stdout
ã«å
¥ã£ãŠç»é¢ã«è¡šç€ºããããã®ã
my_file
ãã¡ã€ã«ã«
my_file
ãŸãã ãã¡ã€ã«
my_file
ãååšããªãå Žåã¯äœæãããŸãã ãã¡ã€ã«ãååšããå ŽåãäžæžããããŸãã
ããšãã°ã
ls > my_folder_contents.txt
å®è¡ãããšãçŸåšã®äœæ¥ãã£ã¬ã¯ããªã«ãããã®ã®ãªã¹ããå«ãããã¹ããã¡ã€ã«ãäœæãããŸãã
èšå·
>
代ããã«æ§é
>>
䜿çšããå Žåãã³ãã³ãã®åºåããªãã€ã¬ã¯ãããããã¡ã€ã«ãããå Žåããã®ãã¡ã€ã«ã¯äžæžããããŸããã ããŒã¿ã¯ãã®ãã¡ã€ã«ã®æåŸã«è¿œå ãããŸãã
次ã«ããã€ãã©ã€ã³ããŒã¿ãèŠãŠã¿ãŸãããã
ããã³ãã³ãã®åºåãå¥ã®ã³ãã³ãã®å
¥åã«éãããŸãã ãããã€ããå¥ã®ãã€ãã«æ¥ç¶ãããããªãã®ã§ãfirst_command | second_command
first_command | second_command
ïŒãã€ãèšå·ã
|
ãããããŒã ã®çµæãå¥ã®ããŒã ã«éä¿¡ããããã«äœ¿çšãããŸãã 説æããæ§é ã®å·ŠåŽã«ããã³ãã³ãã
stdout
ã«éä¿¡ããããšããäºå®ã¯ããã€ãã©ã€ã³ã·ã³ãã«ã®å³åŽã«ããã³ãã³ãã®
stdin
該åœããŸãã
Linuxã§ã¯ãã»ãŒãã¹ãŠã®é©åã«åœ¢æãããã³ãã³ãã䜿çšããŠãã€ãã©ã€ã³ãç·šæã§ããŸãã Linuxã®ãã¹ãŠã¯ãã€ãã©ã€ã³ã§ãããšããèšãããŸãã
ã³ã³ãã¢ã·ã³ãã«ã䜿çšããŠãè€æ°ã®ã³ãã³ããé£çµã§ããŸãã 次ã®ããã«ãªããŸãã
first_command | second_command | third_command
è€æ°ã®ããŒã ããã®ã³ã³ãã€ãŒããã€ãã©ã€ã³ãšæ¯èŒã§ããŸãã³ãã³ãã
|
å·ŠåŽã«ããããšã«æ³šæããŠãã ãã
|
stdout
ã«äœãã
stdout
ãŸããåºåããããã®ã¯ãã
stdin
2çªç®ã®ã³ãã³ãã®
stdin
ãšããŠäœ¿çšå¯èœã«ãªããŸãã ã€ãŸãããã€ãã©ã€ã³ã䜿çšããŠãã³ãã³ãã®äžŠåå®è¡ãåŠçããŠããããšãããããŸãã ããã«ãããäºæããªãçµæãçããå ŽåããããŸãã 詳现ã«ã€ããŠã¯ã
ãã¡ããã芧ãã ãã ã
次ã«ããã¡ã€ã«ããããŒã¿ãèªã¿åããç»é¢ã«è¡šç€ºããæ¹æ³ã«ã€ããŠèª¬æããŸãã
filesãã¡ã€ã«ã®èªã¿åã
head my_file
ïŒãã¡ã€ã«ã®å
é ããè¡ãèªã¿åãã衚瀺ããŸãã ãã®ã³ãã³ãããã€ãã©ã€ã³ã®èŠçŽ ãšããŠäœ¿çšãããšããã¡ã€ã«ã®å
容ã ãã§ãªããã³ãã³ãã
stdin
ã«åºåããå
容ãèªã¿åãããšãã§ããŸãã
tail my_file
ïŒãã¡ã€ã«ã®æ«å°Ÿããè¡ãèªã¿åããŸãã ãã®ã³ãã³ãã¯ããã€ãã©ã€ã³ã§ã䜿çšã§ããŸãã
é ãåã«ãããå°ŸãåŸãã«ãããã³ãã©ã€ãã©ãªã䜿çšããŠããŒã¿ãæäœããŠããå Žåã
head
ã³ãã³ããš
tail
ã³ãã³ãã¯ããªãã¿ã®ã¯ãã§ãã ããã§ãªãå Žåã¯ãäžã®å³ãèŠãŠãã ãããç°¡åã«æãåºããŸãã
ãã¡ã€ã«ãèªã¿èŸŒãä»ã®æ¹æ³ãèŠãŠã
cat
ã«ã€ããŠè©±ããŸãããã
cat
ã¯ãç»é¢ã«ãã¡ã€ã«ã®å
容ã衚瀺ããããè€æ°ã®ãã¡ã€ã«ãé£çµããŸãã åŒã³åºããããšãã«ãã®ã³ãã³ãã«æž¡ããããã¡ã€ã«ã®æ°ã«äŸåããŸãã
ç«ããŒã cat my_one_file.txt
ïŒ1ã€ã®ãã¡ã€ã«ããã®ã³ãã³ãã«è»¢éããããšã
stdout
ã«è¡šç€ºãããŸãã
圌女ã«2ã€ä»¥äžã®ãã¡ã€ã«ãæž¡ããšã圌女ã®åäœã¯ç°ãªããŸãã
cat my_file1.txt my_file2.txt
ïŒå
¥åãšããŠããã€ãã®ãã¡ã€ã«ãåãåã£ããã®ã³ãã³ãã¯ããããã®å
容ãé£çµãã
stdout
çºçããããšã衚瀺ããŸãã
ãã¡ã€ã«ãé£çµããçµæãæ°ãããã¡ã€ã«ãšããŠä¿åããå¿
èŠãããå Žåã¯ã
>
æŒç®åã䜿çšã§ããŸãã
cat my_file1.txt my_file2.txt > my_new_file.txt
次ã«ããã¡ã€ã«ãåé€ããŠããã»ã¹ãåæ¢ããæ¹æ³ã«ã€ããŠèª¬æããŸãã
filesãã¡ã€ã«ã®åé€ãããã»ã¹ã®åæ¢
rm my_file
ïŒ
my_file
ãã¡ã€ã«ãåé€ããŸãã
rm -r my_folder
ïŒ
my_folder
ãã©ã«ããŒãšããã«å«ãŸãããã¹ãŠã®ãã¡ã€ã«ãšãã©ã«ããŒãåé€ããŸãã
-r
ãã©ã°ã¯ãã³ãã³ããååž°ã¢ãŒãã§æ©èœããããšã瀺ããŸãã
ã·ã¹ãã ããã¡ã€ã«ãŸãã¯ãã©ã«ããŒãåé€ããåæäœäžã«ç¢ºèªãæ±ããªãããã«ããã«ã¯ã
-f
ãã©ã°ã䜿çšããŸãã
kill 012345
ïŒæå®ãããå®è¡äžã®ããã»ã¹ãåæ¢ããæ£ããã·ã£ããããŠã³ããæéãäžããŸãã
kill -9 012345
ïŒæå®ãããå®è¡äžããã»ã¹ã匷å¶çµäºããŸãã
-s SIGKILL
圢åŒã®ãã©ã°ã¯ããã©ã°
-9
ãšåãæå³ã§ãã
âæ€çŽ¢
ããŸããŸãªã³ãã³ãã䜿çšããŠããŒã¿ãæ€çŽ¢ã§ããŸãã ç¹ã«ã
grep
ã
ag
ããã³
ack
ã ãããã®ã³ãã³ãã®çŽ¹ä»ã¯
grep
ããå§ããŸãã ããã¯ãå®çžŸã®ããä¿¡é Œã§ããããŒã ã§ãããä»ã®ããŒã ãããé
ãã圌ããšã¯ç°ãªãã䜿ããããã§ãã
Grepã³ãã³ãgrep my_regex my_file
ïŒ
my_regex
ã§
my_file
æ€çŽ¢ã
my_file
ã äžèŽãèŠã€ãããšãããããã«ã€ããŠæååå
šäœãè¿ãããŸãã ããã©ã«ãã§ã¯ã
my_regex
æ£èŠè¡šçŸãšããŠæ±ãããŸãã
grep -i my_regex my_file
ïŒæ€çŽ¢ã§ã¯å€§æåãšå°æåãåºå¥ãã
grep -i my_regex my_file
ãã
grep -v my_regex my_file
ïŒ
grep -v my_regex my_file
å«ãŸãªããã¹ãŠã®è¡ãè¿ããŸãã
-v
ãã©ã°ã¯å転ãæå³ããå€ãã®ããã°ã©ãã³ã°èšèªã§äœ¿çšå¯èœãª
NOT
æŒç®åã«äŒŒãŠããŸãã
grep -c my_regex my_file
ïŒãã¡ã€ã«ã§èŠã€ãã£ãæ€çŽ¢ãã¿ãŒã³ãšã®äžèŽæ°ã«é¢ããæ
å ±ãè¿ããŸãã
grep -R my_regex my_folder
ïŒæå®ããããã©ã«ããŒããã³ãã®ãã©ã«ããŒã«ãããã¹ãŠã®ãã¡ã€ã«ã§ååž°æ€çŽ¢ãå®è¡ããŸãã
ããã§ã¯ã
ag
ããŒã ã«ã€ããŠè©±ããŸãããã 圌女ã¯åŸã§
grep
ã«ç»å Žãã圌女ã¯ããéãã圌女ãšäžç·ã«ä»äºãããæ¹ã䟿å©ã§ãã
AgããŒã ag my_regex my_file
ïŒè¡çªå·ã«é¢ããæ
å ±ãããã³
my_regex
ã§äžèŽããè¡èªäœã
my_regex
ãŸãã
ag -i my_regex my_file
ïŒæ€çŽ¢ã§ã¯å€§æåãšå°æåãåºå¥ãã
ag -i my_regex my_file
ãã
ag
ã³ãã³ãã¯
.gitignore
ãã¡ã€ã«ãèªåçã«åŠçãããã®ãã¡ã€ã«ã«ãªã¹ããããŠãããã©ã«ããŒãŸãã¯ãã¡ã€ã«ã«ãããã®ãåºåããé€å€ããŸãã ãšãŠã䟿å©ã§ãã
ag my_regex my_file -- skip-vcs-ignores
ïŒèªåããŒãžã§ã³ç®¡çã·ã¹ãã ïŒ
.gitignore
ïŒã®ãã¡ã€ã«ã®å
容ã¯æ€çŽ¢äžã«èæ
®ãããŸããã
ããã«ã
ag
ã³ãã³ãã«æ€çŽ¢ããé€å€ãããã¡ã€ã«ãã¹ãäŒããããã«ã
.agignore
ãã¡ã€ã«ãäœæã§ããŸãã
ãã®ã»ã¯ã·ã§ã³ã®åé ã§ã
ack
ã³ãã³ãã«ã€ããŠèª¬æããŸããã
ack
ã³ãã³ããš
ag
ã³ãã³ãã¯éåžžã«äŒŒãŠããã99ïŒ
äºææ§ããããšèšããŸãã ãã ãã
ag
ã³ãã³ãã¯é«éãªã®ã§ãå
·äœçã«èª¬æããŸããã
次ã«ãã¢ãŒã«ã€ãã®æäœã«ã€ããŠèª¬æããŸãã
âã¢ãŒã«ã€ã
tar my_source_directory
ïŒ
my_source_directory
ãã©ã«ããŒã®ãã¡ã€ã«ãåäžã®tarballãã¡ã€ã«ã«çµåããŸãã ãã®ãããªãã¡ã€ã«ã¯ã倧éã®ãã¡ã€ã«ã誰ãã«è»¢éããããã«äœ¿çšãããšäŸ¿å©ã§ãã
tarã³ãã³ããã®ã³ãã³ãã§äœæãããtarballãã¡ã€ã«ã¯ãæ¡åŒµåã
.tar
ïŒTape ARchiveïŒã®ãã¡ã€ã«ã§ãã ãããŒãããšããåèªãã³ãã³ãã®ååãšããã«ãã£ãŠäœæããããã¡ã€ã«ã®ååã®æ¡åŒµåã«é ãããŠãããšããäºå®ã¯ããã®ã³ãã³ããååšããŠããæéã瀺ããŠããŸãã
tar -cf my_file.tar my_source_directory
ïŒ
my_source_directory
ãã©ã«ããŒã®å
容ã§
my_file.tar
ãšããååã®tarballãã¡ã€ã«ãäœæããŸãã
-c
ãã©ã°ã¯ãäœæããè¡šãã
-f
ãã©ã°ã¯ããã¡ã€ã«ããè¡šããŸãã
.tar
ãã¡ã€ã«ã«ãããã¡ã€ã«ãæœåºããã«ã¯ã
tar
ã³ãã³ãããã©ã°
-x
ïŒãæœåºããæœåºïŒããã³
-f
ïŒããã¡ã€ã«ãããã¡ã€ã«ïŒãšãšãã«äœ¿çšããŸãã
tar -xf my_file.tar
ïŒ
tar -xf my_file.tar
ããçŸåšã®äœæ¥ãã£ã¬ã¯ããªã«ãã¡ã€ã«ã
tar -xf my_file.tar
ãŸãã
次ã«ã
.tar
ãã¡ã€ã«ãå§çž®ããã³å§çž®è§£é€ããæ¹æ³ã«ã€ããŠèª¬æããŸãã
tar -cfz my_file.tar.gz my_source_directory
ïŒããã§ã
-z
ãã©ã°ïŒãzipãå§çž®ã¢ã«ãŽãªãºã ïŒã䜿çšãããšã
gzip
ïŒGNU zipïŒã䜿çšããŠãã¡ã€ã«ãå§çž®ããå¿
èŠããããŸãã ãã¡ã€ã«ãå§çž®ãããšããã®ãããªãã¡ã€ã«ãä¿åãããšãã«ãã£ã¹ã¯å®¹éãç¯çŽãããŸãã ããšãã°ãä»ã®ãŠãŒã¶ãŒã«è»¢éããããã«ãã¡ã€ã«ãèšç»ãããŠããå Žåãããã«ããããã®ãããªãã¡ã€ã«ã®ããŠã³ããŒããé«éåãããŸãã
ã³ãã³ãã«
-z
ãã©ã°ãè¿œå ããŠãäžèšã§æ€èšãã
.tar
ãã¡ã€ã«ã®å
容ãæœåºããããšã«ããã
.tar.gz
ãã¡ã€ã«ã解åã§ããŸãã 次ã®ããã«ãªããŸãã
tar -xfz my_file.tar.gz
tar
ã³ãã³ãã«ã¯ãããã«å€ãã®äŸ¿å©ãªãã©ã°ãããããšã«æ³šæããŠãã ããã
ããã·ã¥ãšã€ãªã¢ã¹
Bashãšã€ãªã¢ã¹ïŒãšã€ãªã¢ã¹ãŸãã¯ç¥èªãšãåŒã°ããïŒã¯ãã³ãã³ããŸãã¯ãã®ã·ãŒã±ã³ã¹ã®ççž®åãäœæããããã«èšèšãããŠãããéåžžã®ã³ãã³ãã®ä»£ããã«ã³ãã³ãã䜿çšãããšãäœæ¥ãé«éåãããŸãã
python setup.py sdist bdist_wheel
ããšã€ãªã¢ã¹
bu
ããã®åŸãã«
python setup.py sdist bdist_wheel
ã«ãªã£ãŠããå Žåããã®ã³ãã³ããåŒã³åºãã«
python setup.py sdist bdist_wheel
ããã®ãšã€ãªã¢ã¹ã䜿çšããŸãã
ãã®ãããªãšã€ãªã¢ã¹ãäœæããã«ã¯ã次ã®ã³ãã³ãã
~/.bash_profile
ãã¡ã€ã«ã«è¿œå ããã ãã§ãïŒ
alias bu="python setup.py sdist bdist_wheel"
ã·ã¹ãã ã«
~/.bash_profile
ãã¡ã€ã«ããªãå Žåã¯ã
touch
ã³ãã³ãã䜿çšããŠèªåã§äœæã§ããŸãã ãšã€ãªã¢ã¹ãäœæããããã¿ãŒããã«ãåèµ·åããŸãããã®åŸããã®ãšã€ãªã¢ã¹ã䜿çšã§ããŸãã ãã®å Žåã2æåã®å
¥åã¯ãPythonããã±ãŒãžã
æ§ç¯ããããã«èšèšãããã³ãã³ãã®30æå以äžã®å
¥åã眮ãæããŸãã
ãã䜿çšãããã³ãã³ãã®ãšã€ãªã¢ã¹ã
~/.bash_profile
è¿œå ã§ããŸãã
âçµæ
ãã®èšäºã§ã¯ã人æ°ã®ãã21ã®BashããŒã ã確èªããããŒã ã®ãšã€ãªã¢ã¹ã®äœæã«ã€ããŠèª¬æããŸããã ãã®ãããã¯ã«èå³ãããå Žåã¯ãBashã·ãªãŒãºã®åºçç©ã
ã芧ãã ãã ã
ããã§ã¯ããããã®åºçç©ã®PDFããŒãžã§ã³ãèŠã€ããããšãã§ããŸãã ããã«ãBashãåŠç¿ãããå Žåã¯ãä»ã®ãœãããŠã§ã¢ã·ã¹ãã ã®ç 究ãšåæ§ã«ãããã§ç·Žç¿ããããšãéèŠã§ããããšãå¿ããªãã§ãã ããã
芪æãªãèªè
ïŒ ãã®èšäºã§èª¬æããã³ãã³ãã«ãåå¿è
ãç¥ã£ãŠãããšäŸ¿å©ãªã³ãã³ããè¿œå ããŠãã ããã
â
ãŸããããã°ã§bashã¹ã¯ãªããã«é¢ããäžé£ã®åºçç©ãèªãã§ãã ããã