Linux Bash Shellѧϰ£¨Ê®Æß£©£ºI/OÖØ¶¨Ïò
¡¡¡¡±¾ÎÄÒ²¼´¡¶Learning the bash Shell¡·3rd EditionµÄµÚÆßÕÂInput/Output and Command-Line ProcessintÖ®¶ÁÊé±Ê¼ÇÖ®Ò»¡£ÎÒÃÇÔø¾Ñ§Ï°¹ýshellµÄ»ù±¾IOÖØ¶¨Ïò²Ù×÷£º>¡¢<ºÍ|¡£»ù±¾ÉÏÄÜÂú×ã95%µÄÇé¿ö£¬µ«ÊÇÎÒÃÇÐèÒªÖªµÀbashÖ§³ÖµÄÖØ¶¨Ïò²Ù×÷¡£
cmd1
|cmd2
£º pipe£¬½«cmd1
µÄ±ê×¼Êä³ö×÷Ϊcmd2
µÄ±ê×¼ÊäÈë
>file
£º½«±ê×¼Êä³öÖØ¶¨Ïòµ½file
<file
£º½«file×÷Ϊ±ê×¼ÊäÈë
>>file
£º½«±ê×¼Êä³öÖØ¶¨Ïòµ½file£¬Èç¹ûfile´æÔÚ£¬appendµ½ÎļþÖУ¬¼´¸½¼Óµ½ÎļþµÄºóÃæ£¬¶ø²»ÊǸ²¸ÇÎļþ
µ±cat²»´ø²ÎÊýµÄʱºò£¬±íʾʹÓñê×¼ÊäÈë×÷ΪÊäÈ룬ÕâÔÊÐíÔÚ±ê×¼ÊäÈëÖмüÈëÏà¹ØµÄÄÚÈÝ£¬ÏÂÃæ½«alias¼ÓÈë.bashrc×÷Ϊ×îºóÒ»ÐÐ
$ cat >> .bashrc
alias cdmnt='mount -t iso9660 /dev/sbpcd /cdrom'
^D
>|file
£ºÇ¿Öƽ«±ê×¼Êä³öÖØ¶¨Ïòµ½file£¬¼´Ê¹noclobberÉèÖᣵ±ÉèÖû·¾³±äÁ¿set –o noclobber£¬½«½ûÖ¹ÖØ¶¨Ïòµ½Ò»¸öÒѾ´æÔÚµÄÎļþÖУ¬±ÜÃâÎļþ±»¸²¸Ç¡£
n
>|file
£ºÇ¿Öƽ«ÎļþÃèÊö·ûnÖØ¶¨Ïòµ½file£¬¼´Ê¹noclobber´ò¿ª
<>file
£º½«file×÷Ϊ±ê×¼ÊäÈëºÍ±ê×¼Êä³ö¡£Í¨³£ÓÃÓÚÉ豸Îļþ£¨/devÏÂÃæµÄÎļþ£©£¬µ×²ãϵͳ³ÌÐòÔ±¿ÉÓÃÖ®²âÊÔÉ豸Çý¶¯£¬ÆäËûµÄºÜÉÙÓá£
n
<>file
£º½«file×÷ΪÎļþÃèÊö·ûnµÄÊäÈëºÍÊä³ö
<<label
£ºHere-document; see text ¡£½«shellµÄ±ê×¼ÊäÈë×÷ΪÃüÁîµÄÊäÈ룬ֱµ½ÐÐÖÐÖ®°üº¬label¡£ÕâÖмäµÄÊäÈë³ÉΪhere-document¡£ÏÂÃæÊÇÒ»¸öÀý×Ó¡£ÎÒÃÇÈÃÈËʹÓÃcat >> fileµÄ·½Ê½£¬Í¨¹ý±ê×¼ÊäÈëÔÚÎļþÖи½¼ÓÄÚÈÝ¡£
$ cat >> msgfile << . #ÕâÀï<<.±íÃ÷ÒÔ.Ϊ½áÊø¡£Òò´ËÎÞÐèʹÓÃ^D£¬¶ø¸ÄÓÃ.
> this is the text of
> our message.
> .
#ÕâÀï±íʾ½áÊø¡£ÔòmsgfileÖÐÔö¼ÓÁËÁ½ÐÐthis is…ºÍour message.
MACHINE="i586"
OS="linux-gnu"
CC="gcc"
cat > $file <
Machine: $MACHINE
OS: $OS
Compiler: $CC
EOF
²é¿´£ºcat $file£¬ÕâÀï¸ø³öÕý³£½á¹¹
Machine: i586
OS: linux-gnu
Ïà¹ØÎĵµ£º
vi /opt/back.sh(oracleÓû§)
#!/bin/ksh
tim=`date +%Y%m%d`
unset USERNAME
#export DISPLAY=0.0.0.0:0.0
#export ORACLE_BASE=/home/oraprod3
#export ORACLE_HOME=/prod/oracle/prod3db/9.2.0
#export ORACLE_SID=PROD3_db
#export LD_LIBRARY_PATH=/prod/oracle/prod3db/9.2.0/lib
#export ORACLE_TERM=vt100 ......
LinuxϵÄѹËõÃüÁî
ѹËõĿ¼file
tar -czf file0117.tar.z file
½âѹ.tarÎļþ
tar -xzf ÎļþÃû.tar
´ò°üĿ¼
tar -cvf file0117.tar file
½â°ü
tar -xvf ÎļþÃû.tar
AIXϵÄѹËõÃüÁî
1. backup: ¼Ó-i²ÎÊý¿É¶ÔÎļþ»òĿ¼½øÐб¸·Ý£¬¼Ó-p²ÎÊý¿É¶ÔÒª±¸·ÝµÄÎļþ½øÐÐѹËõ£¬µ«ÊǽöÄÜѹËõСÓÚ2GµÄÎļþ¡£
2. compress: ¶ ......
linuxĿ¼¼Ü¹¹
/ ¸ùĿ¼
/bin ³£ÓõÄÃüÁî
binary file µÄÄ¿錄
/boot ´æ·ÅϵͳÆô¶¯Ê±±ØÐë¶ÁÈ¡µÄµµ°¸£¬°üÀ¨ºËÐÄ
(kernel) ÔÚÄÚ
/boot/grub/menu.lst GRUBÉèÖÃ
/boot/vmlinuz ÄÚºË
......
֮ǰ¿´ÁË¡¶Ð±¬Äں˸ßΣ©¶´sock_sendpageµÄÀûÓ÷ÖÎöµÄÌÖÂÛ
¡·ÕâÆªÌû×Ó£¬ÔھżúÐÖºÍÖîλCUerµÄÖ¸ÒýÏ£¬´óÖÂŪÇåÁËÕû¸ö©¶´µÄʼĩ¡£ÏÖÓë´ó¼Ò·ÖÏí£¨ÒýÓÃ×ÔÎҵĿռä
£©¡£
ÓÐʲô²»×ãÖ®´¦»¹Íû¶à¶àÖ¸½Ì~
Äں˵ÄBUG
Õâ¸öBUGÊ×ÏȵôÓsendfileϵͳµ÷ÓÃ˵Æð¡£
¿¼Âǽ«Ò»¸ö±¾µØÎļþͨ¹ýsocket·¢ËͳöÈ¥µÄÎÊÌâ¡£ÎÒÃÇͨ³£µÄ×ö·¨ÊÇ£º ......
linuxϵͳ¿ÉÒÔ°ÑһЩ³£ÓõÄÃüÁî×öÒ»¸ö¼ò¶ÌµÄ±ðÃû
alias tomcat£½"cd /usr/local/tomcat",µ«ÊÇÍ˳öϵͳºóÕâЩ±ðÃû¾ÍʧЧÁË£¬ÈçºÎ°Ñ±ðÃûдÈëÅäÖÃÎļþ£º
Ê×ÏÈÕÒµ½µÇ½µÄÓû§µÄÎļþ¼Ð£¬±ÈÈçROOTµÇ½µÄʱºò£¬ÔÚ/Ŀ¼Ï½øÈëROOTĿ¼±à¼.bash_profileÎļþ
±ÈÈç¿ÉÒÔÕâÑù±à¼£¨alias ÕâÁ ......