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将三个文件删除
参考答案:
touch 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