网站首页 文章专栏 linux 常用命令
一些linux和k8s学习常用命令,待整理
1、free -m 查看linux内存
2、cat /proc/cpuinfo | grep "physical id" | sort | uniq # 查看物理 CPU 数量
3、cat /proc/cpuinfo | grep "cores" | uniq # 查看每块 CPU 的核心数
4、cat /proc/cpuinfo | grep "processor" | wc -l # 查看主机总的逻辑线程数
5、numactl --hardware # 查看cpu num信息 nvidia-smi topo -mp
6、nvidia-smi topo --matrix #查看gpu 拓扑信息
7、lscgroup 查看cgroup #ubuntu
8、lssubsys -am 查看cgroup #centos
9、yum install libcgroup-tools #查看cgroup子系统
10、yum install libcgroup #安装
11、echo "0-10" > cpuset.cpus 写入0-10号cpu
13、ps -eF | grep demo #查看核上运行的任务
14、top + f #查看进程运行在哪个核上 top + 1 看哪个核上运行的进程
15、ps -eLf |grep 722|grep -v "grep" # 查看进程722的线程
16、ps -eLF |grep 19597 |grep -v "grep" # 查看进程722的线程运行的核
17、echo "0-9" > cpuset.cpus # 将0-9号cpu核配置到cgroup
18、echo "0" > cpuset.mems # 将0 numa组写入到cgroup中
19、echo $$ > /sys/fs/cgroup/cpuset/lxy/cgroup.procs # 写入当前进程编号
20、kubectl delete pod pod-name -n namespace --force --grace-period=0 #强制删除pod
21、yum install centos-release-scl-rh #先添加 devtoolset-3 的安装源
22、yum install strace #直接安装
23、strace -p 2927 -o all.txt 跟踪2927进程,输出到all.txt
24、docker run -it -v /mnt:/mnt 10.121.11.54:5000/tensorflow/tensorflow:1.14-cuda10-py36 bash
25、docker run -it --rm --cpuset-cpus="1" ubuntu:14.04 /bin/bash #指定核
26、grpc服务
26.1 安装protobuf编译器
apt install golang-goprotobuf-dev //protocol buffer编译器protoc
26.2 安装 golang protobuf 工具
go get -u github.com/golang/protobuf/proto // golang protobuf 库
go get -u github.com/golang/protobuf/protoc-gen-go //protoc --go_out 工具
26.3
27、docker top e68beebabc40 #查看容器进程等信息
28、yum install ltrace #安装ltrace
29、ps -A -ostat,ppid,pid,cmd |grep -e '^[Zz]' #查找僵尸进程
30、lsns #查看命名空间
31、sudo unshare --pid --fork --mount-proc /bin/bash #创建命名空间
32、readlink /proc/$$/ns/pid #$$为进程号
33、pstree -p 2621 ##查看进程树
34、grep pid /proc/3451/status ##查看进程在命名空间中的进程号
35、sudo nsenter --mount --pid -t 2711 /bin/bash #进入命名空间
36、unshare --fork nohup sleep 3600 & # folk子进程
37、pidof test # test的pid
38、ps -aux #查看进程状态 D,R,S,T,Z =>不可中断的睡眠状态,可执行状态,可中断的睡眠状态,暂停状态或跟踪状态,进程成为僵尸进程。
39、docker images |grep tensorflow |grep v |awk '{print $1":"$2}' #打印镜像名和标签
40、docker rmi $(docker images |grep tensorflow |grep v |awk '{print $1":"$2}') #删除镜像
41、docker ps |grep device-plugin |awk '{print $1}' |xargs docker rm -f #删除容器
docker ps -a |grep tensorflow |grep Exited |awk '{print $1}' |xargs docker rm -f
42、sudo hostnamectl set-hostname <newhostname>
43、gcc -Wall namespace.c -o main.o && ./main.o #gcc编译
44、mount -t proc proc /proc #重新挂载
45、nsenter -t 40567 -m -p #进入命名空间
46、docker run -it -u root --privileged=true -e NVIDIA_VISIBLE_DEVICES=0 100.7.54.2:5000/tensorflow/tensorflow:v1 bash #起容器,赋超级权限
47、nsenter --target 84600 --mount #进入84600命名空间
nsenter --target containerPid --cgroup --ipc --mount --net --pid --user --uts
48、ip link list #查看网卡
49、ip link set dev lo up #启用链接
50、ip link add veth0 type veth peer name veth1 #建立veth0、veth1对
51、docker inspect 容器|grep Pid #获取进程号
52、 router、iptables -L #路由信息
53、ip -o -f inet addr show #查看ip
54、ip netns exec test_ns route #进入命名空间查看路由
55、ip netns exec test_ns iptables -L #进入命名空间查看iptalbes
56、docker run -it --name "liuhx_tf14_111"-v /root/liuhx/test_so/libgpu_partition.so:/usr/local/lib/libgpu_partition.so -v /root/liuhx:/home/liuhx -v /root/liuhx/gpu_info_um:/etc/aistation/gpuinfo -v /root/liuhx/ld.so.preload:/etc/ld.so.preload --env NVIDIA_VISIBLE_DEVICES=GPU-2fb041ff-6df3-4d00-772d-efb3139a17a1 tensorflow/tensorflow:1.14-cuda10-py36 bash
57、kubectl delete pod pod-name -n namespace --force --grace-period=0
58、df -h #查看磁盘空间大小
59、find / -type f -size +200M #查找大文件
60、bash /opt/aistation/nvidia_docker2/NVIDIA-Linux-x86_64-418.67.run --uninstall -q -s #卸载驱动
61、bash NVIDIA-Linux-x86_64-450.80.02.run --no-install-compat32-libs --log-file-name=/var/log/nvidia-installer.log --silent --accept-license --dkms #安装驱动
62、kubectl -n kube-system describe $(kubectl -n kube-system get secret -n kube-system -o name | grep namespace) | grep token #获取token
63、kubectl get secret -A -o wide |grep device
64、kubectl describe secret inspur-xx-xx-token-xx -n kube-system #获取证书
65、curl --cacert $CAFILE --header "Authorization: Bearer $TOKEN" https://100.7.36.176:6443/api/v1/namespaces/default/pods
67、find / -name ca.crt #查找证书路径,容器内挂载路径 /var/run/secrets/kubernetes.io/serviceaccount
68、dmesg -T #查看系统日志
69、cat /proc/vmstat | egrep "dirty|writeback"
70、ps -ef | grep "defunct" #查看僵尸进程
71、mount -t nfs -o rw,soft,timeo=30,retry=3 11.121.11.54:/mnt/inspurfs /mnt/inspurfs/ #软挂载
72、mount -t nfs -o rw 10.151.11.54:/mnt/inspurfs /mnt/inspurfs #硬挂载
73、--storage-driver #配置docker daemon启动参数,设置存储驱动
74、docker commit -m "nfs test by lxy" 6c3a0d703c10 tensorflow-nfs:test1
75、docker run -it tensorflow-nfs:test1 bash -c "bash /home/test.sh 3"
76、iptables -A INPUT -p udp -m multiport --dports 135,137-139,445 -j DROP
77、iptables -A INPUT -p tcp -m multiport --dports 135,137-139,445 -j DROP
78、rpcinfo -p #查看nfs占用端口
79、 iptables -L -n #查看端口
80、netstat -tnlp | grep ssh # 查看进程占用端口
81、find ./ -type d -name *84e475c6* # 查找目录
82、sudo lsb_release -a # 系统版本
83、uname -r #内核版本
84、cat /etc/mtab #查看挂载信息
85、cat /etc/centos-release #版本 cat /proc/version #内核版本
84、nfsstat -s #查看nfs版本
85、nfsstat -c #客户端
86、fuser -v -n tcp 80 #显示端口占用 # fuser -m /mnt/inspurfs
87、man mount #查看mount的帮助信息
88、cat /etc/fstab #查看mount的开机自动挂载信息
89、showmount -e 100.7.36.223 #展示挂载信息
90、rpcinfo -p #查询rpc端口
91、nfsstat -s/-c #查看 server/client 端nfs版本
92、umount -lf /mnt/inspurfs #强制卸载
go env -w GOPROXY=https://goproxy.io,direct
go env -w GO111MODULE=on
2、连接k8s
curl https://10.151.11.51:6443/api/v1/nodes --cacert /etc/kubernetes/pki/ca.crt --cert /etc/kubernetes/pki/apiserver-kubelet-client.crt --key /etc/kubernetes/pki/apiserver-kubelet-client.key
3、用户查询
kubectl describe clusterrolebindings |grep -B 9 "User kubernetes "
4、lscpu #查询cpu拓扑信息 # lscpu -p
5、kubectl get all -A |grep cmk #cmk相关
6、kubectl get namespace cmk-namespace -o json > temp.json 修改 spec 为空
7、curl -k -H "Content-Type: application/json" -X PUT --data-binary @temp.json 19.131.11.61:8080/api/v1/namespaces/cmk-namespace/finalize # 删除 namespace 停止中
8、清除资源
8.1 kubectl delete daemonset -n cmk-namespace cmk-reconcile-nodereport-ds-node1 # 清除nodereport
8.2 kubectl delete deployment -n cmk-namespace cmk-webhook-deployment # 清除webhook
8.3 kubectl delete service -n cmk-namespace cmk-webhook-service #删除webhook service
8.4 kubectl delete secret -n cmk-namespace cmk-webhook-certs #删除webhook 证书
8.5 kubectl delete cm -n cmk-namespace cmk-webhook-configmap #删除webhook configmap
8.6 kubectl delete pod -n cmk-namespace cmk-init-discover-install-pod-node1#删除init pod
8.7 kubectl delete cm -n cmk-namespace cmk-config-node1 #删除节点configmap
8.8 kubectl delete pod -n cmk-namespace cmk-cluster-init-pod #删除init pod
8.9 kubectl get MutatingWebhookConfiguration -A -o wide # 查询MutatingWebhookConfiguration
8.10 kubectl delete MutatingWebhookConfiguration cmk-webhook-config # 删除 MutatingWebhookConfiguration
8.11 kubectl delete crd cmk-reconcilereports.intel.com #删除crd
8.12 kubectl delete crd cmk-nodereports.intel.com #删除crd
8.11 kubectl delete serviceaccount -n cmk-namespace cmk-serviceaccount #删除账户
8.12 kubectl delete ns cmk-namespace # 删除命令空间
9、kubectl get pods -A -o wide |grep cmk #查询 cmk pod
10、kubectl get no -o json | jq .items[].metadata.labels
"registry-mirrors": ["https://j432w0rf.mirror.aliyuncs.com"]
# 查看证书命令
openssl x509 -noout -dates -in /etc/kubernetes/pki/apiserver.crt esle: apiserver-kubelet-client.crt、front-proxy-client.crt
--cpu-manager-policy=static --topology-manager-policy=best-effort
查看设备
cd /dev/mapper
fdisk -l
dmsetup ls
sar -n DEV 1 100
echo $? //上一个命令退出的状态
xmind、Mobaxterm、xshell
ip是46.161.11.3、46.161.11.5、46.161.11.7的傻屌,你攻击我的博客,看看还行不???![[嘻嘻]](http://47.94.14.169:8080/static/plug/layui/images/face/1.gif)
![[嘻嘻]](http://47.94.14.169:8080/static/plug/layui/images/face/1.gif)
![[嘻嘻]](http://47.94.14.169:8080/static/plug/layui/images/face/1.gif)