| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Linux(七) -> 正文阅读 |
|
[系统运维]Linux(七) |
一、Shell基础知识(一)对Shell的理解 1、Shell是系统跟计算机硬件交互的媒介。 我们把指令告诉Shell,Shell将指令传达给系统内核再运行。 2、记录命令历史 预设可记录1000条命令,命令保存在用户家目录的.bash_history文件中。 !!——执行上一条命令 !n——执行命令历史中的第n条命令 3、命令和文件名补全 tab可以帮我们补全一个指令、一个路径或一个文件名。 连续按两次tab键,系统会把所有的命令或文件名列出来。 4、别名 alias [命令别名]=[‘具体的命令’] eg:alias vi='vim' 5、通配符 *来匹配零个或多个字符,?来匹配一个字符 6、输入输出重定向 主要介绍一些输出重定向 输出重定向命令> 追加重定向命令>> eg: #mkdir /tmp/10 #cd /tmp/10 #echo"123">1.txt #cat 1.txt 123 #echo"123">>1.txt #cat 1.txt 123 123 7、管道符 管道符 | 用于将前一个指令的输出作为后一个指令的输入 eg: #cat /etc/passwd/wc -l 8、作业控制 运行进程时 暂停它——ctrl+z 恢复它——输入命令fg 使它后台运行——bg 终止它——ctrl+c (二)变量 1、env命令 2、set命令 (三)系统环境变量与个人环境变量的配置文件 /etc/profile /etc/bashrc .bash_profile .bashrc .bash_history .bash_logout (四)Linux shell中的特殊符号 1、* 代表零个或多个任意字符 2、?代表一个任意字符 3、#注释符号 4、\脱义字符 这个字符会将后面的特殊字符还原为普通字符 5、管道符 | 将前一个命令的输出作为后面命令的输入。 这里后面的命令不是所有的命令都可以,一般针对文档操作的命令比较常用。 如 cat、less、head、tail、grep、cut、sort、wc、uniq、tee、tr、split、sed、awk等 简要介绍几个命令 (1)cut命令——截取某段文字 (2)sort命令——排序 (3)wc命令——统计文档的行数、字符数或词数 (4)uniq命令——删除重复的行 (5)tee命令——类似于重定向命令,但比重定向命令多一个功能,即在把文件写入后面所跟文件的同时,还将其显示在屏幕上。 (6)tr命令——用于替换字符 (7)split命令——用于切割文档 6、$ 用作变量前面的标识符。 !$表示上条命令中的最后一个变量。 7、~——表示用户的家目录 8、&——如果想把命令放在后台执行,需要加符号& eg: #sleep 30 & 8、重定向符号——>、>>、2>、2>> 9、[? ]——中括号内为字符,代表字符组合中的任意一个,也可以是一个范围。 10、&&——与,||——或? 二、正则表达式1、grep、egrap工具的使用 2、sed工具的使用 3、awk工具的使用 三、shell脚本(一)什么是shell脚本 简单说,shell脚本就是一些命令的合集。 1、shell脚本的创建和执行 创建:第一行以#!/bin/bash开头 ? ? ? ? ? ?#表示注释 eg: #cd /usr/local/sbin/ #vim first.sh #!/bin/bash #This is my first shell scrip. #Writen by susu. echo "hello word!" 执行: 法1: #sh first.sh hello word! 法2: #chmod +x first.sh #. /first.sh hello word! 2、date命令 (二)shell脚本中的变量 1、数学计算 eg: #vim sum.sh #!/bin/bash a=1 b=2 sum=$[$a+$b] echo "$a+$b=$sum" 数学计算要用[? ]括起来,并且前面要加符号$。 2、和用户交互 read命令用于和用户交互,它把用户输入的字符串作为变量值。 eg: read -p "Please input a number : "? x 3、shell脚本预设变量 eg: 脚本 #!/bin/bash echo "$1 $2" 执行 #sh option.sh 1 2 1 2 三、shell脚本中的逻辑判断——if1、不带else 语法: if 判断语句;then ? ? ? ? ?command fi 2、带有else 语法: if 判断语句;then ? ? ? ? command else ? ? ? ? command fi 3、带有elif 语法: if 判断语句1;then ? ? ? ? command elif 判断语句2;then ? ? ? ? commamd else ? ? ? ? command fi 4、if的常用选项(与文件相关) -e:判断文件或目录是否存在 -d:判断是不是目录以及目录是否存在 -f:判断是不是普通文件以及普通文件是否存在 -r:判断是否有读权限 -w:判断是否有写权限 -x:判断是否可执行 5、case逻辑判断 语法: case 变量 in value1) ? ? ? ? ? ?command ? ? ? ? ? ?;; value1) ? ? ? ? ? ?command ? ? ? ? ? ?;; value2) ? ? ? ? ? ?command ? ? ? ? ? ?;; value3) ? ? ? ? ? ?command ? ? ? ? ? ?;; *) ? ? ? ? ? ?command ? ? ? ? ? ?;; esac 不限制value个数,*代表其它值。 四、shell脚本中的循环1、for循环 语法: for 变量名 in 循环的条件;do ? ? ? ? ?command done “循环条件”:可以是一组字符串或者数字,用空格分开;也可以是一条命令的执行结果,但该命令必须用反引号括起来。 2、while循环 语法: while 条件;do ? ? ? ? command done 另外,可以用一个冒号代替循环条件,做到死循环。 while?:; do ? ? ? ? command ? ? ? ? sleep 3 done 五、shell脚本的函数语法: function 函数名() { ? ? ?command1 ? ? ?command2 } 六、shell脚本中的中断和继续1、break 退出该层循环 2、continue 结束本层循环 3、exit 直接退出整个shell脚本。? ? ? ?? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 2:52:40- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |