看到一片文章,介绍的很全
1、进入某文件夹
cd /home/hd/ (文件夹路径)
返回上一级目录
cd ..
2、执行启动脚本
sh run.sh
3、表示在shell脚本执行时也同步进入脚本中的目录中,而不是停留下当前路径下
source ./member.sh(文件名称)
4、进入到服务所在的内网ip
ssh root@172.24.128.xx (ip地址)
5、输密码(密码右击粘贴,不会显示密码,直接回车)
linux不会显示密码
6、看某个文件的日志
tail –f mot_info.log (日志文件名称)
7、docker命令-看全部日志(日志很多,一般刚重启服务的时候用)
docker logs -f crm-datatransfer (服务名称)
8、docker看镜像
docker ps -a (所有状态)
9、容器相关
容器
docker ps 查看当前正在运行的容器
docker inspect name/image[name/image...] 查看详细
docker ps -a 查看所有容器的状态
docker start/stop(-t) id/name[name...] 启动/停止某个(多个)容器 -t 指定时间
docker kill (-s) name[name...] 强制中断 -s指定SIGINT信号类型,默认“kill”
docker restart (-t) name[name...] 重启 -t 指定时间
10、文件访问读写等权限
chmod 777 文件名
11、pull镜像(一般git会自动上传到镜像仓库,需要本地拉下来镜像)
docker pull xxx镜像仓库路径:1.10 (服务版本号)
12、保存镜像为tar包
docker save -o xxxx.tar xxx:1.10
13、解压tar包
docker load -i xxx.tar
14、修改文件,vi命令
vi run.sh——编辑文件 j 是下一行 然后e到末尾 修改 r:替换当前字符2
:w 保存文件但不退出vi
:q退出vi
15、服务器没有内存解决办法
docker rmi $(docker images -q) 删除所有镜像
docker rmi $(docker images -q --filter dangling=true) 删除所有镜像
docker system prune -a 清理磁盘,删除关闭的容器、无用的数据卷和网络
16、telnet 端口
telnet 124.xxx.28 6080
bash: telnet: command not found...
[root@localhost logs]# yum install telnet –y 安装后重新连接服务器
然后telnet 124.xxx.28 6080
17、创建文件夹
mkdir filename
18、修改服务器时间
date 查看当前时间
date -s "2019-09-01 14:37:00" 修改成某个时间
date -s "2019-09-02 10:18:30"
服务器时间慢了
第一种方法:ntpdate 10.72.145.44 后面是中国授时服务器中的
如果提示命令不可用 就先 yum install ntpdate
第二种方法
hwclock -s
hwclock --show
show是查看系统硬件时间,如果是对的就敲上面这个直接同步到系统时间就OK
19、查看linux版本
查看linux是64还是32位
getconf LONG_BIT 命令直接返回
查看linux os系统
cat /proc/version
返回的中间括号里的Debian 6.3.0-18+deb9u1、Red Hat 4.8.5-36
查看处理器
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq –c
查看cpu个数
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq –c
20、命令登录redis容器,删除锁
登录redis容器所在服务器
1. docker exec -it redis bash #进入容器
2. whereis redis-cli #查找redis-cli客户端位置(通常在cd /usr/local/bin/)
3. cd /usr/local/bin/
4. redis-cli
5. select 1-16数字 #redis一共有16个库,确认要删除的锁在哪个库,可以依次查看
6. GET 锁名称
7. DEL 锁名称
21、某服务占用网桥,停止、启动都失败解决方法
某个容器停止、启动都失败
service endpoint with name xxx already exists.
docker: Error response from daemon: service endpoint with name xxx already exists.
同名容器网络占用问题
1.停止所有的容器(停止对应容器)、
docker stop mysql1 以mysql1是容器名
2. 强制移除此容器
docker rm -f mysql1
3.清理此容器的网络占用
格式:docker network disconnect --force 网络模式 容器名称
示例:docker network disconnect --force bridge mysql1
有些服务比如nginx的网络模式是host模式,不是bridge模式,需要执行如下
docker stop sail-nginx
docker network disconnect --force host sail-nginx
占用网桥,资源不足容易出现该情况。其他偶尔也会出现,暂不知道原因
也可以预防:进到具体服务的启动脚本里 envfile文件修改下添加2个参数,改小服务jvm内存,占用比较少的时候节省服务器内存使用
Xmx=512m
Xmn=256m
22、linux小技巧:tab键自动补全,比如系统/root/路径下存在文件夹home,则,/root/h 点击tab会自动补全为/root/home
23、查看进程cpu等情况
1、top命令,查看进程情况
然后根据前面的pid可以查看某个进程的情况
M—内存排序
P——
C——名称
Buff是缓存,如果free少,buff多,内存也还可以
Lsof命令
Cpu和网络:vmstat、netstat
常用查内存、cpu命令:top 、free –h、df –h
24、查看是哪个进程占用内存、cpu高——ps -ef|grep
# ps -ef | grep java #查看tomcat服务,可将tomcat替换为所需关键字,如java则查询java服务状态,ps -ef 将会展示所有活跃进程
框内内容为PID 号
#ps -aux|grep 2729\ 查看某个进程
2729为top命令看到的进程id(最左侧)
25、批量查找、替换
查找文件:grep -r 1.18 ./*
替换文件:grep -r 1.18 ./*|awk -F ':' '{print $1}'|xargs sed -i 's/1.18/1.19-SANPSHOT/g'
26、删除镜像
docker images (发现系统内存不足,有很多镜像缓存)
docker rmi $(docker images --filter "since=harborhd.sail-merchant-core:1.19") (某个镜像的版本,在这之前的image都会被删除)
27、查看磁盘读写率(最好对比几台服务器看一下)
安装命令yum install hdparm -y
磁盘路径获取df -h
查看某个磁盘 hdparm -t /dev/mapper/centos-root