ѫe@`y
Linux ɮvPؿtmzAѨ
Linux y𪬥ؿzAUӴNonڪӷdw@ǰ|DFIoǥؿDA
̭nLy|zPy۹|zNqաIAѤ@UI
۹|P|G
b}lؿeAAnAѤ@Uҿתy
| (PATH)zA
쪺OGOy
۹|zPy
|zH
Me@wgyLwoijDL@ALAo̤ЪAjդ@UI
pGAٰOoe@eܡAٰOo Linux ̭ؿOe{y
𪬥ؿz
pANO䪺աInFA]AݭnbN@ӥؿUܴڥؿ
etc UAANӭnϥΡy
cd /etc zoӱpA
o]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۹|Ny۹ثeu@ؿ|Iz
۹|P|F_rIHܡIiuOF_FI]zgF@ӮMA
oӮ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_ܳ·ЩOHOI
p@Ө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ܡAgKH
MOy cd ../cctm zKoIaI
OɮתTʨӻAy
|TnnzC
@ӻA|ijzApGObg{ (shell scripts) UAȥϥε|gkC
OH]|gkM·СAOiH֩woӼgk藍|DC
pGϥά۹|b{Ahiѩz檺u@ҤPAɭP@ǰDo͡C
oӰDbҦʩROר䭫nIoӲ{Hڭ̦b shell script ɡA|AzI ^_^
ؿާ@G
beڭ̵yLoܴؿOO cd A٦ǥiHiؿާ@OOH
ҦpإߥؿڡBRؿ٦AonDANOǤSؿOH
|ҨӻAUoǴNOSؿAonΤOOUӤ~G
. Nhؿ
.. NW@hؿ
- Ne@Ӥu@ؿ
~ NyثeϥΪ̨zҦbaؿ
~account N account oӨϥΪ̪aؿ
|
bؿUӥؿO@w|sbINO . P .. o
ONhPWhؿNCڭ̦be@
Linux ɮݩʻPؿtm
̭]Dڥؿ (/) OҦؿ̳hA / .. ܡHIziHϥ ls -al / hݬݡA
OyIzLAz]iHd\Aڥؿ . P .. ݩʧ@Ҥ@ˡAI
Ӯڥؿh (..) PLۤv (.) OP@ӥؿI ^_^
Uڭ̴Nӽͤ@ʹXӱ`BzؿOaG
- cdGܴؿ
- pwdGܥثeؿ
- mkdirGإߤ@ӷsؿ
- rmdirGR@ӪŪؿ
cd (ܴؿ)
ڭ̪D dmtsai oӨϥΪ̪aؿO /home/dmtsai A root aؿhO /root A]ڥH root b
Linux tΤA²檺@UoXӯSؿNqOG
[root@linux ~]# cd [۹|ε|]
# ̭nNOؿ|P۹|A٦@ǯSؿŸoI
[root@linux ~]# cd ~dmtsai
# Nh dmtsai oӨϥΪ̪aؿAY /home/dmtsai
[root@linux dmtsai]# cd ~
# ܦ^ۤvaؿAYO /root oӥؿ
[root@linux ~]# cd
# S[W|A]٬ON^ۤvaؿNI
[root@linux ~]# cd ..
# ܥhثeWhؿAYO /root WhؿNF
[root@linux /]# cd -
# ܦ^𫍧ӥؿA]NO /root o
[root@linux ~]# cd /var/spool/mail
# oӴNO|gkIwnh|W١I
[root@linux mail]# cd ../mqueue
# oӬO۹|gkAڭ̥ /var/spool/mail h /var/spool/mqueue No˼gI
|
cd O Change Directory YgAoOΨܴu@ؿOC`NAؿWٻP cd Osb@ӪŮC
@nJ Linux tΫAroot |b root aؿAY /root UAOKI^W@hؿiHΡy cd .. zC
Qά۹|gknT{zثe|~ॿThQnhؿCҦpW̫@ӨҤlA
znT{zOb /var/spool/mail AåBDb /var/spool mqueue ؿ~ڡ
oˤ~ϥ cd ../mqueue h쥿TؿA_hNnJ cd /var/spool/mqueue o
Aڭ̪ܦrAY [root@linux ~]# ANwgXثeؿFA
nJɷ|ۤvaؿAӮaؿ٦@ӥNXANOy ~ zŸI
ҦpWҤliHo{AϥΡy cd ~ ziH^ӤHaؿYhOI
t~Aw cd ϥΤkApGȿJ cd ɡANNOy cd ~ zN
YO|^ۤvaؿաIӨӡy cd - zHzѡAЦۦhXmߡA
N|դFC
٬On@AaAڭ̪ Linux w]OCҦ (bash shell) 㦳ɮɻ\A
zn``Q [tab] ӹFzؿʰڡIoiOӦnߺDڡ
iHקKzLJr ^_^
pwd (ܥثeҦbؿ)
[root@linux ~]# pwd [-P]
ѼơG
-P GܥXTꪺ|AӫDϥγs (link) |C
dҡG
[root@linux ~]# pwd
/root <== ܥXؿա
[root@linux ~]# cd /var/mail
[root@linux mail]# pwd
/var/mail
[root@linux mail]# pwd -P
/var/spool/mail <== ^ơHS[ -P tܦh
[root@linux mail]# ls -l /var/mail
lrwxrwxrwx 1 root root 10 Jun 25 08:25 /var/mail -> spool/mail
# ݨoӪDԣFaH] /var/mail OsɡAs /var/spool/mail
# ҥHA[W pwd -P ѼƫA|HsɪܡAӬOܥT|ڡI
|
pwd O Print Working Directory YgA]NOܥثeҦbؿOA
ҦpbWӪ̫᪺ؿO /var/mail oӥؿAOܦr mailA
pGAQnDثeҦbؿAiHJ pwd YiC~AѩܦhMҨϥΪؿWٳۦPAҦp
/usr/local/etc ٦ /etc AOq` Linux ȦCX̫᭱@ӥؿӤwAoӮɭԧANiHϥ pwd
ӪDAҦbؿoIKodؿAGKK
꦳쪺O -P ѼưաILiHڭ̨oTؿW١AӤOHsɪ|ܪC
pGzO Fedora Core 4 ܡAnA /var/mail O /var/spool/mail sɡA
ҥHAzL /var/mail UF pwd -P NDoӰѼƪNqo ^_^
mkdir (إ߷sؿ)
[root@linux ~]# mkdir [-mp] ؿW
ѼơG
-m G]wɮתvI]wAݭnݹw]v (umask) y
-p GUANһݭnؿjإ߰_ӡI
dҡG
[root@linux ~]# cd /tmp
[root@linux tmp]# mkdir test <== إߤ@W test sؿ
[root@linux tmp]# mkdir test1/test2/test3/test4
mkdir: cannot create directory `test1/test2/test3/test4':
No such file or directory <== SkإߦؿڡI
[root@linux tmp]# mkdir -p test1/test2/test3/test4
# [Fo -p ѼơAiHۦzإߦhhؿI
[root@linux tmp]# mkdir -m 711 test2
[root@linux tmp]# ls -l
drwxr-xr-x 3 root root 4096 Jul 18 12:50 test
drwxr-xr-x 3 root root 4096 Jul 18 12:53 test1
drwx--x--x 2 root root 4096 Jul 18 12:54 test2
# JӬݤWvApGS[W -m ӱj]wݩʡAtη|ϥιw]ݩʡC
# zw]ݩʬHonzLUЪ umask ~AѳI ^_^
|
pGQnإ߷sؿܡANϥ mkdir (make directory) aI LAЪ`NIbw]pUA
Aһݭnؿo@h@hإߤ~IҦpGpAnإߤ@ӥؿ
/home/bird/testing/test1An /home M /home/bird AA /home/bird/testing
nsbA~iHإ /home/bird/testing/test1 oӥؿIpS /home/bird/testing
ɡANSkإ test1 ؿoILA{bӧ²榳ĪkաINO[W -p
oӰѼƳIAiHUFGy
mkdir -p /home/bird/testing/test1 z
htη|۰ʪAN /home, /home/bird, /home/bird/testing ̧Ǫإ߰_ؿIåBA
pGӥؿӴNwgsbɡAtΤ]|ܿ~TIּ֪aI ^_^
t~AӦaznANOyw]vzaCڭ̥iHQ -m ӱj@ӷsؿݩʡA
ҦpWAڭ̵ -m 711 ӵsؿ drwx--x--x ݩʡCLApGS -m ݩʮɡA
w]sإؿݩʤSOOHoӸ
umask Aڭ̦bY|[HЪC
rmdir (Ryšzؿ)
[root@linux ~]# rmdir [-p] ؿW
ѼơG
-p GsPWhyŪzؿ]@_R
dҡG
[root@linux tmp]# ls -l
drwxr-xr-x 3 root root 4096 Jul 18 12:50 test
drwxr-xr-x 3 root root 4096 Jul 18 12:53 test1
drwx--x--x 2 root root 4096 Jul 18 12:54 test2
[root@linux tmp]# rmdir test
[root@linux tmp]# rmdir test1
rmdir: `test1': Directory not empty
[root@linux tmp]# rmdir -p test1/test2/test3/test4
[root@linux tmp]# ls -l
drwx--x--x 2 root root 4096 Jul 18 12:54 test2
# @IQ -p oӰѼơAߨNiHN test1/test2/test3/test4 @R
# Ln`NOAo rmdir ȯyRŪؿzI
|
pGQnإߧR¦ؿɡANϥ rmdir aIҦpNإߪ test Aϥ
rmdir test YiIЪ`NIؿݭn@h@hR~IӥB
QRؿ̭w٦LؿɮסI
o]OҿתŪؿ (empty directory) NڡIpGnNҦؿUF卖OHI
oӮɭԴNϥ rm -rf test oILA٬Oϥ rmdir MIILAA]iHեH -p
Ѽƥ[JAӧRWhؿI
ɸ|ܼơG $PATH
bLF|B۹|POUF觋Azӷ|yL`N@ƱANOGy
ڥiHba /bin/ls oӫOOH zrI
ڥiH ls N@wiHܥX@ǰTӤ|䤣 /bin/ls OOH
oO]ܼ PATH UҭPrIڭ̦b@ӫOɭԡA
tη|̷ PATH ]whC PATH wq|UjMɡAjM쪺OQ椧I{bAФUF
echo $PATH A echo yܡBLXzNA PATH e[ $ ܫ᭱OܼơAҥHY|ܥXثe PATH FI
[root@linux ~]# 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
PATH ɨӻAOӫܭnyܼơzALDnOΨӳWdOjMؿC
ӨCӥؿOǪACӥؿH_y:zӤjANpPWdҤ쪺oI
PATH oܼ٦a谵nOH
- pGAN ls ʨ /root U (mv /bin/ls /root) AMAۤv]b /root U (cd /root)
AOA ls ɭԡALNOzAHHoO] PATH oܼƨ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
[root@linux ~]# PATH="$PATH":/root
|
oؤ觋ӼW[ PATH jMؿYiIt@ؤ觋hOϥΧɦWӤUFOA
Yϥά۹ε|ӰAҦpG
[root@linux ~]# /root/ls
[root@linux ~]# ./ls
|
]bP@ӥؿAӧڭ̤SDbP@ӥؿؿŸy . zA]ANHW
./ls Ӱ]iHIoذ觋Hzӷ|ܱ`~I
- 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@ӪܡA
NiHbҦbؿɮפFܡH] . NҦbؿIOo˨SIOSQLApGYѡA
YөǩǪϥΪ̦b /tmp ̭gF@ ls ɮסALO`ɮסAAb /tmp U ls
ɡAHISAi|yСzAҥHoAFw_AijNy .
z[J PATH jMI
h PATH PyܼơzΡyܼơzAڭ̷|bĤTg bash shell ɡA
A`JoӸgLWAzӤ]AѪOGy
|UFOk۹|nTh zoyܪNqo ^_^
]OӫOӰAӤOzL PATH oܼƪehjMڡI
ͤFͥؿP|AAӰQפ@Uɮת@ǰzaIɮPؿzWA~GyݩʡzB
yzByRɮסzΡyɮשΥؿzAѩɮPؿzb Linux OܭnI
רOCӤHۤvaؿƤ]ݭn`NzIѩڭ̦b{ɫAtιw]@ӷjM|ǡA
pGӥHWۦPɦWɤObP|ɡAANݭnSOdNoI
o̧ڭ̨ӽͤ@ͦɮPؿ@ǰ¦zaI
ɮPؿ˵G ls
[root@linux ~]# ls [-aAdfFhilRS] ؿW
[root@linux ~]# ls [--color={none,auto,always}] ؿW
[root@linux ~]# ls [--full-time] ؿW
ѼơG
-a GɮסAsP( }Y . ɮ) @_CXӡ
-A GɮסAsPɡA]A . P .. oӥؿA@_CXӡ
-d GȦCXؿAӤOCXؿɮ
-f GCXGAӤiƧ (ls w]|HɦWƧǡI)
-F GھɮסBؿTA[ƵcAҦpG
*GNiɡF /GNؿF =GN socket ɮסF |GN FIFO ɮסF
-h GNɮeqHHŪ觋(Ҧp GB, KB )CXӡF
-i GCX inode mAӫDCXɮݩʡF
-l GƦCXA]tɮתݩʵơF
-n GCX UID P GID ӫDϥΪ̻PsժW (UIDPGID|bbzI)
-r GNƧǵGϦVXAҦpG쥻ɦWѤpjAϦVhѤjpF
-R GsPlؿe@_CXӡF
-S GHɮeqjpƧǡI
-t G̮ɶƧ
--color=never Gn̾ɮׯSʵCܡF
--color=always GC
--color=auto GtΦۦ̾ڳ]wӧP_O_C
--full-time GHɶҦ (]t~BBBɡB) X
--time={atime,ctime} GX access ɶ vݩʮɶ (ctime)
ӫDeܧɶ (modification time)
dҡG
|
b Linux tηAo ls OiO̱`Q檺aI]ڭHɳnDɮשΪ̬OؿTڡ
LAڭ Linux ɮשҰOTbOӦhFA ls SݭnCXөO
ҥHAzuUF ls ɡAw]ܪuG
DɪɦWB
HɦWiƧǤɦWNCFpӤwC|ҨӻA
zUF ls /etc AugLƧǪɦWHΥHŦܥؿΥզܤ@ɮסApӤwC
pGٷQn[JLܸTɡAiH[JWY쪺ǦΪѼƩO
|ҨӻAڭ̤e@Ψ쪺 -l oӪܸƤeAHαNɤ]@_CܥXӪ -a ѼƵC
dҤ@GNaؿUҦɮצCX(tݩʻP)
[root@linux ~]# ls -al ~
total 252
drwxr-x--- 9 root root 4096 Jul 16 23:40 .
drwxr-xr-x 24 root root 4096 Jul 16 23:45 ..
-rw------- 1 root root 1491 Jun 25 08:53 anaconda-ks.cfg
-rw------- 1 root root 12543 Jul 18 01:23 .bash_history
-rw-r--r-- 1 root root 24 Dec 4 2004 .bash_logout
-rw-r--r-- 1 root root 191 Dec 4 2004 .bash_profile
-rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc
-rw-r--r-- 1 root root 68495 Jun 25 08:53 install.log
-rw-r--r-- 1 root root 5976 Jun 25 08:53 install.log.syslog
drwx------ 2 root root 4096 Jul 4 16:03 .ssh
-rw------- 1 root root 12613 Jul 16 23:40 .viminfo
# oӮɭԱz|ݨH . }YXɮסAHΥؿ ./../.ssh A
# LAؿɳOH`ŦܡAIeݲMNOFC
dҤGGӤWDACAbɦWܥXɦWN(type)
[root@linux ~]# ls -alF --color=never ~
total 252
drwxr-x--- 9 root root 4096 Jul 16 23:40 ./
drwxr-xr-x 24 root root 4096 Jul 16 23:45 ../
-rw------- 1 root root 1491 Jun 25 08:53 anaconda-ks.cfg
-rw------- 1 root root 12543 Jul 18 01:23 .bash_history
-rw-r--r-- 1 root root 24 Dec 4 2004 .bash_logout
-rw-r--r-- 1 root root 191 Dec 4 2004 .bash_profile
-rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc
-rw-r--r-- 1 root root 68495 Jun 25 08:53 install.log
-rw-r--r-- 1 root root 5976 Jun 25 08:53 install.log.syslog
drwx------ 2 root root 4096 Jul 4 16:03 .ssh/
-rw------- 1 root root 12613 Jul 16 23:40 .viminfo
# `NݨܵGĤ@AKK㪾Dڭ̷|UF ./command
# OFaH] ./ NOyثeؿUzNڡIܩO FIFO/Socket H
# аѦҫe@`аڡI
dҤTG㪺e{ɮתקɶ *(modification time)
[root@linux ~]# ls -al --full-time ~
total 252
drwxr-x--- 9 root root 4096 2005-07-16 23:40:13.000000000 +0800 .
drwxr-xr-x 24 root root 4096 2005-07-16 23:45:05.000000000 +0800 ..
-rw------- 1 root root 1491 2005-06-25 08:53:37.000000000 +0800 anaconda-ks.cfg
-rw------- 1 root root 12543 2005-07-18 01:23:33.000000000 +0800 .bash_history
-rw-r--r-- 1 root root 24 2004-12-04 05:44:13.000000000 +0800 .bash_logout
-rw-r--r-- 1 root root 191 2004-12-04 05:44:13.000000000 +0800 .bash_profile
-rw-r--r-- 1 root root 395 2005-07-04 11:45:16.000000000 +0800 .bashrc
-rw-r--r-- 1 root root 68495 2005-06-25 08:53:34.000000000 +0800 install.log
-rw-r--r-- 1 root root 5976 2005-06-25 08:53:28.000000000 +0800 install.log.syslog
drwx------ 2 root root 4096 2005-07-04 16:03:24.000000000 +0800 .ssh
-rw------- 1 root root 12613 2005-07-16 23:40:13.000000000 +0800 .viminfo
# ХJӬݡAWyɶzܤFIܦ㪺榡C
# @ӻA ls -al ȦCXثeu榡ɶAɤ|CX~A
# ǥ --full-time iHd\Tɶ榡ڡI
|
ls Ϊk٦ܦhA]Ad\ɮשҦb i-node ls -i ѼơAHΥΨӶiɮױƧǪ -S
ѼơA٦ΨӬd\Pɶʧ@ --time=atime ѼơCӳoǰѼƪsbO] Linux
ɮרtΰOFܦhΪTtGC Linux ɮרtΤAoǻPvBݩʦƩb̩OH
b i-node ̭CoAڭ̷|bUӳ`~z@`JаڡI
LצpA ls ̱`QϥΨ쪺\٬O -l ѼơAAܦh distribution bw]pA
wgN ll (L pg) ]w ls -l NFIAӥ\O Bash shell alias \O
]NOAڭ̪J ll NOJ ls -l O@˪oAڭ̷|bĤT bash shell
ɦAjպw
ƻsBʻPRG cp, rm, mv
nƻsɮסAШϥ cp (copy) oӫOYi㤣LA cp oӫOγ~ihF
Fªƻs~A٥iHإ߳s (NO|o)Aɮתs¦ӤHsA
Hνƻsӥؿ\OIܩʥؿPɮסAhϥ mv (move)A
oӫO]iHӧ@W (rename) ʧ@IܩܡHNO rm (remove)
oӫOo㧐Uڭ̴N@@@
cp (ƻsɮשΥؿ)
[root@linux ~]# cp [-adfilprsu] ӷ(source) ت(destination)
[root@linux ~]# cp [options] source1 source2 source3 .... directory
ѼơG
-a G۷ -pdr NF
-d GYӷɬsɪݩ(link file)AhƻssݩʦӫDɮץF
-f Gj (force) NAYƩΨLðݮɡA|߰ݨϥΪ̡AӱjƻsF
-i GYت(destination)wgsbɡAbл\ɷ|߰ݬO_uʧ@I
-l Giws (hard link) sɫإߡAӫDƻsɮץF
-p GsPɮתݩʤ@_ƻsLhAӫDϥιw]ݩʡF
-r GjƻsAΩؿƻs欰F
-s GƻsŸs (symbolic link)AYy|zɮסF
-u GY destination source ¤~s destination I
̫ݭn`NApGӷɦӥHWAh̫@ӥتɤ@wnOyؿz~I
dҡG
dҤ@GNaؿU .bashrc ƻs /tmp UAçW bashrc
[root@linux ~]# cd /tmp
[root@linux tmp]# cp ~/.bashrc bashrc
[root@linux tmp]# cp -i ~/.bashrc bashrc
cp: overwrite `basrhc'? n
# Ƨ@⦸ʧ@Aѩ /tmp Uwgsb bashrc FA[W -i ѼơA
# hbл\e|߰ݨϥΪ̬O_TwIiHU n Ϊ y OI
# OAϹLӻApGQn߰ݮɡAh[W -f oӰѼƨӱjл\I
dҤGGN /var/log/wtmp ƻs /tmp U
[root@linux tmp]# cp /var/log/wtmp . <==QnƻsثeؿA̫᪺ . n
[root@linux tmp]# ls -l /var/log/wtmp wtmp
-rw-rw-r-- 1 root utmp 71808 Jul 18 12:46 /var/log/wtmp
-rw-r--r-- 1 root root 71808 Jul 18 21:58 wtmp
# `NFܡHIb[ѼƪpUAɮתݪ̷|ܡAsv]ۧܤF
# oOӫܭnSʡIn`NI٦Asɮإߪɶ]@ˤFI
# pGzQnNɮתҦSʳ@_ƻsLӡAiH[W -a I
[root@linux tmp]# cp -a /var/log/wtmp wtmp_2
[root@linux tmp]# ls -l /var/log/wtmp wtmp_2
-rw-rw-r-- 1 root utmp 71808 Jul 18 12:46 /var/log/wtmp
-rw-rw-r-- 1 root utmp 71808 Jul 18 12:46 wtmp_2
# AFaIӸƯSʧ@Ҥ@ˣIuOoNO -a SʡI
dҤTGƻs /etc/ oӥؿUҦe /tmp U
[root@linux tmp]# cp /etc/ /tmp
cp: omitting directory `/etc' <== pGOؿAઽƻsAn[W -r Ѽ
[root@linux tmp]# cp -r /etc/ /tmp
# ٬OnAjճI -r OiHƻsؿAOAɮPؿv|Qܡ
# ҥHA]iHQ cp -a /etc /tmp ӤUFOI
dҥ|GNdҤ@ƻs bashrc إߤ@ӳs (symbolic link)
[root@linux tmp]# ls -l bashrc
-rw-r--r-- 1 root root 395 Jul 18 22:08 bashrc
[root@linux tmp]# cp -s bashrc bashrc_slink
[root@linux tmp]# cp -l bashrc bashrc_hlink
[root@linux tmp]# ls -l bashrc*
-rw-r--r-- 2 root root 395 Jul 18 22:08 bashrc
-rw-r--r-- 2 root root 395 Jul 18 22:08 bashrc_hlink
lrwxrwxrwx 1 root root 6 Jul 18 22:31 bashrc_slink -> bashrc
# bashrc_slink O -s ѼƳyAإߪO@ӡy|zA
# ҥHz|ݨbɮת̥kA|ܳoɮOysz̥hI
# ܩ bashrc_hlink FIإߤFoɮפA bashrc P bashrc_hlink
# ҦѼƳ@ˡAuOAĤG檺 link Ƨܦ 2 FӤO쥻 1 I
# oسs觋PAڭ̷|bU@̭i椶ЪI
dҤGY ~/.bashrc /tmp/bashrc s~ƻsL
[root@linux tmp]# cp -u ~/.bashrc /tmp/bashrc
# o -u SʡAObؼɮPӷɮצtɡA~|ƻsC
# ҥHA`QΩyƥzu@I ^_^
dҤGNdҥ|y bashrc_slink ƻs bashrc_slink_2
[root@linux tmp]# cp bashrc_slink bashrc_slink_2
[root@linux tmp]# ls -l bashrc_slink*
lrwxrwxrwx 1 root root 6 Jul 18 22:31 bashrc_slink -> bashrc
-rw-r--r-- 1 root root 395 Jul 18 22:48 bashrc_slink_2
# oӨҤl]OܦI쥻ƻsOsɡAOoNsɪɮƻsLӤF
# ]NOApGS[WѼƮɡAƻsOlɮסAӫDsɪݩʡI
# YnƻssɪݩʡANonϥ -d Ϊ -a ѼƤFI
dҤCGNaؿ .bashrc .bash_history ƻs /tmp U
[root@linux tmp]# cp ~/.bashrc ~/.bash_history /tmp
# iHNhӸƤ@ƻsP@ӥؿhI
|
o cp \ܦhAӥѩڭ̱``bi@ǸƪƻsAҥH]|``ΨoӫOC
@ӻAڭ̦pGhƻsOH (MAɮױzn read v~ڡI ^_^) ɡA
`OƱƻs쪺Ƴ̫Oڭ̦ۤvAҥHA
bw]A cp
ӷɻPتɪvOPAتɪ֦̳q`|OOާ@̥C|ҨӻA
WdҤGAѩڬO root A]ƻsLӪɮ֦̻PsմNܦ root ҦFI
o˻AiHնܡHI ^_^
ѩ㦳oӯSʡA]Aڭ̦biƥɭԡAYǻݭnSO`NSvɮסA
ҦpKX (/etc/shadow) HΤ@dz]wɡANઽH cp ӽƻsAӥn[W -a Ϊ̬O -p
iHƻsɮvѼƤ~It~ApGzQnƻsɮLϥΪ̡A
]n`Nɮתv(]tŪBgBHɮ̵֦)A
_hALH٬OLkwzɮiqʧ@I`N`NI
ܩWdҷAĥ|ӽdҬO̦쪺Aϥ -l -s |إߩҿתs (link file)A
OoسsɽT@˪i{pCoO@^ưڡH
-l NOҿת hard link Aܩ -s hO symbolic link Ao̥СA
]oӯA i-node ѡAڭ٨SШAU@AӰQ׳o link DI
`Aѩ cp غتɮݩʻPvSʡAҥHAbƻsɡAznMAѨG
- O_ݭn㪺OdӷɮתTH
- ӷɮO_s (symbolic link file)H
- ӷɬO_SɮסAҦp FIFO, socket H
- ӷɬO_ؿH
rm (ɮשΥؿ)
[root@linux ~]# rm [-fir] ɮשΥؿ
ѼơG
-f GNO force NAjF
-i GʼҦAbRe|߰ݨϥΪ̬O_ʧ@
-r GjRڡI̱`ΦbؿRF
dҡG
dҤ@Gإߤ@ɮᤩHR
[root@linux ~]# cd /tmp
[root@linux tmp]# cp ~/.bashrc bashrc
[root@linux tmp]# rm -i bashrc
rm: remove regular file `bashrc'? y
# pG[W -i ѼƴN|Dʸ߰ݳIpGn߰ݩOHN[ -f ѼưڡI
dҤGGR@ӤŪؿ
[root@linux tmp]# mkdir test
[root@linux tmp]# cp ~/.bashrc test/ <== Nɮƻs즹ؿhANOŪؿF
[root@linux tmp]# rmdir test
rmdir: `test': Directory not empty <== RڡI]oOŪؿI
[root@linux tmp]# rm -rf test
dҤTGR@ӱa - }Yɮ
[root@linux tmp]# ls *aa*
-rw-r--r-- 1 root root 0 Aug 22 10:52 -aaa-
[root@linux tmp]# rm -aaa-
rm: invalid option -- a
Try `rm --help' for more information. <== ] "-" OѼƹI
[root@linux tmp]# rm ./-aaa-
|
oOO( remove )A۷ dos U del OIo̭n`NOAq`b Linux
tΤUAFɮ׳Q~AҥHܦh distributions wgw] -i oӰѼơA -i
OCɮ׳Qe|ϥΪ̽T{@AHw~ɮסIӦpGnsؿUF卖@_ܡA
Ҧplؿ̭٦lؿɡANnϥ -rf oӰѼƤFI
LAϥΡy
rm -rf zoӫOeAФdU`NFA]Aӥؿɮסy֩wz|Q root
I]tΤ|A߰ݧAO_n屼IҥHOӶWYOUFI
oSO`NILApGATwӥؿnFAϥ rm -rf Ӵ`O觋I
t~AdҤT]Oܦ쪺ҤlAڭ̦beNLAɦW̦nnϥ "-" }YA
] "-" ᭱OѼơA]AªϥΡy rm -aaa- ztΪON|~PաI
pGϥΫ᭱|ͨ쪺WܪkɡA٬O|XDIҥHAuLrO "-" kաI
NO[Wؿy ./ zYiIpG man rm ܡA٦@ؤkANOy rm -- -aaa-
z]iHڡI
mv (ɮPؿAΧW)
[root@linux ~]# mv [-fiu] source destination
[root@linux ~]# mv [options] source1 source2 source3 .... directory
ѼơG
-f Gforce jNAjʦӤ߰ݡF
-i GYؼɮ (destination) wgsbɡAN|߰ݬO_л\I
-u GYؼɮפwgsbAB source sA~|s (update)
dҡG
dҤ@Gƻs@ɮסAإߤ@ؿANɮײʨؿ
[root@linux ~]# cd /tmp
[root@linux tmp]# cp ~/.bashrc bashrc
[root@linux tmp]# mkdir mvtest
[root@linux tmp]# mv bashrc mvtest
# NYɮײʨYӥؿhANOo˰I
dҤGGN𫍧ؿW٧W mvtest2
[root@linux tmp]# mv mvtest mvtest2 <== o˴NWFI²
# b Linux U٦Ӧ쪺OAW٬ rename A
# ӫOhM¾iɮתWOIγ~]O֡iHѾ\ man rename I
dҤTGAإߨɮסAAʨ /tmp/mvtest2
[root@linux tmp]# cp ~/.bashrc bashrc1
[root@linux tmp]# cp ~/.bashrc bashrc2
[root@linux tmp]# mv bashrc1 bashrc2 mvtest2
# `NoApGhӨӷɮשΥؿAh̫@ӥؼɤ@wOyؿIz
# NOANҦƲʨӥؿNI
|
oOh (move) NIAnɮשΥؿɫAIoӫONܭnաI
P˪AA]iHϥ -u ( update )ӴշsɮסAݬݬO_ݭnhoI
t~@ӥγ~NOy
ܧɦWIzAڭ̥iHܻϥ
mv ܧ@ɮתɦWOILAb Linux ~OA rename A
iHΨӧjqɮתɦWAziHQ man rename Ӭd\@UA]O쪺OI
o|ɮצWٻPؿW
ڭ̫eЪɦW (]tؿWٻPɮצW) AɦW̪iHF 4096 ӦrC
zDӬOɦWHӬOؿWHKKINOQαu (/) ӤڡI
AoɦWΪ̬OؿW١A@몺γ~ӬObg{ɭԡAΨӧP_Ϊա
ҥHAoOiHΦbĤTg shell scripts YI
Uڭ²檺HXӽdҨӽͤ@ basename P dirname γ~I
[root@linux ~]# basename /etc/sysconfig/network
network <== ²INo̫᪺ɦW
[root@linux ~]# dirname /etc/sysconfig/network
/etc/sysconfig <== oܦؿWFI
|
²檺ΧaI
ڭ̴쪺uObɮתݩʻPvAΪ̬OʻPƻs@ɮשΥؿӤwA
pGڭ̭nd\@ɮת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γ~aI
- cat ѲĤ@}lɮפe
- tac q̫@}lܡAiHݥX tac O cat ˵ۼgI
- nl ܪɭԡADX渹I
- more @@ɮפe
- less P more AO more nOALiHe½I
- head uYX
- tail uݧڴX
- od HGi쪺觋ŪɮפeI
˵ɮפe
d\@ɮתeiHϥ cat/tac/nl oXӫOڡI
cat (concatenate)
[root@linux ~]# cat [-AEnTv]
ѼơG
-A G۷ -vET XѼơAiCX@ǯSrš
-E GN_r $ ܥXӡF
-n GCLX渹F
-T GN [tab] H ^I ܥXӡF
-v GCX@ǬݤXӪSr
dҡG
dҤ@G˾\ /etc/issue oɮתe
[root@linux ~]# cat /etc/issue
Fedora Core release 4 (Stentz)
Kernel \r on an \m
dҤGGӤWDAKCLX渹ɡI
[root@linux ~]# cat -n /etc/issue
1 Fedora Core release 4 (Stentz)
2 Kernel \r on an \m
3
# ݨFaIiHLX渹OIojɮnYӯSwɡAIγBI
dҤTGN /etc/xinetd.conf e㪺ܥX(]tSr)
[root@linux ~]# cat -A /etc/xinetd.conf
#$
# Simple configuration file for xinetd$
#$
# Some defaults, and include /etc/xinetd.d/$
$
defaults$
{$
^Iinstances = 60$
log_type = SYSLOG authpriv$
log_on_success^I^I= HOST PID$
log_on_failure^I^I= HOST$
^Icps^I^I^I= 25 30$
}$
$
includedir /etc/xinetd.d$
# b@몺ҤACLXӪGb [tab] PťAݤXӡA
# ϥ cat -A ɡA|N [tab] H ^I ܡA_r]|ܥXӡ
# ̯SMNO_rFIoӬqrb Linux P Windows O@˪C
# b Linux OH $ _rAӦb Windows hOH ^M$ _rC
# oڭ̷|b vi n骺ЮɡAAI
|
KKI Linux ̭yߡzHIIOA cat O Concatenate ]s^²gA
Dn\ON@ɮתesLXbùWIҦpWҤlAڭ̱N /etc/issue
LXӡIpG[W -n ܡAhC@eٷ|[W渹IӤHO֥ cat
աIAɮפeƶWL 40 HWAKKIڥӤάݡIҥHAtX@UnЪ more
Ϊ̬O less ӰnI~ApGO@몺 DOS ɮɡANݭnSOdN@ǩ__ǩǪŸFA
Ҧp_P [tab] AnܥXӡANo[J -A ѼƤFI
tac (ϦVC)
[root@linux ~]# tac /etc/issue
Kernel \r on an \m
Fedora Core release 4 (Stentz)
# KKIPWdҤ@AOѳ̫@ܳI
|
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ܥX zAܦnaI
nl (K[渹CL)
[root@linux ~]# nl [-bnw] ɮ
ѼơG
-b Gw渹w觋ADnءG
-b a GܤO_ŦA]P˦CX渹F
-b t GpGŦAŪ@椣nCX渹F
-n GCX渹ܪkADnTءG
-n ln G渹bù̥ܡF
-n rn G渹bۤv쪺̥kܡAB[ 0 F
-n rz G渹bۤv쪺̥kܡAB[ 0 F
-w G渹쪺Ϊ줸ơC
dҡG
dҤ@GCX /etc/issue e
[root@linux ~]# nl /etc/issue
1 Fedora Core release 4 (Stentz)
2 Kernel \r on an \m
# `NݡAoɮר꦳TAĤT欰ť(Sr)A
# ]LOťզAҥH nl |[W渹IpGTwn[W渹AiHo˰G
[root@linux ~]# nl -b a /etc/issue
1 Fedora Core release 4 (Stentz)
2 Kernel \r on an \m
3
# I渹[Wo㨺pGn渹e۰ʸɤW 0 OHio
[root@linux ~]# nl -b a -n rz /etc/issue
000001 Fedora Core release 4 (Stentz)
000002 Kernel \r on an \m
000003
# KKI۰ʦbۤv쪺aɤW 0 Fw]OơApGQn令 3 ơH
[root@linux ~]# nl -b a -n rz -w 3 /etc/issue
001 Fedora Core release 4 (Stentz)
002 Kernel \r on an \m
003
# ܦȦ 3 o
|
nl iHNXɮפe۰ʪ[W渹I䵲GP cat -n IӤ@ˡA
nl iHN渹hܳ]pA]AƻPO_۰ʸɻ 0 \O
i½˵
e쪺 nl P cat, tac AO@ʪNܨùWASiHi@@½ʪOڡH
ڭ̥iH@@[A~|eݤڡIINO more P less o
more (@@½)
[root@linux ~]# more /etc/man.config
#
# Generated automatically from man.conf.in by the
# configure script.
#
# man.conf from man-1.5p
#
.......ٲ.......
--More--(28%) <== Ibo@I
|
JӪLݨWdҡApG more ᭱ɮתפjùXƮɡA
N|X{WϥܡCIb̫@A̫@|ܥXثeܪʤA
ӥB٥iHb̫@J@ǦΪOIb more oӵ{B@L{AAXӫiHG
- ť (space)GNVU½@F
- Enter GNVU½y@zF
- /r GNboܪeAVUjMyrzF
- :f GߨܥXɦWHΥثeܪơF
- q GNߨ} more AAܸɮפeC
n} more oӫOܤu@AiHU q N}FCӭnVU½ANϥΪťYiC
ΪOjMrꪺ\A|ҨӻAڭ̨ϥΡy more /etc/man.config z[ɮסA
YQnbɮפjM MANPATH oӦrɡAiHo˰G
[root@linux ~]# more /etc/man.config
#
# Generated automatically from man.conf.in by the
# configure script.
#
# man.conf from man-1.5p
#
.......ٲ.......
/MANPATH <== JF / AдN|۰ʶ]̩U@浥ݿJI
|
pPWAJF / AдN|]̩U@AåBݱzJA
zJFrꤧAKKI more N|}lVUjMӦroӭƷjMP@ӦrA
iHU n YiڡI̫AQnݤFANU q Yi} more աI
less (@@½)
[root@linux ~]# less /etc/man.config
#
# Generated automatically from man.conf.in by the
# configure script.
#
# man.conf from man-1.5p
......ٲ........
: <== o̥iHݱzJOI
|
less Ϊk_ more S[uʡAOHb more ɭԡAڭ̨èSkVe½A
u᭱ݡAYϥΤF less ɡAINiHϥ [pageup] [pagedown]
䪺\өe½ݤAz@AOOeϥΨ[ݤ@ɮתeFOIH
~Ab less YiH֦hyjMz\IiHVUjMA]iHVWjM
bOܤΡWAiHJOG
- ť GVU½ʤ@F
- [pagedown]GVU½ʤ@F
- [pageup] GVW½ʤ@F
- /r GVUjMyrz\F
- ?r GVWjMyrz\F
- n Gƫe@ӷjM (P / ? I)
- N GϦVƫe@ӷjM (P / ? I)
- q G} less oӵ{F
d\ɮפe٥iHijMʧ@@ less O_ܤΰڡI
less ٦ܦh\IԲӪϥΤ觋Шϥ man less dߤ@UڡI ^_^
^
ڭ̥iHNXƧ@@ӳ²檺^ANOXe (head) PX᭱ (tail) r\C
LAn`NOA head P tail OHyzӶi^I
head (XeX)
[root@linux ~]# head [-n number] ɮ
ѼơG
-n G᭱ƦrANܴX檺N
dҡG
[root@linux ~]# head /etc/man.config
# w]pAܫeQIYnܫe 20 ANonoˡG
[root@linux ~]# head -n 20 /etc/man.config
|
head ^NNOyYzաAoӪF𫍧Ϊk۵MNOܥX@ɮתeXoI
SINOoˡIYS[W -n oӰѼƮɡAw]uܤQAYun@OHN[Jy
head -n 1 filename zYiI
tail (X᭱X)
[root@linux ~]# tail [-n number] ɮ
ѼơG
-n G᭱ƦrANܴX檺N
dҡG
[root@linux ~]# tail /etc/man.config
# w]pA̫᪺ܳQIYn̫᪺ܳ 20 ANonoˡG
[root@linux ~]# tail -n 20 /etc/man.config
|
head ۵MN tail ( ) oISIo tail Ϊk head
ΪkthAuOܪO᭱XNOFIw]]OܤQAYnܫDQAN[
-n number ѼơI
D@GpڷQn ~/.bashrc 11 20 OH
G
oӤAQ@QAb 11 20 Aڨe 20 AAQAҥHGNOGy
head Vn 20 ~/.bashrc | tail Vn 10 zAo˴NiHo 11 20 椧eFI
O̭AΨuROAݭnbĤTgɭԤ~I
|
D¤rɡG od
ڭ̤W쪺AObd\¤r (ASCII 榡ɮ) eC
U@ڭ̷Qnd\DrɡA|ҨӻAҦp /usr/bin/passwd oӰɪeɡA
SӦphŪXTOHƹWAѩɳq`O binary file AϥΤWY쪺OŪLeɡA
T|ýXưڡIHSYAڭ̥iHQ od oӫOŪI
[root@linux ~]# od [-t TYPE] ɮ
ѼơG
-t G᭱iHUءy (TYPE)zXAҦpG
a GQιw]rӿXF
c Gϥ ASCII rӿX
d[size] GQΤQi(decimal)ӿXơACӾƦ size bytes F
f[size] GQίBIƭ(floating)ӿXơACӼƦ size bytes F
o[size] GQΤKi(octal)ӿXơACӾƦ size bytes F
x[size] GQΤQi(hexadecimal)ӿXơACӾƦ size bytes F
dҡG
[root@linux ~]# od -t c /usr/bin/passwd
0000000 177 E L F 001 001 001 \0 \0 \0 \0 \0 \0 \0 \0 \0
0000020 002 \0 003 \0 001 \0 \0 \0 260 225 004 \b 4 \0 \0 \0
0000040 020 E \0 \0 \0 \0 \0 \0 4 \0 \0 \a \0 ( \0
0000060 035 \0 034 \0 006 \0 \0 \0 4 \0 \0 \0 4 200 004 \b
0000100 4 200 004 \b 340 \0 \0 \0 340 \0 \0 \0 005 \0 \0 \0
.....ٲ.......
|
QγoӫOAiHN data file Ϊ̬O binary file eƵLŪXӳI
MŪXӼƭȹw]OϥΫDrɡAYO 16 i쪺ƭȨܪA
LAڭ٬OiHzL -t c ѼƨӱNƤrH ASCII rܡA
M@ϥΪ̨ӻAoӫOγBiणjAOu{vӻA
oӫOiHN binary file e@@ӤjPXAL̥iHݱoXF𫍧ա ^_^
קɮɶPظmsɡG touch
ڭ̦b ls oӫOЮɡAyLCɮצb linux U|OTӥDnܰʮɶA
xITӮɶOTөOH
- modification time (mtime)GɮתyeơzܧɡAN|soӮɶI
eƫOɮתeAӤOɮתݩʳI
- status time (ctime)GɮתyA (status)zܮɡAN|soӮɶA|ҨӻA
OvPݩʳQFA|soӮɶڡ
- access time (atime)GyɮתeQΡzɡAN|soŪɶ (access)C
|ҨӻAڭ̨ϥ cat hŪ ~/.bashrc AN|s atime FC
oOӮ쪺{HA|ҨӻAڭ̨Ӭݤ@ݱzۤv /etc/man.config oɮתɶaI
[root@linux ~]# ls -l /etc/man.config
-rw-r--r-- 1 root root 4506 Apr 8 19:11 /etc/man.config
[root@linux ~]# ls -l --time=atime /etc/man.config
-rw-r--r-- 1 root root 4506 Jul 19 17:53 /etc/man.config
[root@linux ~]# ls -l --time=ctime /etc/man.config
-rw-r--r-- 1 root root 4506 Jun 25 08:28 /etc/man.config
|
ݨFܡHbw]pUA ls ܥXӪOɮת mtime A]NOoɮתeWQʪɶC
ܩڪtάOb 6/25 ɭԦw˪A]Aoɮ׳QͦOAQʪɶN^쨺ӮɶIFI
ٰOoڭ̨ϥΪdҷAϥΨoɮװڡAҥHڡAL atime N|ܦϥΪɶFI
ɮתɶOܭnA]ApGɮתɶ~PܡAi|yYǵ{LkQB@
OKIU@ڵo{F@ɮרӦۥ(KKInháIܦhɭԷ|oӰDIoӧڭ̦bw˪ɭԡA
쪺 GMT ɶNOӷNա)AӦpɮתɶܦy{bzɨOH
²ڡINΡytouchzoӫOYiI
[root@linux ~]# touch [-acdmt] ɮ
ѼơG
-a Gȭq access timeF
-c GȭקɶAӤإɮסF
-d G᭱iHA]iHϥ --date="ήɶ"
-m Gȭק mtime F
-t G᭱iHɶA榡[YYMMDDhhmm]
dҡG
dҤ@Gsؤ@ӪŪɮ
[root@linux ~]# cd /tmp
[root@linux tmp]# touch testtouch
[root@linux tmp]# ls -l testtouch
-rw-r--r-- 1 root root 0 Jul 19 20:49 testtouch
# `NAoɮתjpO 0 OIbw]AUApG touch ᭱ɮסA
# hɮתTӮɶ (atime/ctime/mtime) |sثeɶCYɮפsbA
# h|Dʪإߤ@ӷsŪɮ׳IҦpWoӨҤlI
dҤGGN ~/.bashrc ƻs bashrcA]ƻsݩʡAˬd
[root@linux tmp]# cp ~/.bashrc bashrc
[root@linux tmp]# ll bashrc; ll --time=atime bashrc; ll --time=ctime bashrc
-rwxr-xr-x 1 root root 395 Jul 4 11:45 bashrc <==oO mtime
-rwxr-xr-x 1 root root 395 Jul 19 20:44 bashrc <==oO atime
-rwxr-xr-x 1 root root 395 Jul 19 20:53 bashrc <==oO ctime
# boӮרҷAڭ̨ϥΤF ; oӫOjŸALΪkڭ̷|b Bash shell C
# ~A ll O ls -l ROOWAoӧڭ̤]|b bash shell AΡA
# zثeiH²檺QA ll NO ls -l ²gYiIܩ ; hOPɤUFӫOA
# BӫOy̧ǡz檺NCWGڭ̥iHݨAɮܧ
# Jul 4 11:45AO atime P ctime @o
dҤTGקרҤG bashrc ɮסANվ㬰ѫe
[root@linux tmp]# touch -d "2 days ago" bashrc
[root@linux tmp]# ll bashrc; ll --time=atime bashrc; ll --time=ctime bashrc
-rwxr-xr-x 1 root root 395 Jul 17 21:02 bashrc
-rwxr-xr-x 1 root root 395 Jul 17 21:02 bashrc
-rwxr-xr-x 1 root root 395 Jul 19 21:02 bashrc
# WӽdҤݬݡAӬO 19 骺ܦF 17 F (atime/mtime)
# LA ctime èSۧܳI
dҥ|GNWӽdҪ bashrc אּ 2005/07/15 2:02
[root@linux tmp]# touch -t 0507150202 bashrc
[root@linux tmp]# ll bashrc; ll --time=atime bashrc; ll --time=ctime bashrc
-rwxr-xr-x 1 root root 395 Jul 15 02:02 bashrc
-rwxr-xr-x 1 root root 395 Jul 15 02:02 bashrc
-rwxr-xr-x 1 root root 395 Jul 19 21:05 bashrc
# `NݬݡAb atime P mtime ܤFAO ctime hOOثeɶI
|
zL touch oӫOAڭ̥iHqɮתPɶCåBA]iHإߤ@ӪŪɮ׳I
LAn`NOAYϧڭ̽ƻs@ɮɡAƻsҦݩʡA]Skƻs ctime oݩʪC
ctime iHOoɮ׳̪A (status) QܪɶCLצpA٬OnijaA
ڭ̥ɬݪɮݩʤAn٬Oݩ mtime ڡIڭߪ``Ooɮתyez
OɭԳQʪAGH
LצpA touch oӫO̱`QϥΪpOG
- إߤ@ӪŪɮסF
- NYɮפqثe (mtime P atime)
ѫe@
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קI
oݩʥiO۷nAרObwW ( security )I
AӽƲߤ@UW@ͨ쪺vANUDݤ@ݥ
DGGAtΦӤ@먭ϥΪ dmtsaiALsլ usersALaؿb /home/dmtsaiA
AQNA ~/.bashrc ƻsL(]AO root)AiH@H
Gcp ~/.bashrc ~dmtsai/bashrc
chown dmtsai:users ~dmtsai/bashrc
|
bWoӽdҷAڬFл\ dmtsai ۤv ~dmtsai/.bashrc AҥHNɦWWF
ӽƻsLA٭nץoɮת֦̻Psդ~I
DTGڷQb /tmp Uإߤ@ӥؿAoӥؿW٬ chap2_2_ex1 AåBAoӥؿ֦̬ dmtsaiA
sլ users A~AHiHiJӥؿsɮסALF dmtsai ~ALHקӥؿUɮסC
G]F dmtsai ~ALHקӥؿUɮסA~A dmtsai iHקA
ҥHӥؿvӬO drwxr-xr-x ~I]
mkdir /tmp/chap2_2_ex1
chown -R dmtsai:users /tmp/chap2_2_ex1
chmod -R 755 /tmp/chap2_2_ex1
|
bWoӨDApGzD 755 ӤƬOpXӪAzӹv@w{תFC
pGzD 755 ӪH.....֦^he@ݬ
chmod
ӫOгڡIoܭnIzonMAѨ~_hNi椣Uho
]zv{ѪthFAUڭ̴Nnӽͤ@͡A
ysW@ɮשΥؿɡAw]vOHzoijDI
ɮw]vGumask
OKI{bڭ̪DpإߩΪ̬Oܤ@ӥؿɮתݩʤFALA
zDAإߤ@ӷsɮשΥؿɡALw]ݩʷ|OܡHINP umask
oӪNFI umask ObdOHWA umask NOw
y
ثeϥΪ̦bإɮשΥؿɭԪݩʹw]zA
poγ]w umask OHLwHU觋ӫwG
[root@linux ~]# umask
0022
[root@linux ~]# umask -S
u=rwx,g=rx,o=rx
|
d\觋ءA@إiHJ umask ANiHݨƦrAv]wơA
@ثhO[J -S (Symbolic) oӰѼơAN|HŸ觋ܥXvFI
_ǪOA umask ||ռƦrڡHOuTնܡHOSա
Ĥ@լOSvΪAڭ̥nzLAҥHݫ᭱TէYiC
bw]vݩʤWAؿPɮO@˪Cѩɮקڭ̤ƱL㦳i檺vOA
w]pAɮOSi (x) vC]G
- YϥΪ̫إ߬yɮסzhw]ySi ( x ) ءzAYu rw oӶءA]NO̤j
666 Aw]ݩʦpUG
-rw-rw-rw-
- YϥΪ̫إ߬yؿzAhѩ x PO_iHiJؿA]w]Ҧv}AY
777 Aw]ݩʦpUG
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 OHI
NOŪP檺vաIpGHWҤlӻܡA] umask 022 AҥH user
èSQݩʡAL group P others ݩʳQF 2 ( ]NO w oݩ )AѩϥΪ̡G
- إɮɡG(-rw-rw-rw-) V (-----w--w-) ==> -rw-r--r--
- إߥؿɡG(drwxrwxrwx) V (d----w--w-) ==> drwxr-xr-x
۫HܡHڭ̴NӴլݬݧaI
[root@linux ~]# umask
0022
[root@linux ~]# touch test1
[root@linux ~]# mkdir test2
[root@linux ~]# ll
-rw-r--r-- 1 root root 0 Jul 20 00:36 test1
drwxr-xr-x 2 root root 4096 Jul 20 00:36 test2
|
I@FaHITwݩʬOSCnFApڭ̷QnPϥΪ̦PsժH]iHsɮשOH
]NOAp dmtsai O users oӸsժHA dmtsai @ɮקƱ users PsժH]iHsA
o]O``QΦbζ}opeɡA``|Ҽ{쪺vDCbo˪pUA
ڭ̪ umask ۵M group w vA]NOAڭ̧Ʊs@XӪɮӬO -rw-rw-r--
ҼˡAҥHoA umask ӬOn 002 ~n (Ȯ others w v)Cp]w umask OH
²檺ܡAb umask ᭱J 002 NnFI
[root@linux ~]# umask 002
[root@linux ~]# touch test3
[root@linux ~]# mkdir test4
[root@linux ~]# ll
-rw-rw-r-- 1 root root 0 Jul 20 00:41 test3
drwxrwxr-x 2 root root 4096 Jul 20 00:41 test4
|
ҥHAo umask ɮPؿw]vOܦYIoӷiHΦbAWA
רOӦbz[]ɮצA (file server) A|ҨӻA
SAMBA Server Ϊ̬O
FTP server ɡA
Oܭn[IooAzϥΪ̬O_Nɮi@BQΪDInI
D|G]z umask 003 Aаݸ umask pUAإߪɮPؿvH
G
umask 003 AҥHݩʬ --------wxA]G
ɮסG (-rw-rw-rw-) - (--------wx) = -rw-rw-r--
ؿG (drwxrwxrwx) - (--------wx) = drwxrwxr--
|
umask Pvp觋AЬѳwϥΤGi쪺觋Ӷi AND P NOT pA
LA٬OwϥβŸ觋ӭppQWe@I
OAyΪ̬O BBS WB͡AHwϥɮw]ݩ 666 Pؿw]ݩ
777 ӻP umask i۴poOnIHWD|רҨӬݡA
pGϥιw]ݩʬۥ[AhɮܦG666-003=663AYO -rw-rw--wx AoiO諸I
QQݡA쥻ɮ״Nwgh x w]ݩʤFAiM_XӤFH
ҥHAoӦaonSOp߳I
bw]pA root umask |hݩʡAroot umask w]O 022 A
oOwҶqաܩ@먭ϥΪ̡Aq`L̪ umask 002 AYOdPsժgJvOI
Aw] umask ]wiHѦ /etc/bashrc oɮתeALAijקɮסA
ziHѦ bash shell 쪺ҰѼƳ]w (~/.bashrc) oڭ̦bĤTɭԷ|I
ɮݩʡG
Hɮ٦ݩʡHOEvN֭nƱFAM٦ݩʡAuOnR
OSkANOɮתݩʦsbڡILAoêݩʽTtΦܤjU
רObtΦw (Security) WAnOIUڭ̴Nӽͤ@ͦp]wPˬdoêݩʧaI
chattr (]wɮݩ)
[root@linux ~]# chattr [+-=][ASacdistu] ɮשΥؿW
ѼơG
+ GW[Y@ӯSѼơAL쥻sbѼƫhʡC
- GY@ӯSѼơAL쥻sbѼƫhʡC
= G]w@wABȦ᭱Ѽ
A G]wF A oݩʮɡAoɮ(Υؿ)sɶ atime (access)
NiQקAiקKҦpⴣqeϺ I/O ~po͡I
S Goӥ\I sync \INO|NƦPBgJϺзI
iHĪקKƬyI
a G]w a AoɮױNuW[ơAӤRAu root
~]woݩʡC
c Goݩʳ]wAN|۰ʪNɮסyYzAbŪɭԱN|۰ʸYA
ObxsɭԡAN|iYAxs(ݨӹjɮצGZΪI)
d Gdump(ƥ){dzQ檺ɭԡA]w d ݩʱNiϸɮ(Υؿ)㦳dump\
i Go i iNܼF`FILiH@ɮסyQRBWB]ws]LkgJ
ηsWơIztΦwʦ۷jUqI
j Gϥ ext3 oɮרtή榡ɡA]w j ݩʱN|ɮצbgJɥOb
journal IO filesystem ]wѼƬ data=journalled ɡAѩwg]wF
xFAҥHoݩʵLġI
s Gɮ׳]wF s ѼƮɡALN|QXoӵwЪŶC
u GP s ۤϪAϥ u ӳ]wɮɡAhƤe٦sbϺФA
iHϥΨ undeletion.
`NGoݩʳ]wWA`O a P i ]wȡAӥBܦh]wȥn
root ~]wI
dҡG
[root@linux ~]# cd /tmp
[root@linux tmp]# touch attrtest
[root@linux tmp]# chattr +i attrtest
[root@linux tmp]# rm attrtest
rm: remove write-protected regular empty file `attrtest'? y
rm: cannot remove `attrtest': Operation not permitted
# ݨFܡHIIIs root ]SkNoɮקROIѰ]wI
[root@linux tmp]# chattr -i attrtest
|
ooӫOOnAרObtΪwʤWIѩoݩʬOêʽAҥHݭnH
lsattr ~ݨݩI𫟺AӤH{̭n +i
oݩʤFA]LiH@ɮLkQʡAݭnjPtΦwHӻA
uO۷nIY٦۷hݩʬOݭn root ~]wOI~ApGO
log file oتnɡANݭn +a oӥiHW[AOק¦ƻPRѼƤFI
ˡHܴΧaIӴnɪ{ɡAڭ̦AӲ@p]wLaI
lsattr (ɮݩ)
[root@linux ~]# lsattr [-aR] ɮשΥؿ
ѼơG
-a GNɪݩʤ]qXӡF
-R GsPlؿƤ]@֦CXӡI
dҡG
[root@linux tmp]# chattr +aij attrtest
[root@linux tmp]# lsattr
----ia---j--- ./attrtest
|
ϥ chattr ]wAiHQ lsattr Ӭd\êݩʡCLA
oӫObϥΤWnSOpߡA_h|yܤjxZCҦpGYѧA߱nAMN
/etc/shadow oӭnKXOɮL]w㦳 i ݩʡALFYzѤA
AMnsWϥΪ̡Ao@LksWIOháA֥hN i ݩʮaI
ɮׯSvG
SUID/SGID/Sticky Bit
ڭ̫e@ɮתnvANO rwx oTŪBgB檺vC
OAyB̤ͭ@w`NF@ơANOAڭ̪ /tmp vǩǪH
٦A /usr/bin/passwd ]ǩǪH^ưڡHݬݥG
[root@linux ~]# ls -ld /tmp ; ls -l /usr/bin/passwd
drwxrwxrwt 5 root root 4096 Jul 20 10:00 /tmp
-r-s--x--x 1 root root 18840 Mar 7 18:06 /usr/bin/passwd
|
Ou rwx ܡH٦LSvڡH.....YS}lF @_@
An߰աAڭ̳o̥ͳovAuOФ@UӤwC
]nAѳoXӯSvAn㦳b ID AHε{{ (process) A
~i@BAѳoӯSvҥNNqC
Set UID
|s@X s P t vAOF@ϥΪ̦bYǵ{ɭԡA
Ȯɪ㦳ӵ{֦̪vC
|ҨӻnFAڭ̪DbPKXsɮרO /etc/passwd P /etc/shadow C
/etc/shadow oɮתvOHOy-r--------zCBL֦̬O root
IbovAȦ root iHyjzxsALHOsݳSkݪoI
Oϥ dmtsai oӤ@먭ϥΪ̥hsۤvKXɡAϥΪNO /usr/bin/passwd oӵ{A
oOiHsۤvKXA]NOA dmtsai oӤ@먭ϥΪ̥iHs /etc/shadow oӱKXɡI
IiH /etc/shadow NOS dmtsai iHsvڡIoNO s ovUաI
s ovb user x ɡA]NOW -r-s--x--x A٬ Set UID A²٬ SUID A
o UID NO User ID A User NhOoӵ{ (/usr/bin/passwd) ֦ (root ڡI)C
ѤWwqAڭ̪DFA dmtsai oӨϥΪ̰ /usr/bin/passwd
ɡALN|yȮɡzoɮ֦H root vC
SUID ȥiΦbyGiɮ(binary file)zWA
SUID ]O{b檺L{֦ɮ֦̪vA]ALȥiΩ binary file A
Φb妸 (shell script) WIoO] shell script uONܦh binary
ɥsiӰӤwIҥH SUID vA٬Oon shell script IsiӪ{]wA
ӤO shell script CMASUID ؿ]OLĪoInSOdNC
Set GID
i@BӻApG s vOb group ɡANO Set GID A²٬ SGIDC
SGID iHΦbӳI
- ɮGpG SGID O]wb binary file WAhרϥΪ̬O֡Abӵ{ɭԡA
Lĸs (effective group) N|ܦӵ{sթҦH (group id)C
- ؿGpG SGID O]wb A ؿWAhb A ؿҫإߪɮשΥؿ group AN|O
A ؿ group I
@ӻA SGID ӬOhΦbSwhHζM}oWA
btηӷ|ֳoӳ]w~
Sticky Bit
o Sticky Bit ثeuwؿġAɮפwgSĪGFC
SBit ؿ@άOGy
b㦳 SBit ؿUAϥΪ̭YbӥؿU㦳 w x vA
hϥΪ̦bӥؿUإɮשΥؿɡAuɮ֦̻P
root ~vORzCyܻGҳoӨϥΪ̩ A ؿUO֦ group Ϊ̬O other ءAåB֦ w vA
oܡyҨϥΪ̹ӥؿHإߪؿɮקii "R/W/h" ʧ@Cz
LA
pGN A ؿ[WF Sticky bit vخɡA
hҥuwۤvإߪɮשΥؿiR/W/ʵʧ@C
|ҨӻAڭ̪ /tmp vOydrwxrwxrwtzA
bo˪veUAHiHb /tmp sWBקɮסAȦɮ/ؿإߪ̻P root
RۤvؿɮסCoӯSʤ]OnڡIAiHo˰²檺աG
1. H root nJtΡAåBiJ /tmp F
2. touch testAåB test v 777 F
3. H@ϥΪ̵nJAöiJ /tmpF
4. էR test oɮסI
h SUID/SGID/Sticky Bit СAڭ̷|b
{ǻP귽z
AΪAثeAz²檺¦NnFIMA]iHѦҳQװϪo@gQסG
http://phorum.vbird.org/viewtopic.php?t=20256
SUID/SGID/SBIT v]w
eйL SUID P SGID \Ap}ɮרϦ㦳 SUID P SGID vOHI
oNݭn𫍧ƦrvkFI{bAӤwgDƦrAӧv觋yTӼƦrzզXA
pGboTӼƦreA[W@ӼƦrܡA̫eƦrNNoXݩʤFI
(
Gq`ڭ̨ϥ chmod xyz filename 觋ӳ]w filename
ݩʮɡAhO]S SUID, SGID Sticky bit աI )
- 4 SUID
- 2 SGID
- 1 Sticky bit
]nN@ɮݩʧאּy-rwsr-xr-xzɡAѩ s bϥΪvAҥHO SUID A]A
b 755 e٭n[W 4 A]NOGy chmod 4755 filename zӳ]wI~A٦j S Pj
T ͳIѦҩUdҰաI(
`NGUdҥuOmߦӤwA
ҥHϥΦP@ɮרӳ]wAzA
SUID OΦbؿWA SBIT OΦbɮפWI)
[root@linux ~]# cd /tmp
[root@linux tmp]# touch test
[root@linux tmp]# chmod 4755 test; ls -l test
-rwsr-xr-x 1 root root 0 Jul 20 11:27 test
[root@linux tmp]# chmod 6755 test; ls -l test
-rwsr-sr-x 1 root root 0 Jul 20 11:27 test
[root@linux tmp]# chmod 1755 test; ls -l test
-rwxr-xr-t 1 root root 0 Jul 20 11:27 test
[root@linux tmp]# chmod 7666 test; ls -l test
-rwSrwSrwT 1 root root 0 Jul 20 11:27 test
# oӨҤlNnSOp߰աI|X{jg S P T OHOpgܡH
# ] s P t ON x oӰѼƪAOASo{Aڭ̬OUF
# 7666 I]NOA user, group H others S x oӥi檺лx
# ( ] 666 I )AҥHAo S, T NNOyŪzաIH
# SUID Oܡyɮצb檺ɭԡA㦳ɮ֦̪vzAOɮ
# ֦̳LkFĄӪvLHϥΡHMNOŪաI ^_^
|
ɮGfile
pGAQnDYɮתơAҦpOݩ ASCII Ϊ̬O data ɮסAΪ̬O binary A
B𫟺SϥΨʺA祃w (share library) TANiHQ file oӫO˾\I
|ҨӻG
[root@linux ~]# file ~/.bashrc
/root/.bashrc: ASCII text <== iDڭ̬O ASCII ¤rɰڡI
[root@linux ~]# file /usr/bin/passwd
/usr/bin/passwd: setuid ELF 32-bit LSB executable, Intel 80386, version 1
(SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), stripped
# ƥihF]AoӤ Set UID 2ɮסAϥ shared libsA
# AX Intel 386 HWتwAܲMaI
[root@linux ~]# file /var/lib/slocate/slocate.db
/var/lib/slocate/slocate.db: data <== oO data ɮסI
|
zLoӫOAڭ̥iH²檺P_oɮת榡I
ɮת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ٮɶաI
which (Myɡz)
[root@linux ~]# which [-a] command
ѼơG
-a GNҦiH쪺OCXAӤĤ@ӳQ쪺OW
dҡG
[root@linux ~]# which passwd
/usr/bin/passwd
[root@linux ~]# which traceroute -a
/usr/sbin/traceroute
/bin/traceroute
|
oӫOOھڡy
PATHzoܼƩҳWd|AhjMyɡzɦW
ҥHAIOXyɡzӤwIB which ᭱OyɦWzIY[W -a
ѼơAhiHCXҦiH쪺PWɡAӫDܲĤ@ӦӤwI
whereis (MSwɮ)
[root@linux ~]# whereis [-bmsu] ɮשΥؿW
ѼơG
-b :u binary ɮ
-m :ub manual |Uɮ
-s :u source ӷɮ
-u :SɪɮסI
dҡG
[root@linux ~]# whereis passwd
passwd: /usr/bin/passwd /etc/passwd /etc/passwd.OLD
/usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz
# P passwd ɦW|QCXӡ
[root@linux ~]# whereis -b passwd
passwd: /usr/bin/passwd /etc/passwd /etc/passwd.OLD
[root@linux ~]# whereis -m passwd
passwd: /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz
|
@Uڭ̷| find oӷjMOA find OܱjjjMOAɶΪܤjI
(] find OjMwСApGAwФªܡ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ɮסI
ӥB]䤣̷sإߪɮשOI
oNO]oӫOOѸƮwGhjMɮתҦbڡI
t~AW Linux Cѷ|w Linux DWҦɮתҦbijMƮwsA
s{NO updatedb AAiHb FC4 tΪ /etc/cron.daily/slocate.cron
oɮקIMA]iHϥ /usr/bin/updatedb ӧsƮwɮשOI
locate
[root@linux ~]# locate filename
[root@linux ~]# locate passwd
/lib/security/pam_passwdqc.so
/lib/security/pam_unix_passwd.so
/usr/lib/kde3/kded_kpasswdserver.so
/usr/lib/kde3/kded_kpasswdserver.la
.......ٲ.......
|
o locate ϥΧ²Ab᭱JyɮתW١zANo쵲GC
|WҤlӻAڿJ locate passwd AbɦW (]t|W) Aun passwd b𫟺A
N|QܥXӪIo]OӫܤKnΪOApGzѰOYɮתɦWɡ
OAoӪF٬OϥΤWIOHz|o{ϥ locate ӴMƪɭԯSO֡A
oO] locate M䪺ƬOѡy
wإߪƮw /var/lib/slocate/z
̭ƩҷjM쪺AҥHΪbhwзsơAIMOܧֳtoI
OHNO]LOgѸƮwӷjMAӸƮwإ߹w]ObCѰ@
(C distribution PA FC4 OCѧsƮw@I)AҥHzsإ߰_ӪɮסA
o٦bƮwsejMɮסA locate |iDzy䤣IzI]nsƮwrI
ڨ쩳nإ߭ǸƮwOHO_nإߡHGݭnAoӮɭԡA
AiHۤvܻݭnإɮƮwؿOIAiHb /etc/updatedb.conf oɮפ]wC
ijzϥιw]ȴNnFALAb /etc/updatedb.conf ̭AЧyDAILY_UPDATE=noz令
yDAILY_UPDATE=yeszNnFCܩק諸kڭ̲ĤT vi AzN|oo
MաA]iHۦʰ updatedb YiI
find
[root@linux ~]# find [PATH] [option] [action]
ѼơG
1. PɶѼơG
-atime n Gn ƦrANqb n Ѥey@ѤzQ access LɮסF
-ctime n Gn ƦrANqb n Ѥey@ѤzQ change LAɮסF
-mtime n Gn ƦrANqb n Ѥey@ѤzQ modification LɮסF
-newer file Gfile @ӦsbɮסANOAunɮפ file ٭nsA
N|QCXӡ
2. PϥΪ̩θsզW٦ѼơG
-uid n Gn ƦrAoӼƦrOϥΪ̪b IDAY UID Ao UID OOb
/etc/passwd ̭PbWٹƦrCo譱ڭ̷|bĥ|gСC
-gid n Gn ƦrAoӼƦrOsզW٪ IDAY GIDAo GID Ob
/etc/groupAЧڭ̷|ĥ|g
-user name Gname ϥΪ̱bWٳIҦp dmtsai
-group nameGname sզWٳAҦp users F
-nouser GMɮת֦̤sb /etc/passwd HI
-nogroup GMɮת֦sդsb /etc/group ɮסI
zۦw˳nɡAܥiӳn骺ݩʷèSɮ̡֦A
oOiIboӮɭԡANiHϥ -nouser P -nogroup jMC
3. PɮvΦW٦ѼơG
-name filenameGjMɮצW٬ filename ɮסF
-size [+-]SIZEGjM SIZE ٭nj(+)Τp(-)ɮסCo SIZE W榳G
c: N byteA k: N 1024bytesCҥHAn 50KB
٭njɮסANOy -size +50k z
-type TYPE GjMɮת TYPE ADnG@륿Wɮ (f),
˸mɮ (b, c), ؿ (d), s (l), socket (s),
FIFO (p) ݩʡC
-perm mode GjMɮݩʡynz mode ɮסAo mode chmod
ݩʭȡA|ҨӻA -rwsr-xr-x ݩʬ 4755 I
-perm -mode GjMɮݩʡynnA mode ݩʡzɮסA|ҨӻA
ڭ̭njM -rwxr--r-- AY 0744 ɮסAϥ -perm -0744A
@ɮתݩʬ -rwsr-xr-x AY 4755 ɡA]|QCXӡA
] -rwsr-xr-x ݩʤwgnAF -rwxr--r-- ݩʤFC
-perm +mode GjMɮݩʡy]t@ mode ݩʡzɮסA|ҨӻAڭ̷jM
-rwxr-xr-x AY -perm +755 ɡA@ɮݩʬ -rw-------
]|QCXӡA]L -rw.... ݩʦsbI
4. B~ii檺ʧ@G
-exec command Gcommand LOA-exec ᭱iAB~OӳBzjM
GC
-print GNGCLùWAoӰʧ@Ow]ʧ@I
dҡG
dҤ@GNLhtΤW 24 pɤʹLe (mtime) ɮצCX
[root@linux ~]# find / -mtime 0
# 0 OII0 NثeɶAҥHAq{b}l 24 pɫeA
# ܰʹLeɮ׳|QCXӡIpGOTѫe 24 pɤH
# find / -mtime 3 ANOѤe 3*24 ~ 4*24 pɤ
# ܰʹLɮ׳QCXNIP -atime P -ctime ΪkۦPC
dҤGGM /etc UɮסApGɮפ /etc/passwd sNCX
[root@linux ~]# find /etc -newer /etc/passwd
# -newer ΦbɮפsYOܦΪI
dҤTGjM /home Uݩ dmtsai ɮ
[root@linux ~]# find /home -user dmtsai
# oӪF]ܦΪڭ̭nX@ӨϥΪ̦btηҦɮɡA
# NiHQγoӫONݩYӨϥΪ̪Ҧɮ׳XӳI
dҥ|GjMtΤݩHɮ
[root@linux ~]# find / -nouser
# zLoӫOAiHNXǤӥ`ɮסC
# pG줣ݩtΥHɮɡAnӺiA
# ɭԬO`רOzgHlXۦsĶnɡC
dҤGXɦW passwd oɮ
[root@linux ~]# find / -name passwd
# Qγo -name iHjMɦWڡI
dҤGjMɮݩʬ f (@ɮ) ɮ
[root@linux ~]# find /home -type f
# o -type ݩʤ]ܦUIרOnXǩDzɮסA
# Ҧp socket P FIFO ɮסAiH find /var -type p -type s ӧI
dҤCGjMɮt SGID/SUID/SBIT ݩ
[root@linux ~]# find / -perm +7000
# ҿת 7000 NO ---s--s--t Aunt s t NCXA
# ҥHMnϥ +7000 Aϥ -7000 ܭnt ---s--s--t ҦTvA
# ]ANO +7000 AGH
dҤKGNWӽdҧ쪺ɮרϥ ls -l CXӡ
[root@linux ~]# find / -perm +7000 -exec ls -l {} \;
# `NA -exec ᭱ ls -l NOB~OA
# Ө {} NOy find 쪺ezNҥHA -exec ls -l {}
# NONe쪺ɮץH ls -l CXơIܩ \; hO
# -exec O즹NNOAӫOub
# -exec (̭NOOUF) \;
# ]NOA-exec ̫@wnH \; ~IoAѤFܡHI
dҤEGXtΤAj 1MB ɮ
[root@linux ~]# find / -size +1000k
# Mb man page iHϥ M P G ON MB P GBA
# LAͫoդXӳoӥ\ҥHAثeӬOȤ䴩 c P k aI
|
pGAnM@ɮתܡAϥ find |O@ӤDNI
LiHھڤPѼƨӵɮתjM\IҦpAnM@ɦW httpd.conf
ɮסAADLӬOb /etc UANiHϥΡy find /etc -name httpd.conf zPI
pGAOo@ɮɦ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
AޫA find bMSɮݩʡAHίSɮv (SUID/SGID) ɡA
O۷Ϊu{@InnI
- O|P۹|
|gk / }lgAܩ۹|h / }lgI~A۹|۹ثeu@ؿ|I
- p@ӥؿW١HҦp /home/test ܬ /home/test2
mv /home/test /home/test2
- PATH oܼƪNqH
oӬOΨӫwɰ檺ɭԡAɮjMؿ|C
- umask γBPuIH
umask iH@ݩʡA]AAwq umask UtΪwA
]LiHΨӫإ߹w]ؿɮתvC
- @ӨϥΪ̪ umask O 033 P 044 LҫإߪɮPؿvH
b umask 033 ɡAhw]O group P other w(2)x(1)
vA]vNyɮ -rw-r--r-- A ؿ drwxr--r-- zӷ
umask 044 ɡAh r ݩʡA]Nyɮ -rw--w--w-Aؿ drwx-wx-wxz
- O SUID H
@ӫO㦳 SUID \ɡAhLHϥγoӫOɡAӵ{DZN㦳O֦̪vC
- ڭnd /usr/bin/passwd oɮת@ݩʮɡAiHϥΤOӬdߡH
ls -al, file, lsattr
- ե find Xثe linux tΤAҦ㦳 SUID ɮצǡH
find / -perm -4000 -print