【Linux笔记】Linux命令与使用

博文将不断学习补充

学习参考博文:

Linux命令大全:掌握常用命令,轻松使用Linux操作系统-CSDN博客

文件或目录操作命令

zip

# zip是使用最多的文档压缩格式

# 方便跨平台使用,但是压缩率不是很高

zip指令未安装

安装zip

yum install zip

安装unzip

yum install unzip

# 压缩

zip -r archive_name.zip filename

# 将几个文件和目录同时压缩成一个zip格式的压缩包

# 解压

unzip archive_name.zip

cd

切换目录

#        个人主目录

cd ~

#        根目录

cd /

#        上一级目录

cd ..

#        上二级目录

cd ../..

#        切换至上一次目录位置

cd -

ls

#        默认显示当前目录下的文件和目录列表。

ls

#        显示当前目录下所有文件和目录,包括隐藏文件

ls -a

#        递归列出目录下文件,连同子目录文件一起列出

ls -R

#        反转列出文件的顺序

ls -r

#        列出文件或者目录的详细信息

ls -l

#        按行列出每个文件或者目录

ls -1

#        列出当前目录下的文件和目录,同时以特定方式格式化输出

ls -F

在每个条目后面添加特定的字符,以指示该条目的类型

/表示这是一个目录
@表示这是一个符号链接link
|表示这是一个管道
=表示这是一个套接字
*

表示这是一个可执行文件

#        过滤输出的列表

?表示一个字符
*

表示0或多个字符

1、列出当前目录下的文件或目录

ls -l word?或者ls -l word*

2、列出指定目录下的文件或目录

ls word?或者ls word*

pwd

显示当前工作目录

touch

创建空文件

touch filename

mkdir

创建目录

mkdir dirname

cp

cp source destination

复制文件

#        备份整个文件夹(归档模式);递归复制目录与内容,保留源文件所有属性

cp -a source destination

source 目录备份到destination目录下

#        交互式复制;覆盖目标文件前,进行提示

cp [-i] source destination

source文件内容复制到destination文件中;

若destination文件已经存在,会提示是否覆盖原文件内容;

若不存在destination文件,则创建该文件  

#        强制复制;覆盖目标文件前,不提示

cp -f source destination

#        目标文件保留原文件的属性(包括所有者、所属组、权限和时间戳等)

cp -p source destination

#        在当前目录下备份一份文件

使用单点符(.),表示当前工作目录

cp source .

mv

#        移动文件或目录到另一目录下

mv source1 [source2…] destination

默认存在相同名称文件时,mv上诉指令在覆盖前会进行提示

#        强制移动

mv -f source destination

#        移动并重命名文件或目录;仅能操作单个文件或目录

mv oldname newname

rm

#        删除文件;默认进行确认提示

rm [-i] filename1[filename2…]

#        强制删除;不进行提示

rm -f filename1[filename2…]

#        递归删除子目录文件与当前目录

rm -r dirname1 [dirname2…]

#        禁忌指令

rm -rf /*

rmdir

#        删除空目录;若目录存在文件无法删除

rmdir dirname


系统指令

shutdown

参数

-H, --haltHalt the machine.-P, --poweroffPower-off the machine (the default).-r, --rebootReboot the machine.-hEquivalent to --poweroff, unless --halt is specified.-kDo not halt, power-off, reboot, just write wall message.--no-wallDo not send wall message before halt, power-off, reboot.-cCancel a pending shutdown. This may be used cancel the effect of an invocation of shutdown with a time argument that is not "+0" or "now".

#        关闭系统

        shutdown -h now
        init 0 
        telinit 0 

#        按预定时间关闭系统
        shutdown -h hours:minutes &

#        取消按预定时间关闭系统
        shutdown -c

#        立即重启
        shutdown -r now
        reboot
#        注销

        logout

#        测算一个命令(即程序)的执行时间
        time​​​​​​​

grep

在指定文件中查找匹配的文本

grep keyword

ps

#        ps --help用法

Try 'ps --help <simple|list|output|threads|misc|all>'or 'ps --help <s|l|o|t|m|a>'
ps --help simpleUsage:ps [options]Basic options:-A, -e               all processes-a                   all with tty, except session leadersa                   all with tty, including other users-d                   all except session leaders-N, --deselect       negate selectionr                   only running processesT                   all processes on this terminalx                   processes without controlling ttys

TTY 字段代表“Terminal Type”,即终端类型。它表示进程关联的终端或控制台。

#        显示当前终端会话中属于当前用户的进程列表

ps

#        显示系统所有进程的信息

ps -e 或者ps -A

#        显示终端上的所有进程,包括其他用户的进程

ps -a

#        显示没有终端控制的进程

ps -x

ps --help outputUsage:ps [options]Output formats:-F                   extra full-f                   full-format, including command linesf, --forest         ascii art process tree-H                   show process hierarchy-j                   jobs formatj                   BSD job control format-l                   long formatl                   BSD long format-M, Z                add security data (for SELinux)-O <format>          preloaded with default columnsO <format>          as -O, with BSD personality-o, o, --format <format>user-defined formats                   signal formatu                   user-oriented formatv                   virtual memory formatX                   register format-y                   do not show flags, show rss vs. addr (used with -l)--context        display security context (for SELinux)--headers        repeat header lines, one per page--no-headers     do not print header at all--cols, --columns, --width <num>set screen width--rows, --lines <num>set screen height

#       显示长格式的进程信息,例如进程命令行、进程状态(S)、进程的会话ID(SID)等

ps -l

#        使用全格式显示进程信息,包括父进程ID(PPID)、进程状态、CPU使用率(%CPU)、内存使用率(%MEM)等

ps -f

ps -F 提供了比ps -f更加详细的进程信息,是其增强版。

添加了SZ(进程使用的虚拟内存大小)、RSS(进程使用的物理内存大小)、PSR(进程当前运行的CPU编号)、ADDR(进程在内核虚拟地址空间中的地址)和WCHAN(进程正在等待的内核函数名称)等字段。

#        自定义输出格式,指定要显示的列

ps -o 自定义列

ps --help listUsage:ps [options]Selection by list:-C <command>         command name-G, --Group <GID>    real group id or name-g, --group <group>  session or effective group name-p, p, --pid <PID>   process id--ppid <PID>  parent process id-q, q, --quick-pid <PID>process id (quick mode)-s, --sid <session>  session id-t, t, --tty <tty>   terminal-u, U, --user <UID>  effective user id or name-U, --User <UID>     real user id or nameThe selection options take as their argument either:a comma-separated list e.g. '-u root,nobody' ora blank-separated list e.g. '-p 123 4567'

VSZ字段代表“Virtual Memory Size”,表示进程占用的虚拟内存大小(单位通常是KB)。

RSS字段代表“Resident Set Size”,表示进程当前占用的物理内存大小(单位通常是KB)。

STAT表示进程的状态;该字段包含了多个字符,每个字符都代表了一种状态。

字段解释
D不可中断的睡眠状态,通常表示进程正在进行I/O操作
R运行中或就绪状态
S可中断的睡眠状态,表示进程正在等待某个事件或资源,并且可以被信号唤醒
T停止状态
Z僵尸进程,即已经终止但尚未被父进程回收的进程
W没有足够的内存分页可分配
<高优先级的进程
N低优先级的进程
L内存锁定(memory locked)。这表示进程的一部分或全部内存被锁定在内存中,不会被换出(swapped out)
s会话领导者(session leader)。这表示进程是某个会话的领头进程
+前台进程组的成员。这表示进程属于某个前台进程组,与当前终端关联

#        显示指定用户的进程信息

ps -u [用户名]

默认当前用户的信息

#        列出指定程序的进程信息

ps -C 进程名

#        显示指定进程ID的进程信息

ps -p PID

ps --help threadsUsage:ps [options]Show threads:H                   as if they were processes-L                   possibly with LWP and NLWP columns-m, m                after processes-T                   possibly with SPID column

#        查看当前系统运行的所有用户的所有进程

ps aux

#        查看所有进程ID、进程名、内存占用百分比

ps -e -o pid,comm,%mem

MobaXterm持续获取CPU和内存

top持续输出

直接读取文件

while true; do  echo "CPU Info at $(date)" >> system_info.log  cat /proc/cpuinfo >> system_info.log  echo "Memory Info at $(date)" >> system_info.log  cat /proc/meminfo >> system_info.log  echo "------------------------" >> system_info.log  sleep 5  
done

df

显示文件系统的磁盘空间使用情况

top

实时显示系统中各个进程CPU、内存等资源的使用情况。

在top界面中,按下“M”键(或“Shift+M”)可以根据内存使用率对进程进行排序。

按下 1 键来显示每个CPU核心的详细使用情况。

使用Ctrl + C键退出top命令

网络配置命令

ifconfig

#        显示当前系统中所有处于激活状态的网络接口信息

ifconfig

#        显示所有网络接口的信息,无论是否激活。

ifconfig -a

#        显示指定网络接口的信息

ifconfig [interface]

#        激活指定网络接口

ifconfig [interface] up

#        关闭指定网络接口

ifconfig [interface] down

#        为指定网络接口设置IP地址和子网掩码,并自动激活;

ifconfig [interface] [ip] netmask [netmask]

#        修改指定网络接口的MAC地址与MTU

ifconfig [interface] hw ether [mac_address] mtu [mtu]

route

#        显示当前路由表

route

或者

ip route show

#       添加一条静态路由

route add -net [ip] netmask [netmask] gw [gw] dev [interface]

#        删除一条静态路由

route del -net [ip] netmask [netmask] gw [gw]

#        添加默认路由

route add default gw [gw] [interface]

添加默认网关时,需要确保所选的网络接口(如ens36或ens33)是活动的,

并且与网关IP地址在同一网络段内。

如果网络接口未正确配置或未连接到网络,则无法添加默认网关(如此处报错Network is  unreachable)。

#        删除默认路由

route del default gw [gw]

#        添加到主机路由

route add -host [ip] gw [gw] 

#        删除到主机路由

route del -host [ip] gw [gw]

路由表参数

Flags解释
U[p]路由已经启动,是一个有效路由
G[ateway]该路由到指定网络需要使用gw转发
H[ost]该路由目标为主机Host
R[einstate]使用动态路由时,恢复路由标识
D[ynamic]该路由是由服务功能设定的动态路由
M[odified]该路由已经被修改
!该路由不被接受
A[ddress]某些上下文中,可能表示该路由是一个广播地址
C[ache]该路由是来自路由缓存

iptables

  是用于配置Linux内核防火墙的工具,具有IP包过滤功能。

基本语法格式
iptables [-t table] [-A|-C|-D chain] [-i interface] [-o interface] [-p protocol] \  [-s source_ip/mask] [-d destination_ip/mask] [--sport source_port] \  [--dport destination_port] [-j target]

[-t table]:指定要操作的表,省略[-t table]时,默认filter

[-A|-C|-D chain] :

-A        向链添加规则

-C        检查链中是否存在规则(通常用于脚本中的条件检查)

-D        从链中删除规则

[-i interface] :指定数据包进入接口

[-o interface] :指定数据包离开接口

[-p protocol] :  指定协议(TCP、UDP、ICMP等)

 [-s source_ip/mask] :指定源IP和子网掩码

[-d destination_ip/mask] :指定目的IP和子网掩码

[--sport source_port] : 指定源端口
[--dport destination_port] :指定目的端口

[-j target]:匹配规则后的动作(accept,drop,reject,redirect,log等)


图:iptables中数据包处理流程

图:iptables简化处理流程


iptables的基本组件

I、表

内建规则表:nat、mangle和filter。

fiter:

决定数据包处理方式(接受、拒绝或丢弃);

拥有input、forward、output三个规则链。

nat

网络地址转换,进行一对一、一对多、多对多地址转换。

拥有prerouting、postrouting两个规则链。

mangle:

修改数据包头信息

拥有prerouting、forward、postrouting三个规则链。

raw:

用于处理数据包在路由决策之前。

security:

用于SELinux等安全模块的数据包访问控制。

II、链

INPUT:处理进入本机的数据包。

FORWARD:处理经过本机转发的数据包。

OUTPUT:处理从本机发出的数据包。

PREROUTING:用于处理目的地址转换前的数据包。

POSTROUTING:用于处理源地址转换后的数据包。

注意:链的英文必须大写,否则会报错。

III、规则

定义如何处理匹配特定条件的数据包。

可以基于源地址、目的地址、协议类型(TCP、UDP、ICMP)、端口号等条件。


#        允许SSH访问

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

#        打印当前的iptables全部规则和特定的链规则

iptables -L -v -n        全部规则

或者

iptables -L [chain] -v -n        特定的链规则

-L :列出规则

-v:详细模式Verbose,显示更多信息

-n:不进行DNS解析,直接显示IP地址和端口号

如:iptables -L INPUT -v -n

#        拒绝HTTP访问

iptables -A INPUT -p tcp --dport 80 -j DROP

#        转发所有流量到8080端口

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

此处查看时,必须要指定为nat表。

#        删除规则

iptables -t nat -D PREROUTING 1        此处1为规则编号

#        保存和恢复规则

iptables规则在重启后会丢失。

iptables-save > 文件

iptables-restore < 文件

ping

防火墙相关

#        查看防火墙状态

systemctl status firewalld

#        启动防火墙

systemctl start/restart firewalld

#        关闭防火墙,临时停用,重启后失效

systemctl stop firewalld或者systemctl stop firewalld.service

#      永久关闭防火墙

systemctl disable firewalld 或者 systemctl disable firewalld.service

#        开机自启动防火墙

systemctl enable firewalld 或者 systemctl enable firewalld.service  

#        查看防火墙是否开机自启动

systemctl is-enabled firewall

#        firewall-cmd指令

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/57554.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python实战项目47:Selenium采集百度股市通数据

python实战项目47:Selenium采集百度股市通数据 一、思路分析二、完整代码一、思路分析 这里以获取百度股市通股评下的投票数据为例,页面中的其他数据同理。由于此页面数据是js动态加载的,所以采用Selenium获取数据。思路很简单,通过Selenium打开页面,然后定位到“股评”选…

没有B柱?极氪MIX太大胆了!

文 | AUTO芯球 作者 | 雷慢 极氪又给国产车长脸了&#xff0c; 极氪MIX上市&#xff0c;创造了多个行业先例&#xff0c; 估计把合资看得一愣一愣的&#xff0c; 哪见过这样的每月都有新技术、黑科技冒出来&#xff0c; 我看完整个发布会就一个感想&#xff0c; 家里有小…

数据结构——哈夫曼树及其应用(哈夫曼编码)

判断树&#xff1a;用来描述分类过程的二叉树 哈夫曼树&#xff08;最优二叉树&#xff09;的基本概念 路径&#xff1a;从树中一个结点到另一个结点之间的分支构成这两个结点间的路径。 结点的路径长度&#xff1a;两结点间路径上的分支数。 结点的路径长度计算&#xff1…

PDF文件为什么不能编辑是?是啥原因导致的,有何解决方法

PDF文件格式广泛应用于工作中&#xff0c;但有时候我们可能遇到无法编辑PDF文件的情况。这可能导致工作效率降低&#xff0c;特别是在需要修改文件内容时显得尤为棘手。遇到PDF不能编辑时&#xff0c;可以看看是否以下3个原因导致的。 一、文件受保护 有些PDF文件可能被设置了…

leetcode动态规划(十二)-最后一块石头的重量

题目 1049.最后一块石头的重量 有一堆石头&#xff0c;用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合&#xff0c;从中选出任意两块石头&#xff0c;然后将它们一起粉碎。假设石头的重量分别为 x 和 y&#xff0c;且 x < y。那么粉碎的可能结…

矩阵matrix

点积 在 NumPy 中&#xff0c;dot 是矩阵或向量的点积&#xff08;dot product&#xff09;操作。 假设有两个向量a和 b&#xff0c;它们的点积定义为对应元素相乘&#xff0c;然后求和。公式如下&#xff1a; 例子&#xff1a; 点积的计算步骤是&#xff1a; 因此&#xf…

入门 | Prometheus+Grafana 普罗米修斯

一、prometheus介绍 1、监控系统组成 一个完整的监控系统需要包括如下功能&#xff1a;数据产生、数据采集、数据存储、数据处理、数据展示、分析、告警等。 &#xff08;1&#xff09;、数据来源 数据来源&#xff0c;也就是需要监控的数据。数据常见的产生、直接或间接暴露…

服务器磁盘爆满?别慌,教你轻松清理!

服务器磁盘爆满&#xff1f;别慌&#xff0c;教你轻松清理&#xff01; 简介 服务器磁盘空间告急&#xff0c;网站访问缓慢&#xff0c;甚至无法正常运行&#xff1f;别担心&#xff0c;这篇文章将为你提供一份详细的清理指南&#xff0c;帮助你快速释放服务器磁盘空间&#x…

【算法】Bellman-Ford单源最短路径算法(附动图)

目录 一、性质 二、思路 三、有边路限制的最短路 一、性质 适用于含有负权边的图&#xff08;Dijkstra不适用&#xff09; 更简单&#xff0c;但效率慢 如果对应路径存在负权回路则没有最短路径&#xff08;可用于判断图中是否存在负权回路&#xff09; 相比于spfa&#…

[分享] SQL在线编辑工具(好用)

在线SQL编写工具&#xff08;无广告&#xff09; - 在线SQL编写工具 - Web SQL - SQL在线编辑格式化 - WGCLOUD

物联网实训项目:绿色家居套件

1、基本介绍 绿色家居通过物联网技术将家中的各种设备连接到一起&#xff0c;提供家电控制、照明控制、电话远程控制、室内外遥控、防盗报警、环境监测、暖通控制、红外转发以及可编程定时控制等多种功能和手段。绿色家居提供全方位的信息交互功能&#xff0c;甚至为各种能源费…

solana phantom NFT图片显示不出来?

solana phantom NFT图片显示不出来&#xff1f; 问题 同样是jpeg格式图片&#xff0c;一个phatom可以显示&#xff0c;一个不可以显示为什么&#xff0c;nft图片格式大小有要求吗&#xff1f; 问题分析 Phantom 官网有一些关于 NFT 集成的文档,其中可能会有关于图片大小限制…

049_python基于Python的热门微博数据可视化分析

目录 系统展示 开发背景 代码实现 项目案例 获取源码 博主介绍&#xff1a;CodeMentor毕业设计领航者、全网关注者30W群落&#xff0c;InfoQ特邀专栏作家、技术博客领航者、InfoQ新星培育计划导师、Web开发领域杰出贡献者&#xff0c;博客领航之星、开发者头条/腾讯云/AW…

15分钟学Go 第7天:控制结构 - 条件语句

第7天&#xff1a;控制结构 - 条件语句 在Go语言中&#xff0c;控制结构是程序逻辑的重要组成部分。通过条件语句&#xff0c;我们可以根据不同的条件采取不同的行动。今天我们将详细探讨Go语言中的两种主要条件结构&#xff1a;if语句和switch语句。理解这些控制结构对于编写…

CTA-GAN:基于生成对抗网络对颈动脉和主动脉的非增强CT影像进行血管增强

写在前面 目前只分析了文章的大体内容和我个人认为的比较重要的细节&#xff0c;代码实现还没仔细看&#xff0c;后续有时间会补充代码细节部分。 文章地址&#xff1a;Generative Adversarial Network-based Noncontrast CT Angiography for Aorta and Carotid Arteries 代…

JAVA基础面试题准备

一些常见的JAVA基础题&#xff0c;面试中遇到过的会加*显示。 JAVA基础 1.Java中重载和重写的区别&#xff1f;* 2.int 和Integer类型这两个区别吗&#xff1f; 为什么需要有Integer类型&#xff1a; int和Integer类型的区别&#xff1a; 3.遍历list有那些方式吗&#xff1f;…

【Linux】进程信号(下)

目录 一、信号的阻塞 1.1 信号在内核中的保存方式 1.2 sigset_t信号集 &#xff08;1&#xff09;信号集操作 &#xff08;2&#xff09;sigprocmask函数 &#xff08;3&#xff09;sigpending函数 二、信号的处理 2.1 用户态和内核态 2.2 重谈进程地址空间 三、信号…

盘点2024年4款高清稳定的Windows10录屏工具。

Windows10电脑录屏在生活当中还是挺重要的&#xff0c;无论是教育领域的制作教程&#xff0c;还是游戏玩家记录精彩瞬间&#xff0c;亦或是商务人士进行演示&#xff0c;录屏都能发挥巨大作用。如果设备自带的一些工具无法完成录屏需求的话&#xff0c;这里帮大家找了几款好用到…

AI大模型应用(3)开源框架Vanna: 利用RAG方法做Text2SQL任务

AI大模型应用(3)开源框架Vanna: 利用RAG方法做Text2SQL任务 RAG&#xff08;Retrieval-Augmented Generation&#xff0c;如下图所示&#xff09;检索增强生成&#xff0c;即大模型LLM在回答问题时&#xff0c;会先从大量的文档中检索出相关信息&#xff0c;然后基于这些检索出…

万家数科:零售业务信息化融合的探索|OceanBase案例

本文作者&#xff1a;马琳&#xff0c;万家数科数据库专家。 万家数科商业数据有限公司&#xff0c;作为华润万家旗下的信息技术企业&#xff0c;专注于零售行业&#xff0c;在为华润万家提供服务的同时&#xff0c;也积极面向市场&#xff0c;为零售商及其生态系统提供全面的核…