Linux中常用命令
Posted 常给自己加个油
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux中常用命令相关的知识,希望对你有一定的参考价值。
linux执行命令一般格式:命令名称 [命令参数] [命令对象]
命令名称、命令参数、命令对象之间用空格键分隔。命令对象一般是指要处理的文件、目录、用户等资源 ,命令参数则可以用长格式(--)或短格式(-)。
长格式:man --help
短格式:man -h
linux命令很多,最重要的是各种参数的搭配使用,新手记住所有参数是不可能的,需要经常通过帮助命令进行查阅。
特别说明:在终端中,有时候显示的内容很多,可以通过快捷键进行翻看。
shift+PgUp:向上翻页
shift+PgDn:向下翻页
2.1 帮助命令
帮助命令主要有2个:man、help。平时要多于帮助命令,遇到不清楚的命令就用帮助命令查看,无须死记硬背,熟能生巧。
2.1.1 man命令
语法:man [命令或配置文件]
作用:获取帮助信息
案例:
[root@heimatengyun ~]# man date
比如欲查看date命令的用法,输入命令man date之后出现下图信息
由于帮助信息比较多,需要翻页才能看完,因此先说明一下本界面可能需要用到按键及用途。
按键 用途 空格键 向下翻页 PgDn (page down) 向下翻页 PgUp (page up) 向上翻页 home 前往首页 end 前往页尾 / 从上至下搜索关键字,如“/linux” ? 从下至上搜索关键字,如“?linux” n 定位到下一个搜索到的关键词 N 定位到上一个搜索到的关键词 q 退出帮助文档
初学者一看,这么多的帮助信息反而感到困惑了,其实很简单的,我们来理一下帮助信息的结构(上图中圈红线的部分)。
结构名称 | 说明 |
---|---|
NAME | 命令的名称 |
SYNOPSIS | 命令的基本语法格式 |
DESCRIPTION | 详细说明语法格式对应的选项和参数的用法 |
EXAMPLES | 如何使用命令的示例 |
OVERVIEW | 概述 |
DEFAULTS | 默认功能 |
OPTIONS | 具体的可用选项 |
ENVIRONMENT | 环境变量 |
SEE ALSO | 相关的资料,通常是手册页 |
通过这些帮助信息,就可以轻松的掌握各个命令的用法。
2.1.2 help命令
语法:help 命令
作用:获取shell内置命令的帮助信息
案例:
[root@heimatengyun ~]# help cd
在正式进入命令学习之前,再介绍几个linux常用的快捷键
快捷键 | 作用 |
---|---|
ctrl+l | 清屏 |
ctrl+q | 退出 |
ctrl+c | 停止进程 |
上下键 | 查找曾今执行过的命令 |
tab | 命令补全,多用不仅提高效率还能防止敲错 |
既然linux一切皆文件,了解万能的帮助命令后,我们就从目录文件命令开始学习。
2.2 目录相关命令
目录可以对文件进行分类管理,因此在讲解文件命令之前先讲解目录相关命令。
2.2.1 pwd
语法:pwd
功能描述:显示当前工作目录的绝对路径
案例:
[root@heimatengyun ~]# pwd
/root
2.2.2 ls
语法:ls [选项] [目录或文件]
功能描述:列出目录下的文件
选项:
-a(--all):显示全部文件,包括隐藏文件(以.开头的文件)
-d:directory,列出目录本身
-l:long长数据串列出,包含文件的属性和权限等。每行列出的信息依次为:文件类型与权限、链接数、文件属性、文件属组、文件大小(byte)、创建或最近修改时间、名字
案例:
[root@heimatengyun test]# ls -al
total 12
drwxr-xr-x. 2 root root 37 Nov 24 10:43 .
dr-xr-x---. 16 root root 4096 Nov 24 00:02 ..
-rw-r--r--. 1 root root 26 Nov 23 20:40 test1.txt
-rw-r--r--. 1 root root 66 Nov 23 21:56 test.txt
2.2.3 cd
语法:cd [选项][目录名称]
功能描述:切换到指定目录
案例:
cd 绝对路径或相对路径 (跳转到指定目录)
cd 或cd ~ (返回当前用户家目录)
cd - (返回上一次所在的目录)
cd .. (返回当前目录的上一级目录)
2.2.4 mkdir
语法:mkdir [选项] 目录名称
功能描述:创建指定目录
选项:
-p :parents,创建多层目录
案例:
[root@heimatengyun ~]# mkdir test
[root@heimatengyun ~]# mkdir -p test1/test1
2.2.5 rmdir
语法: rmdir [选项] 目录名称
功能描述:删除空目录
选项:
-p:删除多级目录
案例:
[root@heimatengyun ~]# rmdir test
[root@heimatengyun ~]# rmdir -p test1/test1/ (如果不指定-p参数,则只删除最后一级不为空的目录)
2.2.6 cp
语法:cp 源目录或文件 目标目录或文件
功能描述:复制目录或文件
选项:
-r:recursive,递归复制整个文件夹
案例:
将test复制为test.txt,复制时重命名
[root@heimatengyun ~]# cp test test.txt
将所有test目录内容复制到test1目录(自动创建test1目录)
[root@heimatengyun ~]# cp -r test test1
2.2.7 mv
语法:mv [选项] 源 目标
功能描述:移动文件或重命名文件
案例:
将test文件重命名为test.txt
[root@heimatengyun test]# mv test test.txt
将test目录及其里边所有内容移动到test2目录,自动创建test2目录(可以理解为将test文件夹重命名为test2)
[root@heimatengyun ~]# mv test/ test2
2.2.8 rm
语法:rm [选项] 文件
功能描述:删除文件及目录
选项:
-f:force强制执行
-r:recursive递归执行
案例:
递归删除目录及其下所有内容
[root@heimatengyun ~]# rm -rf test2/
2.3 文件相关命令
linux一切皆文件,在连接目录相关命令后,本节学习文件相关命令。
2.3.1 touch
语法:touch [选项] 文件名
功能描述:创建空文件
案例:
[root@heimatengyun test]# touch test.txt
echo
语法:echo 字符串或变量
功能描述:输出字符串或变量值,还可以搭配从定向符将内容存储到文件
案例:
[root@heimatengyun test]# echo hello
hello
[root@heimatengyun test]# echo $SHELL
/bin/bash
[root@heimatengyun test]# echo linux >> test.txt
2.3.2 cat
语法:cat [选项] 文件名
功能描述:查看文件内容,从第一行开始显示
选项:
-A:列出特殊字符而非空白
-b:列出行号,空白行不算行号
-n:列出行号,空白行也会有行号
-v:列出一些看不出来的特殊字符
案例:
[root@heimatengyun test]# cat test.txt
hello
who are you
where are you from
[root@heimatengyun test]# cat -A test.txt
hello$
who are you$
$
where are you from$
[root@heimatengyun test]# cat -b test.txt
1 hello
2 who are you
3 where are you from
[root@heimatengyun test]# cat -n test.txt
1 hello
2 who are you
3
4 where are you from
2.3.3 more
语法:more [选项] 文件
功能描述:查看文件内容,一页一页的显示
使用说明:
空格键(space):向下翻一页
enter:向下翻一行
q:退出more,不在显示文件内容
ctrl+f:向下滚动一屏
ctrl+b:返回上一屏
=:输出当前行的行号
:f:输出文件名和当前行号
2.3.4 head
语法:head [选项] 文件
功能描述:查看文件内容,只看头几行
选项:
-n:查看头n行
案例:
[root@heimatengyun test]# head -n 2 test.txt
2.3.5 tail
语法:tail [选项] 文件
功能描述:查看文件内容,只查看文件末尾几行
选项:
-n:末尾几行
-f:follow输出文件修改的内容,用于追踪文件修改
案例:
[root@heimatengyun test]# tail -n 2 test.txt
2.3.6 wc
语法:wc [选项] 文本
功能描述:统计指定文本的行数、字数、字节数
选项:
-l:lines显示行数
-w:显示单词数
-c:显示字节数
案例:
[root@heimatengyun test]# cat test.txt
hello
who are you
where are you form?
wellcome
hahah
test
[root@heimatengyun test]# wc -l test.txt
8 test.txt
[root@heimatengyun test]# wc -c test.txt
60 test.txt
[root@heimatengyun test]# wc -w test.txt
11 test.txt
2.3.7 stat
语法:stat [选项] 文件
功能描述:查看文件的具体存储信息和时间等信息
案例:
[root@heimatengyun test]# stat test.txt
File: ‘test.txt’
Size: 60 Blocks: 8 IO Block: 4096 regular file
Device: fd01h/64769d Inode: 2160373 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2019-11-23 18:27:02.153101936 +0800
Modify: 2019-11-23 18:26:56.254259870 +0800
Change: 2019-11-23 18:26:56.254259870 +0800
Birth: -
2.3.8 cut
语法:cut [选项] 文件
功能描述:按列提取文本字符
选项:
-d:delimiter分隔符
-f:fields要提取的列
案例:
查询系统所有用户名
[root@heimatengyun test]# cut -d: -f1 /etc/passwd
root
bin
daemon
adm
lp
sync
...省略部分内容
2.3.9 diff
语法:diff [选项] 文件1,文件2
功能描述:比较多个文本的差异
选项:
--brief: 显示比较文件是否相同
-c:context标记显示不同的内容
2.3.10 dd
语法:dd [参数或选项]
功能描述:按照指定大小或个数的数据库来复制文件或转换文件
参数:
if:输入的文件名称
of:输出的文件名称
count:设置要复制的块的个数
bs:bytes文件块大小
案例:
创建指定大小为10M的文件
[root@heimatengyun test]# dd if=/dev/zero of=10_file count=1 bs=10M
1+0 records in
1+0 records out
10485760 bytes (10 MB) copied, 0.0102506 s, 1.0 GB/s
[root@heimatengyun test]# ll
total 10248
-rw-r--r--. 1 root root 10485760 Nov 23 21:05 10_file
2.3.11 file
语法:file 文件名
功能描述:查看文件类型
案例:
[root@heimatengyun test]# file test.txt
test.txt: ASCII text
2.3.12 wget
语法:wget [参数] [url地址]
功能:下载网络文件
参数:
-b:background后台下载
-P:directory-prefix下载到指定目录
-t:tries 最大尝试次数
-c:continue断点续传
-p:page-requisites下载页面所有内容,包括图片、视频等
-r:recursive递归下载
案例:
下载百度logo图片
[root@heimatengyun test]# wget https://www.baidu.com/img/bd_logo1.png
--2019-11-23 22:29:45-- https://www.baidu.com/img/bd_logo1.png
Resolving www.baidu.com (www.baidu.com)... 14.215.177.38, 14.215.177.39
Connecting to www.baidu.com (www.baidu.com)|14.215.177.38|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7877 (7.7K) [image/png]
Saving to: ‘bd_logo1.png’
100%[======================>] 7,877 --.-K/s in 0.002s
2019-11-23 22:29:45 (4.43 MB/s) - ‘bd_logo1.png’ saved [7877/7877]
2.4 查找命令
有时候需要从大量文件中找出需要的文件或者从指定文件中查找特定内容,这就需要用到查找相关的命令。
2.4.1 find
语法:find [搜索范围] [匹配条件]
功能描述:查找文件或目录
参数说明
-name:按文件名称查找
-user:按文件拥有者查找
-size:根按文件大小查找文件(+n大于,-n小于,n等于)
案例
在test目录下查找test1.txt文件
[root@heimatengyun ~]# find test/ -name test1.txt
test/test1.txt
查找test目录下查找用户root的文件
[root@heimatengyun ~]# find test/ -user root
test/
test/test.txt
在test目录下查找小于100M的文件
[root@heimatengyun ~]# find test/ -size -102400
test/
test/test.txt
2.4.2 grep
语法:grep [参数] 查找内容 源文件
功能描述:在文件内搜索字符串匹配的行并输出
参数:
-c:count只输出匹配行的计数
-n:line-number显示匹配行及行号
案例:
[root@heimatengyun test]# grep -n who test.txt
3:who are you
[root@heimatengyun test]# grep -c who test.txt
1
2.4.3 which
语法:which [选项] 命令
功能描述:搜索命令所在目录及别名信息
案例:
搜索cd命令所在的目录
[root@heimatengyun test]# which cd
/usr/bin/cd
2.5 压缩解压
为了便于传输或节省存储空间有时候文件是以压缩包的形式存在,因此就需要了解压缩与解压相关命令。
2.5.1 tar
语法:tar [参数] 包名.tar.gz 待打包的内容
功能描述:打包目录,压缩后的文件格式为.tar.gz
参数:
-c:create生成.tar打包文件
-x:extract解包.tar文件
-v:verbose显示详细信息
-f:file指定压缩后的文件名
-z:打包同时压缩
-C:解压到指定目录
案例:
压缩多个文件,将test.txt和test1.txt压缩为test.tar.gz
[root@heimatengyun test]# tar -zcvf test.tar.gz test.txt test1.txt
test.txt
test1.txt
[root@heimatengyun test]# ll
total 10252
-rw-r--r--. 1 root root 26 Nov 23 20:40 test1.txt
-rw-r--r--. 1 root root 210 Nov 23 23:57 test.tar.gz
-rw-r--r--. 1 root root 66 Nov 23 21:56 test.txt
压缩目录
[root@heimatengyun ~]# tar -zcvf test.tar.gz test/
解压到当前目录
[root@heimatengyun test]# tar -zxvf test.tar.gz
2.5.2 zip和unzip
语法:
压缩:zip [参数] 包名.zip 待压缩内容
解压:uzip 包名.zip
功能描述:压缩文件和目录,windows和linux通用且可以压缩目录并保留源文件
参数:
-r:recurse-paths递归压缩目录
案例:
压缩test.txt或test1.txt为test.zip
[root@heimatengyun test]# zip test.zip test.txt test1.txt
adding: test.txt (deflated 15%)
adding: test1.txt (stored 0%)
解压test.zip
[root@heimatengyun test]# unzip test.zip
Archive: test.zip
inflating: test.txt
extracting: test1.txt
2.5.3 gzip和gunzip
语法:
压缩:gzip [参数] 文件
解压:gzip [参数] 文件.gz
功能描述:
压缩:压缩文件,只能将文件压缩为*.gz文件。只能压缩文件不能压缩目录,压缩解压后不保留原来的文件。对单个文件压缩
解压:解压文件
案例:
压缩文件
[root@heimatengyun test]# ll
total 8
-rw-r--r--. 1 root root 26 Nov 23 20:40 test1.txt
-rw-r--r--. 1 root root 66 Nov 23 21:56 test.txt
[root@heimatengyun test]# gzip test1.txt
[root@heimatengyun test]# ll
total 8
-rw-r--r--. 1 root root 54 Nov 23 20:40 test1.txt.gz
-rw-r--r--. 1 root root 66 Nov 23 21:56 test.txt
解压文件
[root@heimatengyun test]# ll
total 8
-rw-r--r--. 1 root root 54 Nov 23 20:40 test1.txt.gz
-rw-r--r--. 1 root root 66 Nov 23 21:56 test.txt
[root@heimatengyun test]# gunzip test1.txt.gz
[root@heimatengyun test]# ll
total 8
-rw-r--r--. 1 root root 26 Nov 23 20:40 test1.txt
-rw-r--r--. 1 root root 66 Nov 23 21:56 test.txt
2.6 日期命令
日期相关命令用于设置或获取系统日期。
2.6.1 date
语法:date [选项] [格式]
功能描述:显示或设置时间
参数:
-s:set 以字符串格式设置时间
格式:(注意区分大小写)
+%Y:显示当前年份
+%m:显示当前月份
+%d:显示当前是哪一天
+%H:显示当前小时
+%M:显示当前分钟
+%S:显示当前秒数
+%Y%m%d:显示当前年月日
"+%Y-%m-%d %H:%M:%S":显示当前年月日时分秒 (用引号括起来)
案例:
设置时间
[root@heimatengyun test]# date -s "2019-11-24 11:05:10"
Sun Nov 24 11:05:10 CST 2019
显示时间
[root@heimatengyun test]# date
Sun Nov 24 11:02:21 CST 2019
[root@heimatengyun test]# date +%Y%m%d
20191124
[root@heimatengyun test]# date "+%Y-%m-%d %H:%M:%S"
2019-11-24 11:02:55
date查看非当前时间(比如前一天,后一天、取下周周一等等)以及cal查看日历命令暂时不做讨论,以后有机会在讨论。
2.7 进程线程命令
任务都以进程或线程的形式存在,因此需要随时关注系统的进程,查看是否有异常进程以及各进程占用系统资源的情况并使用不同的进程管理命令对进程管理和控制。
2.7.1 ps
语法:ps [选项]
功能描述:查看系统中所有进程
参数:
-a:all 显示现行终端机下的所有程序,包括其他用户的程序(比如多克隆几个会话执行不同命令,也会列出来)
-u:userlist 以用户为主的格式来显示程序状况
-x: 显示所有程序,不以终端机来区分 (前面讲过终端有很多类型,不仅显示当前终端)
案例:
[root@heimatengyun test]# ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 2966 0.0 0.1 116340 3192 pts/0 Ss Nov22 0:03 -bash
...省略部分内容
每一项内容的解释
项 | 含义 |
---|---|
USER | 进程是由哪个用户产生的 |
PID | 进程ID |
%CPU | 该进程占用CPU的百分比,占用越高,进程越耗费资源 |
%MEM | 该进程占用内存的百分比,占用越高,进程越耗费资源 |
VSZ | 占用虚拟内存的大小,单位KB |
RSS | 占用实际物理内存的大小,单位KB |
TTY | 表示该进程在哪个终端中运行,tty1-tty7代表本地控制台终端(tty1-tty6是本地的字符界面终端,tty7是图形终端),pts/0-255代表虚拟终端 |
STAT | 进程状态,常用状态有:R(运行)、S(睡眠)、T(停止状态)、s(包含子进程)、+(位于后台) |
START | 进程启动时间 |
TIME | 进程执行时间,即占用cpu的运算时间,不是系统时间 |
COMMAND | 产生此进程的命令名 |
2.7.2 top
语法:top [选项]
功能描述:查看系统健康状态
参数:
-d 秒数:Delay-time,指定top命令每隔几秒更新,默认是3秒。
-i:Idle-process,使top命令不显示任何闲置或者僵死进程
-p:Monitor-PIDs ,通过指定监控进程ID来仅仅监控某个进程的状态
-s:Secure-mode,使top在安全模式运行,去除交互命令所带来的潜在危险
案例:
查看非僵死进程,一秒钟刷新一次
[root@heimatengyun test]# top -i -d 1
top - 12:39:19 up 1 day, 14:31, 3 users, load average: 0.04, 0.04, 0.05
Tasks: 395 total, 1 running, 391 sleeping, 3 stopped, 0 zombie
%Cpu(s): 0.0 us, 1.0 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 1870784 total, 720520 used, 1150264 free, 880 buffers
KiB Swap: 2097148 total, 0 used, 2097148 free. 238616 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
29987 root 20 0 123936 1868 1160 R 2.0 0.1 0:08.32 top
...省略部分内容
在此界面可以通过如下相应按键进行排序操作
操作键 | 说明 |
---|---|
shift+n | 以PID排序 |
shift+m | 以内存排序 |
shift+p | 以cpu使用率排序,默认选项 |
q | 退出top |
命令结果解释
第一行:任务队列信息
内容 | 说明 |
---|---|
12:20:42 | 当前系统时间 |
up 1 day, 14:12 | 系统运行时间 |
3 users | 当前登录用户数 |
load average: 0.08,0.01, 0.05 | 系统在之前1分钟、5分钟、15分钟的平均负载,一般认为小于1时,负载较小,如果大于1说明系统已经超出负载 |
第二行:进程信息
内容 | 说明 |
---|---|
Tasks: 395 total | 系统中的总进程数 |
1 running | 正在运行的进程数 |
391 sleeping | 睡眠的进程 |
3 stopped | 正在停止的进程 |
0 zombie | 僵尸进程,如果不是0,需要手工检查僵尸进程 |
第三行:cpu信息
内容 | 说明 |
---|---|
%Cpu(s): 0.0 us | 用户模式占用的cpu百分比 |
1.0 sy | 系统模式占用的cpu百分比 |
0.0 ni | 改变过优先级的用户进程占用的cpu百分比 |
99.0 id | 空闲cpu的百分比 |
0.0 wa | 等待输入、输出的进程占用cpu的百分比 |
0.0 hi | 硬中断请求服务占用的cpu百分比 |
0.0 si | 软中断请求服务占用的cpu百分比 |
0.0 st | steal time虚拟世界百分比,当有虚拟机时,虚拟cpu等待时机cpu的时间百分比 |
ps:如果服务器有多个cpu,将显示多行
第四行:物理内存信息
内容 | 说明 |
---|---|
KiB Mem: 1870784 total | 物理内存的总量,单位KB |
720520 used | 已使用的物理内存数量 |
1150264 free | 空闲的物理内存数量 |
880 buffers | 作为缓冲的内存数量 |
第五行:交换分区信息
内存 | 说明 |
---|---|
KiB Swap: 2097148 total | 交换分区(虚拟内存)的总大小 |
0 used | 已经使用的交换分区的大小 |
2097148 free | 空闲交换分区的大小 |
238616 cached Mem | 作为缓存的交换分区的大小 |
第六行:空行
第七行:表头信息
内容 | 说明 |
---|---|
PID | 进程id |
USER | 进程所有者 |
PR | 进程优先级 |
NI | 负值表示高优先级,正值表示低优先级 |
VIRT | 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES |
RES | 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA |
SHR | 共享内存大小,单位kb |
S | 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程 |
%CPU | 上次更新到现在的CPU时间占用百分比 |
%MEM | 进程使用的物理内存百分比 |
TIME+ | 进程使用的CPU时间总计,单位1/100秒 |
COMMAND | 进程名称(命令名/命令行) |
2.7.3 pidof
语法:pidof [参数] 服务名称
功能描述:查询某个指定服务进程的pid值
案例:
查看sshd服务的进程id
[root@heimatengyun test]# pidof sshd
2962 2247
2.7.4 pstree
语法:pstree [选项]
功能描述:查看进程树
选项:
-p:显示进程的PID
案例:
[root@heimatengyun test]# pstree -p
systemd(1)─┬─ModemManager(948)─┬─{ModemManager}(1004)
│ └─{ModemManager}(1031)
├─NetworkManager(1123)─┬─{NetworkManager}(1284)
│ └─{NetworkManager}(1312)
...省略部分内容
2.7.5 kill
语法:kill [选项] 进程id
功能描述:终止某个指定pid的服务进程
选项:
-9:强迫进程立即停止
案例:
[root@heimatengyun test]# kill -9 20385
2.7.6 killall
语法:killall [选项] 服务名
功能描述:终止某个指定名称的服务对应的所有进程
案例:
终止httpd服务的所有进程
[root@heimatengyun test]# killall httpd
2.8 系统状态检测命令
通过相关命令检查系统状态以及资源耗用情况,保证系统健康稳定运行。
2.8.1 ifconfig
语法:ifconfig [网络设备] [参数]
功能描述:获取网卡配置和网络状态信息
案例:
[root@heimatengyun test]# ifconfig
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.78.100 netmask 255.255.255.0 broadcast 192.168.78.255
inet6 fe80::20c:29ff:febc:5eef prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:bc:5e:ef txqueuelen 1000 (Ethernet)
RX packets 143336 bytes 103106029 (98.3 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 92576 bytes 143399144 (136.7 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
主要查看内容:网卡名称(eno16777736 )、ip地址(inet之后)物理网卡地址即mac地址(ether)、TX和TX接收和发送数据包的个数和累计流量
2.8.2 netstat
语法:netstat [参数]
功能描述:显示整个系统目前网络情况,比如目前的链接、数据包传递数据、路由表内容等
案例:
[root@heimatengyun test]# netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 96 192.168.78.100:ssh 192.168.78.1:59688 ESTABLISHED
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ] DGRAM 13149 /run/systemd/shutdownd
...省略部分内容
2.8.3 uname
语法:uname [选项]
功能描述:查看系统内核和系统版本等信息
参数:
-a:all显示系统完整信息
-s:kernel-name系统内核名称
-n:nodename节点名称
-r:kernel-release内核发行版
-v:kernel-version内核版本
-m:machine硬件名称
-i:hardware-platform硬件平台
-p:processor处理器类型
-o:operating-system操作系统名称
案例:
[root@heimatengyun test]# uname
Linux
[root@heimatengyun test]# uname -a
Linux heimatengyun 3.10.0-123.el7.x86_64 #1 SMP Mon Jun 30 12:09:22 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
显示信息依次为:内核名称(Linux)、主机名(heimatengyun)、内核发行版(3.10.0-123.el7.x86_64)、内核版本(#1 SMP Mon Jun 30 12:09:22 UTC 2014)、硬件名称(x86_64)、硬件平台(x86_64)、处理器类型(x86_64)及操作系统名称(GNU/Linux)。
如果要查看单签系统版本的详细信息,通过查看/etc/redhat-release文件
[root@heimatengyun test]# cat /etc/redhat-release
CentOS Linux release 7.0.1406 (Core)
2.8.4 uptime
语法:uptime [选项]
功能描述:查看系统的负载信息,可以显示当前系统时间、系统已运行时间、启用终端数量以及平均负载值等信息。平均负载值指系统在最近1分钟、5分钟、15分钟内的压力情况,负载值越低越好,尽量不要长期超过1,生产环境不要超过5.
案例:
[root@heimatengyun test]# uptime
21:30:44 up 1 day, 23:23, 3 users, load average: 0.00, 0.01, 0.05
2.8.5 free
语法:free [选项]
功能描述:显示当前系统中内存的使用信息
选项:
-m:megabytes以兆字节显示
-h:human带单位输出
案例:
[root@heimatengyun test]# free -h
total used free shared buffers cached
Mem: 1.8G 702M 1.1G 8.9M 880K 233M
-/+ buffers/cache: 468M 1.3G
Swap: 2.0G 0B 2.0G
字段说明:total(内存总量)、used(已用量)、free(可用量)、shared(进程共享的内存量)、buffers(磁盘缓存的内存量)、cached(缓存的内存量)
2.8.5 who
语法:who [参数]
功能描述:查看当前登入主机的用户终端信息
案例:
[root@heimatengyun test]# who
root pts/0 2019-11-22 22:10 (192.168.78.1)
root pts/1 2019-11-23 11:53 (192.168.78.1)
2.8.6 last
语法:last [参数]
功能描述:查看所有的系统登录记录。但是要注意,这些信息是以日志文件保存的,因此黑客可以很容易进行修改,所以不能单纯以该命令来判断是否有黑客入侵。
案例:
[root@heimatengyun test]# last
root pts/2 192.168.78.1 Sun Nov 24 13:09 - 13:36 (00:26)
root pts/1 192.168.78.1 Sat Nov 23 11:53 still logged in
... 省略部分内容
2.8.7 history
语法:history [参数]
功能描述:显示历史执行过的命令
选项:
-c:清除所有历史记录,但是.bash_history文件内容不会删除
案例:
[root@heimatengyun test]# history
1 history
2 ll
3 ls
4 history
[root@heimatengyun test]# !2
ll
total 8
-rw-r--r--. 1 root root 26 Nov 23 20:40 test1.txt
-rw-r--r--. 1 root root 66 Nov 23 21:56 test.txt
可以用“!编号”执行某一次曾经执行过的命令
默认可以查看1000条历史记录,但可以在/etc/profile中修改HISTSIZE的值
历史命令保存在一个农户家目录的.bash_history文件中(.开头为隐藏文件通过ls或ll -a列出),可以用cat命令查看
2.9关机命令
linux一般用在服务器上,很少遇到关机的情况,毕竟关机服务就会中断,除非特殊情况不得已才会关闭。
正确的关机流程:sync>shutdown或reboot或halt
无论重启还是关机,都需要先sync将内存数据同步到硬盘中,避免数据丢失
2.9.1 reboot
语法:reboot [ 选项]
功能描述:重启系统,等同于shutdown -r now
案例:
[root@heimatengyun ~]# reboot
2.9.2 poweroff
语法:poweroff [选项]
功能描述:关闭系统
案例:
以上是关于Linux中常用命令的主要内容,如果未能解决你的问题,请参考以下文章