大数据学习(1)---- Linux基础(1)
1. 提前准备
-
CentOS6.5 虚拟机 或者 CentOS7.x 云主机
-
Xshell软件、CRT、PUTTY 进行远程登录(Mac用户使用自带命令行)
-
使用ssh进行远程登录
ssh root@10.211.55.5 登录linux虚拟机
2. 常用Linux命令
-
pwd
查看当前光标所在的目录 显示从根目录/开始 绝对路径
-
用户窥探
root 超级管理员 123456 /root zth 普通用户 界面创建 /home/zth lyj /home/lyj xxx /home/xxx 默认系统是在/home目录下 除非指定用户的home目录为其他目录
- Linux系统的目录是从根目录开始 /
-
ls: 查看
ls / 只显示该目录下的文件或文件夹的名称 ls -l / 显示该目录下的文件或文件夹的明细信息 [root@hadoop001 zth]# ls -l /home 总用量 20 drwx------. 2 root root 16384 12月 10 17:28 lost+found drwx------. 28 zth zth 4096 12月 10 17:40 zth 权限 用户 用户组 时间 名称
-
cd: 切换目录
cd /home cd 切家目录 cd ~ 切家目录 ~标识 cd /root 用户的家目录的绝对路径 cd - 回到上一次目录 cd ../ 回退上一层目录 cd ../../ 回退2个目录
-
路径
绝对路径 /根目录开始 相对路径 不以/开始 [root@hadoop001 ~]# ls anaconda-ks.cfg Downloads Music Templates Desktop install.log Pictures Videos Documents install.log.syslog Public [root@hadoop001 ~]# cd Desktop/ 相对 [root@hadoop001 Desktop]# [root@hadoop001 ~]# cd /root/Desktop/ 绝对 [root@hadoop001 Desktop]#
-
clear: 清空屏幕
-
再讲 ls
-
ls 命令简写(只有在linux中才行)
ls -l ==> ll
-
查看文件大小
ll -h
-
查看文件夹或者文件的大小
du -sh Desktop/ du -sh install.log
-
找出最新的文件或者文件夹
ll -rt ll -rt == ls -l -r -t == ls -lrt
-
查看隐藏文件或文件夹(隐藏是以 . 开头的文件或文件夹)
ll -a
-
-
创建文件夹
mkdir bigdata 只能创建1个 mkdir -p bigdata/1/2 级联创建文件夹 串行 mkdir 4 5 6 并行
-
创建文件
-
touch的形式创建
touch zth.log 创建空文件
-
vi 的形式创建
vi zth.log 创建文件 重要!! 1. 命令行模式 按 i 进入编辑模式 2. esc 回退到命令行模式 3. shift+:尾行模式 wq 保存退出
-
-
cp: 拷贝 2 份,原有的还在
cp zth.log bigdata/ cp -r 7 6/ 文件夹拷贝 需要-r参数
-
mv: 移动 1 份,即原有的移动到新位置
mv zth1.log 6 移动文件到新的地方 名称不变 mv zth2.log 6/zth123.log 移动文件到新的地方 改变zth2.log名称为zth123.log mv 8 6 移动文件夹
-
第一种命令帮助
[root@hadoop001 ~]# ls --help Usage: ls [OPTION]... [FILE]... []代表可以省略 ls ls jepson.log jepson.log可以省略 ls -r -t -r -t 就属于option
-
离线查看文件内容
-
cat
cat 文件内容一下子全部显示 适用字节内容较少
-
more
more 文件内容一页一页的往下翻 按空格键往下 回退不了 按q退出 适用字节内容稍多的
-
less
less 文件内容 一行行 按箭头上下滚动 按q退出
-
| 管道符
- 前面的shell脚本的输出 作为后面命令的输入
-
grep过滤
grep -C 10 拿到前后上下文共 20 行 > 重定向输出到文件 如果文件中有内容则覆盖 > > 追加
-
对文件的内容ERROR 定位错误
假如文件假如100m+ cat install.log | grep -C 10 "ERROR" 假如 ERROR赛选的结果 特多 将结果保存到 error.log 中 cat install.log | grep -C 10 "ERROR" > error.log
-
-
实时查看
- 主要使用 tail 命令
打开实时窗口查看log日志 tail -f tail1.log tail -F tail2.log -F = -f + retry
- 试验一下
[root@hadoop001 ~]# echo "123" >> tail1.log [root@hadoop001 ~]# echo "123" >> tail2.log [root@hadoop001 ~]# echo "4" >> tail1.log [root@hadoop001 ~]# echo "4" >> tail2.log 此时tail1.log 与 tail2.log都可以正常输出
-
生产上 xxxx.log日志大小 100m 一般保留10份
-
如果将xxx.log 日志中内容移到xxx.log1中,此时 xxx.log 已经不存在
-
而 -f 打开的tail1.log 并不能检测到 log 文件的发生的变化
-
但是使用 -F 打开的tail2.log 文件 因为有 retry 可以检测文件发生的变化
tail: 'tail2.log' has become inaccessible: No such file or directory tail: 'tail2.log' has appeared; following end of new file
-
说明-f 不够强大 文件只要被移走 就算新的一模一样 也不会实时监控
反之-F 强大 实时监控 -
flume踩坑案例:tail -f
http://flume.apache.org/releases/content/1.9.0/FlumeUserGuide.html#exec-source -
特别需求: 查看倒数 50 行 只能用 f 不能用 F
tail -50f xxx.log