美文网首页
大数据之生产常用Linux命令(1)

大数据之生产常用Linux命令(1)

作者: 筱丶宇 | 来源:发表于2020-04-21 17:20 被阅读0次

1. 查看当前路径

[root@hadoop001 ~]# pwd
/root

2. ls查看

2.1 仅显示文件夹、文件名称

[root@hadoop001 ~]# ls

2.2 显示额外信息 权限 用户用户组 时间 大小

2.3 显示额外信息,也显示隐藏文件夹 文件(隐藏文件以.开头)

[root@hadoop001 ~]# ls -l -a
total 40
dr-xr-x---.  6 root root 4096 Apr 15 21:51 .
dr-xr-xr-x. 17 root root 4096 Aug  8  2018 ..
-rw-------.  1 root root 3814 Apr 15 21:49 .bash_history
-rw-r--r--.  1 root root   18 Dec 29  2013 .bash_logout

2.4 仅查看文件大小

[root@hadoop001 ~]# ls -l -h

2.5 按时间排序查看最新文件

[root@hadoop001 ~]# ls -l -r -t

3. 创建文件夹(mkdir)

3.1 同时创建多个文件夹

[root@hadoop001 ~]# mkdir dir1 dir2 dir3

3.2 级联创建(记得加参数-p哦)

[root@hadoop001 ~]# mkdir -p dir4/dir5/dir6

4. 切换路径

4.1 切换到根目录

[root@hadoop001 ~]# cd /

4.2 切换到上一层目录

[root@hadoop001 ~]# cd ../

4.3 切换到家目录(符号为~)

root用户 家目录 /root
普通xx用户 家目录 /home/xx

以下是进入家目录的三种方式

[root@hadoop001 ~]# cd /root root 用户 
[root@hadoop001 ~]# cd /home/xx 普通xx用户

[root@hadoop001 ~]# cd 直接回车

[root@hadoop001 ~]# cd ~

4.4 回到上次访问的目录

[root@hadoop001 ~]# cd -

5. 命令帮助

[root@hadoop001 ~]# 命令 --help

6. 清除屏幕:输入一个clear就欧克啦

7.mv移动和cp复制

[root@hadoop001 ~]# mv dir1  ruozedata/dir1

注意复制文件夹的时候记得用-r(递归参数哦!!!)
[root@hadoop001 ~]# cp -r dir2 ruozedata/dir2

这两个功能也可用作重命名文件

[root@hadoop001 ~]# mv  dir2 dir22
[root@hadoop001 ~]# cp -r dir3 dir33

8. 创建文件

创建文件分为创建空文件和非空文件

创建一个空文件,我们直接用touch命令

[root@hadoop001 ~]# touch 1.log

非空文件创建

  • echo:打印一句话直接到文件
  • vi:编辑一个文件,自动创建
[root@hadoop001 ~]# echo "hadoop > 3.log

[root@hadoop001 ~]# vi 3.log

9.覆盖与追加

  • 覆盖 >(高危高危!!!慎用)
  • 追加 >>
将hadoop直接覆盖原文件内容
[root@hadoop001 ~]# echo "hadoop" > 3.log

将hadoop追加到原文件内容后面
[root@hadoop001 ~]# echo "hadoop" > 3.log

10. 查看文件内容 (log config data)

  • cat xxx.log 文件内容一下子全部显示 ctrl+z 中断(适用于较少内容的文件)

  • more xxx.log 文件内容按页查找,按空格往下 Ctrl+B回退 q退出(文件内容相对较多)

  • less xxx.log 文件内容 按上下键 q退出

  • tail 实时查看文件最新内容(重点)
    tail -F = tail -f + retry

场景:在被监控的文件被移走且重命名后,又创建了一个相同名字的文件,系统会retry把这个文件找到,继续监控。
常用于大数据flume组件exec source: tail -F erp.log

查看文件后100行内容,并实时监控
[root@hadoop001 ~]# tail -100f xxx.log

[root@hadoop001 ~]# tail -F xxx.log

11. 管道过滤

如果文件内容超多,又想快速定位到需要的信息,我们用管道

下面定位某篇日志的ERROR信息

[root@hadoop001 ~]# cat xxx.log | grep ERROR   当前行
[root@hadoop001 ~]# cat xxx.log | grep -A 5 ERROR   后5行
[root@hadoop001 ~]# cat xxx.log | grep -B 5 ERROR   前5行
[root@hadoop001 ~]# cat xxx.log | grep -C 5 ERROR   前后各5行

如果定位出来的ERROR多达上万个,我们可以将其打印在一个新的
文件,用more查看
[root@hadoop001 ~]# cat xxx.log | grep -C 5 ERROR > 20200418error.log

[root@hadoop001 ~]# more 20200418error.log  

12. 上传下载

  • 安装工具包

  • 下载 sz 从Linux到windows

  • 上传 rz 从windows到Linux

安装工具包
[root@hadoop001 ~]# yum install -y lrzsz

下载
[root@hadoop001 ~]# sz xxx.log

上传
[root@hadoop001 ~]# sz xxx.log

13. 删除rm(又来一个高危命令,跑路的那种)

千万不要做 rm -rf / 一了百了!!!

[root@hadoop001 ~]# rm 11.log
rm: remove regular file ‘11.log’? y
[root@hadoop001 ~]# rm -f 1.log
[root@hadoop001 ~]# rm -r dir22
rm: remove directory ‘dir22’? y
[root@hadoop001 ~]# rm -rf dir33
[root@hadoop001 ~]# 

14. 环境变量

全局 变量: /etc/profile 所有用户都可以使用
个人变量: ~/.bash_profile 只能是当前用户使用 其他不能使用~/.bashrc 【推荐】
场景:如果将环境变量配置在~/.bash_profile , ssh远程执行B机器,这个命令是找不到的(java command not found ),直接登陆B机器,可以被找到
(which java),所以应该配置在~/.bashrc文件里。

  • 文件生效三个方式
[root@hadoop001 ~]# source ~/.bash_profile(或者是~/.bashrc)

[root@hadoop001 ~]# source /etc/profile

进家目录
[root@hadoop001 ~]# . .bashrc

15. 设置机器名以及ip映射

 [root@Localhost ~]# hostnamectl  hostnamectl set-hostname hadoop001

[root@hadoop001 ~]# vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.0.3 hadoop001

16. 用户,用户组

创建一个普通 用户 用户名称 czy,同时也会创建一个 czy用户组
设置czy用户的组为czy,且把这个czy用户组设置为主组。同时也创建家目录
/home/czy.

[root@hadoop001 ~]# useradd czy
[root@hadoop001 ~]# id czy
uid=1002(czy) gid=1003(czy) groups=1003(czy)

  • 样式丢失:将家目录下所以的.bash*文件删除,再退出重登用户,会出现以下情况:
[root@hadoop001 ~]# su - czy
[czy@hadoop001 ~]$ rm -rf .bash*
[czy@hadoop001 ~]$ exit
logout
[root@hadoop001 ~]# su - czy
Last login: Tue Apr 21 16:11:35 CST 2020 on pts/0
-bash-4.2$ 
-bash-4.2$ 
-bash-4.2$ 

样式恢复:将/etc/skel下所有以.开头的文件全部复制到当前文件夹,再重新登陆一下用户。

-bash-4.2$ cp /etc/skel/.* ./
cp: omitting directory ‘/etc/skel/.’
cp: omitting directory ‘/etc/skel/..’
cp: omitting directory ‘/etc/skel/.mozilla’
-bash-4.2$ exit
logout
[root@hadoop001 ~]# su - czy
Last login: Tue Apr 21 16:11:57 CST 2020 on pts/0
[czy@hadoop001 ~]$ 
  • 添加用户到Bigdata用户组
[root@hadoop001 ~]# usermod -a -G Bigdata czy
[root@hadoop001 ~]# id czy
uid=1002(czy) gid=1003(czy) groups=1003(czy),1002(Bigdata)
[root@hadoop001 ~]# usermod -g Bigdata czy
[root@hadoop001 ~]# id czy
uid=1002(czy) gid=1002(Bigdata) groups=1002(Bigdata)
[root@hadoop001 ~]# usermod -a -G czy czy
[root@hadoop001 ~]# id czy
uid=1002(czy) gid=1002(Bigdata) groups=1002(Bigdata),1003(czy)
[root@hadoop001~]#

17. 切换用户

[root@hadoop001 ~]# su czy

推荐下面的方式,登陆用户直接切换到家目录,且执环境变量文件
[root@hadoop001 ~]# su - czy

18. sudo 普通用户临时使用root的最大权限

编辑/etc/sudoers文件
czy ALL=(root) NOPASSWD:ALL

19. /etc/passwd文件

czy:x:1004:1005::/home/czy:/sbin/nologin 有提示无法登陆
czy:x:1004:1005::/home/czy:/usr/bin/false 无提示

[root@hadoop001 ~]# vi /etc/passwd
[root@hadoop001 ~]# su - czy
Last login: Tue Apr 21 16:14:53 CST 2020 on pts/0
This account is currently not available.
[root@hadoop001 ~]#

[root@hadoop001 ~]# su - czy
Last login: Tue Apr 21 16:38:52 CST 2020 on pts/0
[root@hadoop001 ~]#

20. 权限

[root@hadoop001 ~]# ll
-rw-r--r-- 1 root root 9 Apr 18 20:50 22.log
drwxr-xr-x 2 root root 6 Apr 15 22:12 dir3
第一个字母:d文件夹 -文件 l链接
后面9个字母,3个字母为一组:
rw- r-- r--

r: read 读权限 4
w: write 写权限 2
x: 执行 1
-: 没权限 0 占位

7=4 2 1
5=4 1
6=4 2

rw- 第一组 6 代表文件或文件夹的所属用户,读写权限
r-- 第二组 4 代表文件或文件夹的所属用户组,读权限
r-- 第三组 4 代表其他用户组的用户对这个文件或文件夹,读权限

rw-r--r-- root root 22.log


案例:
[root@hadoop001 tmp]# vi czy.log
www.xxxxxxxxxxxx.com

[czy@hadoop001 tmp]$ cat  czy.log 
www.xxxxxxxxxxxx.com
[czy@hadoop001 tmp]$ 

收回其他组的r权限 
[czy@ruozedata001 tmp]$ cat czy.log 
cat: czy.log: Permission denied
[czy@ruozedata001 tmp]$

21.查看大小

文件: ll -h 、du -sh
文件夹: du -sh

[root@ruozedata001 ~]# ll -h
total 20K
-rw-r--r--. 1 root root   22 Apr 19 23:07 11.log
-rw-------. 1 root root 1.5K Apr 16 14:19 anaconda-ks.cfg
-rw-r--r--. 1 root root 5.0K Apr 19 23:45 cat.log
drwxr-xr-x. 2 root root    6 Apr 20 15:10 dir111

[root@ruozedata001 ~]# du -sh
84K .
[root@ruozedata001 ~]#

22. 常用快捷方式

  • dd 删除当前行
  • dG 删除当前及以下所有行
  • ndd 删除当前及以下n行
  • gg 跳转到第一行的第一个字母
  • G 跳转到最后一行的第一个字母
  • shift+$ 行尾

23. 清空文件

清空补充:

  • cat /dev/null > 1.log
  • echo "" > 2.log

[root@hadoop001 ~]# ll
total 16
-rw-r--r-- 1 root root 0 Apr 19 21:58 1.log
-rw-r--r-- 1 root root 1 Apr 19 21:58 2.log
场景:
shell脚本,数据文件清空操作,根据字节大小判断是否清空完成

echo "" > 2.log
if filezise > 0 then
业务不操作

else
2.log 灌业务数据

注:会继续更新!!!

相关文章

  • 大数据之生产常用Linux命令(1)

    1. 查看当前路径 2. ls查看 2.1 仅显示文件夹、文件名称 2.2 显示额外信息 权限 用户用户组 时间...

  • 大数据技术学习路线

    一、大数据技术基础1、linux操作基础 linux系统简介与安装linux常用命令–文件操作linux常用命令–...

  • iptables命令详解

    linux命令之iptables 1、iptables命令简介 iptables命令是Linux上常用的防火墙软件...

  • Linux 常用命令汇总

    Linux 常用命令0Linux 常用命令1--ls命令 参考 Linux 常用命令汇总

  • 其他

    Git常用命令mac常用命令Linux 常用命令汇总Linux 常用命令0Linux 常用命令1--ls命令

  • 大数据之生产常用Linux命令(2)

    1. 系统检查常用命令 1.1 磁盘 ---df -h 1.2 内存--- free -m 1.3 系统负载--...

  • top命令详解

    linux命令之top 1、top命令简介 top命令是动态查看进程变化,监控linux的系统状况;它是常用的性能...

  • linux的常用命令以及常用工具

    linux的常用命令以及常用工具 大数据的学习难免要做集群,集群难免用到linux,所以总结常用的linux命令,...

  • 基础命令

    # linux 下常用的命令 linux命令参数一般是-缩写,--全名,-参数1参数2,这种方式定义的。命令区分大...

  • Linux---(1)linux常用命令

    Linux---(1)linux常用命令

网友评论

      本文标题:大数据之生产常用Linux命令(1)

      本文链接:https://www.haomeiwen.com/subject/frwzvhtx.html