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 使 ...
随机推荐
- SQuirrel-GUI工具安装手册-基于phoenix驱动
背景描述: SQuirrel sql client 官方地址:http://www.squirrelsql.org/index.php?page=screenshots 一个图形界面的管理工具 安装手 ...
- 20145217《网络对抗》 Web安全基础实践
20145217<网络对抗> Web安全基础实践 一.实践任务 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 二.实验后回答问题 (1)SQL注入攻击原理,如 ...
- Spring_自动装配
Beans-autowire.xml <?xml version="1.0" encoding="UTF-8"?><beans xmlns=& ...
- code for 1 - 分治
2017-08-02 17:23:14 writer:pprp 题意:将n分解为n/2, n%2, n/2三部分,再将n/2分解..得到一个序列只有0和1,给出[l, r]问l到r有几个1 题解:分治 ...
- TWX 比较好的多线程使用实例
using Newtonsoft.Json;using System;using System.Collections.Generic;using System.Configuration;using ...
- 自己用java实现飞鸽传书 1 - 实现socket通信
第一步: 建立服务端客户端,实现端到端通信.因为要传递文件,信号量较大,故使用TCP/IP协议. 服务端和客户端都要建立socket,而后通过socket进行通信.目前只实现服务端到客户端的单向通信. ...
- git常用操作 配置用户信息、拉取项目、提交代码、分支操作、版本回退...
git常用操作 配置用户信息.拉取项目.提交代码.分支操作.版本回退... /********git 配置用户信息************/ git config --global user.name ...
- phpexcel: 数据导出
// 设置列名最多40个 $cols = array( "A", "B", "C", "D", "E" ...
- 【scala】数组和列表
一.数组Array 1.创建数组 隐式:val greetStrings = new Array[String](3); 显式:val greetStrings : Array[String] = n ...
- Struts2 用过滤器代替了 servlet ,???? 且不需要tomcat就可以直接做功能测试
Struts2 用过滤器代替了 servlet ,???? 且不需要tomcat就可以直接做功能测试