Unix/Linux
Unix/Linux
Unix/Linux
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