¡i¥\¯à¡j
²£¥Í°T®§¨ì¼Ð·Ç¿é¥X
¡i»yªk¡j
¡i»¡©ú¡jecho «ü¥O·|±N¨CÓ arg ªº¤º®e¥HªÅ¥Õ¦r¤¸¤À¹j¡A¨Ã¥[¤W´«¦æ¦r¤¸¡]new-line¡^«á°e¨ì¼Ð·Ç¿é¥X¡C
±`¥Î¨ÓÀˬdÀô¹ÒÅܼƪº¤º®e¡A©Î¬O²£¥Í°T®§«á«·s¾É¦Vµ¹§Oªº©R¥O¡C¥t¥~¦b arg ¤¤¥i¨Ï¥Î¤U±ªº¯S®í²Å¸¹¨Ó²£¥Í«ü©wªº¦r¤¸¡G
\b | °h®æ²Å¸¹¡]backspace¡^ |
\c | ¦b¿é¥X®É¡A¤£¥[¤W´«¦æ¦r¤¸ |
\f | ´«¶¦r¤¸¡]form-feed¡^ |
\n | ´«¦æ¦r¤¸¡]new-line¡^ |
\r | Âk¦ì¦r¤¸¡]carriage return¡^ |
\t | ¸õ®æ¦r¤¸¡]tab¡^ |
\v | ¤ô¥¸õ®æ¦r¤¸¡]vertical tab¡^ |
\\ | ˱׽u¡]backslash¡^ |
\0n | n ¬O1¨ì3Ó8¶i¦ì¼Æ¡A¥NªíASCII½Xªº¦r¤¸ |
¡i¿ï¶µ¡j
¿ï ¶µ | »¡ ©ú |
-n | ¿é¥X®É¤£¥[¤W´«¦æ¦r¤¸¡C |
¡i½d¨Ò¡j
1.
¦L¥X°T®§¡G²Ä¤@Ó
echo «ü¥O¤¤ªº¤Þ¼Æ¥Ñ©ó¨S¦³¨Ï¥Î¤Þ¸¹±N¦r¦ê¥]§t¡A©Ò¥H¦b¦L¥X®É·|±N¤GÓ¤Þ¼Æ test¡Bdata ¥u¥H¤@Ӫťզr¤¸¤À¹j¡F²Ä¤GÓ echo «ü¥O«h¨Ï¥Î¤Þ¸¹¡A©Ò¥H¥uµø¬°¤@Ӥ޼ƦL¥X¡C2.
¦L¥XÀô¹ÒÅܼơG¦L¥Xªºµ²ªG¬°¨Ï¥ÎªÌ©Ò³]©wªºÀô¹ÒÅܼÆ
$HOME¡A·|¦]¨Ï¥ÎªÌªº¤£¦P¦Ó¨Ïµ²ªG¬Û²§¡C3.
¦L¥X°T®§¡G¦b¤Þ¼Æ¤¤¨Ï¥Î¤F
'\t' ¤Î '\n' ¯S®í²Å¸¹¡A¤À§O¥Nªí¸õ®æ¦r¤¸¤Î´«¦æ¦r¤¸¡C shl¡]shell layer manager¡^¡i¥\¯à¡j
¥i¦b¤@Ӳ׺ݾ÷¤W°õ¦æ¦hÓ¥æ½Í¦¡ªºµ{¦¡
¡i»yªk¡j
shl¡i»¡©ú¡j
shl ´£¨Ñ¤F¤@Ó«K§Qªº¥\¯à¡AÅý¦hÓ¥æ½Í¦¡µ{¦¡¥i¦b¦P¤@Ӳ׺ݾ÷¤W°õ¦æ¡C·íµM¡A¨C¦¸¨Ï¥ÎªÌ¥u¯à»P¨ä¤¤¤§¤@¶i¦æ¥æ½Í¡A³B²zÁä½LªºÅª¨ú¤Î¿Ã¹õªº¿é¥X¡A¦Ó¨ä¥Lªºµ{¦¡«h¥ý¼È°±¿é¥X¤Jªº³B²z¡A¨Ò¦p¥i°õ¦æ¦hÓ vi¡]¿Ã¹õ½s¿èµ{¦¡¡^«ü¥O¡A¨Ï¥ÎªÌ¥i«ü©w³B²z¨ä¤¤ªº¤@Ó¡C
¦b¶i¤J shl «ü¥O«á¡A´£¥Ü²Å¸¹¬° '>>>'¡A§Ú̺٤§¬°°õ¦æ°ÏºÞ²z¼Ò¦¡¡A¦b¦¹¼Ò¦¡¤U¥i¨Ï¥Î create¡Bdelete µ¥©R¥O¨ÓºÞ²z¦U°Ïªºª¬ºA¡C¨CÓ°õ¦æ°Ï·|¨Ï¥Î¤@Ó¬Û¹ïÀ³ªºµêÀÀ²×ºÝ¾÷¡]/dev/sxt???¡^¡A¶i¤J°õ¦æ°Ï«áYn¦^¨ì°õ¦æ°ÏºÞ²z¼Ò¦¡¡A«h¥i«ö¤U <Ctrl-Z> Áä¡C
¡i©R¥O¡j
©R ¥O | »¡ ©ú |
create [name] | «Ø¥ß¤@Ó¦WºÙ¬° name ªº°õ¦æ°Ï¡AYµL¤Þ¼Æ®É¡A«h¥H¹w³]ªº (1)¡B(2)¡B...¡B(7) °µ¬°¦WºÙ¡A³Ì¦h¥i¦P®É¦s¦b 7 Ó°õ¦æ°Ï¡C¶i¤J°õ¦æ°Ï«á¥i¬Ý¨ì´£¥Ü²Å¸¹¬°¸Ó°õ¦æ°Ïªº¦WºÙ¡A±µµÛ¥i¨Ï¥Î¤@¯ë UNIX ¨t²Îªº«ü¥O¡C |
block name [name...] |
¼È°±¦WºÙ¬° name °õ¦æ°Ï¤¤µ{¦¡°õ¦æªºµ²ªG¿é¥X¡C |
delete name [name...] |
§R°£¦WºÙ¬°name ªº°õ¦æ°Ï¤Î°±¤î¸Ó°Ï¤º°õ¦æªºµ{¦¡¡]¨CÓµ{¦¡³£·|¦¬¨ì SIGHUP ªº°T¸¹¡^¡C |
help¡]©Î ?¡^ | ¦L¥X°õ¦æ°ÏºÞ²z¼Ò¦¡¤U¥i¨Ï¥Îªº©R¥O¥H¤Î»yªk¡C |
layers [-l] [name] |
¦C¥X¦U°õ¦æ°Ïªºª¬ºA©Î¥u¦C¥X«ü©wªº name°õ¦æ°Ïªºª¬ºA¡C Y¬O¥[¤W¿ï¶µ -l¡A«h·|¥H ps -f «ü¥Oªº¿é¥X¡A¦L¥X¬ÛÃöªº¸ê®Æ¡C |
resume [name] | ¶i¤J«ü©wªº name °õ¦æ°Ï¡C |
toggle | ¶i¤J¤W¤W¦¸Â÷¶}ªº°õ¦æ°Ï¡C |
unblock name [name...] |
¨Ï³Q¼È°±¿é¥Xªº°õ¦æ°Ï«ì´_¿é¥X¡C |
quit | µ²§ô shl «ü¥Oªº°õ¦æ¡C ¨CÓ°õ¦æ°Ï¤ºªºµ{¦¡·|¦¬¨ì SIGHUP ªº°T¸¹¡C |
name | ¶i¤Jname °õ¦æ°Ï¡AÄ~Äò³B²z¨ä°õ¦æªºµ{¦¡¡C |
¡i½d¨Ò¡j
1.
¨Ï¥Î½d¨Ò¡G¡@
¶i¤J
shl «ü¥O«á¡Aº¥ý¥Î create ©R¥O«Ø¥ß OR °õ¦æ°Ï¡A±µµÛ¥i¦b OR °õ¦æ°Ï¤U sort ©R¥O¡A«ö <Ctrl-Z> Áä¤S¦^¨ì°õ¦æ°ÏºÞ²z¼Ò¦¡¡]´£¥Ü²Å¸¹¬° '>>>'¡^¡Clayers
©R¥O¬O±N¦U°õ¦æ°Ï¦C¥X¡A¨Ã±N¦U°õ¦æ°Ï¤º³B²zµ{§ÇÃѧO½X©M°õ¦æªºª¬ºA¦L¥X¡Ctoggle
©R¥O¬O¶i¤J¤W¤W¦¸ªº°õ¦æ°Ï¡A¦b³oùؤW¦¸ªº°õ¦æ°Ï¬O«ü¡]2¡^°õ¦æ°Ï¡A¤W¤W¦¸ªº°õ¦æ°Ï¬O«ü OR °õ¦æ°Ï¡C¦b¶i¤J«á¨Ï¥Î ps «ü¥O¬d¸ß¥Ø«e¦b¸Ó°õ¦æ°Ï¦³¨º¨Ç³B²zµ{§Ç¡A¥i¬Ý¨ì°£¤F sh «ü¥O¥~¥u¦³ ps «ü¥O¥»¨¡C³o¤GÓ«ü¥O©ÒÄݪº²×ºÝ¾÷¬O sxt/001¡A¬O¬°µêÀÀªº²×ºÝ¾÷¡A¬G¤£·|ª½±µ±N¿é¥X°e¨ì¨Ï¥ÎªÌªº¿Ã¹õ¤W¡C sleep¡i¥\¯à¡j
°±¤î°õ¦æ¤@¬q®É¶¡
¡i»yªk¡j
sleep time¡i»¡©ú¡j
sleep «ü¥O·|¼È°±°õ¦æ time ¬í¡A±`¥Î¨Ó©µ¿ð¥t¤@¥ó¤u§@ªº°õ¦æ
¡i½d¨Ò¡j
1.
©µ¿ð¤@¥ó¤u§@ªº°õ¦æ¡G¡]sleep 120;echo 2 minutes¡^&
¨Ï
echo ³oÓ«ü¥O¦b 120 ¬í¤§«á¤~·|°õ¦æ¡C test¡i¥\¯à¡j
´ú¸ÕÀɮתº«¬ºA©Î¬OÀˬd¦r¦ê¡B¼ÆÈªº¤j¤p
¡i»yªk¡j
test expr [ expr ]¡i»¡©ú¡j
test «ü¥O·|¥h´ú¸Õ expr ¤¤ªºµ²ªG¡AY expr ¤¤ªº¹Bºâ¦¡¦¨¥ß¡A«h¶Ç¦^ȬO 0¡]true¡^¡A§_«h¶Ç¦^Ȭ°«D 0 ªºÈ¡]false¡^¡FYtest «ü¥O«á¨S±µ expr ¹Bºâ¦¡¡A«h¶Ç¦^ȬO 0¡]true¡^¡Ctest ¸û±`¦b shell ªº script ¤¤¨Ï¥Î¡A»P if¡Bwhile µ¥©R¥O°t¦X¡A¥t¥~¥i¥H¥u¥Î¤è¬A¸¹¦b expr «e«á¬A¦í¡A¦Ó¬Ù²¤ test ¦r¦ê¡C
¡i¿ï¶µ¡j
¿ï ¶µ | »¡ ©ú |
-r file (readable) | YÀÉ®× file ¦s¦b¥B¥i¥HŪ¨ú¸ê®Æ«h¦¨¥ß¡C |
-w file (writable) | YÀÉ®× file ¦s¦b¥B¥i¥H¼g¤J¸ê®Æ«h¦¨¥ß¡C |
-x file (executable) | YÀÉ®× file ¦s¦b¥B¬°°õ¦æÀÉ«h¦¨¥ß¡C |
-f file (file) | YÀÉ®× file¦s¦b¥B¬°¤@¯ëªºÀɮ׫h¦¨¥ß¡C |
-d file (directory) | YÀÉ®× file ¦s¦b¥B¬°¥Ø¿ý«h¦¨¥ß¡C |
-h file | YÀÉ®× file ¦s¦b¥B¬°²Å¸¹³s±µÀÉ«h¦¨¥ß¡C¦¹¿ï¶µ¥i»P¨ä¥L¿ï¶µ°t¦X¨Ï¥Î¡A°£¤F-L ¿ï¶µ¥~¡C |
-c (character) | YÀÉ®× file ¦s¦b¥B¬°¦r¤¸¯S®íÀÉ«h¦¨¥ß¡C |
-b (block) | YÀÉ®× file ¦s¦b¥B¬°°Ï¶ô¯S®íÀÉ«h¦¨¥ß¡C |
-p (pipe) | YÀÉ®× file ¦s¦b¥B¬°¤@©R¦Wªº pipe ÀÉ¡]fifo¡^¡C |
-u (UID) | YÀÉ®× file ¦s¦b¥B³]©w¨Ï¥ÎªÌÃѧO½X¦ì¤¸¦³±Ò°Ê«h¦¨¥ß¡C |
-g (GID) | YÀÉ®× file ¦s¦b¥B³]©w¸sÃѧO½X¦ì¤¸¦³±Ò°Ê«h¦¨¥ß¡C |
-k (sticky) | YÀÉ®× file ¦s¦b¥B sticky ¦ì¤¸¦³³]©w«h¦¨¥ß¡C |
-s (size) | YÀÉ®× file ¦s¦b¥BÀɮתº¤j¤p¤£¬° 0 «h¦¨¥ß¡C |
-t [fildes] (terminal) | YÀÉ®×´yz½s¸¹ fildes ¬O»P²×ºÝ¾÷¬ÛÃöÁp«h¦¨¥ß¡C |
-z s1 (zero) | Y¦r¦ê s1 ªºªø«×¬° 0 «h¦¨¥ß¡C |
-n s1 (non-zero) | Y¦r¦ê s1 ªºªø«×¤£¬° 0 «h¦¨¥ß¡C |
s1=s2 | Y¦r¦ê s1¡Bs2 ªø«×¬Û¦P«h¦¨¥ß¡C |
s1!= s2 | Y¦r¦ê s1¡Bs2 ªø«×¤£¬Û¦P«h¦¨¥ß¡C |
s1 | Y¦r¦ê s1 ¤£¬OªÅ¦r¦ê«h¦¨¥ß¡C |
n1 -eq n2 | Y¾ã¼Æ n1¡Bn2 ªº¼ÆÈ¬Û¦P«h¦¨¥ß¡C |
n1 -ne n2 | Y¾ã¼Æ n1 ªº¼ÆÈ»P n2 ªº¼ÆÈ¤£¬Û¦P«h¦¨¥ß¡C |
n1 -gt n2 | Y¾ã¼Æ n1 ªº¼ÆÈ¤j©ó n2 ªº¼ÆÈ«h¦¨¥ß¡C |
n1 -ge n2 | Y¾ã¼Æ n1 ªº¼ÆÈ¤j©ó©Îµ¥©ó n2 ªº¼ÆÈ«h¦¨¥ß¡C |
n1 -lt n2 | Y¾ã¼Æ n1 ªº¼ÆÈ¤p©ó n2 ªº¼ÆÈ«h¦¨¥ß¡C |
n1 -le n2 | Y¾ã¼Æ n1 ªº¼ÆÈ¤p©ó©Îµ¥©ó n2 ªº¼ÆÈ«h¦¨¥ß¡C |
-L file | YÀÉ®× file ¦s¦b¥B¬°²Å¸¹³s±µÀÉ«h¦¨¥ß¡C¦¹¿ï¶µ¥i»P¨ä¥L¿ï¶µ°t¦X¨Ï¥Î¡A°£¤F -h ¿ï¶µ¨Ò¥~¡C |
¿ï¶µ
-h¡B-s¡B-L ¬O¦b SVR4 ª©¥»®É¤~¶}©l´£¨Ñ¡C¤W±¦UÓ¿ï¶µ¥iµ²¦XÅÞ¿è¹Bºâ¨Ó¹F¦¨©Ò»Ýnªº¥\¯à¡G
! | ªí not ¹Bºâ¡A±N¿ï¶µ¤¤©Ò²£¥Íªºµ²ªG¬Û¤Ï¡C ¨Ò¦p¡G!-r data ¬Oªí¥ÜÀɮצs¦b¥B¥iŪ¨ú®É«h¤£¦¨¥ß¡C |
-a | ªí and ¹Bºâ¡A±N«e«á 2 Ó¿ï¶µªºµ²ªG¥H and ¹Bºâµ²¦X¡C ¨Ò¦p¡G-x sun -a -x moon ¬Oªí¥ÜÀÉ®×sun ¤Î moon ³£¦s¦b¥B¬°¥i°õ¦æÀɮɤ~¦¨¥ß¡C |
-o | ªí or ¹Bºâ¡A±N«e«á 2 Ó¿ï¶µµ²ªG¥H or ¹Bºâµ²¦X¡C ¨Ò¦p¡G-x sun -o -x moon ¬Oªí¥ÜÀÉ®× sun ¤Î moon ¥un¦³¤@ÓÀɮצs¦b¥B¬°¥i°õ¦æÀÉ´N¦¨¥ß¡C |
(expr) | ¥Î¥H§ïÅܤW± 3 Ó¹Bºâªº³B²z¶¶§Ç¡A¹w³]ªº³B²z¶¶§Ç¬°¡]¡^¡B!¡B-a¡B-o¡C |
¡i¶Ç¦^È¡j
¡i½d¨Ò¡j
1.
ÀˬdÀɮ׬O§_¦s¦b¡Gif [ -f numerical ]; then echo file exists; fi
-f
¿ï¶µ¬O¥Î¨ÓÀˬd file ¬O§_¬°¤@¯ëÀɮסAY¬O¦¨¥ß«h¶Ç¦^ȬO 0¡A¦]¦¹·|Ä~Äò°õ¦æ echo «ü¥O¡A¦L¥X 'file exists' ¦r¦ê¡C2.
ÀˬdÀô¹ÒÅܼƪºÈ¡G$DIR
©Ò¶Ç¦^ªºÈ¬O pwd «ü¥Oªº¿é¥Xµ²ªG¡A´N¬O¥Ø«eªº¤u§@¥Ø¿ý¡A¦Ó $HOME «h¬O¨ú¥XÀô¹ÒÅܼƪºÈ¡AY¦¹¤GªÌªº¤º®e¬Û¦P¡A«h·|¦L¥X 'HOME DIRECTORY' ªº¦r¦ê¡C wait¡i¥\¯à¡j
µ¥«Ý¥þ³¡©Î«ü©wªº³B²zµ{§Ç°õ¦æµ²§ô
¡i»yªk¡j
wait [n]
¡i»¡©ú¡j
wait «ü¥O¥i¨Ï shell ¼È°±°õ¦æ¡Aª½¨ì«ü©wÃѧO½X¬° n ªº³B²zµ{§Ç°õ¦æ§¹²¦©Î¬O©Ò¦³ªº¹õ«á³B²zµ{§Ç°õ¦æ§¹²¦«á¤~Ä~Äò shell ªº³B²z¤u§@¡Cshell ·|¥h°õ¦æ wait «ü¥O¦Ó¤£·|²£¥Í¥t¤@Ó·sªº³B²zµ{§Ç¡C
¡i½d¨Ò¡j
1.
µ¥«Ý«ü©wªº³B²zµ{§Ç°õ¦æµ²§ô¡G