【Linux】Linux基础命令

在阅读的过程中有任何问题,欢迎一起交流

邮箱:1494713801@qq.com   

QQ:1494713801

 

 

记录了常用的Linux命令,方便以后使用: 

一、查看服务器配置

1、查看逻辑CPU个数及CPU型号

命令:cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

结果:

含义:24个逻辑CPU、CPU叫Xeon、CPU型号是E5-2620、CPU主频2.1G赫兹

2、查看所有物理处理器的ID

命令:cat /proc/cpuinfo | grep 'physical id' | sort|uniq

3、查看每个物理处理器中的处理核心(cpu core)数

命令:cat /proc/cpuinfo | grep 'cpu cores' | sort|uniq

4、查看所有处理核心(cpu core)的ID

命令:cat /proc/cpuinfo | grep 'core id' | sort|uniq

5、查看所有逻辑处理器的ID(超线程技术)

命令:cat /proc/cpuinfo | grep 'processor' | sort|uniq

结果:

含义:在这台服务器上,物理CPU有2个,每个物理CPU中有6个处理核心,实际处理核心数为12,而逻辑处理器为24个(超线程技术)

6、服务器CPU的详细信息

命令:cat /proc/cpuinfo
结果:

含义:processor:逻辑处理器的ID(有几个processor就有几个逻辑处理器)

            physical id:物理处理器的ID(有几个不同的physical id就有几个物理处理器)

            core id:每个处理核心的ID

            cpu cores:位于每个物理处理器中的内核数目

             sibings:位于每个物理处理器中的逻辑处理器的数目

 

二、测试服务器性能

1、每隔几秒显示服务器虚拟内存使用情况

命令:vmstat 间隔秒数 查看次数

结果:

含义:

Procs(进程):  r: 运行队列中进程数量 ; b: 等待IO的进程数量,即阻塞的进程

Memory(内存): swpd: 虚拟内存大小 ;  free: 可用内存大小 ;  buff: 用作缓冲的内存大小 ;  cache: 用作缓存的内存大小

Swap: si:  Amount of memory swapped in from disk (/s). ;  so: Amount of memory swapped to disk (/s).

IO:(现在的Linux版本块的大小为1024bytes) bi: 每秒读取的块数 ;  bo: 每秒写入的块数

系统: in: 每秒中断数,包括时钟中断 ;  cs: 每秒上下文切换数。

CPU(以百分比表示): us: 用户进程执行时间(user time) ; sy: 系统进程执行时间(system time) ; id: 空闲时间(包括IO等待时间) ; wa: 等待IO时间

2、查看服务器运行时间和负载信息

命令:uptime

结论:

含义:信息显示依次为:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载

每隔一段时间执行uptime可以使用命令:watch -n 秒数 uptime(命令:watch -n 秒数 要重复执行的命令)

3、动态查看系统进程与资源状况

命令:top

结论:

含义:

前五行是系统整体的统计信息。

    第一行是任务队列信息,同 uptime 命令的执行结果;

    第二、三行为进程和CPU的信息,当有多个CPU时,这些内容可能会超过两行(内容如下:Tasks: 29 total 进程总数;1 running 正在运行的进程数;28 sleeping 睡眠的进程数;0 stopped 停止的进程数;0 zombie 僵尸进程数;Cpu(s): 0.3% us 用户空间占用CPU百分比;1.0% sy 内核空间占用CPU百分比;0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比;98.7% id 空闲CPU百分比;0.0% wa 等待输入输出的CPU时间百分比;0.0% hi0.0% si);

    最后两行为内存信息(内容如下:Mem: 2070564k total 物理内存总量;1340828k used 使用的物理内存总量;729736k free 空闲内存总量;168636k buffers 用作内核缓存的内存量;Swap: 4192924k total 交换区总量;0k used 使用的交换区总量;4192924k free 空闲交换区总量;894080k cached 缓冲的交换区总量)。 

进程信息区:统计信息区域的下方显示了各个进程的详细信息。

4、查看CPU的利用率

命令:mpstat -P ALL 2 5  

含义:每隔2s查看一次,共执行5次 

 

三、复制命令

命令: cp -r 源文件夹/. 目标文件夹

结论:

含义:将源文件夹下的所有文件复制到目标文件夹下

 

四、文本编辑器

1、打卡文件

命令:vi 文件名

如:vi filename: 打开或新建文件,并将光标置于第一行首
        vi +n filename:
打开文件,并将光标置于第n行首
        vi + filename:
打开文件,并将光标置于最后一行首
        vi +/pattern filename:
打开文件,并将光标置于第一个与pattern匹配的串处
        vi -r filename:
在上次正用vi编辑时发生系统崩溃,恢复filename
        vi filename....filename:
打开多个文件,依次进行编辑

2、有指令模式切换到输入模式

新增 (append)
a :从光标所在位置后面开始新增资料,光标后的资料随新增资料向后移动。
A从光标所在列最后面的地方开始新增资料。
插入 (insert)
i从光标所在位置前面开始插入资料,光标后的资料随新增资料向后移动。
I :从光标所在列的第一个非空白字元前面开始插入资料。
开始 (open)
o :在光标所在列下新增一列并进入输入模式。
O: 在光标所在列上方新增一列并进入输入模式。

3、从输入模式切换到指令模式,则需在输入模式下键入ESC

4、退出编辑器

:wq:x是存盘退出;

:q是直接退出,如果文件已有新的变化,vi会提示你保存文件而:q命令也会失效,这时你可以用:w命令保存文件后再用:q退出,或用:wq:x命令退出;

:q!命令将不保存文件而直接退出vi。

 

五、PostgreSQL使用

接入PostgreSQL数据库: psql -h 数据库IP地址  -U 数据库名

查看该数据库中的所有表:\dt

切换数据库:\c 目标数据库

查看数据库中的某个表结构:\d 数据库名

查看数据库中表中的记录:select * from 表名;

 

六、Shell脚本的运行

步骤:

1、切换到脚本所在目录下

2、执行./脚本名 (如:./myshell.sh)

3、有时需要为脚本赋予可执行的权限:chmod +x 脚本名 (如:chmod +x myshell.sh)

方式:

一、fork

此种方式shell中的子命令不会影响父级命令,子级的环境变量不会影响父级

命令:./directory/script.sh

二、exec

此种方式shell中的子命令执行完后不再执行父命令

命令:exec /directory/script.sh

三、source

执行shell的子级命令后继续执行父级命令,同时子级命令设置的环境变量会营销到父级的环境变量

命令::source directory/script.sh或. directory/script.sh(点加空格加脚本目录)

特殊:在一个shell脚本中调用另个shell脚本

在脚本a中添加语句:cd /root/scripts && ./run.sh

(说明:在脚本a.sh中执行脚本run.sh,其中/root/scripts指脚本run.sh的目录)

 

七、将文件或目录拷贝到远程Linux系统中

方式一:使用scp命令

1、将远程Linux系统上的某个文件或者目录拷贝到本地Linux系统上来

命令:scp 远程用户名@IP地址:文件的绝对路径 本地Linux系统路径

eg:scp -P 22 A.gzroot@172.17.10.71:/etc/swift/B.gz 将机器A的A.gz文件拷贝到机器B的B.gz文件
(-P 指机器B的shell端口;root为机器B的用户名;172.17.10.71为机器B的IP;/etc/swift/B.gz为目标文件器及文件名)

2、将本地的某个文件或者目录拷贝到远程Linux系统的某个路径下

命令:scp 本地Linux系统文件路径 远程用户名@IP地址:远程系统文件绝对路径名

3、安装Xshell

输入命令: sz 文件名

方式二:使用Xshell

将本地文件上传到远程Linux系统中

方法:1、安装Xshell;2、新建到远程Linux系统的ssh连接,并切换到目标目录下;3、点击新建文件传输图标4、输入put;5、选择要上传的文件

3、将远程Linux机器A的文件拷贝到远程Linux机器B上

命令:scp -r 目标文件目录/文件夹名 机器B的IP:/目标路径

scp -r /lin/works/app/ger 172.18.4.241:/home/htest

 

八、使用命令行工具向shell脚本传参

1、shell脚本中表示参数:$0为程序名称,$1为第一个参数,$2为第二个参数,依次类推,$9为第九个参数,${10}为第十个参数...

2、执行shell脚本:./myshell.sh 第一个参数 第二个参数 ...

另外,特殊变量$#表示执行脚本时包含的命令行参数个数。脚本中任何位置都可以使用$#(如:if [ $# –ne 2 ] 即可测试参数个数)

 

九、进程管理

iftop -i eth0 -B  查看网络流量
ps -ef|grep java 查看Java进程
ps -ef|grep tomcat 查看Tomcat进程
ps -ef|grep postgres 查看当前与PostgreSQL数据库相连的进程
kill 进程编号 杀死进程

ps aux|grep keepalived  查看当前Keepalived进程

 

十、后台运行java程序

将进程移至后台运行(nohup、tail)
nohup java 文件名 &
cat nohup.out 查看最终运行结果
tail -f nohup.out 查看当前运行结果

 

十一、查看文件

ls -lht 查看当前目录下所有文件大小
ls -al 查看当前目录下所有文件属性

 

十二、查看网络信息

ip a  查看网络实际IP及虚IP等信息

netstat -anp|grep 8080  查看8080端口的网络连接信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值