Linux Shell上手练习题

1).更改Shell
1.1).利用PS1变量改变命令提示,新提示符包括使用者帐号名称(u),主机名(h),完整路径(w),时间(A),历史命令个数(\#)
1.2).更改ls显示目录文件的颜色为白色字体,蓝色背景

参考答案:
PS1='[\u@\h \w \A #\#]\$ '
echo $LS_COLORS
declare -x LS_COLORS=$LS_COLORS:"di=00;37;44"


2).显示本SHELL的PID值
 
参考答案:
echo $$

 
3).显示上个命令的回传码
 
参考答案:
echo $?
 
 
4).提示使用者 30 秒內输入自己的名字,将该输入字串存储到 named 变量
 
参考答案:
read -p "Please input your name: " -t 30 named
 
 
5).变量运算
5.1).进行 100+300+50 的加运算,将结果存入数值变量sum
5.2).定义a=3,b=5,输出a+b的和
5.3).显示输出Your cost is $5.00
 
参考答案:
declare -i sum=100+300+50
echo $sum
 
a=3
b=5
echo $[$a + $b]

echo Your cost is \$5.00


 
6).让sum变量变成环境变量
 
参考答案:
declare -x sum
export|grep sum
 
 
7).将sum变量变成只读变量
 
参考答案:
declare -r sum
sum=love
 
 
8).立即将当前的历史命令写到history档案中
 
参考答案:
history -w
 
 
9).显示所有stty的参数,将erase更改为ctrl+h
 
参考答案:
stty -a
stty erase ^h
 
 
10).将erase更改为默认的后退键(backspace)
 
参考答案:
stty erase ^?
 
 
11).打印输出PATH 变量的第五个路径
 
参考答案:
echo $PATH|cut -d ':' -f 5
 
 
12).打印输出PATH变量的第3列与第5列
 
参考答案:
echo $PATH | cut -d ':' -f 3,5
 
 
13).输出export命令的信息,但要求是每行第12字符以后的字串
 
参考答案:
export | cut -c 12-
 
 
14).显示/etc/passwd 內容是以 : 来分隔的,以字符形式来排序第三栏
 
参考答案:
cat /etc/passwd | sort -t ':' -k 3
 
 
15).显示/etc/passwd 內容是以 : 来分隔的,以数字形式来排序第三栏
 
参考答案:
cat /etc/passwd | sort -t ':' -k 3 -n
 
 
16).聚合last命令的帐号一栏
 
参考答案:
last | cut -d ' ' -f1 | sort | uniq -c
 
 
17).将ls -l /home资料存一份到 ~/homefile ,同时输出到屏幕
 
参考答案:
ls -l /home | tee ~/homefile | more
 
 
18).将ls -l /资料追加一份到~/homefile下,同时输出到屏幕
 
参考答案:
ls -l / | tee -a ~/homefile | more
 
 
19).打印输出/etc/passwd文件,将冒号 (:) 删除
 
参考答案:
cat /etc/passwd | tr -d ':'
 
 
20).将 /etc/passwd 与 /etc/shadow 相关资料整合成一栏
 
参考答案:
join -t ':' /etc/passwd /etc/shadow
 
 
21).将 /etc/passwd 与 /etc/group 整合,依据的是/etc/passwd第4列的GID,及/etc/group第3列的GID
 
参考答案:
join -t ':' -1 4 /etc/passwd -2 3 /etc/group
 
 
22).将 /etc/passwd 与 /etc/shadow 同一行贴在一起
 
参考答案:
paste /etc/passwd /etc/shadow
 
 
23).通过ulimit,显示所有当前资源极限
 
参考答案:
ulimit -a
 
 
24).通过ulimit设置创建文件的最大块为1,一块为512字节,拷贝passwd文件进行测试
 
参考答案:
ulimit -f 1
cp /etc/passwd .
 
 
25).通过ulimit设置创建文件的最大块数为无限制
 
参考答案:
ulimit -f unlimited
 
 
26).查看/etc/passwd文件,依据每行的第二个字符进行排序
 
参考答案:
cat /etc/passwd|sort -k 1.2
 
 
27).查看/etc/yp.conf是否有拼写错误
 
参考答案:
aspell check /etc/yp.conf


28).xargs的用法
28.1).新建三个文件:1.txt,2.txt,3.txt
28.2).用ls -l将三个文件名重定向到delete.txt
28.3).用xargs通过delete.txt将三个文件删除

参考答案:
to h 1.txt 2.txt 3.txt

ls -l 1.txt 2.txt 3.txt|awk '{print $9}'>delete.txt

cat delete.txt |xargs rm -f


29).BASH内置的命令集
29.1).查看内置的命令集
29.2).尝试打开BASH下vi属性,按esc键进入vi的命令操作介面,敲i进入插入,敲入hacker,敲esc键,用dd删除当前行
29.3).关闭BASH的vi属性

参考答案:
set -o
set -o vi
set +o vi或用bash命令恢复


30.1).在shell下搜索之前最近输入的以aspell为关键词的命令
30.2).输入aspell check /etc/pnm2ppa.conf,将光标移到行首,再将光标移到行尾
30.3).剪切命令行中光标所在处之前的所有字符(不包括自身),粘贴刚才剪切的命令行
30.4).退到行首,剪切命令行中光标所在处之后的所有字符,包括自身

参考答案:
ctrl+r
输入aspell

Ctrl+a
Ctrl+e


Ctrl+u
Ctrl+y
Ctrl+a
Ctrl+k

你可能感兴趣的:(linux)