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

简介:

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

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


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

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


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

1
for  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段排序。

1
sort  -t: -k5   /etc/passwd


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

1
cut  -d: -f3  /etc/passwd


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

  • /etc/profile :  设置系统全局环境变量和启动程序,当用户登录Linux时,该文件被执行,并从/etc/profile.d目录的配置文件中搜集shell的设置。预设的系统全局变量包括PATH、USER、LOGNAME、MAIL、INPUTRC、HOSTNAME、HISTSIZE、umask等。

  • /etc/bashrc : 为每一个运行bash shell的用户执行此文件。当bash shell被打开时,该文件被读取。默认情况下,这个文件主要预设umask以及PS1等。

  • .bash_profile : 定义用户专有的环境变量和启动程序。当用户登录时,该文件仅仅执行一次。 默认情况下,它设置了一些环境变量,执行用户的.bashrc文件。

  • .bashrc :该文件包含专用于用户的shell的bash信息,当用户登录时以及每次打开新的shell时,该该文件被读取。可以将用户自定义的alias和变量写到这个文件中。


7. export 的作用是什么?

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


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

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

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

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

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

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


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

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

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


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

1
ls  test *


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

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


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

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


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

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


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

1
2
split  -b 10M bigfile
split  -l 10000 bigfile


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

  • ;:只是用来分割多个命令,各条命令相互独立运行,没有任何关联性。

  • &&:只有前面的命令成功执行后,后面的命令才会执行。如果前面的命令执行失败,则忽略后面的命令。

  • ||:多条命令中只要一条命令执行成功,则忽略后面的命令,否则运行后面的命令。


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

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


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

1
set




本文转自 xpleaf 51CTO博客,原文链接:http://blog.51cto.com/xpleaf/1893506,如需转载请自行联系原作者
相关文章
|
2月前
|
Shell Linux
Linux shell编程学习笔记30:打造彩色的选项菜单
Linux shell编程学习笔记30:打造彩色的选项菜单
|
28天前
|
Web App开发 网络协议 Linux
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
这篇文章是关于Linux命令的总结,涵盖了从基础操作到网络配置等多个方面的命令及其使用方法。
58 1
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
|
11天前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
|
2月前
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余
|
2月前
|
人工智能 监控 Shell
常用的 55 个 Linux Shell 脚本(包括基础案例、文件操作、实用工具、图形化、sed、gawk)
这篇文章提供了55个常用的Linux Shell脚本实例,涵盖基础案例、文件操作、实用工具、图形化界面及sed、gawk的使用。
293 2
|
1月前
|
存储 Shell Linux
【Linux】shell基础,shell脚本
Shell脚本是Linux系统管理和自动化任务的重要工具,掌握其基础及进阶用法能显著提升工作效率。从简单的命令序列到复杂的逻辑控制和功能封装,Shell脚本展现了强大的灵活性和实用性。不断实践和探索,将使您更加熟练地运用Shell脚本解决各种实际问题
21 0
|
2月前
|
Shell Linux 开发工具
linux shell 脚本调试技巧
【9月更文挑战第3天】在Linux中调试shell脚本可采用多种技巧:使用`-x`选项显示每行命令及变量扩展情况;通过`read`或`trap`设置断点;利用`echo`检查变量值,`set`显示所有变量;检查退出状态码 `$?` 进行错误处理;使用`bashdb`等调试工具实现更复杂调试功能。
|
3月前
|
JavaScript 关系型数据库 Shell
Linux shell编写技巧之随机取字符串(一)
本文介绍了Linux Shell脚本的编写技巧,包括环境配置、变量命名规则和缩进语法,并提供了一个实例练习,展示如何使用`$RANDOM`变量和`md5sum`命令来生成随机的8位字符串。
47 4
|
3月前
|
Ubuntu Linux Shell
在Linux中,如何使用shell脚本判断某个服务是否正在运行?
在Linux中,如何使用shell脚本判断某个服务是否正在运行?
|
3月前
|
Java Shell Linux
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
关于如何使用Shell脚本来解析Linux系统中的应用服务日志,提供了脚本实现的详细步骤和技巧,以及一些Shell编程的技能扩展。
53 0
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志