Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Shell大全:可以应用于工作及面试

Shell大全:可以应用于工作及面试

作者头像
用户1410343
发布于 2020-02-20 05:51:27
发布于 2020-02-20 05:51:27
88700
代码可运行
举报
文章被收录于专栏:about云about云
运行总次数:0
代码可运行

问题导读

1.Shell该如何学习? 2.Shell和传统编程语言有哪些相同? 3.Shell和传统编程语言有哪些不同? 4.你认为Shell还有哪些便捷的地方?

由于行业的发展,对程序员的要求越来越高,原先我们只会一门语言就可以找到工作,现在我们需要会的东西越来越多,会一门语言只是入门开发而已,目前你会大数据更好,会算法、机器学习那已经成为佼佼者。所以我们这个行业需要不断的学习、成长和进步。

这里我们所说的Shell,其实无论是大数据、云技术、还是其它等,其实很多都可以用到。但是作为传统开发程序员来讲,对它可能还是停留在简单的使用阶段。比如根据文档可以安装部署大数据组件,比如HadoopSpark等。但是这距离我们使用Shell编程,还是有一定距离的。

本文主要针对零基础、面试Shell不知道该如何补充这方面的知识,以及工作中想学习Shell的老铁。

零基础Shell

对于零基础的老铁,其实只要经常使用Linux即可熟悉基本的Linux操作。例如复制文件cp、移除文件mv、创建文件夹mkdir、编辑文件vi、查看文件cat、授权chmod、chown等,当然比如网络配置、开机、关机等这些也是在我们安装部署集群所必备的。对于这些常用的命令或则shell,我们只要多安装集群,会变的比较熟悉。

更多可参考

解决遇到Linux网络配置,从熟悉网络配置文件入手

https://www.aboutyun.com//forum.php/?mod=viewthread&tid=6399

linux入门大全:包括零基础入门,Linux详细介绍

https://www.aboutyun.com//forum.php/?mod=viewthread&tid=6274

Linux重启方式init 0 init1 init 3 init 5 init 6 这几个启动级别都代表什么意思?

https://www.aboutyun.com//forum.php/?mod=viewthread&tid=6336

Ubuntu常用命令总结及修改DNS的多种方法总结

https://www.aboutyun.com//forum.php/?mod=viewthread&tid=6576

Linux关机各种关机命令总结

https://www.aboutyun.com//forum.php/?mod=viewthread&tid=6577

Linux基础必懂:eth0,eth1,eth2,lo是什么意思?

https://www.aboutyun.com//forum.php/?mod=viewthread&tid=6372

linux中pwd命令详解

https://www.aboutyun.com//forum.php/?mod=viewthread&tid=6361

linux之vi编辑器

https://www.aboutyun.com//forum.php/?mod=viewthread&tid=6450

linux yum命令详解

https://www.aboutyun.com//forum.php/?mod=viewthread&tid=6574

Linux下chkconfig命令详解

https://www.aboutyun.com//forum.php/?mod=viewthread&tid=6575

Shell编程

Shell编程,这里对很多人来说就有点难度了,如果我们掌握了Shell编程,会让我们在职场中更有优势,面试亦是亮点。一些企业包括很多的名企,招聘中都提到了Shell。

我们可以看到无论是Java高级工程师,还是大数据工程师,都要求会使用Shell。那么我们该如何补充这方面的知识。

Shell与传统编程语言比较

1.相同点

Shell已经被视为一种编程语言,既然是编程,那么它和其它编程语言有什么相同之处? 我们在学习Shell的时候,大多都是觉得Shell是比较难学的,其实如果我们确实深入了解下,它和我们的其它编程语言,有太多的相似之处。 在编程中,流程控制,我们知道条件判断if else,case ,循环比如for,while等是基本的编程结构,那么在Shell中其实也是同样存在的,数组、函数在shell亦是存在的,当然在实现细节方面略有不同。 比如shell中的if else,如下面格式

[Bash shell] 纯文本查看 复制代码

?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if conditionthen    command1    command2    ...    commandNelse    commandfi

我们可以看到其实就两点区别:多了两个单词,一个then,以及以fi结尾。这样我们就掌握了shell中if else的用法,看是非常简单的。

对于shell编程更多内容可参考

Shell 变量

https://www.runoob.com/linux/linux-shell-variable.html

Shell传递参数

https://www.runoob.com/linux/linux-shell-passing-arguments.html

Shell 数组

https://www.runoob.com/linux/linux-shell-array.html

Shell 基本运算符

https://www.runoob.com/linux/linux-shell-basic-operators.html

Shell echo命令

https://www.runoob.com/linux/linux-shell-echo.html

Shell printf 命令

https://www.runoob.com/linux/linux-shell-printf.html

Shell 流程控制

https://www.runoob.com/linux/linux-shell-process-control.html

Shell 函数

https://www.runoob.com/linux/linux-shell-func.html

Shell 输入/输出重定向

https://www.runoob.com/linux/linux-shell-io-redirections.html

Shell 文件包含

https://www.runoob.com/linux/linux-shell-include-file.html

2.不同点

Shell既然为Shell,那么和其它编程语言也有不同的地方。比如管道符。 管道符 管道符我们或许听说过或则没有听说过,但是我们会被它的名字所迷惑,管道符到底是什么?它的作用是什么?当然我们看到下面例子的时候,一看就会变的非常简单。 这里举例比如我们遇到问题,想查看Linux进程 ps -aux | grep *** 查询***进程的详细信息; 对于上面|即为管道符。那么为什么称之为管道符? 原因为:管道符是将第一个命令的结果传递给第二个命令作为输入。这是不是比较神奇,而且作用非常大。 比如我们上面命令查看进程,进程的结果进一步过滤,我们通过管道符+grep实现了对结果的进一步过滤。 在比如: 把原本要输出到屏幕的用户信息列表再交给 wc 命令作进一步的加工

[Bash shell] 纯文本查看 复制代码

?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
grep "/sbin/nologin" /etc/passwd | wc -l

比如用翻页的形 式查看/etc 目录中的文件列表及属性信息(这些内容默认会一股脑儿地显示到屏幕上,根本看不清楚):

[Bash shell] 纯文本查看 复制代码

?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@linuxprobe ~]# ls -l /etc/ | moretotal 1400drwxr-xr-x. 3 root root 97 Jul 10 17:26 abrt-rw-r--r--. 1 root root 16 Jul 10 17:36 adjtime-rw-r--r--. 1 root root 1518 Jun 7 2013 aliases-rw-r--r--. 1 root root 12288 Jul 10 09:38 aliases.dbdrwxr-xr-x. 2 root root 49 Jul 10 17:26 alsadrwxr-xr-x. 2 root root 4096 Jul 10 17:31 alternatives-rw-------. 1 root root 541 Jan 28 2017 anacrontab-rw-r--r--. 1 root root 55 Jan 29 2017 asound.conf-rw-r--r--. 1 root root 1 Jan 29 2017 at.denydrwxr-xr-x. 2 root root 31 Jul 10 17:27 at-spi2drwxr-x---. 3 root root 41 Jul 10 17:26 audispdrwxr-x---. 3 root root 79 Jul 10 17:37 auditdrwxr-xr-x. 4 root root 94 Jul 10 17:26 avahi--More--

除了管道符,还有两个非常重要的工具,这两个的使用,直接影响了别人认为我们是否熟悉shell的一个标识。一个是sed,一个是awk。 既然这两个这么重要,那么我们来认识下这两个工具。 sed使用 什么情况下使用sed,比如我们想偷懒,不想打开文件然后在各种操作,那么这时候我们就可以使用sed了。 sed可以完成的操作很多,比如sed截取文件

[Bash shell] 纯文本查看 复制代码

?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sed -n ‘1,6p’ filename >newfilename

使用sed加“-n”参数来完成对文件某几行的截取,上述sed命令就可以截取文件中的1到6行然后输出到新文件中。

sed替换文件内字符

[Bash shell] 纯文本查看 复制代码

?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sed -i ‘s/old/new/’filename

其中-i表示在本地直接对源文件中的内容作出修改

还有其他功能比如删除文件的某些特征行,某些变量前添加内容。关于sed使用更多可参考

Linux sed工具命令详解

https://www.aboutyun.com/forum.php?mod=viewthread&tid=28389

awk使用 awk跟sed差不多,也可以操作文件。而且说它是一门编程语言也不为过。 我们来看它的简单的使用。在举例之前,需要说下,shell中有默认的变量,比如一个文件如下:

a b c a1 b1 c1 a2 b2 c2 如果我们使用语言api,该如何获取第一列数据,相信这个不同的语言实现有所不同,可是awk那太简单了,只需要一个变量即可实现,$1:表示第一列,$2表示第二列,$3表示第三列。对滴这就是Shell的便捷之处,我们可能使用大量的语言编程,在shell中可能一行代码就可以搞定了。我们接着来看。 比如我们查看某个目录的文件:

[Bash shell] 纯文本查看 复制代码

?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ls -lh

[Bash shell] 纯文本查看 复制代码

?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
total 136K-rwxr-xr-x 1 root root  766 Jul 22  2011 colorls.csh-rwxr-xr-x 1 root root  727 Jul 22  2011 colorls.sh-rw-r--r-- 1 root root   92 Feb 23  2012 cvs.csh-rwxr-xr-x 1 root root   78 Feb 23  2012 cvs.sh-rwxr-xr-x 1 root root  192 Mar 25  2009 glib2.csh-rwxr-xr-x 1 root root  192 Mar 25  2009 glib2.sh-rw-r--r-- 1 root root  218 Jun  6  2013 krb5-devel.csh-rw-r--r-- 1 root root  229 Jun  6  2013 krb5-devel.sh-rw-r--r-- 1 root root  218 Jun  6  2013 krb5-workstation.csh-rw-r--r-- 1 root root  229 Jun  6  2013 krb5-workstation.sh-rwxr-xr-x 1 root root 3.0K Feb 22  2012 lang.csh-rwxr-xr-x 1 root root 3.4K Feb 22  2012 lang.sh-rwxr-xr-x 1 root root  122 Feb 23  2012 less.csh-rwxr-xr-x 1 root root  108 Feb 23  2012 less.sh-rwxr-xr-x 1 root root   97 Mar  6  2011 vim.csh-rwxr-xr-x 1 root root  293 Mar  6  2011 vim.sh-rwxr-xr-x 1 root root  170 Jan  7  2007 which-2.sh

awk的使用,例如只打印第一列: [root@localhost profile.d]# ls -lh | awk '{print NR " " $1}' 1 total 2 -rwxr-xr-x 3 -rwxr-xr-x 4 -rw-r--r-- 5 -rwxr-xr-x 6 -rwxr-xr-x 7 -rwxr-xr-x 8 -rw-r--r-- 9 -rw-r--r-- 10 -rw-r--r-- 11 -rw-r--r-- 12 -rwxr-xr-x 13 -rwxr-xr-x 14 -rwxr-xr-x 15 -rwxr-xr-x 16 -rwxr-xr-x 17 -rwxr-xr-x 18 -rwxr-xr-x

上面我看到awk确实使用起来非常方便,而且如果我们稍微学习下,其实也不难的

更多awk可参考

https://www.aboutyun.com/home.php?mod=space&uid=61&do=blog&id=4338

3.Shell便捷之处

有了传统编程语言,为何会有shell编程。让我们来看看做同样的事情,Shell到底有多便捷。 我们就以数据清洗为例: 如果我们使用语言API,那么首先我们需要有开发环境,比如IDEA,Eclipse等,这个如果你不熟悉就够麻烦的了。有了环境之后,我们还需要会使用语言API,API编程,我们知道要有类,有入口函数Main以及功能实现等。 我们就以日志清洗,我们可以看到通过api的实现。

[Scala] 纯文本查看 复制代码

?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import org.apache.spark.SparkConf
import org.apache.spark.storage.StorageLevel
import org.apache.spark.streaming.{Seconds, StreamingContext}
 
import scala.util.matching.Regex
 
/**
  * Created by PeersLee on 2017/2/8.
  */
object ExtractFromLocal {
        def main(args: Array[String]): Unit = {
                //创建SparkConf,设置AppName和Master
                // var:声明变量,val:声明常量
                val conf = new SparkConf().setAppName("ExtractFromLocal").setMaster("local")
                // 创建一个具有n个线程10秒间隔时间的本地StreamingContext
                val ssc = new StreamingContext(conf, Seconds(10))
                // 上面我们已经创建一个DStream(连续的数据流),这个ssc可以从TCP源(ip : localhost, port : 9999) 获取流数据,
                // 开始获取数据
                val hostname = "192.168.1.10"
                val port = 9999
                val lines = ssc.socketTextStream(hostname, port, StorageLevel.MEMORY_AND_DISK_SER)
                // 处理逻辑
。。。。。
                 words.print()
                //开始执行,并在控制台等待
                ssc.start()
                ssc.awaitTermination()
        }
}

更多可参考:

about云日志分析项目准备10-3:Spark Local模式之Log文本清洗 https://www.aboutyun.com/forum.php?mod=viewthread&tid=21135

上面我们先不管逻辑,就可以看到需要大量的代码,那么用Shell,该如何实现: 下面一行代码即可实现

[Bash shell] 纯文本查看 复制代码

?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
awk '($7 !~ /^\/static\//){print $0}' access_2013_05_30.log > clean_2013_05_30.log

解释: 清洗去除URL中以/static/开头的URL 上面我们看到Shell是非常简练的。

Shell面试题

面试题,其实只要我们打好基础,面试题难不倒我们的。特别是我们所讲的sed和awk的使用。有些老铁为了面试只是背面试题,而不去往基础和知识的源头去学习,那只能是会了这个,忘了那个。所以即使我们针对面试,我们亦应该针对经常出现的面试题,去总结经常被问的知识点,如果这些知识点熟悉了,那么对于它所对应的所有问题,也就迎刃而解了。下面是关于Shell的面试题,如果上面我们知识点都熟悉了,你会发现下面的面试题不在困难。

一、取出/etc/passwd文件中shell出现的次数 问题: 下面是一个/etc/passwd文件的部分内容。题目要求取出shell并统计次数,shell是指后面的/bin/bash,/sbin/nologin等,如下面/bin/bash出现12次,/sbin/nologin出现3次。 hyn:x:525:500::/home/hyn:/bin/bash ljlxx:x:526:500::/home/ljlxx:/bin/bash lzj:x:527:500::/home/lzj:/bin/bash wfly:x:528:500::/home/wfly:/bin/bash squid:x:23:23::/var/spool/squid:/sbin/nologin wyj:x:529:500::/home/wyj:/bin/bash qemu:x:107:107:qemu user:/:/sbin/nologin radvd:x:75:75:radvd user:/:/sbin/nologin dungbee:x:530:500::/home/dungbee:/bin/bash mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash scidb:x:531:531::/home/scidb:/bin/bash postgres:x:532:532::/home/postgres:/bin/bash crane:x:533:533::/home/crane:/bin/bash test:x:534:534::/home/test:/bin/bash hguser:x:535:535::/home/hguser:/bin/bash 参考答案: cat /etc/passwd|awk -F: '{print $7}'|sort|uniq -c 解析: 使用awk根据冒号分割内容,打印输出分割后的第7列,也就是shell所在列。然后调用sort命令排序并使用uniq -c统计每个shell出现的次数。 二、文件整理 问题: employee文件中记录了工号和姓名 employee.txt: 100 Jason Smith 200 John Doe 300 Sanjay Gupta 400 Ashok Sharma bonus文件中记录工号和工资 bonus.txt: 100 $5,000 200 $500 300 $3,000 400 $1,250 要求把两个文件合并并输出如下 处理结果: 400 ashok sharma $1,250 100 jason smith $5,000 200 john doe $500 300 sanjay gupta $3,000 参考答案: paste employee.txt bonus.txt | awk '{print $1,$2,$3,$5}'|tr '[:upper:]' '[:lower:]'|sort -k 2 解析: 这里用到好几个命令,包括paste,awk,tr以及sort。paste命令用于合并多个文件的同行数据,如上面两个文件employee和bonus调用paste后合并成 100 Jason Smith 100 $5,000 200 John Doe 200 $500 300 Sanjay Gupta 300 $3,000 400 Ashok Sharma 400 $1,250

paste命令可以使用-d指定合并时加入的符号。比如paste -d : employee bonus则结果变成类似100 Jason Smith :100 $5,000 等。默认合并符号为tab符号

更多paste命令请参照

http://snailwarrior.blog.51cto.com/680306/144462

awk用于提取除了tab符号的其余4列。

tr命令用于将字符串中所有大写字符转换为小写字符。

sort命令对字符排序。sort -k 2表示按文件第2个域排序,这里第二个域为姓名,所以是按姓名升序排序。如果要降序排列,则要用sort -k 2r。

更多sort命令参见

http://www.360doc.com/content/10/0925/15/1107705_56263541.shtml

三、打印本机交换分区大小 问题:打印本机交换分区大小,输出如下 Swap:1024M 参考答案: top -n 1|grep Swap|sed 's/k.*//'|awk '{print $1,$2/1000"M"}' 解析: top 命令显示系统资源占用情况,-n 1表示只调用1次。 grep Swap选取Swap所在行。grep命令执行后结果可能如下: Swap: 16779884k total, 0k used, 16779884k free, 3268200k cached sed命令用于字符串的一些正则匹配,这里使用了替换参数,将第1个k以及后面的字符替换成了空白。这样,sed执行后,结果为: Swap: 16779884 awk命令输出内容,对第二个参数除以1000. 四、用户清理 问题: 清除本机除了当前登陆用户以外的所有用户。 参考答案: kill $(who -u|grep -v `whoami`|awk '{print $6}'|sort -u) 解析: who -u显示所有当前用户。grep -v选取当前登录用户以外的所有用户。awk打印用户进程ID。sort -u会删除相同的行。最后用kill命令终止。 五、百度脚本面试题 问题: 1)写脚本实现,可以用shell、perl等。在目录/tmp下找到100个以abc开头的文件,然后把这些文件的第一行保存到文件new中。 参考答案1: #!/bin/sh for filename in `find /tmp -type f -name "abc*"|head -n 100` do sed -n '1p' $filename>>new done 解析:第一,用到了find命令,其中-type f表示选取普通文件,-name用于设定文件名;第二,head -n 100命令用于取出前100项。第三,sed -n ’1p’用于取出文件的第一行内容。第四,>>new表示追加到文件new中。 参考答案2: find /tmp -type f -name “abc*” | head -n 100 | xargs head -q -n 1 >> new 问题: 2)写脚本实现,可以用shell、perl等。把文件b中有的,但是文件a中没有的所有行,保存为文件c,并统计c的行数。 参考答案: grep -vxFf a b | tee c | wc -l 解析:grep选取-v表示不选择匹配的行,-F表示匹配的模式按行分割,-f a表示匹配模式来自文件a,最后表示目标文件b。即grep命令从b中选取a中不存在的行。 tee c命令创建文件c,wc -l命令统计行数。

如果你想搜集更多面试题,可参考下面内容:

shell编程-百度面试题 https://www.doc88.com/p-6542593799085.html shell编程面试题 https://www.doc88.com/p-9953411882649.html linux-shell面试题 http://zhangbin.junxilinux.com/?p=724 Shell面试题 https://juejin.im/entry/5bead00151882537347579fa Shell脚本面试题Top50 https://www.jianshu.com/p/7a08d193cf79 Shell脚本面试题Top50 https://www.doc88.com/p-9952889361809.html

更多学习资料

有的同学,不喜欢看文章,这里给大家推荐套视频,是阿里的完全免费的,不过需要登录才可以看。 70-个经典的shell-脚本面试问题及解答

网盘链接: https://pan.baidu.com/s/1DbrKYi62R_6rBGqEy45AfQ 提取码: 49pe

shell视频 https://edu.aliyun.com/course/155/learn#lesson/1963 有的同学喜欢系统的学习,这里也给大家提供一些文档和书籍。 Linux程序设计 中文第4版 https://www.aboutyun.com/forum.php?mod=viewthread&tid=27742 Linux 系统编程(第二版) 带书签目录完整版. https://www.aboutyun.com/forum.php?mod=viewthread&tid=27342 Linux常用命令详解(配合示例说明-清晰易懂) https://www.aboutyun.com/forum.php?mod=viewthread&tid=26798 Linux命令行与shell脚本编程大全.第3版 https://www.aboutyun.com/forum.php?mod=viewthread&tid=27062

总结

至此总结完毕,如果有不足的地方,欢迎大家提建议。如果你有其他需要学习的大数据、机器学习等方面的资料需要整理或则线路指导,也可以留言。条件允许,我们都会帮助大家整理。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 About云 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Shell脚本编程30分钟入门
mkdir, touch都是系统自带的程序,一般在/bin或者/usr/bin目录下。for, do, done是sh脚本语言的关键字。
ccf19881030
2020/04/16
1.5K0
sqoop2系统入门之2汇总:用户指南shell命令【可收藏备查】
问题导读 1.sqoop2有哪两种运行模式? 2.哪个模式,有些命令不支持? 3.sqoop2辅助命令有哪些,作用是什么? 4.set命令是否连接sqoop server? 5.show命令显示哪些信
用户1410343
2023/03/21
4410
sqoop2系统入门之2汇总:用户指南shell命令【可收藏备查】
适合小白入门Spark的全面教程
1.实时分析 在我们开始之前,让我们来看看美国社交媒体比较有名的企业每分钟产生的数据量。
用户1410343
2018/08/16
6.6K0
适合小白入门Spark的全面教程
Flink CEP学习线路指导1:Flink CEP入门
问题导读 1.Flink CEP是什么? 2.Flink CEP可以做哪些事情? 3.Flink CEP和流式处理有什么区别? 4.Flink CEP实现方式有哪些? Flink CEP在Flink里面还是比较难以理解的。有的老铁甚至以为和Flink流式处理是差不多的。其实Flink CEP跟流式处理确实有相似的地方。但是Flink CEP处理的是流式数据,但是却并不是流式处理(datastream)。后面给大家详细讲解。 Flink CEP有的大家甚至不知道CEP是什么?CEP在Flink未产生以前,已经有CEP,并不是有了Flink才有CEP,我们这里重点是讲Flink CEP。CEP本身的含义是复杂事件处理。那么它为什么可以处理复杂事件,这就跟它的原理有关系了。所以我们需要了解NFA,NFA是什么?它的含义是非确定有限自动状态机。我们明确它的概念是什么就可以了。后面同样也会给大家补充。 由于官网只讲了CEP的基础部分,因此我们需要给大家补充原理部分,基础(组成)部分,以及编程方面的内容。 也就是我们按照下面线路来学习: 1.首先认识Flink CEP 2.Flink CEP原理机制 3.Flink CEP编程 通过上面三部分,我们来学习Flink CEP。
用户1410343
2019/11/06
2.4K0
Flink CEP学习线路指导1:Flink CEP入门
日志分析实战之清洗日志小实例7:查看样本数据,保存统计数据到文件
问题导读 1.如何从所有数据中,抽取样本查看? 2.如何保存结果到hdfs? 3.saveAsTextFile的作用是什么? 上一篇 日志分析实战之清洗日志小实例6:获取uri点击量排序并得到
用户1410343
2018/03/26
9520
日志分析实战之清洗日志小实例7:查看样本数据,保存统计数据到文件
about云日志分析实战之清洗日志小实例2:导入日志清洗代码并打包
问题导读 1.通过什么菜单项可以导入源码? 2.打jar包需要哪些步骤? 3.如何找到jar生成路径? 上一篇: about云日志分析实战之清洗日志1:使用spark&Scala分析Apach
用户1410343
2018/03/26
8060
about云日志分析实战之清洗日志小实例2:导入日志清洗代码并打包
Hadoop3.0通用版集群安装高可靠详细教程
问题导读 1.hadoop3.x检测虚拟内存的情况下,可能会产生什么问题? 2.hadoop3.x中,下面各个配置的作用是什么? 3.dfs.blocksize可以使用哪些单位? hadoop
用户1410343
2018/03/26
1.3K0
Hadoop3.0通用版集群安装高可靠详细教程
大数据,云技术基础知识:ssh解惑,到底谁免登陆谁
问题导读 1.对于两台拥有公钥和私钥的密钥对,拥有私钥的客户端是否可以免密码登录公钥的客户端? 2.如果多台机器配置相互免登陆,该如何操作最简单? ssh无密码登录,其实已经有很多的文章,而且
用户1410343
2018/03/26
7370
大数据,云技术基础知识:ssh解惑,到底谁免登陆谁
区块链零基础学习线路
问题导读 1.你对区块链了解多少? 2.区块链与大数据、云计算是什么关系? 3.区块链原理是什么? 4.区块链该如何学习? 5.区块链有哪些应用? 6.区块链与我们普通开发有什么区别和相同之处?
用户1410343
2018/07/26
2.3K0
区块链零基础学习线路
Shell常见的面试题
Shell基础入门 linux系统是如何操作计算机硬件CPU,内存,磁盘,显示器等?使用linux的内核操作计算机的硬件Shell介绍... Shell计算命令 Shell计算命令:expr命令
乐心湖
2021/01/18
8650
Shell常见的面试题
Shell脚本学习总结(一) 原
临时变量:是shell程序内部定义的,其使用范围仅限于定义它的程序,对其它程序不可见
wuweixiang
2018/08/14
3970
spark零基础学习线路指导
问题导读 1.你认为spark该如何入门? 2.你认为spark入门编程需要哪些步骤? 3.本文介绍了spark哪些编程知识? spark学习一般都具有hadoop基础,所以学习起来更
用户1410343
2018/03/26
2.1K0
spark零基础学习线路指导
01·Shell编程基础入门
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
DriverZeng
2022/09/26
3260
01·Shell编程基础入门
监控hadoop生态系统企业应该用什么监控软件
问题导读 1.文中哪些监控软件有邮件通知功能? 2.监控粒度更细如何自定义实现? 3.哪些监控软件可以自定义? 企业转型大数据,随着发展,可能会遇到很多的问题。该如何知道磁盘的使用情况;遇到问题,该如何及时的报警通知。该如何知道各个组件的运行情况,各自暂用内存、磁盘、网络使用等,都可能是我们想获取的。由于监控软件,粒度比较粗,想定制监控内容,该如何定制,获取某个进程的信息.由于每个企业需求不一样,经常有些初学者想了解或则提问,我们到底该用哪个监控软件好。这里整合、统计一些监控软件的一些用途,大家可以选择
用户1410343
2018/03/26
2.2K0
监控hadoop生态系统企业应该用什么监控软件
about云日志分析项目准备高可靠centos7安装jdk1.8【rpm】
问题导读 1.rpm与tar包有什么区别? 2.如何rpm包? 3.如何为rpm指定路径安装? 来自云小组 about云日志分析项目准备6-1补充:jdk1.8安装【rpm】 http://ww
用户1410343
2018/03/27
9700
about云日志分析项目准备高可靠centos7安装jdk1.8【rpm】
IT大咖工作十年总结的面试真经
问题导读 1.你认为面试常问的问题有哪些? 2.回答面试问题的原则是什么? 3.你认为该如何面试? 在about云vip群,铁粉群中,经常看到学员会遇到面试困惑和难题,同时又到了金九银十面试跳槽的季节,相信很多人会遇到面试同样的问题,特别是学生和转行人员,对于面试认识,认知这里做了下总结,相信对大家有所帮助,内容如下: 1.面试流程 2.面试常问问题 3.入行新手该如何写项目经验 4.面试注意问题
用户1410343
2018/10/08
1.7K0
日志分析实战之清洗日志小实例6:获取uri点击量排序并得到最高的url
问题导读 1.读取日志的过程中,发生异常本文是如何解决的? 2.读取后,如何过滤异常的记录? 3.如何实现统计点击最高的记录? 日志分析实战之清洗日志小实例5:实现获取不能访问url http
用户1410343
2018/03/26
9380
日志分析实战之清洗日志小实例6:获取uri点击量排序并得到最高的url
linux系列之shell编程(一)
$n 功能描述:n为数字,$0 代表该脚本名称,$1-$9代表第一到第九个参数,十以内的参数,十以上的参数需要用大括号包含,如${10}
趣学程序-shaofeer
2020/07/11
1.4K0
linux系列之shell编程(一)
Hadoop3.3新版本发布【整合了腾讯云】
问题导读 1.Hadoop3.3支持JDK哪个版本? 2.SCM是什么? 3.YARN应用程序做了哪些改进? 4.整合腾讯云实现了什么文件系统? 1.支持ARM 这是第一个支持ARM的版本。 2.Protobuf从2.5.0升级到新版本 Protobuf从2.5.0升级到3.7.1 3.支持Java11 支持Java11 4.支持模拟AuthenticationFilter过滤器 外部服务或YARN服务可能需要根据使用Web协议的用户行为来调用WebHDFS或YARN REST API。最好在AuthenticationFilter或类似的扩展中支持模拟机制。
用户1410343
2020/07/31
1K0
区块链开发语言之go语言学习线路指导
问题导读 1.为什么学习go语言? 2.你认为该如何入门go语言? 3.你认为go语言需要哪些学习过程?
用户1410343
2018/07/26
1.6K0
区块链开发语言之go语言学习线路指导
推荐阅读
相关推荐
Shell脚本编程30分钟入门
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验