Linux

1.linux介绍

1.1 linux发行版介绍

1.redhat红帽子系统,收费,全世界用的最多的系统

2.centos,全世界用的第二多的服务端操作系统,和redhat用法一模一样,名字不一样而已,免费

3.ubuntu用在个人电脑,开发环境使用,以及物联网领域

4.suse,德国linux,数据安全性很强

1.2 虚拟机中linux网络连接方式

桥接 ,好比所有人都在教室,公用这个教室的局域网段 192.168.11.0~192.168.11.255

教室内有60个同学,插上了网线,所有人都是 192.168.11.x 系列的ip,自动分配一个

虚拟机选择桥接之后,就好比教室又来了一个同学,插上线了网线,公用宿主机网段的ip

image-20200213112749552

60个人都装了一个虚拟机,用的是桥接 60*3 =180 个

都选择桥接,可能会遇见什么问题,就是ip不够用了,可能会造成ip冲突

虚拟机选择桥接,可以在局域网内的其他同学通信

【NAT】

网络地址转换,基于你宿主机的网卡,在机器内部生成一个私有的局域网

image-20200213113000024

虚拟机选择NAT的话,只能和自己的私有局域网段通信了,以及和宿主机通信,和教室内的其他同学,就无法通信了

【仅主机模式】

单机模式,虚拟机只能和宿主机通信,没什么用

2.linux快捷键介绍(杂)

2.1 查看ip地址

进入到linux界面后,可以输入 ifconfig命令查看网络ip地址

如果不能看不了ip, 输入下面的指令配置 
1.登录系统后,需要切换root超级用户,否则权限很低
su  -  root  #需要输入root密码 

yum install  net-tools -y  #安装软件包 net-tools  

2.此时就可以输入ifconfig命令了

2.2 切换图形化和纯黑屏的命令

ctrl  + alt + f1~f7   代表linux默认的7个终端

f1 是图形化 其他是纯黑屏 

image-20200213145053782

2.3 远程连接linux

1.确保你的服务器,正确的获取到了ip地址
ifconfig

2.安装远程连接工具 
windows,安装xshell 或者 secureCRT

用macos,直接使用ssh命令即可
ssh root@192.168.178.134  	#连接linux指令

2.4 ip介绍(特殊ip介绍)

  • 123.206.16.61

这是一个公网的ip地址段,全世界都可以访问的

  • 127.0.0.1

本地回环地址,用于测试机器内部间通信的一个ip,只能自己和自己玩的地址

  • 0.0.0.0

这个地址,表示注册绑定一台机器,所有的ip地址 , 在服务器上启动项目,一般都直接使用0.0.0.0地址,能够同时注册在这个服务器上的所有ip地址。

2.5 端口介绍(特殊端口介绍)

一个端口对应一个服务

8080 ------自定义用的端口

3306--- mysql默认端口

80  --- http默认端口

443  ---https默认端口

6379 --- redis默认端口

22  -----  用于远程连接服务器用的端口 22

2.6 linux命令提示符

image-20200213151357201

[root@bogon ~]# cd       /home   #目录切换,切换到 /home文件夹下 

[root@bogon home]#pwd   #我在哪 ,能够输出当前所在的绝对路径 
[root@bogon home]# pwd
/home

[root@bogon home]# whoami  #我是谁 
root

#更改主机名的命令
hostnamectl set-hostname   新的主机名 

【知识点补充】
新建用户useradd  用户名
更改/设置用户密码  passwd   用户名
切换用户 su  -   新用户名

2.7 linux的文件系统 目录结构

image-20200213151847480

image-20200213152252509

windows的目录

windows的目录结构,是反斜杠的目录分隔符
是 
C:\
D:\
E:\

这种多个盘符的形式,可能存在多个目录顶点

linux的目录

只有一个 根目录  

/

例如 
/home   # 根目录下有一个home文件夹
/s25    #根目录下有一个s25文件夹

image-20200213155345202

2.8 设置linux中文显示

export LC_ALL=zh_CN.UTF-8   #设置linux一个全局的中文变量

3.linux基础命令

linux命令的语法

命令   可选参数     你要操作的对象

3.1 文件目录增删改查操作

1.创建一个普通文本文件 语法是 touch    文件名 
[root@bogon tmp]# touch     music.txt

2.创建一个隐藏的文件,创建一个隐藏的 singer.txt
touch    .singer.txt   #创建隐藏文件 

3.创建一个文件夹,名字叫做s25
[root@bogon tmp]# mkdir     s25

4.创建一个递归的文件夹,如 /s25/男同学    /s25/女同学 
mkdir  -p   /s25/男同学     /s25/女同学    # -p参数是 创建文件夹及其父文件夹

5.创建一个递归的文件夹 ,如 /s25new/男同学   /s25new/女同学
mkdir  -p   /s25new/{男同学,女同学}  #创建一个/s25文件夹,且创建2个平级的文件夹
rm命令,是remove的缩写,删除文件或是文件夹
#语法是
rm     文件/文件夹  #删除文件/文件夹 

比如
rm    test.txt #删除文件,默认有让用户确认删除的提示
rm  -f  test.txt  #强制删除文件,不需要提示确认
rm  -r   文件夹名  #递归删除文件夹,及其内部的文件

#提问,如何强制性删除 文件夹 ,以及其内部的资料

#这是一个危险的命令!!!!请理解后慎用!!!
#这是一个危险的命令!!!!请理解后慎用!!!
#这是一个危险的命令!!!!请理解后慎用!!!

rm   -rf   /*   #叫做删库到跑路,准备被打死吧。。。。万万不得敲。。。。

rm    -rf   ./*  #强制性删除当前目录下的所有内容 
cd  /home   #切换到 /home目录下
cd ..       #切换到上一级目录
ls  .   #查看相对的home目录下有什么内容
#查询当前目录下的内容   ls命令 
ls命令,就是list的缩写 
[root@bogon /]# ls   .
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr

#查看文件夹中所有内容,以及隐藏的文件,在linux下,以.开头的文件,是隐藏的,默认直接看不到
[root@bogon tmp]# ls   -a  firefox_pyyu/   

几个特殊的目录

.   代表当前的目录     

..  代表上一级的目录     #比如  cd ..  进入上一级目录 

~    代表当前登录用户的家目录,root用户就是/root   pyyu用户就是 /home/pyyu 

-    代表上一次的工作目录  

绝对路径和相对路径

绝对路径:只要是从根目录开始的写法,就是绝对路径

相对路径:非从根目录开始的写法,就是相对路径

#在/home目录下创建 s25文件夹,绝对,相对路径的写法

1.相对路径,以你当前的位置为相对,创建
比如我此时在 /tmp目录下,我的上一级就是  /  ,因此可以这么写
[root@bogon tmp]# mkdir     ../home/s25

2.绝对路径的写法,一般是绝不会错的,无需考虑你当前所在的位置,直接敲绝对路径即可
 mkdir    /home/s25

4.Linux常用命令

mkdir

mkdir  123    456    #可以一次生成多个文件

mkdir -p qwe/lll   qeww/323    # 加上-p可以递归形成多层文件夹

tree

以树状图显示文件目录的层级结构

# pip  是给python安装模块的工具
# yum  是给linux安装系统软件的工具
yum install tree -y  # 给linux安装tree, -y表示默认yes安装

查看linux命令的帮助信息

1.用man手册,linux提供的帮助文档
man ls
man cp
man mkdir

2.命令加上 --help参数,查看简短帮助信息
mkdir --help
rm --help

3.在线搜索一些命令查询网站
http://linux.51yip.com/

echo命令

在指令台输出字符串给用户看,和python中的print一样

[root@s25linux tmp]# echo  "111"
111

#linux在命令行的变量赋值,是临时生效的
#输出变量的值
#定义变量,中间有空格
name="123"   

#输出变量的值 
[root@s25linux tmp]# echo   $name
123

PATH变量

PATH就是定义一些常用的软件可执行命令的目录,放入系统中,可以快捷的查询,而不需要每次都输入绝对路径

1.为什么系统能够直接找到python解释器?
[root@s25linux tmp]# which python  #输出命令所在的绝对路径
/bin/python

2.学习linux的PATH,
[root@s25linux tmp]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

注意,PATH的路径,是有先后顺序的,从左往右,读取的
3.如果编译安装了一个python3,装在了 /opt/python36/目录下,怎么添加PATH?

#这个变量赋值的代码,就是添加python3到环境变量中了
PATH="/opt/python36/bin/:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:"

4.由于上述变量赋值的操作,只是临时生效,我们想永久的更改PATH的值,还得修改/etc/profile 

vim  /etc/profile #打开文件,在文件末尾,添加PATH值的修改
PATH="/opt/python36/bin/:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:"

image-20200214101321824

image-20200214102411090

image-20200214102841630

修改linux的全局配置文件

1.名字叫做 /etc/profile,里面是shell脚本语言

2.编辑这个文件,写入你想永久生效的变量和值,系统每次开机都会读取这个文件,让其生效

vim  /etc/profile 
写入如下内容
###这是自定义的变量,每次开机都能够读取了,第一条是设置系统中文的变量
export LC_ALL=zh_CN.UTF-8  #打开注释,系统支持中文
#export LC_ALL=en_US.UTF-8  #打开注释,系统就支持英文了

linux单引号和双引号的区别

单引号中的内容,仅仅就是个字符串了,不识别任何其他的特殊符号

双引号中的内容,能够识别特殊符号,以及变量

[root@s25linux ~]# echo '$name'
$name

[root@s25linux ~]# echo "$name"
我们是穿越在银河的火箭队

vim编辑器的用法

最基本的编辑器

windows

  • 记事本
  • sublime
  • notapad++
  • ….

linux

  • vi 等同于记事本,很难用,没有语法颜色提示灯
  • vim,等同于Notepad++,有颜色高亮,支持安装第三方插件,语法补全等等高级编辑器

vim使用流程

1. vim  需要单独安装的

yum instal  vim  -y  #  安装 

2.vim打开一个不存在的文件,默认会创建此文件

#用vim写一个python脚本,
#vim的使用流程
第一步:vim  first.py  ,此时会进入命令模式,按下字母 i,进入编辑模式
第二步:想要退出编辑模式,按下键盘的esc,回到命令模式
第三部:此时输入 shfit+冒号,输入一个英文的冒号,进入底线命令模式 
第四步:输入 :wq!  ,write写入内容,quit退出vim  ! 强制性的操作
:wq!  强制保存写入退出vim
:q!  强制不保存内容,直接退出

3.此时可以查看一下文件内容

[root@s25linux tmp]# cat first.py
#!coding:utf-8
print ("你看这个灯,它又大又量")


4.如何执行这个脚本?
python  fisr.py  #即可执行脚本文件了

vim基本语法

详细的网站:Linux vi/vim | 菜鸟教程 (runoob.com)

vim有三种模式,分别是命令模式(Command mode)输入模式(Insert mode)底线命令模式(Last line mode)

  • 命令模式

用户刚刚启动 vi/vim,便进入了命令模式。

此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令

移动光标

w(e)  移动光标到下一个单词
b    移动到光标上一个单词

数字0  移动到本行开头
$    移动光标到本行结尾

H    移动光标到屏幕首行
M    移动到光标到屏幕的中间一行
L    移动光标到屏幕的尾行
gg    移动光标到文档的首行
G    移动光标到文档尾行

ctrl + f  下一页
ctrl + b  上一页

`.  移动光标到上一次的修改行  (?)

查找

/chaoge     在整篇文档中搜索chaoge字符串,向下查找
?chaoge     在整篇文档中搜索chaoge字符串,向上查找

*        查找整个文档,匹配光标所在的所有单词,按下n查找下一处,N上一处
#        查找整个文档,匹配光标所在的所有单词,按下n查找下一处,N上一处

gd        找到光标所在单词匹配的单词,并停留在非注释的第一个匹配上

%    找到括号的另一半!!

复制,删除,粘贴

yy    拷贝光标所在行
dd    删除光标所在行
D     删除当前光标到行尾的内容
dG    删除当前行到文档尾部的内容
p     粘贴yy所复制的内容
x   删除光标所在的字符
u     撤销上一步的操作

数字与命令

3yy    拷贝光标所在的3行
5dd    删除光标所在5行
  • 输入模式

在命令模式下按下字母i即可进入输入模式,可以编写代码

  • 底线命令模式

在命令模式下输入冒号(英文的:),就进入了底线命令模式,在底线命令模式下可以输入单个或多个字符的命令,常用命令有:

:q!     强制退出
:wq!    强制写入退出
:set nu 显示行号
:数字  调到数字那行

随时按下esc可以退出底线命令模式
  • vim工作模式

1132884-20180811210511725-46034130

  • vim按键

移动光标

移动光标的方法
h 或 向左箭头键(←)    光标向左移动一个字符
j 或 向下箭头键(↓)    光标向下移动一个字符
k 或 向上箭头键(↑)    光标向上移动一个字符
l 或 向右箭头键(→)    光标向右移动一个字符

向下移动5行      5j
向右移动10字符    10l

n(space)    按下数字n,例如10,然后按下空格,光标会向右移动10个字符

底线命令

:! command    暂时离开vim指令模式,执行command的结果
例如  :!ip a    临时看一下ip信息,然后可以回到vim

:set nu    显示vim行号
:set nonu    取消行号

cat命令

用cat看一眼文件的内容

cat 文件名  

[root@s25linux tmp]# cat  first.py
print ("你看这个灯,它又大又量")

#读取内容,且显示行号
cat  -n  文件名 

#利用cat写入文件内容,写一首诗
[root@s25linux tmp]# cat >> second.py << EOF   # 直到最后一行为EOF就退出编辑
> #!coding:utf-8
> print("爱的魔力转圈圈")
> EOF
[root@s25linux tmp]# cat second.py
#!coding:utf-8
print("爱的魔力转圈圈")

linux的重定向符号

>    #重定向输出覆盖符  ,如同 python的 with open 中的  w模式 
>>	 #重定向输出 追加符  ,如同 a模式 

<    #重定向写入覆盖符,用的很少,用在数据导入等操作中,mysql数据导入 
<<  #用在cat命令中,很少见 

示例

1.echo输出一个字符串,内容不在屏幕上打印,写入到一个文件中
[root@s25linux tmp]# echo "左手跟我一起画个龙"  >  迪斯科.txt
[root@s25linux tmp]# echo "左手跟我一起画个龙"  >  迪斯科.txt
[root@s25linux tmp]# echo "左手跟我一起画个龙"  >  迪斯科.txt
[root@s25linux tmp]# cat -n  迪斯科.txt
     1	左手跟我一起画个龙
     
2.追加写入文件内容
[root@s25linux tmp]# echo "右手和我划一道彩虹"  >>  迪斯科.txt
     1	左手跟我一起画个龙
     2	右手和我划一道彩虹

cp命令

拷贝

#对于配置文件的修改,或者是代码文件的修改,防止突然写错了,复制一份
#复制文件
[root@s25linux tmp]# cp  木兰诗.txt     新_木兰诗.txt

#复制文件夹,复制文件夹需要添加 -r 递归复制参数
[root@s25linux tmp]# cp  -r  a   new_a

mv命令

mv命令可以移动文件 ,文件夹的路径

mv命令也能够进行重命名

1.重命名的功能
语法是
mv  旧文件名   新文件名  
[root@s25linux tmp]# mv  木兰诗.txt      new_木兰诗.txt

2.移动位置 
语法

mv  你要移动的文件或是文件夹       移动之后的目录名(如果文件夹存在,则移动,不存在是改名)

案例
mv   test.txt      b   #移动 test.txt文件  到 b文件夹下(b文件夹得存在)

alias别名命令

为什么rm命令默认会有一个让用户确认删除的动作呢?

解答是因为 rm 的-i参数作用

alias  #直接输入可以查看当前系统的别名 

案例
1.给系统添加一个别名
当你敲下start就是在执行后面的长串命令,很方便 
alias start="python3  /home/mysite/manager.py runserver  0.0.0.0:8000"

find命令

可以用于搜索机器上所有的资料,按照文件名字搜索,linux一切皆文件

语法
find   你要从哪找    -type 你要的文件类型是什么 -size  你要的文件内容多大  -name  你要的内容名字是什么
-type  f  是找普通文本文件 
-type  d  是找 文件夹 类型 
-name  是指定文件的名字内容 

#在系统上 全局搜索,所有的.txt文件
find  /    -name  "*.txt"

#指定在etc目录下,进行局部搜索,一个网卡配置文件,网卡名字是以ifcfg开头的 ,文本类型文件
find   /etc   -type  f   -name   "ifcfg*"

案例2

1.准备好测试的数据,在/tmp目录下
mkdir  /tmp/python{1..5}  #在/tmp目录下 创建 出 python1  ptyhon2 ... python5 
touch  /tmp/python_{a..d}  #在/tmp目录下创建出 python_a   ptyhon_b ..  python_d  几个文件

2.查看准备好的测试文件 
[root@s25linux tmp]# ls
python1  python3  python5   python_b  python_d
python2  python4  python_a  python_c

3.在/tmp目录下联系find命令

4.找出/tmp目录下所有的pyton相关内容
[root@s25linux tmp]# find  .   -name "python*"
./python1
./python2
./python3
./python4
./python5
./python_a
./python_b
./python_c
./python_d

5.找出/tmp 下所有的python相关的文件
[root@s25linux tmp]# find  .   -type f    -name "python*"
./python_a
./python_b
./python_c
./python_d

6.反之找出所有的文件夹
find  . -type d  -name "python*"

7.全局搜索,超过10M大小的 txt文本
[root@s25linux tmp]# find  /  -size +10M  -name "*.txt"
/tmp/python2.txt
/tmp/python3.txt

查看文件,文件夹大小

ls -lh  # -h参数,是显示文件单位,以kb  mb gb大小为单位   -l是列表形式,列出文件夹中详细信息

linux的管道符命令

image-20200214115221615

1.例如过滤服务器上的进程信息

2.例如过滤服务器上的端口状态信息

grep命令

过滤有用信息的命令, 支持正则表达式

1.语法
grep "你想过滤的字符串"   需要过滤的文件  #用法一

准备一个测试的文件test.txt
[root@s25linux tmp]# cat test.txt

跟着我左右右手一个慢动作

#左右右手慢动作重播

一个大西瓜,送给你,也不送给他

ALLOW_HOSTS=[]

2.过滤文件中的相关内容
#找出文件中含有 "大" 字的行,且显示此内容,在哪一行
grep -n "大"   test.txt   # -n 参数是显示行号

#忽略大小写,找出ALLOW_HOSTS=[]参数是否被修改
grep -i "al"  test.txt   # 忽略字符大小写的差别

#过滤出此文件非空白行,如何操作?
拆解如下
找出所有的空白行 
[root@s25linux tmp]# grep "^$"   test.txt   #  "^$"  以空开头,以空结尾,因此是空白行
# -v 参数是 翻转过滤结果 ,找出 空白行以外的内容
[root@s25linux tmp]# grep -v   "^$"   test.txt

#过滤掉注释行,和空白行 ,如何操作?
[root@s25linux tmp]# grep -v  "^#"   test.txt | grep -v "^$"
跟着我左右右手一个慢动作
一个大西瓜,送给你,也不送给他
ALLOW_HOSTS=[]

示例二

cat  文件   |   grep   "你想要的内容"   #用法二

1.找出linux的用户信息文件,中 有关pyyu的行信息  /etc/passwd

[root@s25linux tmp]# cat /etc/passwd  |  grep  "pyyu"
pyyu:x:1000:1000:pyyu:/home/pyyu:/bin/bash 

head、tail命令

head和tail都是能够读取文件内容的
语法是 
head  文件名  #默认从文件的前10行看

head  /etc/passwd  #默认看前10行
head -3  /etc/passwd  #查看文件的前3行

tail  文件名 #默认从文件的后10行看
tail -2  /etc/passwd   #查看文件的后2行

tail命令的实时监控用法 ,可以用于检测线上的日志文件,检测用户的请求信息

tail -f  文件名  #实时刷新文件内容 

tail -f /tmp/test.txt  #能够检测文件内容的变化 

scp命令

在2台linux机器(macos)之间,通过网络安全的传输文件,文件夹

scp命令 语法是

环境准备,准备2台linux机器

确保两台机器能够通信

机器1:192.168.178.134

机器2:192.168.178.235

案例1:
我登录的是 机器1

需求1:将机器1的/tmp/好嗨哦.txt  发送到 机器2的/tmp目录下 
[root@s25linux tmp]# scp  /tmp/好嗨哦.txt root@192.168.178.235:/tmp/

需求2:把机器2的/tmp目录下的资料 给拿到本地的/opt目录下
scp  你想要的内容   内容发送到哪里 
scp  root@192.168.178.235:/tmp/小样别偷看.txt     /opt/

image-20200214151920978

情况2,我登录的是 机器2

【把别人的资料拿来】
案例1:我想拿到机器1的/opt/test.txt  拿到机器2的/tmp目录下
scp  我想要的内容    内容存放的地点

scp  root@192.168.178.134:/opt/test.txt      /tmp/

【把自己的资料发给别人】
案例2:我想把本地的/home/fisrst.py  发送给机器1的/home目录下
scp   /home/first.py    账号@机器1:/home/
scp /home/first.py   root@192.168.178.134:/home/  

#如果发送的是整个文件夹,就得加上 -r  递归的拷贝参数
[root@s25linux tmp]# scp  -r  ./lol    root@192.168.178.235:/tmp/

#用通配符发送多个文件
[root@s25linux tmp]# scp -r  ./*  root@192.168.178.235:/tmp/134bak/

lrzsz工具

用于windows(基于xshell工具)和linux之间互相传递文件

1.安装此工具
yum install  lrzsz -y  

2.安装好lrzsz之后,就存在了2个命令   一个是 rz  一个是sz
rz  #直接输入rz命令,能够蹦出一个弹窗,接收windows的资料

sz  文件  #发送linux的一个文件,发给 windows某个位置,也是出现一个弹窗

du命令

用法
du 【参数】【文件或目录】
-s 显示总计
-h 以k,M,G为单位显示,可读性强

案例

统计/var/log/文件夹大小 
du -sh  /var/log/  

#显示当前目录下 所有文件的大小
[root@s25linux tmp]# du  -h ./*

top命令

能够显示 动态的进程信息

cpu、内存,网络,磁盘io等使用情况 ,也就是一个资源管理器

那么linux的资源管理器 就是top命令

第一行 (uptime)
系统时间 主机运行时间 用户连接数(who) 系统1,5,15分钟的平均负载

第二行:进程信息
进程总数 正在运行的进程数 睡眠的进程数 停止的进程数 僵尸进程数

第三行:cpu信息
1.5 us:用户空间所占CPU百分比
0.9 sy:内核空间占用CPU百分比
0.0 ni:用户进程空间内改变过优先级的进程占用CPU百分比
97.5 id:空闲CPU百分比
0.2 wa:等待输入输出的CPU时间百分比
0.0 hi:硬件CPU中断占用百分比
0.0 si:软中断占用百分比
0.0 st:虚拟机占用百分比

第四行:内存信息(与第五行的信息类似与free命令)
total:物理内存总量
used:已使用的内存总量
free:空闲的内存总量(free+used=total)
buffers:用作内核缓存的内存量

第五行:swap信息
total:交换分区总量
used:已使用的交换分区总量
free:空闲交换区总量
cached Mem:缓冲的交换区总量,内存中的内容被换出到交换区,然后又被换入到内存,但是使用过的交换区没有被覆盖,交换区的这些内容已存在于内存中的交换区的大小,相应的内存再次被换出时可不必再对交换区写入。

ps命令

用于查看linux进程信息的命令

语法就是 
ps  -ef    # -ef,是一个组合参数,-e  -f 的缩写,默认显示linux所有的进程信息,以及pid,时间,进程名等信息 

#过滤系统有关vim的进程 
[root@s25linux ~]# ps -ef |  grep  "vim"
root      24277   7379  0 16:09 pts/1    00:00:00 vim ps是怎么用的.txt
1.一个django运行后,如何验证django是否运行了,它会产生些什么内容?
能够产生日志,检测到用户的请求,说明django运行了
查看端口情况,django会占用一个端口 
产生一个python相关的进程信息 

kill命令

杀死进程的命令

kill   进程的id号

如果遇见卡死的进程,杀不掉,就发送 -9  强制的信号 

kill -9  pid

netstat命令

查看linux的网络端口情况

语法如下
常用的参数组合  -t -n -u -l -p    

[root@s25linux tmp]# netstat -tunlp   #显示机器所有的tcp、udp的所有端口连接情况

#例如验证服务器80端口是否存在
netstat  -tunlp  |  grep  80

#过滤3306端口是否存在 
netstat -tunlp |grep 3306


#过滤ssh服务是否正常
[root@s25linux tmp]# netstat -tunlp  |   grep   ssh
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1147/sshd
tcp6       0      0 :::22                   :::*                    LISTEN      1147/sshd




#有些公司为了保护服务器安全,更改了默认的远程连接端口
# ssh端口 26674    ip 是  123.206.16.61   账号是 xiaohu   密码是 xiaohu666

#我怎么登陆服务器呢?用如下的命令去连接服务器 
ssh  -p  26674    xiaohu@123.206.16.61  


ssh  -p 22 root@192.168.178.134
root@192.168.178.134's password:
版权声明:本文为hnu-hua原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/hnu-hua/p/16900019.html