com命令显示到服务器链路,必须收藏的linux shell常用命令
简介
本篇文章主要列举了我们在Linux平台 开发,运维中常用到的命名,也是一个命令查询手册。
shell 说明
与操作系统(内核)交互的软件应用,通常我们讲的shell都是脚本形式的,就象javascript一样。shell脚本不是本篇文章重点。我们主要讲的是控制台命令,就是我们经常登录操作系统后执行的命令。其实这个就是shell交互式命令行(CLI),当我们进入操作系统后 执行ps你会发现有一个bash(一般都是)进程,这就是为我们提供命令行应用程序。当然会很多shell应用程序如: sh,csh。下图是启动shell的默认加载顺序。login 与 nonlogin区别
查看系统支持的shell
cat /etc/shells
显示当前系统使用的shell
echo $SHELL
切换shell
如果想要切换shell,可以直接输入需要转换的shell,如切换成sh直接输入sh,退出使用exit
使用说明
到这里我们都知道了执行命令其实是shell进程帮我们做了处理,那么我们执行的命令shell是如何找到的呢?其实我们所执行的命令分内部命令和外部命令,内部命令是shell本身提供的(已加载到内存中的),外部命令就是我们平时安装(放在$PATH下的)的命令,shell执行是会先找自己内部命令,如果没有找到才会根据PATH配置的顺序查找并执行,不仅如此还会缓存到hash表中(可以用hash命令显示当前缓存的命令)
常用命令
1. ssh user@ip ssh登录服务器
2.传文件 scp sourceAddr root@ip:/home/service
3.压缩 tar -czf libs.tar.zip libs 解压 tar -zxvf libs.tar.zip
ulimit -a 查看当前用户线程
vi /etc/security/limits.d/90-nproc.conf 修改用户能开启线程最大数
vi /etc/security/limits.conf 修改打开最大文件数
5 linux 免密登录
1.将登录服务器的公钥copy 到目标服务器 ~/.ssh/authorized_keys (保证.ssh 700 , authorized_keys 600,如果还是登录失败请 restorecon .ssh .ssh/authorized_keys )
2.ssh work@192.168.x.x -i 私钥地址 (如果登录不上可以加-v进行调试)
说明:需要restorecon的原因可能是.ssh 或者 authorized_keys是从另的地方copy过来的,导致SElinux上下文权限一并copy过来,所以需要restorecon重置上下文
3./var/log/secure 可以在服务端查询ssh登录日志信息进行调试
6 sysstat 工具包相关应用
1. iostat
iostat -d -k 1 10 #查看TPS和吞吐量信息
iostat -d -x -k 1 10 #查看设备使用率(%util)、响应时间(await)
iostat -c 1 10 #查看cpu状态
2. sar
sar -u 1 3#查看cpu使用情况
sar -q#查看平均负载
sar -r #查看内存使用情况
sar -d #磁盘使用详情统计
7 top(shift+p 可以按处理器占用率排序 shift+M按内存)
top -Hp pid 查看pid进程相关信息:包括:子线程信息,cpu占用
8 printf 格式化函数
printf '%X\n' 1231 转16进制
9 sysctl 用于运行时配置内核参数
/etc/sysctl.conf 设置参数文件
-a 显示所有的系统参数
-p 从指定的文件加载系统参数,如不指定即从/etc/sysctl.conf中加载
10 selinux 相关操作
1、/usr/sbin/sestatus -v 如果SELinux status参数为enabled即为开启状态
2、临时关闭(不用重启机器):
setenforce 0 设置SELinux 成为permissive模式
setenforce 1 设置SELinux 成为enforcing模式
3、修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可
11 time 统计程序耗时
time ls
#执行程序总时间(wall clock time 包括cpu执行其它程序时间)
real 0m0.002s
#ls 程序实际执行时间=user(用户空间) + sys(内核空间)
user 0m0.000s
sys 0m0.001s
12 日志相关
cat /var/log/messages 包括整体系统信息
cat /var/log/dmesg 包含内核缓冲信息
cat /var/log/boot.log 系统启动日志
cat /var/log/yum.log — 包含使用yum安装的软件包信息
cat /var/log/cron crontab 调度时间
cat /var/log/secure — 包含验证和授权方面信息。例如,sshd会将所有信息记录(其中包括失败登录)在这里
cat /var/log/faillog – 包含用户登录失败信息。错误登录命令也会记录在本文件中
/var/log/lastlog 用户最后登录日志 可以通过 lastlog 命令查询:lastlog 或者 lastlog -u root
/var/log/btmp – 记录所有失败登录信息。使用last命令可以查看btmp文件。例如,”last -f /var/log/btmp | more“。
常用命令分类
网络相关
网络诊断工具
tcpdump抓包工具
tcpdump tcp -i ens160 and dst port 80 or src net 127.0.0.1 -w ./target.cap
检查端口占用或者tcp连接情况 netstat -anltp | grep 1234
安装 yum install net-tools
分组查询某个tcp服务连接情况
netstat -n | grep tcp | grep 9080 | awk '{print $6}' |sort | uniq -c
查询本地tcp服务连接情况
netstat -n | grep tcp | awk '{print $4 " " $6}' | sort | uniq -c | sort -rn | more
查询应用的连接数
netstat -np | grep port | grep ip | awk '{print $7}' | awk -F '/' '{print $1}' | sort | uniq -c
网络链路工具
traceroute
traceroute www.baidu.com
MTR
链路测试工具 详细参考文档
yum install -y mtr
mtr baidu.com
客户,服务端socket工具
nc/ncat(netcat) 创建服务监听或连接服务指令
nc -l -p 9090 创建一下9090监听服务
nc localhost 9090(server port) [-p 8090(client port)] 连接服务
ss 用来显示处于活动状态的套接字信息
ss -s 显示socket相关统计信息
ss -pl 查看相关进程与端口信息
域名查询/诊断工具
host -a baidu.com
host -a baidu.com 10.0.2.3 指定nameserver解析
nslookup baidu.com 判断域名解析服务器
nslookup baidu.com 10.0.2.3 判断域名解析服务器
dig工具查询/跟踪dns记录
yum install -y bind-utils
dig baidu.com
dig +trace baidu.com
dig -x 127.0.0.1 根据IP查找域名(反解)
进程相关命令
进程切换
Ctrl + z 将进程放到后台进行
jobs -l 查看后台进程
fg 打开进程
pstree 当前某程序的线程或进程数
安装 yum -y install psmisc
pstree -p | wc -l 总线程数
查看进程相关信息 ps
ps -p pid -o etime 查看进程运行总时长
ps -ef | grep xxx搜索某进程
ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' | sort -nrk5查询内存等
lsof(list opened files) 列举系统中已经被打开的文件
lsof -i tcp:8080 查看端口占用
lsof | grep deleted 查看已删除,还是被占用的文件:有时候出现rm后的文件,空间还是没有释放,原因可能是这个文件还被其它进程占用,可以通过此命令查看文件被打开情况,情况允许的情况下,重启相关应用,以确保释放空间
lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr| 查看进程打开的文件句柄数
strace 追踪进程的系统调用
#安装
sudo yum install -y strace
strace -f -t -o a.log ls
查询命令
man
# 支持查看内核方法
yum install -y man-pages
1是普通的命令
2是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个 函数,需要加什么头文件)
3是库函数,如printf,fread
4是特殊文件,也就是/dev下的各种设备文件
5是指文件的格 式,比如passwd, 就会说明这个文件中各个字段的含义
6是给游戏留的,由各个游戏自己定义
7是附件还有一些变量,比如向 environ这种全局变量在这里就有说明
8是系统管理用的命令,这些命令只能由root使用,如ifconfig
如:
man 2 socket
#查看系统调用
man syscalls
查看操作系统版本
cat /etc/redhat-release
cat /etc/issue
uname -a
cat /proc/version
查看ip地址 ip add 与 ifconfig
使用ifconfig需要安装 net-tools
使用ip需要安装iprout2
ip相关使用
ip route show 列出路由条目
ip route get 192.xx.xx.xx 获取某ip路由包
ip addr show eth0 查看某网卡ip地址
统计信息
-S按文件大小排序 -h,显示文件大小 k,M,G
ls -lthS
系统内在使用量
free -h
按名字查看
sudo find / -name nginx.config
按大小查看文件
find / -type f -size +2G
统计关键词数
`cat filename | grep hello | wc -l`
du查看目录大小,df查看磁盘使用情况。du -sh df -h du -h --max-depth=1
查询cpu信息
查询cpu核心数
cat /proc/cpuinfo | grep "processor" | wc -l
查询cpu个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
com命令显示到服务器链路,必须收藏的linux shell常用命令相关推荐
- linux命令速查手册_值得收藏!Linux系统常用命令速查手册
作者:民工哥 出自:SegmentFault 思否 原文:segmentfault.com/a/1190000024538289 系统信息 arch #显示机器的处理器架构(1) uname -m # ...
- 【收藏】Linux系统常用命令速查手册(附赠PDF档)
给大家收集整理了日常常用的Linux系统命令,仅供大家参考. 大家如果觉得文章看起来不太方便,获取<Linux系统常用命令速查手册>.PDF版. 联系小姐姐,备注"liunx命令 ...
- 【收藏】Linux系统常用命令速查手册(附PDF下载链接)
给大家收集整理了日常常用的Linux系统命令,仅供大家参考. 大家如果觉得文章看起来不太方便,可以在+qq. 2 3 5 53 3 1 0 4 6 备注"liunx命令",即可获取 ...
- Linux Shell常用命令总结
1. find find pathname -options [-print -exec -ok] 让我们来看看该命令的参数: pathname find ...
- Linux shell 常用命令
新建软连接命令 在linux下很多地方都需要软连接,软连接其实就是windows的快捷方式. 制作软连接需要ln命令,命令格式为 ln -s targetfile linkfile 会在当前目录下生成 ...
- Linux Shell常用命令学习(1)
1. find find pathname -options [-print -exec -ok] 让我们来看看该命令的参数: pathname find ...
- 【系统性学习】Linux Shell常用命令
本文重点是脚本开发时会常用的命令和一些提高效率的高频系统操作命令,其他命令(主要是运维方面的,如网络操作.硬件操作.文件打包等)后续补充. 该文配合[系统性学习]Linux Shell易忘重点整理(会 ...
- Linux Shell 常用命令与目录分区的学习总结
很早就想根据自己的学习规律和遗忘规律,自己总结一下Linux/Unix系统的Shell命令,一来便于自己时常查询之用,二来也分享于各位博友 Linux shell是系统的用户界面,即命令行.它提供了用 ...
- Linux shell常用命令
目录 前言 Shell Linux命令概述 Linux命令的分类 命令行的格式 获得命令帮助的方法 目录和文件的基本操作 查看及切换目录 创建目录和文件 复制.删除.移动目录和文件 查找目录和文件 前 ...
最新文章
- 数据预处理--噪声_为什么数据对您的业务很重要-以及如何处理数据
- 集成学习Bagging和Boosting算法总结
- [Spring MVC] - JSP + Freemarker视图解释器整合
- pandas.get_dummies
- C++选择排序(附完整源码)
- java 21-13 合并
- SAP Spartacus B2B User 页面的数据读取逻辑设计
- 给数值加上千分位的php程序,JavaScript_js 实现数值的千分位及保存小数方法(推荐),实例如下:/*** 将数 - phpStudy...
- think in java i o_《Thinking in Java》学习——18章Java I/O系统(三)
- datagridview实时更新数据_旭诺云盒|智能办公新趋势进出口数据自动提取,通关状态实时更新...
- 快速入门PyTorch(3)--训练一个图片分类器和多 GPUs 训练
- JS 中通过对象关联实现『继承』
- ga设置迭代次数_种群进化+邻域搜索的混合算法(GA+TS)求解柔性作业车间调度问题(FJSP)算法介绍...
- 对话Google全球VP Jay Yagnik:TensorFlow2.0会强化可控性
- 【转】ASPNET程序中常用的三十三种代码
- python fileinput处理多文件
- Micmac摄影测量软件介绍
- IE浏览器,ajax提示错误“no transport”
- Java中CountDownLatch的使用和求多线程的运行时间
- 地图下面的标尺是什么意思_【一点资讯】地图的主要类型有哪些? 何谓地图比例尺? 什么是地图注记? www.yidianzixun.com...