Linux实用命令(测试开发)

目录

0 概念

Linux系统

Liunx目录结构 

1 服务端口

2 虚拟机和本机互传文件

3 Navicat通过SSH连接Mysql

4 Docker命令

 5 查看Centos版本

6 查看网关

7 查看账户和密码

8 yum下载安装

 9 实时查看日志

10 设置时间

11  进程命令

附录1 基础命令

文件和目录相关

编辑文件vi

其他很有用命令


0 概念

Linux系统

Liunx目录结构 

 

  1. bin(binaries)存放二进制可执行文件
  2. sbin(super user binaries)存放二进制可执行文件,只有root才能访问
  3. etc(etcetera)存放系统配置文件
  4. usr(unix shared resources)用于存放共享的系统资源
  5. home存放用户文件的根目录
  6. root超级用户目录
  7. dev(devices)用于存放设备文件
  8. lib(library)存放跟文件系统中的程序运行所需要的共享库及内核模块
  9. mnt(mount)系统管理员安装临时文件系统的安装点
  10. boot存放用于系统引导时使用的各种文件
  11. tmp(tmporary)用于存放各种临时文件
  12. var(variable)用于存放运行时需要改变数据的文件

1 服务端口

Windows查看开启的服务 net start

Windwos 查看端口为服务占用

  1. netstat -ano|findstr "3306"
  2. tasklist | findstr "5336"

其中3306为端口号,5336为进程ID

Linux查看服务和端口         netstat -anotp

Linux可搭配grep进行筛选

Linux若无netstat工具,安装netstat命令        yum install net-tools

Local :访问端口的方式,0.0.0.0 是对外开放端口;127.0.0.1 说明只能对本机访问,外面访问不了此端口;

Address:端口

Foregin Address:对外开放,一般都为0.0.0.0:* 

Program name:此端口是那个程序在用,程序挂载此端口

重点说明

0.0.0.0 是对外开放,通过服务域名、ip可以访问的端口

127.0.0.1 只能对本机 localhost访问,也是保护此端口安全性

::: 这三个: 的前两个”::“,是“0:0:0:0:0:0:0:0”的缩写,相当于IPv6的“0.0.0.0”,就是本机的所有IPv6地址,第三个:是IP和端口的分隔符

2 虚拟机和本机互传文件

假设虚拟机里装的是Centos Linux 系统,主机是Windows系统

1.在Centos Linux 系统里开启ssh服务

systemctl stop firewalld.service

systemctl status firewalld.service

systemctl start sshd.service

systemctl status sshd.service

2.测试虚拟机和本机互通性

(1) 若不互通,且虚拟机是NAT模式,尝试网卡VMnet8禁用再开启

(2) 若不互通,且虚拟机是桥接模式,可尝试重新分配IP地址

        桥接模式/NAT模式获取IP地址(CentOS配置网卡开机自动获取IP地址)

        vi /etc/sysconfig/network-scripts/ifcfg-eth0

        将 ONBOOT="no"  改为 ONBOOT="yes"

        BOOTPROTO=static 表示静态地址

        ONBOOT=yes 表示启动开启网卡

        主要在下面添加以下

        //自己指定地址

        IPADDR=192.168.253.11

        //网络掩码

        NETMASK=255.255.255.0

        //网关地址

        GATEWAY=192.168.253.2

        //设置和网关地址一样即可

        DNS1=192.168.253.2

3.本机可采用远程连接xshell工具,ssh链接Centos后

远程ssh连接某主机命令        ssh 用户@ip地址

4.远程文件下载到本地用sz命令:sz 文件名称,回车后自动选择下载路径

5.本地文件上传到远程用rz命令,回车后自动选择上传文件

若无sz和rz命令,须在Centos Linux安装插件

        xshell上传文件(rz)和下载文件(sz)

        若远程机器无rz和sz命令,可使用命令安装

        yum install lrzsz

        rz 上传到linux上

        sz 下载到windows上(例如sz file1)

3 Navicat通过SSH连接Mysql

对Mysql仅开启本地连接的情况下,Navicat要连接Mysql,则需要通过SSH来连接

1、首先配置ssh连接

 2、其次配置mysql连接,注意使用127.0.0.1   

4 Docker命令

查看开启的服务

docker ps -a

开启服务

docker start 容器ID或容器名称

实时查看日志(查看容器ID为ebfe5eb00e93的实时日志200条)

docker  logs -f --tail=200 ebfe5eb00e93

进入到容器里

docker exec -it  容器ID或容器名称  bash

例如进入到mysql容器里,在进入到数据库里(exit退出)

docker exec -it mysql bash

mysql -u root -p

5 查看Centos版本

查看centos 版本信息

rpm -q centos-release

uname -a

cat /proc/version

 查看是否是centos

cat /etc/redhat-release

6 查看网关

route -n

7 查看账户和密码

cat /etc/passwd

cat /etc/shadow

8 yum下载安装

yum源在 /etc/yum.repos.d 目录下

linux设置镜像源

阿里云镜像源(可访问 http://mirrors.aliyun.com/repo/Centos-7.repo  下载该镜像源,通过FileZilla Client工具或其他方式上传到Linux里)

cd  /etc/yum.repos.d

mv CentOS-Base.repo CentOS-Base.repo.backup

mv Centos-7.repo CentOS-Base.repo

查看可下载安装的包

        rpm -qa | grep

        yum list | grep

去yum锁        rm -f /var/run/yum.pid

9 实时查看日志

实时查看日志

tail -f /var/log/messages

watch -d -n 1 cat /var/log/messages

10 设置时间

date -s "20210421 17:15:50"

11  进程命令

ps -ef 或 ps aux 查看linux下所有进程

ps -ef 是用标准的格式(System V风格)显示进程的,其格式如下

  • 其中各列的内容意思如下
  • UID    //用户ID、但输出的是用户名
  • PID    //进程的ID
  • PPID    //父进程ID
  • C      //进程占用CPU的百分比
  • STIME  //进程启动到现在的时间
  • TTY    //该进程在那个终端上运行,若与终端无关,则显示? 若为pts/0等,则表示由网络连接主机进程。
  • CMD    //命令的名称和参数

ps aux 是用BSD的格式来显示、其格式如下

  • 同ps -ef 不同的有列有
  • USER      //用户名
  • %CPU      //进程占用的CPU百分比
  • %MEM      //占用内存的百分比
  • VSZ      //该进程使用的虚拟內存量(KB)
  • RSS      //该进程占用的固定內存量(KB)(驻留中页的数量)
  • STAT      //进程的状态
  • START    //该进程被触发启动时间
  • TIME      //该进程实际使用CPU运行的时间
  • 其中STAT状态位常见的状态字符有
  • D      //无法中断的休眠状态(通常 IO 的进程);
  • R      //正在运行可中在队列中可过行的;
  • S      //处于休眠状态;
  • T      //停止或被追踪;
  • W      //进入内存交换 (从内核2.6开始无效);
  • X      //死掉的进程 (基本很少见);
  • Z      //僵尸进程;
  • <      //优先级高的进程
  • N      //优先级较低的进程
  • L      //有些页被锁进内存;
  • s      //进程的领导者(在它之下有子进程);
  • l      //多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads);
  • +      //位于后台的进程组;

kill -9 进程号 杀死对应的进程

kill -15 进程号 等进程运行完就关闭该进程

查看对应端口对应进程 netstat -atunp

附录1 基础命令

文件和目录相关

1、进入目录——cd <path>

cd /usr/local        //进入/usr/local这个目录

2、查看当前目录下所有的文件和目录——ls

ls -al      //显示当前目录下所有的文件和目录,包含隐藏文件
ls -F       //显示当前目录下所有的文件和目录,并且显示文件的类型

3、获取当前目录的路径——pwd

pwd

4、创建一个目录——mkdir

mkdir testFolder  //创建testFolder目录

5、删除一个目录——rmdir/rm -rf(使用前请确认非重要目录!)

rmdir testFolder      //删除testFolder目录
rm -rf testFolder     //递归删除testFolder目录下所有的内容

6、创建一个空文件——touch

touch test.log        //创建一个test.log文件

7、复制文件——cp/scp

cp  testFile1 testFile2   //复制一个testFile1文件,并且命名为testFile2
cp  -r sourceFolder targetFolder //递归复制整个source文件夹到target文件夹
scp sourecFile root@172.20.1.11:remoteAddr  //将本地source文件复制到远程172的服务器的remote目录下

8、移动文件/重名名文件——mv

mv testfile /targetFolder  //移动当前目录下的testfile到targetFolder这个目录
mv oldTestFile newTestFile  //将当前目录下的oldTestFile重命名成newTestFile

9、查看一个文件所有内容——cat/more/less

cat testfile1 testfile2  //查看testfile1和testfile2的内容,优先打印testfile1的内容
cat -n testfile1    //查看testfile1的内容,并且显示每行行号
more testfile1     //一页一页查看testfile1的内容
less testfile1   //一页一页查看testfile1的内容,还支持往前翻查看

10、删除文件——rm

rm testfile1     //删除testfile1这个文件
rm -i *.txt      //删除所有txt文件,并逐一确认

11、查找文件——find

find / -name filename.txt   //在/目录下查找filename.txt这个文件
find . -name "*.xml"        //在当前目录下递归查找所有的xml文件
find ./ -size 0            //查找大小为零的文件
find . -name "*.txt" |xargs grep "hello" //在当前目录下递归查找所有文件内容中包含hello的txt文件

12、查看文件头几行——head

head -n 20 test.txt       //查看test.txt的前20行的文件

13、查看文件最后几行——tail -n

tail -n 20 test.txt       //查看test.txt的最后20行的文件

14、查看实时日志类文件——tail -f

tail -f test.log       //实时打印最新的日志

15、把内容重定向到指定的文件中——echo

echo "hello world" > test.log    //将hello world写入test.log

编辑文件vi

1、进入vi模式

vi testfile1   //打开或新建testfile1,并将光标置于第一行首
vi +5 testfile1 //打开testfile1文件,并将光标置于第5行首
vi + testfile1 //打开testfile1文件,并将光标置于最后一行首
vi testfile1....testfilen //打开多个文件,依次进行编辑

2、设置vi环境

:set autoindent //缩进,常用于程序的编写
:set noautoindent //取消缩进
:set number //在编辑文件时显示行号
:set nonumber //不显示行号
:set //显示设置的所有选项
:set all //显示所有可以设置的选项

3、移动光标

h或Backspace   //光标左移一个字符
l或space     //光标右移一个字符
k或Ctrl+p   //光标上移一行
j或Ctrl+n或Enter   //光标下移一行
)      //光标移至句尾
(     //光标移至句首
nG    //光标移至第n行首
n+    //光标下移n行
n-    //光标上移n行
H     //光标移至屏幕顶行
M     //光标移至屏幕中间行
L     //光标移至屏幕最后行
0     //光标移至当前行首
$     //光标移至当前行尾

4、插入模式

i      //在光标前插入
I      //在当前行首插入
a      //在光标后插入

5、命令行模式

用户按冒号:即可进入 Command 模式,此时 vim 会在显示窗口的最后一行 (屏幕的最后一行) 显示一个 “:” 作为 Command 模式的提示符,等待输入命令。

:w    //保存当前编辑文件,但并不退出
:w testfile   //存为另外一个名为 “testfile” 的文件
:wq        //用于存盘退出Vi
:q!        //用于不存盘退出Vi
:q         //用于直接退出Vi (未做修改)

其他很有用命令

1、grep

grep -i "hello" test.txt   //在test.txt文件中查找"hello"(不区分大小写)
 grep -A 5 -i "hello" test.txt  //输出在test.txt文件中匹配了"hello"的后5行

2、ssh

ssh root@172.20.1.1   //使用root用户登录到172.20.1.1这台远程服务器

3、diff

diff -w test1.txt test2.txt    //比较test1.txt和test2.txt的差异,忽略空白字符

4、sort

sort test.txt    //以升序排序test.txt的文件内容
sort -r test.txt   //以降序排序test.txt的文件内容

5、gzip   zip   unzip  压缩解压命令

gzip test.txt        //将test.txt压缩成test.txt.gz
gzip -d test.txt.gz   //解压test.txt.gz为test.txt

6、shutdown

shutdown -h now    //关闭系统并立即关机
shutdown -h +5     //5分钟后关机
shutdown -h now    //重启

7、ps

ps -ef | more    //查看当前正在运行的所有进程
ps -ef |grep "tomcat"   //查看当前运行的tomcat进程

8、free

free   //显示系统当前内存的使用情况,包括已用内存、可用内存和交换内存的情况

9、top

top    //top命令会显示当前系统中占用资源最多的一些进程(默认以CPU占用率排序)如果你想改变排序方式,可以在结果列表中点击O(大写字母O)会显示所有可用于排序的列

10、kill

kill -9 111     //杀掉pid为11的进程

11、ifconfig

ifconfig   //查看和配置Linux系统网络接口

详细参数

top

======================================

主要参数

d:指定更新的间隔,以秒计算。

q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。

c:显示进程完整的路径与名称。

S:累积模式,会将己完成或消失的子行程的CPU时间累积起来。

s:安全模式。

i:不显示任何闲置(Idle)或无用(Zombie)的行程。

n:显示更新的次数,完成后将会退出to

显示参数

PID(Process ID):进程标示号。

USER:进程所有者的用户名。

PR:进程的优先级别。

NI:进程的优先级别数值。

VIRT:进程占用的虚拟内存值。

RES:进程占用的物理内存值。

SHR:进程使用的共享内存值。

S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。

%CPU:该进程占用的CPU使用率。

%MEM:该进程占用的物理内存和总内存的百分比。

TIME+:该进程启动后占用的总的CPU时间。

Command:进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行。

top命令使用过程中,还可以使用一些交互的命令来完成其它参数的功能。这些命令是通过快捷键启动的。

<空格>:立刻刷新。

P:根据CPU使用大小进行排序。

T:根据时间、累计时间排序。

q:退出top命令。

m:切换显示内存信息。

t:切换显示进程和CPU状态信息。

c:切换显示命令名称和完整命令行。

M:根据使用内存大小进行排序。

W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。

还有一种办法是 ps -ef | sort -k7 ,将进程按运行时间排序,看哪个进程消耗的cpu时间最多。

free

======================================

1.作用

free 命令用来显示内存的使用情况,使用权限是所有用户。

2.格式

free [-b-k-m] [-o] [-s delay] [-t] [-V]

3.主要参数

-b -k -m:分别以字节(KB、MB)为单位显示内存使用情况。

-s delay:显示每隔多少秒数来显示一次内存使用情况。

-t:显示内存总和列。

-o:不显示缓冲区调节列。

uptime

======================================

18:59:15 up 25 min,  2 users,  load average: 1.23, 1.32, 1.21

现在的时间

系统开机运转到现在经过的时间

连线的使用者数量

最近一分钟,五分钟和十五分钟的系统负载

参数: -V 显示版本资讯。

资源

======================================

# free -m # 查看内存使用量和交换区使用量

# df -h # 查看各分区使用情况

# du -sh # 查看指定目录的大小

# grep MemTotal /proc/meminfo # 查看内存总量

# grep MemFree /proc/meminfo # 查看空闲内存量

# uptime # 查看系统运行时间、用户数、负载

# cat /proc/loadavg # 查看系统负载

磁盘和分区

======================================

# mount | column -t # 查看挂接的分区状态

# fdisk -l # 查看所有分区

# swapon -s # 查看所有交换分区

# hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)

# dmesg | grep IDE # 查看启动时IDE设备检测状况

网络

======================================

# ifconfig # 查看所有网络接口的属性

# iptables -L # 查看防火墙设置

# route -n # 查看路由表

# netstat -lntp # 查看所有监听端口

# netstat -antp # 查看所有已经建立的连接

# netstat -s # 查看网络统计信息

lscpu 查看配置信息(cpu数量)

tree -d -L 4 从当前目录下,列出最多四层的目录

free -h 查看内存

df -h 查看内存

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值