Shell编程(二)——shell的基础知识及常用命令
shell的基础知识
一、bash有以下特点:
1.记录命令历史
2.指令和文件名补全
3.别名
alias rm='rm -i'
4.通配符
* 0个或多个字符
?匹配一个字符
5 输入输出重定向
输入重定向 <</p>
输出重定向 >
6.管道符 |
二、变量
环境变量PATH:它是Shell预设的一个变量
echo $PATH
echo $PWD
echo $HOME
系统预设的变量:使用env命令即可全部列出系统预设的环境变量了,不过登录的用户不同这些环境变量的值也不一样
PATH:决定了shell到哪些目录中寻找命令或程序
HOME当前用户主目录
HISTSIZE历史记录数据
LOGNAME当前登录名
HOSTNAME主机的名称
PWD当前目录
env命令显示的只是环境变量,系统预设的变量还有很多,可以使用set命令都显示出来
set命令不仅可以显示系统预设的变量,还可以显示用户自定义的变量
用户自定义变量
myname='sassy xu' 变量内容有特殊字符如空格时,需要加上单引号
myname="sassy's'" 变量内容本身有单引号时,需要加上双引号
myname=`pwd` 变量内容需要用到其他命令运行结果,则使用反引号
myname="$LOGNAME"sassy 变量内容累加其他变量的内容,需要加双引号
系统环境变量及个人环境变量的配置文件
/etc/profile:存放系统环境变量的文件,比如PATH,LOGNAME,HOSTNAME等
/etc/bashrc:系统文件,预设PS1,root身份登录进去linux系统PS1就是 [root@localhost ~]#
用户目录下的几个隐藏文件
.bash_profile
.bashrc
.bash_history
.bash_logout
三、常用命令
sort命令 用来排序
(1)sort将文件的每一行作为一个单位,相互比较,比较原则是首字符向后,依次按照ASCII码进行比较,最后将他们按升序输出。
cat seq.txt
banana
apple
pear
orange
sort seq.txt
apple
banana
orange
pear
(2) sort -u 去除重复项
(3)sort -r 倒序排列
cat number.txt
1
3
5
2
4
sort -r number.txt
5
4
3
2
1
(4) sort -n 选项 按照数值大小排序
(5) sort的-t选项和-k选项
如果有一个文件内容是这样的, cat facebook.txt
banana:30:5.5
apple:10:2.5
pear:90:2.3
orange:20:3.4
第一列表示水果类型,第二列表示水果数量、第三列表示单价
以水果数量,也就是第二列排序,
sort -t: -k 2 -n facebook.txt
apple:10:2.5
orange:20:3.4
banana:30:5.5
pear:90:2.3
grep命令
grep是针对文本的行操作的
grep -n '关键词' filename 过滤出带有关键词的行并输出行号
grep -vn '关键词' filename 过滤出不带有关键词的行并输出行号
grep [0-9] text.txt 过滤出所有包含数字的行
在正则表达式中 [0-9a-zA-Z] 过滤出数字以及大小写字母,
[^字符] 表示除[]内的字符之外的字符
^表示行的开始,$表示行的结束 ^r h$
grep -i '关键词' filename 忽略大小写
grep -c '关键词' filename 统计找到关键词的次数
grep --color=auto 将找到的关键词加上颜色显示
Shell编程(二)——shell的基础知识及常用命令的更多相关文章
- Git基础知识与常用命令
一:相关概念: 1:工作区(Working Directory): 就是你在电脑里能看到的目录 2:版本库(Repository): 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库. ...
- MySQL基础知识和常用命令总结
说明:以下内容是阅读书籍<<MySQL必知必会>>的摘要和总结 检索数据 排序检索数据 过滤数据 使用通配符过滤 使用正则表达式进行搜索 创建计算字段 使用数据处理函数 汇总数 ...
- MongoDB基础知识与常用命令
SQL术语/概念 MongoDB术语/概念 解释/说明 database database 数据库 table collection 数据库表/集合 row document 数据记录行/文档 col ...
- linux基础知识和常用命令
1.修改主机名 切换到root,然后执行 vim /etc/sysconfig/network,进入其中,更改hostname即可.insert进入修改,esc+:,wq保存退出. 2.用户切换 普通 ...
- (四)FastDFS 高可用集群架构学习---后期运维--基础知识及常用命令
1.fastdfs 七种状态 FDFS_STORAGE_STATUS:INIT :初始化,尚未得到同步已有数据的源服务器 FDFS_STORAGE_STATUS:WAIT_SYNC :等待同步,已得到 ...
- 【Shell编程】Shell基本语法
Shell 语法 Shell程序设计作为一种脚本语言,在Linux系统中有广泛的应用,本文记录了关于Shell程序设计的基础语法知识和常用命令,方便查询,熟练使用shell也需要经常实践,这对于完 ...
- 【转载】salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句
salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句 salesforce如果简单的说可以大概分成两个部分:Apex,VisualForce Page. 其中Apex ...
- 【Shell编程】Shell程序设计
1.Shell简介 作为Linux灵感来源的Unix系统最初是没有图形化界面的,所有的任务都是通过命令行来实现的.因此,Unix的命令行系统得到了很大的发展,逐步成为一个功能强大的系统. Sh ...
- shell编程系列23--shell操作数据库实战之mysql命令参数详解
shell编程系列23--shell操作数据库实战之mysql命令参数详解 mysql命令参数详解 -u 用户名 -p 用户密码 -h 服务器ip地址 -D 连接的数据库 -N 不输出列信息 -B 使 ...
随机推荐
- poj2431 一直Wa
在遍历加油站的时候,会将经过的x加油站放入优先队列,之后将x从数组中删掉,即用最后一个加油站来替代x:这时如果不 “i--”,则会漏掉检查原来的stop[n-1],则可能造成错误. if(stop[i ...
- 20165101刘天野 2018-2019-2《网络对抗技术》第1周 Kali的安装
20165101刘天野 2018-2019-2<网络对抗技术>第1周 Kali的安装 一.实验要求 Kali下载 安装 网络 共享 软件源 二.实验步骤 1.下载 从Kali官网中下载相应 ...
- scala学习手记31 - Trait
不知道大家对java的接口是如何理解的.在我刚接触到接口这个概念的时候,我将接口理解为一系列规则的集合,认为接口是对类的行为的规范.现在想来,将接口理解为是对类的规范多少有些偏颇,更恰当些的观点应该是 ...
- Java 自定义注解实现ORM对象关系映射
一,ORM概念 ORM即Object Relation Mapping,Object就是对象,Relation就是关系数据库,Mapping映射,就是说Java中的对象和关系数据库中的表存在一种对应关 ...
- ROC 曲线,以及AUC计算方式
ROC曲线: roc曲线:接收者操作特征(receiveroperating characteristic),roc曲线上每个点反映着对同一信号刺激的感受性. ROC曲线的横轴: 负正类率(false ...
- ArcEngine 坐标系转换
/// <summary> /// 地理坐标系 转 投影坐标系 /// </summary> /// <param name="x"></ ...
- 实际工作中遇到关于Struts2线程安全的问题解决
今天工作遇到一个难缠的bug,浪费了2个小时终于解决. 问题描述:对资源的管理中用到关键字查询以及分页查询.视图控制器用到struts2,数据存储用spring的data-mongodb来存储数据以及 ...
- js:s上次预览,上传图片预览,图片上传预览
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- javaweb图片上传 tomcat重新部署 图片消失
标签: 图片上传tomcat重新部署图片消失原因分析以及解决办法 最近在做一个Javaweb的项目,涉及到图片上传,并且需要将图片通过URL回显给JSP页面,在调试的时候发现,上传到tomcat的 ...
- xcrun: error: active developer path (/Users/XJW/Desktop/Xcode.app/Contents/Developer) does not exist, use `xcode-select --switch path/to/Xcode.app` to
问题: 装了双xcode 删掉低版本 (注意:低版本xcode 开启过项目 ) 创建git时报错 解决方法: sudo xcode-select -switch /Applications ...