??xml version="1.0" encoding="utf-8" standalone="yes"?>
lLinux划分领地
׃Linux无法安装在Windows的分ZQ所以必d盘中分割出一块领C供Linux使用Q这里推荐用分区术师进行无损分区。ؓ了方便讲qͼq里先D一个实例来说明Q装有Windows XP计算机有一?0GB的硬盘,共分三个区(C盘、D盘、和E盘)Q其中E盘有16.6GBQ有U?GB可用I间Q。我们的目标是将7GB的可用空间剥d来专供Red Hat使用?
1.首先在Windows XP里启动分区魔术师Q从ȝ口可以看到磁盘分区的详细信息。单d侧详l窗格里的分区E以选中它?
2.单击左侧d列表里的“调整一个分区的定w”命令,卛_弹出一个“调整容?Ud分区”对话框?
3.在该对话框的剙有一个条状图表示分区E的用情况,其中左侧的黑色条部分表示已用I间Q右侧的l色条部分表C可用空间。可以用鼠标直接拖曳l色条部分对E盘容量进行调整。很昄QE盘的最容量就是已用空间的定wQ在就要破坏原有数据了Q,减小的容量就成了自有I间?
4.单击“确定”按钮,回到ȝ面,此时我们可以看到新划分出?GB自由I间。接下来的步骤非帔R要。尽这7GB的磁盘空间已l是“自pn”,但是它还是属于Windows的扩展分区,所以要这7GB的自q间从Windows扩展分区里划分出厅R?
5.单击扩展分区以选中它,如图1所C。用cM的方法将q?GB自由I间从Windows扩展DOS分区里划分出厅R现在我们已l从Windows XP的领地里割出一?GB的自q间供Linux专用?
? 自q间从扩展分区里划分出?/center>
注意Q一定要自q间从Windows扩展分区里划分出去,q是因ؓLinux的分区格式和Windowsq不完全兼容。如果Red Hat所使用的磁盘空间属于Windows扩展分区Q就会导致“水土不服”。很多朋友反映装上了Red Hat以后Q发现Windows速度变得奇慢Q就会归咎于Red HatQ其实根本原因在于分区的时候没有将自由I间从扩展分区里剥离出去?
实现Windows与Linux双重引导有多U方法:
?对于h双硬盘的用户Q可以将Linux安装在第二个盘上(Windows自然是安装在W一个硬盘上Q,q且保GRUBQLILOQ安装在W二个硬盘的d导扇区,然后每次开机时在BIOS里指定从哪个盘引导卛_?
?最常用的方法是借助Linux的引D载管理器GRUBQLILOQ,自动接管双重pȝ的启动选单?
?可以借助Windows XP的NT引导E序ntldr、boot.ini来实现双重启动。这U方法的优点是今后删除Linux比较方便Q而且W合我们的用习惯;~点是实现v来相Ҏ较复杂,需要获取Linuxpȝ的引导映像文件?
?可以选择不安装Linux的引D载管理器Q或者不要安装在d导扇区)Q但是要C在安装过E中一定要创徏Linux启动盘。今后需要时Q用q张启动盘引导系l进入Linux?
q里介绍了四U双重系l的实现ҎQ本文将分别介绍比较常见的第二和W三U方法?/p>
]]>
使用权限Q所有用?br />使用方式Qcat [-AbeEnstTuv] [--help] [--version] fileName
说明Q把档案串连接后传到基本输出Q萤q或?> fileName 到另一个档案)
参数Q?br />-n ?--number ?1 开始对所有输出的行数~号
-b ?--number-nonblank ?-n 怼Q只不过对于I白行不~号
-s ?--squeeze-blank 当遇到有q箋两行以上的空白行Q就代换Z行的I白?br />-v ?--show-nonprinting
范例Q?br />cat -n textfile1 > textfile2 ?textfile1 的档案内容加上行号后输入 textfile2 q个档案?br />cat -b textfile1 textfile2 >> textfile3 ?textfile1 ?textfile2 的档案内容加上行PI白行不加)之后内定w加到 textfile3
名称 : cd
使用权限 : 所有用?br />使用方式 : cd [dirName]
说明 : 变换工作目录?dirName?其中 dirName 表示法可为绝对\径或相对路径。若目录名称省略Q则变换至用者的 home directory (也就是刚 login 时所在的目录)?br />另外Q?~" 也表CZؓ home directory 的意思,"." 则是表示目前所在的目录Q?.." 则表C目前目录位|的上一层目录?br />范例 : 跛_ /usr/bin/ :
cd /usr/bin
跛_自己?home directory :
cd ~
跛_目前目录的上上两?:
cd ../..
指o名称 : chmod
使用权限 : 所有用?br />使用方式 : chmod [-cfvR] [--help] [--version] mode file...
说明 : Linux/Unix 的档案存取权限分ZU?: 档案拥有者、群l、其他。利?chmod 可以藉以控制档案如何被他人所存取?br />参数 :
mode : 权限讑֮字串Q格式如?: [ugoa...][[+-=][rwxX]...][,...]Q其中u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群?group)者,o 表示其他以外的hQa 表示q三者皆是?br />+ 表示增加权限? 表示取消权限? 表示唯一讑֮权限?br />r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行?br />-c : 若该档案权限实已经更改Q才昄其更改动?br />-f : 若该档案权限无法被更改也不要昄错误讯息
-v : 昄权限变更的详l资?br />-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
--help : 昄辅助说明
--version : 昄版本
范例 :档?file1.txt 设ؓ所有h皆可d :
chmod ugo+r file1.txt
档?file1.txt 设ؓ所有h皆可d :
chmod a+r file1.txt
档?file1.txt ?file2.txt 设ؓ该档案拥有者,与其所属同一个群体者可写入Q但其他以外的h则不可写?:
chmod ug+w,o-w file1.txt file2.txt
?ex1.py 讑֮为只有该档案拥有者可以执?:
chmod u+x ex1.py
目前目录下的所有档案与子目录皆设ؓM人可d :
chmod -R a+r *
此外chmod也可以用数字来表C权限如 chmod 777 file
语法为:chmod abc file
其中a,b,c各ؓ一个数字,分别表示User、Group、及Other的权限?br />r=4Qw=2Qx=1
若要rwx属性则4+2+1=7Q?br />若要rw-属性则4+2=6Q?br />若要r-x属性则4+1=7?/p>
范例Q?br />chmod a=rwx file和chmod 777 file效果相同
chmod ug=rwx,o=x file和chmod 771 file效果相同
若用chmod 4755 filename可此程式具有root的权?br />指o名称 : chown
使用权限 : root
使用方式 : chmod [-cfhvR] [--help] [--version] user[:group] file...
说明 : Linux/Unix 是多人多工作业系l,所有的档案皆有拥有者。利?chown 可以档案的拥有者加以改变。一般来_q个指o只有是由pȝ理?root)所使用Q一般用者没有权限可以改变别人的档案拥有者,也没有权限可以自q档案拥有者改设ؓ别h。只有系l管理?root)才有q样的权限?/p>
参数:
user : 新的档案拥有者的使用?IDgroup : 新的档案拥有者的使用者群?group)-c : 若该档案拥有者确实已l更改,才显C其更改动作-f : 若该档案拥有者无法被更改也不要显C错误讯?h : 只对于连l?link)q行变更Q而非?link 真正指向的档?v : 昄拥有者变更的详细资料-R : 对目前目录下的所有档案与子目录进行相同的拥有者变?即以递回的方式逐个变更)--help : 昄辅助说明--version : 昄版本
范例 :
档?file1.txt 的拥有者设?users 体的用?jessie :
chown jessie:users file1.txt
目前目录下的所有档案与子目录的拥有者皆设ؓ users 体的用?lamport :
chmod -R lamport:users *
名称Qcp
使用权限Q所有用?br />使用方式Q?br />cp [options] source dest
cp [options] source... directory
说明Q将一个档案拷贝至另一档案Q或数个档案拷贝至另一目录?br />参数
-a 可能将档案状态、权限等资料都照原状予以复制?br />-r ?source 中含有目录名Q则目录下之档案亦皆依序拷贝至目的地?br />-f 若目的地已经有相同档名的档案存在Q则在复制前先予以删除再行复制?br />范例Q?br />档?aaa 复制(已存?Qƈ命名?bbb :
cp aaa bbb
所有的C语言E式拯?Finished 子目录中 :
cp *.c Finished
名称Qcut
使用权限Q所有用?br />用法Qcut -cnum1-num2 filename
说明Q显C每行从开头算?num1 ?num2 的文字?br />范例Q?br />shell>> cat example
test2
this is test1
shell>> cut -c0-6 example ## print 开头算起前 6 个字?br />test2
this i
名称 : find
用法 : find
使用说明 :
档案系l内W合 expression 的档案列出来。你可以指要档案的名U、类别、时间、大、权限等不同资讯的组合,只有完全相符的才会被列出来?br />find Ҏ下列规则判断 path ?expressionQ在命o列上W一?- ( ) , ! 之前的部份ؓ pathQ之后的?expression。如?path 是空字串则用目前\径,如果 expression 是空字串则?-print 为预?expression
expression 中可使用的选项有二三十个之多,在此只介l最常用的部份?br />-mount, -xdev : 只检查和指定目录在同一个档案系l下的档案,避免列出其它档案pȝ中的档案
-amin n : 在过?n 分钟内被dq?br />-anewer file : 比档?file 更晚被读取过的档?br />-atime n : 在过?n 天过dq的档案
-cmin n : 在过?n 分钟内被修改q?br />-cnewer file :比档?file 更新的档?br />-ctime n : 在过?n 天过修改q的档案
-empty : I的档案-gid n or -group name : gid ?n 或是 group 名称?name
-ipath p, -path p : 路径名称W合 p 的档案,ipath 会忽略大写
-name name, -iname name : 档案名称W合 name 的档案。iname 会忽略大写
-size n : 档案大小 ?n 单位Qb 代表 512 位元l的区块Qc 表示字元敎ͼk 表示 kilo bytesQw 是二个位元组?type c : 档案cd?c 的档案?br />d: 目录
c: 字型装置档案
b: 区块装置档案
p: 具名贮列
f: 一般档?br />l: W号q结
s: socket
-pid n : process id ?n 的档?/p>
你可以?( ) 运式分隔Qƈ使用下列q算?br />exp1 -and exp2
! expr
-not expr
exp1 -or exp2
exp1, exp2
范例:
目前目录及其子目录下所有g伸档名是 c 的档案列出来?br /># find . -name "*.c"
目前目录其其下子目录中所有一般档案列?br /># find . -ftype f
目前目录及其子目录下所有最q?20 分钟内更新过的档案列?br /># find . -ctime -20
名称Qless
使用权限Q所有用?br />使用方式Q?br />less [Option] filename
说明Q?br />less 的作用与 more 十分怼Q都可以用来览文字档案的内容,不同的是 less 允许使用者往回卷?br />以浏览已l看q的部䆾Q同时因?less q未在一开始就d整个档案Q因此在遇上大型档案的开启时Q会比一般的文书~辑??vi)来的快速?/p>
范例Q?br />指o名称 : ln
使用权限 : 所有用?br />使用方式 : ln [options] source distQ其?option 的格式ؓ :
[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}]
[--help] [--version] [--]
说明 : Linux/Unix 档案pȝ中,有所谓的q结(link)Q我们可以将其视为档案的别名Q而连l又可分ZU?: 连l?hard link)与Yq结(symbolic link)Q硬q结的意思是一个档案可以有多个名称Q而Yq结的方式则是生一个特D的档案Q该档案的内Ҏ指向另一个档案的位置。硬q结是存在同一个档案系l中Q而Yq结却可以跨不同的档案pȝ?br />ln source dist 是生一个连l?dist)?sourceQ至于用硬q结或Y铄则由参数军_。不论是连l或软链l都不会原本的档案复制一份,只会占用非常量的磁空间?br />-f : 铄时先与 dist 同档名的档案删除-d : 允许pȝ理者硬铄自己的目?i : 在删除与 dist 同档名的档案时先q行询问-n : 在进行Yq结Ӟ?dist 视ؓ一般的档案-s : q行软链l?symbolic link)-v : 在连l之前显C其档名-b : 在铄时会被覆写或删除的档案进行备?S SUFFIX : 备份的档案都加?SUFFIX 的字?V METHOD : 指定备䆾的方?-help : 昄辅助说明--version : 昄版本
范例 :
档?yy 产生一?symbolic link : zz
ln -s yy zz
档?yy 产生一?hard link : zz
ln yy xx
名称Qlocate
使用权限Q所有用?br />使用方式Q?locate [-q] [-d ] [--database=]
locate [-r ] [--regexp=]
locate [-qv] [-o ] [--output=]
locate [-e ] [-f ] <[-l ] [-c]
<[-U ] [-u]>
locate [-Vh] [--version] [--help]
说明Q?br />locate 让用者可以很快速的搜寻档案pȝ内是否有指定的档案。其Ҏ是先建立一个包括系l内所有档案名U及路径的资料库Q之后当L时就只需查询q个资料库,而不必实际深入档案系l之中了?br />在一般的 distribution 之中Q资料库的徏立都被放?contab 中自动执行。一般用者在使用时只要用
# locate your_file_name
的型式就可以了?br />参数Q?br />-u
-U建立资料库,-u 会由根目录开始,-U 则可以指定开始的位置?br />-e
排除在L的范围之外?/p>
-l如果?1Q则启动安全模式。在安全模式下,使用者不会看到权限无法看到的档案。这会始速度减慢Q因?locate 必须臛_际的档案pȝ中取得档案的权限资料?br />-f特定的档案pȝ排除在外Q例如我们没有到理要?proc 档案pȝ中的档案攑֜资料库中?br />-q安静模式Q不会显CZQ何错误讯息?br />-n臛_昄个输出?br />-r使用正规q算?做寻扄条g?br />-o指定资料库存的名U?br />-d指定资料库的路径
-h昄辅助讯息
-v昄更多的讯?br />-V昄E式的版本讯?
范例Q?br />locate chdrv : L所有叫 chdrv 的档?br />locate -n 100 a.out : L所有叫 a.out 的档案,但最多只昄 100 ?br />locate -u : 建立资料?/p>
名称 : ls
使用权限 : 所有用?br />使用方式 : ls [-alrtAFR] [name...]
说明 : 昄指定工作目录下之内容Q列出目前工作目录所含之档案及子目录)?/p>
-a 昄所有档案及目录 (ls内定档案名或目录名U开头ؓ"."的视为隐藏档Q不会列?
-l 除档案名U外Q亦档案型态、权限、拥有者、档案大等资讯详细列出
-r 档案以相反ơ序昄(原定依英文字母次?
-t 档案依建立旉之先后次序列?br />-A ?-a Q但不列?"." (目前目录) ?".." (父目?
-F 在列出的档案名称后加一W号Q例如可执行档则?"*", 目录则加 "/"
-R 若目录下有档案,则以下之档案亦皆依序列出
范例Q?br />列出目前工作目录下所有名U是 s 开头的档案Q愈新的排愈后面 :
ls -ltr s*
?/bin 目录以下所有目录及档案详细资料列出 :
ls -lR /bin
列出目前工作目录下所有档案及目录Q目录于名称后加 "/", 可执行档于名U后?"*" :
ls -AF
名称Qmore
使用权限Q所有用?br />使用方式Qmore [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]
说明Q类?cat Q不q会以一一늚昄方便使用者逐页阅读Q而最基本的指令就是按I白键(spaceQ就往下一|C,?b 键就会往回(backQ一|C,而且q有搜寻字串的功能(?vi 怼Q,使用中的说明文gQ请?h ?br />参数Q?num 一ơ显C的行数
-d 提示使用者,在画面下ҎC?[Press space to continue, q to quit.] Q如果用者按错键Q则会显C?[Press h for instructions.] 而不是哔?br />-l 取消遇见Ҏ字元 ^LQ送纸字元Q时会暂停的功能
-f 计算行数Ӟ以实际上的行敎ͼ而非自动换行q后的行敎ͼ有些单行字数太长的会被扩展ؓ两行或两行以上)
-p 不以卷动的方式显C每一,而是先清除萤q后再显C内?br />-c ?-p 怼Q不同的是先昄内容再清除其他旧资料
-s 当遇到有q箋两行以上的空白行Q就代换Z行的I白?br />-u 不显CZ引号 Q根据环境变?TERM 指定?terminal 而有所不同Q?br />+/ 在每个档案显C前搜寻该字ԌpatternQ,然后从该字串之后开始显C?br />+num 从第 num 行开始显C?br />fileNames Ʋ显C内容的档案Q可为复C?br />范例Q?br />more -s testfile 逐页昄 testfile 之档案内容,如有q箋两行以上I白行则以一行空白行昄?br />more +20 testfile 从第 20 行开始显C?testfile 之档案内宏V?/p>
名称Qmv
使用权限Q所有用?br />使用方式Q?br />mv [options] source dest
mv [options] source... directory
说明Q将一个档案移臛_一档案Q或数个档案移臛_一目录?br />参数Q?i 若目的地已有同名档案Q则先询问是否覆盖旧档?/p>
范例Q?br />档?aaa 更名?bbb :
mv aaa bbb
所有的C语言E式U至 Finished 子目录中 :
mv -i *.c
名称Qrm
使用权限Q所有用?br />使用方式Qrm [options] name...
说明Q删除档案及目录?br />参数Q?
-i 删除前逐一询问认?br />-f 即原档案属性设为唯读,亦直接删除,无需逐一认?br />-r 目录及以下之档案亦逐一删除?br />范例Q?br />删除所有C语言E式档;删除前逐一询问认 :
rm -i *.c
?Finished 子目录及子目录中所有档案删?:
rm -r Finished
名称Qrmdir
使用权限Q于目前目录有适当权限的所有用?br />使用方式Q?rmdir [-p] dirName
说明Q?删除I的目录?br />参数Q?-p 是当子目录被删除后它也成ؓI目录的话,则顺便一q删除?br />范例Q?br />工作目录下Q名?AAA 的子目录删除 :
rmdir AAA
在工作目录下?BBB 目录中,删除名ؓ Test 的子目录。若 Test 删除后,BBB 目录成ؓI目录,?BBB 亦予删除?br />rmdir -p BBB/Test
名称Qsplit
使用权限Q所有用?br />使用方式Qsplit [OPTION] [INPUT [PREFIX]]
说明Q将一个档案分割成C。而从 INPUT 分割输出成固定大的档案Q其档名依序?PREFIXaa, PREFIXab...QPREFIX 预设gؓ ****x。若没有 INPUT 档或?****-Q则从标准输入读q资料?br />参数
-b, --bytes=SIZE
SIZE gؓ每一输出档案的大,单位?byte?br />-C, --line-bytes=SIZE每一输出档中Q单行的最?byte 数?br />-l, --lines=NUMBER
NUMBER gؓ每一输出档的列数大小?br />-NUMBER?-l NUMBER 相同?br />--verbose于每个输出档被开启前Q列印出侦错资讯到标准错误输出?br />--help昄辅助资讯然后d?br />--version列出版本资讯然后d?br />SIZE 可加入单? b 代表 512Q?k 代表 1KQ?m 代表 1 Meg?/p>
范例Q?br />PostgresSQL 大型资料库备份与回存Q?br />?Postgres 允许表格大过你系l档案的最大容量,所以要表?dump 到单一的档案可能会有问题,使用 splitq行档案分割?br />% pg_dump dbname | split -b 1m - filename.dump.
重新载入
% createdb dbname
% cat filename.dump.* | pgsql dbname
名称Qtouch
使用权限Q所有用?br />使用方式Q?br />touch [-acfm]
[-r reference-file] [--file=reference-file]
[-t MMDDhhmm[[CC]YY][.ss]]
[-d time] [--date=time] [--time={atime,access,use,mtime,modify}]
[--no-create] [--help] [--version]
file1 [file2 ...]
说明Q?br />touch 指o改变档案的时间记录?ls -l 可以昄档案的时间记录?br />参数Q?br />a 改变档案的读取时间记录?br />m 改变档案的修Ҏ间记录?br />c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一栗?br />f 不用,是ؓ了与其他 unix pȝ的相Ҏ而保留?br />r 使用参考档的时间记录,?--file 的效果一栗?br />d 讑֮旉与日期,可以使用各种不同的格式?br />t 讑֮档案的时间记录,格式?date 指o相同?br />--no-create 不会建立新档案?br />--help 列出指o格式?br />--version 列出版本讯息?/p>
范例Q?br />最单的使用方式Q将档案的时候记录改为现在的旉。若档案不存在,pȝ会徏立一个新的档案?br />touch file
touch file1 file2
?file 的时间记录改?5 ?6 ?18 ?3 分,公元两千q。时间的格式可以参?date 指oQ至需输入 MMDDHHmm Q就是月日时与分?br />touch -c -t 05061803 file
touch -c -t 050618032000 file
?file 的时间记录改变成?referencefile 一栗?br />touch -r referencefile file
?file 的时间记录改?5 ?6 ?18 ?3 分,公元两千q。时间可以?am, pm 或是 24 时的格式,日期可以使用其他格式?6 May 2000 ?br />touch -d "6:03pm" file
touch -d "05/06/2000" file
touch -d "6:03pm 05/06/2000" file
名称 : at
使用权限 : 所有用?br />使用方式 : at -V [-q queue] [-f file] [-mldbv] TIME
说明 : at 可以让用者指定在 TIME q个特定时刻执行某个E式或指令,TIME 的格式是 HH:MM其中?HH 为小ӞMM 为分钟,甚至你也可以指定 am, pm, midnight, noon, teatime(是下午 4 炚w){口语词?br />如果惌指定过一天内的时_则可以用 MMDDYY 或?MM/DD/YY 的格式,其中 MM 是分钟,DD 是第几日QYY 是指q䆾。另外,使用者甚至也可以使用像是 now + 旉间隔来弹性指定时_其中的时间间隔可以是 minutes, hours, days, weeks另外Q用者也可指?today ?tomorrow 来表CZ天或明天。当指定了时间ƈ按下 enter 之后Qat 会进入交谈模式ƈ要求输入指o或程式,当你输入完后按下 ctrl+D 卛_完成所有动作,至于执行的结果将会寄回你的帐号中?br />参数:
-V : 印出版本~号
-q : 使用指定的O?Queue)来储存,at 的资料是存放在所谓的 queue 中,使用者可以同时用多?queueQ?queue 的编号ؓ a, b, c... z 以及 A, B, ... Z ?52 ?br />-m : 即ɽE式/指o执行完成后没有输出结? 也要寄封信给使用?br />-f file : d预先写好的命令档。用者不一定要使用交谈模式来输入,可以先将所有的指定先写入档案后再一ơ读?br />-l : 列出所有的指定 (使用者也可以直接使用 atq 而不?at -l)
-d : 删除指定 (使用者也可以直接使用 atrm 而不?at -d)
-v : 列出所有已l完成但未删除的指?br />例子 :
三天后的下午 5 炚w执行 /bin/ls :
at 5pm + 3 days /bin/ls
三个星期后的下午 5 炚w执行 /bin/ls :
at 5pm + 2 weeks /bin/ls
明天?17:20 执行 /bin/date :
at 17:20 tomorrow /bin/date
1999 q的最后一天的最后一分钟印出 the end of world !
at 23:59 12/31/1999 echo the end of world !