【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, --halt
           Halt the machine.

       -P, --poweroff
           Power-off the machine (the default).

       -r, --reboot
           Reboot the machine.

       -h
           Equivalent to --poweroff, unless --halt is specified.

       -k
           Do not halt, power-off, reboot, just write wall message.

       --no-wall
           Do not send wall message before halt, power-off, reboot.

       -c
           Cancel 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 simple

Usage:
 ps [options]

Basic options:
 -A, -e               all processes
 -a                   all with tty, except session leaders
  a                   all with tty, including other users
 -d                   all except session leaders
 -N, --deselect       negate selection
  r                   only running processes
  T                   all processes on this terminal
  x                   processes without controlling ttys

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

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

ps

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

ps -e 或者ps -A

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

ps -a

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

ps -x

ps --help output

Usage:
 ps [options]

Output formats:
 -F                   extra full
 -f                   full-format, including command lines
  f, --forest         ascii art process tree
 -H                   show process hierarchy
 -j                   jobs format
  j                   BSD job control format
 -l                   long format
  l                   BSD long format
 -M, Z                add security data (for SELinux)
 -O <format>          preloaded with default columns
  O <format>          as -O, with BSD personality
 -o, o, --format <format>
                      user-defined format
  s                   signal format
  u                   user-oriented format
  v                   virtual memory format
  X                   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 list

Usage:
 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 name

  The selection options take as their argument either:
    a comma-separated list e.g. '-u root,nobody' or
    a 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 threads

Usage:
 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指令

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深度学习相关知识点

文章目录 epoch/batch/batch_size的关系dense visual predictionlogits epoch/batch/batch_size的关系 Epoch&#xff1a;模型在整个数据集上完成一次训练。一个epoch后&#xff0c;模型已经看过所有的训练数据&#xff0c;执行了正向传播和反向传播。通常训练需要多个epoch&a…

【C#】搭建环境之CSharp+OpenCV

在我们使用C#编程中&#xff0c;对图片处理时会用到OpenCV库&#xff0c;以及其他视觉厂商提供的封装库&#xff0c;这里因为OpenCV是开源库&#xff0c;所以在VS资源里可以直接安装使用&#xff0c;这里简单说明一下搭建的步骤及实现效果&#xff0c;留存。 1. 项目创建 1.1…

055_基于python摄影平台交流系统

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

【笔试题】字节秋招笔试 TODO

&#x1f517; 参考地址 亮灭 &#x1f517; 亮灭 &#x1f389; 模拟 import java.util.Scanner;public class Main {// 亮灯数组&#xff1a;a[1][2][3] 表示 数字1的第2行第3列&#xff0c;1 表示亮static int[][][] a new int[10][10][10];public static void main(Str…

python机器人编程——用python调用API控制wifi小车的实例程序

目录 一、前言二、一个客户端的简单实现2.1 首先定义一个类及属性2.2 其次定义连接方法2.3 定义一些回调函数2.4 定义发送小车指令方法2.5 定义一个正常关闭方法 三、python编程控制小车的demo实现四、小结PS.扩展阅读ps1.六自由度机器人相关文章资源ps2.四轴机器相关文章资源p…

从0开始linux(19)——如何写一个linux环境下运行的shell程序

欢迎来到博主的专栏&#xff1a;从0开始Linux 博主ID&#xff1a;代码小豪 文章目录 bashmyshell源码 bash 什么&#xff1f;我写bash&#xff1f;bash作为一个大型的shell程序&#xff0c;甚至已经成为一种语言。博主当然没能力复刻。 博主这里写了一个仿bash的shell程序。主…

Linux:文件系统基础命令扫盲

目录 查看目录下的文件 创建目录文件 删除目录文件 打印当前工作目录 切换工作目录 删除文件 复制文件或目录 移动文件或目录 创建文件 &#x1f680;主页&#xff1a;R6bandito_ ✈往期&#xff1a;《Linux与Windows文件共享》 查看目录下的文件 命令&#xff1a;ls …

2024年【流动式起重机司机】考试技巧及流动式起重机司机模拟考试题库

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 流动式起重机司机考试技巧是安全生产模拟考试一点通生成的&#xff0c;流动式起重机司机证模拟考试题库是根据流动式起重机司机最新版教材汇编出流动式起重机司机仿真模拟考试。2024年【流动式起重机司机】考试技巧及…

正确的功能可将热晶体管风速计线性化

处理传感器电路输出信号的电路或计算公式必须生成传感器响应的反函数。例如&#xff0c;如果传感器响应是对数函数&#xff0c;则线性化部分的响应必须是指数的。 这项工作首先获取传感器响应的 46 个离散点&#xff08;参见参考论文中的图 4&#xff09;。刚开始时&#xff0…

若依前后分离版集成积木报表进行token传递

若依分离板集成积木报表就不说了需要的请移步&#xff1a;若依前后分离版集成积木报表-CSDN博客 考虑到前端摸鱼不干活,所以一般都是前后端都干&#xff0c;我这里前后端都搞上&#xff0c;你们直接抄&#xff0c;抄完接着去摸鱼&#xff0c;代码不美观&#xff0c;轻喷 一、…

【景观生态学实验】实验一 ArcGIS地理数据处理及制图基础

实验目的 1.掌握ArcGIS软件基本操作&#xff1a;通过实验操作与学习&#xff0c;熟练掌握ArcGIS软件相关的基本操作&#xff0c;包括界面熟悉、工具栏使用、数据的加载和保存、基本数据处理操作等; 2.掌握如何使用ArcGIS进行影像拼接及裁剪&#xff1a;通过实验操作与学习&am…

ABAP SMARTFORMS(2)

1、表单接口 方法一&#xff1a;导入结构、内表&#xff0c;给全局定义传入结构体 方法二&#xff1a;只关联表&#xff0c;不关联结构,给全局定义传入结构体 GW_XYXX存的表头信息 GW_XYKQ存考勤信息,表中的每一行 初始化学员信息表的第一条数据作为表头 2、创建表头模板 该…

x-cmd mod | x sd - 搭配 fzf 实时预览文本替换效果,打造更直观高效的编辑体验

目录 介绍子命令使用案例 介绍 sd&#xff08;search & displace&#xff09;是一种查找和替换文本工具&#xff0c;使用常见的正则表达式语法&#xff0c;类似于 sed&#xff0c;但专注于替换操作&#xff0c;从而使用起来更直观、更易读。 该模块主要通过 fzf 以交互方式…

单片机STC8H8K64U开发板_RA6809开发板 驱动彩屏显示

单片机STC8H8K64U开发板&#xff0c;型号RT8H8K001 预留Type C接口&#xff0c;可供电SWD下载&#xff1a; RA6809开发板&#xff0c;型号RT6809CNN01 预留Type C接口供电&#xff0c;预留MCU接口、电容触摸屏接口、液晶屏接口&#xff1a; 双臂合一&#xff0c;驱动和控…

Error in cpuinfo: prctl(PR_SVE_GET_VL) failed 错误记录

今天在一台新机器上面搭建安装环境的时候出现了上面的错误&#xff0c;直观感觉是跟py-cpuinfo这个模块有关系的。 Error in cpuinfo: prctl(PR_SVE_GET_VL) failed 错误通常与 ARM 架构上的 CPU 信息库&#xff08;如 cpuinfo&#xff09;相关&#xff0c;特别是在尝试获取可扩…

web pdf 图片拖动图片合成

web pdf 图片拖动图片合成 先看效果 前端 合成后 1.原理 以前写过相关的帖子&#xff0c;使用的是 canva 但是这次换了一个思路使用的是图片 1.先把pdf转成图片 2.把pdf图片和目标图片传到浏览器 3.原理就和图片合成一样了。见上一篇帖子 4.后端也一样只不过这次是将位置和pd…

IntelliJ IDEA 常用快捷键详解与自定义修改方法

目录 前言1. IntelliJ IDEA 常用快捷键1.1 代码编辑快捷键1.2 代码导航快捷键1.3 重构快捷键1.4 调试快捷键 2. 如何修改 IntelliJ IDEA 快捷键2.1 打开快捷键设置界面2.2 查找和修改快捷键2.3 导入和导出快捷键配置 结语 前言 IntelliJ IDEA 是一款广受开发者欢迎的集成开发环…

vue2之混入(mixin)

Vue 2 的混入&#xff08;Mixin&#xff09;是一种在 Vue 组件中分发可复用功能的方式。通过混入&#xff0c;你可以将一些通用的组件选项&#xff08;如数据、方法、计算属性、生命周期钩子等&#xff09;提取到一个混入对象中&#xff0c;并在多个组件中重用这些选项&#xf…

基于Python大数据的招聘数据分析及大屏可视化系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…

2024软考-《软件设计师》-易混淆知识点总结(1~6章)

一、计算机组成与体系结构 1.1、原码、反码、补码、移码的运算 原码&#xff1a;最高位表示符号位&#xff0c;其余低位表示数值的绝对值&#xff08;0表示正数&#xff0c;1表示负数&#xff09; 反码&#xff1a;正数的反码与原码相同&#xff0c;负数的反码是其绝对值按位…