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 使 ...
随机推荐
- Difference between RouteTable.Routes and HttpConfiguration.Routes?
https://stackoverflow.com/questions/12533782/difference-between-routetable-routes-and-httpconfigurat ...
- LeetCode——Next Greater Element I
LeetCode--Next Greater Element I Question You are given two arrays (without duplicates) nums1 and nu ...
- LVS+Keepalived+Tomcat实现高可用性及均衡负载
1.Keepalived简介 Keepalived是Linux下一个轻量级别的高可用解决方案.Keepalived起初是为LVS设计的,专门用来监控集群系统中各个服务节点的状态,它根据TCP/IP参考 ...
- 线段树 - HDU1166 - 敌兵布阵
2017-07-29 16:41:00 writer:pprp 线段树跟区间操作相关,想要在题目限定的时间内解决问题就需要用线段树这种数据结构来解决: 线段树是一种二叉平衡树 参考书目:张新华的< ...
- 2017 湘潭邀请赛&JSCPC G&J
训练的时候对G想了一个假算法..也有很大可能是写错了.. 下来一看别人的G 看起来很奇妙.. 开始把所有的左括号翻成右括号,然后cost*=-1 这样在优先队列中就是最优的 然后for每一段 如果前缀 ...
- C++ Primer 第二章 学习笔记
在auto一个引用时,auto会忽略顶层const,而保存底层const decltype(sum()) x = i; // I的类型就是sum()返回值的类型
- Windows安装Ubuntu桌面操作系统到移动硬盘中以及错误解决
用到的工具:U盘一个(usb3.0,你懂的),移动硬盘(我这个是笔记本里面取出来的机械硬盘装上的盒子) 第一步:下载Ubuntu系统iso镜像文件 下载Ubuntu系统iso镜像文件,由于我是新手,下 ...
- Java中的条件运算符
条件运算符( ? : )也称为 “三元运算符”. 语法形式:布尔表达式 ? 表达式1 :表达式2 运算过程:如果布尔表达式的值为 true ,则返回 表达式1 的值,否则返回 表达式2 的值 例如: ...
- tomcat_下载
1. http://tomcat.apache.org/ 2. 3.
- spring mvc:文本框
采用:<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%> ...