linux
了解 linux 命令 及分类 及相关编程
ls ls -l ls -la ls -li ls -h
mkdir mkdir -P
cat cat -n [显示行号]
touch
vi esc i / :wq dd u
vim
pwd
df -h
cd .. cd /usr cd ./ cd ~
tar -xzvf filename.tar.gz -C /usr/directory
useradd username
groupadd
chmod 777 filename
chmod u-x g+x o-r
chown hadoop filename
uname -a
mv filenme newFilename
cp file newfilename
which java
where java
rm -fr file
rmdir directory
clear
tail -f
less
more
head
echo
export
Tab 代码补全
上方向键 历史命令
ctrl + c
set
alias
unalias 别名 清除别名
unalias -a 清除 所有别名
history -c -w
重定向
grep egrep fgrep
read -p "提示语 " 变量
read -t 时间second
read -s 保密模式
cat ab.txt | while read line
do
echo "every name : $line"
done
expr 计算 注意要有空格
expr match "str" "regex"
expr substr "str" index count
expr index "str" "substr"
expr length "str"
tmux tmux new -s roclinux ctrl +b c 0
shopt expand_alias
--login
xargs excute argument 从标准输入中读取内容,并将此内容传递给它要协助的命令,并作为哪个命令的参数来执行
cat ab.txt |xargs -E "korea" echo
date
time 计算 命令执行时间 time -v ls
sleep 5s 6m 7h 5d date; sleep 4s ;date
sleep 0.003s
file -f filename 查看文件内容
file -i filename 查看全码
file -b filename 隐藏文件名
file -F “=》” filename
file -L filename 查看软链接
ln source.txt hardsource.txt 不允许链接到目录 不能跨文件系统
ln -s source.txt softsource.txt
ln -f 强制
ln -n 把链接目录 当做文件看
find . 当前目录 -name [pattern] -type f d l b c p s [pattern] -regex '.* '
find . -perm 663 按权限搜索
find -exec args {} ;
find . -type f -size +40m
find , -type f -a -size +30k and -o or
find . -regex "./e .avi .[0-9]+$" 正则 以 . 开始 + 1-n * 0-n ? 0-1
w s d
tree 列出 树状文件 目录
du disk usage 展示磁盘用量统计信息 侧重文件和文件夹的磁盘占用方面
du -sh summarize human
du -ch total human
du -ah .
du -sh *|sort -nr
du -h ab.txt
gzip hot.avi 压缩文件 会 删除源文件,若保留源文件 gzip -c hot.avi
gzip -d hot.avi.gz 解压文件
tar -zxvf filename.tar.gz -C /usr/local/
-x 进行拆包
-z 使用gzip 压缩或者解压缩
-v view 直播解压过程
-f file 指定 文件
tar -czvf finame.tar.gz directory 打包 压缩
-c 打包
tar -ztvf file.tar.gz 只是看看 文件 t 列出文件中内容
gzip -3 erro.jpg
对于 bzip2 压缩包
tar -xjvf fina.tar.bz2 解压
tar -cjvf fina.tar.bz2 fina/ 压缩
bzip2 error.jpg 压缩 会删除源文件
zip -r zdata.zip note.txt soft/
unzip -d newzip/ zdata.zip
unzip -v zdata.zip 只是看看
zip zdata.zip -d mynote.txt 删除压缩包中的文件
dd device driver
dd if=/dev/sda of=/root/sda.img 备份
dd if=/root/sda.img of=/dev/sda 恢复
dd if=/dev/sda |gzip >/root/sda.img.gz
dd if=/dev/sda |bzip2 > disk.img.bz2
dd if=/dev/sda2 of=/root/sda.img
dd if=/dev/mem of=/root/mem.img count=1 bs=1440k
dd if=/dev/zero if=/dev/null if=/dev/urandom
nc -l port
ps 查看进程
ifconfig 查看网络
kill 进程号
shutdown 40
echo -e " " 设别 转义字符
echo -n ' ' 去掉 echo 末尾的换行符
echo -e "\033[41;36m hello world \033[0m" \033 \e \E 等价
grep 搜索 提取
grep --color “leo” /etc/password
grep -v "leo" /etc/password
grep -A 1 leo /etc/password after
grep -B 1 leo /etc/password before
grep -C rand
grep -i "leo" ./etc 不区分大小写
grep -l "fires" *.txt 处理多文件 存在
grep -L "fires" *.txt 不存在
grep "bash$" "^leo" /ect/ 处理正则
grep -w "bash" /etc 处理词
grep -c "root" /etc/pad
sed stream editor 流编辑器 是一个面向 行处理的工具,它以 行 为处理单位,针对每一行进行处理,处理后的结果会输出到标准输出(STDOUT),sed 不会修改 被读取的文件
而是将 原内容 或修改后的内容输出到标准输出中。工作原理,每一次处理一行内容,处理时,sed会把要处理的行存储在缓冲区中,接着用sed 命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着 处理下一行,这样不断重复,直到文件末尾,这个缓冲区被称为 ”模式空间“
sed '/2/d' roc.txt
sed -n '/4/p' roc.txt -n 警告sed ,只输出 明确要输出的行
/d 表示删除行 ; /p 打印该行 ; /r 读取指定文件的内容 /w 写入指定文件 /a 在下面插入新行新内容 /g 替换 s/ 删除
sed 's/..//' test 删除每一行的前两个字符
sed 's/B.*/&2008/' mysed.txt 追加& s/ /
echo "helo world " |sed 's/ (helo) .*/world \1/'
world helo
sed -e 's/Beijing/london/g' -e '/Beijing/d' mysed.txt
sed '/2005/r ins.txt' mysed.txt 匹配 mysed.txt 2005 后,插入ins.txt 到mysed.txt
sed '/2004/i\china' mysed.txt 匹配2004 前一行 插入 china i
sed '/2004/a\china' mysed.txt 匹配 2004 后一行插入 china a
sed '/200[4-6]/w new.txt' mysed.txt,将指定行写入到特定文件中
sed 'y /ei/ie' mysed.txt y就是按照字符顺序,实现前后的替换 y/source /dist 而 s的语法是
s/regexp/replacement
who |cut -b 3 -b 以字节 为单位提取
who |cut 3-5,8
cut -c 以字符为单位提取内容
cut -c 3 roc.txt
cut -d : -f 1,3-5,7 -d 以什么为间隔, -f filed 要提取的域
wc 计算字数
wc -c roc.txt 以字节 byte
wc -m ro.txt 以字符char 来计数
wc -l ro.txt 以 行line
wc -w ro.txt 以 词 word
wc -L ro.txt 可以显示一个文件中最长行的长度
wc rot.txt 显示行数 词数 字节数 文件名称
split 拆分文件
split -b 400M toykohot.avi -b 指定每个拆分文件的大小 -d 指定数字
split -b -C -l 要切割的文件 输出的文件名前缀 -a
md5sum hot.avi md5 验证文件
sha1 hot.avi
paste 拼接文件
paste ro.txt roc.txt
paste -d '' p3.txt p2.txt p1.txt -d 使用字符 拼接
paste -s -d '' p3.txt p2.txt p1.txt -s 以每个文件自身为一个处理单元
sort 排序 将文件的每一行 作为一个单元进行排序,其规则是从行首 字符向后,依次 按 ASCII码值前后顺序进行比较,最后将他们按升序输出 默认是 stdout 输出
sort seq.txt 默认将每行 ASCII码值怕徐
sort -u seq.txt -u 消除重复
sort -u -r seq.txt -r颠倒顺序,逆序 降序
sort -r number.txt -o number.txt -o将排序结果保存到文件 或者重写源文件
sort -n number.txt -n number 按照数值排序
sort -n -k 2 -t : fruit.txt -k 指定要针对的那一列进行排序 , -t 指定间隔符
-f 小写字母转大写
-c 检查文件是否排序 ,乱序则输出 第一行
-C 检查文件是否排序,乱序则不输出
-M 按月份排序
-b 忽略空白
sort -n -t ; -k 2 -k 3 force.txt ,两个排序 列,有先后,都是升序
sort -n -t ' ' -k 3r -k 2 faco.txt ,两个 排序 , 3降序,然后相同的按 2 升序
sort -t ' ' -k 1.2 facebook.txt 对第一列 的第二个字母开始到本行的最后一个字符为止的字符串进行排序
awk 其实是一门编程语言 ,非常适合用来处理文本 类 数据,数据可以来自标准输入,外部文件,或其他命令的输出,,awk同事支持正则表达式和用户自定义的函数
行 record , field 列
awk '{print $0}' student.txt
awk '{print $1 ,$3}' fx.txt
awk 'BEGIN {print "" } {print ""} END {print ""}' student.txt
awk '{ print $1+$3+$6}' stu.txt
awk 'BEGIN {print "" } $3 ~ /beijing/ {print $1,$3,$2+$5 } END {print ""}' stud.txt 帅选
awk 'Pattern {Action}' filename ,Pattern 和Action 都是可选的,但是必须有一个,action 如果被指定 {} 则不做任何动作,也没有输出,
awk 'N/R%2==0 {next} {print NR,$0}' INP.txt NR表示当前记录的行号 ,用‘NR 是否嫩被2整除 的方法可以看出当前是奇数行还是偶数行, 偶数 不输出 进行下一行, 奇数 输出当前行
awk 'NR%3!=0 {T={T " "$0);next} {print T,$0; T=" "}' in.txt 其实是一个 if do else done
把 T 作为一个变量 ,中间存在赋值 操作
awk 'BEGIN {T=" "} /worktime/ {print T;T=$0; next}{T=T" "$0} END{print T}' input.txt
awk '{print $0}' input.txt inp.txt
awk 'NR==FNR &&FNR==1 {print FILENAME, $0} NR>FNR &&FNR==8{print FILENAME ,$0}' INT.txt in.txt
awk 'ARGIND==1{...}ARGIND==2{...}ARGIND==3{...}...' file1 file2 file3 ...
awk 'BEGIN {OFS=FS=":" NR==FNR {a[$1]=$2} NR>FNR{$2=a[$1];print}' shadow passwd
OFS 输出字段分隔符 FS 字段分隔符
合并两文件并求和
awk '{ for(i=1;i<=NF;i++) a[i]=$i; getline<"1.txt"; for(i=1;i<=NF;i++) printf a[i]+$i" ";
printf "\n"}' 2.txt
外部调用 getline 引用外部数据 ,system 调用shell 中的命令
awk '{getline;print}' test getline 左右没有 < | ,getline 是对当前打开的文件操作,表示读取行的下一行数据,并把读取到的数据赋值给$0,同时更新 NF NR FNR
awk '{print $0; while ((getline <"1.txt") >0)print$0)' test
awk 'BEGIN {system("ls -al")' awk 无法直接将脚本中的数据直接输出给 shell命令,反之 依然
ifconfig |awk '/eth/ {inter=$1;getline;sub(/inetaddr:/,"");print inter,$1}'
查看 TCP 连接状态
netstat -nat |awk '{print $6}' |sort|uniq -c |sort -rn
查找请求Shuffle排名 前5名的ip
netstat -anlp |grep 80|grep tcp|awk '{print $5}'|awk -F : '{print $1 }' |sort|
uniq -c |sort -nr|head -n 5
锁定tme——wait 连接较多的源 ip
netstat -n |grep TIME_WAIT |awk '{print $5}'|awk -F :'{print $1}'|sort|
uniq -c |sort -nr|head -n 5
使用tcpdump 嗅探 80 端口的访问
文件
网络
编辑 vi
解压 打包
统计 检验
查看 计算
用户 权限管理
ppt
https://wenku.baidu.com/view/8302a74b001ca300a6c30c22590102020740f205.html?from=search
一 、git
在自己电脑配置 mac /etc/hosts, windows 下载 switchhost 小工具 修改
将我们测试服务器集群的 host 主机名 ip 映射 配置到自己电脑
10.111.32.78 cdhmaster
10.111.32.7 cdhnode3
10.111.32.8 cdhnode1
10.111.32.9 cdhnode2
git 是什么 分布式 的 代码仓库 服务团队 开发
为什么要用git 存储代码 备份代码 版本迭代 回滚历史 协同开发
1.首先 Windows 系统 安装 git 客户端,https://www.git-scm.com/download/
mac 可能自带git 尝试一下 在 terminal 输入 git -h 命令,如果没有的话
brew install git 或者 在https://www.git-scm.com/download/ 下载mac 版
下载 git 可视化 组件 sourcetree 安装
https://www.sourcetreeapp.com/
- 登录gitlab 注册 http://10.111.32.19/ 记住自己 的 用户名 密码邮箱 fullname,
然后 在自己电脑上 生成 公钥 【 ssh-keygen -t rsa 】,mac terminal ,windows power shell
3.了解 git 基本命令 和原理
git clone commit push pull fetch merge checkout branch stage localrepo remote repo
- 演示一下 下载代码到本地 git clone git@cdhnode2:muller/awesome_etl.git
git clone 下载 代码 到本地
提交 git commit -m 'init code'
5,git 与 IDE pycharm 上的 结合
ppt:
https://wenku.baidu.com/view/5c6f2266ec3a87c24128c443.html?from=search
文章
二、jira
http://cdhnode3:9080/secure/Dashboard.jspa
一个问题 任务 跟踪系统 ,任务分配系统
给大家都注册了, 用户名是 大家的姓名全拼, 密码都是geotmt
主要 工作形式就是一个工作流, 从 创建 打开 流转 分配 执行 反馈 检验 拒绝 回退 通过 各个节点
为什么要用,
谁分配任务 给了谁,谁最后是具体的执行者 ,任务完成的情况
回溯任务历史记录
https://wenku.baidu.com/view/5ee0e02b2a160b4e767f5acfa1c7aa00b42a9d77.html?from=search
https://wenku.baidu.com/view/3e2dc2a8168884868662d603.html?from=search
三、confluence
wiki 知识存档 归档的地方
相关操作
https://wenku.baidu.com/view/c0981460dd3383c4ba4cd2cc.html?from=search
四、hadoop 2.6 cdh 5.14.2
ppt
https://wenku.baidu.com/view/43675ce7ed3a87c24028915f804d2b160b4e869c.html?from=search
https://wenku.baidu.com/view/3dc974a5dd36a32d737581fe.html?rec_flag=default&sxts=1528856694354
下载 http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.14.2.tar.gz 到本地
解压,
mac
su root
tar -xzvf hadoop-2.6.0-cdh5.14.2.tar.gz -C /usr/local
讲解 hadoop 的 使用
为什么使用hadoop 大数据 云计算 做统计报表 计算
hadoop 常用命令
如何 进行 MapReduce
python
java 、scala
我们hadoop
文档系统
http://10.111.32.18:50070/explorer.html#/
MapReduce job 执行 跟踪
http://cdhnode1:8088/cluster
job 历史回顾 看log
http://cdhnode1:19888/jobhistory/
五、hive
https://wenku.baidu.com/view/8e33571ebb4cf7ec4afed0de.html?from=search
六 、 spark
https://wenku.baidu.com/view/b8ee5be0b9f67c1cfad6195f312b3169a451ea5c.html?from=search