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的基础知识及常用命令的更多相关文章

  1. Git基础知识与常用命令

    一:相关概念: 1:工作区(Working Directory): 就是你在电脑里能看到的目录 2:版本库(Repository): 工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库. ...

  2. MySQL基础知识和常用命令总结

    说明:以下内容是阅读书籍<<MySQL必知必会>>的摘要和总结 检索数据 排序检索数据 过滤数据 使用通配符过滤 使用正则表达式进行搜索 创建计算字段 使用数据处理函数 汇总数 ...

  3. MongoDB基础知识与常用命令

    SQL术语/概念 MongoDB术语/概念 解释/说明 database database 数据库 table collection 数据库表/集合 row document 数据记录行/文档 col ...

  4. linux基础知识和常用命令

    1.修改主机名 切换到root,然后执行 vim /etc/sysconfig/network,进入其中,更改hostname即可.insert进入修改,esc+:,wq保存退出. 2.用户切换 普通 ...

  5. (四)FastDFS 高可用集群架构学习---后期运维--基础知识及常用命令

    1.fastdfs 七种状态 FDFS_STORAGE_STATUS:INIT :初始化,尚未得到同步已有数据的源服务器 FDFS_STORAGE_STATUS:WAIT_SYNC :等待同步,已得到 ...

  6. 【Shell编程】Shell基本语法

    Shell 语法   Shell程序设计作为一种脚本语言,在Linux系统中有广泛的应用,本文记录了关于Shell程序设计的基础语法知识和常用命令,方便查询,熟练使用shell也需要经常实践,这对于完 ...

  7. 【转载】salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句

    salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句 salesforce如果简单的说可以大概分成两个部分:Apex,VisualForce Page. 其中Apex ...

  8. 【Shell编程】Shell程序设计

    1.Shell简介   作为Linux灵感来源的Unix系统最初是没有图形化界面的,所有的任务都是通过命令行来实现的.因此,Unix的命令行系统得到了很大的发展,逐步成为一个功能强大的系统.   Sh ...

  9. shell编程系列23--shell操作数据库实战之mysql命令参数详解

    shell编程系列23--shell操作数据库实战之mysql命令参数详解 mysql命令参数详解 -u 用户名 -p 用户密码 -h 服务器ip地址 -D 连接的数据库 -N 不输出列信息 -B 使 ...

随机推荐

  1. const修饰的常量 不能被直接修改 但是可以通过指针进行间接修改

    大家都知道如下代码中,被const限定的a是不可以被直接修改的 void main() { const int a = 3; a=1; } 在C++中const修饰的常量,不能被直接修改,但是可以通过 ...

  2. 关于PropertyGrid控件的排序问题

    前些天,由于在项目中需要用到PropertyGrid这个控件,展现其所在控件的某些属性,由于有些控件的属性较多,不易浏览,而且PropertyGrid的排序默认的按照字母的顺序排列的,这样导致在在某些 ...

  3. GoLang激活码

    虽然行为不太好,但是购买的话实在是比较贵. 进入软件,Help-Register,选择License Server,输入 http://idea.youbbs.org 激活即可.

  4. springJDBC的几种方法

    1.简单粗暴,直接在类中创建连接池使用 package com.xiaostudy; import org.apache.commons.dbcp.BasicDataSource; import or ...

  5. java中Hashtable集合的常用方法

    实现Map集合的方法这里就不在讲了 https://www.cnblogs.com/xiaostudy/p/9510763.html public Object clone() 返回Hashtable ...

  6. Linux设置中文语言的一种方式

    刚开始接触Linux时,如果对于英语不太好的人来说,看到英语的系统时就有点头晕. 能把Linux系统设置为中文就变得急需了. 有一个最简单的方法就是,在登录时,下面就有一个选择语言的选项. 如图:

  7. 通过wifi连接android设备的方法

    [转自]http://blog.csdn.net/kuanxu/article/details/7444874 最近由于要在另外一台android设备上调试代码,在本机PC上查看其log.两台机器离的 ...

  8. SqlServer、oracle、mysql分页的实现

    我们在编写MIS系统和Web应用程序等系统时,都涉及到与数据库的交互,如果数据库中数据量很大的话,一次检索所有的记录,会占用系统很大的资源,因此我们常常采用,需要多少数据就只从数据库中取多少条记录,即 ...

  9. qtjambi_编译

    ZC: 写文章时间为 20160716 1. 1.1.在 Win7x64中编译不成功,主要原因是 源码中包含的程序generator.exe出现内存错误 ==> 于是,转到 虚拟机XPsp3中编 ...

  10. Gulp实例(包括环境搭建的自动检测)

    # Gulp实例(包括环境搭建的自动检测) Gulp是一个自动化构建工具,开发者可以使用它在项目开发过程中自动执行常见任务.下面我将完成如下的功能点并且附上源码: CSS文件打包 less文件打包 s ...