设为首页 收藏本站
查看: 1076|回复: 0

练习题,shell入门知识

[复制链接]

尚未签到

发表于 2018-8-27 09:28:34 | 显示全部楼层 |阅读模式
  1. 设置环境变量 HISTSIZE , 使其能够保存10000条命令历史。
  答:#vim /etc/profile,搜索到HISTSIZE,将1000改为10000,然后保存退出,
  再执行  #source /etc/profile
  使其生效
  2. 为什么如果这样设置PS1 (PS1="[\u@\h \W]\$ ")  显示的结果和我们预想的不一样,那要如何设置才能恢复原来默认的?
  答: 变量内容带有特殊字符,需要加上单引号。
  3. 想办法把当前目录下的文件的文件名中的小写字母全部替换为大写字母。
  答:  #tr '[a-z]' '[A-Z]'
  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 -f: -k5 /etc/passwd
  5. 使用cut以":"为分隔符,截出/etc/passwd的第三段字符。答: #cut -d: -f 3 /etc/passwd6. 简述这几个文件的作用: /etc/profile, /etc/bashrc, .bashrc, .bash_profile.答:/etc/profile 这个文件预设了几个重要变量,例如PATH, USER ,LOGNAME, MAIL ,INPUTRC , HOSTNAME , HISTSIZE              ,umask 等
  /etc/bashrc 这个文件主要预设umask以及  PS1
  .bashrc  该文件包含专用于你的shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取,例如你可以将用户自定义的alias或者自定义变量写到这个文件中。
  .bash_profile 定义了用户的个人化路径与环境变量的文件名称。每个用户都可以使用该文件输入专用于自己使用的shell信息, 当用户登录时,该文件使用一次
  7. export 的作用是什么?
  声明变量。如果后面不加任何变量,则会声明所有的变量。
  1,可以使系统内所有用户登录后都能使用该变量
  需在/etc/profile 文件最末加入变量,  export myname=zhangzhen 然后source /etc/profile 即可生效.  (将目前的变量刷新)
  2,只让当前用户使用该变量,需在用户主目录下的 .bashrc 文件最末加入  export myname=zhangzhen 然后运行
  source .bashrc
  8. linux下自定义变量要符合什么样的规则呢?
  a=b   a与b 之间不能有空格    变量可以字母、数字和下划线组成,但是不能以数字开头    变量内容带有特殊字符,需要加上单引号,如果变量内容本身带有单引号,则需要双引号。如果变量内容中需要用到其他命令    运行结果则可以使用反引号。变量内容可以累加其他变量内容,需要加双引号
  9. 如何把要运行的命令丢到后台跑?又如何把后台跑的进程给调到前台?
  #bg 丢到后台   #fg 调动前台
  10.  列出当前目录下以"test"开头的文件和目录。
  #ls -d test*
  11.  如何把一个命令的输出内容不仅打印到屏幕上而且还可以重定向到一个文件内?
  答: #echo "ddddd0" |tee 1.txt12. 假如有个命令很长,我们如何使用一个简单的字符串代替这个复杂的命令呢?请举例说明。
  答:#alias zh='vi /etc/passwd'   zh可以表示 vi /etc/passwd
  #unalias  解除
  13. 我如何实现这样的功能,把一条命令丢到后台运行,而且把其正确输出和错误输出同时重定向到一个文件内?
  答:vmstat 1  > /tmp/1.log 2>&1 &
  /tmp/1.log
  14. 如何按照大小(假如按照10M)分隔一个大文件,又如何按照行数(假如10000行)分隔?
  #split -b10M     #split -l 10000
  15. 做实验,搞明白 ; && || 这三个符号的含义。
  答:; 在一行中运行多个命令
  #ls -d text*; touch test.111; ls -d test*
  ; 只是用来分割多个命令,各条命令相互独立运行,没有任何关联性。
  && 只有前面的命令成功执行后,后面的命令才会执行。如果前面的命令执行失败,则忽略后面的       命令。
  || 多条命令中只要一条命令执行成功,则忽略后面的命令,否则运行后面的命令。
  16. 如果只想让某个用户使用某个变量如何做?
  答:只让当前用户使用该变量
  需在用户主目录下的 .bashrc 文件最末加入  export myname=zhangzhen
  然后运行 source .bashrc
  即: vim /home/username/.bashrc
  增加一行 export abc=123
  然后再 source /home/username/.bashrc
  17. 使用哪个命令会把系统当中所有的变量以及当前用户定义的自定义变量列出来?
  #set


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-557108-1-1.html 上篇帖子: shell实例:临时解决rsync自动断开的问题 下篇帖子: 十一、shell中的连接符,grep egrep 命令与正则表达式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表