4-1-1 shell特性

指令history 查看历史指令

root的历史指令存放在 /.bash_history上,默认保存1000条

指令!!查看上一条历史指令和结果

指令!$  上一条指令的最后一个变量

指令!100 执行历史第100条指令

指令!c

TAB键能自动补充指令

指令alias 查看命令别名

指令alias aa bbb 设置指令bbb的别名aa,输入指令aa就能等于输入指令bbb

指令unalias aa 解除别名aa

ls *.txt 把txt结尾的列出

ls 1* 把1为首的列出

ls ?.txt 只匹配一个字符以txt结尾的 例如1.txt

| 把前一个指令的结果丢给后一个指令 例 cat /etc/passwd|wc -1

> 覆盖写入

>>不覆盖写入

< 把文件内容丢给指令 例如 wc -1<1.txt

指令jibs 查看已停的指令

指令fg 调回前台执行

指令bg 调回后台执行

4-1-2 shell变量

指令env 查看系统变量

指令 echo $变量名 显示变量值

指令set 显示系统环境变量

指令a=1;b=2 设置变量a=1 b=2

echo $a $b 结果 1 2 查看a b的值

变量名首位不能是数字

b='ls /tmp /' 用单引号把特殊符号引起来

(电脑补一条反引号,引用命令结果)

d=“a”“b”3

echo $d 结果 123 必须用双引号

指令bash 进入全新环境,之前定义的变量无效

指令export a=1 把a=1设置为全局变量 创建新的shell,a也存在

unset d 取消变量d的值

4-1-3系统和用户的环境变量配置文件

vim /etc/profile(配置文件)

PASH 、HOME、SHELL

想改变变量时在 /etc/profile.d去定义 文件名需要加.sh

修改path

vim /etc/profile.d/path.sh

#!/bin/bash (#!可写可不写)

export PATH=$PATH:/tmp/:/data/bin/

:wq

source /etc/profile(重置一下更改)

echo $PATH

vim /etc/bashrc(配置文件)

修改PS1(指令最前的用户名)

cd /etc/init.d/

PS1=''

大致同上

修改umask

vim /etc/profile.d/umask.sh

umask 0000

:wq

source /etc/profile

umask

4-1-4 shell中特殊符号

* 通配符 可以多位 例如 指令ls *.txt 结果 1.txt 22.txt 333.txt

?通配符 一位 例如 ls  ?.txt  1.txt 2.txt

# 不生效 指令前,行首加#,该行指令不生效,没意义 例如 #ls 1.txt 不运行不生效 例如 ls #1.txt=ls  ,#1.txt没意义

\脱意符合  例如 \# 让#号失去功能 例如ls \#1.txt=ls #1.txt 这里#1.txt是一个文件名

| 管道符 将前一个命令的结果丢给后面的命令

例如 cat 1.txt | wc -1

$ 变量前置 调用变量时加在变量名前 例如 echo $PATH

!$表示调用最后一次的$变量

; 夹在两条命令中间 两条同时运行

~ 用户家目录 ls ~=ls root

& 后台运行 加在命令后面

2>  2>>

[] 一位  例如 ls [12].txt=ls 1.txt 2.txt     ls [1-3].txt=ls 1.txt 2.txt 3.txt   ls [1-9a-z]=1.txt a

.txt b.txt

4-1-5 cut命令

cut -d:-f 1,2,3 /etc/passwd 把文件中1,2,3段截取出来

cut -c 2 etc/passwd 截取第二个字符

4-1-6 sort命令

sort /etc/passwd  开头以a-z排序

sort -t:-k3 以第三段排序

sort -t:-k3 -n 第三段以小到大排序 (字母比数字小)

-k3,5     第3,4,5段排序

-nr  从大到小排序

sort -u 减去重复项目排序

4-1-7 wc命令

wc -l 1.txt 查看行数

wc -w 1.txt 查看word数

wc -m 1.txt 查看字符数

4-1-8 uniq和tee命令

uniq 2.txt  去掉连着的重复项

uniq -c 2.txt 计算连着的每项数目

tee 重令项+双重输出

echo “111”>1.txt=echo"111" |tee 1.txt 将111写入1.txt 并显示1.txt的内容

4-1-9 tr和split命令

tr 替换

ls 1.txt |tr 'a-z' 'A-Z' 把1.txt中小写字母都改为大写字母

tr 'a' 'b' 把a改为b

split 文件分割

split -b 50m 1.txt 把1.txt分为每个大小50m的文件

split -l 100 1.txt  把1.txt分为几个文件 每个100行

分割后原文件不变 多了几个以x开头的小文件

在1.txt 后加aaa 分割的文件就以aaa开头

4-2-0 shell中连接符

&& 并且

ls 1.txt && ls2.txt 如果前面的命令执行成功就继续执行后面的命令,如果前面的命令执行失败则后面的命令不执行

|| 或

ls 1.txt  || ls 2.txt 左边的命令不成功才执行右边的命令

;和

ls 1.txt ;ls 2.txt 左边命令成不成功,右边的命令都执行

4-2-1 grep过滤-1

grep egrep sed awk 正则表达式

grep 'root' /etc/passwd 把含有root的行过滤出来

'root' 前加--color 会有特殊颜色标记

root前加-n 显示行数 第几行

加-c 出现的行数  -v 不出现的行和内容

- A 2 显示有root的行再显示后两行

- B 2 再显示前两行

-C 2再显示前两行后两行

-r  或-rh显示关键词所在的目录

4-2-2grep过滤-2

[a-zA-Z]表示a-z所有大小写字母

grep --color  -n  '[0-9]' 1.txt  过滤出含有数字的行

[aN] 包含a或N的行  [3g]包含3或g的行

grep '^[1-9]' 2.txt 以数字开头的行

grep '[^1-9]' 2.txt  含有不是数字的字符的行

'^[1-9]' 不以数字开头的行  不包括空行

'[^$]' 表示空行

-v 取反

'r.o' .表示任意字符  即r1o、ruo、r-o等等

'r*o' 任意个r   即ro、rrrro、o

'r.*o' 以r开头o结尾

'r\?o'  = -E 'r?o'     含有  ro、o

grep -E==egrep

4-2-3grep过滤-3

grep -E==egrep

'r+o'  1个或多个r     例ro、rrrro 、rrrrrrro

?+ | (){}要加/  或者egrep、grep -E

'r|o' 含有r或者o

'(rr)'含rr

4-2-4 sed命令-1

sed 不能染色显示

sed -n '10'p  1.txt 打开第10行

'1,10'p 第一至第十行

'20,$'p 20到最后一行

'/root/'p 包含root的行

/r.o/、/r*o/ 与grep使用功能一样

+ 、|、()、? 需要加\脱意符号

sed -r -n  后面特殊符号不需要加\

一般用法与grep相似

sed '1,19'd 1.txt 显示1-19以外的行

sed -i '1,19'd 1.txt 原文件删去1-19行

4-2-5sed 命令-2

替换功能

sed '1,10s/nologin/login/g' 1.txt 第1-10行的nologin换为login ,g是全局的并显示 原文件不变

修改内容存在路径或/符号时,要加\脱意符号或者改用#

1,10改为s  即所有行

替换为空格就删除显示 /nologin//g  原文件不变的

sed -n '/user/p;/root/p' 1.txt 先搜索一次含有user的行再搜索一次含有root的行

sed -n -r '/user|root/p' 1.txt 把包含user或root的行显示出来

sed -n -e 1 -e 2 和使用;一样

4-2-6 awk命令-1

awk -F ':' '{print $3,$4}' 1.txt 将第三,第四段列出

在{前加OFS=“:” 显示的第三段和第四段以:分割开

awk '/user|root/' 1.txt 列出包含user或root的行。awk中使用|、?等特殊符号不用加\脱意符号

awk -F':' '$1~/ro/' 1.txt 匹配第一段中含有ro的

4-2-7awk 命令-2

awk -F ':''$1==“root”  ' 1.txt 匹配第一段为root的行

'$1==“root” || $7==“nolog”' 匹配出第一段为root或者第七段为nolog的行

'$3>=500' 第三段大于500的行

'$3>=“500”' 第三段大于500(ASCII码排序)的行

!= 不等于

!~不匹配

= 赋值

== 等于

4-2-8awk 命令-3

NR行 NF段

awk -F ':' 'NR<10{print $1,$5}' 1.txt

显示前9行的第一和第五段

NR==10 第10行

awk -F ':' ' {if(NF==7{print $1,$5}' 1.txt 匹配有七段的行 讲第一和第五段显示出来

'{(sum=sum+$3)};END{print sum}' 将所以第三段加起来

转载于:https://blog.51cto.com/12827365/1924418

Linux学习第三章相关推荐

  1. 【Linux】Linux学习(三)常用基本命令(一)

    Linux学习(三)常用基本命令 常用基本命令 帮助命令 文件目录类命令 时间日期类命令 用户管理命令 用户组管理命令 文件权限类 搜索查找类 压缩和解压类 磁盘查看和分区类 进程管理类 学习总结 常 ...

  2. 【Linux】Linux学习(三)常用基本命令(二)

    Linux学习(三)常用基本命令(二) crontab 系统定时任务 crontab 服务管理 crontab 定时任务设置 RPM软件包管理 RPM概述 RPM查询命令 RPM卸载命令 RPM安装命 ...

  3. Java学习 第三章 数组(三)排序算法

    ** Java学习 第三章 数组(三)排序算法 ** 主要内容:排序算法.排序算法横向比较.Arrays工具类的使用.数组常见异常 1.数组中涉及到的常见算法:排序算法 1.1 排序算法分类:内部排序 ...

  4. Python爬虫学习第三章-4.3-使用xpath解析爬取全国城市名称

    Python爬虫学习第三章-4.3-使用xpath解析爬取全国城市名称   这一节主要是使用xpath解析爬取全国城市名称 这里使用的网址是:空气质量历史数据查询   这一个案例体现的点主要是xpat ...

  5. 深度学习 第三章 tensorflow手写数字识别

    深度学习入门视频-唐宇迪 (笔记加自我整理) 深度学习 第三章 tensorflow手写数字识别 1.tensorflow常见操作 这里使用的是tensorflow1.x版本,tensorflow基本 ...

  6. linux的vi编辑器课件,linux课件--第三章+文本编辑器vi.ppt

    <linux课件--第三章+文本编辑器vi.ppt>由会员分享,可在线阅读,更多相关<linux课件--第三章+文本编辑器vi.ppt(14页珍藏版)>请在人人文库网上搜索. ...

  7. linux学习第三天 (Linux就该这么学)

    今天是学习的第三天,讲了很多命令,又赶上双11,网络经常波动,我经常掉线,没有听到多少,回头再看一下录播.我也写一下讲的命令吧,也加深一下命令的印象.第三章老师讲完了. ifconfig命令:输出信息 ...

  8. Linux学习(三)--vi和vim编辑器

    Linux学习–vi和vim编辑器 一.基本介绍   首先,我们需要明白一点,所有的Linux系统内都会默认安装vi文本编辑器:   其次,vim可以看做是vi的增强版,具有程序编辑的能力,可以主动的 ...

  9. Kali Linux 秘籍 第三章 高级测试环境

    第三章 高级测试环境 作者:Willie L. Pritchett, David De Smet 译者:飞龙 协议:CC BY-NC-SA 4.0 简介 既然我们已经了解了 Kali Linux 所包 ...

最新文章

  1. windows域设计best practice
  2. 【星辰傀儡线·命运环·卷二 尘埃】 3 誓言
  3. BRCM5.02编译五: fatal error: uuid/uuid.h: No such file or directory compilation terminated
  4. c++ mysql 配置_C++--mysql相关配置
  5. jquery实现定时调度(倒计时)
  6. springboot集成邮箱功能
  7. JDBC 创建连接对象的三种方式 、 properties文件的建立、编辑和信息获取
  8. 3.Vue 条件渲染
  9. vue-cli起的webpack项目 用localhost可以访问,但是切换到ip就不可以访问
  10. Python3 OOP(四) 获取对象信息
  11. Oracle JRockit Mission Control 4.1发布
  12. linux-tar压缩与解压缩
  13. 极度丝滑!CentOS/Unbuntu系统下快速设置虚拟内存,一行命令快速搞定!!!
  14. 【DevCloud · 敏捷智库】两种你必须了解的常见敏捷估算方法
  15. 安卓应用安全指南 5.3.3 将内部账户添加到账户管理器 高级话题
  16. android编译framework架包运行报错 (转)
  17. 《博弈论与生活》思维导图
  18. tomcat日志中文乱码问题
  19. 计算机用户文件夹加密,如何加密文件夹?手把手教你给文件夹加密方法
  20. 三角形求高公式计算机,三角形已知边长求高公式有哪些

热门文章

  1. 对话科大讯飞刘聪:深度学习在中国是否“过火”?
  2. 揭秘人工智能的大脑是如何理解世界的
  3. 自动驾驶高峰激辩:寒冬还有多远,芯片路线之争,人才缺乏待解
  4. SAP WM LQ02 事务代码界面里不能为指定仓库号选择移动类型的问题对策
  5. 多目标跟踪 | AI产品经理需要了解的CV通识(三)
  6. python如何将图片的像素矩阵绘制成图片(python,matplotlib):TypeError: Invalid shape (1, 28, 28) for image data
  7. dgl库之高级用法dgl.DGLGraph.update_all
  8. 小白如何在Windows如何安装双系统Centos7
  9. sklearn警告:ConvergenceWarning: lbfgs failed to converge (status=1):
  10. “AI工厂”本质:AI基础设施及怎样将AI转化为运营动力