【Linux】常用操作
一些命令常用的必须得记住,不常用的忘了后续再翻翻。
查看系统型号环境相关
lscpu
- 用来查看cpu底层架构,比如是否为x86和arm架构这些
- 还可以获取cpu核数
lsblk
- 用于查看当前服务器中挂载上以及没有挂载上的磁盘
free -h
- 用于查看当前系统的内存状况
df -h
- 用于查看当前系统硬盘情况
统计Linux中文件夹的大小
1 | du -sh /path/to/folder |
其中:
du是用于显示文件或文件夹的磁盘使用情况的命令。-s选项表示只显示总和。-h选项表示以人类可读的格式显示结果,例如以KB、MB、GB等单位。
将上述命令中的/path/to/folder替换为你要统计的文件夹的实际路径。
执行命令后,会显示该文件夹的总大小。例如,输出可能是 2.3G /path/to/folder,表示文件夹的总大小为2.3GB。
awk命令统计文件大小
其实通过awk命令可以实现按列求和的功能,但是如果将awk和du命令结合,不就可以统计的时候实现求和了吗
有如下a.txt文件
1
2
3 123.53 demo.py
125.54 demo1.py
126.36 demo2.py
cat命令结合awk命令($1代表第一列)
cat a.txt | awk ‘{sum += $1};END {print sum}’
对符合某些条件的行,按列求和
文件格式
1
2
3
4
5 aaa 200
bbb 300
aaa 200
ccc 100
aaa 200命令:awk ‘/aaa/ {sum += $2};END {print sum}’
du -s 命令结合awk命令(其实我也不知道awk的使用场景居然是这么广泛,三剑客不是吹的)
- 使用场景:统计某一天的数据量大小,但是这个每一天数据是分散的,如/data/log/query_id/rule_id/日期
- du -s | awk ‘{sum += $1};END {print sum}’
在Linux文件中查找
这个是真的常用!这应该是属于vim相关的命令的。
直接vim 文件名,比如我要找一个人名,就直接
/xiaowei
Linux查看文件的编码格式
vim 打开文件后,使用命令
set fileencoding来查看文件的编码。
crontab的常用命令
crontab -e 编辑定时任务
crontab -l 查看定时任务
1
2
3
4
5
6
7
8 在每小时的第 0 分钟时运行 /path/to/your/command 这个命令
0 * * * * /path/to/your/command
在每天0点0分执行 /path/to/your/command 这个命令
0 0 * * * /path/to/your/command
每隔5分钟执行一次脚本script.sh
*/5 * * * * /home/user/scripts/script.sh
* * * * *:每分钟运行一次任务。0 * * * *:每小时的整点运行一次任务。0 0 * * *:每天的午夜(00:00)运行一次任务。30 8 * * 1-5:每周一至周五的早上 8:30 运行一次任务。每个字段可以使用以下几种方式来指定取值:
- 单个值:例如
5表示具体的某个分钟、小时、日期、月份或星期几。- 逗号分隔的值:例如
1,15,30表示多个具体的分钟、小时、日期、月份或星期几。- 连续范围:例如
1-5表示一个连续的范围,包括起始值和结束值。- 通配符:使用
*表示所有可能的取值。
检索整个文件系统的文件
比如我想在根目录下查找start-all.sh这个文件。
1
2 格式为 find 路径 文件名换
find / -name start-all.sh
压缩文件到指定目录下
除了熟知的tar命令,也可以使用zip命令来压缩文件和解压缩文件!
压缩并指定目录
zip -r /home/xl/demo.zip /data/log/42251解压并指定目录
unzip /home/xl/demo.zip -d /home/xl
scp命令详解
- 拷贝普通文件到指定服务器的某个目录下:
scp file.txt 10.x.x.x:/root/demo/- 如果之前没有做免密登录的话,会让你输入密码
- 免密登录:ssh-keygen ssh-copy
- 在本地服务器拉取远端服务器的文件
- 使用Paramiko组件
- ssh user@192.168.88.161 “scp a.txt 192.168.88.162:/root/“
- 这种方式可能会不成功(测试过),让输入密码的说,做了 免密登录也不行。
HDFS上传文件
hdfs dfs -put /export/software/aaa.tar.gz -d /user/hive/warehouse
批量杀死进程
一般杀死进程就是
ps -ef|grep python3查找到需要杀死进程的pid,然后kill掉,但是如果有多个进程,则很难这样一个一个找pid
于是就有了批量杀死进程
1 | ps -ef|grep 进程名 |awk '{print $2}' |xargs kill -9 |
Linux中的挂盘
学习Linux只要手里有个笔就能学的不错,就是记录成方便查阅的文档的说。
挂盘的方法基本都是固定的,
- 如果是虚拟机的话,首先创建一个虚拟磁盘文件,然后跑如下命令。
- 如果不是虚拟机,就需要将物理磁盘挂载到机器上。
实际操作步骤
1 | pvcreate /dev/vdb |
用户权限相关
1 | 添加用户组 |



