《跟阿铭学Linux》第10章 shell基础知识:课后习题与答案

时间:2017-01-21 07:49:42   收藏:0   阅读:266

1. 设置环境变量 HISTSIZE , 使其能够保存10000条命令历史。

vim /etc/profile  
把 HISTSIZE=1000 改为 HISTSIZE=10000


2. 为什么如果这样设置PS1 (PS1="[\u@\h \W]\$ ")  显示的结果和我们预想的不一样,那要如何设置才能恢复原来默认的?

应该是 PS1=‘[\u@\h \W]\$ ‘


3. 想办法把当前目录下的文件的文件名中的小写字母全部替换为大写字母。

for f in `ls`; do if echo $f |grep -q ‘[a-z]‘; then mv $f `echo $f|tr ‘[a-z]‘ ‘[A-Z]‘`;fi; done


4. 使用sort以":"为分隔符,对/etc/passwd文件的第5段排序。

sort -t: -k5  /etc/passwd


5. 使用cut以":"为分隔符,截出/etc/passwd的第三段字符。

cut -d: -f3 /etc/passwd


6. 简述这几个文件的作用: /etc/profile, /etc/bashrc, .bashrc, .bash_profile.


7. export 的作用是什么?

export 用来声明变量,可以使声明的变量在子shell中生效。


8. linux下自定义变量要符合什么样的规则呢?

(1) 设定变量的格式为“a=b”, 其中a为变量名,b为变量的内容,等号两边不能有空格;

(2)变量名只能由英、数字以及下划线组成,而且不能以数字开头;

(3)当变量内容带有特殊字符(如空格)时,需要加上单引号,变量内容中本身带有单引号的情况则使用双引号;

(4)如果变量内容中需要用到其他命令运行结果则可以使用反引号;

(5)变量内容可以累加其他变量的内容,需要加双引号。


9. 如何把要运行的命令丢到后台跑?又如何把后台跑的进程给调到前台?

要将运行的命令丢到后台,可以先按CTRL+Z让其暂停,然后使用bg命令将其丢到后台运行;或者执行命令时添加&后台标识,格式为“命令+空格+&”。

将后台运行的进程调到前台,可以输入fg快捷键。


10.  列出当前目录下以"test"开头的文件和目录。

ls test*


11.  如何把一个命令的输出内容不仅打印到屏幕上而且还可以重定向到一个文件内?

使用tee命令,如 cat /etc/passwd |tee 2.txt


12. 假如有个命令很长,我们如何使用一个简单的字符串代替这个复杂的命令呢?请举例说明。

使用alias  如 alias abc="/usr/local/apache/bin/apachectl -t"


13. 我如何实现这样的功能,把一条命令丢到后台运行,而且把其正确输出和错误输出同时重定向到一个文件内?

vmstat 1  > /tmp/1.log 2>&1 &
叶子百度备注:2>&1 指将标准信息输出路径指定为错误信息输出路径(也就是都输出在一起)。


14. 如何按照大小(假如按照10M)分隔一个大文件,又如何按照行数(假如10000行)分隔?

split -b 10M bigfile
split -l 10000 bigfile


15. 做实验,搞明白 ; && || 这三个符号的含义。


16. 如果只想让某个用户使用某个变量如何做?

vim  /home/username/.bashrc  增加一行  export  abc=123
然后再 source  /home/username/.bashrc


17. 使用哪个命令会把系统当中所有的变量以及当前用户定义的自定义变量列出来?

set


本文出自 “香飘叶子” 博客,请务必保留此出处http://xpleaf.blog.51cto.com/9315560/1893506

原文:http://xpleaf.blog.51cto.com/9315560/1893506

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!