26.06.2015 Views

Unix/Linux

Unix/Linux

Unix/Linux

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Unix</strong>/<strong>Linux</strong>dddddddd<br />

ddd<br />

hmli@ustc.edu.cn, lihm@qibebt.ac.cn<br />

ddddddddddddddddddddddd<br />

2009d12d<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 1 / 173


dd<br />

1 <strong>Linux</strong>dddddd<br />

2 ddddd<br />

3 ddddd<br />

4 dd<br />

5 <strong>Linux</strong>dd<br />

6 Shelldd<br />

7 VI/VIMdddddd<br />

8 dddddd<br />

9 dddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 2 / 173


9 dddd<br />

(ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 3 / 173<br />

1 <strong>Linux</strong>dddddd<br />

2 ddddd<br />

3 ddddd<br />

4 dd<br />

5 <strong>Linux</strong>dd<br />

6 Shelldd<br />

7 VI/VIMdddddd<br />

8 dddddd


<strong>Linux</strong>dddddd<br />

<strong>Linux</strong>ddddddddddddddddddddddddd<br />

<strong>Linux</strong>ddddddddddddddd<strong>Linux</strong>dddddddd<br />

dddddGNUddddddddShelldddddddddd<br />

ddddddddddddddddddEmacsddddddd<br />

GNU(GNU’s not <strong>Unix</strong>)ddddddRichard Matthew<br />

Stallma-RMSddddd<strong>Linux</strong>dddddddGNU/<strong>Linux</strong>dd<br />

ddddddddddd<strong>Linux</strong><br />

<strong>Linux</strong>dddddddddddddddddddddddddd<br />

ddddddddddddddddddddddddddddd<br />

dddddddddddddddddd<br />

ddd<strong>Unix</strong>dddddddddd <strong>Unix</strong>ddddddddd <strong>Unix</strong><br />

dddddddddd <strong>Linux</strong>ddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 4 / 173


<strong>Linux</strong>dddddd<br />

<strong>Linux</strong>ddddddddddddddddddddddddd<br />

1991dddddddLinus TorvaldsddddddddddUNIX<br />

dddddddddd<strong>Linux</strong>dddddddddddddddd<br />

dddddLinusdddddd <strong>Linux</strong>ddInternetdddddd<br />

ddddddddddhackddddddddddddddd<br />

<strong>Linux</strong>dddddd<br />

<strong>Linux</strong>ddddddddddddddddddddddddd<br />

<strong>Linux</strong>dddddddddddddddddddddd<strong>Linux</strong>d<br />

dddddddddddd<strong>Linux</strong>ddddGPL(GNU General<br />

Public License)ddd GNUdddddddd<br />

<strong>Linux</strong>ddddddddddddddddIBMdINTELdCAd<br />

ORACLEdddddddddddddddddddddddd<br />

dddddddddd<br />

<strong>Linux</strong>ddddddddddddddddddddddddd<br />

<strong>Linux</strong>dddddddddddddddddddddddddddd<br />

dd<strong>Linux</strong>dddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 5 / 173


<strong>Linux</strong>dd I<br />

ddddddddddddddddddddddddddd<br />

dOSIddddd<br />

ddddddddddddddddddddddddddddd<br />

dddddddddddddddddddddd<br />

ddddddddddddddddddddddddddddd<br />

ddd<br />

dddddddd<strong>Linux</strong>dddddddddddddddddd<br />

dd<strong>Linux</strong>dddddddddddddddddddddddd<br />

ddddddddddddddddddddddddddddd<br />

ddddddd<br />

dddddddddddddddddddddddddddd<br />

ddddddddddddddddddddddddddddd<br />

ddddddddddddddddddddddddd<strong>Linux</strong>d<br />

ddddddddddddddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 6 / 173


<strong>Linux</strong>dd II<br />

ddddddddddddddddddd<strong>Linux</strong>dddd<br />

dddddddd<strong>Linux</strong>dddddddddddddddddd<br />

ddddddddddddddddddddddddddddd<br />

dddddddddddddddd<br />

ddddddddddddddddddddddddddddd<br />

ddddddddddddddddd<strong>Linux</strong>ddddddddd<br />

ddddddddddddddddddddddddddddd<br />

ddddddddMaemodddd AndroiddChrome OSddd<br />

ddddMoblin<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 7 / 173


<strong>Linux</strong>ddddd<br />

Kernel dddddddddddddddddddd<br />

Shell dddddddddddddddddddddddd<br />

ddddddddddBashdCshdTcshdKshdZsh···<br />

Utility ddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 8 / 173


<strong>Linux</strong>dddddddd<br />

ddddddddd<br />

dddd.ddddd|ddddddd.ddd-patchd<br />

dd<br />

2.5.19-6 ddddd<br />

2.6.20 d dddd<br />

ddddddddd2009d12d14dddd2.6.32.1<br />

<strong>Linux</strong>-kerneldddddhttp://www.kernel.org/<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 9 / 173


<strong>Unix</strong>/<strong>Linux</strong>dddddddd<br />

dddddddd<br />

<strong>Linux</strong>dArch, CentOS, Debian, Fedora, Gentoo, Mandriva, Red<br />

Hat Enterprise <strong>Linux</strong> Server (RHEL), Slackware, SUSE <strong>Linux</strong><br />

Enterprise Desktop (SLED), SUSE <strong>Linux</strong> Enterprise Server<br />

(SLES), OpenSuSE, Ubuntu, ...<br />

<strong>Unix</strong>d<br />

dddBSDdFreeBSD, OpenBSD, NetBSD, ...<br />

dd<strong>Unix</strong>dIBM AIX, HP UX, Sun Solaris, OpenSolaris 1 , Mac OS<br />

X 2 , SGI IRIX, ...<br />

<strong>Linux</strong>dBSDddddhttp://distrowatch.com/<br />

1 SunddddCDDLdddd<br />

2 d FreeBSDddddMach dddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 10 / 173


9 dddd<br />

(ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 11 / 173<br />

1 <strong>Linux</strong>dddddd<br />

2 ddddd<br />

3 ddddd<br />

4 dd<br />

5 <strong>Linux</strong>dd<br />

6 Shelldd<br />

7 VI/VIMdddddd<br />

8 dddddd


ddddd<br />

ddddddd<br />

dddd<br />

<strong>Linux</strong>ddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 12 / 173


ddddddd<br />

ddddddddXdd<br />

dddddsshdtelnet<br />

sshd<br />

<strong>Linux</strong>ddd$ ssh UserName@HostName 3<br />

Windowsdddddputtydddsshdddddd<br />

telnetd<br />

$ telnet HostName<br />

dddddexitd<br />

3 HostNameddddddddddddIPdd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 13 / 173


ddddddddpasswddyppasswd<br />

ddddddddddddddpasswd<br />

ddNIS 4 ddddddddddyppasswddddddddddd<br />

dddpasswddd<br />

4 ddddddddddddddddddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 14 / 173


ddddd<br />

ddddddddddddddddddddddddddddddd<br />

dman commandd<br />

command options arguments<br />

ddd []ddddddddddd|dddddddddddd<br />

$ dddddddddddddddddddrootdd#dddd<br />

$ mail −f newmail<br />

ddddddd<br />

dd dd<br />

-ddddd<br />

$ mail −f newmail $ mail − f newmail<br />

dddddddd<br />

$ mail −f newmail $ mail newmail −f<br />

ddd<br />

$ who −m −u $ who −m−u<br />

$ who −mu $ who −m u<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 15 / 173


dddd<br />

dddddddddddBash(> 3.0dd) dddd Shellddddd<br />

Shelldddddd<br />

dShellddddddddddddddd<br />

Shellddddd<br />

dddddddddddddCommand not Found<br />

dddddddddddddd\dddddddddddd>d<br />

dddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 16 / 173


ddddddd<br />

ddddd<br />

dddddddddd<br />

ddddddd<br />

ddddd<br />

dddddddd<br />

dddddddd<br />

ddddd<br />

dddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 17 / 173


9 dddd<br />

(ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 18 / 173<br />

1 <strong>Linux</strong>dddddd<br />

2 ddddd<br />

3 ddddd<br />

4 dd<br />

5 <strong>Linux</strong>dd<br />

6 Shelldd<br />

7 VI/VIMdddddd<br />

8 dddddd


ddddd<br />

dd<strong>Linux</strong> ddddddd<br />

ddddddddd<br />

dddddddddddd<br />

dddddddddd<br />

ddddddddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 19 / 173


ddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 20 / 173


<strong>Linux</strong>dddddddd<br />

dd dd<br />

/ <strong>Linux</strong>dddddddddddd<br />

/bin<br />

Binarydddddddddddddddd lsdcpddddddd Shellddbashd<br />

/boot dd vmlinuzdinitrd.imgdddddddddddddddddd<br />

/dev dddddddddddddddsda<br />

/etc<br />

passwdddddddddddd<br />

/etc/x11 X Windows Systemddddd<br />

/home dddddddd<br />

/lib dddd /bind/sbindddddddddddddddddlibrary<br />

/lib32 ddd 64 dddddd 32 ddddd<br />

/lib64 ddd 32 dddddd 64 ddddd<br />

/mnt ddddddddddddddd/mnt/cdromddddddd<br />

/opt dddddddddddddddddddddd<br />

/proc<br />

psdddddddddddddddddddddddddddd<br />

/root ddddddd<br />

/sbin ddddddddddddd<br />

/tmp<br />

Temporarydddddddddddddddddddddddddddd<br />

/usr dddddddddddddddddd<br />

/usr/bin ddddddddddd grepdmkdird<br />

/usr/doc ddddddddddd<br />

/usr/include dddd Cddddd header dd<br />

/usr/include/X11 dddd X Windowsddddd header dd<br />

/usr/info GNUdddddd<br />

/usr/lib(/lib64) ddd<br />

/usr/lib(/lib64)/X11 dddd X Windowsdddddd<br />

/usr/local ddddddddddddd<br />

/usr/man dddddddddd<br />

/usr/sbin ddddddddddd nfsstat<br />

/usr/src ddddddddd<br />

/usr/X11R6/bin dd X Windows Systemddddd<br />

/var<br />

Variable,dddddddddddddddlog<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 21 / 173


ddddddd<br />

dddddddddddddddddd<br />

ddddddddddddddd<br />

dddddddddddddddddd<br />

ddddddddddddddddd<br />

ddddddddddddddddd<br />

dddddddddddddddddddddddddd<br />

dddddd/dddddddddddddddddddddd<br />

ddddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 22 / 173


dddd<br />

ddddddddddddddddddddddddddddddd<br />

dddddd<br />

dddddInodeddddddddddddddddddddd<br />

ddddddddddddddddddddddd<br />

dddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 23 / 173


dddd<br />

ddddddddddddddd$d@dddddddddddd*d?d>d


ddddddd<br />

dddddddddddd ls −lddddddddddddddddd<br />

ddddd<br />

dddddASCIIddddddd -ddddd<br />

−rw−r−−r−− 1 root root 39599 Mar 8 12:15 x.sh<br />

ddddddddddddddddddddddddddddd<br />

ddddddddd -ddddd<br />

−rw−r−−r−− 1 root root 69599 Mar 8 12:25 x<br />

dddddd dddddd<br />

drwxr−xr−x 2 root root 4096 Aug 2 2006 bin<br />

ddddd<br />

dddddddbddddd<br />

brw−rw−−−− 1 root disk 3, 1 Jan 30 2003 /dev/hda1<br />

ddddddddcddddd<br />

crw−−−−−−− 1 root root 4, 1 Jul 31 13:49 /dev/tty1<br />

ddddddddddddddddddddd lddddd<br />

lrwxrwxrwx 1 root root 11 Sep 30 2008 c −> /mnt/c<br />

dd file ddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 25 / 173


dddd<br />

ddddddddddddddddddddddddddddddd<br />

ddddddASCIIdddd<br />

ddddddddddddddddddddddddddddd<br />

ddddddd<br />

dddddddddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 26 / 173


dddd<br />

dddddInode/ddddddddddddddddddddd<br />

dddddddddd<br />

InodedddInodedddddInodeddddddddddd<br />

ddddddddddddddddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 27 / 173


ddddd<br />

ddddddddd<br />

dddddd/d˜dddd/home/hmli/linux<br />

ddddddd/d˜ddddddddd/home/hmliddd<br />

linuxdddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 28 / 173


dddddd<br />

lsddddddddd<br />

pwddddddddddd<br />

cdddddddddd<br />

mkdirddddddd<br />

rmdirddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 29 / 173


dddddddls<br />

lsdddddddddddddddddddddddddd<br />

ls [OPTION]... [FILE]...<br />

ddddddddddddddddddddddddddddd 5 d<br />

-addddddddddddddd.dddddddddddd<br />

ddddddd.ddddddd..d<br />

-ldddddddddddddddddddddddddddd<br />

ddddddddddddddddddd<br />

-Rddddddddddddddddddddddddd<br />

-tddddddd<br />

-Sddddddd<br />

-rddddd<br />

–color[=WHEN]dddddddddddddddddWHENd<br />

ddalwaysddd neverdauto<br />

5 dddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 30 / 173


dddddddlsdd<br />

ddddddddddddddddddddd<br />

$ ls −la<br />

✞<br />

total 16<br />

drwxr−xr−x 4 root root 4096 Jan 1 11:28 .<br />

drwxr−x−−− 11 root root 4096 Jan 1 11:27 . .<br />

drwxr−xr−x 2 root root 4096 Jan 1 11:27 dir1<br />

drwxr−xr−x 2 root root 4096 Jan 1 11:28 dir2<br />

✡✝<br />

dddddddddvddddddddddd<br />

$ ls /boot/v∗<br />

✞<br />

−rw−r−−r−− 1 root root 2078016 Nov 17 09:28 vmlinuz−2.6.31−hmli<br />

−rw−r−−r−− 1 root root 2138528 Dec 8 11:11 vmlinuz−2.6.32−hmli<br />

✡✝<br />

✆<br />

✆<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 31 / 173


dddddddddpwd<br />

pwddddddddddddddddddddddddddddd<br />

$ pwd<br />

✞<br />

/home/hmli<br />

✡✝<br />

ddddPWDddddddddOLDPWDdddd cdddddd<br />

dddddddddddddechoddddddd<br />

$ echo $PWD<br />

$ echo $OLDPWD<br />

✆<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 32 / 173


dddddddddcd<br />

cdddddddddddddddddddddddcd [−L|−P] [dir]<br />

dddddddd<br />

cd dirnamedddddddirnameddd<br />

cd ˜usernameddddd usernamedddd<br />

cd ˜/dirnameddddddddddddddirnameddd<br />

cd −dddddddddddddddd<br />

cd ..dddddddd<br />

cd ../..dddddddd<br />

cdddddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 33 / 173


dddddddmkdir<br />

mkdirdddddddddddd<br />

mkdir [OPTION]... DIRECTORY...<br />

dddddd<br />

-pdddddddddddddddddddddddddddd<br />

dddd $ mkdir −p 1/2<br />

-mddddddddddddddddddddddddchmod<br />

dddddd $ mkdir −m 700 3<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 34 / 173


dddddrmdir<br />

rmdirdddddddddddddddddddddddd<br />

rmdir dirnameddd dirnamedd<br />

-pdddddddddddddddddddddddddddd<br />

ddddddd $ rmdir −p 1/2<br />

rmdirddddddddddddddrmdd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 35 / 173


dddddd<br />

ddddddddddddddddddddd<br />

cpdddddddd<br />

mvdddddddddd<br />

rmdddddddd<br />

lnddddddddd<br />

finddddddddd<br />

locatedddddddd<br />

whichdddddddd<br />

touchdddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 36 / 173


ddddddddcp<br />

cpdddddddddddddddddddddddddddddd<br />

ddddddddddddddddddddddd<br />

cp [OPTION]... SOURCE DEST<br />

ddddd<br />

-addddddddddddddddd<br />

-fddddddddddddddd<br />

-idddddddddddddddddddddddddddd<br />

ddddddd<br />

-pdddddddddddddddddddddd<br />

-rdddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 37 / 173


dd/ddddddmv<br />

mvdddddddddddddddddddddddddddd<br />

mv [OPTION]... SOURCE DEST<br />

ddddd<br />

-idddddddddddddddddddddddddddd<br />

ddddddd<br />

-fddddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 38 / 173


ddddddddrm<br />

rmdddddddd 6 ddddddd<br />

rm [OPTION]... FILE...ddddd<br />

-fddddddddddddddd<br />

-idddddddddddddddddd<br />

-rddddddddddd<br />

dddddd-ddddddd‘-foo’ddddddddddd<br />

rm −− −foo<br />

rm ./−foo<br />

dddddcpdmvdddddddddddddddddd<br />

6 ddddddddddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 39 / 173


dddddddddln<br />

lndddddddddddddd<br />

ddddddddddddddddddddddddddddd<br />

dddddddddddddd<br />

dddddddddddddddddddddddddddd<br />

ddddddddddddd<br />

dddddd<br />

ln [options] source [dest]<br />

ddddd<br />

-dddddddddddd<br />

-fddddddddddd<br />

-idddddddddddddddd<br />

-sddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 40 / 173


dddddfind<br />

findddddddddddddddddddddddd<br />

find [−H] [−L] [−P] [−D debugopts] [−Olevel] [path...] [expression]<br />

pathddddddddddddddddddddddddddd<br />

dd<br />

expressiondddddddddddddddddddddddd<br />

dddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 41 / 173


finddddd<br />

-atime ndddn*24ddddddddddd<br />

-ctime ndddn*24ddddddddddd<br />

-amin ndndddddddddd<br />

-cmin ndndddddddddd<br />

-emptyddddd<br />

-name nameddddddddddddddddddddd<br />

-iname namedddddddddddddddddddddd<br />

-type xddddddddddddddddxdd<br />

dddddddd<br />

fddddddddd<br />

cddddddddddd<br />

bdddddddddd<br />

pddddddddd<br />

lddddddddd<br />

sdddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 42 / 173


finddd<br />

dd/homedddddd7ddddddddddd<br />

$ find /home −atime +7 −print<br />

dd/usr/srcdddddddcoreddddddddd<br />

$ find /usr/src −name core −exec rm {} \;<br />

dd/homedd.jpgdddddddd100KBdddd<br />

$ find /home −name ”∗.jpg” −size 100k<br />

ddddddddddd755ddddddddddd755d<br />

$ find . −type d ! −perm 755 −exec chmod 755 {} \;<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 43 / 173


dddddddddlocate<br />

dddddddddddddddddddddlocate<br />

ddddddddlibmkl intelddddd$ locate libmkl intel<br />

✞<br />

warning : locate : warning : database /var/lib/slocate/s<br />

locate .db ' is more than 8 days old<br />

/opt/intel/Compiler/11.0/083/mkl/lib /32/libmkl intel .a<br />

/opt/intel/Compiler/11.0/083/mkl/lib /32/libmkl intel . so<br />

/opt/intel/Compiler/11.1/059/mkl/lib /32/libmkl intel .a<br />

/opt/intel/Compiler/11.1/059/mkl/lib /32/libmkl intel . so<br />

✡✝<br />

dddddddddddddddddddddddddddddddddd<br />

dddddddddd 8dddddrootdddd updatedbddddddd<br />

ddddddd<br />

✆<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 44 / 173


ddddddddwhich<br />

whichdddddddddddddddddddmpif90d<br />

$ which mpif90<br />

✞<br />

/opt/mpich2−1.2/bin/mpif90<br />

✡✝<br />

whichdddddddddPATHdddddddddddddddd<br />

ddddddddecho $PATHddddd:dddddddddd<br />

✞<br />

/usr/ local /bin :/ usr/bin :/ bin :/ opt/mpich2−1.2/ bin :/ opt/mpich2/bin<br />

✡✝<br />

✆<br />

✆<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 45 / 173


dddddddddtouch<br />

touchddddddddddddddddddddddddddd<br />

dd<br />

touch [OPTION]... FILE...<br />

ddddd<br />

ddddddddddddddddd<br />

-adddddddd<br />

-cddddddddddddddddddd<br />

-t [[CC]YY]MMDDhhmm[.ss]dddddddddddddddd<br />

$ touch −t 01201500 file1<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 46 / 173


ddddddddd<br />

catdddddddd<br />

pastedddddddddddddddddd<br />

moreddddddd<br />

lessddddddd<br />

headddddddddd<br />

taildddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 47 / 173


ddddddddcat<br />

catddddddddddddddddddddddddddddd<br />

dddddddddddd<br />

cat [OPTION]... [FILE]...<br />

ddddd<br />

-bddddddddddddddddddddddddd1dd<br />

dd<br />

-Eddddddddddd$ddd<br />

-ndddddddddddddddddddddd1dddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 48 / 173


catdd<br />

d catdddddddddddddddddddddddddd<br />

ddddddddddd<br />

$ cat dddddddddddddddddddddddddd<br />

dddddddd<br />

dddddd>dddd file1dfile2dddddddddd<br />

file3d<br />

$ cat file1 file2 > file3<br />

dddfile3ddddddddddddddd<br />

dddddddddddd >>dd >dddddddddddd<br />

ddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 49 / 173


dddddddpaste<br />

pastedddddddddddddddddddddddd<br />

paste [OPTION]... [FILE]...<br />

ddddd<br />

-d, –delimiters=LISTddLISTddTABs<br />

-s, –serialddddddddddd<br />

ddd<br />

file1dddddd file2dddddd<br />

✞<br />

1 a<br />

2 b<br />

3 c<br />

✡✝<br />

ddpaste file1 file2dddd<br />

✞<br />

1 a<br />

2 b<br />

3 c<br />

✡✝<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 50 / 173<br />

✆<br />


dddddddmore<br />

moredddddddddddddddddddddddddddd<br />

dddddddddddddd<br />

more [−dlfpcsu] [−num] [+/pattern] [+linenum] [file ...]<br />

ddddd<br />

+/ddddddddddddddddddddddd<br />

dddddddd<br />

+ddddddddddd<br />

-nddddddnd<br />

-cdddddddddddddddd<br />

ddddd<br />

ddddd<br />

/patternddddd patternddd<br />

vdddddddddd<br />

ddddd<br />

qddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 51 / 173


moredd<br />

dddfile1dddd123ddddddddddddddddd<br />

$ more +/123 file1<br />

ddddfile1ddddd 10dddddddddddddddd<br />

$ more −c −10 file1<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 52 / 173


dddddddless<br />

lessdd moreddddddddddddddddlessdddddd<br />

dddddddddddddddddddddddddddddd<br />

ddddddqddddddddvddddddddddddddd<br />

dddddddddddddd lessdman lessdddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 53 / 173


dddddddddhead<br />

headdddddddddddddddddd10dddddddd<br />

head [OPTION]... [FILE]...<br />

-c NddddNddd<br />

-n NddddNd<br />

-Ndddd Ndddd<br />

$ head −20 file<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 54 / 173


ddddddddddtail<br />

taildddddddddddddddddd10dddddddd<br />

tail [OPTION]... [FILE]...<br />

ddddd<br />

-c NddddNddd<br />

-n NddddNd<br />

-Ndddd Nd<br />

-fdddddddddddddddddddddddddddd<br />

dddddddddddddddd<br />

$ tail −f myjob.log<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 55 / 173


dddddddddcommddiff<br />

commdddddddddddd<br />

diffdddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 56 / 173


dddddddddddcomm<br />

commdddddddddddddddddddddddddddd<br />

dddd<br />

comm [OPTION]... FILE1 FILE2<br />

OPTIONdddd<br />

-1dddddddddddddddd<br />

-2dddddddddddddddd<br />

-3dddddddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 57 / 173


commdd<br />

file1dddddd<br />

✞<br />

file2dddddd<br />

main ( main (<br />

{ {<br />

printf(”Hello !\n”);<br />

} }<br />

✡✝<br />

printf(”Good!\n”);<br />

d commdddddddddddddddddddddd<br />

comm −12 file1 file2<br />

✞<br />

main (<br />

✡✝<br />

{<br />

}<br />

✆<br />

✆<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 58 / 173


ddddddddddddiff<br />

diffdddddddddddddddddddddddddd<br />

diff [OPTION]... FILES<br />

ddddd<br />

-cddddddddddddddd<br />

-C ndddddddddddnddd<br />

-rdddddddddddddddddddddd<br />

dddddddddd<br />

n1 a n3,n4<br />

n1,n2 d n3<br />

n1,n2 c n3,n4<br />

a-dddd-dddc-dd<br />

adddcddddddddddddddddddddddddd<br />

dd<br />

dddn1 a n3,n4dddddddddddddddddddddn1<br />

dddddddddddddn3dn4dddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 59 / 173


diffdd<br />

file1dddddd<br />

✞<br />

file2dddddd<br />

1main () 1 main ()<br />

2{ 2 {<br />

3 printf (” Hello !\n”); 3 int n,m;<br />

4} 4 n=10;<br />

5 5 printf(”%d\n” ,m=n∗10);<br />

6}<br />

✡✝<br />

ddddd<br />

$ diff file1 file2<br />

dddd<br />

✞<br />

3 ,5c 3 ,6<br />

5 printf(”%d\n” ,m=n ∗10);<br />

>6}<br />

✡✝<br />

✆<br />

✆<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 60 / 173


dddddd<br />

chmodddddddddddddd<br />

chownddddddddd<br />

chgrpddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 61 / 173


dddddddd<br />

ddddd<br />

✞<br />

rwx rwx rwx<br />

user group others<br />

✡✝<br />

✆<br />

ddddd<br />

rddddddddd<br />

wddddddddd<br />

xddddddd<br />

ddd<br />

rddddddddddd<br />

wdddddddddddddd<br />

xdddddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 62 / 173


dd<br />

dddd<br />

dddddddd<br />

user group others<br />

dd rwx rw- r–<br />

ddd 111 110 100<br />

ddd 7(4+2+1) 6(4+2+0) 4(4+0+0)<br />

ddd−rw−r−−r−− 644<br />

ddddrwxr−xr−x 755<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 63 / 173


dddddddchmod<br />

chmodddddddddddddddddddd<br />

chmod [OPTION]... MODE[,MODE]... FILE...<br />

MODEddd<br />

uddddddd<br />

gdddddd<br />

oddddd<br />

addddd<br />

+ddddd<br />

-ddddd<br />

=dddddddddddddd<br />

ddddd<br />

-vdddddddddddd<br />

-cddd -vddddddddd<br />

-Rddddddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 64 / 173


chmoddd<br />

dddfiledddddddddddd<br />

$ chmod 777 file<br />

ddddddfiledddddddddddd<br />

$ chmod 644 file<br />

ddddddddd<br />

$ chmod a+w file<br />

dddddddddddddddd<br />

$ chmod o−wr,g−wr file<br />

ddddddddddd<br />

$ chmod o=r file<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 65 / 173


dddddddumask<br />

ddumaskdddddddddddddddddd<br />

umask [−p] [−S] [mode]<br />

modedchmodddddddddmode d lsddddddddddd<br />

ddd777-lsddd<br />

ddddddddddddddddumask 077dddddddddd<br />

ddd−rw−−−−−−− 600<br />

ddddrwx−−−−−− 700<br />

dddddddddddddddddShelldddddddddd<br />

bashd˜/.bashrc<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 66 / 173


dddddddddchown<br />

chowndddddddddddddddddd 7 ddddddd<br />

chown [OPTION]... [OWNER][:[GROUP]] FILE...<br />

ddddd<br />

-vddddddddddd<br />

-cddd -vdddddddddd<br />

-Rddddddddddddddd<br />

ddddddddddddddhmlidhmlidddddnicdd<br />

$ chown −R hmli:nic dirname<br />

7 dd rootddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 67 / 173


dddddddchgrp<br />

chgrpddddddddddddddddddd 8 ddddddd<br />

chgrp [OPTION]... GROUP FILE...<br />

ddddd<br />

-vdddddddddddddddd<br />

-cddd -vdddddddddd<br />

-rddddddddddddddddddddddd<br />

8 dd rootddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 68 / 173


9 dddd<br />

(ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 69 / 173<br />

1 <strong>Linux</strong>dddddd<br />

2 ddddd<br />

3 ddddd<br />

4 dd<br />

5 <strong>Linux</strong>dd<br />

6 Shelldd<br />

7 VI/VIMdddddd<br />

8 dddddd


dd<br />

dddd<br />

dddd<br />

dddddd<br />

dddd<br />

nohup<br />

dddd<br />

dddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 70 / 173


dddd<br />

dddddddddddddddddd<br />

<strong>Linux</strong> ddddddddddddddddPIDdddddddd<br />

ddddddddddddPPIDddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 71 / 173


dddddddd<br />

dddddddddd<br />

dddddddddddddddddd<br />

ddddddddddddddddddddd<br />

ddddddddddddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 72 / 173


ddddddd<br />

dddPIDd ddddPPIDd<br />

201 1<br />

206 201<br />

207 206<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 73 / 173


dddddps<br />

psddddddddddddddddddddddps [options]<br />

ddddd<br />

-addddddd ttydddddddddd<br />

-fdddddddddd<br />

-rddddddddddd<br />

-o formatdddddddd<br />

-udddddddddd<br />

-xddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 74 / 173


psdd<br />

dddddddddddd<br />

$ ps −e<br />

$ ps −ef<br />

$ ps −eF<br />

$ ps −ely<br />

d BSDdddddddd<br />

$ ps ax<br />

$ ps axu<br />

dddddd<br />

$ ps −ejH<br />

$ ps axjf<br />

ddddddd<br />

$ ps −eLf<br />

$ ps axms<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 75 / 173


psdd<br />

ddddddddd<br />

$ ps −eo euser,ruser,suser,fuser,f,comm,label<br />

$ ps axZ<br />

$ ps −eM<br />

dddd rootdddddddd<br />

$ ps −U root −u root u<br />

ddddddddddddd<br />

$ ps −eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm<br />

$ ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm<br />

$ ps −eopid,tt,user,fname,tmout,f,wchan<br />

dd syslogddddddd<br />

$ ps −C syslogd −o pid=<br />

ddddddPIDdd 42dddddd<br />

$ ps −p 42 −o comm=<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 76 / 173


ddddddpstree<br />

pstreeddddddddddddddpstree [OPTIONS]<br />

ddddd<br />

-addddddddddd<br />

-hdddddddddddddd<br />

-ndddddddddd<br />

-pdddddddddd<br />

ddddd<br />

✞<br />

init−+−acpi fakekeyd<br />

|−atd<br />

|−avahi−daemon−−−avahi−daemon<br />

|−console−kit−dae−−−63∗[{console−kit−dae}]<br />

|−cron<br />

|−fail2ban−server −−−4∗[{fail2ban−server }]<br />

|−gdm−−−gdm−+−Xorg<br />

| '−x−window−manage−+−2∗[FvwmAuto]<br />

| |−FvwmIconMan<br />

| |−FvwmPager<br />

| |−FvwmTaskBar<br />

| |−firefox −bin−+−mplayer−−−mplayer<br />

| | '−9∗[{ firefox −bin }]<br />

| '−ssh−agent<br />

✡✝<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 77 / 173<br />


dddddkilldkillalldpkillddd<br />

killd killalldpkillddddddddd<br />

ddddd<br />

ctrl−c<br />

kill<br />

killall<br />

pkill<br />

ddddd<br />

kill<br />

killall<br />

pkill<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 78 / 173


dddd<br />

dddddddddddddd<br />

$ ps −f<br />

✞<br />

UID PID PPID ···TTY ···COMMAND<br />

hmli 206 201 ···1 ··· bash<br />

hmli 209 206 ···1 ···vim x. txt<br />

✡✝<br />

ddddddddddddddd<br />

ddddddddddkill 206<br />

dddddd9dddddddddkill −9 206<br />

ddddvimd killall vim<br />

ddddvimdpkill vim<br />

✆<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 79 / 173


dddddddddddddnohupd&<br />

dddddddddddddddddddddddddddnohupd<br />

dddddddddddddnohup COMMAND [ARG]...<br />

$ nohup ls −R l > out &<br />

$ nohup ls −R l &<br />

ddddddddddd&ddddddddddddd<br />

$ ./myprog >myprog.log &<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 80 / 173


ddddddddddddfgdbg<br />

ddddddd&ddddddddddddddddShelldd<br />

dddddddddddbgdddddddddddddd<br />

dddddddddd fgd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 81 / 173


dddddddddtop<br />

topdddddddddddddCPUddddddddddddd<br />

top −hv | −bcHisS −d delay −n iterations −p pid [, pid ...]<br />

ddddd<br />

-bddddddddddddddddddddddddddd<br />

-d delaydddddddddddd<br />

-nddddddd<br />

-u|U usernameddddusernameddddd<br />

-p PID,PIDdddddddddddd<br />

ddddddddtopddddddd<br />

1ddd1ddddd CPUdddd<br />

hdddddddddddddddd<br />

cdddddddddd<br />

d|sddddddddd<br />

F|Oddddddd<br />

n|#dddddddddd<br />

Mddddd/SWAPdddddd<br />

qddd<br />

zddddddddd<br />

dddIBM AIXddd topasdHP UXdtopdglance<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 82 / 173


dddddddatedcal<br />

dddddddddddddddated<br />

ddddddd$ date<br />

ddddddddd$ date +%Y−%m−%d\ %H:%M:%S<br />

ddddddddddddd<br />

✞<br />

#!/bin/bash<br />

#Program: son−age<br />

# Author: HM Li <br />

# Date: 09−10−05<br />

#Comment:dddddddddd<br />

BIRTH=$(date −d ”2009−08−25 13:56:00” +%s)<br />

NOW=$(date −d ”$(date +%Y−%m−%d %H:%M:%S)” +%s)<br />

AGE=$(($(($NOW − $BIRTH))/3600/24))<br />

echo −eddd”\e[35;1m$AGE\e[0m”dd<br />

✡✝<br />

✆<br />

dddd cald<br />

ddddddddd$ cal<br />

dd2012dddddddd$ cal 2012<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 83 / 173


dddddddddtime<br />

dd timeddddddddddddddddddddddddddddd<br />

dddddddddddddddddddddddddddddddd<br />

CPUddddCPUdddd userdsysduserddddddddddddd<br />

dddddddddddddsysddddddddddddddddddd<br />

ddddddd<br />

user+sysdddddddddddd CPUdddddddddddd CPU<br />

dddddddddddddddddddddddddddddddddd<br />

dddddddddddddddddddddddddddddddddd<br />

ddddd CPUdddddddddd<br />

ddddddddddddddd CPUdddddddddd<br />

real−(user+sys)<br />

ddddddddddddddddd<br />

real∗number of processors−(user+sys)<br />

ddd<br />

$ time ./myprog<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 84 / 173


dddclear<br />

cleardddddddddddddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 85 / 173


ddddddddreset<br />

ddddddddddddddddddddd resetddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 86 / 173


dddddddecho<br />

ddechodddddddddddddddddddddddddd<br />

ddddecho [SHORT−OPTION]... [STRING]...<br />

-nddddddddddddddd<br />

-edd \ddddddd\ddddd<br />

-Edddd\ddddddddd<br />

ddddd<br />

$ echo $LD LIBRARY PATH<br />

$ echo ”This is a command.”<br />

$ echo This is a command.<br />

$ echo −n ”Enter data−>”<br />

$ echo −e ”\e[35;1mPATH\e[0m”=$PATH<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 87 / 173


dddddddgrep<br />

grepdddddddddddddddddd<br />

grep [OPTIONS] [−e PATTERN | −f FILE] [FILE...]<br />

ddddddddddddddddddddddddddd<br />

ddddddddddddd<br />

ddddd<br />

–color[=WHEN]dWHENddneverdalwaysdautoddddd<br />

dddddGREP COLORdddddddd<br />

-cddddddddddddddd<br />

-e PATTERNddddddddddd<br />

-idddddddd<br />

-nddddddddd<br />

-vdddddddd<br />

-ldddddddddddddd<br />

ddddd<br />

dddddddddvimdddd$ ps axu | grep vim<br />

dddddddddsubroutined .f90 ddd<br />

$ grep −i subroutine ∗.f90<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 88 / 173


<strong>Linux</strong>dWindows ddddddddos2unixdunix2dos<br />

dddddddddWindows(DOS)ddddddd\r\ndddddddd<br />

dd<strong>Unix</strong>/<strong>Linux</strong>dddd\nddddddddddddddddddddd<br />

dddddddddddddddddd dos2unix|fromdosd<br />

unix2dos|todosddddddddd tofrodosdddddddddddddd<br />

$ file filename<br />

✞<br />

filename : ISO−8859 text<br />

✡✝<br />

✆<br />

ddd Windowsddd<br />

$ unix2dos filename<br />

$ file filename<br />

✞<br />

filename : ISO−8859 text , with CRLF line terminators<br />

✡✝<br />

ddd <strong>Linux</strong>ddd<br />

$ dos2unix filename<br />

$ file filename<br />

✞<br />

filename : ISO−8859 text<br />

✡✝<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 89 / 173<br />

✆<br />


ddddddddddwc<br />

wcdddddddddddddddddwc [OPTION] filename<br />

ddddd<br />

-cddddddd<br />

-ldddddd<br />

-wdddddd<br />

dd/etc/passwddddd<br />

$ wc −l /etc/passwd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 90 / 173


dddddseq<br />

seqddddddddddddddddddddddddddddd<br />

dddddd<br />

seq [OPTION]... LAST<br />

seq [OPTION]... FIRST LAST<br />

seq [OPTION]... FIRST INCREMENT LAST<br />

ddddd<br />

-f, –format=FORMATddddd<br />

-s, –separator=STRINGdd STRINGdddddddd\\n<br />

-wddddd<br />

ddddddd<br />

$ seq 6 12<br />

$ seq −w 6 12<br />

$ seq 6 0.5 12<br />

$ seq −s , 6 12<br />

dddddtest01.dat-test10.datdddddd<br />

$ for i in $(seq −w 1 10);do touch test−$i.dat;done<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 91 / 173


dddddddping<br />

pingddddddddddddddddddddd<br />

$ ping 202.38.64.1<br />

✞<br />

PING 202.38.64.1 (202.38.64.1) from 202.38.64.1 : 56(84) bytes of data .<br />

64 bytes from 202.38.64.1: icmp seq=1 ttl =255 time=0.092 ms<br />

64 bytes from 202.38.64.1: icmp seq=2 ttl =255 time=0.022 ms<br />

64 bytes from 202.38.64.1: icmp seq=3 ttl =255 time=0.020 ms<br />

64 bytes from 202.38.64.1: icmp seq=4 ttl =255 time=0.019 ms<br />

−−− 202.38.64.1 ping statisti cs −−−<br />

4 packets transmitted , 4 received , 0% loss , time 2997ms<br />

rtt min/avg/max/mdev = 0.019/0.038/0.092/0.031 ms<br />

✡✝<br />

ddddddddddddddddddddddddddddddd<br />

dddddddddpingd<br />

✆<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 92 / 173


dddddddtraceroute<br />

tracerouteddddddddddddddddddddddddd<br />

$ traceroute www.g.cn<br />

✞<br />

traceroute : Warning : www. g . cn has multiple addresses ; using 203.208.37.104<br />

traceroute to www. g . cn (203.208.37.104) , 30 hops max, 46 byte packets<br />

1 local−gw (202.38.64.126) 0.241 ms 0.180 ms 0.188 ms<br />

2 wlt (202.38.64.59) 0.165 ms 0.145 ms 0.135 ms<br />

3 210.45.224.251 (210.45.224.251) 1.644 ms 0.768 ms 0.757 ms<br />

4 202.112.53.225 (202.112.53.225) 0.488 ms 0.697 ms 0.644 ms<br />

5 ∗ ∗ ∗<br />

✡✝<br />

dddddddddddddddd202.112.53.225dddddddd<br />

ddd<br />

✆<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 93 / 173


dddddddfinger<br />

fingerddddddddddddddddddddddddddd<br />

dddddddShellddddddddddddddddd<br />

finger [−lmsp] [user ...] [user@host ...]<br />

ddd<br />

$ finger hmli<br />

✞<br />

Login: hmli<br />

Name: Li HuiMin<br />

Directory : /home/nic/hmli<br />

Shell : /bin/bash<br />

Office : hmli@ustc . edu . cn<br />

On since Wed Dec 16 19:38 (CST) on pts/10 from 202.38.64.91<br />

On since Wed Dec 16 19:39 (CST) on pts/11 from 124.16.151.106<br />

3 seconds idle<br />

No mail .<br />

No Plan .<br />

✡✝<br />

✆<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 94 / 173


dddddddman<br />

manddddddddddddddddddddddddddddd<br />

ddddddd<br />

NAMEddddddddd<br />

SYNOPSISdddddddddddddddddddddddddd<br />

dddddddd [ ]ddddddddd [ ]dddddd|dddd<br />

ddwho [OPTION] ··· [ FILE — ARG1 ARG2 ]<br />

DESCRIPTIONdddddddddddddddddd<br />

OPTIONddddddddddddddddd<br />

ddddd<br />

[section]dddd[section]dddddddd[section]dmandd<br />

dddddd1dddd1PdPosixddd2dddddd3ddd<br />

dd3PdPosixddd4dddddd5ddddddddd6dd<br />

dd7ddddddd8dddddddd9ddddd<br />

-addddd [section]dddd<br />

-Lddddddddddddd $ man −L zh CN.GBK man<br />

ddddMANPATHdd manddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 95 / 173


ddinfodddinfo/pinfo<br />

infod pinfodddd info dddddddddman dddddd<br />

pinfod infodddddddddddddddddddd<br />

info [OPTION]... [MENU−ITEM...]<br />

pinfo [options] [infopage]<br />

dddddddddpinfodddddddinfodddddddddd<br />

dddddddddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 96 / 173


ddddddddd–help|-hd<br />

dddddddddddddddddddddd<br />

-h<br />

-help<br />

–help<br />

-H<br />

-?<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 97 / 173


ddddddddddu<br />

dudddddddddddddddddddddddddd<br />

du [OPTION]... [FILE]..<br />

ddddd<br />

-hddddddddddd<br />

-sddddddd<br />

du −h /home/hmli/data/<br />

✞<br />

590M /home/hmli/data/surface/old<br />

926M<br />

34M<br />

/home/hmli/data/surface<br />

/home/hmli/data/asem<br />

2.8M /home/hmli/data/line/old<br />

105M<br />

/home/hmli/data/line<br />

1.1G /home/hmli/data/<br />

✡✝<br />

✆<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 98 / 173


ddddddddf<br />

dfddddddddddddddddddddddddddddd<br />

dddddddd<br />

df [OPTION]... [FILE]...<br />

ddddd<br />

-B Block-Sizeddddddddd<br />

-hddddddddddddd1Kd234Md2Gd<br />

-Hdd 1000ddd 1024dddd<br />

-Tddddddddd<br />

-lddddddddddddddNFSddddddd<br />

ddd<br />

$ df −h<br />

✞<br />

Filesystem Size Used Avail Use% Mounted on<br />

/dev/sda1 19G 17G 790M 96% /<br />

tmpfs 442M 0 442M 0% / lib / init /rw<br />

udev 10M 284K 9.8M 3% /dev<br />

tmpfs 442M 0 442M 0% /dev/shm<br />

/dev/sda2 92M 31M 57M 35% /boot<br />

/dev/sda4 73G 60G 8.8G 88% /home<br />

✡✝<br />

✆<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 99 / 173


dddddddScreen<br />

ddddddddSSHdtelentddddd<strong>Linux</strong>ddd<br />

ddddddddddddddddddddddddddddftp<br />

dddd<br />

ddddddddddddddddddddddddddddd<br />

ddddddddddddddddddddddddddddd<br />

ddddddddddddddddddddddddddddd<br />

ddddddddddddGNU ScreenddScreendddddddd<br />

ddddddddddddddddddddddddddddddd<br />

dd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 100 / 173


screendd<br />

dddd<br />

dd Screendddddddddddddddddddddddddd<br />

dddddddddddddddddddddddddddddddd<br />

ddddddddddddddddddddddddd screen −rdd<br />

ddddddddddddddddddddddddddddd<br />

detachddddddddddddddddddScreenddddddd<br />

ddddddddddddd VNCdddd<br />

ddd<br />

d Screendddddddddddddddddddddddddd<br />

dddddddddddddddddddddddddddddddd<br />

dddddddddddddddddScreenddddddddddd<br />

dddddddddddddddddddddddddddddddd<br />

ddddddddddddddddddddddddddd<br />

dddd<br />

Screendddddddddddddddddddddddddddd<br />

dddddddddddddddddddddddddddddddd<br />

dddddddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 101 / 173


Screendddd<br />

ddddddd screenddddd Screen<br />

screen −rdddddddddScreendddddddddddd<br />

dddddddddd<br />

✞<br />

There are screens on:<br />

here are several suitable screens on:<br />

10219.pts−7.HM Li<br />

10181.pts−7.HM Li<br />

There is no screen to be resumed.<br />

✡✝<br />

(12/15/09 14:34:14) (Detach<br />

(12/15/09 14:34:10) (Detach<br />

dddddd $ screen −r 10181.pts−2.HM Lidddddd<br />

✆<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 102 / 173


screendddddd<br />

dddScreendScreendddddddddddddd<br />

d screen −rdddddddddddddd<br />

ddddd<br />

ddddddd<br />

dddddddShell<br />

dd Shellddd<br />

dddddddShell<br />

dddddddShell<br />

dddddShell<br />

dddScreendd<br />

ddddScreendddShelldddddd exitdddd<br />

Shellddddscreendddddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 103 / 173


dddddddftp<br />

ftpddddddddddddddddddddddddd<br />

ftp [−pinegvd] [host [port]]<br />

dddddd<br />

ftp Host<br />

ftp User@Host<br />

ftp User:Passwd@Host<br />

dddddddd<br />

dddddddls<br />

dd/dddddddget/mput<br />

dd/dddddddput/mget<br />

ddddddddmkdir/rmdir<br />

ddddddelete<br />

ddddddbin<br />

ASCIIdddascii<br />

dddddddopen<br />

dddquitdbye<br />

dddddddddpromptdmputdmgetdddddddddd<br />

ddddddddddddddddd<br />

dddddhelpdhelp CMD<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 104 / 173


ddddddddddlftp<br />

lftpdd ftpdddddddddddddddd<br />

lftp [−d] [−e cmd] [−p port] [−u user[,pass]] [site]<br />

lftp −f script file<br />

lftp −c commands<br />

d ftpdddddddddddd<br />

dddddddmirror<br />

dddddddmirror -R<br />

dddddcatdzcat<br />

ddddddd!CMDddd!ls<br />

dddddddddSlftp ftp://url<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 105 / 173


dddddddwget/curl/axel<br />

wgetdcurldddddddddddddddddddddddddd<br />

ddddddddddddddddddddddddddddd<br />

dddddwget −c http://url<br />

ddhttp://vcd.gro.clinux.org/doc/usr 01.htmld<br />

http://vcd.gro.clinux.org/doc/usr 15.htmld<br />

$ curl −O http://vcd.gro.clinux.org/doc/usr [01−15].html<br />

axelddddddddddddddddddddddddddddd<br />

ddddddddddddd<br />

$ axel −n 2 http://scc.ustc.edu.cn/zh CN/article/46/4b29ea78/4b29ea92.pdf<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 106 / 173


9 dddd<br />

(ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 107 / 173<br />

1 <strong>Linux</strong>dddddd<br />

2 ddddd<br />

3 ddddd<br />

4 dd<br />

5 <strong>Linux</strong>dd<br />

6 Shelldd<br />

7 VI/VIMdddddd<br />

8 dddddd


Shelldd<br />

ddd<br />

ddddddd<br />

dd<br />

ddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 108 / 173


Shelldd<br />

ShelldddddddddddddddddddddddShelld<br />

dddddddddddddddddInteractived<br />

ShelldddddddddddddddddBatchddddddd<br />

ddShelldddScriptddddddddddddShelldddd<br />

dddddddddddddddddd<br />

ShellddddddddddddddddddddddddShell<br />

dddddddddddddddShellddddddddddd<br />

ddddddddddddddddddddddddddddd<br />

Shelldddddd<br />

ddddddddddddddddddddddddddddd<br />

ddddddddddddd<br />

ddddddddddddddddddddddddddddd<br />

dddddddddddddd<br />

ddShellddCshdTcshdKshdBashddddddddBashdd<br />

Shellddddddddd<strong>Linux</strong> Cdddddddd 31. Shellddddd<br />

ddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 109 / 173


Bashdddd<br />

Bashddddddddddddddddddddddddddd<br />

ddddddddddd<br />

/etc/profiledddddddddddddddddddddddd<br />

ddddddd<br />

/etc/bash.bashrcdddddddddddddddddd<br />

/etc/bash.bash.logoutddddddddddddddddddd<br />

˜/.bash profiledddddddddddddddShellddd<br />

˜/.bashrcddddddddddddddddd<br />

˜/.bash logoutdddddddddddddddddd Shelldd<br />

dddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 110 / 173


dddddddddd<br />

ddddddd?<br />

ddddddd*<br />

dddddd[ ] ! [ - ]<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 111 / 173


dddddddd<br />

ddddd0d<br />

ddddd1d<br />

ddddddd2d<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 112 / 173


dddddddd><br />

ddddddcommand < filename<br />

ddddddcommand > filename<br />

ddddddcommand 2> filename<br />

dddddddddddddd<br />

command &>filename<br />

command >&filename<br />

command >filename 2>&1<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 113 / 173


ddd|<br />

dd |dddddddddddddddddddddddddddd<br />

dddddddddddddddddddddddddd<br />

cmd1 | cmd2<br />

dddddddddddddshddddd<br />

$ ps axu | grep sh | wc −l<br />

dddddd |dddddddddddddddddddddddd<br />

ddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 114 / 173


ddddddd<br />

dddddddddddddddddddddddddShell<br />

ddddddddddddddddddddddddddd<br />

$ ls /boot/vdddddddd/bootdd vdddddd<br />

dd<br />

$ passddddddpasswddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 115 / 173


dddaliasdunalias<br />

aliasdddddddddddddddddddd<br />

alias psl='ps aux | grep'ddd psl shddddddps aux | grep sh<br />

ddddddddddShelldddddddddddddddddd<br />

ddddd˜/.bashrcdddddd<br />

ddddddd unaliasddd unalias psl<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 116 / 173


˜/.bashrcdd<br />

✞<br />

# ˜/.bashrc : executed by bash(1) for non−login shells .<br />

umask 022<br />

alias ls='ls $LS OPTIONS'<br />

alias ll ='ls $LS OPTIONS −l '<br />

alias la='ls $LS OPTIONS −lA '<br />

alias l='ll '<br />

alias cp='cp −i '<br />

alias mv='mv −i '<br />

alias rm='rm −i '<br />

MPIROOT=/opt/mpich2<br />

export PATH=$PATH:$MPIROOT/bin<br />

export MANPATH=$MANPATH:$MPIROOT/share/man<br />

. /opt/intel/Compiler/11.1/059/ bin/ifortvars .sh ia32<br />

✡✝<br />

dd#ddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 117 / 173<br />


Shelldd<br />

dddddddddddddddddddddd<br />

dddddddddddddddd<br />

ddddddShell dddddddddddddddddddd<br />

dddddd<br />

ddddddShelldddddddddddddddddddd<br />

dddd<br />

Shelldddddddddexportdddddddddddddddd<br />

dddddddddddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 118 / 173


dddd<br />

dddddddddddddenvdddddddddddddddd<br />

ddddddddddddddddddddddddddddddd<br />

dddddddddd<br />

man dddddMANPATH=/opt/intel/Compiler/11.1/059/man/en US:/opt/mpich/share/man<br />

ShelldddSHELL=/bin/bash<br />

dd TERMddTERM=xterm<br />

dddd<br />

LIBRARY PATH=/opt/intel/Compiler/11.1/059/lib/ia32:/opt/intel/Compiler/11.1/059/mkl/lib/32<br />

FortranddddddFPATH=/opt/intel/Compiler/11.1/059/mkl/include<br />

dddUSER=hmli<br />

dddddd<br />

LD LIBRARY PATH=/opt/intel/Compiler/11.1/059/lib/ia32:/opt/intel/Compiler/11.1/059/mkl/lib/3<br />

CddddddCPATH=/opt/intel/Compiler/11.1/059/mkl/include<br />

ddddUSERNAME=hmli<br />

ddddddd<br />

PATH=/opt/intel/Compiler/11.1/059/bin/ia32:/usr/local/bin:/usr/bin:/bin:/opt/mpich/bin<br />

dddddPWD=/home/hmli/tex/linux<br />

dddddLANG=zh CN.GBK<br />

ddddddHOME=/home/hmli<br />

ddddLOGNAME=hmli<br />

ddddddINCLUDE=/opt/intel/Compiler/11.1/059/mkl/include<br />

ddBashddddd ˜/.bashrcdddddexportdddddddd<br />

dddddddbindddddddddddddddddddddd<br />

dddd˜/.bashrcddddexport PATH=$HOME/bin:$PATH<br />

dddddddddddddddddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 119 / 173


dddd<br />

ddddddddddddddddddddddddddddddd<br />

dddd<br />

dddddddddd<br />

VAR=string<br />

dddddddd<br />

unset VAR<br />

ddddd<br />

VAR=$VAR1”xxx”$VAR2<br />

ddddddd<br />

ddddd $dd $VAR<br />

ddddddd<br />

echo $VAR<br />

ddddddddddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 120 / 173


ddddd`d$()<br />

ddd `d$()dddddddddddddddddddddddd<br />

dddDATEddddddddd<br />

DATE=`date`<br />

DATE=$(date)<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 121 / 173


ddddd$(())<br />

$(())dddddddddddddd<br />

VAR=2<br />

SUM=$((VAR+3))<br />

echo $SUM<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 122 / 173


ddddd\<br />

d Cddddd\dShellddddddddddddddddddd<br />

dddddddddddddddddddddddddddddd<br />

dddddd<br />

$ echo $SHELL<br />

$ echo \$SHELL<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 123 / 173


ddddd’d”<br />

d CddddddShellddddddd 'dddd”ddddddd<br />

dddddddddddddd<br />

ddddddddddddddddddddddddd\ddd<br />

ddddddddddddddddddddddddddddd<br />

ddddShellddddddddddddddddddd<br />

ddddddddddddddddddddddddddddd<br />

dddddd<br />

\$ddddddddddd<br />

ddd‘ddddddd<br />

\$dd $dddd<br />

\‘dd ‘dddd<br />

\”dd ”dddd<br />

\\dd \dddd<br />

dddddddddddddddd \ dddddddddddd<br />

ddddd<br />

echo '$SHELL'<br />

echo ”$SHELL”<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 124 / 173


dddddtestd[<br />

dd testd[ddddddddddddddddddddddddd<br />

ddExit Status d 0ddddddddddddddExit Status d 1<br />

ddddCdddddddddddd<br />

dddddddddddddd [dddddddddddddddd<br />

ddddddddddddd $VARd-gtd3d]d [dddddddd<br />

ddddddddddddtestd[ddddddddddddd test<br />

ddddd ]dddd [dddddddddddddddddd<br />

[ -d DIR ] dd DIRdddddddddddd<br />

[ -f FILE ] dd FILEddddddddddddd<br />

[ -z STRING ] dd STRINGdddddddd<br />

[ -n STRING ] dd STRINGdddddddd<br />

[ STRING1 = STRING2 ] dddddddddddd<br />

[ STRING1 != STRING2 ] ddddddddddd<br />

ARG1dARG2dddddddddddd<br />

ddddOPd-eqdddd-neddddd<br />

[ ARG1 OP ARG2 ]<br />

-ltdddd-ledddddd-gtdddd<br />

-geddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 125 / 173


dddddddddd<br />

d Cddddddddddddddddddddddddd<br />

[ ! EXPR ] EXPRdddddddddddddddd!ddddd<br />

[ EXPR1 -a EXPR2 ] EXPR1dEXPR2dddddddddddddddd-addddd<br />

[ EXPR1 -o EXPR2 ] EXPR1dEXPR2dddddddddddddddd-oddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 126 / 173


if/then/elif/else/fidd<br />

d CddddddShelldd ifdthendelifdelsedfidddddd<br />

dddddddddddddddddddddddShellddddd<br />

✞<br />

#! /bin/sh<br />

echo ”Is it morning? Please answer yes or no.”<br />

read YES OR NO<br />

if [ ”$YES OR NO” = ”yes” ]; then<br />

echo ”Good morning!”<br />

elif [ ”$YES OR NO” = ”no” ]; then<br />

else<br />

fi<br />

exit 0<br />

✡✝<br />

echo ”Good afternoon!”<br />

echo ”Sorry, $YES OR NO not recognized. Enter yes or no.”<br />

exit 1<br />

✆<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 127 / 173


case/esacdddd<br />

caseddddd Cdddswitch/casedddesacdd caseddddd<br />

ddCddd casedddddddddddddddddShellddd<br />

caseddddddddWildcarddddddddddddddddd<br />

ddddd ;;ddddddddddddddddddddddd<br />

dddddddd esacdddddddCdddddbreakddd<br />

✞<br />

#! /bin/sh<br />

echo ”Is it morning? Please answer yes or no.”<br />

read YES OR NO<br />

case ”$YES OR NO” in<br />

yes|y|Yes|YES)<br />

echo ”Good Morning!”;;<br />

[nN]∗)<br />

echo ”Good Afternoon!”;;<br />

∗)<br />

echo ”Sorry, $YES OR NO not recognized. Enter yes or no.”<br />

esac<br />

✡✝<br />

✆<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 128 / 173


for/do/donedd<br />

Shellddd forddddd Cddddddddddddddddd<br />

d foreachdddddd<br />

✞<br />

#! /bin/sh<br />

for FRUIT in apple banana pear; do<br />

echo ”I like $FRUIT”<br />

done<br />

✡✝<br />

ddddddnode1dnode100dddddd<br />

✞<br />

#! /bin/sh<br />

for i in $(seq 1 100)<br />

do<br />

done<br />

✡✝<br />

ssh node$i hostname<br />

✆<br />

✆<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 129 / 173


while/do/donedd<br />

whileddddCdddddddddddddddddddddd<br />

✞<br />

#!/bin/bash<br />

#Program: monitor.sh<br />

# Author: HM Li <br />

# Date: 09−12−14<br />

#Comment: Monitor CPU and Memory<br />

while [ 0 ]<br />

do<br />

date<br />

echo −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−<br />

echo ”RUSER PID %CPU COMMAND %MEM SZ”<br />

ps −o ”%u %p %C %c” −o ”%mem,size” −U mgbouc,muxd,heyong | sort −nr −k 5 | head −n 10<br />

sleep 10<br />

done<br />

✡✝<br />

ddddddddddddddddd killddd<br />

✆<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 130 / 173


ddddddddd<br />

dddddddddShelldddddd<br />

$0 ddd Cdd mainddd argv[0]<br />

$1d$2... dddddddddPositional Parameterdd<br />

ddd Cdd mainddd argv[1]dargv[2]...<br />

$# ddd Cdd mainddd argc - 1ddd#ddddddd<br />

$@ dddddd ”1” ”2” ...ddddddforddddindd<br />

$* dddddd ”1”c”2”c. ..dc d Shellddd IFSddddddddddddddd<br />

$? dddddd Exit Status<br />

$$ dd Shelldddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 131 / 173


ddddddshift<br />

ddddddd shiftddddddd shift 3ddddd $4dddd<br />

$1dddd $5dddd $2ddddd $1d$2d$3ddd$0dddd<br />

ddddd shiftddddd shift 1dddd<br />

✞<br />

#! /bin/sh<br />

echo ”The program $0 is now running”<br />

echo ”The first parameter is $1”<br />

echo ”The second parameter is $2”<br />

echo ”The parameter list is $@”<br />

shift<br />

echo ”The first parameter is $1”<br />

echo ”The second parameter is $2”<br />

echo ”The parameter list is $@”<br />

✡✝<br />

✆<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 132 / 173


dd<br />

d CdddddShellddddddddddddddddddddd<br />

ddddddddddd<br />

✞<br />

#! /bin/sh<br />

foo(){ echo ”Function foo is called”;}<br />

echo ”−=start=−”<br />

foo<br />

echo ”−=end=−”<br />

✡✝<br />

dddddddddd {ddddddddddddddddddddddd<br />

dddddddd }ddddddddddddd ;d<br />

ddd foo()ddddddddddddddddddddddddddd foo<br />

dddddddddddddd foodddddddd Shellddddddd<br />

dddddddddddddddShelldddddddddddddddd<br />

dddddddddddddddddddddddddddddddddd<br />

d Cdddd mainddddddddddddddddddddddd<br />

Shelldddddddddddddddddddddddddddddd<br />

dddddddddddddddddddddddd $0d$1d$2dddd<br />

dddddddddddddddddddddddddddddddddd<br />

dddddd $0d$1d$2dddddddddd returndddddd return<br />

ddddddddddddd Exit Statusd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 133 / 173<br />


dddd<br />

ddddddddddddddddddddddddddddddd<br />

ddddddddddddddddddddddddddddddd<br />

ddddddd<br />

✞<br />

#! /bin/sh<br />

is directory ()<br />

{<br />

DIR NAME=$1<br />

if [ ! −d $DIR NAME ]; then<br />

return 1<br />

else<br />

return 0<br />

fi<br />

}<br />

for DIR in ”$@”; do<br />

if is directory ”$DIR”; then :<br />

else<br />

echo ”$DIR doesn't exist. Creating it now...”<br />

mkdir $DIR > /dev/null 2>&1<br />

if [ $? −ne 0 ]; then<br />

echo ”Cannot create directory $DIR”<br />

exit 1<br />

fi<br />

fi<br />

done<br />

✆<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 134 / 173<br />

✡✝


9 dddd<br />

(ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 135 / 173<br />

1 <strong>Linux</strong>dddddd<br />

2 ddddd<br />

3 ddddd<br />

4 dd<br />

5 <strong>Linux</strong>dd<br />

6 Shelldd<br />

7 VI/VIMdddddd<br />

8 dddddd


ddddddddddVIMdEmacs<br />

ddddddddddddddddddd EmacsdddddVIMdd<br />

ddddddddddddddddddddd<br />

VIMddddddddEmacsddddddddddddddd<br />

dddddddddd VIddddddddddddddddd<br />

EmacsddddddddddddddCtrldAltdddddddd<br />

Emacserdddddddddddddddddddddd CtrldAlt<br />

ddddddddddd VIdEmacsddddddddddddddd<br />

dddddd<br />

VIddd edddddVIdddddddddddddddddddd<br />

dddddd<br />

Emacsdddddddddddddddddddddd Emacsddd<br />

ddddddddddd mp3dddddddddddddd<br />

login->Emacs->logoutd:-)<br />

VIdEmacsdddddddddddddddEmacsdddddddd<br />

ddddddd<br />

ddddVIMdd Bram MoolenaarddSeven Habits of Effective<br />

Text Editingdddddddddd<br />

http://124.16.151.186/docs/doc-main.php?dir=linux<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 136 / 173


dddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 137 / 173


VI/VIMddddd<br />

Bram Moolenaar 80dddddddddVIdd Steviedddd<br />

ddVIMd1.0ddddddddddddddVIdddddd<br />

dddVIMdVi IMitationdddddddd1992d1.22ddd<br />

VIMdddddUNIXdMS-DOSddddddddddVIMd<br />

dddddVi IMproveddddddd<br />

VIMdddddddddddddddddddddddddd<br />

ddddddddddddddddddddddddGUIdd<br />

highlightddddddddddddddddddddddddd<br />

ddddddddddddddddddddddddddddd<br />

ddd<br />

dddVIMdddGPLdddddddddddddddddd<br />

dddddddddddddICCFddddddddddddd<br />

ddddVIMdddddd Help poor children in Uganda!dd<br />

ddddddddddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 138 / 173


VI/VIMdd<br />

VI/VIMddddddddddd<br />

ddddddddddddddddddddddddddddd<br />

dddddd<br />

ddddddddddddddddddddddddddddd<br />

dddddddddadidcdoddddddd<br />

ddVIMdd6dddddd5ddddddddddddVIMdVI<br />

ddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 139 / 173


VIMdddd<br />

dddd<br />

dddddddddddddddddddddddddddddddddddddddVIMddddddddddd<br />

dddddddddddddddddddddddddddddddddd<br />

VIMdddddddddddddddddddddddddddddddddddddddddddddddddd<br />

”dd”ddddddddddd ”d”ddddddddddddddddddd”d”ddddddddddd ”j”dd<br />

dddddddddddddddddddddddddd”2dd”ddd”dd”ddddd ”dj”dddddddddd<br />

ddddddddddddd/ddddddddddddddddddddddddddddddddddddddd<br />

dddddddddddddddddd<br />

ddddddddddddddddddddddddddddd”a”dappend/ddddd ”i”dinsert/ddddd<br />

dddd<br />

dddddddddddddddddddddddddddddddddddddddddddddddddddd<br />

dddddddddd dddddddd<br />

dddd<br />

ddddddddddddddddddddddddddddddddddddddddddddddddddddd<br />

dddddddddddddddddddddddddVIMd”dddd”ddddddddddddddddd<br />

dddd<br />

dddddddddddddddddddWindowsddddddddddddddddddddddddddddd<br />

ddddddddddddddddVIMdddddddddddddddddddddddddddd<br />

ddddd<br />

dddddddddddddddddddddddddddddd”:”dddddd”/”d”?”dddddddd<br />

d”!”dddddddddddVIMdddddddddddddddddddddd<br />

Exdd<br />

ddddddddddddddd”:visual”dddd Exddddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 140 / 173


VIMdddd<br />

ddddddd<br />

ddddddddddddddddddddd VIMdddd”dd”d<br />

dddddddVIMdddddddddddddd”dddd”ddd<br />

dddd ”aw”dddd(a word)d”as”dddd(a sentence)d”ap”d<br />

ddd(a paragraph)dddddddddd”d2as”ddddddddd<br />

dddddddd ”apU”dddddddddddd<br />

dddddd<br />

dddddddddddddctrl-odddddddddddddddd<br />

ddddddddddddddVIMdddddd<br />

dddddd<br />

dddddddddddddctrl-oddddddddddddddd<br />

dddddddddddddddVIMddddddd<br />

dddddd<br />

ddddddddddddddddddshiftdddddddddddd<br />

ddddddVIMddddddd<br />

dddd<br />

dddddddddddddddddddddddddddddddd<br />

dddddddddddddddddddddddddddddddd<br />

d ”R”dddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 141 / 173


dd/ddVIM<br />

ddVIM<br />

$ vim file<br />

ddVIM<br />

:qdddddddddddddd<br />

:q!dddddVIMddddddddd<br />

:xddddd VIM<br />

:wqdddddVIM<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 142 / 173


dddd<br />

dddddd :helpdhelp keywordddddddddddddddd<br />

ddddd ||dddddddddddddd


dddd<br />

dddddddddd<br />

ddddd<br />

iddddddddd<br />

Idddddddddd<br />

ddddd<br />

addddddddd<br />

Addddddddd<br />

ddddd<br />

oddddddddddddddddddd<br />

Oddddddddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 144 / 173


dddd<br />

dddddddddd<br />

ddd hjklddddddddddddddddddddddd<br />

↑<br />

<br />

- k<br />

←<br />

Backspace<br />

h<br />

l<br />

→<br />

Space<br />

+ j<br />

<br />

↓<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 145 / 173


dddddd<br />

dddddddddd<br />

dddddˆd0ddddd<br />

ddddd$<br />

dddddd:[dd]ddd[dd]G<br />

dddddddddd[ddd]%dd<br />

dddddd[dd]|<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 146 / 173


dddd<br />

dddddddddd<br />

dddddddddddddddddddd<br />

dddddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 147 / 173


dddd<br />

dddddddddd<br />

dddd<br />

xdnxdddddddddddddd nddd<br />

XdnXdddddddddd nddd<br />

dddddd<br />

ddddddddddd<br />

Dddddddddddddd<br />

dwddddddddddddddddd<br />

d0ddddddddddddd<br />

d5Gddddddddd5ddd<br />

dGdddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 148 / 173


dddd<br />

dddddddddd<br />

rddddddd<br />

Rddddddddddddd<br />

cdddddddddddd<br />

Cdddddddddd<br />

∼ddddddd<br />

guudddddddddd<br />

gUUdddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 149 / 173


ddddddd<br />

dddddddddd<br />

ddd/ddddddd<br />

ddd:[range]s/ddddddd/dddddd/[flags]ddd<br />

[range]d %dddddddddddddd[flag] d gddddd<br />

ddddddddddddddddddddddddddddd<br />

dddddddd2009-01-31d2009-1-3dddddddddd<br />

01/31/2009d 1/3/2009ddd<br />

%s˜\v(\d{4})−(\d{1,2})−(\d{1,2})˜\2/\3/\1˜g<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 150 / 173


ddddddd<br />

dddddddddd<br />

udddddddddddddddddddddddddddd<br />

dddddddd<br />

Uddddddddddddddddd<br />

.ddddddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 151 / 173


dddd<br />

ddddddddddddddddddddddddd<br />

dddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 152 / 173


dddddvimdiff<br />

vim −dddddd vimdiffdddddddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 153 / 173


dddddddddd<br />

ddVIM ddvimdddd<br />

ddddd dadi<br />

dddd dddddddd<br />

ddddd d<br />

dddddddd dd:w filedddd<br />

ddVIM dd:qdddd<br />

gvimdvim −gddddddddVIMdddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 154 / 173


dddd<br />

:mapdddddddddddddddddddddddddd<br />

beamerddddddddddddddd<br />

map :set pasteo\begin{frame}{}\end{frame}2k<br />

d ddddddddddddddddddddddd{}ddd<br />

ddddddd<br />

✞<br />

\begin{frame}{}<br />

<br />

\end{frame}<br />

✡✝<br />

✆<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 155 / 173


VIMdd<br />

VIMdddddddddddddddddddddddddddd<br />

dddddddd<br />

dddddCddddddddddvim myprog.cdddd myprog.c<br />

dddddddddddddddd<br />

✞<br />

/∗<br />

∗ ==================================================================<br />

∗<br />

∗ Filename: myprog. c<br />

∗<br />

∗ Description :<br />

∗<br />

∗ Version : 1.0<br />

∗ Created : 2009d12d16d21d00d15d<br />

∗ Revision : none<br />

∗ Compiler : gcc<br />

∗<br />

∗ Author : YOUR NAME () ,<br />

∗ Company:<br />

∗<br />

∗ =================================================================<br />

∗/<br />

✡✝<br />

✆<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 156 / 173


VIMdd<br />

dddddddd˜/.vimrcddddddVIMddd”ddddd<br />

✞<br />

syntax on ” dddddd<br />

set hlsearch ”dddddddddddd<br />

filetype plugin on ”dddddddddddddCdFortrandddd<br />

filetype indent on ”dddddddddd<br />

set nocompatible ”ddddddddddd<br />

set backspace=indent , eol , start ”ddbackspacedddddddd<br />

set autoindent ”dddddd<br />

set textwidth=0 ”ddddd0dddddddd<br />

set backup ” dddddd<br />

set bdir=˜/tmp/vim ”dddddddddddddddddddddddddddddddddddddddd<br />

set viminfo='20,\”50 ”dddddddddddddd<br />

set history=50 ”dddddddd<br />

set ruler ”dddddddddd<br />

set ts=4 ”tabstopddd tabdd<br />

set sw=4 ”shiftwidthddddddddddddddd<br />

” The following are commented out as they cause vim to behave a lot<br />

” different from regular vi . They are highly recommended though .<br />

set showcmd ”dddd<br />

set showmatch ”dddd<br />

set ignorecase ”ddddd<br />

set incsearch ”dddddddddddddddddddddd<br />

set autowrite ”ddddddddddd<br />

set encoding=2byte−cp936 ”dddddd2byte-cp936dd<br />

let fortran have tabs=1 ”dddddd Fortran 77ddddd tab<br />

✡✝<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 157 / 173<br />


VIMdddddddvimtutor<br />

ddddddvimtutorddddddddVIMdddddddddd<br />

ddddddddddddddddddddddddddddddd<br />

VIMddddddddddddddddddddddddddddd<br />

dddddddddddddddddddddddddddddddd<br />

dddddddddddddddddvimddddddddddddd<br />

dddd<br />

dddddddddddd 25-30ddddddddddddd<br />

dddddddddddddddddddddddddddddddd<br />

dddddd(dddddd”vimtutor”dddddddddddddd<br />

dddd)d<br />

dddddddddddddddddddddddddddddddd<br />

dddddddddddddddddddddddddddddddd<br />

ddddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 158 / 173


9 dddd<br />

(ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 159 / 173<br />

1 <strong>Linux</strong>dddddd<br />

2 ddddd<br />

3 ddddd<br />

4 dd<br />

5 <strong>Linux</strong>dd<br />

6 Shelldd<br />

7 VI/VIMdddddd<br />

8 dddddd


awkdd<br />

awkddddddddd Alfred AhodPeter WeinbergerdBrian<br />

Kernighandddddd<br />

awkd<strong>Unix</strong>/<strong>Linux</strong>dddddddddddddddddddd<br />

awkddddddd SNOBOL4dseddMarc Rochkindddddddd<br />

dddddd yaccdlexddd Cddddddddddddd<br />

awkdddddddddddddddddddd <strong>Unix</strong> Shelldddd<br />

awkdddddddddddddddddddddddddddddd<br />

dddddddddddddddddddddddddd<br />

awkdddddddddddddddddddddddddddddd<br />

ddddddddddddddddddddddddddddddd<br />

dddddddddddddddddddddddddddddddd<br />

ddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 160 / 173


awkdd<br />

awkddddddddd<br />

✞<br />

awk '{pattern + action}' {filenames}<br />

✡✝<br />

✆<br />

patternddawkddddddddddddddddd<br />

actiondddddddddddddddddd<br />

dddd{}dddddddddddddddddddddddd<br />

ddddddddddd<br />

patterndactiondddddd ''ddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 161 / 173


dddawk<br />

✞<br />

awk −F: '{ print $1 }' /etc/passwd<br />

✡✝<br />

✆<br />

dddawkdddddddddddd/etc/passwd dddddd<br />

ddd printddddddddddddddddstdoutd<br />

dddddddddddddddddddCdd<br />

print $1dddddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 162 / 173


seddd<br />

d UNIX/<strong>Linux</strong>dddddddddddddVIdVIMdEmacsdjed<br />

ddddddddddddddddddddddddddddddd<br />

ddddddddddddddddddddddddddddddd<br />

ddddddddddddddddddddddddddddd<br />

ddddddddddddddddddddddddddddddd<br />

ddddddddddddddddddddddddddddddd<br />

ddsed(stream editor for filtering and transforming text)d<br />

sedddddddddUNIX/<strong>Linux</strong>ddddddddddd<br />

ddddddddddddddddddd<br />

sedddddddddddddddddddddddddddd<br />

dddddddddddddddddddddd<br />

ddddddddddddsedddddseddddddshelldd<br />

ddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 163 / 173


GNU sed<br />

d<strong>Linux</strong>dddddddseddddddddGNU sed<br />

ddd<strong>Linux</strong>dddddddddddddGNU sed<br />

GNU sedddddddddddddddddddddddddd<br />

dddddPOSIX seddddddddddd<br />

GNU seddd sedddddddddddddddddddddd<br />

ddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 164 / 173


seddddd<br />

ddddddddddddddddddddddddddddd<br />

ddddddddddddddddd<br />

dddddddddddddstdoutddddddddddd<br />

dddd-iddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 165 / 173


sedd<strong>Unix</strong>/<strong>Linux</strong>dddddd<br />

<strong>Unix</strong>/<strong>Linux</strong>dd seddddd<br />

cat sed ':'<br />

cat -s sed '/./,/ˆ$/!d'<br />

tac sed '1!G;h;$!d'<br />

grep sed '/patt/!d'<br />

grep -v sed '/patt/d'<br />

head sed '10q'<br />

head -1 sed 'q'<br />

tail sed −e ':a' −e '$q;N;11,$D;ba'<br />

tail -1 sed '$!d'<br />

tail -f sed −u '/./!d'<br />

cut -c 10 sed 's/(.){10}.∗/1/'<br />

cut -d: -f4 sed 's /(([ˆ:]∗):){4}.∗/2/'<br />

tr A-Z a-z sed 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'<br />

tr a-z A-Z sed 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'<br />

tr -s ’ ’ sed 's/ +/ /g'<br />

tr -d ’\012’ sed 'H;$!d;g;s/\n//g'<br />

wc -l sed −n '$='<br />

uniq sed 'N;/ˆ(.∗)n1$/!P;D'<br />

rev sed '/\n/!G;s/\(.\)\(.∗\n\)/&\2\1/;//D;s/.//'<br />

basename sed 's ,.∗/,,'<br />

dirname sed 's,[ˆ/]∗$ ,,'<br />

xargs sed −e ':a' −e '$!N;s/\n/ /;ta'<br />

paste -sd: sed −e ':a' −e '$!N;s/\n/:/;ta'<br />

cat -n sed '=' | sed '$!N;s/\n/ /'<br />

grep -n sed −n '/patt/{=;p;}' | sed '$!N;s/\n/:/'<br />

cp orig new sed 'w new' orig[/code:1:739eb4cef5]<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 166 / 173


ddddddgnuplot<br />

Gnuplotddddddddddddddddddddddddddd<br />

dddddddddddddddddddddddddddddd<br />

dddddgnuplotddddddddddddddddddddd<br />

dddddgnuplotdddddddddddddddddddddd<br />

dddddddddddddddddddddddddddddd<br />

ddddddddddddddddddddddddddddddd<br />

dddddddddddddddWYSIWIGdddddddddd<br />

dddddddddddddddddddddgnuplotdddddd<br />

ddddddddddddddddddddddd<br />

Gnuplotdd 1986dd Colin KelleydThomas Williamsdddd<br />

dddddddddddddddddddddddddddddd<br />

1989d1990ddddddddddgnuplot 2.0ddddddd2009<br />

d 9dddd4.2.6d<br />

http://www.ibm.com/developerworks/cn/linux/l-gnuplot/index.html<br />

http://www.gnuplot.info/<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 167 / 173


dddd<br />

dddddddddddddgnuplotdddelectron.demd<br />

✞<br />

A(jw) = ({0,1}∗jw/({0 ,1}∗jw+p1)) ∗ (1/(1+{0,1}∗jw/p2))<br />

p1 = 10<br />

p2 = 10000<br />

set dummy jw<br />

set grid x y2<br />

set key default<br />

set logscale xy<br />

set log x2<br />

unset log y2<br />

set title ”Amplitude and Phase Frequency Response”<br />

set xlabel ”jw ( radians)”<br />

set xrange [1.1 : 90000.0]<br />

set x2range [1.1 : 90000.0]<br />

set ylabel ”magnitude of A(jw)”<br />

set y2label ”Phase of A(jw) ( degrees )”<br />

set ytics nomirror<br />

set y2tics<br />

set tics out<br />

set autoscale y<br />

set autoscale y2<br />

plot abs(A(jw )) , 180/ pi ∗arg (A(jw)) axes x2y2<br />

✡✝<br />

ddd<br />

$ gnuplot electron.dem<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 168 / 173<br />


ddddddGDL-GNU Data Language<br />

dddIDL (Interactive Data Language)dddddddIDL 6.0dd<br />

dddddddddddd gdldd GDLddddddddd<br />

✞<br />

device ,decomposed=1<br />

plot , sin(findgen (360)∗! dtor ) , color='ff00ff ' xl , $<br />

title='Sin(x) ' , xtitle='x ' , ytitle='sin (x) ' , linestyle=2<br />

✡✝<br />

✆<br />

ddddd<br />

device,decomposed=1dddddddddddd<br />

sinddddd<br />

findgen(360)dddddd0ddd 359dddd<br />

!dtorddddddddddd<br />

colordddddd<br />

titleddddd<br />

xtitleddd Xddd<br />

ytitleddd Yddd<br />

linestyleddddddd<br />

dddhttp://gnudatalanguage.sourceforge.net/<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 169 / 173


dddddddd<br />

C/C++dFortranddddGCC<br />

dddmatlabddddoctave<br />

ddddddgelementaldgperiodic<br />

ddddddddddddddddQalculate!<br />

ddddddddddwcale<br />

ddWindowsdwindigdddddddddg3data<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 170 / 173


dd dddd<br />

ddddd<br />

ddBBS <strong>Linux</strong>ddd<br />

http://bbs.ustc.edu.cn/cgi/bbsdoc?board=<strong>Linux</strong><br />

dddddd<strong>Linux</strong>dddddd<br />

http://www.newsmth.net/bbsdoc.php?board=<strong>Linux</strong>App<br />

dddddd<strong>Linux</strong>dddddddd<br />

http://www.newsmth.net/bbsdoc.php?board=<strong>Linux</strong>Dev<br />

<strong>Linux</strong>Sirdhttp://www.linuxsir.org/<br />

China<strong>Unix</strong>dhttp://www.chinaunix.net/<br />

<strong>Linux</strong>ddddddddddd<br />

http://www.linuxsir.org/bbs/showthread.php?t=199479<br />

<strong>Linux</strong>ddddd<br />

http://www.linuxsir.org/bbs/showthread.php?t=204304<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 171 / 173


9 dddd<br />

(ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 172 / 173<br />

1 <strong>Linux</strong>dddddd<br />

2 ddddd<br />

3 ddddd<br />

4 dd<br />

5 <strong>Linux</strong>dd<br />

6 Shelldd<br />

7 VI/VIMdddddd<br />

8 dddddd


dddd<br />

ddddddddd<br />

dddhttp://scc.ustc.edu.cn<br />

ddd0551-3602248<br />

dddsccadmin@ustc.edu.cn<br />

dddddddd<br />

dddddhttp://124.16.151.186<br />

dddddhttp://scc.qibebt.cas.cn<br />

ddd0532-80662613<br />

dddscc@qibebt.ac.cn<br />

dddd<br />

dddhttp://staff.ustc.edu.cn/~hmli/<br />

ddd0532-80662613<br />

dddhmli@ustc.edu.cndlihm@qibebt.ac.cn<br />

dddddddddddd<br />

ddd (ddddddd) <strong>Unix</strong>/<strong>Linux</strong>dddddddd 2009d12d 173 / 173

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!