shell简单用法笔记(一)
一、linux中主要用的bash shell;查看linux系统中支持的shell种类可用:
vim /etc/shell
执行shel脚步的方式:
1、赋予脚步可执行权限,使用相对或绝对路径调用该脚本
chmod test.sh #赋予该脚本可执行权限
./test.sh #以相对路径执行该命令
~/test.sh #一绝对路径执行该命令
2、使用shell命令调用脚本(此时脚本可以不需要执行权限):
bash test.js #使用bash shell执行
sh test.js #使用sh执行
注意:shell脚本以 #! /bin/bash 开头,表示一下写的是shell脚本(相当与php的<?php ?>)
二、shell历史命令的查看
运行: history 可查看在该用户下已经使用的命令(通过上下箭头可以查看前一条或后一条执行的命令)
通过 vim ~/.bash_history 可查看已经被保持的历史命令
通过查看 /etc/profile 里可以查看到最多保存的历史记录的条数
通过: !n 可重复执行历史记录的第n条命令
通过: !str 可重复执行以str开头的最后一条历史命令
三、shell定义别名
alias ls = "ls -l" #定义ls -l 的别名为ls,当执行ls的时候实际上执行的是ls -l
别名的配置(配置别名永久生效):
编辑 ~/.bashrc
四、输出重定向
标准输出 /dev/stdin 0 键盘
标准输出 /dev/stdout 1 显示器
标准错误输出 /dev/strerr 2 显示器
ls > aa 覆盖到aa
ls >> aa 追加到aa
ls hahah 2>aa 将错误输出到aa(错误输出的两侧不能加空格)
ls &> aa 将正确和错误输出到aa
五、多命令执行
cd ; ls ; date #中断中输入后会顺序执行该3条命令
ls aaa && date #前一条正确执行后,后面一条才执行
ls aaa || date #前一条命令错误执行,后一条命令才执行
ls aaa && echo yes || echo no #ls aaa正确执行输出yes,执行错误输出no ls | grep etc #前一条命令的执行结果,作为后一条命令的执行条件
六、变量
1、变量分类
- 本地变量
- 环境变量
- 位置参数变量
- 预定义变量
环境变量配置文件:
/etc/profile
/etc/bashrc
~/.bashrc
~/.bash_profile
前两个针对所有用户生效,后两个针对指定用户生效
shell简单用法笔记(一)的更多相关文章
- shell简单用法笔记(shell中数值运算)二
shell中变量值,如果不手动指定类型,默认都是字符串类型: 例如: a= b= c=$a+#b echo $c 结果会输出:123+456 shell中,如果要进行数值运算,可以通过一下方法: 方法 ...
- Linux shell ${}简单用法
转自:Linux shell ${}简单用法 为了完整起见,我这里再用一些例子加以说明 ${ } 的一些特异功能:假设我们定义了一个变量为:file=/dir1/dir2/dir3/my.file.t ...
- 【转】linux shell ${}简单用法
为了完整起见,我这里再用一些例子加以说明 ${ } 的一些特异功能: 假设我们定义了一个变量为: file=/dir1/dir2/dir3/my.file.txt 我们可以用 ${ } 分别替换获得不 ...
- Ext.Net学习笔记19:Ext.Net FormPanel 简单用法
Ext.Net学习笔记19:Ext.Net FormPanel 简单用法 FormPanel是一个常用的控件,Ext.Net中的FormPanel控件同样具有非常丰富的功能,在接下来的笔记中我们将一起 ...
- shell expect的简单用法【转】
用expect实现自动登录的脚本,网上有很多,可是都没有一个明白的说明,初学者一般都是照抄.收藏.可是为什么要这么写却不知其然.本文用一个最短的例子说明脚本的原理. 脚本代码如下: ######## ...
- centos shell脚本编程1 正则 shell脚本结构 read命令 date命令的用法 shell中的逻辑判断 if 判断文件、目录属性 shell数组简单用法 $( ) 和${ } 和$(( )) 与 sh -n sh -x sh -v 第三十五节课
centos shell脚本编程1 正则 shell脚本结构 read命令 date命令的用法 shell中的逻辑判断 if 判断文件.目录属性 shell数组简单用法 $( ) 和$ ...
- 3.2 配置构建Angular应用——简单的笔记存储应用
本节我们会通过构建一个简单的笔记存储应用(可以载入并修改一组简单的笔记)来学习如何应用Angular的特性.这个应用用到的特性有: 在JSON文件中存储笔记 展示.创建.修改和删除笔记 在笔记中使用M ...
- Shell常见用法小记
shell的简单使用 最近发现shell脚本在平常工作中简直算一把瑞士军刀,很多场景下用shell脚本能实现常用的简单需求,而之前都没怎么学习过shell,就趁机把shell相关的语法和常见用法总结了 ...
- Linux——帮助命令简单学习笔记
Linux帮助命令简单学习笔记: 一: 命令名称:man 命令英文原意:manual 命令所在路径:/usr/bin/man 执行权限:所有用户 语法:man [命令或配置文件] 功能描述:获得帮助信 ...
随机推荐
- Fight my work!
来这个公司第一天工作, 上来就是装ubantu系统,对于玩linux玩的不熟的我.还是相当吃力的, 反正有问题尝试着自己解决,不会就问, 压力还是很大了. 学了一下企业的历史,理念等相关信息,也没重点 ...
- 与你相遇好幸运,gen8安装
gen8到手后,立马去买了 SSD https://item.jd.com/2010277.html 支架 https://item.jd.com/2671609.html NAS盘 https:// ...
- Codeforces Round #382 Div. 2【数论】
C. Tennis Championship(递推,斐波那契) 题意:n个人比赛,淘汰制,要求进行比赛双方的胜场数之差小于等于1.问冠军最多能打多少场比赛.题解:因为n太大,感觉是个构造.写写小数据, ...
- 创建Unity3D的MacOS Plugin的正确姿势
http://www.tedlindstrom.se/how-to-link-dylibs-into-unity3d/ I was roaming around the net looking for ...
- cout输出控制——位数和精度控制
刷到一道需要控制输出精度和位数的题目 刚开始以为单纯使用 iomanip 函数库里的 setprecision 就可以,但 OJ 给我判了答案错误,后来一想这样输出并不能限制位数只能限制有效位数. 比 ...
- 学习微信小程序之css8
实战画一个圣诞树 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- jQuery中事件绑定到bind、live、delegate、on方法的探究
1. 给页面上的某个元素绑定事件,最初采用下面的方式实现: $(‘selector’).click(function(){ //code }); 缺点: 不能同时绑定多个事件,不能绑定动态的元素. 后 ...
- HTML5开发笔记:图片上传预览
我们知道通过<input type="file">可以用来进行一个图片或者文件的上传,然而浏览器自带的一个缩略图预览的功能其实是相当不美观的,很多时候我们希望可以在上传 ...
- java内存泄露
上一篇提到的是java垃圾回收,今天谈谈java的内存泄露. 首先谈下java的内存管理机制: 在Java程序中,我们通常使用new为对象分配内存,而这些内存空间都在堆(Heap)上. public ...
- Spartan Exploit Kit分析
之前都是调试flash的漏洞,相关的样本接触较少,碰巧看到一篇不错的分析,尝试了一下,留个记录. 调试flasher样本一般建议使用调试版的flash player,在调试版本下可以输出swf文件运行 ...