大数据Linux必知必会 -01

学习视频:尚硅谷大数据Linux教程(大数据linux开发)https://www.bilibili.com/video/BV1ZW411k7Qh?spm_id_from=333.337.search-card.all.click&vd_source=bf4eb9e00649104ee4ec443e363be4b6

1 Vm和Vim的编辑器常用命令

​ 1.1 vi和vim的三种常见模式

​ 1.2 vi和vim快捷键

2 开机、重启和用户登录注销

3 用户管理

​ 3.1添加用户

​ 3.2 删除用户

​ 3.3 查询用户信息

​ 3.4 切换用户

​ 3.5 查看当前用户/登录用户

​ 3.6 创建用户组

​ 3.7 删除用户组

​ 3.8 增加用户时候直接加上组

​ 3.9 修改用户组

​ 3.10 用户和组的配置文件

4 实用指令

​ 4.1 切换指定运行指令

​ 1.init指令

​ 4.2 帮助指引

​ 1.man指令

​ 2.help 指令

​ 4.3 文件目录类

​ 1.pwd

​ 2.ls指令、

​ 3.cd指令

​ 4.mkdir指令

​ 5.rmdir 指令

​ 6.touch指令

​ 7.cp指令

​ 8.rm指令

​ 9.mv指令

​ 10.cat指令

​ 11.more 指令

​ 12.less指令

​ 13.重定向> 追加>>

​ 14.echo指令

​ 15.head指令

​ 16.tail指令

​ 17.ln指令

​ 18.history指令

​ 19.date/cal 指令

​ 20.find 指令

​ 21.locate 指令

​ 22.grep指令

​ 23.gzip/gunzip指令

​ 24.zip/unzip指令

​ 25.tar指令

5 组管理和权限管理

​ 5.1 查看文件的所有者和归属组

​ 5.2 修改文件/目录所有者

​ 5.3 组的创建

​ 5.4 修改文件/目录所在组

​ 5.5 修改权限

6 定时任务调度

​ 6.1 普通任务调度

​ 6.2 shell脚本调度

7 Linux磁盘分区、挂载

​ 7.1 分区与挂载卸载

​ 1.查看硬盘的指令

​ 2.增加一个2G硬盘的实用案例

​ 7.2 磁盘情况查询

​ 1.整体磁盘使用状况

​ 2.指定目录磁盘状况

8 网络配置

​ 8.1 静态ip设置

​ 8.2 修改linux主机名

​ 8.3 windows下通过主机名来连接虚拟机
9 进程管理

​ 9.1 查看进程

​ 1.查看进程执行

​ 2.查看父进程

​ 3.以树状形式显示进程

​ 9.2 终止进程

​ 9.3 服务管理

​ 1.查看与修改防火墙情况

​ 2.(了解)用windows查看linux的端口监听情况

​ 3.查看自启动列表

​ 9.4 监控服务

​ 1.动态监控进程top

​ 2.查看系统网络情况

10 RPM包和YUM包管理

​ 10.1 rpm包的管理

​ 1.rpm包的查看

​ 2.rpm包的卸载

​ 3.rpm包的安装

​ 10.2 YUM包

1 Vm和Vim的编辑器常用命令

1.1 vi和vim的三种常见模式

  1. 正常模式输入/或者:进入命令模式,esc返回
  2. 正常模式输入i或者a:进入编辑模式,esc返回
    在这里插入图片描述

1.2 vi和vim快捷键

  1. 拷贝
  • yy,然后p粘贴
  • 多行nyy,p粘贴
  1. 删除
  • dd
  • 多行ndd
  1. 查找某个单词
  • 一般模式/ 查找单词
  1. 设置/取消行号
  • 一般模式:set nu 取消行号: set nonu
  1. 跳转到最末行和最首行
  • 一般模式最末行:G,最首行:gg
  1. 撤销动作
  • 一般模式u
  1. 将光标移到所需的行
  • 第一步:显示行号
  • 第二步:输入20这个数
  • 第三步:输入shift+g
  1. 上翻下翻
  • ctrl-f 上翻一页
    ctrl-b 下翻一页

2 开机、重启和用户登录注销

  1. shutdown
  • shutdown -h now:表示立即关机
  • shutdown -h 1:表示1分钟过后会关机
  • shutdown -r now:表示立即重启
  1. halt:效果等价于关机

  2. reboot:重启服务器

  3. sync:把内存数据同步到磁盘上,就是保存用的

  • 养成习惯:在执行关机或者重启之前,记得sync
  1. 注销

​ logout

3 用户管理

3.1添加用户

  1. 新增一个用户
  • useradd 用户名
  • 实例:创建了一个用户hh,并且默认在hh用户组
[root@linux ~]# useradd hh
  1. 新增一个指定目录的用户
  • useradd -d 目录 用户名
  • 实例:
[root@linux ~]# useradd -d /home/cat miaomiao
  1. 给用户指定密码
  • passwd 用户名
  • 实例
[root@linux ~]# passwd miaomiao

3.2 删除用户

  1. 删除用户
  • userdel 用户名
  • 实例
[root@linux ~]# userdel miaomiao
  1. 连带文件夹一起删除
  • userdel -r 用户名
  • 实例
[root@linux ~]# userdel -r miaomiao

3.3 查询用户信息

  • id 用户名
  • 实例
[root@linux home]# id xq
uid=1002(xq) gid=1006(police) 组=1006(police)

3.4 切换用户

  1. su - 用户名(记得-后面还有一个空格)
  2. 实例
[root@linux ~]# su - zf
上一次登录:日 7月 10 18:07:01 CST 2022pts/2 上
[zf@linux ~]$ exit
登出
  1. 其他说明
  • 注意:当高权限转低权限不需要密码
  • 使用exit可以回到原来用户

3.5 查看当前用户/登录用户

  1. whoami
  2. 实例
[root@linux ~]# whoami
root

3.6 创建用户组

  1. groupadd 用户组
  2. 实例
[root@linux ~]# groupadd fenfen

3.7 删除用户组

  1. groupdel 用户组
  2. 实例
[root@linux ~]# groupdelfenfen

3.8 增加用户时候直接加上组

  1. useradd -g 用户组 用户名
  2. 实例
[root@linux ~]# useradd -g police fenfen
[root@linux ~]# id fenfen
uid=1010(fenfen) gid=1006(police) 组=1006(police)

3.9 修改用户组

  1. usermod -g 用户组 用户名
  2. 实例
[root@linux ~]# usermod -g xq fenfen
[root@linux ~]# id fenfen
uid=1010(fenfen) gid=1002(xq) 组=1002(xq)

3.10 用户和组的配置文件

  1. 用户配置文件(用户信息)
  • vim/etc/passwd

  • 文件内容

在这里插入图片描述

  1. 组用户配置文件(用户信息):/etc/group
  • vim /etc/group
  • 文件内容

在这里插入图片描述

  1. 口令配置文件(密码和登录相关信息,是加密文件)
  • vim /etc/shadow
  • 文件内容

在这里插入图片描述

4 实用指令

4.1 切换指定运行指令

  1. init [0123456]
  2. 实例
[root@linux ~]# init 6

4.2 帮助指引

  1. man指令
  • man 命令或者配置文件

  • 实例

[root@linux ~]# man ls
  1. help 指令
  • help 命令

  • 实例

[root@linux ~]# help cd

4.3 文件目录类

  1. pwd
  2. ls指令
  • ls -a 文件或目录 显示包括隐藏的所有文件

  • ls -l 文件或目录 以列表方式

  • ls -la 文件或目录 以列表方式并且显示隐藏的文件

  • 实例

[root@linux home]# ls -l /home
-rwxr-xr-x.  1 root     root            0 7月  16 17:16 abc.txt
[root@linux home]# ls -a /home
.        animal  ccc    fenfen  hi.txt    jerry  mycal          mytask2.sh  orange.txt  
..       a.txt   c.txt  fox     info.txt  kkk    mypackage.zip  newdisk     tom         
[root@linux home]# ls -la /home
drwxr-xr-x. 17 root     root         4096 7月  23 20:45 .
dr-xr-xr-x. 18 root     root         4096 7月   7 10:31 ..
  1. cd指令
  • cd ~ 表示会到家目录
  • cd … 返回上一级路径
  • 实例
[root@linux home]# cd ~
[root@linux ~]# 

[root@linux dog]# pwd
/home/dog
[root@linux dog]# cd ../../root
[root@linux ~]# pwd
/root
  1. mkdir指令
  • mkdir 目录

  • mkdir -p 多级目录

  • 实例

[root@linux ~]# mkdir /home/happy/
[root@linux happy]# cd /home/
[root@linux home]# ls
abc.txt  b.txt  dog     happy   info.txt  kkk    mypackage.zip  newdisk     tom  zwj
[root@linux home]# mkdir -p /home/unhappy/noreason/
[root@linux home]# cd /home/unhappy/
[root@linux unhappy]# ls
noreason
  1. rmdir 指令
  • rmdir 目录
  • rmdir -rf 目录 如果目录下有内容无法级联删除
  • 实例
[root@linux unhappy]# rmdir /home/happy

[root@linux home]# rmdir /home/unhappy
rmdir: 删除 "/home/unhappy" 失败: 目录非空
[root@linux home]# rm -rf /home/unhappy
  1. touch指令
  • touch 文件名称
  • touch 文件名称1 文件名称2
[root@linux home]# touch 1.txt 3.txt
[root@linux home]# ls
1.txt    animal  ccc    fenfen  hi.txt    jerry  mycal   3.txt
  1. cp指令
  • cp source dest
  • cp -r source dest
  • 实例
[root@linux home]# cp animal/ kkk/
cp: 略过目录"animal/"
[root@linux home]# cp -r animal/ kkk/
[root@linux home]# cd kkk/
[root@linux kkk]# ls
animal  a.txt  b.txt
  1. rm指令
  • rm -r 文件 递归删除
  • rm -f 文件 强制删除不提醒
  • rm -rf 文件 递归不提醒删除
  • 实例
[root@linux kkk]# rm c.txt
rm:是否删除普通空文件 "c.txt"?y


[root@linux kkk]# rm -f d.txt
[root@linux kkk]# ls
animal  a.txt  b.txt


[root@linux kkk]# rm animal
rm: 无法删除"animal": 是一个目录
[root@linux kkk]# rm -rf animal/
  1. mv指令
  • 重命名:mv 原先的文件名 新的文件名
  • 移动文件:mv 移动文件所在的文件夹 移动文件名 目标文件夹
  • 实例
[root@linux kkk]# mv a.txt c.txt
[root@linux kkk]# ls
b.txt  c.txt


[root@linux home]# mv a.txt /root/
[root@linux home]# cd /root
[root@linux ~]# ls
abc              apple.txt  initial-setup-ks.cfg  公共  视频  文档  音乐
anaconda-ks.cfg  a.txt      pig.txt  
  1. cat指令
  • cat 文件名
  • cat -n 文件名 显示行号的查看文件
  • cat -n
  • 实例
[root@linux home]# cat b.txt


[root@linux home]# cat -n b.txt
     1	总用量 32
     2	drwxr-xr-x.  3 root  root    4096 7月  10 21:27 animal

[root@linux home]# cat -n b.txt | more
  1. more 指令
  • more 文件
  • 实例
[root@linux home]# more /home/b.txt
  • 其他说明

    • more类似于vim的文本编辑器,可以使用快捷键

    • 空格是一页一页

    • enter是一行一行

    • ctrl+b 上一页

    • ctrl+f 下一页

  1. less指令
  • less 文件
  • 实例
[root@linux home]# less b.txt
  1. 重定向> 追加>>
  • ls -la >> 文件名
  • cat 文件名 > 文件名
  • 实例
[root@linux home]# ls -la >> a.txt
[root@linux home]# cat /etc/profile > b.txt
[root@linux home]# cal >> /home/mycal
  1. echo指令
  • echo “内容”
  • 实例
[root@linux home]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
  1. head指令
  • head 文件
  • head -n 5 文件 查看文件前5行
  • 实例
[root@linux home]# head /etc/profile

[root@linux home]# head -n 5 /etc/profile
  1. tail指令
  • tail 文件
  • tail -f 文件 实时追踪该文档的所有更新,工作中常用与日志的监控
  • 实例

在这里插入图片描述

  1. ln指令
  • ln -s 文件/目录 软链接名
  • 实例:在/home目录下创建一个linkRoot,连接到/root目录 类似于windows的快捷键
[root@linux ~]# ln -s /etc linkToRoot
  1. history指令
  • history
  • history 10
  • !5 执行历史编号为5的指令
  • 实例
[root@linux ~]# history
[root@linux ~]# history | more
[root@linux ~]# !5
cd /home
  1. date/cal 指令
  • date
    • date:显示当前日期
    • date +%Y:显示当前年份
    • date +%m:显示当前月份
    • date +%d:显示当前是哪一天
    • date "+%Y-%m-%d %H:%M:%S“显示年月日时分秒
    • date -s “字符串时间” 设置时间
  • cal 年
  • 实例
[root@linux home]# date +%m
07

[root@linux home]# date "+%Y-%m-%d %H:%M:%S"
2022-07-24 08:47:15

[root@linux home]# date -s "2022-07-24 16:51:05"
2022年 07月 24日 星期日 16:51:05 UTC

[root@linux home]# cal
      七月 2022     
日 一 二 三 四 五 六
                1  2
 3  4  5  6  7  8  9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31


[root@linux home]# cal 2022
  1. find 指令
  • find 搜索范围 -name 文件名 按指定名字搜索
  • find 搜索范围 -user 用户名 按拥有者查找
  • find 搜索范围 -size 文件大小 按照文件大小查找 大于+,小于-
  • 实例
[root@linux home]# find /home/ -name b.txt 
/home/animal/zebra/b.txt
/home/kkk/b.txt
/home/b.txt


[root@linux ~]# find /opt/ -user root

[root@linux ~]# find / -size +20M
/usr/lib/firmware/liquidio/lio_23xx_vsw.bin
/usr/lib64/libicudata.so.50.2
  1. locate 指令
  • 两步走
    • updatedb 创建locate数据库先
    • locate 文件名
  • 实例
[root@linux ~]# updatedb

[root@linux ~]# locate b.txt
/home/b.txt
/home/animal/zebra/b.txt

  1. grep指令
  • grep 筛选的内容
  • grep -n 筛选的内容 显示行号
  • grep -i 筛选的内容 忽略字母大小
[root@linux home]# cat hi.txt | grep hello
hello
hello1
hello2
[root@linux home]# cat hi.txt | grep -n hello
1:hello
2:hello1
3:hello2
[root@linux home]# cat hi.txt | grep -i hello
hello
hello1
hello2
HELLO4
  1. gzip/gunzip指令
  • gzip 文件 压缩成*.gz文件 不会保留原文件

  • gunzip 文件.gz 解压缩命令

  • 实例

[root@linux home]# gzip hi.txt

[root@linux home]# gunzip hi.txt.gz
  1. zip/unzip指令
  • zip -r xxx.zip 目录 递归压缩目录
  • unzip -d 目录 指定解压后文件的存放目录
  • 实例
[root@linux home]# zip -r mypackage2.zip /etc/*

[root@linux home]# unzip -d /opt/tpm mypackage2.zip 
[root@linux tpm]# cd ..
[root@linux opt]# ls
666.txt  rh  tpm
  1. tar指令
  • tar -zcvf xxx.tar.gz 文件或目录 压缩

  • tar -zxvf xxx.tar.gz -C 目录 解压文件到指定目录

  • 实例

[root@linux home]# tar -zcvf hic.tar.gz  hi.txt c.txt 
hi.txt
c.txt
[root@linux home]# ls
abc.txt  ccc    fenfen  hic.tar.gz  jack   linux           mypackage.zip  newdisk     tom  zwj


[root@linux home]# tar -zcvf myhome.tar.gz /home
[root@linux home]# ls
b.txt    dog    hh      info.txt    kkk    myhome.tar.gz

[root@linux home]# tar -zxvf hic.tar.gz -C /opt/tpm
hi.txt
c.txt
[root@linux home]# cd /opt/tpm
[root@linux tpm]# ls
c.txt  hi.txt 

5 组管理和权限管理

5.1 查看文件的所有者和归属组

  • ls -ahl
  • 实例 :第一个fenfen是用户 第二个happy是用户组
[root@hadoop ~]# groupadd happy
[root@hadoop ~]# useradd -g happy fenfen
[root@hadoop ~]# cd /home
[root@hadoop home]# ls
fenfen  hadoop

[fenfen@hadoop ~]$ touch ok.txt
[fenfen@hadoop ~]$ ls -ahl
total 12K
drwx------  2 fenfen happy  76 Jul 25 03:49 .
drwxr-xr-x. 4 root   root   34 Jul 25 03:47 ..
-rw-r--r--  1 fenfen happy  18 Oct 31  2018 .bash_logout
-rw-r--r--  1 fenfen happy 193 Oct 31  2018 .bash_profile
-rw-r--r--  1 fenfen happy 231 Oct 31  2018 .bashrc
-rw-r--r--  1 fenfen happy   0 Jul 25 03:49 ok.txt

5.2 修改文件/目录所有者

  • chown 用户名 文件名/目录
  • chown -R 所有者 目录 可以使用-R递归生效,更换目录所有者
  • 实例
[root@hadoop ~]# touch apple.txt
[root@hadoop ~]# chown hadoop apple.txt 
[root@hadoop ~]# ls -ahl
total 36K
dr-xr-x---.  3 root   root  179 Jul 25 04:06 .
-rw-r--r--   1 hadoop root    0 Jul 25 04:06 apple.txt

[root@hadoop tmp]# chown -R hadoop /root/tmp  
[root@hadoop tmp]# ls -ahl
total 0
drwxr-xr-x  2 hadoop root  32 Jul 25 04:14 .
dr-xr-x---. 4 root   root 190 Jul 25 04:13 ..
-rw-r--r--  1 hadoop root   0 Jul 25 04:13 a.txt
-rw-r--r--  1 hadoop root   0 Jul 25 04:14 b.txt

5.3 组的创建

  • groupadd 用户组
  • 实例
[root@hadoop ~]# groupadd happy
[root@hadoop ~]# useradd -g happy fenfen

5.4 修改文件/目录所在组

  • chgrp 组名 文件名
  • chgrp -R 组名 目录
  • 实例
[root@hadoop tmp]# chgrp happy a.txt
[root@hadoop tmp]# ls -l
total 0
-rw-r--r-- 1 hadoop happy 0 Jul 25 04:13 a.txt

[root@hadoop ~]# chgrp -R happy /root/tmp
[root@hadoop ~]# ls -l  /root/tmp
total 0
-rw-r--r-- 1 hadoop happy 0 Jul 25 04:13 a.txt
-rw-r--r-- 1 hadoop happy 0 Jul 25 04:14 b.txt

5.5 修改权限

  • 文字规则:+,-,=变更权限,u代表所有者 g表示所有组 o表示其他人 a表示所有人(u,go的总和)

  • chmod u = rwx ,g = r,o = x 文件目录名

  • chmod o+w 文件目录名

  • chomd a-x 文件目录名

  • 数字规则:r = 4, w = 2,x = 1 rwx = 7

  • chmod u751

  • 案例

[root@hadoop tmp]# ll
total 0
-rw-r--r-- 1 hadoop happy 0 Jul 25 04:13 a.txt
-rw-r--r-- 1 hadoop happy 0 Jul 25 04:14 b.txt
[root@hadoop tmp]# chmod u=rwx,g=rx,o=rx a.txt
[root@hadoop tmp]# ll
total 0
-rwxr-xr-x 1 hadoop happy 0 Jul 25 04:13 a.txt


[root@hadoop tmp]# ll
total 0
-rwxr-xr-x 1 hadoop happy 0 Jul 25 04:13 a.txt
-rw-r--r-- 1 hadoop happy 0 Jul 25 04:14 b.txt
[root@hadoop tmp]# chmod u-x,g+w a.txt
[root@hadoop tmp]# ll
total 0
-rw-rwxr-x 1 hadoop happy 0 Jul 25 04:13 a.txt


[root@hadoop tmp]# ll
total 0
-rw-rwxr-x 1 hadoop happy 0 Jul 25 04:13 a.txt
-rw-r--r-- 1 hadoop happy 0 Jul 25 04:14 b.txt
[root@hadoop tmp]# chmod 755 b.txt
[root@hadoop tmp]# ll
total 0
-rw-rwxr-x 1 hadoop happy 0 Jul 25 04:13 a.txt
-rwxr-xr-x 1 hadoop happy 0 Jul 25 04:14 b.txt

6 定时任务调度

6.1 普通任务调度

  1. crontab -e
  2. 实例
  • crontab -e
[root@hadoop ~]# crontab -e
  • 脚本内容
*/1 * * * * ls -l /etc > /tpm/to.txt
  • 查看目标文件
[root@hadoop ~]#more  /tpm/to.txt

6.2 shell脚本调度

  1. crontab -e
  2. 实例
  • 创建一个shell脚本
[root@hadoop home]# vim mytask1.sh
  • 写入脚本内容
 date >> /tmp/mydate  
  • 给脚本一个可执行权限
[root@hadoop home]# chmod 744 mytask1.sh
  • crontab -e
[root@hadoop home]# crontab -e
  • 输入调度内容
*/1 * * * *  /home/mytask1.sh 
  • 查看目标文件
more /home/mytask1.sh 

7 Linux磁盘分区、挂载

7.1 分区与挂载卸载

  1. 查看硬盘的指令
  • lsblk

  • lsblk -f

  • 实例

在这里插入图片描述

在这里插入图片描述

例如上图,第一个分区时挂载上了/boot下面,作为引导的分区,第三个分区是swap分区,第二个分区:余下的17.8G直接挂载给了根目录

  1. 增加一个2G硬盘的实用案例
  • 添加硬盘:在虚拟机设置下添加2G的硬盘
  • 设置分区: fdisk /dev/sbd

在这里插入图片描述

在这里插入图片描述

  • 格式化: mkfs -t ext4 /dev/sdb1

在这里插入图片描述

  • 正式挂载:挂载mount 设备名 挂载目标目录 即mount /dev/sdb1 /home/newdisk

在这里插入图片描述

  • 永久挂载

    • 编辑vim /etc/fstab中,里面记录了分区以及挂载点的情况
      在这里插入图片描述

    • 生效:mount -a生效

  • 如不需要可卸载 umount /dev/sdb1

在这里插入图片描述

7.2 磁盘情况查询

  1. 整体磁盘使用状况
  • df -l 或者df -lh
  • 实例
[root@hadoop tmp]# d -l
Filesystem              1K-blocks    Used Available Use% Mounted on
/dev/mapper/centos-root  17811456 4720256  13091200  27% /
[root@hadoop tmp]# df -lh
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   17G  4.6G   13G  27% /
  1. 指定目录磁盘状况
  • du -ach /目录

  • 实例

[root@hadoop tmp]# du -ach --max-depth=1 /opt
0	/opt
0	total
  1. 统计文件/目录个数
  • ls -l /home | grep “^d” | wc -l 统计目录个数
  • ls -lR /home | grep “^-” | wc -l 包含子文件统计文件个数
  • 实例
[root@hadoop tmp]# ls -l /home | grep "^d" | wc -l
2
[root@hadoop tmp]# ls -lR /home | grep "^-" | wc -l
9699
  1. 以树状显示目录结构
  • tree
  • 实例
[root@hadoop ~]# tree
.
├── anaconda-ks.cfg
├── app
│   └── weather-query-service
├── apple.txt
└── tmp
    ├── a.txt
    └── b.txt

3 directories, 4 files
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值