Linux

基础命令
软件包管理
压缩和解压缩
远程连接
文件操作
花式读(文件)
进程操作
Linux信息
系统服务

基础命令

TAB键---自动补全
管道符(|):将前一个命令的输出作为下一个命令的输入
文件通配符(*):*.log
输入出重定向:linux内置文件描述符
/dev/fd/0:stdin,标准输入
/dev/fd/1:stdout,标准输出
/dev/fd/2:stderr,标准错误输出
重定向服务:
>:将输出写到文件,文件不存在会创建,文件存在会覆盖
>>:将输出写到文件,文件不存在会创建,文件存在会追加
输出重定向:
标准输出到文件:
wc -l app.log > app-wc.txt
标准错误输出到文件:
curl https://dddd.com 2> curl-error.log
curl https://dddd.com 2>> curl-error.log
标准错误输出转标准输出:
curl https://dddd.com 2>&1
文件内容作为输入:
grep 'abc' < app.log
环境变量:环境变量提供了参数和环境信息
env
查看环境变量值:echo $PATH
命令换行(用\换行):
$ docker run \
--name test \
--rm \
-p 8080:80 \
-e foo=test \
alpine:3.9

软件包管理

yum repolist 列出仓库清单
yum makecache 更新本地软件元信息
yum install <pkg> <pkg> ... 安装软件
yum remove <pkg> <pkg> ...
yum search <keyword>压缩:
tar -cjvf foo.tar.bz2 *.log dir1 dir2
tar -czvf foo.tar.gz *.log dir1 dir2
zip foo.zip *.log dir1 dir2解压缩:
$ tar -xvf foo.tar.bz2
$ tar -xvf foo.tar.gz
$ tar -xvf foo.tar
unzip foo.zip
小知识:jar、war、apk 都是 ZIP 格式的

远程连接

ssh root@192.168.0.1
ssh -p 2222 root@192.168.0.1
远程拷贝:
scp -r dir1 root@192.168.0.1:/root/
scp -r root@192.168.0.1:/root/dir1
scp 1.log 2.log root@192.168.0.1:/root/
#将本地ssl文件夹传输到远程主机的opt下
scp -r root@192.168.3.1:/opt/ssl /opt

文件操作

复制文件/目录
$ cp app.log app1.log        # 复制文件同时改名$ cp app.log ./dir1/         # 复制文件到指定目录下$ cp app.log ./dir1/app1.log # 复制文件同时改名
$ cp -r dir1 ./dir2          # 复制目录同时改名
$ cp -r dir1 ./foo/          # 复制目录到指定目录下
$ cp -r dir1 ./foo/dir2      # 复制目录到指定目录下同时改名删除文件/目录
$ rm -f file1 file2 file3    # 删除多个文件$ rm -f *.log                # 删除多个文件(通配符)
$ rm -rf ./dir1              # 删除目录移动文件/目录
$ mv 1.log ./dir1/         # 移动文件到指定目录下
$ mv 1.log 2.log ./dir1/   # 移动多个文件到指定目录下
$ mv 1.log dir1 ./dir2/    # 移动文件和目录到指定目录下改名文件/目录
$ mv 1.log 2.log           # 修改文件名$ mv 1.log ./dir1/2.log    # 移动文件到指定目录下并改名
$ mv dir1 dir2             # 修改目录名
$ mv dir1 ./foo/dir2       # 移动目录到指定目录下并改名新建空文件:touch test.log
新建目录:
mkdir dir1
mkdir -p dir1/dir2/dir3    # 一次性创建目录层级根据名字查找文件/目录:find . -name '*app*'
只找目录
:find . -name '*app*' -type d
只找文件
:find . -name '*app*' -type f
找空目录
:find . -empty

花式读(文件)

花式读:cat / less / more
cat 打印(一堆)文件:cat 1.log 2.log 3.log
less 可上下滚动的浏览:cat 1.log 2.log 3.log | lessmore 只能向下滚动的浏览:
cat 1.log 2.log 3.log | more
more app.log向下:j
下页:d / 空格
向上:k (less)
上页:u (less)计算行数:
cat 1.log 2.log | wc -l
计算字数(空格分割)
:cat 1.log 2.log | wc

进程操作

列出所有进程:ps aux | head
进程状态
S:Sleep
R:运行或在运行队列中
Z:僵尸进程
杀死进程: kill <pid>top:查看服务运行情况,CPU使用情况:us 用户态、sy 内核态、id 空闲、wa I/O等待
内存使用情况看某个进程的情况:top -p <pid>

Linux信息

启动时长:uptime
查看ip地址:ifconfig / ip addr
host解析和DNS解析:cat /etc/hosts ; cat /etc/resolv.conf
发行版和内核信息:cat /etc/centos-release ; uname -a
cpu信息:cat /proc/cupinfo
内存信息:free -mh
磁盘信息:df -h
查看磁盘占用情况:du -sh * ; du --max-depth=1 -h
服务器内核参数:sysctl -a
内核参数配置文件:cat /etc/sysctl.conf
加载内存配置文件:sysctl -p
服务器资源配额:ulimit -a
修改资源配额文件:vi /etc/security/limits.conf

系统服务

系统服务
列出 systemd 中正在运行的 service:systemctl | grep -v -E 'plugged|mounted'
查看状态:systemctl status sshd
开机自动启动:systemctl enable sshd
启动 / 停止 / 重启
:systemctl start/stop/restart ***系统日志
打印内核日志:dmesg -T
打印 systemd 日志:journalctl
打印某段时间内的 systemd 日志:journalctl --since '2022-11-10 10:00:00'

docker

镜像管理
容器管理
容器日志
配置信息
垃圾清理

镜像管理

列出本地镜像:docker image ls
拉取镜像:docker pull
推送镜像:dokcer push harbor.xxx.edu.cn/xxx/xxx
删除镜像:docker image rm XXX
清理垃圾镜像(未使用的镜像):docker image prune
镜像重新打Tag:docker image tag harbor.supwisdom.com/foo/bar:latest harbor.xxx.edu.cn/foo/bar
导出镜像:docker save alpine:3.9 openjdk:8 | gzip > images.tar.gz
导入镜像:docker load < images.tar.gz

容器管理

创建(启动)容器:
docker run \
-d \                    # 以后台形式运行
--name demo-mysql \     # 指定容器的名字
-p 13306:3306 \         # 将host的13306端口连接到容器的3306端口
-v $(pwd)/data:/data \  # 将host当前目录下的/data目录挂载到容器的 /data 目录
-e FOO=bar \            # 设置环境变量
mysql:8                 # 镜像查看容器:docker ps / docker ps -a容器的停止、启动、重启:docker stop/start/restart XXX删除容器:docker rm XXX进入容器shell:docker exec -it 容器id /bin/bash传输文件:# 从容器里面拷贝文件/目录到本地一个路径  $docker cp Name:/container_path to_path  $docker cp ID:/container_path to_path#从主机上拷贝文件到容器内 -docker cp foo.txt mycontainer:/foo.txt查看端口映射:docker port demo-mysql查看容器元信息:docker inspect demo-mysql | less查看容器运行情况:docker stats demo-mysql根据PID找对应容器:docker ps -q | xargs docker inspect --format '{{.State.Pid}}, {{.Name}}' | grep <pid>

容器日志

 docker logs 容器id

配置信息

 查看docker信息:docker infodocker有两个重要配置文件:1.daemon.json2.docker.service

垃圾清理

删除没用镜像:docker image prune
删除停止镜像:docker container prune
删除没用的卷:docker volume prune
清理以上所有:docker system prune
慎用!!!

K8s

工作负载
扩容
kubectl
Ingress Nginx
集群网络
Rancher

工作负载

服务的基本介绍:
Deployment:无状态长期运行任务
StatefulSets:有状态长期运行任务
Job:一次性任务
CronJob:定时任务
DaemonSet:每个Node上都跑一个的Deployment

扩容

分为两种:水平扩容和垂直扩容
水平扩容:不提升配置,但增加数量
垂直扩容:提升配置,不增加数量
个人理解为:水平扩容相当于增加节点数(pod),垂直扩容相当于扩大服务内存限制、cpu限制等

kubectl(重点)

配置文件:~/.kube/config
查看配置的集群:kubectl config get-contexts
kubectl常用命令:
列出资源(pod、deployment、daemonset):kubectl -n XXX get pod XXX
列出所有命名空间的资源:kubectl get -all-namespaces pods
删除某个资源:kubectl -n xxx delete pod xxx
查看资源:kubectl -n XXX(命名空间) pods XXX(服务名)Ingress Nginx
作用和nginx相同,主要是将流量转发到指定的Service集群网络
服务内部地址:service.namespace.svc

Rancher

1.集群中节点的驱散、清理、删除(可在rancher管理端操作)
2.打污点:禁止其他新部署的服务运行到该主机上,主要用于排查检查

实施、运维常用基础知识(适用小白入门)相关推荐

  1. Linux运维是什么?linux运维的基础知识

    如果您对运维行业了解一些,应该会知道,现在的运维早已不是早年的"睡机房",往办公室打眼一看,分不清是运维攻城狮还是开发程序猿,但是,运维这行也是春天到了,今天Linux,明天云计算 ...

  2. 运维网络基础知识思维导图

    运维网络知识第一部分 运维网络知识第二.三.四部分

  3. 运维常用命令大全,从入门到精通就靠它了!

    Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用系统提供的命令.要想真正理解Linux系统, ...

  4. 负荷计算的时候assert失败_负荷计算的入门基础知识,小白入门必备!

    负荷计算是电气设计人员必须掌握的一必修课,选导体.设备还有保护开关的选择,电网系统分析,都离不开负荷计算的内容,为此小编特意总结9个负荷计算的入门基础知识,分享给大家,希望能在工作和学习中作为一份参考 ...

  5. php运维知识,分享一些linux运维的基础知识

    1.回顾基础命令 2.脚本 3.变量 4.别名 5.条件判断 6.test判断 一.回顾基础命令 shutdown --关机/重启 exit --退出当前shell rmdir --删除空目录 du ...

  6. Google SEO基础知识,新手入门教学。

    一.什么是搜索引擎优化? 搜索引擎优化 (SEO) 是一种从搜索引擎的自然排名中获取网站目标流量的做法.与 SEO 相关的常见任务包括创建高质量内容.围绕特定关键字优化内容以及构建反向链接. 换句话说 ...

  7. IT运维管理基础知识:运维人员应该必备的五大技术

    本文转自:http://www.betasoft.com.cn/btzsk/2010-07-21/448.html 下面将IT运维管理基础知识必须要学习或能让你运维任务加分的技艺稍做简介.最先我们假定 ...

  8. Python运维开发基础01-语法基础【转】

    开篇导语 整个Python运维开发教学采用的是最新的3.5.2版,当遇到2.x和3.x版本的不同点时,会采取演示的方式,让同学们了解. 教学预计分为四大部分,Python开发基础,Python开发进阶 ...

  9. 对实施运维的一点心得体会

    好多人都说,知识必须得有个架构才行,不然就是"一盘沙",自我感觉也是,感觉什么都会点,可是做起来,却那个都很费劲很费劲,其中吃的苦大概只有自己心中清楚. 做了十年的开发,突然发现实 ...

最新文章

  1. Gartner称2016会是Windows 10的“企业之年”
  2. 聊一聊 bootstrap 的轮播图插件
  3. [19/04/04-星期四] IO技术_CommonsIO(通用IO,别人造的轮子,FileUtils类 操作文件 IOUtilsl类 操作里边的内容 )...
  4. python列表 行列选择_Python第七课——如何选取excel表格的行数据和列数据
  5. 分珠(dfs+并查集)
  6. jq select操作全集
  7. arduino蓝牙通讯代码_蓝牙4.0模块 无线数据传输模块 无线蓝牙串口 Arduino
  8. WebSocket使用中Stomp Client连接报ERROR CODE 200的解决办法
  9. android和java中常见 Exception
  10. 联想笔记本键盘排线_三分钟了解笔记本键盘维修技巧
  11. 历史上的今天:Vue 首次发布;搜狐成立;首个构思集成电路的人出生
  12. 拼多多前端岗位笔试试题 问答题部分 2017/8/1
  13. Linux查看分析任务计划命令,详述Linux计划任务的 at和crontab的命令 以及如何查看crontab日志...
  14. Maven SCM Release版本控制与发布
  15. Perl 脚本命令行传入参数
  16. 小程序组件实现周日历功能,课程表、食谱等功能可能会用到的日历简单实现
  17. 我的世界服务器显示伤害指令,我的世界指令代码大全
  18. 为什么大多数程序员没有工程思维
  19. iOS 7 之Airdrop 分享
  20. 【媒体】黑灰产横行,金融行业如何“数智化”反欺诈?

热门文章

  1. 【调剂】西安应用光学研究所2023年硕士研究生招生调剂办法
  2. Excel求同时满足多条件的最大值求法
  3. 激动!一直困扰的“无法使用KMS服务”终于解决啦
  4. P1088 [NOIP2004 普及组] 火星人
  5. esp8266 接收udp广播_【零知ESP8266教程】AP模式下WIFI UDP协议通信示例
  6. 三國正史vs演義的差別100個
  7. C语言辅导试题,c语言程序的设计辅导试题.doc
  8. JavaScript之观察者模式
  9. java 检查bytebuf长度_ByteBuf分析
  10. python3中urlopen_详解python3 urllib中urlopen报错的解决方法