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

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

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

相关文章

【Apache-StreamPark】Flink 开发利器 StreamPark 的介绍、安装、使用

【Apache-StreamPark】Flink 开发利器 StreamPark 的介绍、安装、使用 1)框架介绍与引入1.1.🚀 什么是 StreamPark1.2.🎉 Features1.3.🏳‍🌈 组成部分1.4.引入 StreamPark 2)安装部署2.1.环境要求2.2.Hado…

Java代码解析:初学者的编程入门指南

💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 Java作为一门强大而广泛应用的编程语言&#x…

2023年12月最新软件测试面试题(带答案)

1. 请自我介绍一下(需简单清楚的表述自已的基本情况,在这过程中要展现出自信,对工作有激情,上进,好学) 面试官您好,我叫###,今年26岁,来自江西九江,就读专业是电子商务,毕…

Axure之交互与情节与一些实例

目录 一.交互与情节简介 二.ERP登录页到主页的跳转 三.ERP的菜单跳转到各个页面的跳转 四.省市联动 五.手机下拉加载 今天就到这里了,希望帮到你哦!!! 一.交互与情节简介 "交互"通常指的是人与人、人与计算机或物体…

SecureCRT for Mac/win强大安全的终端SSH工具,SecureCRT助您网络连接无忧

在当今数字化时代,网络连接已成为生活和工作中不可或缺的一部分。而对于需要进行远程访问和管理的用户来说,一个稳定、安全的终端SSH工具是至关重要的。SecureCRT作为一款强大的终端SSH工具,为用户提供了安全、高效的远程连接解决方案。 首先…

内网离线搭建之----nginx高可用

1.系统版本 虚拟机192.168.9.184 虚拟机192.168.9.185 2.nginx以及依赖下载地址 nginx:nginx: download pcre:PCRE - Browse /pcre/8.45 at SourceForge.net zlib:zlib Home Site 基本都在置顶的资源里 3.检查环境安装依赖的依赖&#xf…

记录一次云服务器被攻击事件

今天去登录华为云平台的时候,发现服务器的cpu涨到了百分之九十九,这个也太不正常了,我自己就只部署了一个页面,怎么会飚这么高呢? 然后,我就去找原因,使用top命令,去查看到底是谁占用…

JAVA分库分表

1.1为什么需要分库分表 随着平台的发展,平台的数据会越来越多。当表中的数据量过多时,数据库的性能会下降严重,很有可能会把系统给拖垮。类似于分而治之的思想,将大的问题拆分成小的问题,从而提高效率。通过将数据分散…

基于STM32,TB6612,TCRT5000的简易红外循迹小车

提醒:本文章只叙述此小车相关大概内容(如模块的设置,C语言基础实现等),单片机详细教学不涉及。 摘要 循迹小车是学习单片机的“地基”,它能够让初学者认识单片机内部硬件结构及其功能,熟悉单片机…

Python 面向对象(1)

软件编程的实质是将我们的思维转变成计算机能够识别语言的一个过程。 目录 面向过程 面向对象 理解面向对象 面向过程: 面向对象: 面向对象的特点 完成需求时: 类的设计 类与对象的关系 创建类 设计类 类的介绍 格式 创建类实例…

三勾点餐 | 开源点餐系统、扫码点餐系统、收银台点餐系统

项目介绍 三勾点餐系统基于thinkphp8element-plusuniapp打造的面向开发的小程序商城,方便二次开发或直接使用,可发布到多端,包括微信小程序、微信公众号、QQ小程序、支付宝小程序、字节跳动小程序、百度小程序、android端、ios端。 简单实用…

太阳能供电+4G摄像头搭建EasyCVR鱼塘养殖远程视频监控方案

一、背景需求 随着我国农业的快速发展,以及对新兴技术的应用,养殖业、农牧业、种植业等也面临着全新的挑战与机遇。对鱼塘养殖行业来说,养殖区域面积大、管理难,经常会遇到偷钓者、盗窃鱼苗、非法入侵等监管难题。在国家大力扶持…