Linux中的输入重定向,变量
1 ;分号
格式:命令1;命令2;命令3
说明:命令之间用分号隔开是顺序执行,命令之间没有任何逻辑关系
2 && 逻辑与
格式:命令1 && 命令2
说明:命令1正确执行,命令2才会执行;命令1执行失败,则命令2不会执行
3 || 逻辑或
格式:命令1 || 命令2
说明:命令1执行错误,则命令2才会执行;命令1执行正确,则命令2不会执行
4 复制磁盘
dd if=输入文件 of=输出文件 bs=字节数 count=个数
说明:if->输入文件 指定源文件或源设备
of-> 输出文件,指定目标文件或目标设备
bs->字节数 指定一次输入/输出多少字节,即这些字节看做一个数据块
5 判断命令是否执行正确
命令 && echo yes || echo no
说明:命令执行正确无误,输出yes,执行有错误输出no
6 | 管道符
格式:命令1 | 命令2
作用:命令1的正确输出作为命令2的操作对象,要求命令1必须有正确输出
7 grep [选项] '搜索内容' 文件名
作用:搜索
参数:
-i 忽略大小写
-n 输出行号
-v 反向查找
--color=auto 颜色显示
通配符及其他特殊符号
?->匹配一个任意字符
*->匹配0个或多个任意字符
[]->匹配中括号中任意一个字符 例如:[abc] 表示匹配a或者b或者c
[-]->代表一个范围匹配范围中的任意一个 例如:[1-9] 匹配1-9中的任意一个数字
[^]->匹配不是中括号中的一个字符 例如:[^0-9] 匹配一个不是数字的字符
8 bash中其他的特殊字符
'' 单引号 单引号中的任何特殊字符均没有意义
"" 双引号 双引号中除 $ ` \ 外其他的特殊字符都没有特殊意义 ,$ 调用变量 `引用系统命令 \转移字符
`` 反引号 反引号括起来的内容是系统命令,会先执行系统命令
$() 和反引号一样,用来引用系统命令
$ 取变量的值,不带$是变量 带上$是去变量的值
9 变量
变量的默认类型都是字符串类型
变量用=连接,=两侧不能有空格,如果变量值中有空格需要用引号引起来
name=$(date) 将当前时间赋值给变量name
环境变量名建议大写,便于区分
10 变量分类
用户自定义变量
环境变量 ->是和系统操作环境相关的数据
位置参数变量 ->这种变量主要用来向脚本中传递参数和数据的,变量名不能自定义,变量作用是固定的
预定义变量 ->是bash中已经定义好的变量,变量名不能自定义,变量作用也是固定的
其中位置参数变量也属于预定义变量
11 set
作用:查看系统中的所有变量
12 unset 变量名
作用:删除变量,删除环境变量也用这个命令
13 pstree
作用:查看系统中使用的shell的层级树
14 设置环境变量
export 变量名=变量值 设定环境变量 例如:export age=18 添加一个环境变量age 并赋值为18
name='zhaolili' 添加本地变量并赋值为 zhaolili
export name 这样就把本地变量name变成了环境变量
15 env
作用:查询环境变量
16 环境变量PS1
作用:定义系统提示符的变量
参数:
\d 显示日期,格式为"星期 月 日"
\h 显示简写主机名,默认为localhost
\t 显示24小时时间制,格式为 "HH:MM:SS"
\T 显示12小时时间制,格式为"HH:MM:SS"
\A 显示24小时时间制,格式为"HH:MM"
\u 显示当前用户名
\w 显示当前工作目录的完整路径
\W 显示当前工作目录的最后一层目录
\# 执行的第n个命令
\$ 提示符 root用户是# 其他用户是$
17 位置参数变量
$n ->n为数字 $0代表命令本身 $1-$9代表第一都第9个参数 10以上的参数用大括号 ${10} ${11}
$* -> 代表命令中的所有参数,$*把所有参数看做一个整体
$@ ->代表命令中所有参数,$@把所有参数区分对待
$# -> 代表命令中所有参数的个数
这个循环一次
for in "$*"
do
echo $i
done
这个循环多次
for y in "$@"
do
echo $y
done
18 预定义变量
$? 最后一次执行命令的返回状态 如果这个命令执行的结果为0 则证明上一个命令执行正确 否则 执行失败
$$ 当前进程的进程号(PID)
$! 后台运行的最后一个进程的进程号(PID)
19 接收键盘的输入
read [选项] [变量名]
-p "提示信息" 在等待read时给出的提示信息
-t 秒数 read命令会一直等待用户输入,使用此选项可以指定等待时间
-n 字符数 read命令只接收指定的字符数,就会执行
-S 隐藏输入的数据,使用于机密性的信息 比如密码
例子:read -t 30 -p "Please input your name:" name ->表示把输入的信息放入变量name中
Linux中的输入重定向,变量的更多相关文章
- linux中的输入从定向和输出重定向
linux的标准的输入和输出为如下 我们在 linux中执行命令时,命令默认输出到console中,很多时候我们需要将命令输出到其他设备上如最常见的就文件中去,或者重文件中输入.那这时候就需要用到li ...
- linux中配置JDK环境变量
使用的centos版本为 7.5 首先我们要把jdk拷到linux中,这里我们借助XShell工具,我们先来看看Xshell的用法 打开Xshell 后点击文件,“新建“,如下图: 起一个名称,主机填 ...
- Linux中的数据重定向
重定向即指:将数据传送输出到别的地方,如设备.文件等等.那就涉及到将什么数据传送到什么地方的问题. 在linux中命令执行的起源和结果说起,看下图: Standard input和Standard e ...
- Linux中export导入环境变量的几种方式
1.首先类似于windows中的设定系统环境变量的方式为,在/etc/profile中 export PATH=$PATH:....:... 注意间隔符为: 然后复用原来路径是$PATH的方式 2.用 ...
- Linux中涉及到环境变量的文件
1. 系统级 (a) /etc/profile : 在用户登录操作系统时,定制用户环境的第一个文件,应用于登录的每一个用户 ==> 该文件一般调用/etc/bash.bashrc文件 (b)/e ...
- linux中输入输出和重定向问题
输入输出解释 当我们执行shell的时候,每个进程都和三个打开的文件有关系,并使用文件描述符来引用这些文件.但这些文件不容易记忆,所以shell给了相应的文件名: 0:输入文件-标准输入(它的命令是输 ...
- Linux中的预定义变量
解释: 主要是Bash中已经定好的变量,名称不能自定义,作用也是固定的 $? 最后一次执行的命令返回状态,0为成功,非0为失败 $$ 当前进程的进程号 $! 后台运行的最后一个进程的进程号 例子: [ ...
- Linux中的输出重定向
标准输入输出: 键盘 /dev/stdin 0 标准输入 显示器 /dev/stdout 1 标准输出 显示器 /dev/st ...
- Linux中bash shell环境变量
别名 别名是命令的快捷方式.为那些需要经常执行,但需要很长时间输入的长命令创建快捷方式很有用.语法是: alias ppp='ping www.baidu.com' 它们并不总是用来缩短长命令.重要的 ...
随机推荐
- 移动端rem页面详谈
rem布局是移动端常见的布局之一,也是较为成熟的方案.接下来就详细说以下rem布局的实际操作. 1.首先加<meta />标签,设置视口的大小,不多说. <meta name=&qu ...
- thinkphp 配合mongodb
首先在config.php里面添加配合mongodb的数据库连接 'DB_TYPE'=>'mongo',// 数据库类型 'DB_HOST'=>'localhost',// 服务器地址 ' ...
- android 多线程下载
看代码: public class MainActivity extends AppCompatActivity { private final String TAG = MainActivity.c ...
- git命令解析
一 常用命令 1..gitignore 文件为git忽略文件,例*.[oa] *.~ 为忽略.a或.o或.~结尾的文件./表示忽略目录,!表示反取, *表示匹配零个或者多个字符.?表示匹配一个字符. ...
- WPS for Linux,系统缺失字体
启动WPS for Linux后,出现提示"系统缺失字体" . 出现提示的原因是因为WPS for Linux没有自带windows的字体,只要在Linux系统中加载字体即可. 具 ...
- web前端相关网站
传智播客. (有很多公开课的,而且他的百度云盘也有很多东西) http://www.itcast.cn/(这个不是广告,爱信不信) 慕课网 ...
- 【网络编程/C++】修改本机ip地址
昨天学会了编程实现获取本地网卡信息,今天再接再砺学会了修改本机ip地址.其实原理很简单就是用c++调用一下dos命令而已,不得不说,dos命令实在是太强大了,当然听说还有种修改注册表的方法,不过没有试 ...
- 一步一步学WebSocket (一) 初识WebSocket
众所周知,Http协议是无状态的,并且是基于Request/Response的方式与服务器进行交互,也就是我们常说的单工模式.但是随着互联网的发展,浏览器与服务端进行双向通信需求的增加,长轮询向服务器 ...
- --查询nvarchar(max)的表和字段
--查询nvarchar(max)的表和字段 select 'insert into #tempTabelInfo select '''+d.name+''', '''+a.name+''', max ...
- django框架的models
在django的框架设计中采用了mtv模型,即Model,template,viewer Model相对于传统的三层或者mvc框架来说就相当对数据处理层,它主要负责与数据的交互,在使用django框架 ...