学习视频:尚硅谷大数据Linux教程(大数据linux开发)https://www.bilibili/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的三种常见模式
- 正常模式输入/或者:进入命令模式,esc返回
- 正常模式输入i或者a:进入编辑模式,esc返回
1.2 vi和vim快捷键
- 拷贝
- yy,然后p粘贴
- 多行nyy,p粘贴
- 删除
- dd
- 多行ndd
- 查找某个单词
- 一般模式/ 查找单词
- 设置/取消行号
- 一般模式:set nu 取消行号: set nonu
- 跳转到最末行和最首行
- 一般模式最末行:G,最首行:gg
- 撤销动作
- 一般模式u
- 将光标移到所需的行
- 第一步:显示行号
- 第二步:输入20这个数
- 第三步:输入shift+g
- 上翻下翻
- ctrl-f 上翻一页
ctrl-b 下翻一页
2 开机、重启和用户登录注销
- shutdown
- shutdown -h now:表示立即关机
- shutdown -h 1:表示1分钟过后会关机
- shutdown -r now:表示立即重启
-
halt:效果等价于关机
-
reboot:重启服务器
-
sync:把内存数据同步到磁盘上,就是保存用的
- 养成习惯:在执行关机或者重启之前,记得sync
- 注销
logout
3 用户管理
3.1添加用户
- 新增一个用户
- useradd 用户名
- 实例:创建了一个用户hh,并且默认在hh用户组
[root@linux ~]# useradd hh
- 新增一个指定目录的用户
- useradd -d 目录 用户名
- 实例:
[root@linux ~]# useradd -d /home/cat miaomiao
- 给用户指定密码
- passwd 用户名
- 实例
[root@linux ~]# passwd miaomiao
3.2 删除用户
- 删除用户
- userdel 用户名
- 实例
[root@linux ~]# userdel miaomiao
- 连带文件夹一起删除
- 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 切换用户
- su - 用户名(记得-后面还有一个空格)
- 实例
[root@linux ~]# su - zf
上一次登录:日 7月 10 18:07:01 CST 2022pts/2 上
[zf@linux ~]$ exit
登出
- 其他说明
- 注意:当高权限转低权限不需要密码
- 使用exit可以回到原来用户
3.5 查看当前用户/登录用户
- whoami
- 实例
[root@linux ~]# whoami
root
3.6 创建用户组
- groupadd 用户组
- 实例
[root@linux ~]# groupadd fenfen
3.7 删除用户组
- groupdel 用户组
- 实例
[root@linux ~]# groupdelfenfen
3.8 增加用户时候直接加上组
- useradd -g 用户组 用户名
- 实例
[root@linux ~]# useradd -g police fenfen
[root@linux ~]# id fenfen
uid=1010(fenfen) gid=1006(police) 组=1006(police)
3.9 修改用户组
- usermod -g 用户组 用户名
- 实例
[root@linux ~]# usermod -g xq fenfen
[root@linux ~]# id fenfen
uid=1010(fenfen) gid=1002(xq) 组=1002(xq)
3.10 用户和组的配置文件
- 用户配置文件(用户信息)
-
vim/etc/passwd
-
文件内容
- 组用户配置文件(用户信息):/etc/group
- vim /etc/group
- 文件内容
- 口令配置文件(密码和登录相关信息,是加密文件)
- vim /etc/shadow
- 文件内容
4 实用指令
4.1 切换指定运行指令
- init [0123456]
- 实例
[root@linux ~]# init 6
4.2 帮助指引
- man指令
-
man 命令或者配置文件
-
实例
[root@linux ~]# man ls
- help 指令
-
help 命令
-
实例
[root@linux ~]# help cd
4.3 文件目录类
- pwd
- 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 ..
- cd指令
- cd ~ 表示会到家目录
- cd … 返回上一级路径
- 实例
[root@linux home]# cd ~
[root@linux ~]#
[root@linux dog]# pwd
/home/dog
[root@linux dog]# cd ../../root
[root@linux ~]# pwd
/root
- 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
- 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
- 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
- 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
- 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/
- 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
- 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
- more 指令
- more 文件
- 实例
[root@linux home]# more /home/b.txt
-
其他说明
-
more类似于vim的文本编辑器,可以使用快捷键
-
空格是一页一页
-
enter是一行一行
-
ctrl+b 上一页
-
ctrl+f 下一页
-
- less指令
- less 文件
- 实例
[root@linux home]# less b.txt
- 重定向> 追加>>
- ls -la >> 文件名
- cat 文件名 > 文件名
- 实例
[root@linux home]# ls -la >> a.txt
[root@linux home]# cat /etc/profile > b.txt
[root@linux home]# cal >> /home/mycal
- echo指令
- echo “内容”
- 实例
[root@linux home]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
- head指令
- head 文件
- head -n 5 文件 查看文件前5行
- 实例
[root@linux home]# head /etc/profile
[root@linux home]# head -n 5 /etc/profile
- tail指令
- tail 文件
- tail -f 文件 实时追踪该文档的所有更新,工作中常用与日志的监控
- 实例
- ln指令
- ln -s 文件/目录 软链接名
- 实例:在/home目录下创建一个linkRoot,连接到/root目录 类似于windows的快捷键
[root@linux ~]# ln -s /etc linkToRoot
- history指令
- history
- history 10
- !5 执行历史编号为5的指令
- 实例
[root@linux ~]# history
[root@linux ~]# history | more
[root@linux ~]# !5
cd /home
- 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
- 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
- locate 指令
- 两步走
- updatedb 创建locate数据库先
- locate 文件名
- 实例
[root@linux ~]# updatedb
[root@linux ~]# locate b.txt
/home/b.txt
/home/animal/zebra/b.txt
- 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
- gzip/gunzip指令
-
gzip 文件 压缩成*.gz文件 不会保留原文件
-
gunzip 文件.gz 解压缩命令
-
实例
[root@linux home]# gzip hi.txt
[root@linux home]# gunzip hi.txt.gz
- 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
- 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 普通任务调度
- crontab -e
- 实例
- crontab -e
[root@hadoop ~]# crontab -e
- 脚本内容
*/1 * * * * ls -l /etc > /tpm/to.txt
- 查看目标文件
[root@hadoop ~]#more /tpm/to.txt
6.2 shell脚本调度
- crontab -e
- 实例
- 创建一个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 分区与挂载卸载
- 查看硬盘的指令
-
lsblk
-
lsblk -f
-
实例
例如上图,第一个分区时挂载上了/boot下面,作为引导的分区,第三个分区是swap分区,第二个分区:余下的17.8G直接挂载给了根目录
- 增加一个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 磁盘情况查询
- 整体磁盘使用状况
- 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% /
- 指定目录磁盘状况
-
du -ach /目录
-
实例
[root@hadoop tmp]# du -ach --max-depth=1 /opt
0 /opt
0 total
- 统计文件/目录个数
- 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
- 以树状显示目录结构
- tree
- 实例
[root@hadoop ~]# tree
.
├── anaconda-ks.cfg
├── app
│ └── weather-query-service
├── apple.txt
└── tmp
├── a.txt
└── b.txt
3 directories, 4 files
更多推荐
大数据Linux必知必会 -01
发布评论