作业1 跟阿铭学linux第十三章练习题和知识面扩充

本文介绍了Linux环境下环境变量的设置方法及常见命令的使用技巧,包括如何设置HISTSIZE以保存更多命令历史记录,调整PS1提示符,批量转换文件名大小写等。同时还涉及了文件处理命令如sort、cut的用法,以及如何利用后台运行、管道和重定向提高工作效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://ask.apelearn.com/question/5437
第十三章教程地址: http://study.lishiming.net/chapter13.html
我的答案 追加回答
作业题:

1. 设置环境变量 HISTSIZE , 使其能够保存10000条命令历史。
vim  /etc/profile 搜索/HISTSIZE 设置HISTSIZE=10000

2. 为什么如果这样设置PS1 (PS1="[\u@\h \W]\$ ")  显示的结果和我们预想的不一样,那要如何设置才能恢复原来默认的?
默认的PS1内容为: PS1='[\u@\h \W]\$ ' ,在PS1的设置中,因为中间有空格,所以我们需要用单引号,没有与需要用到命令的结果,所以不需要引用。

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


4. 使用sort以":"为分隔符,对/etc/passwd文件的第5段排序。
??? cat /etc/passwd |head -5 |tail -1 |cut -d ":" 1 |sort
sort -t: -k5 filename
cat /etc/passwd | sort -t: -k5


5. 使用cut以":"为分隔符,截出/etc/passwd的第三段字符。
??? cat /etc/passwd |cut -d '\n'
cut -d: -f3 filename
cat /etc/paswwd | cut -d ':' -f 3


6. 简述这几个文件的作用: /etc/profile, /etc/bashrc, .bashrc, .bash_profile.
/etc/profile #主要参数配置文件
/etc/bashrc #初始化文件目录,可添加变量sh文件
.bashrc #初始化文件,可添加变量和alias
.bash_profile #初始化文件,可添加变量和alias

/etc/profile        所有用户共同的环境变量,登陆时都会首先读取该文件。
/etc/bashrc      每一个运行bash shell的用户都执行此文件,此外还有PS1,umask的设置
.bashrc            每个用户的bash设置,用户登录shell或者新打开shell时都会读取此文件,以no-login的方式交互
.bashrc_profile        用户自己的环境变量,可以在其中设置一些自己使用shell信息,是以login的交互方式进行的


7. export 的作用是什么?
设置全部变量,子shell可用

8. linux下自定义变量要符合什么样的规则呢?  
 设置变量的格式类似"a=b"这样,a是变量名,b是内容,两者中间不能有空格,变量名只能由英文字母,数字和下划线组成,不能以数字开头,有特殊字符需要有单引号括起来

9. 如何把要运行的命令丢到后台跑?又如何把后台跑的进程给调到前台?
bg后台 fg前台
可以按ctrl+z暂停进程,然后按bg 编号放到后台执行
     可以在命令后面加一个&,意思是在后台执行


10.  列出当前目录下以"test"开头的文件和目录。
ls -d |grep 'test*' #-d:仅显示目录名,而不显示目录下的内容列表。显示符号链接文件本身,而不显示其所指向的目录列表;
ls test*
ls -al test*


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

12. 假如有个命令很长,我们如何使用一个简单的字符串代替这个复杂的命令呢?请举例说明。
$(command)
  head /etc/passwd | cut -d ':' -f 5 | tee 1.txt
     可以这样来赋值变量, a=`head /etc/passwd | cut -d ':' -f 5 | tee 1.txt`
                          echo $a

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

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


15. 做实验,搞明白 ; && || 这三个符号的含义。
多行命令符;&&前者成功,继续执行    ||按顺序执行,直到执行成功为止

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

17. 使用哪个命令会把系统当中所有的变量以及当前用户定义的自定义变量列出来?
alias
env环境变量   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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值