示例:
sort 为一个文本排序(默认ascii编码排序)
wc 计算文件的Byte数、字数或是列数
uniq用于报告或忽略文件中的重复行,一般与sort命令结合使用。(只能去除相连的两行重复)
1. 设置环境变量 HISTSIZE , 使其能够保存10000条命令历史。
答:修改/etc/profile,HISTSIZE=10000。
2. 为什么如果这样设置PS1 (PS1="[\u@\h \W]\$ ") 显示的结果和我们预想的不一样,那要如何设置才能恢复原来默认的?
答:默认的PS1内容为: '[\u@\h \W]\$ ' ,所以默认的提示符就是: [root@localhost ~]# 。使用双引号时需要用\对$脱义,PS1="[\\u@\\h \\W]\\$ "
3. 想办法把当前目录下的文件的文件名中的小写字母全部替换为大写字母。
答:find ./ -type f -name "*" |tr [a-z] [A-Z]
4. 使用sort以":"为分隔符,对/etc/passwd文件的第5段排序。
答:sort -t ':' -k 5 /etc/passwd
5. 使用cut以":"为分隔符,截出/etc/passwd的第三段字符。
答:cut -d ':' -f 3 /etc/passwd
6. 简述这几个文件的作用: /etc/profile, /etc/bashrc, .bashrc, .bash_profile.
答:/etc/profile——系统层次的变量文件,用户登录shell时才会调用、/etc/bashrc——系统层次的变量文件,登录系统时就会调用、.bashrc——用户层次的变量文件,登录系统时就会调用、.bash_profile——用户层次的变量文件,登录shell时才会调用。
7. export 的作用是什么?
答:export是声明变量的意思,让该shell的子shell也知道该变量的值是多少.如果export后面不加任何变量名,则它会声明所有的变量
8. linux下自定义变量要符合什么样的规则呢?
答:a.设定变量的格式为 “a=b”, 其中a为变量名,b为变量的内容,等号两边不能有空格;
b.变量名只能由英、数字以及下划线组成,而且不能以数字开头;
c.当变量内容带有特殊字符(如空格)时,需要加上单引号脱义;
9. 如何把要运行的命令丢到后台跑?又如何把后台跑的进程给调到前台?
答:使用CTRL+z将命令暂停然后使用命令bg可以将命令调至后台运行,使用命令fg可以将命令调至前台(多个命令在后台运行时可以使用jobs查看命令的序列号,指定序列号调用相应的命令)
10. 列出当前目录下以"test"开头的文件和目录。
答:find ./ -name "test*"
11. 如何把一个命令的输出内容不仅打印到屏幕上而且还可以重定向到一个文件内?
答:使用tee 命令可以将一个命令的输出内容不仅打印到屏幕上而且还可以重定向到一个文件。例:vmstat 1 5 |tee vmstat.txt
12. 假如有个命令很长,我们如何使用一个简单的字符串代替这个复杂的命令呢?请举例说明。
答:设置别名 alias aa=“命令” 即可
13. 我如何实现这样的功能,把一条命令丢到后台运行,而且把其正确输出和错误输出同时重定向到一个文件内?
答:可以使用&>符号将正确和错误输出重定向到一个文件内,并在命令后加上符号&,把该命令丢到后台。
14. 如何按照大小(假如按照10M)分隔一个大文件,又如何按照行数(假如10000行)分隔?
答:split -b 10M 1.txt split -l 10000 1.txt
15. 做实验,搞明白 ; && || 这三个符号的含义。
答:符号;表示在一行内分别执行多个命令(互不相干),符号&&表示当前一个命令执行正确时才会执行第二个命令,符号||表示当前一个命令执行正确时不执行第二命令(错误则执行)
16. 如果只想让某个用户使用某个变量如何做?
答:可以修改某个用户家目录下的变量配置文件,如:~/.bashrc 或~/.bash_profile
17. 使用哪个命令会把系统当中所有的变量以及当前用户定义的自定义变量列出来?
答:set命令可以
f [ ! -d /usr/local/domob/records/${LOGNAME} ]
then
mkdir -p /usr/local/domob/records/${LOGNAME}
chmod 300 /usr/local/domob/records/${LOGNAME}
fi
export HISTORY_FILE="/usr/local/domob/records/${LOGNAME}/bash_history"
export PROMPT_COMMAND='{ date "+%Y-%m-%d %T ##### $(who am i |awk "{print \$1\" \"\$2\" \"\$5}") #### $(history 1 | { read x cmd; echo "$cmd"; })"; } >>$HISTORY_FILE'