博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell相关测验题
阅读量:6305 次
发布时间:2019-06-22

本文共 3991 字,大约阅读时间需要 13 分钟。

hot3.png

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

答:环境变量 HISTSIZE 在配置文件 /etc/profile 文件中,所以要使其能够保存10000条命令历史需要修改配置文件 /etc/profile,将HISTSIZE=10000

[root@localhost ~]# vi /etc/profilefiHOSTNAME=`/usr/bin/hostname 2>/dev/null`else    pathmunge /usr/local/sbin after    pathmunge /usr/sbin afterfiHOSTNAME=`/usr/bin/hostname 2>/dev/null`HISTSIZE=10000if [ "$HISTCONTROL" = "ignorespace" ] ; then    export HISTCONTROL=ignorebothelse    export HISTCONTROL=ignoredupsfi
  1. 为什么如果这样设置PS1 (PS1="[\u@\h \W]$ ") 显示的结果和我们预想的不一样,那要如何设置才能恢复原来默认的?

答:PS1="[\u@\h \W]$ " 需要将双引号改为单引号,因为双引号下需要转义

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

for i in ls;do mv $i echo $i|tr '[a-z]' '[A-Z]';done

  1. 使用sort以":"为分隔符,对/etc/passwd文件的第5段排序。
[root@localhost ~]#sort -t: -k5 /etc/passwd adm:x:3:4:adm:/var/adm:/sbin/nologinbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinftp:x:14:50:FTP User:/var/ftp:/sbin/nologingames:x:12:100:games:/usr/games:/sbin/nologinhalt:x:7:0:halt:/sbin:/sbin/haltuser1:x:1000:1000::/home/user1:/bin/bashuser2:x:1001:1001::/home/user2:/bin/bashlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinmail:x:8:12:mail:/var/spool/mail:/sbin/nologinnobody:x:99:99:Nobody:/:/sbin/nologinoperator:x:11:0:operator:/root:/sbin/nologinsshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologinroot:x:0:0:root:/root:/bin/bashshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownsync:x:5:0:sync:/sbin:/bin/syncsystemd-network:x:192:192:systemd Network Management:/:/sbin/nologindbus:x:81:81:System message bus:/:/sbin/nologinpolkitd:x:999:997:User for polkitd:/:/sbin/nologinchrony:x:998:996::/var/lib/chrony:/sbin/nologinpostfix:x:89:89::/var/spool/postfix:/sbin/nologin
  • -t 指定分隔符
  • -k 指定第几段
  1. 使用cut以":"为分隔符,截出/etc/passwd的第三段字符。
[root@localhost ~]#cut -d: -f3  /etc/passwd0123456781112149919281999897499810001001
  • -d 指定分隔符
  • -f 指定第几段
  1. 简述这几个文件的作用: /etc/profile, /etc/bashrc, .bashrc, .bash_profile.
配置文件 作用
/etc/profile 不管哪个用户,登陆时都会读取该文件。
/etc/bashrc bash执行时,不管是何种方式,都会读取此文件
.bashrc 当bash以non login方式执行时,读取此文件。
.bashrc_profile 当bash以login形式执行时,读取此文件。通常该配置文件还

会配置成去读取.bashrc。 7. export 的作用是什么?

答: export 定义子bash继承的全局变量

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

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

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

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

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

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

  1. 如何把要运行的命令丢到后台跑?又如何把后台跑的进程给调到前台?
[root@localhost ~]#sleep 1000 &[1] 3678[root@localhost ~]#fgsleep 1000

使用命令 比如:sleep & ,可以使命令在后台运行。如果把后台的命令调到前台运行,使用fg命令。

  1. 列出当前目录下以"test"开头的文件和目录。
[root@localhost ~]#ls test*test1.txt  test.txttest:123.txt  234.txt

使用 ls 可以列出当前目录的所有文件,test加上 * 后列出当前目录下所有以 test开头的文件以及目录包括目录下的子文件。

  1. 如何把一个命令的输出内容不仅打印到屏幕上而且还可以重定向到一个文件内?
[root@localhost ~]#ls [12].txt abc.txt >right.txt 2>erro.txt[root@localhost ~]#cat right.txt 1.txt2.txt[root@localhost ~]#cat erro.txt ls: 无法访问abc.txt: 没有那个文件或目录

> 正确的信息输出到文件中, >>正确信息追加到文件中, 2> 错误的信息输出到文件中,2>>错误的信息追加到文件中

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

alias abc=abcdefg

  1. 我如何实现这样的功能,把一条命令丢到后台运行,而且把其正确输出和错误输出同时重定向到一个文件内?
[root@localhost ~]#ls [12].txt ab.txt &>a.txt[root@localhost ~]#cat a.txtls: 无法访问ab.txt: 没有那个文件或目录1.txt2.txt
  1. 如何按照大小(假如按照10M)分隔一个大文件,又如何按照行数(假如10000行)分隔?

split -b10M filename

split -l10000 filename

  • -b指定文件大小
  • -l指定行数
  1. 做实验,搞明白 ; && || 这三个符号的含义。
特殊符号 作用
多条命令写到一行,使用;分隔
|| 用于命令之间,前面命令成功执行,后边命令不执行,如果前面命令不能执行,则执行后面命令。直到成功执行。
& & 用于命令之间,如果前面命令成功执行,则执行后面的命令。如果前面命令不执行,则不执行后面的命令。
  • ;
[root@localhost ~]#ls ; cat right.txt ;cat erro.txt 123    2.txt  abcd             a.txt     right.txt  test1.txt1.txt  abc    anaconda-ks.cfg  erro.txt  test       test.txt1.txt2.txtls: 无法访问abc.txt: 没有那个文件或目录
  • ||
[root@localhost ~]#la || ls-bash: la: 未找到命令123    2.txt  abcd             a.txt     right.txt  test1.txt1.txt  abc    anaconda-ks.cfg  erro.txt  test       test.txt

-&&

[root@localhost ~]#la && ls-bash: la: 未找到命令
  1. 如果只想让某个用户使用某个变量如何做?

可以写入.bash_profile

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

set ##显示系统所有的变量和当前用户自定义的变量

扩展阅读:

Linux环境变量之“PS1"

Linux支持中文

让命令历史永久保存并加时间戳

linux 下/etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc 干啥的

转载于:https://my.oschina.net/u/3850965/blog/1826332

你可能感兴趣的文章
Jenkins
查看>>
linux下使用screen和ping命令对网络质量进行监控
查看>>
数据库设计技巧
查看>>
css定位概述
查看>>
C# 动态修改配置文件 (二)
查看>>
BOM:文档对象模型 --树模型
查看>>
我的Android进阶之旅------>WindowManager.LayoutParams介绍
查看>>
segment
查看>>
获取鼠标的原始移动值
查看>>
Linux信号 编程
查看>>
有关滚动与位置
查看>>
Box2D自定义重力
查看>>
chpasswd
查看>>
mysqldump --single-transaction 和--lock-tables参数详解
查看>>
android 数据库_sql语句总结
查看>>
python购物车
查看>>
解决python2和python3的pip冲突
查看>>
面试/编程
查看>>
linux每日命令(16):head命令
查看>>
公司内部分享【富有成效的每日站会】总结
查看>>