第8章作业题

作业题:

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

vim /etc/profile 修改HISTSIZE=10000

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

3. 想办法把当前目录下的文件的文件名中的小写字母全部替换为大写字母。
  for i in `ls`;do mv $i `echo  $i|tr '[a-z]' '[A-Z]'`;done


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

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


6. 简述这几个文件的作用: /etc/profile, /etc/bashrc, .bashrc, .bash_profile.
./etc/profile        不管哪个用户,登陆时都会读取该文件。
/etc/bashrc        bash执行时,不管是何种方式,都会读取此文件
.bashrc                当bash以non login方式执行时,读取此文件。
.bashrc_profile        当bash以login形式执行时,读取此文件。通常该配置文件还
会配置成去读取.bashrc。


7. export 的作用是什么?

export是声明变量的意思,让该shell的子shell也知道该变量的值是多少.如果export后面不加任何变量名,则它会声明所有的变量。

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

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

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

c. 当变量内容带有特殊字符(如空格)时,需要加上单引号;

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

e. 变量内容可以累加其他变量的内容,需要加双引号;


9. 如何把要运行的命令丢到后台跑?又如何把后台跑的进程给调到前台?
Ctrl+z 或是在命令最后加上&        fg +作业号


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

ls -d test*

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

echo xxxx |tee 1.txt  将xxxx打印到屏幕且输入到1.txt

12. 假如有个命令很长,我们如何使用一个简单的字符串代替这个复杂的命令呢?请举例说明。
alias dns='vi /etc/resolv.conf'   再在命令行输入dns,就进入到/etc/resolv.conf文件里了


13. 我如何实现这样的功能,把一条命令丢到后台运行,而且把其正确输出和错误输出同时重定向到一个文件内?
例子:cat 2.txt 3.txt>1.txt 2>&1 &  (2.txt为存在的文件    3.txt为不存在的文件)  1.txt里面包含正确输出和错误输出


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

split -b10M bigfile splitname      #按照每个文件10M进行分割

 split -l10000 bigfile splitname    #按照每个文件10000行进行分割

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

&& 前面命令执行成功后,才会执行后面的命令;如果前面执行不成功,后面命令不执行

|| 前面的命令执行不成功,才会执行后面的命令;如果前面命令执行成功,后面命令不执行

; 左边的命令成功与否,后边的命令都会执行

16. 如果只想让某个用户使用某个变量如何做?
.vim ~/.bashrc  写入   export  变量=变量内容  保存  source  ~/.bashrc 


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

扩展阅读:

Linux环境变量之“PS1" http://www.lishiming.net/thread-5364-1-1.html

Linux支持中文 http://www.lishiming.net/thread-5360-1-1.html

让命令历史永久保存并加时间戳 http://www.lishiming.net/thread-283-1-1.html

linux 下/etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc 干啥的 http://www.lishiming.net/thread-909-1-1.html

猜你喜欢

转载自my.oschina.net/u/3791387/blog/1800480