ѫe@`yLinux ɮvPؿtmzAѨ Linux y𪬥ؿzAUӴNonڪӷdw@ǰ|DFIoǰDA̭nLy|zPy۹|zNqաIAѤ@UI
- |P۹|G
b}lؿeAAnAѤ@Uҿתy|, PATHzA쪺OGOy۹|zPy|zHpGAٰOoe@eܡAٰOo Linux ̭ؿOe{y𪬥ؿzpANO䪺աInFA]AݭnbN@ӥؿUܴڥؿ etc UAANӭnϥΡy cd /etc zoӱpAo]NOҿתy|zALOqڥؿsgWӪ@ӱpAҥHקAb@Ӹ|{o@ӫOA|NAʨӸ|UCpGڬOϥΡy cd etc zOHܧAnyثeoӥؿU etc ؿzApiO@˪Iq`Ĥ@IJ Linux ϥΪ̱`|do@Ӹ|[I
@@
- |G|gky@wѮڥؿ / g_zAҦpG /usr/share/doc oӥؿC
- ۹|G|gkyO / g_zAҦp /usr/share/doc n /usr/share/man UɡAiHgG ycd ../manzoNO۹|gkաI
۹|P|F_rIHܡIiuOF_FI]zgF@ӮMAoӮM@ݭnTӥؿAOO etc, bin, man oTӥؿAMӥѩPHww˦bPؿUA]Ҧw˪ؿO /usr/local/packages/etc, /usr/local/packages/bin /usr/local/packages/man ALAoww˦b /home/packages/etc, /home/packages/bin, /home/packages/man oTӥؿAаݦpGݭnΨ쵴|ܡAO_ܳ·ЩOHOIp@ӨCӥؿUFN_ӡIoӮɭԬ۹|gkN㪺SOnFI
@
~ApGzڤ@ˡAwN|WrgܪAnۤvDӥؿObFAҦpG/data4/staiwan19961109/models-3/smoke oӥؿAӥt@ӥؿb /data4/staiwan19961109/models-3/cctm AڱqĤ@ӭnĤGӥؿhܡAgKHMOy cd ../cctm zKoIaI
@
nFAJMnͨؿoӪFA۵MNݭnAѤ@UDZ`ΪؿyŸzNNqաI
@@
. Nhؿ
.. NWhؿ
~ Nۤvaؿ
~user N user oӤHaؿ
Uڭ̭nӽͤ@ͥؿP|Xӱ`ΪOG
@
- cd ܴؿ
- pwd ܥثeؿ
- mkdir إߤ@ӷsؿ
- rmdir R@Ӹ̭OŪťؿ
- cd P pwd
oӫODnObyܴثeؿzPyܥثeҦbؿzu@AU@L̪γ~PykaI
@- cd
ykGG
[root @test /root ]# cd [۹|ε|]
ѼƻG
|y۹|zPy|zOAФdUpoI
dҡG
[root @test /root]# cd ..@@@@@@@<==^W@hؿ
[root @test /root]# cd ../home@@@@ <==۹|gk
[root @test /root]# cd /var/www/html@ <==|gk
[root @test /etc]# cd@@@@@@@@@<==^ϥΪ̪aؿ
[root @test /etc]# cd ~ @@@@@@@ <==^ϥΪ̪aؿI
[root @test /etc]# cd ~test@@@@@@<==^ test oӨϥΪ̪aؿ
cd O change directory YgAoOΨܴu@|OC`NA|P cd Osb@ӪŮI@nJ Linux tΫAroot |b root aؿAY /root UAܩϥΪ̷|bw] /home/username UAҦp ID vbird AhH vbird nJA| /home/vbird oӸ|UCOKI^W@hiHΡy cd .. zӨ۹|iy cd ../birdzAܩ|hO cd /usr/sbin I`NAbeܦr|ܸ|W١I~Aaؿ٦@ӥNXANOy ~ zŸIҦpWҤliHo{AϥΡy cd ~ ziH^ӤHaؿYhOI ~ApGA Linux D testing bAAnLaؿhAiHUFy cd ~testingzߨh testing aؿoI
@
- pwd
ykGG
[root @test /root ]# pwd
dҡG
[root @test root]# cd /home/test
[root @test test]# pwd
/home/test <==ܥثeAҦbؿI
pwd O print working directory YgA]NOܥثeҦbؿOAҦpbWӪ̫᪺ؿO /home/test oӥؿAOܦr test ApGAQnDثeҦbؿAiHJ pwd YiG
@
~AѩܦhMҨϥΪؿWٳۦPAҦp /usr/local/etc ٦ /etc AOq` Linux ȦCX̫᭱@ӥؿӤwAoӮɭԧANiHϥ pwd ӪDAҦbؿoIKodؿAGKK
@
- mkdir P rmdir zؿG
npإߧRؿOH²rIN mkdir P rmdir AݥXӤFܡHSաINO make/remove directory YgIݭnΧaI
@- mkdir
ykGG
[root @test /root ]# mkdir [-mp] [ؿW]
ѼƻG
-m G]wɮתvI]wAݭn umask oӤeyI
-p GUANWؿjإ߰_ӡI
dҡG
[root @test /root]# cd tmp
[root @test /tmp]# mkdir test<==إߦW٬ test ؿ
[root @test /tmp]# mkdir -p test1/test2/test3/test4 <==إ test2...Whؿ
[root @test /tmp]# mkdir -m 711 testqq <==إv 711 ؿI
[root @test /tmp]# ll test*
drwxrwxr-x 2 test test 4096 Feb 6 20:47 test/
drwxrwxr-x 3 test test 4096 Feb 6 20:48 test1/
drwx--x--x 2 test test 4096 Feb 6 20:48 testqq/
pGQnإ߷sؿܡANϥ mkdir aI LAЪ`NIbw]pUAAһݭnؿo@h@hإߤ~IҦpGpAnإߤ@ӥؿ /home/bird/testing/test1An /home M /home/bird AA /home/bird/testing nsbA~iHإ test1 oӥؿIpS /home/bird/testing ɡANSkإ test1 ؿoILA{bӧ²榳ĪkաINO[W -p oӰѼƳIAiHUFGy mkdir -p /home/bird/testingzhtη|۰ʪAN /home, /home/bird, /home/bird/testing ̧Ǫإ߰_ؿIåBApGӥؿӴNwgsbɡAtΤ]|ܿ~TIּ֪aI ^_^
@
- rmdir
ykGG
[root @test /root ]# rmdir [-p] [ؿW]
ѼƻG
-p GNWhؿ]RaI
dҡG
[root @test /root]# rmdir test<==RW٬ test ؿ
[root @test tmp]# ll
drwxrwxr-x 3 test test 4096 Feb 6 20:48 test1/
[root @test tmp]# rmdir test1
rmdir: `test1': Directory not empty
[root @test tmp]# rmdir -p test1/test2/test3/test4
[root @test tmp]$ ll
pGQnإߧR¦ؿɡANϥ rmdir aIҦpNإߪ test Aϥ rmdir test YiIЪ`NIؿݭn@h@hR~IӥBQRؿ̭w٦LؿɮIpGnNҦؿUF卖OHIoӮɭԴNϥ rm -rf test oILA٬Oϥ rmdir MIILAA]iHեH -p Ѽƥ[JAӧRWhؿI
@
- ܼ PATH
bLF|B۹|POUF觋Azӷ|yL`N@ƱANOGyڥiHb /root U /bin/ls oɮשOHzrIڥiH ls N@wiHܥX@ǰTӤ|䤣ɮשOHoO]ܼ PATH UҭPrIڭ̦b@ӫOɭԡAtη|̷ PATH ]whC PATH wq|UjMɮסAjM쪺OɮץQ椧I{bAФUF echo $PATH A echo yܡBLXzNA PATH e[ $ ܫ᭱OܼơAҥHY|ܥXثe PATH FI
@@
[root@test root]# echo $PATH
/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin
`NFܡHաI /bin b PATH ]wAҥH۵MNiH䪺 ls աI
@
- pGAN ls ʨ /root UܡAMAۤv]b /root UAOA ls ɭԡALNOzAHHoO] PATH S /root oӥؿAӧASN ls ʨ /root UFA۵MtδN䤣iɤFA]N|iDAA command not found IӫJAoذDOHӤkA@GN /root |[J PATH IpW[HiHϥΡG
@PATH=$PATH:/root
@
oؤ觋ӼW[YiIt@ؤ觋hOϥΧɦWAYϥά۹ε|ӰAҦpG
@/root/ls
]bP@ӥؿAӧڭ̤SDbP@ӥؿؿŸy . zA]ANHW ./ls Ӱ]iHIoذ觋Hzӷ|ܱ`~I
./ls
@@
- pGڦ ls ɮצbPؿAҦp /usr/local/bin/ls UP /bin/ls ڤUF ls ɭԡA ls |QH٥λANX PATH ̭ӥؿQdߡAhӥؿUɮ״N|QFI
- xIJMpܡAnb PATH ̭[J . oӥؿAp@ӪܡANiHbҦbؿɮפFܡH] . NҦbؿIOo˨SIOSQLApGYѡAYөǩǪϥΪ̦b /tmp ̭gF@ ls ɮסALO`ɮסAAb /tmp U ls ɡAHISAi|yСzAҥHoAFw_AijNy . z[J PATH jMI
ͤFͥؿP|AAӰQפ@Uɮת@ǰzaIɮPؿzWA~GyݩzByzByRɮzΡyɮשΥؿzAѩɮPؿzb Linux OܭnIרOCӤHۤvaؿƤ]ݭn`NzIѩڭ̦b{ɫAtιw]@ӷjM|ǡApGӥHWۦPɦWɤObP|ɡAANݭnSOdNoIo̧ڭ̨ӽͤ@ͦɮPؿ@ǰ¦zaIls ɮצW١Bݩʵ
cp ɮשΥؿ
rm RɮשΥؿ
mv ɮשΥؿ
@
ls
ykGG
[root @test /root ]# ls [-ailS]
ѼƻG
-a :ɮ׳CX]sPɡ^
-i :LX inode
-l :CXAsPɮפjpƵ
-S :HɮפjpƧ
--color=never :nC
--color=always :C
--color=auto :ѨtΦۦP_I
dҡG
[root @test /root]# ls -al
total 48
drwxr-x--- 4 root root 4096 Mar 10 00:37 .
drwxr-xr-x 21 root root 4096 Mar 10 20:16 ..
-rw------- 1 root root 524 Mar 10 00:40 .bash_history
-rw-r--r-- 1 root root 24 Jun 11 2000 .bash_logout
-rw-r--r-- 1 root root 266 Jun 11 2000 .bash_profile
-rw-r--r-- 1 root root 249 Mar 6 20:50 .bashrc
-rw-r--r-- 1 root root 210 Jun 11 2000 .cshrc
drwx------ 2 root root 4096 Mar 9 11:06 .gnupg
-rw------- 1 root root 524 Jan 16 14:37 .mysql_history
drwx------ 2 root root 4096 Mar 9 11:06 .ssh
-rw-r--r-- 1 root root 196 Jul 11 2000 .tcshrc
-rw-r--r-- 1 root root 1126 Aug 24 1995 .Xresources
[root @test /]# ls
bin dev etc lib misc opt root tftpboot usr
boot disk1 home lost+found mnt proc sbin tmp var
[root @test /]# ls --color=never
bin dev etc lib misc opt root tftpboot usr
boot disk1 home lost+found mnt proc sbin tmp var
[root @test /]# ls -al|more
ٰOoڭ̦bɮת@ݩʻPؿc@ܡHIաIڭ̨ϥΪĤ@ONO ls աIq`ڭ̳ݭnDoɮצW١yؿz٬OyɮסzHҥHAڳwϥΡy llzoӫOANOls -l NաIצpAAiHյ۰oOӵAɮסI
@
Ъ`NInѰOAƪDnNNIרOeXӥDnݩIt~AASo{pGbݥH telnet Ϊ̬O putty su{nJDɫAѩ Linux w]ϥΦC⪺觋ܤ觋AOW@ˡAŦ⪺rˮڥNOݨIoӮɭԳq`ڳOϥΡyls --color=never zӥᱼCIpGQ ls w]SC⪺ܡAiHb /root/.bashrc Ϊ̬OAaؿ .bashrc oɮפ[JUo@Galias ls='ls --color=never'o˴NiHChFIܩ alias ObFHڭ̨F bash o shell ɭԦAӽͧaI
@
cp
ykGG
[root @test /root ]# cp [-drsu] [ӷ] [ت]
ѼƻG
-d@@@@@Gbi copy ɭԡApGO copy link ɮסAY[ѼơAhw]p|N link 쪺lɮ
@@@@@@@copy تaAY[ -d ɡAh link ɮץiʤʪN link oӱ|تaI
-r@@@@@GiHiؿ copy I
-s GsɡAӤ copy NIP ln OۦP\I
-u, --updateGpGӷɤsAΪ̬OSتɡA~|i copy ʧ@IiΩƥʧ@I
dҡG
[root @test /root]# cp .bashrc bashrc <==N .bashrc bashrc oɮסI
[root @test /root]# cp -r /bin /tmp/bin <==oӥ\NnաIoOΨ copy ӥؿѼơI
[root @test /root]# cp -s .bashrc bashrc <==N .bashrc إߤ@ӳsɡAɦW bashrc
[root @test /root]# cp -u /home/.bashrc .bashrc <==ˬd /home/.bashrc O_P .bashrc PApGPܴN}l copy @IpGۦPhʧ@I
oӫO|`Ψ쪺I]ڭ̱o``ݭn copy ƧrIҥHݭnAѤ@UIpGAǫܤjɮתݭnƥAoɮתsvܧCACƥݭnb copy @ܡHݨӬOݭnFIAiHϥΡycp -u ӷ تzӳƥIp@ӡAɮ׳QܹLA~|i copy ʧ@I
@
rm
ykGG
[root @test /root ]# rm [-fir] [ɦW]
ѼƻG
-i :ѨϥΪ̽T{]oOw]ȡ^
-r :`ANO@ASF謰N
-f :force ANOjOաI
dҡG
[root @test /root]# cp .bashrc bashrc<==إߤ@ӷsɮסA bashrc
[root @test /root]# rm bashrc <==|ܦpUܡG
rm: remove `bashrc'?
[root @test /root]# mkdir testing
[root @test /root]# cp .bashrc testing
[root @test /root]# rmdir testing
rmdir: `testing': Directory not empty <==ѩ testing ̭ .bashrc AҥH夣I
[root @test /root]# rm -rf testing <==RӥؿUҦɮPؿ
oOOA۷ dos U del OIo̭n`NOAq`b Linux tΤUAFɮ׳Q~AҥHwg -i oӰѼơA -i OCɮ׳Qe|ϥΪ̽T{@AHw~ɮסIӦpGnsؿUF卖@_ܡAҦplؿ̭٦lؿɡANnϥ -rf oӰѼƤFILAϥΡy rm -rf zoӫOeAФdU`NFA]Aӥؿɮסy֩wz|Q root I]tΤ|A߰ݧAO_n屼I ҥHOӶWYOUFIoSO`NILApGATwӥؿnFAϥ rm -rf Ӵ`O觋I
@
mv
ykGG
[root @test /root ]# mv [-u] [ӷ] [ت]
ѼƻG
-u :P˪A update ²gAӷɤتٷsɫ~|ʧ@I
dҡG
[root @test /root]# cp .bashrc bashrc
[root @test /root]# mv bashrc bashrc.old
[root @test /root]# mv bashrc bashrc2 /tmp<==N bashrc P bashrc2 ʨ /tmp oӥؿUIЪ`NA̫@Ӥ~O̲תؼСALO SOURCE
oOhNIAnɮשΥؿɫAIoӫONܭnաIP˪AA]iHϥ -u ( update )ӴշsɮסAݬݬO_ݭnhoIt~@ӥγ~NOyܧɦWIzAڭ̥iHܻϥ mv ܧ@ɮתɦWOI
@
basename
ykGG
[root @test /root ]# basename [ؿ]
ѼƻG
dҡG
[root @test /root]# basename /usr/local/etc
etc
oӫO|N᭱[ؿ]^X̫᭱ӥؿɮסA
HWҤlӬݡA /usr/local/etc etc OؿɮסA
L|Q^XӡA]LO̫@ӥX{NNI
oӫOᦳINLiHN@ӥؿɮת̫@өNNqXӡIҥHAӦpGAnϥܼơAåBX̫@Ӹ(Oɮ٬Oؿ)AϥγoӪNNաI ^_^
@
dirname
ykGG
[root @test /root ]# dirname [ؿ]
ѼƻG
dҡG
[root @test /root]# dirname /usr/local/etc
/usr/local
P basename ۤϡALȬOqXӫeyؿzI
oӫOP basename ۤϪաIIܦnaIo]̱`Φbڭ̲ĤTn Shell DzߤIγ̦haӬO scripts աIγo_J^ƪeIΪܡI
ڭ̴쪺uObɮת~[AΪ̬OʻPƻs@ɮשΥؿӤwApGڭ̭n@ɮתeɡAӦpOnOHIo̦۷h쪺OiHӤɤ@UG̱`ϥΪɮפeOiHO cat P more less FI~ApGڭ̭ndݤ@ӫܤjɮס]nXMBɡ^AOڭ̥uݭnݪXrӤwAӦpOnHI tail rA~A tac oӫO]iHFInFAUӫOγ~aIcat ѲĤ@}lɮפeUڭ̨ӽͤ@ͨCӫOΪkaI
tac q̫@}lܡAiHݥX tac O cat ˵ۼgI
more @@ɮפe
less P more AO more nOALiHe½I
head uYX
tail uݧڴX
nl ܪɭԡADX 渹I
od HGi쪺觋ŪɮפeI
cat
ykGG
[root @test /root ]# cat [-nAE]
ѼƻG
-n: ܮɡAs渹LXùWC
-A: N DOS U <tab> P_rųCXӡI
-E: N DOS s𫍧AȦCX _rťXӡI
dҡG
[root @test /root]# cat ~/.bashrc <== .bashrc oɮ
# .bashrc# User specific aliases and functions
PATH="/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH"
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias ll='ls -l --color=never'[root @test /root]# cat ~/.bashrc -n <== .bashrc åB[W渹I
1 # .bashrc
2
3 # User specific aliases and functions
4 PATH="/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH"
6 alias rm='rm -i'
7 alias cp='cp -i'
8 alias mv='mv -i'
9 alias ll='ls -l --color=never'[root @test /root]# cat -A regexp.txt
This is a cat, however, I need a dog.^M$
I want to "Happy" and <Happy> and /Happy/ here.^M$
OK! ^Ieverythins is OK^M$
Now, I will eat my food^M$
are you ^Ifinished your work^M$
what do you 123 goto where^M$
ܥX DOS ɮתXӯSŸAHWɮҡA
io{ ^M _ŸAӨC檺 $ ŸA
ܩ ^I hO <tab> աI
KKI Linux ̭yߡzHIIOA cat O Concatenate ]s^²gADn\ON@ɮתesLXbùWIҦpWҤlAڭ̱NnѼ .bashrc LXӡIpG[W -n ܡAhC@eٷ|[W渹Icat ֥ΡIAɮפeƶWL 40 HWAKKIڥӤάݡIҥHAtX more Ϊ̬O |more ӰnI~ApGO@몺 DOS ɮɡANݭnSOdN@ǩ__ǩǪŸFAҦp_P<tab>AnܥXӡANo[J -A ѼƤFIC
@
tac
ykGG
[root @test /root ]# tac [ɦW]
ѼƻG
dҡG
[root @test /root]# tac ~/.bashrc <==o{FSHϦVLXI
fi
. /etc/bashrc
if [ -f /etc/bashrc ]; then
# Source global definitionsalias h='history'
alias lm='ls -al|more'
alias ll='ls -l'
# alias ll='ls -l --color=never'
alias mv='mv -i'
alias cp='cp -i'
alias rm='rm -i'export PATH
PATH="/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH"
# User specific aliases and functions# .bashrc
tac oӦnFIOHԲӪݤ@UA cat P tac ASo{rIաI tac nON cat ϼgLӡAҥHL\N cat ۤϰաA cat OѡyĤ@̫@sܦbùWzA tac hOyѳ̫@Ĥ@ϦVbùWܥXzAܦnaI
@
more
ykGG
[root @test /root ]# more [ɦW]
ѼƻG
dҡG
[root @test /root]# more ~/.bashrc <==@@ɮפe
[root @test /]# ls -al | more <==@@N ls eܥX
more uOӫܦΪOIڦnwIAɮפӤjɫAϥ cat NSkݲMIoӮɭԧAiHϥ more Ӱʧ@Imore ]iHΨӰuPɰ椧ΡIҦpAb find oӴM䪺OɡAiHPɨϥ |more AhjMGiH@@CXIu( pipe )Ϊkڭ̦b bash shell aAӽ͡I
@
less
ykGG
[root @test /root ]# less [ɦW]
ѼƻG
dҡG
[root @test /root]# less ~/.bashrc
less Ϊk_ more S[uʡAOHb more ɭԡAڭ̨èSkVe½Au᭱ݡAYϥΤF less ɡAINiHϥ [pageup] [pagedown] 䪺\өe½ݤAz@AOOeϥΨ[ݤ@ɮתeFOIH
@
more P less γ~PΪkuOܼsաIAAiHb more P less eiyjMzu@IpiOHڭ̥H less ӻnFApGAQnD /etc/man.config oɮ̭S@ӥs GER jgrAiHG
@@
[root @test /root ]# less /etc/man.config
仡G
/wordGb /etc/man.config oɮפjM word oӦrꪺҦb
q G} less e
MbJ / Aз|ʨ̥UݿJAoӮɭԱzunJArꤧAN|۰ʪAXӸroI
@
head
ykGG
[root @test /root ]# head [-n number] [ɦW]
ѼƻG
-n G number
dҡG
[root @test /root]# head ~/.bashrc <==w]pUAYQ
[root @test /root]# head -n 20 ~/.bashrc<==YGQI
head ^NNOyYzաAoӪF𫍧Ϊk۵MNOܥX@ɮתeXoISINOoˡIYS[W -n oӰѼƮɡAw]uܤQAYun@OHN[Jy head -n 1 filename zYiI
@
tail
ykGG
[root @test /root ]# tail [-n number] [ɦW]
ѼƻG
-n G number
dҡG
[root @test /root]# tail ~/.bashrc
[root @test /root]# tail -n 5 ~/.bashrc <==u̫ܳ᭱I
head ۵MN tail ( ) oISIo tail Ϊk head ΪkthAuOܪO᭱XNOFIw]]OܤQAYnܫDQAN[ -n number ѼơI
@@
D@GpڷQn ~/.bashrc 11 20 OH
GoӤAQ@QAb 11 20 Aڨe 20 AAQAҥHGNOGy head Vn 20 ~/.bashrc | tail Vn 10 zAo˴NiHo 11 20 椧eFIO̭AΨuROAݭnbĤTgɭԤ~I
nl
ykGG
[root @test /root ]# nl [ɦW]
ѼƻG
dҡG
[root @test /root]# nl ~/.bashrc
nl SOHo]SAoӫOΪk cat -n ΪkA]NOyiHLX渹zOӬdɮװաI]OnΪI
@
od
ykGG
[root @test /root ]# od [ɦW]
ѼƻG
dҡG
[root @test /root]# od ~/.bashrc
0000000 020043 061056 071541 071150 005143 021412 052440 062563
0000020 020162 070163 061545 063151 061551 060440 064554 071541
0000040 071545 060440 062156 063040 067165 072143 067551 071556
0000060 050012 052101 036510 027442 064542 035156 071457 064542
0000100 035156 072457 071163 071457 064542 035156 072457 071163
0000120 061057 067151 027472 071565 027562 067554 060543 027554
0000140 061163 067151 027472 071565 027562 067554 060543 027554
0000160 064542 035156 050044 052101 021110 062412 070170 071157
0000200 020164 040520 044124 005012 066141 060551 020163 066562
0000220 023475 066562 026440 023551 060412 064554 071541 061440
0000240 036560 061447 020160 064455 005047 066141 060551 020163
0000260 073155 023475 073155 026440 023551 021412 060440 064554
0000300 071541 066040 036554 066047 020163 066055 026440 061455
0000320 066157 071157 067075 073145 071145 005047 066141 060551
0000340 020163 066154 023475 071554 026440 023554 060412 064554
0000360 071541 066040 036555 066047 020163 060455 076154 067555
0000400 062562 005047 066141 060551 020163 036550 064047 071551
0000420 067564 074562 005047 021412 051440 072557 061562 020145
0000440 066147 061157 066141 062040 063145 067151 072151 067551
0000460 071556 064412 020146 020133 063055 027440 072145 027543
0000500 060542 064163 061562 056440 020073 064164 067145 004412
0000520 020056 062457 061564 061057 071541 071150 005143 064546
0000540 000012
0000541
nFApG@ӫD ASCII ɮשOHҦp binary ɮסIϥ vi ڥNOݤۡoӮɭԬݨӥuϥαNӸƥHƭȤkŪXӰաINO od oӫOŪXIoӪFiHΨӿXӸƬQiB16i쵥Ʈ榡ILoӪFu{viΰաI]LXӪF卖OƦrΰOơ
Linux ɮݩ eڭ̥iHD@ɮצYzݩʡA]A ( r, w, x ) ݩʡAάO_ؿ (d) Pɮ (-) Ϊ̬Os (l) ݩʡInקݩʪkbe]LFAo̦A[jɥR@UI~Aѩ Linux ٥iH]wLtΦwݩʡAϥ chattr ӳ]wAӥH lsattr ӬdݡA̭nݩʴNOiH]w䤣iק諸SʡIsɮת֦̳iקIoݩʥiO۷nAרObwW] security ^Ichown ɮת֦H
chgrp ɮתݸs
chmod ɮתigBiŪBi浥ݩ
umask ܹw]إɮשΥؿɪݩ
chattr ɮתSݩ
lsattr ɮתSݩʡI
- chown
ykGG
[root @test /root ]# chown [-R] user:group [ؿW]
ѼƻG
-R :`NӥؿUҦɮ׳令 user P group W١I
dҡG
[root @test /root]# mkdir /home/test/testing <==b /home/test oӮaؿإߤ@ӦW testint lؿ
[root @test /root]# cp * /home/test/testing
[root @test /root]# chown test /home/test/testing
[root @test /root]# chown -R test:test /home/test/testing<==NӥؿUҦؿɮקܬ test ֦
e@ӳ`~AӤ|No˧ѰOFaHIѩ chown ϥνdsAҥHo̦ALƲߤ@U chown NnA chgrp Ц^e@e[I
@
Ooɮצy֦HzΡy֦szaAo chown NObܾ֦̪OC𫎆IJ Linux Bͳ̮eǪ@ӿ~b̩OHNOH root copy @ɮס]θ|^@ϥΪ̡]] test ^ɡAѰONɮתҦH令 test FIѩƻs̬O root ҥHɮפ]|O root ҦI test M]NקɮפFI
@
bWҤlAy chown test /home/test/testing zoӫOu|Nӥؿܦ test AO group MO root IҥHAiHϥΡy chown test:test /home/test/testing zAsϥΪ̸sճLܤ@UoILݭn`NOAoӫOuܤFyؿz ҦvӤwIboӥؿUF]nܪܡAӦpHIANϥ -R oӰѼƧYiI
@
- chmod
ykGG
[root @test /root ]# chmod [-R] [parameter] [ؿW]
ѼƻG
-R :`@NӥؿɮקܤI
dҡG
[root @test /root]# chmod 777 .bashrc
ٰOobyɮݩʻPtz@aI@ɮשΥؿܤ֦EݩʡATӤTӤ@աA@TաIӥiHϥμƦrӷ@ܴݩʪѦҨ̾ڡIUݩʦpUGr:4|ӨҤlӻA@ݩʬy-rwxr-xr--zɡAOXOHIڭ̥iHNLݦpUy-[rwx][r-x][r--]zTաAҥHƴNܦFy[4+2+1][4+0+1][4+0+0]z@y754zաIo˷|ܡHIOKIդ@UAUƬXG
w:2
x:1-r-xr-xr-xpGAiHXy555zPy760zAIANӷ|oIҥHApGAnN .bashrc ]wҦHiHŪܡANUFy chmod 777 .bashrc zaI𫟺ݭnSO`NOAq`ڭ̳|\ӤH]wIѩӤHw]OOb/home/userID/public_htmlUA /home/userID ݩʬydrwx------zڥN\HiJIҥHAA̤֭nNAؿ]w ydrwx--x--xz ~iHIM]iH]wydrwxr-xr-xzILij]wy777zI
-rwxrw----
@
- umask
OKI{bڭ̪DpإߩΪ̬Oܤ@ӥؿɮתݩʤFALAzDAإߤ@ӷsɮשΥؿɡALw]ݩʷ|OܡHINP umask FI umask ObdOHWA umask NOwyثeϥΪ̦bإɮשΥؿɭԪݩʹw]zApoγ]w umask OHLwHU觋ӫwG
ykGG
[root @test root]# umask
0022
[root@vbird test]# umask 002 <==᭱ 3 ӼƦrI
[root@vbird test]# umask
0002
d umask ƭȬJ umask YiAӳ]wOHSINO umask ᱵTӼƦrIpӫwOHDn٬O Linux ɮݩʡ]EݩʡA r, w, x ^AӥBOHƪ@YҪAӦUWhG
@@
- YϥΪ̫إ߬yɮסzhw]ySi ( x ) ءzAYu rw oӶءA]NO̤j 666
--rw-rw-rw-- YϥΪ̫إ߬yؿzAhѩ x PO_iHiJؿA]w]Ҧv}AY 777
drwxrwxrwx
umask wOyӹw]ȻݭnvIz] rBwBx OO 4B2B1 AҥHoI]NOAngvANOJ 2 AӦpGnŪvA]NO 4 AnŪPgvA]NO 6 AӭnPgJvA]NO 3 AoAѶܡHаݱzA 5 OHINOŪP檺vաIpGHWҤlӻܡA] umask 002 AҥH user, group èSQݩʡAL others ݩʳQF 2 ( ]NO w oݩ )AѩϥΪ̡G
@@
- إɮɡG(-rw-rw-rw-) V (--------w-) ==> -rw-rw-r--
- إߥؿɡG(drwxrwxrwx) V (--------w-) ==> drwxrwxr-x
۫HܡHAunϥ touch test Mݬݳo test ɮݩʡANiHDFIpݧAoӨϥΪ̥ثe umask OHUF umask YiI@ݬݥG
@@
[root@vbird test]# umask
0002
[root@vbird test]# touch test1
[root@vbird test]# mkdir test2
[root@vbird test]# ls -l
-rw-rw-r-- 1 root root 0 Oct 22 00:00 test1
drwxrwxr-x 2 root root 4096 Oct 22 00:00 test2/
o{FHI Test1 ݩʬ 666-002 = 664 ITܡHOITI
test2 oӥؿOHNO 777-002 = 775 I]TI[root@vbird test]# umask 003
[root@vbird test]# touch test3
[root@vbird test]# mkdir test4
[root@vbird test]# ll
-rw-rw-r-- 1 root root 0 Oct 22 00:03 test3
drwxrwxr-- 2 root root 4096 Oct 22 00:03 test4/
KIݩʤS𫍧@oIJӱV@UItest3 666-003 =663AoO@^ơHI 663 ӬO -rw-rw--wx ~ڡI|OWݩʡIIo̴NnSOLjդFIyɶqnHƦrۥ[աIzeyWDIAӭno˷Q(-rw-rw-rw-) - (--------wx)=-rw-rw-r--o˴NաIAѤFܡHnΤQi쪺ƦrIOܡAΤGiӺAoܡA rwx ӺI ^_^
ѤWҤlzӫܻNiHo{ umask γ~Iӳo umask iHb /etc/bashrc ̭iקIw]pUA root umask 022 Ӥ@ϥΪ̫h 002 A]igvZYA]w]|ovI~A] root nIҥHFwݨDAPsժgJݩʴNQFIoFwʤ]@w{ת^mI
@
- chattr
ykGG
[root @test /root ]# chattr [+-=][ASacdistu] [ɮשΥؿW]
ѼƻG
+-=@GO [+ W[] [- ] [= ]w] ݩʪN
A@@G]wF A oݩʮɡAoɮ(Υؿ)sɶ atime (access) NiQקA
@@@ iקKҦpⴣqeϺ I/O ~po͡I
S@@Goӥ\I sync \INO|NƦPBgJϺзIiHĪקKƬyI
a@@G]w a AoɮױNuW[ơAӤRAu root ~]woݩʡC
c@@Goݩʳ]wAN|۰ʪNɮסyYzAbŪɭԱN|۰ʸYXӡI
@@ @ObxsɭԡAN|iYAxs]ݨӹjɮצGZΪI^
d@@G dump (ƥ){dzQ檺ɭԡA]w d ݩʱNiϸɮ(Υؿ)㦳 dump \ġI
i@@Go i iNܼF`FILiH@ɮסyQRBWB]ws]LkgJηsWơIz
@@@ tΦwʦ۷jUqI
j@@Gϥ ext3 oɮרtή榡ɡA]w j ݩʱN|ɮצbgJɥOb journal I
@@ @O filesystem ]wѼƬ data=journalled ɡAѩwg]wFxFAҥHoݩʵLġI
s@@Gɮ׳]wF s ѼƮɡALN|QXoӵwЪŶC
u@@GP s ۤϪAϥ u ӳ]wɮɡAhƤe٦sbϺФAiHϥΨ undeletion.
dҡG
[root @test /root]# chattr +i /etc/shadow<==IphLkʳoɮoI
[root @test /root]# chattr -i /etc/shadow <==ѰݩʡI
ooӫOOnAרObtΪwʤWIѩoݩʬOêʽAҥHݭnH lsattr ~ݨݩI𫟺AӤH{̭n +i oݩʤFA]LiH@ɮLkQʡAݭnjPtΦwHӻAuO۷nIY٦۷hݩʬOݭn root ~]wOI~ApGO log file oتnɡANݭn +a oӥiHW[A|QѼƤFIˡHܴΧaIӴnɪ{ɡAڭ̦AӲ@p]wLaI
@
- lsattr
ykGG
[root @test /root ]# lsattr [-aR]
ѼƻG
-a@GNɪݩʤ]qXӡF
-R@GsPlؿƤ]@֦CXӡI
dҡG
[root @test /root]# chattr +i .bash_logout
[root @test /root]# lsattr -a
-------------- ./.
-------------- ./..
---i---------- ./.bash_logout
-------------- ./.bash_profile
-------------- ./.bashrc
-------------- ./.emacs
-------------- ./.screenrc
oӫObϥΤWnSOpߡAҦpGYѧA߱nAMN /etc/shadow oӭnKXOɮL]w㦳 i ݩʡALFYzѤAAMnsWϥΪ̡Ao@LksWIOháA֥hN i ݩʮaI
ɮתjMiNF`FI]ڭ̱``ݭnDɮשb̡AҥHӽͤ@ͫjMaIb Linux U]۷ujMtIq` find ܱ`ΪI]tC~A]ܾwСIq`ڭ̳Oϥ whereis Ϊ̬O locate ˬdApGu䤣FA~H find ӷjMIOH] whereis P locate OQθƮwӷjMơAҥH۷ֳtAӥBèSڪjMwСAٮɶաIwhich dݥiɮתm
whereis dɮתm
locate tXƮwdɮצm
find ڷjMwХhdɮצW
which
ykGG
[root @test /root ]# which [ɮצW]
ѼƻG
dҡG
[root @test /root]# which passwd
/usr/bin/passwd
which \Oyǥ PATH oܼƪeAhӸ|MiɡzAҥH\byMzoI
@
whereis
ykGG
[root @test /root ]# whereis [-bmsu] [ؿW]
ѼƻG
-b :u binary ɮ
-m :ub manual |Uɮ
-s :u source ӷɮ
-u :SɪɮסI
dҡG
[root @test /root]# whereis passwd
passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1.bz2
N passwd rɮשΥؿCXӡI[root @test /root]# whereis -b passwd
passwd: /usr/bin/passwd /etc/passwd
ȦCXbinary ɮסI[root @test /root]# whereis -m passwd
passwd: /usr/share/man/man1/passwd.1.bz2
ȷjM man page ҦbؿI
pGϥ find ӳ·СAӥBɶΪܤjI]]pGAwФªܡAKKII^oӮɭ whereis N۷nΤFIt~A whereis iH[JѼƨӧMơAҦppGAOniɡ] binary ^[W -b NiHաIҦpWdҰw passwd o{ӻIpG[ѼƪܡANNҦƦCXoI whereis 쩳OϥΤNNOHjMt| find ֳohHI]SIoO] Linux tη|NtΤҦɮ׳Ob@ӸƮwɮ̭Aӷϥ whereis Ϊ̬OUn locate ɡA|HƮwɮתeǡA]AɫAٷ|o{ϥγoӰɮɡA|wgQɮסIoNO]LO@ӡyƮwzɮקrIt~AW Linux Cѷ|w Linux Di updatedb ]NO@ӸƮwɮoI^ʧ@AAiHb /etc/cron.weekly/slocate.cron oɮקIMA]iHϥ /usr/bin/updatedb ӧsƮwɮשOI
@
locate
ykGG
[root @test /root ]# locate [ؿW]
ѼƻG
dҡG
[root @test /root]# locate root
KK@j root rɮ׳XӤF @_@[root @test /root]# updatedb <==ߨsƮw
locate ϥΤ觋N²FIJAn䪺ɦWYiIOAoӪF٬OϥΤWIOHz|o{ϥ locate ӴMƪɭԯSO֡AoO] locate M䪺ƬOѡywإߪƮw /var/lib/slocatez̭ƩҷjM쪺AҥHΪbhwзsơAIMOܧֳtoIOHNO]LOgѸƮwӷjMAӸƮwإ߹w]ObC§@AҥHzsإ߰_ӪɮסAo٦bƮwsejMɮסA locate |iDzy䤣IzI]nsƮwrI
@
ڨ쩳nإ߭ǸƮwOHO_nإߡHGݭnAoӮɭԡAAiHۤvܻݭnإɮƮwؿOIb /etc/updatedb.conf oӤYi]wFI
@@
[root @test root]# more /etc/updatedb.conf
## Linux-Mandrake configuration.
# ѦB}ld߸ơAMOѮڥؿաIҥHJ / Yi
FROM="/"# ǥؿQnإɮjMơAINOǤnƹI
# ѰOܡAOo^W@hݬݤeANDp]wFI
PRUNEPATHS="/proc,/tmp,/var/tmp,/usr/tmp,/net,/afs,/mnt"# w
# 0 NwAtפWֳtAwF
# 1 Ұʦw²AoOtΪw]ȡF
SECURITY="1"# dߪɭԬO_nѿùXHMnA_hh·?
VERBOSE="NO"# ƮwҦbBIoOw]ȡAnHNʡA_h|䤣I
DATABASE="/var/lib/slocate/slocate.db"# ɮרtΧڭ̤]jMإߡHNOаաBD Linux ɮ榡աA
# ڭ̳nijMTإ߰աI
PRUNEFS="nfs,smbfs,ncpfs,proc,devpts,supermount,vfat,iso9660,udf,usbdevfs,devfs"
find
ykGG
[root @test /root ]# find [|] [Ѽ]
ѼƻG
1. ɶG
-atime n :b n*24 pɤe@ѤQ access YsLɮצCXӡI
-ctime n :b n*24 pɤe@ѤQ changed YܡBsWɮשΥؿLX
-mtime n :b n*24 pɤe@ѤQ modified YקLɮצLX
-newer file : file ٭nsɮ״NCXӡI
2. ϥΦW١G
-gid n :M s ID n ɮ
-group name :MsզW٬ name ɮ
-uid n :M֦ ID n ɮ
-user name :MϥΪ̦W٬ name ɮ
-name file :MɦW file ɮצW١]iHϥθUΦr^
-type type :Mɮݩʬ type ɮסAtype ]tF b, c, d, p, l, sA
oǻPe@ݩʬۦPIҦp l Link d |NI
dҡG
[root @test /root]# find / -name testing <==MɦW testing
[root @test /root]# find / -name 'test*' <==MɦW]t test I
[root @test /root]# find . -ctime 1 <==MثeؿU@ѫesWؿɮ
[root @test /root]# find /home/test -newer .bashrc <==M /home/test ؿU .bashrc ٭nsɮ
[root @test /root]# find /home -user test <==M /home U֦̬ test ɮ
[root @test /root]# find /dev -type b <==M /dev oӥؿUAɮݩʬ b ɮ
pGAnM@ɮתܡAϥ find |O@ӤDNILiHھڤPѼƨӵɮתjM\IҦpAnM@ɦW httpd.conf ɮסAADLӬOb /etc UANiHϥΡy find /etc -name httpd.conf zPIpGAOo@ɮɦW]tF httpd AODWHIANθUΦr aApWHGy find /etc -name '*httpd*' zNiNɦWt httpd ɮ׳CXoILAѩ find bMƪɫ۷ӵwСIҥHSƱnϥ find աIΪOiHNINO whereis P locate oII
[test@test
test]$ ls -l /usr/bin/passwd
-r-s--x--x 1 root root 13476 Aug 7 2001 /usr/bin/passwd |
[test@test
test]$ ls -l /usr/bin/passwd /etc/shadow
-r-s--x--x 1 root root 13476 Aug 7 2001 /usr/bin/passwd -rw------- 1 root root 2423 Jun 25 14:29 /etc/shadow |
[test@test
test]$ ls -l /
drwxrwxrwt 2 root root 4096 Jul 18 13:08 tmp |
[root@test
tmp]# touch test
[root@test tmp]# ll total 0 -rw-r--r-- 1 root root 0 Feb 6 23:08 test [root@test tmp]# chmod 4755 test [root@vbird tmp]# ll total 0 -rwsr-xr-x 1 root root 0 Feb 6 23:08 test* [root@test tmp]# chmod 6755 test [root@test tmp]# ll total 0 -rwsr-sr-x 1 root root 0 Feb 6 23:08 test* [root@test tmp]# chmod 1755 test [root@test tmp]# ll total 0 -rwxr-xr-t 1 root root 0 Feb 6 23:08 test* WTӨҤlӳܦnڡINON x H s Ϊ̬O t ӨNNOFI]NOO SUID, SGID sticky bit ]wkաI [root@test tmp]#
chmod
7666 test
|
[root @test
/root ]# file [ɦW]
ѼƻG dҡG [root @test /root]# file ~/.bashrc /root/.bashrc: ASCII text <==ܳoɮO ASCII ¤r [root @test
/root]# file /usr/bin/passwd
|