shellorder

1、[]运算符作用?
答、计算:[ a+b ];表示a+b的值;
判断条件,必须与条件运算符或if、else连用:[ -z STRING ]
2、&&运算符作用?
答、逻辑运算符,左边成立,再执行右边。
[ -z "$your_name" ] && return,其中your_name是变量名。
3、问变量PS1是什么,如何读取?如何定义?
答、shell交互提示符,root@iZwz9du2sj65xal4xplibsZ:~#;echo $PS1
export PS1='I love you\w\$'
4、如何设置所有用户的shell配置?
答、/etc/bash.bashrc
5、问ignoredups的含义?
答、shell命令历史记录设置,忽略连续重复的shell命令。
6、问ignorespace的含义?
答、忽略以空格开头的命令。
7、shell运算符:的作用?
答、有占位作用。
8、shopt作用?
答、显示和设置shell中的行为选项。shopt -s histappend
9、HISTSIZE作用?
答、定义了 history 命令输出的记录数
10、HISTFILESIZE作用?
答、定义了在文件 ~/.bash_history 中保存命令的记录总数
11、checkwinsize作用?
答、bash在每个命令后检查窗口大小,如果有必要,就更新LINES和COLUMNS的值
12、[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
问-x的作用,eval的作用?
答、-x,判断是否是可执行文件,eval:会对后面的cmdLine进行两遍扫描,
如果第一遍扫描后,cmdLine是个普通命令,则执行此命令;如果cmdLine中含
有变量的间接引用,则保证间接引用的语义。
13、问TERM环境变量的含义?
答、当前是交互界面时终端xterm,还是终端模拟器putty,terminator。
14、shell条件判断:
str1 = str2


当两个串有相同内容、长度时为真


str1 != str2


当串str1和str2不等时为真


-n str1


当串的长度大于0时为真(串非空)


-z str1


当串的长度为0时为真(空串) 


str1


当串str1为非空时为真


int1 -eq int2


两数相等为真


int1 -ne int2


两数不等为真


int1 -gt int2


int1大于int2为真


int1 -ge int2


int1大于等于int2为真


int1 -lt int2


int1小于int2为真


int1 -le int2


int1小于等于int2为真


-r file


用户可读为真


-w file


用户可写为真


-x file


用户可执行为真


-f file


文件为正规文件为真


-d file


文件为目录为真


-c file


文件为字符特殊文件为真


-b file


文件为块特殊文件为真


-s file


文件大小非0时为真


-t file


当文件描述符(默认为1)指定的设备为终端时为真


a


与 


-o


或 


!





[ -a FILE ]  如果 FILE 存在则为真。  
[ -b FILE ]  如果 FILE 存在且是一个块特殊文件则为真。  
[ -c FILE ]  如果 FILE 存在且是一个字特殊文件则为真。  
[ -d FILE ]  如果 FILE 存在且是一个目录则为真。  
[ -e FILE ]  如果 FILE 存在则为真。  
[ -f FILE ]  如果 FILE 存在且是一个普通文件则为真。  
[ -g FILE ] 如果 FILE 存在且已经设置了SGID则为真。 [ -h FILE ]  如果 FILE 存在且是一个符号连接则为真。  
[ -k FILE ]  如果 FILE 存在且已经设置了粘制位则为真。  
[ -p FILE ]  如果 FILE 存在且是一个名字管道(F如果O)则为真。  
[ -r FILE ]  如果 FILE 存在且是可读的则为真。  
[ -s FILE ]  如果 FILE 存在且大小不为0则为真。  
[ -t FD ]  如果文件描述符 FD 打开且指向一个终端则为真。  
[ -u FILE ]  如果 FILE 存在且设置了SUID (set user ID)则为真。  
[ -w FILE ]  如果 FILE 如果 FILE 存在且是可写的则为真。  
[ -x FILE ]  如果 FILE 存在且是可执行的则为真。  
[ -O FILE ]  如果 FILE 存在且属有效用户ID则为真。  
[ -G FILE ]  如果 FILE 存在且属有效用户组则为真。  
[ -L FILE ]  如果 FILE 存在且是一个符号连接则为真。  
[ -N FILE ]  如果 FILE 存在 and has been mod如果ied since it was last read则为真。  
[ -S FILE ]  如果 FILE 存在且是一个套接字则为真。  
[ FILE1 -nt FILE2 ]  如果 FILE1 has been changed more recently than FILE2, or 如果 FILE1 exists and FILE2 does not则为真。  
[ FILE1 -ot FILE2 ]  如果 FILE1 比 FILE2 要老, 或者 FILE2 存在且 FILE1 不存在则为真。  
[ FILE1 -ef FILE2 ]  如果 FILE1 和 FILE2 指向相同的设备和节点号则为真。  
[ -o OPTIONNAME ]  如果 shell选项 “OPTIONNAME” 开启则为真。  
[ -z STRING ]  “STRING” 的长度为零则为真。  
[ -n STRING ] or [ STRING ]  “STRING” 的长度为非零 non-zero则为真。  
[ STRING1 == STRING2 ]  如果2个字符串相同。 “=” may be used instead of “==” for strict POSIX compliance则为真。  
[ STRING1 != STRING2 ]  如果字符串不相等则为真。 
[ STRING1 < STRING2 ]  如果 “STRING1” sorts before “STRING2” lexicographically in the current locale则为真。  
[ STRING1 > STRING2 ]  如果 “STRING1” sorts after “STRING2” lexicographically in the current locale则为真。 


[ -a FILE ]  如果 FILE 存在则为真。  
[ -b FILE ]  如果 FILE 存在且是一个块特殊文件则为真。  
[ -c FILE ]  如果 FILE 存在且是一个字特殊文件则为真。  
[ -d FILE ]  如果 FILE 存在且是一个目录则为真。  
[ -e FILE ]  如果 FILE 存在则为真。  
[ -f FILE ]  如果 FILE 存在且是一个普通文件则为真。  
[ -g FILE ] 如果 FILE 存在且已经设置了SGID则为真。 [ -h FILE ]  如果 FILE 存在且是一个符号连接则为真。  
[ -k FILE ]  如果 FILE 存在且已经设置了粘制位则为真。  
[ -p FILE ]  如果 FILE 存在且是一个名字管道(F如果O)则为真。  
[ -r FILE ]  如果 FILE 存在且是可读的则为真。  
[ -s FILE ]  如果 FILE 存在且大小不为0则为真。  
[ -t FD ]  如果文件描述符 FD 打开且指向一个终端则为真。  
[ -u FILE ]  如果 FILE 存在且设置了SUID (set user ID)则为真。  
[ -w FILE ]  如果 FILE 如果 FILE 存在且是可写的则为真。  
[ -x FILE ]  如果 FILE 存在且是可执行的则为真。  
[ -O FILE ]  如果 FILE 存在且属有效用户ID则为真。  
[ -G FILE ]  如果 FILE 存在且属有效用户组则为真。  
[ -L FILE ]  如果 FILE 存在且是一个符号连接则为真。  
[ -N FILE ]  如果 FILE 存在 and has been mod如果ied since it was last read则为真。  
[ -S FILE ]  如果 FILE 存在且是一个套接字则为真。  
[ FILE1 -nt FILE2 ]  如果 FILE1 has been changed more recently than FILE2, or 如果 FILE1 exists and FILE2 does not则为真。  
[ FILE1 -ot FILE2 ]  如果 FILE1 比 FILE2 要老, 或者 FILE2 存在且 FILE1 不存在则为真。  
[ FILE1 -ef FILE2 ]  如果 FILE1 和 FILE2 指向相同的设备和节点号则为真。  
[ -o OPTIONNAME ]  如果 shell选项 “OPTIONNAME” 开启则为真。  
[ -z STRING ]  “STRING” 的长度为零则为真。  
[ -n STRING ] or [ STRING ]  “STRING” 的长度为非零 non-zero则为真。  
[ STRING1 == STRING2 ]  如果2个字符串相同。 “=” may be used instead of “==” for strict POSIX compliance则为真。  
[ STRING1 != STRING2 ]  如果字符串不相等则为真。 
[ STRING1 < STRING2 ]  如果 “STRING1” sorts before “STRING2” lexicographically in the current locale则为真。  
[ STRING1 > STRING2 ]  如果 “STRING1” sorts after “STRING2” lexicographically in the current locale则为真。 


15、问unset命令的作用?
答、删除shell中设置的环境变量,例如unset color_prompt force_color_promp
16、rxvt是什么?
答、终端模拟器。
17、问shell printf含义?
答、格式化输出。类似c语言。
18、问shell中&1和&2的含义?
答、表示正确输出和错误输出。文件描述符。
19、问shell中单横杆-和双横杆--的含义?
答、单-杆后面接字符,双-杆后面接单词。用来改变shell命令的行为。
20、问单横杆和双横杆后选项参数如何指定?
答、单横杆用空格,双横杆用=连接。
21、怎样在shell中定义函数?
答、function abc {
    # check because c-n-f could've been removed in the meantime
    echo $[ 1+2 ]
}
22、shell递归?
答、
#!/usr/bin/env bash


jc ()
{
    local num=$1
    if [[ "$num" -eq 0 ]];
    then
        fac=1
    else
        let "dec=$num-1"
        jc $dec
        let "fac=$num * $fac"
    fi
    return $fac
}


jc $1
echo "fac of $1 is $fac"


22、shell中let的作用?
答、let "j=i*8+2";计算表达式的值。


23、shell中while循环?
答、#!/bin/bash


# 显示一系列数字


count=1


while [ $count -le 6 ]; do
    echo $count
    count=$((count + 1))
done
echo "finished"


24、shell命令查找某个字符串?
答、grep -rn "main" * --color


25、统计文件中包含某个字符串的行数?
答、cat a.txt | grep .*two.*|wc -l


26、linux列出目录及目录下所有子文件的命令?
答、ls -Ral


27、将目录以及子目录下所有文件中某个字符串转换成另一个的shell命令?
答、sed -i "s/world/WORLD/g" `grep world -rl .`


28、问free命令的作用?
答、查看操作系统内存使用情况。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值