Linux
一只考考拉
大数据开发工程师
展开
-
linux 运维入门--目录结构
目录结构:先来熟悉下linux系统中各个目录文件夹的大致功能/ 根目录/boot 存放内核以及启动所需的文件/dev 存放设备目录/etc 存放系统配置文件/home 普通用户的宿主目录,用户数据存放在其主目录中/lib 存放必要的运行库/mnt 存放临时的映射文件系统,通常用来挂载使用/proc 存放存储进程和系统信息/root 超级用户的主目录/sbin 存放系统管理程序/tmp 存放临时文件...原创 2021-01-06 10:42:58 · 100 阅读 · 1 评论 -
linux三剑客(非常实用,全是干货)
grep:查找 常用于查找文件里符合条件的字符串简单查找 :grep key test.txtcat test.txt | grep key忽略大小写 :grep -i显示行号:grep -n查找运行中的进程:ps -ef | grep 关键字查找关键字并过滤:ps -ef | grep 关键字 | grep -v 过滤的关键字sed:编辑自动编辑一个或多个文件、简化对文件的反复操作第二行下面添加haha内容:sed '2a\haha' test.txt指定行(第一行).原创 2020-11-12 22:07:51 · 695 阅读 · 0 评论 -
linux常用编辑命令和文件统计、排序、去重命令
vi命令查找字符串:/+查询的字符串 向下查找:n显示行号: :set nu复制一整行内容: yy粘贴:p快速删除:dd删除光标到结尾:999+dd光标移动到最后一行:G光标跳到第一行:gg文件修改到一半没保存,下次打开提示可以直接删掉 .xx.swap文件内容统计相关统计行数:wc -l打印最长的那一行: wc -L打印单词个数: wc -w排序(按照字符串进行排序):sort按照数值进行排序:sort -n倒序: sort -nr...原创 2020-11-12 21:35:39 · 160 阅读 · 0 评论 -
linux权限:chmod
chmod <abc> file...其中 a,b,c各为一个数字,分别代表User、Group、及Other的权限。 相当于简化版的 chmod u=权限,g=权限,o=权限 file... 而此处的权限将用8进制的数字来表示User、Group、及Other的读、写、执行权限范例:设置所有人可以读写及执行chmod 777 file (等价于 chmod u=rwx,g=rwx,o=rwx file 或 chmod a=rwx file)设置拥有者可读写,其他人不可读写.原创 2020-11-06 13:14:00 · 177 阅读 · 0 评论 -
shell局部变量和全局变量
定义局部变量是可以用local关键字 函数内和外若存在同名变量,则函数内部变量会覆盖外部变量脚本举例:#! /bin/bashvar1="hello world"function test{var2=87}testecho var1 #hello worldecho var2 #87function test2{echo...原创 2019-06-18 13:09:51 · 1196 阅读 · 0 评论 -
shell函数库引用案例
需求:写一个函数库,该函数库实现以下几个函数:加法函数add减法函数 reduce乘法函数 multiple除法函数 divide打印系统运行情况的函数,sys_load该函数可以显示内存运行情况vi bash_function#!/bin/bashfunction add{echo “expr $1 + $2”}function reduce{echo “expr...原创 2019-06-18 13:26:37 · 490 阅读 · 0 评论 -
awk 中的常用选项
-v 参数传递,定义和引用变量 ,可以把外部变量引入到内部 num1=20var="hello word"awk -v num2=$num1 -v var1="$var" `BEGIN{print num2,var1}` -f 指定脚本 vim test.awk#! /bin/bashBEGIN{print num2,var1}awk -v num2...原创 2019-06-23 16:39:29 · 775 阅读 · 0 评论 -
shell中数组的用法
array=("Allen" "Mike" "Messi" "Jerry" "Hanmeimei" "Wang")#打印元素echo ${array[2]}#打印元素个数echo ${#array[@]}#打印元素长度echo ${#array[3]}#给元素赋值array[3]="Li"#删除元素unset array[2];unset array#分片访问 读取...原创 2019-06-23 16:48:58 · 634 阅读 · 0 评论 -
awk入门教程
1.gep,sed,awk被称为linux三剑客,grep更适合匹配和查找文本,sed适合编辑匹配到的的文本 ,awk适合格式化文本,对复杂文本进行处理2.格式:awk [option] 'Pattern{Action}' file3.执行一个简单的打印动作LM-SHC-16507744:Desktop yanwxu$ echo add >testdLM-SHC-165077...原创 2019-07-16 10:47:18 · 133 阅读 · 0 评论 -
awk 的分隔符
awk 分隔符的使用:1.awk -F分隔符2.是用分隔符变量 awk -v FS='分隔符'3.输出分隔符变量 awk -v OFS='分隔符'4.输出变量用','分割后将割开显示 awk '{print $1,$2}'5.输出变量用' '分割后将连接显示 awk '{print $1 $2}'LM-SHC-16507744:Desktop yanwxu$ cat t...原创 2019-07-16 11:21:17 · 6381 阅读 · 0 评论 -
awk 变量
NR :行号NF:列数LM-SHC-16507744:Desktop yanwxu$ cat testd123#ruby#3#abc456#rechel#25#def789#wang#30#ghiLM-SHC-16507744:Desktop yanwxu$ awk -F# '{print NR,NF}' testd1 42 4$0:整行LM-SHC-165077...原创 2019-07-16 13:32:49 · 98 阅读 · 0 评论 -
awk print 和printf的区别
1.printf不回输出换行符LM-SHC-16507744:Desktop yanwxu$ awk '{print $2}' testrubyrechelwangLM-SHC-16507744:Desktop yanwxu$ awk '{printf $2}' testrubyrechelwangLM-SHC-16507744:Desktop yanwxu$2.我们可以利用一...原创 2019-07-17 09:53:22 · 1300 阅读 · 0 评论 -
awk模式pattern
我们再回顾一下公式:awk [option] 'Pattern{action}' file1 file2....option:-v -faction:print printfpattern:begin end1.将文本编辑成字段列数不一的状态,匹配列数为5的文本LM-SHC-16507744:Desktop yanwxu$ cat test123 ruby 3 abc...原创 2019-07-17 10:05:23 · 153 阅读 · 0 评论 -
用shell带参函数写一个计算器脚本
向函数穿参数和向脚本穿参数一致,都是使用 $1,$2,$3,$4,$5这种形式需求写一个脚本来实现计算器的功能在,主要实现+-*/这四种运算#! /bin/bashfunction calculator{case "$2" in+)echo "$1+$3=$(expr $1+$3)"-)echo"$1-$3=$(expr $1-$3)"\*)ech...原创 2019-06-17 13:29:42 · 963 阅读 · 0 评论 -
linux脚本学习指南--13 函数的定义和使用及带参函数
1.简单的函数定义#! /bin/bashfunction sayhello() {echo "Hello,World"}sayhello #函数调用2.举个例子:写一个测试ngix进程是否起来,如果没有起来则手动启动nginx检查nginx进程:ps -ef | grep nginx | grep -v grep启动命令:systemctl start ng...原创 2019-06-17 10:27:49 · 475 阅读 · 0 评论 -
Linux脚本学习指南--6 简单的案例
编写一个脚本,要求显示出时间和日期列出所有登录用户列出系统已经运行的时间将上述信息保存到一个日志文件#!bin/bashLOG_FILE=/tmp/02_lable.logdatewuptimeecho " " >> $LOG_FILEdate >>$LOG_FILEw >>$LOG_FILEuptime ...原创 2019-06-06 14:05:05 · 261 阅读 · 0 评论 -
Linux脚本学习指南--7 日期和#;
'date +%j'今天是本年度的第几天 'date +%s'. 从1970年到现在为止的秒数 可以用来生成唯一临时文件 # 注释。被引号扩起来的或者前有转义符号的#不能当作注释用 ; 一行可以执行两条语句,用分号来分隔分号测试脚本#! /bin/bashfilename ='mytestfile.txt'if [ -e "$filename" ];then #if 和...原创 2019-06-06 14:29:25 · 95 阅读 · 0 评论 -
linux脚本学习指南--12有类型变量 declare /typeset
declare为shell指令,在第一种语法中可用来声明变量并设置变量的属性([rix]即为变量的属性),在第二种语法中可用来显示shell函数。若不加上任何参数,则会显示全部的shell变量与函数(与执行set指令的效果相同)。declare -r # 声明变量为只读类型 declare -r var="hello" var="world"-...原创 2019-06-13 09:37:39 · 143 阅读 · 0 评论 -
gerp -e和grep -E的区别
grep -e 只能传递一个检索内容 grep -e pattern1 -e pattern2 filename 例如: $ grep -e Tech -e Sales employee.txt 100 Thomas Manager Sales $5,000 200 Jason Developer Technology $5,500 ...原创 2019-06-13 10:19:28 · 28400 阅读 · 0 评论 -
linux 脚本学习指南--8 单词过滤器和模式匹配运算符
files=/tmp/test/logcat $files | tr A-Z a-z | tr -c a-z\' '\n' | sort -u第二个管道的步骤是将大写字母转成小写,第三个管道是以换行自负取代非字母自负,最后排序去重让每一行都为唯一值tr.从标准输入设备读取数据,经过字符串转译后,将结果输出到标准输出设备 -c, --complement:反选设定字符。也就是符合 S...原创 2019-06-06 17:05:56 · 141 阅读 · 0 评论 -
Linux脚本学习指南--9内置的shell变量和退出状态
特殊变量$*,$@ 一次表示所有的命令行参数。 $* 将所有命令行参数视为单个字符串 $@将所有的命令行参数视为单独的个体,不加双引号之前,两者相同,加了双引号 $*表示一个字符串 # 目前进程的参数个数 @ 传递给当前的命令行参数 * 当前进程的命令行参数 - 连字号 $ shell的进程编号...原创 2019-06-06 17:39:56 · 160 阅读 · 0 评论 -
shell basename的简单用法
basename:去掉文件名的路径和后缀habsename path suffix -->如果指定了suffix ,basename就会吧路径和suffix都去掉habsename path suffix -->如果指定了suffix ,basename就会吧路径和suffix都去掉eg:$ basename /tmp/test/file.txt #只指定了文件名file.t...原创 2019-06-13 16:17:32 · 4981 阅读 · 0 评论 -
shell脚本-eval的用法
简单来说eval命令将会首先扫描命令行进行所有的替换,然后再执行命令。该命令使用于那些一次扫描无法实现其功能的变量。该命令对变量进行两次扫描。这些需要进行两次扫描的变量有时候被称为复杂变量。废话不多说,我们先来看一个例子1.test.txt内容:hello world!#定义一个变量myfilemyfile=“cat test.txt”echo $myfile #结果为 cat...原创 2019-06-13 17:12:07 · 1786 阅读 · 0 评论 -
shell sed的用法,sed -e
sed是Linux下一款功能强大的非交互流式文本编辑器,可以对文本文件进行增、删、改、查等操作,支持按行、按字段、按正则匹配文本内容,灵活方便,特别适合于大文件的编辑1.sed -e 是可以在一行里执行多条命令sed -e 's/wang/w/g;s/xu/x/g' user.txt,顺便说一下's/wang/w/g;s/xu/x/g'的意思,s代表search,g是尽可能多的匹...原创 2019-06-13 18:24:18 · 27253 阅读 · 3 评论 -
linux进阶--脚本常用命令
head curl 1.1headhead (head) 用来显示档案的开头至标准输出中。如果指定了多于一个文件,在每一段输出前会给出文件名作为文件头。如果不指定文件,或者文件为"-",则从标准输入读取数据。1.2、用法nl [选项]... [文件]...1.3、选项-c, --bytes=[-]K 显示每个文件的前K 字节内容;如果附加"-"参数,则除了每...原创 2019-06-04 10:57:50 · 101 阅读 · 0 评论 -
linux脚本学习指南--10 字符串的处理+一个简单的例子
获取字符串长度:${#string} || expr length $string 获取字符串索引位置:expr index "$string" substr 获取子串长度方法: expr match "$string" substr 抽取字符串中的子串: ${string:postition} \ ${string:position:length} \ ${string:-po...原创 2019-06-11 09:56:43 · 217 阅读 · 0 评论 -
linux脚本学习指南--14 find 文件查找
find 常用命令总结find [路径] -[选项] 关键字-name 根据名字进行查找 find /etc -name '*.conf' -iname 根据名字查找不区分大小写 find /etc/ -iname aa -user 根据属主查找文件 find . -user hdfs 查找当前文件夹下属主为hdfs的文件 -gr...原创 2019-06-17 10:09:43 · 167 阅读 · 0 评论 -
UNIX-join 实际案例操作
join使用一个五步骤的管道完成 结合个人信息和办公室位置 join -t : $PERSON $OFFICE 运算结果:ben:Frankin,Ben:OSD212 betsy:Ross,Betsy:BMD17 加入电话号码 |join -t: -$TELEPHONE 运算结果:ben:Frankin...原创 2019-06-05 14:45:58 · 226 阅读 · 0 评论