我是大帅哥,擅长LINUX和C语言,还有脚本,希望和大家交朋友 mail:newhitler@163.com

《bash shell》练习题

上一篇 / 下一篇  2007-07-22 22:29:21 / 个人分类:LINUX系统

1).更改Shell
9A!Q~%gfB(t$B J)XP01.1).利用PS1变量改变命令提示,新提示符包括使用者帐号名称,主机名,完整路径,时间,历史命令个数
'HUF2AH.Kx01.2).更改ls显示目录文件的颜色为白色字体,蓝色背景
Dd:S;kGA0
u&|3O~ H0参考答案:
q{6g&]8G\u,f0PS1='[\u@\h \w \A #\#]\$ '
'chUz?0echo $LS_COLORSLUPA开源社区W"LEVn8HK#x|
declare -x LS_COLORS=$LS_COLORS:"di=00;37;44"LUPA开源社区I[YO G0w*q
LUPA开源社区 XTS$O5P(Fa,Q'L
LUPA开源社区,P/L\D9M*F!?n nE:w
2).显示本SHELL的PID值LUPA开源社区 } PdU9xw-s
 
?/HL'c"~3T0参考答案:
*a3LR [T5En0echo $$LUPA开源社区d df e(O
LUPA开源社区&E.S*YFoha.n-c0j
 LUPA开源社区(R_-\P4{%}^6@4w[
3).显示上个命令的回传码LUPA开源社区Wk6u5y.O {
 LUPA开源社区'Y0Sg*gaB$N D#@ U-t
参考答案:LUPA开源社区hH5r/I#t!Hs
echo $?LUPA开源社区6^g cc|A-s
 LUPA开源社区`$z'y9j$c-z0d0u
 
,~{KH0o bj bLP/r-n04).提示使用者 30 秒內输入自己的名字,将该输入字串做成 named 变量LUPA开源社区 O#M/W^I3G2pWw)i
 LUPA开源社区 qA;~ }s LL
参考答案:LUPA开源社区dS6d5u$sa
read -p "Please keyin your name: " -t 30 namedLUPA开源社区4z7x b-e3Y7JKe
 LUPA开源社区D7V9]_3Jh/MYw
 LUPA开源社区$_*L lp,_ S:x
5).变量运算LUPA开源社区*T2@"@A a.s!z
5.1).进行 100+300+50 的加运算,将结果存入数值变量sumLUPA开源社区9G&H(W_I { yW7g$|
5.2).定义a=3,b=5,输出a+b的和
Z RY Jgj9B05.3).显示输出Your cost is $5.00
(o:`_gd?0 
(Lw5`Fw.a7aQ0参考答案:
'H#`X1q1HC:Lz_`#U+z0declare -i sum=100+300+50LUPA开源社区!u[o$C { TmC8Z
echo $sumLUPA开源社区Ght Q;v:a`a
 
7u&v*`8I]F`WfPY0a=3LUPA开源社区fRfI0u Q
b=5
u5y4a w,q0_ o6r0echo $[$a + $b]
_Az^cK0
^!B3Cj W7b)W0echo Your cost is \$5.00
,^4Z @*E3Y ]1i(_0LUPA开源社区 ^sl7k'[
LUPA开源社区7i ? eTfUO3e
 
d.XET]B06).让sum变量变成环境变量
2V}e%Q)w NR0 
q q`u,l/~F0参考答案:LUPA开源社区"}kiY6b
declare -x sum
u]A)`+y:`,o'n.m;]f0export|grep sumLUPA开源社区5dArc)zm*TK4_,XZ
 
,f&K)f.uw,t w0 
:n3G/Xm1OQu;iF07).将sum变量变成只读变量
7\D%k W6q7J:d0 
T5UB \le0参考答案:
5b7T3sw HjI3d+t0declare -r sum
do#N)E$A{BAY0sum=love
\#GP3aY3cr0 LUPA开源社区 hSQ4c4C
 LUPA开源社区"D*aG5xYz|6`vT
8).立即将当前的历史命令写到history档案中LUPA开源社区 L7y.v#p+v
 
*v\,lM };Y0参考答案:LUPA开源社区qaV#IQ
history -wLUPA开源社区n!w#[\BM
 LUPA开源社区Fd LKsIl y`
 LUPA开源社区5~$}['F/D)B"m \ z
9).显示所有stty的参数,将erase更改为ctrl+h
xK$s E`\0 
y/v:K-h$Ts%w+p0参考答案:
w:Y#SfN5RQ0stty -aLUPA开源社区#]hE&Q.Hu%I8I
stty erase ^hLUPA开源社区UH9j^[
 LUPA开源社区] sG1V D3T$O Z4q
 
w%Sw-U%[010).将erase更改为默认的后退键(backspace)
,s)^h+U_gQ,y0 LUPA开源社区m&zrv:C9F)yO
参考答案:
hl!h[*]0stty erase ^?LUPA开源社区Q \w2H0DAU
 LUPA开源社区e3v \3Vs!ZV?
 LUPA开源社区-T [p}*i:_-jT
11).打印PATH 变量的第五个路径LUPA开源社区*d'boK)aH[nQ]
 
|C7_Qu7y e:}TR)K0参考答案:LUPA开源社区s7r G:J~L
echo $PATH|cut -d ':' -f 5LUPA开源社区u Zi(^!^)V&LbDM} W
 LUPA开源社区t B m8]4q'Q
 LUPA开源社区-I/j!A9B].Wwk
12).打印PATH变量的第3列与第5列
$ly-n ^)W+Xf0 LUPA开源社区fU+S8n \'[3y9K}0U
参考答案:
?8ps6Uv^ X0echo $PATH | cut -d ':' -f 3,5
$A1@9Fpi.i0 
Ba1B:GC;lS0 
X[%@3J6u{:^[:Q013).输出export命令的信息,但要求是每行第12字符以后的字串LUPA开源社区 cE)OEW+@2b*[g
 
uh'J%Lo1J w\ w0参考答案:LUPA开源社区 DCjnHp7r-C
export | cut -c 12-
rv$A[r(G0 
y3a5v ZeI~0 LUPA开源社区;o+O*i1K9C
14).显示/etc/passwd 內容是以 : 来分隔的,以字符形式来排序第三栏LUPA开源社区|5X1qX2d
 
(I e [/Z1goefab0参考答案:LUPA开源社区$@s3h nzH)fG
cat /etc/passwd | sort -t ':' -k 3
'Z;G!l)Qh0 LUPA开源社区r.l:J0e'|
 LUPA开源社区!`5|P YBp7S
15).显示/etc/passwd 內容是以 : 来分隔的,以数字形式来排序第三栏
:oIGuM[Yr0 LUPA开源社区]]0`k*kj
参考答案:
AiL _*Z1X`0cat /etc/passwd | sort -t ':' -k 3 -n
/C(l1I5A3Q0 
$yJ#j(InX*K&P b0 LUPA开源社区2L1Z cLiqr2m
16).聚合last命令的帐号一栏LUPA开源社区y| c(V,u
 
` }.c8j wc"f0参考答案:LUPA开源社区&Qi;~b h wQP E3\:g
last | cut -d ' ' -f1 | sort | uniq -cLUPA开源社区?{(b@g.Oqu
 
{'`X o!oq0 LUPA开源社区5E$eS9};EpU
17).将ls -l /home资料存一份到 ~/homefile ,同时输出到屏幕
5X]Z+E*o,L,J0 LUPA开源社区vciw W+~-w7}
参考答案:
?4iB-A!@l)Z0ls -l /home | tee ~/homefile | more
f*\8ER6F0xc3|0 LUPA开源社区~4@i7~n$Rok*h$Z_
 LUPA开源社区QdL(c Z8k5A+x|D
18).将ls -l /资料追加一份到~/homefile下,同时输出到屏幕
_4_2WF+@B0 
L[*Je/u+L0参考答案:
Yl"X&Wcd*q0ls -l / | tee -a ~/homefile | moreLUPA开源社区5[+lMBc7?
 LUPA开源社区(x;e/Ev5y&rC
 
;ju5n/[ S[019).打印输出/etc/passwd文件,将冒号 (:) 删除LUPA开源社区7BC#Q af L#R6H J%t8a
 
T-J%`aT G0参考答案:LUPA开源社区a#u9JJ ING \!DJ$kl
cat /etc/passwd | tr -d ':'
z c|xv0 LUPA开源社区]A0t5_/S h+feF.S%~2k2`
 LUPA开源社区i$E1m'yM$g1r
20).将 /etc/passwd 与 /etc/shadow 相关资料整合成一栏LUPA开源社区|YXmna l)x Eg4V
 LUPA开源社区*z5y1I$R-b A/OY8e$MW
参考答案:
k C9Rj*g0join -t ':' /etc/passwd /etc/shadowLUPA开源社区|6D X lL w"^ e,s,[?i/^{
 
jI![t.q+J0 
L0`/]0s0YA021).将 /etc/passwd 与 /etc/group 整合,依据的是/etc/passwd第4列的GID,及/etc/group第3列的GIDLUPA开源社区*Gyra)q0o.MpY*@
 LUPA开源社区&l(s.Qq8cMu
参考答案:
9CoH'y&GD0join -t ':' -1 4 /etc/passwd -2 3 /etc/groupLUPA开源社区gZ.a}E1M(~9eB,B
 
UZK|g0?,go0 
,~ F*N[*C)up5~t R:F022).将 /etc/passwd 与 /etc/shadow 同一行贴在一起LUPA开源社区;]M:WW['m G
 
3nn3r D3AN0参考答案:
b-\]3y@yo,X ]0paste /etc/passwd /etc/shadow
Wb3X1fot0 LUPA开源社区!xH5lA#e1{9C
 LUPA开源社区)[M+[ X3j)H)|
23).通过ulimit,显示所有当前资源极限
0A8F0`A[^0 
%F\|1} iL$r@9Y0参考答案:
*v"viep`)`,jT/Z-F0ulimit -a
pgK'^!i,I0 LUPA开源社区 @/m)tI R
 
*ZX"F.A#K A wH i024).通过ulimit设置创建文件的最大块为1,一块为512字节,拷贝passwd文件进行测试
}~/_L5CUsK0A7K o0 
fP6ygF0参考答案:LUPA开源社区i Ui)A V-h{#_$f-sV4d
ulimit -f 1LUPA开源社区'd%z;|j'QH
cp /etc/passwd .
i7K6f{(\bSe"N-a0 LUPA开源社区fQ.K:EB
 LUPA开源社区Zj6Gsms}:Wi
25).通过ulimit设置创建文件的最大块数为无限制LUPA开源社区ot;y/Ah?n2L
 LUPA开源社区4FKO0ec|$I(o @
参考答案:LUPA开源社区}8i,Z,VVc
ulimit -f unlimitedLUPA开源社区`#M.rIa9kC.~&C
 
U @Ri']_&@I{0 
UcA$g!X?026).查看/etc/passwd文件,依据每行的第二个字符进行排序
$I)K'y ~^J8_0 LUPA开源社区)y3I'D4fPCi[7@7K
参考答案:
})`?.G._;RL$Z:k3v0cat /etc/passwd|sort -k 1.2LUPA开源社区&G[l;e2t ?X2y
 LUPA开源社区`3}%qC1R RR xRV?
 LUPA开源社区1be@k-XR"e
27).查看/etc/yp.conf是否有拼写错误
8EG d'k Oj }+W0 
].[#r8G#Jp^0参考答案:LUPA开源社区6KNyHMM|
aspell check /etc/yp.conf
5y)YKB_]~&R!Rt2n0
)]0_P wUf&A)~0Eh&x[U0
Z0n(~ [V]/A^028).xargs的用法LUPA开源社区 jp8q1p5h0E
28.1).新建三个文件:1.txt,2.txt,3.txtLUPA开源社区k]] H)pF3p-kK'z'Gc!i
28.2).用ls -l将三个文件名重定向到delete.txtLUPA开源社区?+}t#R [ C;kz
28.3).用xargs通过delete.txt将三个文件删除
JhW/Uj N6{o+C0LUPA开源社区2D@Q.Yr J7Oo.v
参考答案:LUPA开源社区n*Y~-j(BrX
touch 1.txt 2.txt 3.txtLUPA开源社区~5JH)R R1Aq2D,e9KQ
LUPA开源社区?/py7O&`;t2\&H
ls -l 1.txt 2.txt 3.txt|awk '{print $9}'>delete.txtLUPA开源社区5P4u]qE-KVe:l

]\ \|,D+Mr0cat delete.txt |xargs rm -fLUPA开源社区}*LP$^6u
LUPA开源社区Ek5sK\M(u

$ZTAA ~+m029).BASH内置的命令集
#SWr}$OIw029.1).查看内置的命令集LUPA开源社区"Z6OY/O-F'S ]'|
29.2).尝试打开BASH下vi属性,按esc键进入vi的命令操作介面,敲i进入插入,敲入hacker,敲esc键,用dd删除当前行LUPA开源社区6i;S&Z;AR(iolZ M
29.3).关闭BASH的vi属性
)h;G#D0EibB0]/qF0
4y"n OfDo;G ]0参考答案:
4da)T&|`!A(z0set -oLUPA开源社区(cThm(?~ H
set -o viLUPA开源社区Os$J-ir9Y:w(VD
set +o vi或用bash命令恢复LUPA开源社区cB o5kY6r

5_'V:t(H1u7zS;H0LUPA开源社区A#y+Z P*KI]
30.1).在shell下搜索之前最近输入的以aspell为关键词的命令
`V*u,i$m&IQ030.2).输入aspell check /etc/pnm2ppa.conf,将光标移到行首,再将光标移到行尾LUPA开源社区^G3Z-{.p%qOu
30.3).剪切命令行中光标所在处之前的所有字符(不包括自身),粘贴刚才剪切的命令行LUPA开源社区5UP Tz,E]
30.4).退到行首,剪切命令行中光标所在处之后的所有字符,包括自身LUPA开源社区9iWI Nx
LUPA开源社区,^ M7r/FRwy
参考答案:
Um.oY;O%oq)T0ctrl+rLUPA开源社区5q@v Yb]
输入aspell
%l1A-qJ"uwf6O0LUPA开源社区 U}G{8j"smB
Ctrl+aLUPA开源社区!D6J.z PIr6j
Ctrl+eLUPA开源社区q1r"ud%O#Y {4Z"R

I*LU |:Lk2jd0LUPA开源社区w$A&_8Y.[Z9?H
Ctrl+u
-[$q N7oet0Ctrl+yLUPA开源社区4{!`e{DP?mZ`9{
Ctrl+aLUPA开源社区4hD%MLMV^5t*`
Ctrl+kLUPA开源社区(Cdu[o4QY{? z

TAG: Linux系统 linux练习题 LS_COLORS stty

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-10-16  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 19554
  • 日志数: 62
  • 建立时间: 2007-07-22
  • 更新时间: 2008-10-15

RSS订阅

Open Toolbar