简介

本篇文章主要列举了我们在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常用命令相关推荐

  1. linux命令速查手册_值得收藏!Linux系统常用命令速查手册

    作者:民工哥 出自:SegmentFault 思否 原文:segmentfault.com/a/1190000024538289 系统信息 arch #显示机器的处理器架构(1) uname -m # ...

  2. 【收藏】Linux系统常用命令速查手册(附赠PDF档)

    给大家收集整理了日常常用的Linux系统命令,仅供大家参考. 大家如果觉得文章看起来不太方便,获取<Linux系统常用命令速查手册>.PDF版. 联系小姐姐,备注"liunx命令 ...

  3. 【收藏】Linux系统常用命令速查手册(附PDF下载链接)

    给大家收集整理了日常常用的Linux系统命令,仅供大家参考. 大家如果觉得文章看起来不太方便,可以在+qq. 2 3 5 53 3 1 0 4 6 备注"liunx命令",即可获取 ...

  4. Linux Shell常用命令总结

    1.   find        find pathname -options [-print -exec -ok]        让我们来看看该命令的参数:        pathname find ...

  5. Linux shell 常用命令

    新建软连接命令 在linux下很多地方都需要软连接,软连接其实就是windows的快捷方式. 制作软连接需要ln命令,命令格式为 ln -s targetfile linkfile 会在当前目录下生成 ...

  6. Linux Shell常用命令学习(1)

    1.   find        find pathname -options [-print -exec -ok]        让我们来看看该命令的参数:        pathname find ...

  7. 【系统性学习】Linux Shell常用命令

    本文重点是脚本开发时会常用的命令和一些提高效率的高频系统操作命令,其他命令(主要是运维方面的,如网络操作.硬件操作.文件打包等)后续补充. 该文配合[系统性学习]Linux Shell易忘重点整理(会 ...

  8. Linux Shell 常用命令与目录分区的学习总结

    很早就想根据自己的学习规律和遗忘规律,自己总结一下Linux/Unix系统的Shell命令,一来便于自己时常查询之用,二来也分享于各位博友 Linux shell是系统的用户界面,即命令行.它提供了用 ...

  9. Linux shell常用命令

    目录 前言 Shell Linux命令概述 Linux命令的分类 命令行的格式 获得命令帮助的方法 目录和文件的基本操作 查看及切换目录 创建目录和文件 复制.删除.移动目录和文件 查找目录和文件 前 ...

最新文章

  1. 手把手教你安装深度学习软件环境(附代码)
  2. Python 数据结构视频教程一
  3. 裘宗燕-数据结构与算法python描述-ppt及源代码
  4. WinForm绘制柱形图
  5. phpcms9-6-0 一键getshell工具
  6. 万能驱动xp离线版_教你用SC封装软件来封装XP系统
  7. python学习day-4 集合与函数
  8. tcp和udp的优缺点
  9. CCCC/PTA 2019模拟赛 L3-3 至多删三个字符
  10. Python基础之set集合与函数
  11. 扫雷小游戏 3.0 版本
  12. opencv实现阈值分割算法和分水岭算法
  13. python_面向对象,以及类的相关知识
  14. 浏览器的作用不只是搜索、浏览网页,它还隐藏着这些功能
  15. 怎么给input插入一个图片
  16. iOS视频开发(二):视频H264硬编码
  17. 计算机二级选择题记忆知识点
  18. .NetCore外国一些高质量博客分享
  19. windows系统日志查询
  20. 算法笔记之hoorspool算法

热门文章

  1. webots、ros联合调教自定义控制器实现
  2. 电脑键盘的详细键值表
  3. Android展示指定文件夹下面的所有的图片
  4. 使用dreamweavernbsp;制作网页幻灯片
  5. 安科瑞分布式光伏发电监测系统解决方案-Susie 周
  6. Oracle10g服务器管理恢复
  7. React 导航守卫
  8. python资源管理器安装_python将资源管理器文件拖放到tkinter entry widg
  9. 洛谷 P1311 选择客栈
  10. 图的关键路径(含多支交叉路径分离输出)