当前位置: 首页 > news >正文

Linux 常用命令整理大全及命令使用心得

本文章是为了总结自己用过的命令,以及一些心得,网上有很多类似的,但自己总结才能更好的理解。

文章目录

  • 一、文件和目录管理
    • 01、 ls :列出目录内容
    • 02、cd:更改当前目录
    • 03、pwd:显示当前工作目录
    • 04、mkdir:创建新目录
    • 05、rmdir:删除空目录
    • 06、rm:删除文件或目录
    • 07、cp:复制文件或目录
    • 08、mv:移动或重命名文件或目录
    • 09、touch:创建一个空文件或更新文件的时间戳
    • 10、cat:连接文件并打印到标准输出
    • 11、more 和 less:分页查看文件内容
    • 12、head 和 tail 查看文件的开头或结尾部分
  • 二、修改文件 vi 或 vim
    • 01、vi 编辑器的 3 种模式
    • 02、使用 vi 或 vim 打开文件
    • 03、使用 vi 或 vim 编辑文件
    • 04、使用 vi 或 vim 保存文件
    • 05、使用 vi 或 vim 取消编辑
  • 三、文件搜索和查找
    • 01、find:在目录中搜索文件或目录
    • 02、grep:搜索文件中的文本
    • 03、locate:快速查找文件(依赖于预构建的数据库)
  • 四、系统信息和监控
    • 01、top:实时显示系统性能信息,包括CPU、内存使用情况等
  • 五、用户和权限管理
    • 01、su:切换到另一个用户(通常需要root权限)
    • 02、sudo:以另一个用户的身份执行命令(通常是root)
    • 03、chmod:更改文件或目录的权限
    • 04、chown:更改文件或目录的所有者
    • 05、useradd:添加用户
    • 06、userdel:删除用户
    • 07、groupadd:添加用户组
    • 08、groupdel:删除用户组
  • 六、网络管理
    • 01、ping:测试到另一台主机的网络连接。
    • 02、ifconfig:显示或配置网络接口
    • 03、ip:显示或配置网络接口
    • 04、netstat:显示网络连接、路由表、接口统计等
    • 05、ss:更现代的替代品,用于显示套接字统计信息
    • 06、curl:从网络下载文件
    • 07、wget:从网络下载文件
  • 七、软件包管理
    • 01、apt:(Debian/Ubuntu系)- 管理软件包
    • 02、yum:(Red Hat/Fedora系)- 管理软件包
    • 03、dnf:(Red Hat/Fedora系)- 管理软件包
    • 04、pacman:(Arch Linux)- 管理软件包

一、文件和目录管理

01、 ls :列出目录内容

  • ls:展示文件夹下所有文件。常用
  • ls -l:以长格式显示文件和目录的详细信息。
  • ls -a:显示包括隐藏文件在内的所有文件。
  • ls -lh:以人类可读的格式显示文件大小。
  • ls -lSr:查看⽂件和⽬录列表(以⽂件⼤⼩升序查看)
  • tree:查看⽂件和⽬录的树形结构 (如果没有需要先安装 yum install tree)
  • ls -R:连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来。

02、cd:更改当前目录

  • cd ..:返回上一级目录。常用
  • cd ~:返回用户主目录。
  • cd /path/to/directory:切换到指定目录。常用
    • 这个命令可以配合 tab 键使用,用于补全文件名,使用模糊搜索,如果模糊搜索到多个文件,tab 补全不生效。

03、pwd:显示当前工作目录

  • pwd:命令就是这个。

04、mkdir:创建新目录

  • mkdir wen:创建目录
  • mkdir rjw wen:同时创建两个目录
  • mkdir -p /path/to/directory:递归创建目录,包括必要的父目录。

05、rmdir:删除空目录

  • rmdir wen:删除目录

06、rm:删除文件或目录

  • rm file:删除文件。
  • rm -r directory:递归删除目录及其内容。
  • rm -rf directory:强制递归删除目录及其内容,不提示确认。
  • rm -rf dir1:删除 dir1 ⽬录和其内容。
  • rm -rf dir1 dir2:同时删除两个⽬录及其内容。

07、cp:复制文件或目录

  • cp file1 file2:复制文件。
  • cp -r directory1 directory2:递归复制目录。
  • cp dir/* .:复制某目录下的所有文件至当前目录。
  • cp -a dir1 dir2:复制 dir1 目录到 dir2 目录。
  • cp -a /temp/dir1 .:复制一个目录至当前目录。

08、mv:移动或重命名文件或目录

  • mv oldname newname:重命名文件或目录。
  • mv file /path/to/directory:移动文件到指定目录。

09、touch:创建一个空文件或更新文件的时间戳

  • touch wen.txt:创建一个空白文件。
  • touch -a "2020-10-10 15:34" wen.txt :仅修改访问时间。黑客常用
  • touch -m "2020-10-10 15:34" wen.txt :仅修改修改时间。黑客常用
  • touch -d "2020-10-10 15:34" wen.txt :修改访问和修改时间。黑客常用

10、cat:连接文件并打印到标准输出

  • cat file:查看文件内容。
  • cat -n file1:标示文件的行数。
  • cat file1 file2 > file3:合并文件内容到 file3

11、more 和 less:分页查看文件内容

  • more file:逐页查看文件内容。
  • less file:类似 more,但功能更强大,支持向前翻页,有方向。

12、head 和 tail 查看文件的开头或结尾部分

  • head file:查看文件的前10行。
  • tail file:查看文件的后10行。
  • tail -n 20 file:查看文件的后20行。
  • tail -f file:实时跟踪文件内容更新(常用于查看日志文件)。

二、修改文件 vi 或 vim

01、vi 编辑器的 3 种模式

命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode

  • 命令行模式(command mode):控制屏幕光标的移动,字符、字或行的删除和查找,移动复制某区段及进入 Insert mode 下,或者到 last line mode

    • 控制光标移动:↑,↓,j
    • 删除当前行:dd
    • 查找:/字符,会在底部显示。
    • 进入编辑模式:i o a
    • 进入底行模式::
  • 编辑模式(Insert mode):只有在 Insert mode下,才可以做文字输入,按 ESC 键可回到命令行模式。

    • ESC 退出编辑模式到命令行模式。
  • 底行模式(last line mode):将文件保存或退出 vi,也可以设置编辑环境,如寻找字符串、列出行号等。

    • 退出编辑: :q
    • 强制退出: :q!
    • 保存并退出: :wq

02、使用 vi 或 vim 打开文件

  • vi example.txt:打开文件。
  • vim example.txt:打开文件。
  • 两者功能相同,没有区别。

注意:使用 vi 编辑器打开文件后,处于命令模式,不能编辑,需要点击键盘 i / a / o 进入编辑模式才能编辑。

03、使用 vi 或 vim 编辑文件

  • 使用 vi 编辑器打开文件后点击按键 i / a / o 进入编辑模式。
  • i:在光标所在字符前开始插入。
  • a:在光标所在字符后开始插入。
  • o:在光标所在行的下面另起一新行插入。

04、使用 vi 或 vim 保存文件

  • 处于编辑模式时:
    • ESC 进入命令行模式。
    • : 进入底行模式。
    • :wq 保存并退出编辑。
    • :q 不保存退出编辑。
    • :q! 不保存强制退出编辑。
  • 处于命令模式时:
    • : 进入底行模式。
    • :wq 退出编辑。

05、使用 vi 或 vim 取消编辑

  • ESC:进入命令行模式。
  • ::进入底行模式。
  • q!:撤销本次修改并退出编辑。

三、文件搜索和查找

01、find:在目录中搜索文件或目录

基本语法:find [起始目录] [匹配条件] [操作]

  • find /path/to/search -name filename:查找名称匹配特定模式的文件。
  • find / -name filename:从 / 开始进入根文件系统搜索文件和目录(完整文件或文件名)
  • find /path/to/search -name "*.tmp" -exec rm {} \:查找并删除文件。
  • find /path/to/search -name "*.sh" -exec chmod +x {} \:查找并更改文件权限。
  • find /home -name "*.log" -ls:查找 /home 目录下所有扩展名为 .log 的文件,并显示其详细信息。
  • find /path/to/search -iname "*.LOG":查找名称忽略大小写的匹配。
  • find /path/to/search -type f:查找文件,使用 type 类型,file
  • find /path/to/search -type d:查找目录,使用 type 类型,directory
  • find /path/to/search -size +100M:查找大于 100MB 的文件。
  • find /path/to/search -size -1k:查找小于 1KB 的文件。
  • find /path/to/search -mtime -7:查找在过去 7 天内修改过的文件。
  • find /usr/bin -type f -atime +100:搜索在过去100天内未被使用过的执行文件。
  • find /path/to/search -perm 755:查找权限为 755 的文件。
  • find /path/to/search -user username:查找属于特定用户的文件。
  • find / -user user1:搜索属于用户 user1 的文件和目录。
  • find /path/to/search -group groupname:查找属于特定组的文件。
  • find /path/to/search \( -name "*.txt" -a -size +1k \):查找满足多个条件的文件 AND
  • find /path/to/search \( -name "*.txt" -o -name "*.log" \):查找满足任一条件的文件 OR
  • find /var/log -size +10M -exec rm {} \:查找 /var/log 目录下大于 10MB 的文件,并删除它们。
  • find /etc -user root -exec chmod 644 {} \:查找 /etc 目录下所有属于 root 用户的文件,并修改其权限为 644
  • find /tmp -mtime +7 -exec mv {} /old_files/ \:查找 /tmp 目录下 7 天前修改的文件,并移动到 /old_files 目录。
  • find . -regex '.*\(net\|comm\).*'-regex 选项匹配整个路径名,出当前目录树中所有文件名中任意位置包含字符串 netcomm 的文件。

在使用 find 命令时,尤其是带有 -exec 选项时,请务必小心,因为错误的操作可能会导致数据丢失。

02、grep:搜索文件中的文本

  • grep "text" file:在文件中搜索包含指定文本的行。
  • grep -r "text" /path:递归搜索目录中的文件。

03、locate:快速查找文件(依赖于预构建的数据库)

  • locate filename:查找包含指定名称的文件。

四、系统信息和监控

01、top:实时显示系统性能信息,包括CPU、内存使用情况等

  1. htop - 类似于top,但提供了更友好的界面(需要安装)。

  2. df - 显示磁盘使用情况。

    • df -h:以人类可读的格式显示。
  3. du - 显示目录或文件的磁盘使用情况。

    • du -sh /path:显示指定目录的总大小。
  4. free - 显示内存使用情况。

    • free -h:以人类可读的格式显示。
  5. uptime - 显示系统运行时间和平均负载。

  6. ps - 显示当前运行的进程。

    • ps aux:显示所有用户的所有进程。
  7. kill - 终止进程。

    • kill PID:根据进程ID终止进程。
    • kill -9 PID:强制终止进程。

五、用户和权限管理

01、su:切换到另一个用户(通常需要root权限)

  • su username:切换到指定用户。

02、sudo:以另一个用户的身份执行命令(通常是root)

  • sudo command:以root权限执行命令。

03、chmod:更改文件或目录的权限

  • chmod 755 file:设置文件权限。

04、chown:更改文件或目录的所有者

  • chown user:group file:更改文件的所有者和组。

05、useradd:添加用户

  • sudo useradd username:添加用户。

06、userdel:删除用户

  • sudo userdel username:删除用户。

07、groupadd:添加用户组

  • sudo groupadd groupname:添加用户组。

08、groupdel:删除用户组

  • sudo groupdel groupname:删除用户组。

六、网络管理

01、ping:测试到另一台主机的网络连接。

  • ping hostname:发送ICMP ECHO_REQUEST报文到指定主机。

02、ifconfig:显示或配置网络接口

  • ifconfig:显示网络接口信息。

03、ip:显示或配置网络接口

  • ip a:显示网络接口信息。

04、netstat:显示网络连接、路由表、接口统计等

  • netstat -tuln:显示监听中的TCP和UDP端口。

05、ss:更现代的替代品,用于显示套接字统计信息

  • ss -tuln:显示监听中的TCP和UDP端口。

06、curl:从网络下载文件

  • curl http://example.com:使用curl下载文件。

07、wget:从网络下载文件

  • wget http://example.com:使用wget下载文件。

七、软件包管理

01、apt:(Debian/Ubuntu系)- 管理软件包

  • sudo apt update:更新包列表。
  • sudo apt install package:安装包。
  • sudo apt remove package:卸载包。

02、yum:(Red Hat/Fedora系)- 管理软件包

  • sudo yum update:更新包列表。
  • sudo yum install package:安装包。
  • sudo yum remove package:卸载包。

03、dnf:(Red Hat/Fedora系)- 管理软件包

  • sudo dnf update:更新包列表。
  • sudo dnf install package:安装包。
  • sudo dnf remove package:卸载包。

04、pacman:(Arch Linux)- 管理软件包

  • sudo pacman -Syu:更新系统和软件包。
  • sudo pacman -S package:安装包。
  • sudo pacman -R package:卸载包。

相关文章:

Linux 常用命令整理大全及命令使用心得

本文章是为了总结自己用过的命令,以及一些心得,网上有很多类似的,但自己总结才能更好的理解。 文章目录 一、文件和目录管理01、 ls :列出目录内容02、cd:更改当前目录03、pwd:显示当前工作目录04、mkdir&a…...

计算器的实现

计算器的⼀般实现 计算器的一般实现&#xff1a;优化&#xff1a;使⽤函数指针数组的实现&#xff1a; 计算器的一般实现&#xff1a; #include <stdio.h> int add(int a, int b) {return a b; } int sub(int a, int b) {return a - b; } int mul(int a, int b) {retur…...

这个工具帮你快速实现数据集成和同步

在这个信息爆炸的时代&#xff0c;数据的流动和同步逐渐成为企业运营的命脉。然而&#xff0c;企业正面临着前所未有的数据挑战&#xff0c;无论是跨地域的分公司协作&#xff0c;还是云服务与本地数据库的交互&#xff0c;数据的集成、清洗、转换和加载&#xff08;ETL&#x…...

论文阅读:Computational Long Exposure Mobile Photography (一)

这篇文章是谷歌发表在 2023 ACM transaction on Graphic 上的一篇文章&#xff0c;介绍如何在手机摄影中实现长曝光的一些拍摄效果。 Abstract 长曝光摄影能拍出令人惊叹的影像&#xff0c;用运动模糊来呈现场景中的移动元素。它通常有两种模式&#xff0c;分别产生前景模糊或…...

项目解决方案:多地连锁药店高清视频监控系统建设解决方案(设计方案)

​ 目录 一.项目背景 1.1背景描述 1.2需求分析 二.设计依据和建设目标 2.1设计依据 2.2建设目标 三.系统设计实现 3.1系统方案设计 3.2网络组网说明 四.建设系统特色 4.1安全性 4.2节约建设成本 4.3原有资源的再利用 4.4可扩展性 五.产品介绍 5.1概述 5.2设备…...

utf-8、pbkdf2_sha

#utf-8加密、解密 import base64 base64.b64encode(lienlien123.encode(utf-8)) bbGllbmxpZW4xMjM base64.b64decode(bbGllbmxpZW4xMjM.decode(utf-8)) blienlien123 #pbkdf2_sha加密&#xff0c;校验 # 该种密码在不同时刻会有产生不同的加密结果 # 该加密方法使用的是散列…...

Java之包,抽象类,接口

目录 包 导入包 静态导入 将类放入包 常见的系统包 抽象类 语法规则 注意事项&#xff1a; 抽象类的作用 接口 实现多个接口 接口间的继承 接口使用实例 &#xff08;法一&#xff09;实现Comparable接口的compareTo()方法 &#xff08;法二&#xff09;实现Comp…...

HarmonyOS鸿蒙开发入门,常用ArkUI组件学习(二)

书接上回&#xff0c;让我们继续来学习ArkUI的其他组件 目录&#xff0c;可以点击跳转到想要了解的组件详细内容 组件四&#xff1a;Button组件五&#xff1a;Slider组件六&#xff1a; Column & Row组件七&#xff1a;循环控制组件八&#xff1a; List 组件四&#xff1a;…...

斩!JavaScript语法进阶

一、DOM 概述 DOM 是 JavaScript 操作网页的接口&#xff0c;全称为“文档对象模型”&#xff08;Document Object Model&#xff09;。当网页被加载时&#xff0c;浏览器将网页转为一个DOM&#xff0c;并用JS进行各种操作。比如&#xff1a;改变页面中的HTML 元素及其属性&am…...

UFO:Windows操作系统的具象智能代理

近年来&#xff0c;随着AI技术的发展&#xff0c;智能代理在各种应用中扮演着越来越重要的角色。微软推出的UFO&#xff08;User-Focused Operator&#xff09;正是这样一个出色的多代理框架&#xff0c;旨在通过无缝导航和操作&#xff0c;满足用户在Windows操作系统中跨多个应…...

win10/11无休眠设置和断电后电池模式自动休眠而不是睡眠-用以省电

1、打开休眠设置选项 打开控制面板\所有控制面板项\电源选项\ 左侧的选择电源按钮的功能 默认状态没有休眠 1、管理员权限打开cmd或者power shell 2、输入一下指令&#xff0c;打开休眠选项 powercfg -hibernate on关闭后重新打开 控制面板\所有控制面板项\电源选项\左侧的选…...

【动态规划之斐波那契数列模型】——累加递推型动态规划

文章目录 第N个泰波那契数列面试题08.01.三步问题使用最小花费爬楼梯解码问题 第N个泰波那契数列 解题思路&#xff1a; 泰波那契数列的第 N 项定义为前面三项之和&#xff0c;即 T0 0, T1 1, T2 1&#xff0c;从 T3 开始&#xff0c;每一项都等于前三项的和。要找到第 N 项…...

5g通信系统用到的crc码

5g通信系统用到的crc码 关注 在5G通信系统中&#xff0c;CRC码&#xff08;循环冗余校验码&#xff09;扮演着关键角色&#xff0c;它通过执行多项式除法运算来检测数据在传输过程中是否发生错误。5G通信系统中采用了多种CRC码&#xff0c;每种码都有其独特的计算方法和校验特…...

Ubuntu-22.04 虚拟机安装

1. Ubuntu安装方式 1.1. 基于物理介质安装 光盘安装&#xff1a;通过将 Ubuntu 镜像刻录到光盘&#xff0c;在计算机 BIOS/UEFI 中设置光盘为第一启动项&#xff0c;然后按照安装程序的提示进行语言选择、分区、用户信息设置等操作来完成安装。这种方式需要有光盘刻录设备和空…...

Windows、Linux系统上进行CPU和内存压力测试

CPU和内存压力测试 1. Linux环境 Linux环境下&#xff0c;我们可以用 stress 工具进行内存、CPU等的压力测试。 【1】. stress工具说明 [kalamikysrv1 ~]$ stress --help stress imposes certain types of compute stress on your systemUsage: stress [OPTION [ARG]] ...-…...

FFmpeg 4.3 音视频-多路H265监控录放C++开发八,使用SDLVSQT显示yuv文件 ,使用ffmpeg的AVFrame

一. AVFrame 核心回顾&#xff0c;uint8_t *data[AV_NUM_DATA_POINTERS] 和 int linesize[AV_NUM_DATA_POINTERS] AVFrame 存储的是解码后的数据&#xff0c;&#xff08;包括音频和视频&#xff09;例如&#xff1a;yuv数据&#xff0c;或者pcm数据&#xff0c;参考AVFrame结…...

HTML 标签属性——<a>、<img>、<form>、<input>、<table> 标签属性详解

文章目录 1. `<a>`元素属性hreftargetname2. `<img>`元素属性srcaltwidth 和 height3. `<form>`元素属性actionmethodenctype4. `<input>`元素属性typevaluenamereadonly5. `<table>`元素属性cellpaddingcellspacing小结HTML元素除了可以使用全局…...

css简写属性

一些属性&#xff0c;如 font、background、padding、border 和 margin 等属性称为简写属性。它们允许在一行中设置多个属性值&#xff0c;从而节省时间并使代码更整洁。 /* 在像 padding 和 margin 这样的 4 值简写语法中&#xff0c;数值的应用顺序是上、右、下、左&#xff…...

力扣刷题(sql)--零散知识点(2)

1.自定义分组后的分类统计问题&#xff08;某组内无数据却仍要展示&#xff09; 例题1&#xff1a; 查询每个工资类别的银行账户数量。 工资类别如下&#xff1a; "Low Salary"&#xff1a;所有工资 严格低于 20000 美元。"Average Salary"&#xff1a;…...

TCP是怎样工作的网络拥塞控制理论和算法部分记录

参考资料 https://github.com/ituring/tcp-book 流量控制、窗口控制和拥塞控制的关系 流量控制、窗口控制和拥塞控制的关系如图所示 窗口控制是上层的概念&#xff0c;核心思路是基于滑动窗口技术传输数据。而确定发送窗口大小的方法有流量控制和拥塞控制两种 流量控制&…...

golang循环变量捕获问题​​

在 Go 语言中&#xff0c;当在循环中启动协程&#xff08;goroutine&#xff09;时&#xff0c;如果在协程闭包中直接引用循环变量&#xff0c;可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下&#xff1a; 问题背景 看这个代码片段&#xff1a; fo…...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统

医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上&#xff0c;开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识&#xff0c;在 vs 2017 平台上&#xff0c;进行 ASP.NET 应用程序和简易网站的开发&#xff1b;初步熟悉开发一…...

Java如何权衡是使用无序的数组还是有序的数组

在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中&#xff0c;选择 环境 -> 常规 &#xff0c;将其中的颜色主题改成深色 点击确定&#xff0c;更改完成...

基于当前项目通过npm包形式暴露公共组件

1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹&#xff0c;并新增内容 3.创建package文件夹...

laravel8+vue3.0+element-plus搭建方法

创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问&#xff08;基础概念问题&#xff09; 1. 请解释Spring框架的核心容器是什么&#xff1f;它在Spring中起到什么作用&#xff1f; Spring框架的核心容器是IoC容器&#…...

TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?

在工业自动化持续演进的今天&#xff0c;通信网络的角色正变得愈发关键。 2025年6月6日&#xff0c;为期三天的华南国际工业博览会在深圳国际会展中心&#xff08;宝安&#xff09;圆满落幕。作为国内工业通信领域的技术型企业&#xff0c;光路科技&#xff08;Fiberroad&…...

论文阅读:Matting by Generation

今天介绍一篇关于 matting 抠图的文章&#xff0c;抠图也算是计算机视觉里面非常经典的一个任务了。从早期的经典算法到如今的深度学习算法&#xff0c;已经有很多的工作和这个任务相关。这两年 diffusion 模型很火&#xff0c;大家又开始用 diffusion 模型做各种 CV 任务了&am…...

QT开发技术【ffmpeg + QAudioOutput】音乐播放器

一、 介绍 使用ffmpeg 4.2.2 在数字化浪潮席卷全球的当下&#xff0c;音视频内容犹如璀璨繁星&#xff0c;点亮了人们的生活与工作。从短视频平台上令人捧腹的搞笑视频&#xff0c;到在线课堂中知识渊博的专家授课&#xff0c;再到影视平台上扣人心弦的高清大片&#xff0c;音…...