【linux】日常用的linux命令总结

本文是总结了一些自己日常使用linux系统时会使用到的命令,其中包含了系统、文件,进程,mysql数据库等,和一小部分使用kubeadm搭建K8S集群时用到的一些命令。

系统

系统重启相关

shutdown -r nowreboot 立即重启
shutdown -r 10 10分钟后重启
shutdown -r 08:30 08:30的时候重启
poweroff 关机
内核版本号:

uname -r

内核名称:

uname -s

os版本:

uname -v

os硬件名称 x86-64等:

uname -m

以上所有信息:

uname -a 

文件相关

Uniq :报告文件中重复行
将f1内重复行删除,结果写入f2:

uniq f1 f2

统计f1中相同行重复的次数:

uniq -c f1

WC:统计行数,词数,字符数
打印f1中的行数:

wc -l f1

打印行,词,字符数:

wc f1

Paste:合并多个文件或同一文件连续行
paste f1 f2 f1里的行加到f2的行后,二者用制表符连接,看起来就像是表的两列
rm 从目录删除文件
rm -i *删除当前目录下所有文件,事先询问是否删除
rm -rf data忽略报错信息,逐层删除data下的所有文件和目录

Find 查找文件
删除给定目录下的已“.log” 为结尾的文件:

find . -name "*.log"  | xargs rm -f

将用户主目录下超过30天没有访问的文件移动到/old下,同时打印出名称

find ~ -atime +30 -exec mv { } /old/  \;  -print

其中{ }用来接收各个文件名称
查找当前目录下 ,所有的目录文件:

find .  -type d -print

从当前目录的父目录开始 ,查找所有的file文件,即所有不是目录的文件

find ..  -type  f print 

查找当前目录下,长度超过200字节,最近21天没有被访问过的文件,并询问是否删除:

find . -size +200c -type f -atime +21 -ok rm -f "{ }" \;

不询问:

find . -size +200c -type f -atime +21  rm -f "{ }" \;

查找当前目录下权限为644的文件:

find . -perm 644 -print

打印出root分区下属于用于lili的所有文件名:

find / -user lili xdev -print

打印出当前目录下所有名称为core的文件,同时将报错信息发送到/dev/null:

find . -name core -print 2>/dev/null

Grep:在文件中查找模式
查看f1.txt内包含aa的行,并给出行号:

[root@master2 ~]#grep -n aa f1.txt
7:aa

sed:编辑器
只打印f1的10-20行:

sed -n '10,20p' f1

删除包含john的所有行,并在屏幕上打印余下的行:

sed '/john/d' f1

替换文件f1内root为john:

sed 's/root/john/g' f1

sort 排序或者合并文件
sort -r 逆序排序,默认升序
sort 默认按字母顺序排序
sort -n按数字大小排序
sort -k按选定的列排序
sort -t c按指定的字符分隔

Tail:显示文件尾
默认显示最后10行
显示文件的最后20行:

tail -20

从第10行开始显示文件内容:

tail +10 f1

Tee:复制标准输出
把ls的输出结果写到屏幕和out.txt内:

ls | tee out.txt
date | tee now.txt

Touch:更新文件访问时间或修改时间
创建abc三个文件,如果某个已经存在,则更新修改时间戳:

touch a b c 

Tr:转换字符
删除文件中所有空格:

tr  -d  '  ' < f1.txt  

压缩文件中多个冒号为单个空格:

tr -s ':'  ' ' <f1.txt

所有大写字母替换为小写:

tr '[A-Z]' '[a-z]'  <f1.txt

Umask:设置创建文件时使用的权限模式掩码
显示当前文件权限掩码
文件属性计算:666-026=640
目录属性计算:777-026=751

umask 026

编辑器相关

vim编辑器

编辑模式下:
:wq 保存修改后退出
:q!强行退出不保存修改
:q 没有修改情况下的退出

命令模式下:

d$ 删除至行尾
d^ 删除至非空行首
dd 删除光标所在行
yy 复制光标所在行
p 如果是粘贴整行,会粘贴到光标所在行的下一行,如果粘贴多个字符,会粘到当前字符后
Cc$ 删除当前光标到行尾,并切为插入模式
需要注意的是以上的这些删除,都可以通过p操作来粘贴,这里你也也可以理解为通过p操作来撤回误操作。

磁盘、目录相关

df 查看磁盘利用率
du -S 列出某个目录下的全部数据,减少子目录相加,因为默认是加上子目录的

du -m 查看某一个目录的容量,查看某一个目录的容量,单位KB
du -h查看当前目录各文件占用磁盘大小
du -hd1 查看当前目录下各目录文件大小,层级深度为1
du -ah1 查看所有文件大小,深度为1
LS:列出目录内容
ls -al列出目录下隐藏文件,并以长格式列出文件属性
ls -alF在目录文件末尾加上/,在在可执行脚本末尾加*
MV : 移动或者更名文件
mv t1 t2 train将t1 t2 移动到目录train下

进程相关

kill -signal PID:
kill -1 PID:类似于重启,启动被终止的进程
kill -9 PID: 强制杀死进程,如果进程执行到一半,可能会留下中间文件。
kill -15 PID:以正常流程结束进程,如果进程已经发生一些问题,无法使用正常信号终止时,这个信号是没有用的
kill -2 PID: =cltr+c中断进程的执行
kill -19 PID:=cltr+z 暂停进程的执行

killall:删除所有以之启动的进程,后面可跟进程名,如killall -9 httpd,所有httpd启动的进程都会被删除

ps 查看当前所有进程
ps -ef | grep mysql 过滤出与mysql相关的进程
kill -9 pid 强制停止进程
netstat -na 回车,于是就会显示本机连接情况及打开的端口
netstat -lntp 查看应用运行情况
ss -tnl 查看端口开放情况
lsof 显示所有进程打开的所有文件 9列 输出各列信息的意义如下:

COMMAND:进程的名称
PID:进程标识符
USER:进程所有者
FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等
TYPE:文件类型,如DIR、REG等
DEVICE:指定磁盘的名称
SIZE:文件的大小
NODE:索引节点(文件在磁盘上的标识)
NAME:打开文件的确切名称

在这里插入图片描述
查看开放端口:
netstat -nupl udp端口 l:listen p:pocess n:numeric
netstat -ntpl tcp端口

查看日志

tail -n 10 test.log 查询日志尾部最后10行的日志;
tail -n +10 test.log 查询10行之后的所有日志;
head -n 10 test.log 查询日志文件中的头10行日志;
head -n -10 test.log 查询日志文件除了最后10行的其他所有日志

路径相关

pwd 查看当前所在的路径
cd .. 返回当前目录的上一级目录
cd 返回根目录

mysql相关

1、	创建库	CREATE DATABASE  或SCHEMA  [IF NOT EXISTS] 'DB_NAME';
	删除库 DROP DATABASE 或 SCHEMA [IF EXISTS] 'DB_NAME';删除不可恢复
2、	查看支持的所有字符集:SHOW CHARACTER SET ;
3、	查看支持所有排序规则:SHOW COLLATIONS;
4、	查看所有引擎:SHOW ENGINES;
5、	查看表:SHOW TABLES [FROM db_name];
6、	查看表结构:DESC [db_name.]tb_name;
7、	删除表:
		DROP TABLE [IF_EXISTS] tb_name;
8、Mysql -e 'command'不用进入交互式mysql命令,在命令行就可以运行sql语句
[root@centos7 ~]#mysql -e 'show databases;'
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
9、获取运行中的mysql进程使用各服务器参数及其值,
mysql> show global variables; 管理员权限才可以查看
10、修改表:alter table
11、使用数据库:use testdb;

k8s集群相关

使用kubeadm安装集群时会使用到的命令

$iptables -F 清除所有防火墙规则
$iptables -L 列出所有防火墙规则

$kubeadm token list 查看当前集群有效的token
$kubeadm token generate 重新生成令牌

$kubectl version 查看kubectl版本信息
$kubectl cluster-info 查看集群信息
$kubectl get cs/ns/deployment/pods/nodes /svc 获得集群的cs/ns/deployment/pods/nodes/svc等信息
$kubdctl get pods -o wide 列出pods的详细信息,加-A为全部pods详细信息

$kubectl delete pods/node podname/nodename 删除podname,nodename
$kubeadm init 集群初始化,还需指定以下命令
--control-plane-endpoint 是控制平面的访问端点,可以为IP地址也可以是DNS域名,作用是为管理员或者是集群组件的kubeconfig配置文件的API server的访问地址。 单控制平面时可以不指定此选项
--kubernetes-version 版本信息
--pod-network-cidr pod网络的地址范围,其值是CIDR式的网络地址,flannel网络插件的默认值:10.244.0.0/16,caclio的默认值是192.168.0.0/16.
--service-cidr 10.96.0.0/12 Service网络的地址范围,其值是CIDR式的网络地址,其值默认是10.96.0.0/12,仅flanel一类的网络插件需要手动指定该地址
--apiserver-advertise-address 为API server通告给其他组件的IP地址,一般为master节点用于集群内部通信的ip地址,0.0.0.0表示节点上所有可用地址。
--image-repository registry.cn-hangzhou.aliyuncs.com/google_containers 由于某些原因,指定国内镜像仓库地址速度会比较快
--token-ttl=0 共享令牌的过期时间,默认24h,0为永不过期

$kubeadm join 加入集群,根据是主节点加入,还是worker节点加入,又分为
主节点加入:
类似于kubeadm join 192.168.1.100:6443 --token f9k3a3.c0358ovl103x497u
–discovery-token-ca-cert-hashsha256:21eb54df16efc9e1095c8e3dc1933d44f0f038d16101c2d592c8232034d59e56
–control-plane
–certificate-key 832deebb9830ebaadf1724d4d73ec078a292e35de024a782b444dd27bbd456c3
worker节点加入:
类似于 kubeadm join 192.168.1.100:6443 --token n4rdmb.zrleybnczwluosu5 --discovery-token-ca-cert-hash sha256:3dd7030f0c75aab75877b0fbbb289500c54ae9d33959f7031a02a5e40d3c441d
$kubeadm init phase upload-certs --upload-certs 主节点实现高可用时,在第一个主节点上执行此命令生成其他master加入集群需要的令牌832deebb9830ebaadf1724d4d73ec078a292e35de024a782b444dd27bbd456c3

主节点上有kubectl命令执行权限
$kubectl create deployment demoapp --image=ikubernetes/demoapp:v1.0 --replicas=n 根据镜像创建n个控制器对象(有n个节点),控制器对象名叫demoapp
$kubectl describe ResourceType RescourceName 列出资源类型下资源名的所有信息 ,因资源名只在类型下唯一
$kubectl describe node node01 列出node01的所有信息

$kubectl apply -f xxx.yml 基于配置创建资源
$kubectl delete -f xxx.yml 删除配置创建的资源

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值