Linux学习

本文涵盖了Linux操作,如rz/sz文件传输,shell脚本错误处理,自定义函数,以及系统监控命令如top和uptime。此外,还讨论了shell中的变量赋值,数学运算,引号使用规则,以及awk命令的应用来处理文本数据。
摘要由CSDN通过智能技术生成

1、用rz -be上传windows本地文件到Linux服务器
sz 文件 将Linux服务器文件下载到window本地
2、$ ? 代表上一个命令执行是否成功的标志,如果执行成功则$? 为0,否则不为0
3、shell脚本中,set -e 等价于 set -o errexit: set -e 表示有报错即退出。 -号表示开启这个选项,+表示关闭这个选项
4、shell自定义函数

#!/bin/bash
	function myf()
	{
		echo "tttt"
	}
	myf	 #像Python一样,必须先在前面定义函数,才能在后面调用此函数。因为shell脚本是逐行运行。不会像其它语言一样先预编译

5、tail -200 file 显示file文件后200行
tail -f file 实时监控file文件内容的追加情况
6、shell中如何把一段指令的结果赋值给变量
HDFS_FILENAME=hadoop fs -ls hdfs://orchid/flume/logpusher_test/passport/2019-07-02/15 | awk -F ' ' '{print $8}'
7、set -x 之后执行的每一条命令,都会显示的打印出来。不用麻烦的自己echo,用于脚本调试。调试完记得把set -x注释掉
8、

1)echo "hello_world" | awk -F "_" '{print $1}'	输出hello
2)shell脚本给变量赋值,=号两边一定不能有空格!!!!!!!!!!!
3)shell用jq解析json
4)shell的数组形式是(1 2 3)	将字符串fileRecorNumber="1,2,3"转换为数组:arr=(${fileRecorNumber//,/ })  
5)sed -i "s/check_func_type=1/check_func_type=0/g" ljy.log			将ljy.log里面的"check_func_type=1"替换为"check_func_type=0"
6) exit n: 设置退出码为n
7) $#表示shell脚本的参数个数,$1表示第一个参数,$2表示第二个参数
8) date -d -1hour +%H			显示前一小时
9) date -d -1hour +%Y%m%d%H%M  显示今天前一小时
10) if [ -z $env ]	如果env的长度为0则为真

9、top命令,w命令,uptime等命令都可以查看系统负载。(Load Average)是一段时间内系统的平均负载,这个一段时间一般取1分钟、5分钟、15分钟。
查看cpu 核数命令: grep ‘model name’ /proc/cpuinfo | wc -l
假如核数为4,那么Load = 4时,表示所有线程刚好占满,如果大于4表示负载过高
10、原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如expr:两个数相加: val=expr 2 + 2
11、引号

  • 单引号:单引号内的特殊字符将失去其特殊含义,仅仅表示特殊字符本身
    如:name=“jayola” echo '$ name‘ 输出的是$name而不是jayola

  • 双引号:双引号与单引号类似,但是不移除这3个特殊字符的特殊含义:$ ` \ 。即保留特殊字符的含义如果想显示双引号内的特殊字符本身,可以在特殊字符前面添加反斜线\,如echo""“

  • 反引号:用以执行命令输出替换。也可以说是让它按照linux命令去解析,执行。如: aa=date; echo $aa

12、shell中所有的变量默认都是字符串类型
定义变量: 变量名=变量值 =两边不能有空格
x=5 其中5是字符串类型
y=6
echo z=$5+$6 结果是5+6 因为xy都是字符串类型,不能做加减运算
name=“lao jing yao” 变量值里面有空格的,用引号引起来
13、sed 所有的动作:打印,删除,追加等都要用单引号 ‘’ 括起来

 (1)sed -n '2p' hello.txt        打印第二行,加-n参数就表示只在屏幕行输出操作的行,不加的话所有行都被显示出来了。所以一般-n 和 p都是标配
 (2)sed '2,3d' hello.txt         删除2到3行  
 (3)sed '2a nihaoa' hello.txt    追加。在文件的第二行后面加入一行  nihaoa
  (4) sed '2i nihaoa' hello.txt    插入。在文件的第二行的前面加入一行 nihaoa
 (5)sed '2c nihaoa' hel1o.txt    替换整行。将文件的第二行替换成nihaoa
 (6)sed '2s/70/100/g' hello.txt  只替换指定字符串。将文件第二行的70替换成100  
 上面的命令都没有加 -i ,那么这些操作不会对原始文件有影响
 (7)sed -i '2,3d' hello.txt       删除原文件2到3行  

14、查看80端口:netstat -ano | grep 80
15、将文件ljy.txt文件的第1个字段和第45个字段取出来,并还是以"|"为分隔符:
nohup awk -F ‘|’ ‘{print $1 “|” $45}’ ljy.txt >> ljy.DAT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值