常用命令
参考:
scp:
scp -r key 192.168.1.20:/tmp
scp 1.txt user@]host1:]file1
#查询linux命令
https://ipcmen.com/
rpm:
rpm -ql elasticsearch #查看elasticsearch软件安装了哪些目录
rpm -qc elasticsearch #查看elasticsearch的所有配置文件
vim编辑技巧:
di + 你想要结束的字符 #删除某个字符中的内容. 如"zzzz", 删除双引号中字符. 把光标放在第一个双引号出, 按di加双引号,中间内容被删除.同理[ ],{ }
grep:
grep "^[a-z]" 1.txt #查改过注释的配置文件
系统:
查看系统:
[root@node1 ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
查看系统多位位的:
[root@node1 ~]# getconf LONG_BIT
64
查系统启动时间
1.date -d "$(awk -F. '{print $1}' /proc/uptime) second ago" +"%Y-%m-%d %H:%M:%S"
2.who -b
查看主机性能
#查内存
grep MemTotal /proc/meminfo
占用内存最多的进程
ps -aux | sort -k4nr | head -n 1
#物理cpu个数,对云主机不准
grep 'physical id' /proc/cpuinfo | sort -u | wc -l
grep 'core id' /proc/cpuinfo | sort -u | wc -l #
云主机用:
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
计算:
bc #linux下的计算器
linux存储单位的换算方式:
1GB=1024MB
1MB=1024KB
1kb=1024字节
nohup:
https://www.cnblogs.com/jinxiao-pu/p/9131057.html
#该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中
#一般和&配合使用,& : 指在后台运行
nohup sh 1.sh >/tmp/1.out 2>/tmp/2.err &
nohup sh 1.sh > out.file 2>&1 & #2>&1是将标准错误(2)重定向到标准输出(&1),标准输出(&1)再被重定向输入到out.file文件中.
锁文件:
chattr +i /etc/passwd
四 curl
[airflow-1 ~]# curl localhost:8080
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>Redirecting...</title>
<h1>Redirecting...</h1>
<p>You should be redirected automatically to target URL: <a href="/admin/">/admin/</a>. If not click the link.
[airflow-1 ~]# echo $?
0
#查看出口ip
curl ifconfig.me
五 查看主机进程所耗资源
top -c #详细察看哪个进程跑高
pidstat -ut 1
#查看哪个进程跑高 pidstat -ut 1 哪个现场跑高
查看占用资源大的进程的信息:
top -c查看那个进程占用资源最大,得到pid
ps -ef |grep pid 查出它的启动命令
root 27248 1 12 09:35 ? 00:10:05 java -Xms1G -Xmx6G -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -Djava.awt.headless=true -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dkafka.logs.dir=/opt/confluent-5.2.2/bin/../logs -Dlog4j.configuration=file:/opt/confluent-5.2.2/bin/
lsof -p pid 查它打开的文件
ava 27248 root 1328r REG 253,1 596642 16838259 /opt/confluent-5.2.2/share/java/debezium-connector-mysql/protobuf-java-2.6.1.jar
netstat -lntup 可以查端口
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:46845 0.0.0.0:* LISTEN 23153/java
tcp 0 0 0.0.0.0:34977 0.0.0.0:* LISTEN 23153/java
lsof -i:端口号 查打开这个端口号的进程的pid
[root@kafka]# lsof -i:8083
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 27248 root 1258u IPv4 20846740 0t0 TCP *:us-srv (LISTEN)
pprof 命令
ps命令详解:
https://www.cnblogs.com/felixzh/p/6092423.html
#查外网出口ip
curl config.me
权限:
chown:
change file owner and group 修改文件所属用户和组
#-R表示目录下的子目录
chown -R mysql.mysql /application/mysql/ #mysql目录下的目录文件的用户为oldboy,组oldboy
chown oldboy.incahome /oldboy/test.sh #让test.sh的用户为oldboy 组为incahome
chmod:
chmod - change file mode bits 修改文件,目录权限
#-R 表示目录下的子目录
chmod 755 /application/mysql/
chmod 644 1.txt
以下是对目录的两个普通设定:
drwx------ (700) - 只有属主可在目录中读、写。
drwxr-xr-x (755) - 所有用户可读该目录,但只有属主才能改变目录中的内容
chown -R tableau.tableau tableau_server #递归
软链接ln:
给目录做软链接:
#前者是源,后者是目标(软连接)
#会在/var/opt/tableau下生成一个tableau_server软连接目录指向/data/tableau_server
ln -s /data/tableau_server/ /var/opt/tableau/
chmod 755 /data/tableau_server
#给文件做软链接
ln -s /usr/local/python/bin/ansible /usr/local/bin/
如:在当前目录下建一个index.html的软连接
ln -s /data/nginx/index.html index.html
cp:
#带属性递归拷贝
cp -rp ./tableau_server /data
#清空swap:
swapoff -a && swapon -a
内存空闲必须比swap大
#Kafka运行一段时间报错Too many open files
https://www.cnblogs.com/yinzhengjie/p/10699750.html
tomcat 访问慢
涉及到的工具:jstack、jmap、jstat(这三个是jre自带的)wireshark(抓包)等
操作:检查数据库问题,网络问题,服务器状态
服务器状态问题:jvm内存(jmpa-heap查看)服务器内存
io:磁盘读写
cpu:tomcat进程,jstack导出线程文件,jstat 查看GC情况,查看xms,xmx设置
端口:whireshark抓包,查看连接状态
tar:
常用组合:
zcvf 打包压缩
tar zcvf /tmp/etc.tar.gz ./etc
但打包尽量切换到打包目录的上级目录打包,然后用相对路径打包,除非你想保留完整路径
zxvf 解包
tar zxvf oldboy.tar.gz #解压到当前目录
tar xf etc.tar.gz -C /tmp # 把etc.tar.gz解压到/tmp目录
-c 创建tar包
-f 指定tar包名称
-P 可以跟绝对路径.
-小p 保持打包的属性
--exclude=文件 不打包这个文件
-h 打里面的软连接
基础:
bash-4.2$ file 1.txt #查看文件类型
1.txt: ASCII text
cd /home:进入 / home 目录
pwd:显示工作路径
ls -al:显示所有文件和目录的详细信息
mkdir dir:创建一个叫做 dir 的目录
touch file:创建一个叫做 file 的文件
mv a new_a:移动或重命名一个文件或目录
cp file new_file:复制一个文件
cp -a dir new_dir:复制一个目录
rm file:删除一个叫做 file 的文件
rm -rf dir:删除一个叫做 dir 的目录并同时删除其内容
chmod ugo+rwx dir:设置权限
cat file:查看文件的内容
vim file:编辑文件
grep word /messages:在文件 /messages 中查找关键词 word
ifconfig:显示网卡信息
ping www.baidu.com:测试百度与本机的连接情况
top:动态实时显示cpu、内存、进程等使用情况
ps aux | grep 进程号/进程启动命令/服务名:查看进程信息
kill -9 进程号:强制杀死进程
which 查看当前命令的路径
whereis 查看命令或文件的所有路径
如:which python3
得到的结果是系统默认执行python3的路径
whereis python3
得到很多条结果,把所有包括python3的路径都列出来了。