鱼C论坛

 找回密码
 立即注册
查看: 2484|回复: 0

[学习笔记] 014-Shell编程之01基础知识

[复制链接]
发表于 2018-11-15 19:33:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 moc 于 2018-11-15 19:33 编辑

1.什么是Shell
        shell是核心程序kernel之外的指令解析器,是一个程序,同时是一种命令语言和程序设计语言
        shell是命令解析器,它提供一个到操作系统的接口,它收集用户的输入并根据输入来执行相应的程序,当程序执行结束后,他显示程序的输出。
查看当前系统安装的Shell:  ==>   cat/etc/shells
查看当前用户运行的shell:  ==>   echo $SHELLs
当前shell中运行其他shell:  ==>   /bin/sh
linux下默认的shell  ==> bash
bash特点:  快速(上下键);tab键盘自动补齐;自动帮助功能help...
2.Shell代码
使用shell代码的原因: 功能强大、节约时间。
#!/bin/bash
#shell代码
mytext="hello world"
echo $mytext
易犯错误:
        1> 第一行#不是注释 其他#都是注释;
        2> shell严格区分大小写
        3> 代码需要添加执行权限  ==> chmod 775 xxx.sh   OR  chmod u+x xxx.sh
        4> 代码运行方式=> ./xxx.sh   <注意:$PATH 环境变量>
3.Shell特性
1> 别名  alias
查看本用户下的alias配置  ==> alias
自定义别名  ==>  alias ll = ‘ls -alh’    (这里是单反引号)
查看用户下alias命名的配置  ==>  cat $HOME/.bashrc
2> 后台处理  nohup commond &
将归档程序放入后台执行  ==>  nohup tar –cvf 111.tar.gz &
查看后台正在运行的命令  ==>  jobs –l
3> 管道
把一个命令的输出作为另外一个命令的输入。
如: ls -l| sort;   ls | sort
4> 重定向  < 输入   >输出
与管道相关,可以改变程序运行的输入来源和输出地点.
从文件中按行读取数据排序后输出  ==> sort< myfile.txt
从文件中按行读取数据排序后输出到另一个文件中  ==>  sort<myfile.txt >myfileSort.txt
5> 模式匹配
*  ?  等作为特殊字符匹配字符串等...
正则表达式.
6> 特殊字符
双引号(“”)        ==> 用来使shell无法认出空格、制表符和其他大多数特殊字符,如:建立带空格的文件touch “my file”
单引号(‘)         ==> 用来使shell无法认出所有特殊字符。
反引号(`)        ==> 用来替换命令
反斜杠(\)        ==> 转义字符, 如:  创建带空格文件名 touch my\ file
分号(;        ==> 允许在一行上放多个命令:  mv 1.txt 2.txt;  mv 2.txt 3.txt;
括号()         ==> 创建成组的命令
大括号{}         ==> 创建命令块。
竖杠(|)          ==> 管道标示符
< > &          ==> 重定向表示符
* ? [ ] !           ==> 表示模式匹配
&          ==> 命令后台执行
$          ==>变量名的开头
#          ==> 表示注释(第一行除外)
空格、制表符、换行符  ==> 当做空白  

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-15 07:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表