Linux-shell基础复习笔记

查看文件类型:file  xxx.log 

  Linux-shell基础复习笔记_第1张图片

增加文件执行权限:chmod +x  文件名称

查看编码环境变量:env |grep LANG

shell定位:外层应用程序>shell命令解析器>内核>硬件

进程树查看:pstree

查看VIM是否安装:rps -qa | grep vim

如果不喜欢vi喜欢vim:alias  vi=vim

怎么样别名不消失(所有用户有效):vi /etc/profile 在后面加上vi=vim即可

查看登录用户数:who | wc -l

获取IP地址:ifconfig |grep "inet addr"|grep -v "127.0.0l.1"|awk '{print  ${2}}'|awk -F ':'  '{print $2}'

获取IP地址简写:ip_addr  = `ifconfig |grep "inet addr"|grep -v "127.0.0l.1"|awk '{print  ${2}}'|awk -F ':'  '{print $2}'`

                      或者:ip_addr = $(ifconfig |grep "inet addr"|grep -v "127.0.0l.1"|awk '{print  ${2}}'|awk -F ':'  '{print $2}')

 

 

 

设置变量只读:readonly xxx=xxx
环境变量:export xxx=yyyy 或者 xxx =yyy  export xxx   
显示所有环境变量:env 、env |grep pwd
清楚环境变量:upset xxx
 
获取变量字符串长度(包括空格):name=caoshicaho    ;    echo ${#name}
获取数组第一个元素长度:name=(a bb cc ddd) ; echo ${#name}
获取数组元素个数:name=(a bb cc ddd) ; echo ${#name[*]}
输出数组元素:echo ${name[*]}
输出某个元素:echo  ${name[2]}
 
变量扩展:
${var:pos}:  变量var从第pos个位置输出
${var:a;b}:  变量var从第a个位置到b个位置输出
${var/a/b}:将变量var中的a替换成b输出
${var//a/b}:将变量var中的所有字符a替换成b输出
 
 
定义变量类型:
定义整形变量:declare  -i  xxx
定义数组变量:declare -a xxx
定义函数变量:declare -f xxx
 
变量间接引用:
a=xx
b=yy
eval  a=\$$b
echo a
 
产生随机数:
#!/bin/bash
count=1
MAX=10
while ["${count} -lt "${MAX}" "]  :
do
    num=$RANDOM
   echo ${num}
  let  " count +=1"
done
 
 
 
单引号会原样输出字符串;双引号不会;反引号引用的都是命令;反斜杠是转义;
echo ${name}跟echo "${name}"输出效果是不一样的;
 
 
 
取文件路径的最后的名称:basename $0
#!/bin/bash
echo "脚本名称是`basename $0`"
----
chmod +x   text.sh
./text.sh
 
判断参数是否存在 :if [ -n "$1"] 是否存在第一个参数;如果参数大于9个必须用{}:if [-n "${10}"]
判断文件是否存在 :if[ -x "${path}" ];then  xxxxx  else  yyyyy   fi
两个分号是在case语句中使用:case “${variable}” in   abc)   echo xxx ;; xyz)  yyyy  ;;  esac

一个分号是用来在一行中写多个命令;date ;pwd;ls

获取分区情况:df -H | grep -v "Filesystem "

输出到文件并在屏幕显示:who | tee out.txt

 

 

 

Linux-shell基础复习笔记_第2张图片Linux-shell基础复习笔记_第3张图片

死循环,每5秒执行一次:

while :

do

   echo "wellcome csdn"

  sheep 5

done

 

 

Shell完成一些简单的操作;

Linux-shell基础复习笔记_第4张图片

 

 

查看bash版本:bash --version

查看bash的别名:alias

Shellz执行顺序:别名、关键字、函数、内置命令、可执行文件或脚本

查看命令类型:type  pwd

命令行用;分割:ls;date;pwd

命令组用()包起来:(ls;date;pwd)>output.txt

使用TAB补全命令或者文件:TAB键 xxx

删除别名:unalias   vi

暂时删除别名用\处理:  /etc/inittab

 

 

清除/var/log下的log文件

#!/bin/bash

#Cleanup

cat  /dev/null > /var/log/messages

echo "message is up"

Linux-shell基础复习笔记_第5张图片

 

 命令替换``:echo "当前工作目录`pwd`"

局部变量只能在它创建的SHELL中使用,环境变量可以在创建它的Shel或者派生出来的子进程Shell;

变量两边不能有空格,有空格用单引号或则双引号包起来,变量名称是区分大小写的,变量不用声明类型;

使用${xxx}防止命令误解数字变量要用_8开始;使用unset xxx清除变量;

显示本地变量:set

 

Linux-shell基础复习笔记_第6张图片

 

 

 
位置变量参数:$0是文件名称 $1 $2 $3 $4 $5
Linux-shell基础复习笔记_第7张图片
 
 
向系统命令传递参数:
grep $1 /etc/password |awk -F :'{print $3"\t"$6 }'
 
Linux-shell基础复习笔记_第8张图片
 
 
 
 
 
Linux-shell基础复习笔记_第9张图片
 
 
 
 
Linux-shell基础复习笔记_第10张图片
 
Linux-shell基础复习笔记_第11张图片
 
Linux-shell基础复习笔记_第12张图片
 
 
 
Linux-shell基础复习笔记_第13张图片
 
 
Linux-shell基础复习笔记_第14张图片
 
Linux-shell基础复习笔记_第15张图片
 
Linux-shell基础复习笔记_第16张图片
 
 
Linux-shell基础复习笔记_第17张图片
 
Linux-shell基础复习笔记_第18张图片

 

你可能感兴趣的:(脚本,日常使用)