网站建设与运营的论文的范本,大庆网站建设方案论文,温州市网络公司网站建设公司,网站面向哪些地区做优化容易命令行的使用,shell脚本1.终端shell,man1.1 Ctrlr--匹配查找历史命令1.2 history [n] --列出历史命令1.3#xff01;--执行历史命令2.shell 编程2.1 shell脚本2.2 注释2.3 指明所用的shell2.4 支持函数2.5 使用变量2.6 解析命令行参数2.7 if, for, case, while2.8 shell脚本中…
命令行的使用,shell脚本1.终端shell,man1.1 Ctrlr--匹配查找历史命令1.2 history [n] --列出历史命令1.3--执行历史命令2.shell 编程2.1 shell脚本2.2 注释2.3 指明所用的shell2.4 支持函数2.5 使用变量2.6 解析命令行参数2.7 if, for, case, while2.8 shell脚本中的引号3.bash 发展历史Linux入门很简单-第六章笔记1.终端shell,man
Linux 是一个内核内核管硬件-显卡、声卡、内存、硬盘、硬盘上的程序调度 Shell–将程序猿操作意图转述给内核。其本质是一个二进制程序路径/bin/bash。
终端负责提供输入命令的交互界面去环境变量Path中唤醒对应的命令程序执行具体的操作。
多种多样的shell终端–bash,csh,ksh。 ubuntu 中默认的shell 是bash。在/etc/passwd文件中会表明默认的shell终端是什么
CtrlaltT 唤醒伪终端(Gnome终端)CtrlaltF1 唤醒的黑漆漆终端, CtrlaltF7回到图形界面
终端输出
chenyingyingchenyingyingde-Air:~$
// 用户名计算机名:当前目录$
// $命令提示符mac的命令提示符为%bash 执行的操作
预留关键字for、history–自己操作命令程序ls、free–去环境变量中找命令程序交由他们来执行
环境变量PATH中记录了bash 找程序的路径按照该路径列表挨个去找命令程序。 如果报 xxx:command not found, 就需要查看是环境变量中是否存在该命令的bin文件路径。如果没有请设置相应的路径(第12条)
// 查看环境变量的内容,以冒号分割各个路径
echo $PATH
/usr/local/sbin:/usr/local/bin:/Users/chenyingying/anaconda3/bin:/Users/chenyingying/anaconda3/condabin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin提示/usr/local目录与/usr目录结构类似都包含bin,sbin,lib,incud等目录。一般来说/usr中存放从软件源中安装的软件/usr/local中存放用户用其他方式安装的软件。
/usr/sbin–useradd,gdm,smbd,nmbd 管理级的程序 /usr/bin – 有ls命令程序
一般情况下:
普通用户使用命令存放目录–/bin, /usr/bin, /usr/local/binroot 用户使用命令存放目录–/sbin, /usr/sbin, /usr/local/sbin
要运行一个二进制程序而且该程序不在PATH所包含的所有路径中(新下载的安装程序)在运行的时候加上路径即可bash 就直接去写的路径中找相应的二进制程序了。
./setup.sh // 直接运行该二进制程序man 命令解说员, 查看命令的作用按Q键推出解说界面。 pwd- print woking directory --输出当前工作目录 date–打印当前的日期 Linux 软件设计的理念–只做一个功能但是要做到最好。通过多个程序组合可以实现任何功能。 bash 会将所有的通配符都展开之后再传递给实际的命令。
1.1 Ctrlr–匹配查找历史命令
按照模糊印象查询历史命令就用Ctrl r 组合键进入历史记录搜寻状态。 键盘输入一个字母当前命令行就会匹配最接近的命令, 按下enter会执行匹配的命令按下右键上下左右方向键中的右键会进入命令编辑状态
1.2 history [n] --列出历史命令
history [n] n为数字列出最近的n条命令 history 3 # 显示3条命令 所有的历史命令存在~/.bash_history中打开该文件可以查看所有的命令 (mac中history 3无效会显示所有的历史命令)
1.3–执行历史命令
! number 执行第number条命令 ! command 从历史命令中找到最近的以command开头的命令执行 !! 执行上一条命令 参考博文https://blog.csdn.net/gui951753/article/details/79225429
2.shell 编程
2.1 shell脚本
把程序打包
文本编辑器编辑shell 脚本存成xxx.sh的格式赋予 脚本可执行权限: chmod x ./xxx.sh 运行脚本./十分必要 ./xxx.sh 注意
脚本文件并不要求特定的扩展名只要是文本文件具有可执行的权限即可。一般习惯上将脚本文件扩展名设为.sh
2.2 注释
shell 脚本的注释用#号
2.3 指明所用的shell
shell 脚本文件第一行说明使用的shell (有点类似于解释器的说明) #!/bin/bash 也可以直接在运行脚本程序时显式指定 bash xxx.sh 2.4 支持函数
有一段代码需要在脚本里使用执行多次可以将其写成一个函数直接调用。Bash中的函数是没有参数列表, 参数按照位置传递的而且自动给出变量名称例如$1就表示第一个参数当然$2就是第二个参数参数之间用空格区分。
#!/bin/bash
# shell 脚本函数使用dmeo
function parse() { # 定义函数echo $0echo $1 # 传达给函数的第一个参数
}
parse $1 # 调用函数,不需要写小括号
parse $2# 运行脚本------
bash test.sh 123 321# 脚本输出------
test.sh
123
test.sh
321
2.5 使用变量
shell 中的变量类型只有字符串
#!/bin/bash
value128
echo value
echo $value # 取变量的值否则直接使用value字符串
player1YOGA # 似乎空格符号都不能用./shell_test.sh: line 5: YOGA: command not found
player2KEN
echo ${player1}vs${player2}算术运算
num8
num$num1
echo $num
num8
numexpr num1
echo $num输出
81
./shell_test.sh: line 12: num1: command not found
expr: syntax error环境变量–在整个系统运行中都有效的变量.例如PATH,$HOME-当前用户的家目录,$TZ-本系统所在的时区 可以通过export 让一个用户变量变成全局变量(环境变量在当前会话结束后失效)
# mac zsh没有设置全局变量成功
export num8
echo $num2.6 解析命令行参数
参考 可以在执行 Shell 脚本时向脚本传递参数脚本内获取参数的格式为$n。n 代表一个数字1 为执行脚本的第一个参数2 为执行脚本的第二个参数以此类推。其中 $0 为执行的文件名。 ./extract_cyy.sh 123 # 在编写bash 脚本时 123 可以通过$1获取 2.7 if, for, case, while
该有的它都有不过我觉得…应该不会大量用到shell编程吧 (此处略被虐了再回来补好吧)
if语句的基本语法如下 条件判断可以包括字符串的判断 数值的判断 文件和目录的判断 复杂逻辑判断
if [ command ];then符合该条件执行的语句
elif [ command ];then符合该条件执行的语句
else符合该条件执行的语句
fi参考文档 shell 语言中的 if 条件判断
2.8 shell脚本中的引号
Shell脚本中经常会使双引号或者单引号将字符串括起来也可以不使用引号来定义字符串变量。
单引号是全引用 变量不替换。被单引号括起的内容不管是常量还是变量都不会发生替换。 双引号是部分引用变量替换。被双引号括起的内容常量还是常量变量则会发生替换替换成变量内容。如果双引号中有命令、变量等会先把变量、命令解析出结果。 无引号 定义字符串时字符串不能包含空白字符如Space或Tab。 反引号 命令替换通常把命令输出结果保存在变量中 如果命令不用反引号包含那么命令不会执行而是直接输出。
vardablelv
echo $var # 输出$var 原样输出单引号里的内容
echo $var # 输出dablelv 先进性变量取值操作然后在echo该值
echo ls参考文档Shell 双引号和单引号的区别
3.bash 发展历史
Thomp Shell-Ken Thompson-Unix操作系统接口界面用来与人类交流。 Bourne Shell-Steve Bourne-加入控制流的shell–成为后来的Unix 标准shell。 Bourne Again Shell-Brain Fox-就是后来的bash,完善了Bourne Shell。