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 使 ...
随机推荐
- systemverilog中module与program的区别
我们知道,verilog语法标准中是没有program的,program是systemverilog语法标准新增的内容. 那么,为什么要新增一个program呢?主要考量是基于电路的竞争与冒险. 为避 ...
- html 5中的新特性之强化表单元素及属性
之前我们判断用户提交的是否是Email 的时候,往往使用js 进行判断,但在html5中可以有新的方式进行判断而且更简单 <!DOCTYPE html> <html lang=&qu ...
- jQuery多级联动美化版Select下拉框
在线演示 本地下载
- jQuery焦点图插件
在线演示 本地下载
- Oracle大总结
maven的常见两个指令说明 mvn install 是将你打好的jar包安装到你的本地库中,一般没有设置过是在 用户目录下的 .m2\下面.mvn package 只是将你的代码打包到输出目录,一般 ...
- anacoda的spyder在调用matplotlib的时候无法显示动画效果【学习笔记】
ipython console的默认设置将图像结果显示在终端,但是这样显示存在的问题是无法显示动画效果,因此需要将动画效果显示到单独的窗口,按照下面的截图即可显示. 方法一.按照如下截图显示设置,重启 ...
- BZOJ:(270,300]
9/30 BZOJ3038:线段树,不带lazy标记,直接修改叶子. BZOJ3211:同3038 BZOJ1406:将式子转换成[(x-1)*(x+1)%n==0]然后枚举i.当i=x-1时,i*( ...
- jsp——js事件修改属性样式的两种方法(直接赋值、修改属性)、验证表单符合某要求、阻止表单提交、告诉浏览器不要缓存
代码 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncodi ...
- Java 多线程 - 转载
下面是Java线程相关的热门面试题,你可以用它来好好准备面试. 1) 什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位.程序员可以通过它进行多处理器编 ...
- Pandas重建索引
重新索引会更改DataFrame的行标签和列标签.重新索引意味着符合数据以匹配特定轴上的一组给定的标签. 可以通过索引来实现多个操作 - 重新排序现有数据以匹配一组新的标签. 在没有标签数据的标签位置 ...