Linux命令行实战指南:快速上手常用命令大全!

Linux

常见目录说明

  • /bin:存放二进制可执行文件(ls、cat、mkdir 等),常用命令一般都在这里
  • /sbin: 存放二进制可执行文件,只有 root 才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如 ifconfig 等;
  • /etc:存放系统管理和配置文件
  • /root:超级用户(系统管理员)的主目录;
  • /home:存放所有用户文件的根目录,是用户主目录的基点,比如用户 user 的主目录就是 /home/user,可以用 ~user 表示;
  • /dev:用于存放设备文件
  • /usr:用于存放系统应用程序
  • /lib 和/lib64:存放着和系统运行相关的库文件
  • /tmp:用于存放各种临时文件,是公用的临时文件存储点;
  • /var:用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的日志文件(系统启动日志等)等;
  • /opt:额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把 tomcat 等都安装到这里;
  • /proc:虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息;
  • /mnt:系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂载其他的文件系统;
  • /boot:存放用于系统引导时使用的各种文件;
  • /lost+found:这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows 下叫什么.chk)就在这里。

Linux 常用指令

文件和目录操作

ls 指令

作用:列出当前工作目录下的所有文件/文件夹的名称

用法:ls [选项] [目录]

ls -l 路径(ll):以详细列表的形式展示指定路径下的所有文件/文件夹名称

cd 指令

作用:改变目录,进入用户输入的目录

用法:cd [目录]

示例:切换到 /usr/local 目录

cd /usr/local
mkdir 指令

作用: 创建目录

用法:mkdir [选项] 目录

mkdir -p + 路径:当一次性创建多层不存在的目录的时候,添加 -p 参数

touch 指令

作用:创建文件

示例:在当前目录中创建一个名为 test.txt 的空文件

touch ./test.txt
cp 指令

作用:复制文件或目录

用法:cp [选项] 被复制的文档路径 文档被复制到的路径

示例:

1、复制文件

将当前目录的 test.txt 文件复制到上个工作目录中

cp ./test.txt ../test.txt 

2、复制文件夹

利用 -r 参数,将当前工作目录的 test 文件夹复制到上一个工作目录下

cp -r ./test ../test
mv 指令

作用:移动文件或目录,也可以重命名文件或目录

用法:mv [选项] 源文件路径 需要保存的位置路径

注意:使用 mv 移动文件语法格式和移动文件夹相同,移动文件夹不需要加 -r

示例:

将当前目录中的 test.txt 文件移动到 /usr/local 目录中,并重命名为 new_test.txt

mv test.txt /usr/local/new_test.txt
rm 指令

作用:删除文件或目录

用法:rm [选项] 文件或目录

选项:

-f:force,强制删除,否则会每个文件都询问是否删除

-r:表示递归,移除文件夹的时候需要使用

示例:

删除当前目录中的 test.txt 文件

rm test.txt

删除指定目录及其内的全部子文件,一并都强制删除

rm -rf Dir
cat 指令

作用:

  1. 查看文件内容

  2. 对两个文件进行合并

用法:

  1. cat 文件的路径
  2. cat 待合并的文件路径1 待合并的文件路径2 …. 文件路径n > 合并之后的文件路径

示例:

查看当前目录中的 test.txt 文件的内容

cat test.txt

合并路径

cat ./test1.txt ./test2.txt > ./test3.txt
pwd 指令

作用:查看当前工作目录路径

用法:pwd

chmod 指令

作用: 修改文件权限

用法:chmod [选项] 权限 文件或目录

示例:

将当前目录中的 test.txt 文件的权限设置为只读

chmod 444 test.txt

系统信息和进程管理

uname 指令

作用:查看系统信息

用法:uname [选项]

示例:

查看系统的操作系统名称和版本

uname -a
top 指令

作用: 查看系统进程和资源占用情况

用法:top

ps 指令

作用: 查看当前用户进程

用法:ps [选项]

示例:查看当前用户的所有进程

ps -ef
kill 指令

作用:结束一个进程

用法:kill [选项] 进程号

示例:

结束进程号为 1234 的进程

kill 1234
shutdown 指令

作用:关机或重启系统

用法:shutdown [选项]

示例:

将系统立即关机

shutdown -h now

将系统立即重启

shutdown -r now

网络操作

ping 指令

作用:测试网络连接是否通畅

用法:ping [选项] 目标地址

示例:

测试目标地址 www.google.com 是否可达

ping www.google.com
ifconfig 指令

作用: 查看网络接口信息

用法:ifconfig [选项]

示例:

查看当前系统中所有网络接口的信息

ifconfig -a
netstat 指令

作用: 查看网络连接状态

用法:netstat [选项]

示例:

查看当前系统中所有网络连接的状态

netstat -a
wget 指令

作用: 下载文件

用法:wget [选项] URL

示例:

下载指定 URL 的文件并保存到当前目录中

wget https://example.com/file.zip
scp 指令

作用: 在不同的主机之间拷贝文件

用法:scp [选项] 源文件 目标主机:目标路径

示例:

将当前目录中的 test.txt 文件拷贝到远程主机 example.com/home/user 目录中

scp test.txt user@example.com:/home/user

压缩和解压缩

tar 指令

作用: 压缩和解压缩文件和目录

用法:tar [选项] 文件或目录

示例:

将当前目录中的所有文件和目录压缩成一个名为 archive.tar 的文件

tar -cvf archive.tar *
gzip 指令

作用:压缩和解压缩文件

用法:gzip [选项] 文件

示例:

将当前目录中的 test.txt 文件压缩成一个名为 test.txt.gz 的压缩文件

gzip test.txt
unzip 指令

作用:解压缩 zip 文件

用法:unzip [选项] 文件.zip

示例:

解压缩名为 archive.zip 的文件

unzip archive.zip

其他

man 指令

作用: 查看指令的帮助手册

用法:man [指令]

示例:

查看 ls 命令的帮助手册

man ls
history 指令

作用: 查看历史命令

用法:history [选项]

示例:

查看当前用户执行过的所有命令历史记录

history
grep 指令

作用: 在文件中搜索指定字符串

用法:grep [选项] 字符串 文件

示例:

在当前目录中的所有文件中搜索包含字符串 example 的行

grep example *
输出重定向

作用:将一些命令的执行结果保存到文件中

用法:正常执行的指令 (> 或 >>) 文件的路径

  1. >:覆盖输出,会覆盖掉原先的文件内容
  2. >>:追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加

示例:

使用覆盖重定向,将 ls -la 的执行结果,保存到当前目录下的 ls.txt

ls -la > ls.txt 

使用追加重定向,将 ls -la 的执行结果追加到 ls.txt 中

ls -la >> ls.txt
df 指令

作用:查看磁盘的空间

用法:df -h

-h:表示以可读性较高的形式展示大小

部署时可能会用到

free -h 指令

作用:用于显示系统的内存使用情况。

              total        used        free      shared  buff/cache   available
Mem:           7.8G        3.9G        1.1G        254M        2.8G        3.3G
Swap:          2.0G        1.2G        830M

  • total: 系统内存总量。
  • used: 已使用的内存量。
  • free: 可用的空闲内存量。
  • shared: 被共享的内存量。
  • buff/cache: 用于缓冲区和缓存的内存量。
  • available: 系统可用的内存量,它包括空闲内存、缓冲区和缓存的内存。
nohup 指令

作用:用于在后台运行程序,并且不受终端关闭影响。它的作用是将程序的标准输出和标准错误输出重定向到一个名为 nohup.out 的文件中,这样即使终端关闭,程序仍然可以继续在后台运行。

例如:nohup java -jar /root/services/user-center-backend/target/user-center-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod &

  1. java -jar /root/services/user-center-backend/target/user-center-0.0.1-SNAPSHOT.jar: 这部分是运行 Java 应用程序的命令。java是 Java 的运行命令,-jar表示要运行的是一个可执行的 JAR 文件,后面紧跟着 JAR 文件的路径/root/services/user-center-backend/target/user-center-0.0.1-SNAPSHOT.jar,这是一个 Java 可执行文件。
  2. --spring.profiles.active=prod: 这部分是 Spring Boot 应用程序的参数,用于指定使用哪个配置文件。在这里,prod是一个配置文件的名称,表示使用生产环境的配置。
  3. &: 是 Linux 中的后台运行符号,它使得命令在后台运行,而不阻塞当前终端。这样可以让 Java 应用程序在后台持续运行,即使终端关闭也不会影响它。

综合起来,这行代码的作用是在 Linux 系统下以生产环境的配置运行一个 Java 应用程序,并将其放在后台持续运行,不受终端关闭的影响。

jobs 指令

作用:用于显示当前终端(shell会话)中正在运行或挂起的作业(进程)列表。

当你在终端中运行一个命令并在后台使用 & 运行时,该命令就成为一个作业jobs命令可以列出这些作业,以及它们的状态。

输出通常会显示每个作业的编号(Job ID)、状态、命令和作业编号(Process ID)等信息。作业状态可能有以下几种:

  • Running: 作业正在前台或后台运行。
  • Stopped: 作业被挂起(暂停)。
  • Done: 作业已完成。

你可以使用fgforeground)和bgbackground)命令来控制作业的前台和后台运行。例如,使用fg命令可以将一个后台作业切换到前台运行,而使用bg命令可以将一个前台作业切换到后台运行。

如果要结束一个作业,可以使用kill命令,加上作业的编号或进程编号。

请注意,jobs命令只显示当前终端会话中的作业,如果你在另一个终端窗口中运行作业,则在当前终端中使用jobs是看不到这些作业的。

netstat -ntlp 指令

作用:用于查看当前系统上的网络连接和监听端口信息。以下是该命令的解释:

  • netstat: 是网络统计(network statistics)的缩写,用于显示网络连接信息和统计数据。
  • -n: 指定显示网络地址和端口号时不进行反向域名解析,以 IP 地址和端口号的形式显示,而不是域名和服务名。
  • -t: 仅显示 TCP 协议相关的网络连接信息。
  • -l: 仅显示监听状态(LISTEN)的网络连接信息,即显示系统正在监听的端口。
  • -p: 显示与网络连接相关的进程信息,包括进程的 PID(Process ID)和进程的名称。

执行netstat -ntlp命令后,将会列出所有当前系统上正在监听的 TCP 端口,并显示与这些端口相关联的进程信息。这对于查看哪些服务正在监听哪些端口以及是否存在非常有用。例如,你可以通过这个命令来查看 Web 服务器(如 Apache、Nginx)是否正在监听 80 端口,或者数据库服务器(如 MySQL)是否正在监听 3306 端口。

image

jps 命令

jps 是 Java Virtual Machine Process Status Tool 的缩写,是 JDK(Java Development Kit)中的一个命令行工具。它用于列出当前系统上所有正在运行的 Java 进程的进程 ID(PID)和主类名称。

执行jps命令后,将会显示当前系统上所有正在运行的 Java 进程的信息,包括它们的 PID 和对应的主类名称。通常用于在命令行中快速查看正在运行的 Java 进程,方便开发者进行进程管理和调试。

例如,执行jps命令可能会输出类似以下的结果:

1234 MyApp
5678 AnotherApp

其中,12345678是 Java 进程的 PID,MyAppAnotherApp是对应的 Java 主类名称。

df 指令

df -h 是一个常用的 Linux/Unix 命令,用于显示磁盘空间使用情况,并以易读的方式(以 KB、MB、GB 等单位)显示输出结果。

具体来说,df 表示 “disk free”,用于显示文件系统的磁盘空间信息。而 -h 选项表示 “human-readable”,使得输出结果以易读的方式呈现,比如使用 KB、MB、GB 等单位,而不是以字节为单位。

当你在终端中运行 df -h 命令时,它将显示所有挂载点的磁盘空间使用情况,包括总容量、已用空间、可用空间、使用百分比和挂载点等信息。这对于查看磁盘的使用情况很有帮助,可以帮助你了解哪些磁盘分区或挂载点占用了最多的空间。

vim 常用指令

作用:打开并进入一个文件(文件可以不存在,会自动创建)

用法:vim 文件的路径

示例:

打开进入当前目录下的 test.txt 文件

vim ./test.txt 

移动光标

  • h: 左移一个字符
  • j: 下移一行
  • k: 上移一行
  • l: 右移一个字符
  • ^: 移动到行首
  • $: 移动到行尾
  • gg: 移动到文档开头
  • G: 移动到文档结尾

编辑文本

  • i: 插入文本,光标会进入插入模式,可以输入文本
  • a: 在光标后插入文本
  • o: 在当前行的下一行插入新行,并进入插入模式
  • dd: 删除当前行
  • yy: 复制当前行
  • p: 粘贴复制的文本

搜索和替换

搜索和替换

  • /pattern: 向下搜索 pattern
  • ?pattern: 向上搜索 pattern
  • n: 下一个匹配项
  • N: 上一个匹配项
  • :s/old/new/g: 替换当前行中所有 old 为 new
  • :%s/old/new/g: 替换整个文档中所有 old 为 new

保存和退出

  • :w: 保存当前文件
  • :wq: 保存并退出
  • :q: 退出(如果没有更改过文件内容)
  • :q!: 强制退出,不保存更改

环境变量

进入环境变量文件

vim /etc/profile

修改完成后,用 source 命令使其生效

source /etc/profile

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

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

相关文章

掌握这个技巧,你也能成为学习高手!

在当今社会,思想政治学习具有重要的意义。随着社会的不断发展,个体与集体之间的关系、公共事务的处理、社会责任感等问题愈发凸显。 思政通学习小程序作为一种现代化的学习手段,为我们提供了更便捷、高效的途径,使我们更好地理解和…

windows下使用logstash同步跨网络集群的数据

我们在开发环境过程中,可能会遇到这样的场景。我们可以通过VPN访问远端的机房。有可能还要跨机房访问。这篇文章演示使用logstash,在windows上,去同步跨网络环境的不同机房之间的数据。 此方式受网络限制。适合同步小规模数据。 下载logstash…

海思SD3403,SS928/926,hi3519dv500,hi3516dv500移植yolov7,yolov8(3)

经过调试后中终于在hi3519dv500和hi3516dv500两个平台中都实现的算法验证。同时可以做自己定制的算法模型的移植了,下面是两个移植案例效果。 识别运行时间上做了对比和统计,具体的可以看下面的表格。 总体来说速度还是比较快的,Yolo系列算法…

关于PBR策略路由的基础实验

策略路由是基于策略实现数据流量转发,不基于路由表。 // 网络结构实现 lsw: 配置三层交换机 vlan batch 10 20 30 int g0/0/2 port link-type access port default vlan 10 int g0/0/3 port link-type access port default vlan 20 int g0/0/1 port link-type acce…

【思扬赠书 | 第1期】教你如何一站式解决OpenCV工程化开发痛点

⛳️ 写在前面参与规则!!! ✅参与方式:关注博主、点赞、收藏、评论,任意评论(每人最多评论三次) ⛳️本次送书1~3本【取决于阅读量,阅读量越多,送的越多】 思扬赠书 | 第…

全功能知识付费小程序源码系统+小程序+公众号+PC端 全端通吃 带安装部署教程

现如今,互联网的快速发展,知识付费行业逐渐崛起,越来越多的人开始愿意为知识付费。为了满足市场需求,罗峰给大家分享一款全功能知识付费小程序源码系统。该系统支持小程序、公众号、PC端等多平台,为用户提供便捷的知识…

Tomcat 部署安装Jenkins

前言 Jenkins 是一款开源的持续集成工具,可以自动化地构建、测试和部署软件项目。它支持很多软件开发的工具和技术,如 Git、Subversion、Maven、Gradle 等,提供了很多插件来扩展其功能。 Jenkins 具有以下特点: (1&am…

luttuce(RedisTempate)实现hash(动态数据) expire lua脚本

话不多说先放脚本: local argv ARGV local length #argv if length > 0 then local unpackArgs {} for i 1, length - 1 dotable.insert(unpackArgs, argv[i]) end if redis.call(exists, KEYS[1]) 1 thenredis.call(del, KEYS[1])redis.call(hset, KEYS[…

在vue中通过js动态绘制table,并且合并连续相同内容的行,支持点击编辑单元格内容

首先是vue代码 <template><div id"body-container"style"position: absolute"><div class"box-container"><div class"lsb-table-box" ><div class"table-container" id"lsb-table"&…

final

final final关键字是最终的意思&#xff0c;可以修饰&#xff08;类、方法、变量&#xff09;修饰类&#xff1a;该类被称为最终类&#xff0c;特点是不能被继承了修饰方法&#xff1a;该方法被称为最终方法&#xff0c;特点是不能被重写了修饰变量&#xff1a;该变量只能被赋…

配置OSPF与BFD联动

组网需求 如图1所示&#xff0c;SwitchA、SwitchB和SwitchC之间运行OSPF&#xff0c;SwitchA和SwitchB之间的交换仅作透传功能。现在需要SwitchA和SwitchB能快速感应它们之间的链路状态&#xff0c;当链路SwitchA-SwitchB发生故障时&#xff0c;业务能快速切换到备份链路Switch…

springboot 集成 redis luttuce redisson ,单机 集群模式(根据不同环境读取不同环境的配置)

luttuce 和redisson配置过程中实际上是独立的&#xff0c;他们两个可以同时集成&#xff0c;但是没有直接相关关系&#xff0c;配置相对独立。 所以分为Lettuce 和 Redisson 两套配置 父pom <!-- Spring Data Redis --><dependency><groupId>org.springframe…

图像卷积操作

目录 一、互相关运算 二、卷积层 三、图像中目标的边缘检测 四、学习卷积核 五、特征映射和感受野 一、互相关运算 严格来说&#xff0c;卷积层是个错误的叫法&#xff0c;因为它所表达的运算其实是互相关运算&#xff08;cross-correlation&#xff09;&#xff0c;而不是…

hive企业级调优策略之数据倾斜

测试所用到的数据参考&#xff1a; 原文链接&#xff1a;https://blog.csdn.net/m0_52606060/article/details/135080511 本教程的计算环境为Hive on MR。计算资源的调整主要包括Yarn和MR。 数据倾斜概述 数据倾斜问题&#xff0c;通常是指参与计算的数据分布不均&#xff0…

二叉搜索树第大K节点,剑指offer,力扣

目录 题目地址&#xff1a; 题目&#xff1a; 我们直接看题解吧&#xff1a; 解题方法&#xff1a; 难度分析&#xff1a; 审题目事例提示&#xff1a; 解题分析&#xff1a; 解题思路&#xff1a; 代码实现&#xff1a; 代码补充&#xff1a; 代码实现&#xff08;非递归&…

C#中(, ||)与(, |)的区别

前言 在C#编程语言中&#xff0c;逻辑运算符用于组合和比较条件&#xff0c;以控制程序的流程和行为。在逻辑运算符中&#xff0c;有两对非常重要的运算符&#xff1a;&&和||、&和|。尽管它们看起来很相似&#xff0c;但其实它们有着不同的行为和使用场景。下面我们…

PWM实现蜂鸣器

tim4.h #ifndef __TIM4_H__ #define __TIM4_H__ #include "stm32mp1xx_rcc.h" #include "stm32mp1xx_gpio.h" #include "stm32mp1xx_tim.h" void timer4_init();#endif tim4.c #include "tim4.h"void timer4_init() {// 1. 设置GPI…

实践代码教你学会 Metasploit 渗透攻击【Ubuntu版本】

文章目录 一. Metasploit 渗透工具二. 安装配置三. 模块讲解3.1 auxiliary-辅助模块3.2 exploit-渗透攻击模块3.3 payload-攻击荷载模块 四. 模拟攻击4.1 准备工作4.2 漏洞探测4.3 漏洞利用4.4 后渗透操作 一. Metasploit 渗透工具 Metasploit Framework(MSF)是一款开源安全漏洞…

盘帮帮微淘客公众号系统2.0-查券返利机器人、赶快行动起来吧,很好的赚钱机会!

本插件使用uniCloud开发&#xff0c;使用本插件默认您已知晓并了解uniCloud&#xff01; 插件下载地址&#xff1a;点击查看 盘帮帮微淘客公众号系统2.0&#xff0c;可以将你的微信公众号变成智能AI查券返利机器人、帮助网购者全网搜券找券&#xff0c;网购者只需将商品链接和…

【ranger】CDP环境 更新 ranger 权限策略会发生低概率丢失权限策略的解决方法

一、问题描述&#xff1a; 我们的 kafka 服务在更新&#xff08;添加&#xff09; ranger 权限时&#xff0c;会有极低的概率导致 MM2 同步服务报错&#xff0c;报错内容 Not Authorized。但是查看 ranger 权限是赋予的&#xff0c;并且很早配置的权限策略也会报错。 相关组件…