Hadoop & Linux命令

Hadoop

  • HDFS的操作命令类似Linux的shell对文件的操作,如ls、mkdir、rm等

  • Hadoop提供了文件系统的shell命令使用格式如下:
    hadoop fs #既可以操作HDFS,也可以操作本地系统
    hdfs dfs #只能操作HDFS系统

  • 1.ls命令
    格式:hadoop fs -ls URI
    作用:类似linux的ls命令,显示文件列表
    hadoop fs -ls / #显示文件列表
    hadoop fs -ls -R #递归显示文件列表

  • 2.mkdir命令
    格式:hadoop fs -mkdir [-p]
    作用:以中的URI作为参数,创建目录。使用-p参数可以递归创建目录
    例:hadoop fs -mkdir /dir1
    hadoop fs -mkdir -p /aaa/bbb/ccc

  • 3.put命令
    格式:hadoop fs -put ...
    作用:将单个的源文件或者多个源文件srcs从本地文件系统上传到目标文件系统中。
    例:hadoop fs -put /root/1.txt /dir1 #上传文件
    hadoop fs -put /root/dir2 / #上传目录

  • 4.get命令
    格式:hadoop fs -get
    作用:将HDFS文件拷贝到本地文件系统
    例:hadoop fs -get /hello.txt /root/test

  • 5.mv命令
    格式:hadoop fs -mv
    作用:将HDFSd的文件从原路径src移动到目标路径dst,该命令不能跨越文件系统
    例:hadoop fs -mv /dir1/1.txt /dir2

  • 6.rm命令
    格式:hadoop fs -rm [-r] [-skipTrash] URI [URI...]
    作用:删除参数指定的文件和目录,参数可以有多个,删除目录需要加-r参数(递归删除);在回收站可用时,在HDFS shell中执行此命令,会将文件暂时放回回收站中。
    例:hadoop fs -rm /hello.txt #删除文件
    hadoop fs -rm -r /dir2 #删除目录

  • 7.cp命令
    格式:hadoop fs -cp
    作用:将文件拷贝到目标路径中
    例:hadoop fs -cp /dir1/1.txt /dir2

  • 8.cat命令
    格式:hadoop fs -cat
    作用:将参数所指示的文件内容输出到控制台
    例:hadoop fs -cat /dir1/1.txt

  • 9.写入和读取速度测试、清楚测试数据
    (网上查询)


Linux

1. 根目录和家目录

  • 根目录:/
  • 家目录:/root , /home/samsung
  • pwd:显示当前所处路径(path work diretory)

2. 目录(文件夹)操作命令

  • 1.目录切换:cd (change directory)

  • 2.目录查看:ls (list)
    ( -a : 能看隐藏 ,-l:以列表方式显示看详情,
    -lh: 人性化详情 ,-F:看文件属性)

  • 3.目录操作:(增、删、改、查)
    → 新建目录 (增):mkdir -p (注:p(path目录))
    → 删除目录或文件(删):rm -rf (注:r(recursive递归)、f(force强制))
    → 修改目录的位置或名称(改):mv ,cp
    → 查询目录 (查):find
    根据文件名查文件:find 目录 -name 文件名(模糊查询:
    查看指定大小的文件:find -type f -size +100M
    (例:mkdir -p aaa/bbb/ccc)
    (例:rm /root/test -rf)
    (例:mv /root/test/aa /root/test/bb cp /root/test/aa /root/test/bb)
    (例:find /root test)
    例: cp /root/
    /tmp

3 . 文件操作命令

  • 文件操作:(增、删、改、查)
    → 新建文件(增):touch
    → 删除文件(删):rm -rf
    → 修改文件(改):vi或vim (visual interface,vim是vi的加强版
    → 查询文件(查):cat
    △ 扩充(文件浏览命令):
  • 分页查看文件:more filePath (例:more hello.txt)
    • Enter: 向下n行, 需要定义,默认为1行.
    • 空格键: 向下滚动一屏 后者 Ctrl + F
    • B键: 返回上一屏 或者 Ctrl + B
    • q: 退出more
  • 分页查看文件:less hello.txt
    • 语法: less[参数] 文件
    • 参数:-m :显示类似more 命令的百分比.
      -n : 显示每行的行号.
    • 相关操作:
      空格键:前进一页 或 page down
      b: 后退一页 或 page up
      d: 前进半页
      u:后退半页
      回车键:前进一行 或使用方向键向下
      y: 后退一行 或者 使用方向键向上。
      /字符串:向下搜索
      ?字符串:向上搜索
      v:进行vim编辑器
      左右方向键: 相当于水平滚动条
      q:退出
  • 只查看最后几行:(常用于常看日志文件)
    tail -f hello.txt #循环读取
    tail -n100 hello txt #显示100行
    ctrl + c: 退出
    tail & hello.txt #表示后台运行, 否则占用终端。
    (例:touch /root/test/aaa.txt)
    (例:rm /root/test/aaa.txt -rf)
    (例:vim /root/test/aaa.txt)注;"i进入编辑,:wq保存退出"
    (例:cat /root/test/aaa.txt)

4 . vi或vim编辑器

  • vi或vim是linux中的文件编辑器
  • vim编辑器有3种模式:命令模式、编辑模式、底行模式

5. 压缩和解压命令

  • tar压缩解压
    说明:(-z:调用gzip指令,-c:create新建tar文件,-x:extract解压tar文件,-v:verbose显示运行过程信息,-f:file指定文件名)
    压缩:tar -zcvf 压缩结果 指定路径文件
    解压:tar -zxvf 指定路径文件 -C 指定路径
    △ 扩充:
    tar -zPcvf 加上P可以使用绝对路径结果
    (例:tar -zcvf test.tar.gz test)
    (例:tar -zxvf /root/test.tar.gz -C /home/samsung )
    (例:tar -zPcvf /home/samsung/test.tar /root/test)

  • 压缩包尽量使用.tar.gz后缀,否则不知道是压缩打包文件。

  • zip 压缩解压
    压缩:zip -r 压缩结果 指定路径文件
    解压:unzip -d 指定路径 指定路径文件
    (例:zip -r test.zip test)
    (例:unzip -d /home/samsung /root/test.zip)

6. 其它常用命令

  • wget(进行相关文件的下载)
    格式:wget 下载链接
    注意:使用此命令进行下载, 在哪个路径下使用, 就会将文件下载到哪个位置.
    wgt http://download.redis.io/releases/redis-4.0.2.tar.gz

  • grep (内容查询)
    语法:grep 字符串 文件名称 # 查询在某文件中是否存在该字符串
    例:grep hello 1.txt #查询1.txt中是否存在“hello”字符串
    grep hello 1.txt --color #高亮显示查找到的内容

  • which(2进制文件查询)
    语法:which 二进制的文件名
    查看某个二进制文件是否存在
    例:which cd #是否存在cd二进制指令

  • ps(进程查询)
    语法:
    ps #查看ps命令本身的进程和当前终端进程
    ps -ef #查看当前linux系统所有的进程
    例:ps -ef

  • kill(杀死进程)
    语法:kill -9 进程的pid #杀死指定pid的进程
    或kill -SIGKILL 进程的pid
    例: kill -9 123456 #杀死pid为123456的进程

  • | (管道)
    语法:命令1 | 命令2 | 命令3 #前面的查询结果作为后面的查询条件。
    类比 流水线从前往后作业.
    例:ps -ef | grep mysqld

  • useradd、passwd、userdel、whoami、who am i (用户管理)
    useradd samsung #创建新用户samsung
    passwd 或者passwd samsung # 密码设置
    userdel -r samsung #删除用户samsung
    userdel -rf samsung #强制删除用户samsung
    who #
    whoami # 只查看当前用户名
    who am i #查看当前用户何时登录进来的

  • sudo (用户切换)
    sudo -su root # 切换至root用户
    su root

  • chmod (文件权限)
    d rwx rwx rwx #文件类型 所属用户user(u) 用户组group(g) 其它用户other(o) 所有用户all(a)

  • 文件权限分为3种:read(r:4),write(w:2),executable(x:1)
  • 文件用户角色分为3种:user(U),group(g),other(o)
  • 文件赋权方式分为3种:
    文件默认权限是:644 (rw_r__r__)
    1.直接进行+-权限
    chmod u+x 文件
    chmod g-r 文件
    2.通过数字进行
    chmod 777 文件
    3.通过赋值进行
    chmod u=rwx,g=rx,o=rw 文件
    例:chmod u=rwx,g=rx,0=rw 1.txt
  • hostname、ifconfig、systemctl、service(网络和服务)
    hostname #查询当前主机名
    vim /etc/hostname #修改当前主机名
    vim /etc/hosts #设置所有主机的主机名
    ifconfig #查看当前主机的IP和mac物理地址
    vim /etc/sysconfig/network-scripts/ifcfg-ens33
    注:centos7.*都是使用systemctl,兼容service不推荐,
    centos6. :service 服务
    systemctl stop mysqld #关闭mysql服务
    systemctl start mysqld #打开mysql服务
    systemctl status mysqld #查看mysql服务的状态
    systemctl enable mysqld #打开mysql开机自启动服务
    systemctl disable mysqld #关闭mysql开机自启动服务

  • rz、sz(文件上传和下载)
    yum install -y lrzsz #安装 lrzsz
    rz 然后指定文件 #上传指定文件
    sz 文件名 # 下载文件

  • 其它(ln、clear、su、exit、shutdown、halt、reboot、sync、data)
    ln -s 目标文件 快捷 #创建快捷方式
    例:ln -s /root/1.txt /root/ai.txt
    clear 或 ctrl +l #清屏
    su -用户 #切换其它用户登录
    exit 或 ctrl +d #退出当前用户
    shutdown -h now #立即进行关机
    shutdown -h 1 #1分钟后关机
    shutdown -h now #立刻关机(类似断电关机)
    shutdown -r now # 现在重新启动计算机
    halt #立刻关机(centos)(类似不断关机)
    reboot # 重启计算机
    sync #将当前内存中的数据同步到磁盘
    data #显示当前时间
    data +%Y #显示当前年份
    data +%m #显示当前月份
    data +%d #显示当前是那一天
    data “+%Y-%M-%D %H:%M:%S”(功能描述,显示年月日 时分秒)

上一篇:开启hadoop后对文件执行shell操作


下一篇:Node.js fs模块(一)