linux shell基础命令

du -h  #查询磁盘文件大小和列表

df  -h   # 查询服务器磁盘使用情况

top/free   # 查询服务器内存,cpu等资源使用情况

iptables    # 防火墙相关的命令

vi  /etc/sysconfig/iptables  #  编辑防火墙配置

关于防火墙配置可参考:http://blog.chinaunix.net/uid-26495963-id-3279216.html

# 统计,查找,用户,群组,授权,分析,搜索命令

curl  members.3322.org/dyndns/getip   # 获取当前服务器的外网地址。

-----------------------------------------------------------------------------------------------

find 命令

find . -size +100000k -exec ls -lh {} \;  # 查询系统大于100000k文件列表

find / -name  nginx*  # 查询根目录下文件名以nginx为前缀的所有文件;

find语法1: find   目录   -类型     搜索规则
-----------------------------------------------------------------------------------------------

Linux 校对服务器时钟

方法一:Linux中有个ntp包可以自动校准时间,并且非常好用  

校准时间命令:ntpdate cn.pool.ntp.org 

如果想每隔一定时间自动校时,只需将上面的命令加入至Cron就行了: 00 12 * * * /sbin/ntpdate cn.pool.ntp.org

方法二:服务器采用ntp更新时间,经常牵扯到UTC是否开启的问题,开启了时间就会快8个小时,另一个快速校对Linux服务器时间至北京时间

rdate -t 60 -s stdtime.gov.hk

使用rdate将stdtime.gov.hk服务器的时间抓取回来,然后写入硬件: hwclock -w

下面是rdate的命令使用方法介绍
    功能说明:显示其他主机的日期与时间。
    语  法:rdate [-ps][主机名称或IP地址...]
    补充说明:执行rdate指令,向其他主机询问系统时间并显示出来。
    参  数:
      -p  显示远端主机的日期与时间。 
      -s  把从远端主机收到的日期和时间,回存到本地主机的系统时间。

-----------------------------------------------------------------------------------------------

 查看当前Linux服务器的端口是否被占用

方法1:lsof  -i

lsof  -i tcp:8080      或       lsof -i:8080

方法2:netstat

netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。

举例:

~] netstat  -anp                # 查询所有使用中的端口清单
~] netstat  -anp | grep  8080   # 查看8080端口是否被使用

 

查看远程服务器的端口是否已经开启/或被打开

注:需要检查防火墙以及服务器的安全组

方法1:telnet

telnet是windows标准服务,可以直接用;如果是linux机器,需要安装telnet

~] telnet ip port

方法2:nc

Ncat/nc是一个功能丰富的网络实用程序,可以从命令行跨网络读取和写入数据。 Ncat是为Nmap项目编写的,是目前分散的Netcat版本系列的高潮。 它旨在成为可靠的后端工具,可立即为其他应用程序和用户提供网络连接。nc 命令 是 ncat 的软链接。ncat 与 cat 有着相似的作用

TCP/UDP协议测试bai端口

~] nc -vuz ip  port  //测试udp协议
~] nc -vtz ip port   //测试tcp协议

方法3:curl

利用URL语法在命令行下工作的文件传输工具,1997年首次发行。

它支持文件上传和下载,所以是综合传输工具,但按传统,习惯称cURL为下载工具。

CURL还包含了用于程序开发的libcurl。

// 举例1: -d参数用于发送 POST 请求的数据体。
~] curl -d'login=emma&password=123' -X POST https://google.com/login
// 或者
~] curl -d 'login=emma' -d 'password=123' -X POST  https://google.com/login

// 举例2:发送get请求
~] curl  -X GET  https://google.com/login?login=emma
// 或者,默认发送GET请求
~] curl  https://google.com/login?login=emma

详情可以参考:http://www.ruanyifeng.com/blog/2019/09/curl-reference.html

方法4:wget

wget是一个下载文件的工具,它用在命令行下。经常用于下载一些软件或从远程服务器恢复备份到本地服务器。

支持HTTP,HTTPS和FTP协议,可以使用HTTP代理。所谓的自动下载是指,通过启动一个wget下载任务,wget在后台执行直到任务完成

wget 可以跟踪HTML页面上的链接依次下载来创建远程服务器的本地版本,完全重建原始站点的目录结构。这又常被称作”递归下载”。

wget 非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性.如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。

举例

~] wget  ip:port  // 测试端口连通性,如果端口未开启,则会一直处于链接中,否则会响应成功或失败,成功执行会执行下载

方法5:ssh

SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,在linux上可以通过ssh命令来测试端口的连通性,具体用法格式如下:

举例:

~] ssh -v -p port username@ip

// 说明:
// -v 调试模式(会打印日志).
// -p 指定端口
// username 远程主机的登录用户
// ip 远程主机

结果图示:

 

 

-----------------------------------------------------------------------------------------------

 查看和强制踢出用户命令

一、输入w命令查看已登录用户信息 

[root@wlptServer ~]# w
 13:58:22 up 263 days,  3:25,  4 users,  load average: 0.00, 0.02, 0.06
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1     -                18Oct16 27days  3.57s  3.57s -bash
xpdlapp  pts/0    172.10.1.1       13:07   50:02   0.01s  0.01s -bash
root     pts/2    172.10.1.1       13:57    0.00s  0.01s  0.00s w
xpdlapp  pts/3    172.10.1.1       13:58    2.00s  0.00s  0.00s -bash

二、使用命令pkill -kill -t 用户tty

[root@wlptServer ~]# pkill -kill -t pts/0

[root@wlptServer ~]# pkill -kill -t pts/3

三、验证操作是否成功 

[root@wlptServer ~]# w
 14:03:09 up 263 days,  3:29,  2 users,  load average: 0.00, 0.03, 0.05
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1     -                18Oct16 27days  3.57s  3.57s -bash
root     pts/2    172.10.1.1       13:57    0.00s  0.09s  0.00s w

登陆用户信息说明: 
USER:显示登陆用户帐号名。用户重复登陆,该帐号也会重复出现。 
TTY:用户登陆所用的终端。 
FROM:显示用户在何处登陆系统。 
LOGIN@:是LOGIN AT的意思,表示登陆进入系统的时间。 
IDLE:用户空闲时间,从用户上一次任务结束后,开会记时。 
JCPU:一终端代号来区分,表示在摸段时间内,所有与该终端相关的进程任务所耗费的CPU时间。 
PCPU:指WHAT域的任务执行后耗费的CPU时间。 
WHAT:表示当前执行的任务。
-----------------------------------------------------------------------------------------------

windows-dos终端:测试远程服务器的指定端口是否可用;

nc -w 5  10.107.20.12 2181 && echo ok

 

posted @ 2016-12-09 10:11  OutPointException  阅读(385)  评论(0编辑  收藏  举报