Linux常用命令

1.docker相关

1.1.docker容器时间慢八小时

1.进入容器
docker exec -it -u root 24795ac94ae7 /bin/sh
2.查看容器时间
date -R
3.在容器中创建文件
mkdir -p /usr/share/zoneinfo/Asia
4. 回到宿主机 复制宿主机的文件到容器 mynginx为文件名
docker cp /usr/share/zoneinfo/Asia/Shanghai mynginx:/usr/share/zoneinfo/Asia
5.进入容器 复制文件
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
备注:not writing through dangling symlink '/etc/localtime’错误 进到容器的etc文件夹 删除localtime文件 再复制就可以了

1.2.java服务dockerfile指定时区

Linux常用命令_第1张图片

1.3.docker容器路径

var/lib/docker/containers 可以删除日志文件 清理磁盘

1.4.docker为启动的容器设置为自动启动

docker update --restart=always 容器ID(或者容器名) 
docker update --restart=no 容器ID(或者容器名)  #关闭容器自启动

1.5.docker文件复制

容器id+: 后边,没有空格
复制文件夹
docker cp d65625c68f6b:/home/ /lzp/dockerfile/
复制文件
docker cp d65625c68f6b:/home/a.txt /lzp/dockerfile/b.txt

1.6.docker容器中下载vim

apt-get install -y vim
下载不成功的话指定源
mv /etc/apt/sources.list /etc/apt/sources.list.bak
echo  "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free" >/etc/apt/sources.list 
echo  "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free" >>/etc/apt/sources.list 
echo  "deb http://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free" >>/etc/apt/sources.list 
echo  "deb http://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free" >>/etc/apt/sources.list
然后执行 apt-get update
然后再  apt-get install -y vim 下载就可以了

2.时间相关

2.1.查看linux时间及时区修改

date
在这里插入图片描述

修改时间慢八个小时:etc/profile文件加入 export TZ=‘CST-8’ 重启服务器

2.2.java日志时间慢八小时

timedatectl

Linux常用命令_第2张图片

设置系统时区为上海
timedatectl set-timezone Asia/Shanghai
强制将时区写入bios
clock -w

3.磁盘相关

3.1.查看当前目录中磁盘占用空间情况

du -sh *
查看当前文件下的每个文件夹的大小

Linux常用命令_第3张图片

du -sh  /lzp/* 
查看指定文件夹下的磁盘占用

3.2.查看磁盘使用情况

df -h 

3.3.查看磁盘分区

lsblk

3.4.新建分区

fdisk /dev/sda
n 新建分区
d 删除分区
p 查看当前分区
w 保存并退出
操作完需要重启虚拟机

3.5.为根目录分区扩容

1.virtualbox修改
Linux常用命令_第4张图片
从40G调到80G
Linux常用命令_第5张图片
需要关闭虚拟机
2.改完启动虚拟机
运行lsblk
在这里插入图片描述
说明磁盘有80G 但是分区只占用了40G
3.安装growpart扩容工具

yum -y install cloud-utils-growpart

查看文件系统类型: df -TH
Linux常用命令_第6张图片
当文件系统为xfs类型时:

4.growpart [磁盘名称] [分区编号]
growpart  /dev/sda 1  #注意有空格 命令表示扩容磁盘的第1个分区(/dev/sda1)
5.xfs_growfs [分区名称]
xfs_growfs /dev/sda1

当文件系统为ext*类型时:

resize2fs [分区名称]
例如,对/dev/vda1进行扩容:
resize2fs /dev/vda1

这时再使用 df -h查看 空间会扩大

在这里插入图片描述

4.网络相关

4.1.查看端口使用情况

netstat -nultp

Linux常用命令_第7张图片
提示命令不存在的话:yum install -y net-tools

4.2.ping端口

telnet +端口
提示命令不存在
yum install telnet
退出:quit

4.3 访问网站

curl

4.4.修改虚拟机IP

1.cd /etc/sysconfig/network-scripts 
2.vi ifcfg-eth1
3.systemctl restart network

5.文件操作

5.1.查看和新建文件

cat 查看 
touch 新建

5.2.删除移动文件夹及文件

rm -rf * 删除当前文件夹下的所有文件
删除某一个文件夹
rm -rf ./文件夹名称   // ./代表当前路径  最好加 如果不加则表示根目录  /a就代表根路径下a文件夹
删除文件夹所有内容 文件夹保留
rm -rf  ./*   加一个*号
移动文件夹
mv ./test01 ./test02 //test02存在的话 会把test01文件夹整体放到test02下
test02不存在的话 会新建test02文件夹 把test01文件夹中的内容放到test02下,删除test01文件夹
移动文件
mv a.txt /home/b  把当前文件夹的a.txt移动到b文件夹
复制文件夹
cp -r  ./a ./b  如果b文件夹存在 则把a放到b 如果b文件夹不存在 则新建b文件夹 把a文件夹内容放到b内
复制文件
cp a.txt b.log  复制一份a.txt变成b.log

5.3.解压和压缩

tar -zxvf 压缩文件名.tar.gz  //解压
tar -zxvf +压缩文件名.tar.gz +被压缩文件名 /// 压缩

5.4.查找文件所在位置

find / -name *.rdb
find /lzp -name *.txt 在/lzp目录下找

5.5.按行查看文件(查日志)

head -n 5 文件名  //查看前5行
tail -n 5 文件名  //查看结尾5行
tail -f 文件名  //(功能描述:实时追踪该文档的所有更新 查日志)
echo '' >文件名 清空日志文件

5.6.链接文件

ln -s xiyou/dssz/houge.txt ./houzi //连接文件
cd -P dssz/  //进入实际路径
pwd -P  //显示实际物理路径 而不是链接路径

5.7.linux文件格式问题

1.执行sh脚本报错: invalid option set: -
vim 编辑时 :set ff 可以看到该文件的格式为 fileformat=dos
修改为 :set ff=unix
2.中文乱码
在windows中记事本编辑文件后另存为格式为UTF-8,然后重新打开文件再复制内容到linux即可。
3.检测脚本格式 不执行

5.8.~代表当前用户的路径

如果当前是root用户  cd ~ 代表进入到/root下
/ 表示根目录
./ 表示当前目录
../ 上一级目录
1】使用sh命令

(1-n 只读取shell脚本,检测语法错误,但不实际执行
(2-x 进入跟踪方式,显示所执行的每一条命令
(3-c "string" 从strings中读取命令
(4-v 读取并打印出整个shell脚本,检测语法错误,但不实际执行

#检测语法,但不实际执行
sh -nv  脚本文件
#边执行,边显示结果,遇到错误就停止脚本
sh -xv  脚本文件  

6.进程相关

6.1.结束进程

kill -9 pid

6.2.查看进程

方式1:ps -ef | grep redis ppid也就是父进程id
在这里插入图片描述

方式2:jps -l #查看java进程
Linux常用命令_第8张图片
结束时直接 kill-9 23570即可

6.3.查看mysql的安装位置

rpm -qal |grep mysql
rpm -qa |grep mysql

6.4.后台运行jar

nohup java -jar -Xmx128m -Xms128m  xxx.jar --server.port=9090 &  
使用ctrl+c退出 或者关闭窗口都不会中断程序

6.5. 查看已安装的软件

rpm -qa

6.6.查看cpu占用

top 然后大写P
 cpu
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head 
内存
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head  

查看java程序内存占用排行

top -o %MEM -b -n 1 | grep java | awk '{print "PID: "$1" \t MEM: "$6" \t %CPU: "$9"% \t %MEM: "$10"%"}'

Linux常用命令_第9张图片

top -o %MEM -b -n 1 | grep java | awk '{print "PID: "$1" \t 虚拟内存: "$5" \t 物理内存: "$6" \t 共享内存: "$7" \t CPU使用率: "$9"% \t 内存使用率: "$10"%"}'

在这里插入图片描述

7.服务器相关

7.1.查看服务器架构

uname -m
在这里插入图片描述
x86_64 又称为amd64 还有一种是arm64

7.2查看内核版本

在这里插入图片描述

7.3.查询系统版本

在这里插入图片描述

7.4.ssh连接

ssh -p 2222 root@192.168.0.100

7.5.修改ssh密码

方式1
passwd root
然后输入密码
方式2
echo root:sbhibsdjkh123\$ | chpasswd
root是用户名
sbhibsdjkh123\$ 是密码  $需要使用反斜杠

7.6查询服务器的CPU型号

cat /proc/cpuinfo | grep "model name"

在这里插入图片描述

7.7.查询服务器的GPU型号

nvidia-smi

7.8.grep

根据关键词查询
包含my的
Linux常用命令_第10张图片
不包含my的
docker ps |grep -v my
只打印第一个参数
Linux常用命令_第11张图片

7.9.修改host文件

vim /etc/hosts
192.168.56.10 www.aaa.com
wq保存
然后执行systemctl restart network

7.10.快捷清屏

ctrl+l

7.11.简单压力测试

ab -n 10 -c 10 请求地址

命令不存在的话 yum -y install httpd
参数说明

 -A:指定连接服务器的基本的认证凭据;
 -c:指定一次向服务器发出请求数;并发数
 -C:添加cookie;
 -g:将测试结果输出为“gnuolot”文件;
 -h:显示帮助信息;
 -H:为请求追加一个额外的头;
 -i:使用“head”请求方式;
 -k:激活HTTP中的“keepAlive”特性;
 -n:指定测试会话使用的请求数;请求总数
 -p:指定包含数据的文件;
 -q:不显示进度百分比;
 -T:使用POST数据时,设置内容类型头;
 -v:设置详细模式等级;
 -w:以HTML表格方式打印结果;
 -x:以表格方式输出时,设置表格的属性;
 -X:使用指定的代理服务器发送请求;
 -y:以表格方式输出时,设置表格属性。
#ab命令版本
[root@stache34 ~]# ab -V
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

[root@stache34 ~]# ab -h
Usage: ab [options] [http[s]://]hostname[:port]/path
Options are:
    -n requests     #在测试会话中所执行的请求总个数,默认仅执行一个请求
    -c concurrency  #每次请求的并发数,相当于同时模拟多少个人访问url,默认是一次一个
    -t timelimit    #测试所进行的最大秒数。其内部隐含值是-n 50000
                    #它可以使对服务器的测试限制在一个固定的总时间以内
    -s timeout      #等待每个响应的最大值,默认为30-b windowsize   #TCP 发送/接收缓冲区的大小,以字节为单位
    -B address      #进行传出连接时要绑定到的地址
    -p postfile     #包含要 POST 的数据的文件,记得还要设置 -T 参数
    -u putfile      #包含要 PUT 的数据的文件,记得还要设置-T 参数
    -T content-type #POST/PUT 数据所使用的Content-type头信息
                    #例如:application/x-www-form-urlencoded 默认值:text/plain
    -v verbosity    #设置显示信息的详细程度 -4 或更大值会显示头信息
                    #3或更大值可以显示响应代码(404, 200)2或更大值可以显示警告和其它信息
    -w              #以HTML表的格式输出结果,默认时,它是白色背景的两列宽度的一张表
    -i              #执行HEAD请求,而不是GET
    -x attributes   #以HTML表格格式输出结果时,给 table 标签设置的属性值
                    #如 -x 'sytle="width=500px"' 输出的html中table标签会加上该属性<table sytle="width=500px">
    -y attributes   #以HTML表格格式输出结果时,给 tr 标签设置的属性值
    -z attributes   #以HTML表格格式输出结果时,给 td 标签设置的属性值
    -C attribute    #对请求附加一个Cookie:行,形式为 name=value 的一个参数对,此参数可以重复
    -H attribute    #对请求附加额外的头信息,此参数的典型形式是一个有效的头信息行
                    #其中包含了以冒号分隔的字段和值的对 (如:"Accept-Encoding: zip/zop;8bit")
    -A attribute    #对服务器提供BASIC认证信任,用户名和密码由一个:隔开,并以base64编码形式发送
                    #无论服务器是否需要(即:是否发送了401认证需求代码)此字符串都会被发送
    -P attribute    #对一个中转代理提供BASIC认证信任,用户名和密码由一个:隔开,并以base64编码形式发送
                    #无论服务器是否需要(即:是否发送了401认证需求代码)此字符串都会被发送
    -X proxy:port   #对请求使用代理服务器
    -V              #显示版本号并退出
    -k              #启用 HTTP KeepAlive 功能,即在一个 HTTP 会话中执行多个请求,默认不启用 KeepAlive 功能
    -d              #不显示“XX [ms] 表内提供的百分比”(遗留支持)
    -S              #不显示中值和标准差值,当平均值和中值相差超过标准差的一倍或两倍时,
                    #也不显示警告或错误消息,默认会显示 min/avg/max 值(遗留支持)
    -q              #如果处理的请求数大于150,ab每处理大约10%或者100个请求时,会在stderr输出一个进度计数,此-q标记可以抑制这些信息
    -g filename     #把所有测试结果写入一个'gnuplot'或者TSV (Tab分隔的)文件,
                    #此文件可以方便地导入到Gnuplot、IDL、MathematicaIgor甚至Excel中,其中的第一行为标题
    -e filename     #产生一个以逗号分隔的(CSV)文件, 其中包含了处理每个相应百分比的请求所需要(1%100%)的相应百分比的(以微妙为单位)时间
                    #由于这种格式已经“二进制化”,所以比'gnuplot'格式更有用
    -r              #不要在套接字接收错误时退出
    -h              #显示帮助信息
    -Z ciphersuite  指定 SSL/TLS 密码套件(请参阅 openssl 密码)
    -f protocol     指定 SSL/TLS 协议(SSL2、SSL3、TLS1 或 ALL)

结果说明

[root@localhost ~]# ab -n 10 -c 10 http://192.168.56.10:8030/hello
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 192.168.56.10 (be patient).....done


Server Software:
Server Hostname:        192.168.56.10 //服务器主机
Server Port:            8030  //服务器端口

Document Path:          /hello //测试的路径
Document Length:        18 bytes

Concurrency Level:      10  //并发数
Time taken for tests:   0.072 seconds  //测试总时长
Complete requests:      10 //完成请求数量
Failed requests:        0 //失败请求数量
Write errors:           0
Total transferred:      1510 bytes
HTML transferred:       180 bytes
Requests per second:    138.54 [#/sec] (mean) //每秒处理请求数,mean表示这是一个平均值
Time per request:       72.179 [ms] (mean) //平均请求时间,mean表示这是一个平均值
//每个请求的时间 0.489[毫秒],意思为在所有的并发请求每个请求实际运行时间的平均值
//由于对于并发请求 cpu 实际上并不是同时处理的,而是按照每个请求获得的时间片逐个轮转处理的
//所以基本上第一个 Time per request 时间约等于第二个 Time per request 时间乘以并发请求数                                    
Time per request:       7.218 [ms] (mean, across all concurrent requests) //请求平均响应时间
Transfer rate:          20.43 [Kbytes/sec] received //传输速率

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.2      0       1
Processing:    11   43  20.4     61      61
Waiting:       10   31  18.8     41      61
Total:         11   44  20.4     61      61

Percentage of the requests served within a certain time (ms)
  50%     61
  66%     61
  75%     61
  80%     61
  90%     61
  95%     61
  98%     61
  99%     61
 100%     61 (longest request)

你可能感兴趣的:(Linux,linux,运维,服务器)