IT客

Linux常用命令—Linux就该这么学(一)

IT客 网站开发 2023-09-08 260浏览 0

简介

计算机硬件是由运算器、控制器、存储器、输入/输出设备等共同组成的,而让各种硬件设备各司其职且又能协同运行的东西就是系统内核。Linux 系统的内核负责完成对硬件资源的分配、调度等管理任务。

Shell(终端)充当的是人与内核(硬件)之间的翻译官,用户把一些命令“告诉”终端,它就会调用相应的程序服务去完成某些工作。主流Linux系统默认使用的终端是Bash(Bourne-Again SHell)解释器。

命令总览

  • 常用系统工作命令

 *  **man命令**:查看帮助命令。 *  **echo命令**:在终端输出字符串或变量的值。 *  **date命令**:显示及设置系统的时间或日期。 *  **reboot命令**:root用户重启系统。 *  **poweroff命令**: root用户关闭系统。 *  **wget命令**:在终端中下载网络文件。 *  **ps命令**:查看系统进程的状态。 *  **top命令**:动态地查看系统运维状态。 *  **pidof命令**:查看某个进程的PID。 *  **kill命令**:终止某个指定PID的服务进程。
  • 系统状态监测命令

 *  **ifconfig命令**:获取网卡配置与网络状态等信息。 *  **uname命令**:查看系统内核以及系统版本的信息。 *  **uptime命令**:查看系统的负载信息。 *  **free命令**:显示当前系统内存的使用量情况。 *  **who命令**:查看当前登入主机的用户终端信息。 *  **last命令**:查看所有系统的登录记录。 *  **history命令**:显示历史执行过的命令。
  • 工作目录切换命令

 *  **pwd命令**:显示用户当前所处的工作目录。 *  **cd命令**:切换工作路径。 *  **ls命令**:显示目录中的文件信息。
  • 文本文件编辑命令

 *  **cat命令**:查看**内容较少**的纯文本文件。 *  **more命令**:查看**内容较多**的纯文本文件。 *  **head命令**:查看纯文本文档的**前N行**。 *  **tail命令**:查看纯文本文档的**后N行**。 *  **tr命令**:替换纯文本文档的部分内容。 *  **wc命令**:统计指定文本的行数、字数、字节数。 *  **stat命令**:查看文件的具体存储信息和时间等信息。 *  **cut命令**:按列提取文本中的信息。 *  **diff命令**:比较两个文本。
  • 文件目录管理命令

 *  **touch命令**:创建空白文件或设置文件的时间。 *  **mkdir命令**:创建空白的目录。 *  **cp命令**:复制文件或目录。 *  **mv命令**:剪切文件或将文件重命名。 *  **rm命令**:删除文件或目录。 *  **dd命令**:按照指定大小和个数的数据块来复制文件或转换文件。 *  **file命令**:查看文件的类型。
  • 打包压缩与搜索命令

 *  **tar命令**:对文件进行打包压缩或解压。 *  **grep命令**:在文本中执行关键词搜索,并显示匹配的结果。 *  **find命令**:按照指定条件来查找文件。

常用系统工作命令

man命令详解

man命令是一个帮助命令,帮助我们了解一个命令的名称、用法、参数等等。

# 查看echo名称的用法man echo

参数解释如下:


结构名称代表意义
NAME命令的名称
SYNOPSIS参数的大致使用方法
DESCRIPTION介绍说明
EXAMPLES演示(附带简单说明)
OVERVIEW概述
DEFAULTS默认的功能
OPTIONS具体的可用选项(带介绍)
ENVIRONMENT环境变量
FILES用到的文件
SEE ALSO相关的资料
HISTORY维护历史与联系方式

echo命令详解

echo命令,用于在终端输出字符串或变量提取后的值。

# 输出字符串echo hello# 提取JAVA_HOME变量的值,并输出到控制台echo $JAVA_HOME

date命令详解

date命令用于显示及设置系统的时间或日期。以“+”号开头的参数,可以按照指定格式输出日期。

# 显示系统当前时间date# 按(*年-*月-*日 *时:*分:*秒)格式显示系统当前时间date "+%Y-%m-%d %H:%M:%S"# 设置系统时间的两种方式# 方式一:date -s设置date -s "20180403 12:00:00"# 方式二:用utp工具,跨过服务器防火墙(-u)并与上海本地时间同步yum install ntpdatentpdate -u ntp.api.bz# 显示今天是一年的第几天date "+%j"


reboot命令详解

reboot命令,用于重启系统。默认只能由root管理员来重启。

poweroff命令详解

poweroff命令,用于关闭系统。默认只能由root管理员来关闭。

wget命令详解

wget命令,用于在终端中下载网络文件。

wget命令的参数如下:

参数作用
-d后台下载模式
-p下载到指定目录
-t最大尝试次数
-c断点续传
-p下载页面内所有资源,包括图片、视频等
-r递归下载

ps命令详解

ps命令,用于查看系统进程的状态。

ps命令的参数如下:

参数作用
-a显示所有进程(包括其他用户的进程)
-u用户以及其他详细信息
-x显示没有控制终端的进程

Linux系统中,进程有5种状态:

  • R(运行):进程正在运行,或在队列中等待。

  • S(中断):进程处于休眠中。

  • D(不可中断):进程不响应Linux的异步信号,kill命令都不能终止进程。

  • Z(僵死):进程已经终止,但描述还在。

  • T(停止):进程收到停止信息好停止运行。

注:参数有大小写之分。小写的参数可以合并,符合’-‘也可以省略。但大写的参数不能合并。

top命令详解

top命令,动态地查看系统运维状态,相当于Windows中的任务管理器。

top命令效果图的参数含义如下:

  • 第一行:系统时间、运行时间、登录终端数、系统负载(三个数值分别为 1 分钟、5分钟、15 分钟内的平均值,数值越小意味着负载越低)。

  • 第二行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。

  • 第三行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。

  • 第四行:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。

  • 第五行:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已被提前加载的内存量。

pidof命令详解

pidof命令,用来查看某个进程的PID。

kill命令详解

kill命令,用于终止某个指定PID的服务进程。,由于某个服务可能会有多个进程,直接用killall+’服务名’的方式更简单。

注:用”Ctrl + C“的组合命令,能够立即停止当前正在运行的进程。

系统状态监测命令

ifconfig命令详解

ifconfig命令,用于获取网卡配置与网络状态等信息。


对这个效果图中的重要参数解释如下:

  • 网卡名称为:ens33

  • IP地址为:inet 192.168.139.138

  • 网卡物理地址:ether 00295d:d8

  • RX接收数据包以及累计流量:RX packets 2779 bytes 2168267 (2.0 MiB)

  • TX接收数据包以及累计流量:TX packets 1709 bytes 445253 (434.8 KiB)

uname命令详解

uname命令,查看系统内核以及系统版本的信息。

# 查看当前虚拟机的内核版本信息 uname -a # 查看当前系统版本的详细信息 cat /etc/redhat-release


uptime命令详解

uptime命令,用于查看系统的负载信息。它可以显示当前系统时间、系统已运行时间、启用终端数量以及平均负载值等信息。平均负载值指的是系统在最近1分钟、5分钟、15分钟内的压力情况。


free命令详解

free命令,显示当前系统内存的使用量情况。


who命令详解

who命令,查看当前登入主机的用户终端信息。


last命令详解

last命令,查看所有系统的登录记录。


history命令详解

history命令,显示近1000条历史执行过的命令。


history命令还有很多玩法。例如键入命令”!41”,shell会执行history的序号对应命令—docker images

工作目录切换命令

pwd命令详解

pwd命令,用于显示用户当前所处的工作目录。

cd命令详解

cd命令,用于切换工作路径。

ls命令详解

ls命令,用于显示目录中的文件信息。加上“-a”参数可以看到全部文件(包括隐藏文件),加上“-l”参数可以查看文件的属性、大小等详细信息。

文本文件编辑命令

cat命令详解

cat命令,用于查看内容较少的纯文本文件。加上“-n”参数可以看到对应的行号。

# 查看防火墙配置,并显示行号cat /etc/firewalld/firewalld.conf -n


more命令详解

more命令,用于查看内容较多的纯文本文件。它会在最下方显示阅读进度的百分比,还可以使用空格或Enter进行翻页。

head命令详解

head命令,用于查看纯文本文档的前N行。

# 只查看firewalld.conf文本的前20行内容head -n 20 /etc/firewalld/firewalld.conf


tail命令详解

tail命令,用于查看纯文本文档的后N行。用法与head命令一样。加上“-f”参数,可以持续刷新内容。

tr命令

tr命令,用于替换纯文本文档的部分内容。

(将文件中的字母全转化成大写)

wc命令详解

wc命令,用于统计指定文本的行数、字数、字节数。


参数作用
-l只显示行数
-w只显示单词数
-c只显示字节数


stat命令详解

stat命令,用于查看文件的具体存储信息和时间等信息。


cut命令详解

cut命令,按列提取文本中的信息。这里需要两个参数,-d后面的是列与列直接的间隔符(:),-f后面的是提取第几列(1)

# 提取文本/etc/passwd中以:为间隔,第一列的文本信息cut -d: -f1 /etc/passwd


diff命令详解

diff命令,比较两个文本。

# 查看test文本的内容cat -n test# 查看test_cp文本的内容cat -n test_cp# diff命令比较两个文本diff test test_cp# diff命令判断两个文本是否相同(参数:--brief)diff --brief test test_cp# 基于文本test,文本test_cp在内容上有哪些不同(参数:-c)diff -c test test_cp


文件目录管理命令

touch命令详解

touch命令,用于创建空白文件或设置文件的时间。

# 查看test中的命令cat -n test# 查看test的详情(上次更改时间为20180403 15:53)ls -l test# 在test中加一句话:(i will learn how to change the time of the file)echo "i will learn how to change the time of the file" >> test# 查看修改后test的详情(时间为20180403 15:55)ls -l test# 修改test的上次更改时间为(20180403 15:53)touch -d "20180403 15:53" test# 发现test中的上次修改时间已经修改成功ls -l test# 查看发现test中内容已经更改cat -n test# 但test中显示的时间并不符合实际情况!!!ls -l test


mkdir命令详解

mkdir命令,用于创建空白的目录。

cp命令详解

cp命令,用于复制文件或目录。



参数作用
-p保留原始文件的属性
-d若对象为“链接文件”,则保留该“链接文件”的属性
-r递归持续复制(用于目录)
-i若目标文件存在则询问是否覆盖
-a相当于-pdr(p、d、r 为上述参数)

mv命令详解

mv命令,用于剪切文件或将文件重命名。

rm命令详解

rm命令,用于删除文件或目录。“-f”参数可以强制删除,“-r”参数才能删除目录。

dd命令详解

dd命令,用于按照指定大小和个数的数据块来复制文件或转换文件。



参数作用
if输入的文件名称
of输出的文件名称
bs设置每个“块”的大小
count设置要复制“块”的个数
# 用dd命令从/dev/zero设备文件中取出一个大小为560MB的数据块,然后保存成名为560_file的文件dd if=/dev/zero of=560_file count=1 bs=560M


file命令详解

file命令,用于查看文件的类型。

打包压缩与搜索命令

tar命令详解

tar命令,用于对文件进行打包压缩或解压。


参数作用
-c创建压缩文件
-x解开压缩文件
-t查看压缩包内有哪些文件
-z用Gzip压缩或解压
-j用bzip2压缩或解压
-v显示压缩或解压的过程
-f目标文件名
-p保留原始的权限与属性
-P使用绝对路径来压缩
-C指定解压到的目录)

常用的是:(tar -czvf 压缩包名称.tar.gz 要打包的目录)进行打包压缩;
(“tar -xzvf 压缩包名称.tar.gz”)进行解压

grep命令详解

grep命令,用于在文本中执行关键词搜索,并显示匹配的结果。grep命令是用途最广泛的命令,有很多参数,但常用的如下(需要的时候,可以通过man命令去找相应的参数)。


参数作用
-i忽略大小写
-n显示行号
-v反向选择 — 仅列出没有“关键词”的行
查询跟docker相关的进程ps aux | grep docker


find命令详解

find命令,用于按照指定条件来查找文件。

参数作用
-name匹配名称
-perm匹配权限
-ctime -n +n匹配修改文件权限的时间(-n指n天以内,+n指n天以前)
-size匹配文件的大小(+50KB为查找超过50KB的文件)
-prune忽略某个目录
-exec …… {}\;进一步处理搜索结果的命令
# 从根目录开始,查询名为bi的文件,并打印在工作台find / -name bi -print



版权声明

本文仅代表作者观点,不代表IT客立场。
本文系作者授权发表,未经许可,不得转载。

继续浏览有关 Linux服务器命令服务器Linux命令 的文章
发表评论