【LINUX】Linux 命令大全:系统管理与网络操作指南
开始之前
Linux命令行,也称为终端,是Linux最强大的特性之一。通过命令行,用户可以执行几乎所有的任务,比如文件操作、程序安装、系统监控和网络配置等。了解这些基本命令,将帮助你更好地掌握Linux系统。
文件和目录操作
-
ls
- 基本用法:
ls列出当前目录的内容。 - 查看详细信息:
ls -l显示当前目录内容的详细列表,包括文件权限、所有者、大小等信息。 - 查看隐藏文件:
ls -a列出包括隐藏文件(文件名以.开头)在内的所有文件。
- 基本用法:
-
cd
- 改变到用户主目录:
cd或cd ~将当前目录切换到用户的主目录。 - 改变到其他目录:
cd /var/www将当前目录切换到/var/www。
- 改变到用户主目录:
-
pwd
- 显示当前工作目录:
pwd输出当前用户所在的完整目录路径。
- 显示当前工作目录:
-
mkdir
- 创建目录:
mkdir photos在当前目录下创建一个新的目录名为photos。
- 创建目录:
-
rmdir
- 删除空目录:
rmdir empty_folder删除名为empty_folder的空目录。如果目录非空,此命令将失败。
- 删除空目录:
-
rm
- 删除文件:
rm example.txt删除名为example.txt的文件。 - 递归删除目录:
rm -r old_folder删除old_folder目录及其包含的所有文件和子目录。
- 删除文件:
-
cp
- 复制文件:
cp source.txt destination.txt将source.txt复制到destination.txt(在同一目录或指定目录)。 - 复制目录:
cp -r source_folder new_folder将source_folder及其全部内容复制到新的new_folder目录。
- 复制文件:
-
mv
- 重命名文件:
mv old_name.txt new_name.txt将文件old_name.txt重命名为new_name.txt。 - 移动文件:
mv file.txt ../将file.txt移动到上级目录。
- 重命名文件:
系统信息和管理
-
top
- 使用示例:直接输入
top并按回车,就会显示一个实时更新的系统进程列表,包括CPU和内存使用情况。
- 使用示例:直接输入
-
df
- 查看磁盘使用情况:
df -h以易读的格式(如GB、MB)显示所有挂载的文件系统的磁盘空间使用情况。
- 查看磁盘使用情况:
-
free
- 查看内存使用情况:
free -m以MB为单位显示内存(包括物理内存、交换空间等)的使用情况。
- 查看内存使用情况:
-
uptime
- 显示系统运行时间:
uptime显示当前系统已经运行了多长时间,包括有多少用户登录,以及过去1、5和15分钟的平均负载。
- 显示系统运行时间:
-
whoami
- 显示当前用户:
whoami显示当前登录的用户名。
- 显示当前用户:
-
chmod
- 改变文件权限:
chmod 755 script.sh设置script.sh文件的权限,使得文件所有者可以读、写、执行文件,而组用户和其他用户只能读取和执行文件。 - 示例解释:在
chmod 755中,7对应所有者的权限(读4+写2+执行1),5对应组权限和其他用户的权限(读4+执行1)。
- 改变文件权限:
-
chown
- 改变文件的所有者:
chown username file.txt将file.txt的所有权更改为username。 - 改变文件的所有者和组:
chown username:groupname file.txt同时更改file.txt的所有者为username和所属组为groupname。
- 改变文件的所有者:
文件查找和处理
-
find
- 查找名为
myfile.txt的文件:find / -name myfile.txt从根目录/开始搜索整个系统中名为myfile.txt的文件。 - 查找过去7天内被修改过的文件:
find /home/user -mtime -7在/home/user目录及子目录下搜索最近7天内修改过的所有文件。
- 查找名为
-
grep
- 在文件中搜索字符串:“
grep 'hello world' myfile.txt” 在myfile.txt文件中搜索包含字符串"hello world"的行。 - 递归搜索:“
grep -r 'search term' /path/to/directory” 在指定目录及其所有子目录下搜索每个文件中的"search term"字符串。
- 在文件中搜索字符串:“
-
sed
- 替换文本:“
sed 's/old/new/g' file.txt” 将file.txt文件中所有的old字符串替换为new。 - 删除行:“
sed '/pattern to match/d' file.txt” 从file.txt中删除所有包含"pattern to match"的行。
- 替换文本:“
-
awk
- 打印文件的第一列:“
awk '{print $1}' file.txt” 从file.txt中打印每一行的第一列。 - 汇总文件的第二列中的数值:“
awk '{sum += $2} END {print sum}' file.txt” 计算并打印file.txt文件中第二列数值的总和。
- 打印文件的第一列:“
-
find与-delete结合使用
- 删除当前目录及子目录下所有名为
temp.txt的文件:find . -name 'temp.txt' -delete。这个命令从当前目录开始递归搜索所有名为temp.txt的文件,并删除它们。 - 注意:使用
-delete选项时要非常小心,因为一旦执行,删除的文件无法恢复。
- 删除当前目录及子目录下所有名为
-
cat
- 显示文件内容:
cat filename.txt显示名为filename.txt的文件内容。 - 将多个文件内容合并输出:
cat file1.txt file2.txt > combined.txt将file1.txt和file2.txt的内容合并,并写入combined.txt文件。
- 显示文件内容:
网络操作
-
ping
- 检查与远程服务器的连接:
ping google.com这将向google.com发送ICMP回显请求,用于检查网络连接是否成功。
- 检查与远程服务器的连接:
-
ifconfig
- 显示所有网络接口的配置信息:
ifconfig不带任何参数运行ifconfig将列出所有可用的网络接口及其配置。 - 配置特定的网络接口:
ifconfig eth0 192.168.1.5 netmask 255.255.255.0 up将网络接口eth0配置为IP地址192.168.1.5,子网掩码255.255.255.0,并激活它。
- 显示所有网络接口的配置信息:
-
ssh
- 安全地远程登录到另一台计算机:
ssh user@192.168.1.5使用用户名user登录到IP地址为192.168.1.5的远程计算机。
- 安全地远程登录到另一台计算机:
-
scp
- 从本地复制文件到远程服务器:
scp local_file.txt user@192.168.1.5:/remote/directory/将本地的local_file.txt复制到远程服务器上的指定目录。 - 从远程服务器复制文件到本地:
scp user@192.168.1.5:/remote/file.txt /local/directory/将远程服务器上的file.txt复制到本地的指定目录。
- 从本地复制文件到远程服务器:
-
wget
- 从网络上下载文件:
wget http://example.com/file.zip这将下载http://example.com/file.zip指向的文件。
- 从网络上下载文件:
-
curl
- 从网络服务器获取数据:
curl http://example.com显示http://example.com的HTML内容。 - 使用POST方法发送数据:
curl -d "param1=value1¶m2=value2" -X POST http://example.com向http://example.com发送POST请求,并传递数据。
- 从网络服务器获取数据:
包管理
-
apt-get (适用于Debian系的系统,如Ubuntu)
- 安装软件包:
sudo apt-get install package_name例如,sudo apt-get install nginx会安装Nginx。 - 更新软件包列表:
sudo apt-get update更新本地包列表,以了解可用包的最新版本。 - 升级所有已安装的软件包:
sudo apt-get upgrade将所有已安装的包升级到最新版本。 - 删除软件包:
sudo apt-get remove package_name删除指定的软件包(不包括配置文件)。 - 清除不再需要的软件包:
sudo apt-get autoremove自动删除系统不再需要的依赖包。
- 安装软件包:
-
yum (适用于Red Hat系的系统,如CentOS)
- 安装软件包:
sudo yum install package_name例如,sudo yum install httpd会安装Apache HTTP服务器。 - 更新软件包:
sudo yum update package_name更新指定的软件包。若不指定包名,则更新所有已安装的包。 - 查找软件包:
sudo yum search keyword根据关键词搜索包。 - 删除软件包:
sudo yum remove package_name删除指定的软件包。 - 清除缓存:
sudo yum clean all清除yum缓存,删除下载的包和头文件。
- 安装软件包:
-
snap (跨Linux发行版的包管理方案)
- 安装软件包:
sudo snap install package_name例如,sudo snap install vscode会安装Visual Studio Code。 - 列出已安装的snap包:
snap list显示所有已安装的snap包。 - 更新所有snap包:
sudo snap refresh更新所有已安装的snap包。 - 回滚软件包到先前版本:
sudo snap revert package_name将指定的snap包回滚到先前的版本。 - 删除软件包:
sudo snap remove package_name删除指定的snap包。
- 安装软件包:
-
flatpak (同样适用于跨Linux发行版)
- 安装软件包:
flatpak install flathub app_id例如,flatpak install flathub com.spotify.Client会从Flathub安装Spotify。 - 运行一个flatpak应用:
flatpak run app_id例如,flatpak run com.spotify.Client会运行Spotify。 - 更新所有flatpak包:
flatpak update更新所有已安装的flatpak包。 - 列出已安装的flatpak包:
flatpak list显示所有已安装的flatpak包。 - 删除软件包:
flatpak uninstall app_id删除指定的flatpak包。
- 安装软件包:
总结
Linux命令行是一个强大的工具,了解和掌握这些基本命令将极大增强你操作Linux系统的能力。以上列出的命令仅仅是冰山一角,但已经足够覆盖大多数日常需求。随着你对Linux的深入了解,你会发现更多有用的命令和技巧。希望这篇博客能为你提供一个良好的起点。
相关文章:
【LINUX】Linux 命令大全:系统管理与网络操作指南
开始之前 Linux命令行,也称为终端,是Linux最强大的特性之一。通过命令行,用户可以执行几乎所有的任务,比如文件操作、程序安装、系统监控和网络配置等。了解这些基本命令,将帮助你更好地掌握Linux系统。 文件和目录操…...
Day50 动态规划 part11
Day50 动态规划 part11 123.买卖股票的最佳时机III 我的思路: 这道题考虑了交易次数 j(最大次数为2),以及某天 i 应该买or卖股票(两种状态) 用三维数组表示 dp[i][j][0] – 第i天结束时,交易j…...
Docker 搭建私有镜像仓库
一、镜像仓库简介 Docker的镜像仓库是一个用于存储和管理Docker镜像的中央位置。镜像仓库的主要作用是提供一个集中的地方,让用户可以上传、下载、删除和共享Docker镜像。镜像仓库又可以分为公共镜像仓库和私有仓库镜像仓库: 公共镜像仓库 Docker Hub 是…...
Nginx反向代理与Tomcat实现ssm项目前后端分离部署
Nginx nginx是一款http和支持反向代理的web服务器,以其优越的性能被广泛使用。以下是百度百科的介绍。 Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔赛索耶夫为俄罗斯访问量第二的Rambler.…...
element UI 日期选择器 当前年份之前不可选
<el-date-pickertype"year"format"YYYY"value-format"YYYY"v-model"declareYear"placeholder"请选择年份":disabled-date"disabledDateFun"/>function disabledDateFun(time) {if (time.getFullYear() <…...
windows wireshark抓包rtmp推流出现TCP Retransmission
解决办法:tcp.port1935 && !(tcp.analysis.retransmission)...
C++之std::initializer_list详解
相关文章系列: C/C中{}的用法总结(全)_c {}-CSDN博客 目录 1.引言 2.容器的初始化 3.函数中使用std::initializer_list 4.自定义类型中使用std::initializer_list 5.迭代std::initializer_list 6. 在模板中使用std::initializer_list 7.std::initializer_lis…...
4月9日学习记录
[GXYCTF 2019]禁止套娃 涉及知识点:git泄露,无参数RCE 打开环境,源码什么的都没有,扫描后台看看 扫描发现存在git泄露 用githack下载查看得到一串源码 <?php include "flag.php"; echo "flag在哪里呢&#…...
解析快手滑块验证码的逆向工程
快手滑块验证码是一种常见的反机器人验证方式,通过模拟用户拖动滑块来验证用户身份。本文将介绍如何逆向工程快手滑块验证码的加密算法和轨迹生成方式,并提供详细的代码实现。 1. 加密算法解析 首先,我们需要了解滑块验证码生成时所用的加密…...
mysql运维知识总结
1. 日志 1.1 错误日志 错误日志是 MySQL 中最重要的日志之一,它记录了当 mysqld 启动和停止时,以及服务器在运行过 程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,建议首先查看此日志。 该日志是默认开启的&…...
【目标检测】-入门知识
1、回归与分类问题 回归问题是指给定输入变量(特征)和一个连续的输出变量(标签),建立一个函数来预测输出变量的值。换句话说,回归问题的目标是预测一个连续的输出值,例如预测房价、股票价格、销售额等。回归问题通常使用回归分析技术,例如线性回归、多项式回归、决策树…...
翻译笔实现文字识别功能的原理
翻译笔作为一种便携式设备,近年来在语言学习、旅游、商务交流等领域中逐渐受到人们的青睐。其核心功能之一便是文字识别,即将纸质或电子文档中的文字快速、准确地转化为机器可读的文本格式。那么,翻译笔是如何实现这一神奇功能的呢࿱…...
文件批量重命名,繁体中文秒变简体中文,轻松实现高效翻译
在数字化时代,我们的工作、学习和生活都离不开电脑文件。随着时间的推移,文件数量不断增加,管理起来变得越来越困难。你是否曾经为如何高效、有序地管理文件而烦恼?现在,有一款强大的文件批量重命名工具,它…...
UML学习
UML(Unified Modeling Language):统一建模语言,提供了一套符号和规则来帮助分析师和设计师表达系统的架构、行为和交互 类图:描绘类、接口之间的关系(继承、实现、关联、依赖等)以及类的内部结构(属性和方法),直观展现系统的静态…...
【话题:工作生活】2022年工作总结--疫情下的上海,疫情中的我。
现在是阳历2023年11月27日星期一,我再次开始撰写自己的年终工作总结。希望再过1、2个月,这份年终总结能够出炉,与大家相遇。 给自己定个小目标,年终的工作生活总结坚持写10年。我2017年毕业,之后就开始写每年的年终总结…...
13.磁盘逻辑卷管理
目录 概述实践查看盘 概述 实践 查看盘 命令 lsblk [rootks2p-hadoop04 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 0 447.1G 0 disk ├─sdb1 8:17 0 200M 0 part /boot/efi ├─sdb2 8:18 …...
SFTP服务详解:安全高效的文件传输新选择
在数字化日益盛行的今天,文件传输已成为我们日常生活和工作中不可或缺的一部分。然而,传统的文件传输方式往往存在着安全隐患和效率低下的问题。幸运的是,SFTP(SSH File Transfer Protocol)服务的出现为我们提供了一个安全、高效的文件传输解决方案。今天,就让我们一起深…...
mp4转flv怎么转?电脑怎么把视频转成flv?
MP4(MPEG-4 Part 14)是一种多媒体容器格式,广泛用于包含视频、音频、字幕等多种数据流。MP4因其高度灵活性、压缩效率和兼容性成为视频领域的主流格式,支持范围涵盖从在线视频到移动设备的各类应用场景。 FLV文件格式的多个优点 …...
计算机视觉——Python OpenCV BGR转HSV
这里将介绍如何使用 OpenCV 与 Python 来作彩色影像转HSV(RGB to HSV 或 BGR to HSV),在写 Python 影像处理程序时常会用到 OpenCV cvtColor 作颜色空间转换的功能,接下来介绍怎么使用 Python 搭配 OpenCV 模块来进行 RGB/BGR 转 HSV 彩色转HSV空间。 H…...
DC9 Debian和sql注入
信息收集 sudo arp-scan -l 列出局域网主机 arp-scan向局域网中所有可能的ip地址发出arp请求包,如果得到arp回应,就证明局域网中某台主机使用了该ip dc9的ip : 192.168.146.133 访问网页 cms为Debian 端口扫描 22端口是filtered 隐藏目…...
idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...
算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
Razor编程中@Html的方法使用大全
文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...
DeepSeek源码深度解析 × 华为仓颉语言编程精粹——从MoE架构到全场景开发生态
前言 在人工智能技术飞速发展的今天,深度学习与大模型技术已成为推动行业变革的核心驱动力,而高效、灵活的开发工具与编程语言则为技术创新提供了重要支撑。本书以两大前沿技术领域为核心,系统性地呈现了两部深度技术著作的精华:…...
spring Security对RBAC及其ABAC的支持使用
RBAC (基于角色的访问控制) RBAC (Role-Based Access Control) 是 Spring Security 中最常用的权限模型,它将权限分配给角色,再将角色分配给用户。 RBAC 核心实现 1. 数据库设计 users roles permissions ------- ------…...
前端高频面试题2:浏览器/计算机网络
本专栏相关链接 前端高频面试题1:HTML/CSS 前端高频面试题2:浏览器/计算机网络 前端高频面试题3:JavaScript 1.什么是强缓存、协商缓存? 强缓存: 当浏览器请求资源时,首先检查本地缓存是否命中。如果命…...
