【Linux】Linux基本命令

目录

文件和目录操作:

ls

cd

pwd

cp

mv

rm

mkdir

rmdir

touch

clear

history

which/whereis

文件查看和编辑:

cat

less

head

tail

vi 或 vim

sz/rz

echo

系统信息和管理:

su

uname

hostname

df

free

top

ps

kill

chmod

网络操作:

ping

ifconfig 或 ip

netstat

curl


        Linux 是一个开源的操作系统内核,广泛应用于服务器、桌面、嵌入式系统和超级计算机等领域。它由 Linus Torvalds 于 1991 年首次发布,并由全球开发者社区共同维护和开发。以下是一些关于 Linux 的常用命令。

文件和目录操作:

ls

列出目录内容。

cd

切换目录。

pwd

(print working directory)查看当前目录所在位置。

cp

复制文件或目录。

命令:cp [-r] 参数1 参数2

命令解释:

 -r选项, 可选,用于复制文件夹使用,表示递归
参数1,被复制的文件
参数2,复制去的地方
举例:cp -r a b
将源目录 a 及其所有内容(包括子目录和文件)复制到目标目录 b。

mv

移动或重命名文件或目录。

mv 参数1 参数2
- 被移动的文件或文件夹
- 移动去的地方路径
举例:mv a b 
将源文件或目录 a 移动到目标文件或目录 b。

rm

删除文件或目录。

rm -rf 是一个非常强大且危险的命令,用于在 Linux 系统中删除文件和目录。它结合了两个选项:-r-f

命令解析

  1.  rm:是一个用于删除文件和目录的命令。
  2. -r-r--recursive 选项表示递归删除,即删除目录及其所有子目录和文件。
  3. -f -f--force 选项表示强制删除,即不提示确认,忽略不存在的文件和目录。

mkdir

创建目录。

rmdir

删除空目录。

touch

创建文件。

clear

清除屏幕。

history

查看历史命令

which/whereis

查看程序安装目录

which命令 eg:which redis-server
which -a ls
-a:显示所有匹配的路径,而不仅仅是第一个匹配的路径。whereis命令 eg:whereis redis-server

文件查看和编辑:

cat

显示文件的内容。它会将文件的所有内容输出到标准输出(通常是终端)。

cat 文件名

less

用于分页显示文件的内容。它允许你逐页浏览文件内容,而不是一次性显示所有内容。

less 文件名

less 命令的界面中,你可以使用以下键盘快捷键来浏览文件内容:

  • Spacef:向下滚动一页。
  • b:向上滚动一页。
  • Enter:向下滚动一行。
  • q:退出 less 命令。

用于显示文件的前几行。默认情况下,它显示文件的前 10 行。

head 文件名
你也可以指定显示的行数,例如显示前 5 行:
head -n 5 example.txt

tail

用于显示文件的后几行。默认情况下,它显示文件的后 10 行。

tail 文件名
你也可以指定显示的行数,例如显示后 5 行:
tail -n 5 example.txt实时监控文件
tail 命令还可以用于实时监控文件的变化。使用 -f 选项可以实时显示文件的新内容。
tail -f 文件名
假设你有一个名为 logfile.txt 的日志文件,你可以使用以下命令来实时监控文件的变化:
tail -f logfile.txt这个命令会显示文件 filename 的最后 100 行,并实时监控文件的变化。
tail -f -n 100 filename

vivim

强大的文本编辑器,查看文件中的内容。

示例

假设你有一个名为 example.txt 的文件,你想使用 vim 编辑它。你可以使用以下命令:

vim example.txt编辑文件进入插入模式:按 i 键。输入文本:例如,输入 Hello, world!。退出插入模式:按 Esc 键。保存并退出:输入 :wq 并按 Enter 键。搜索文本进入命令模式:按 Esc 键。输入 / 并键入要搜索的文本,例如 /world。按 Enter 键开始搜索。按 n 键跳转到下一个搜索结果。按 N 键跳转到上一个搜索结果。删除行进入命令模式:按 Esc 键。将光标移动到要删除的行。输入 dd 删除当前行。复制和粘贴进入命令模式:按 Esc 键。将光标移动到要复制的行。输入 yy 复制当前行。将光标移动到要粘贴的位置。输入 p 粘贴复制的内容。

sz/rz

sz 命令用于从 Unix/Linux 系统向 Windows 系统发送文件。

rz 命令用于从 Windows 系统向 Unix/Linux 系统接收文件。

上传和下载都是针对Unix/Linux来说的,这样就好记忆。(sz发送就是下载,rz接收就是上传。)

假设你有一个名为 example.txt 的文件,你想将其从 Unix/Linux 系统发送到 Windows 系统,可以使用以下命令:
sz example.txt假设你想从 Windows 系统接收一个文件,可以在 Unix/Linux 系统上运行以下命令:
rz或rz -y 
-y表示如果名称重复直接进行覆盖。

echo

echo 是一个用于在终端输出文本的命令。它可以显示字符串、变量的值、特殊字符等。

语法:echo 文本
输出简单文本
假设你想在终端输出文本 "Hello, world!",可以使用以下命令:
echo Hello, world!
输出为:Hello, world!

系统信息和管理:

su

switch user,切换用户。eg:su root

uname

显示系统信息。

hostname

获取主机名,修改主机名

hostname
获取主机名hostnamectl set-hostname 主机名
修改主机名(需root)

df

显示文件系统的磁盘空间使用情况。

df -h
-h:以更加人性化的单位显示磁盘使用情况

free

显示内存使用情况。

free -m
用来显示内存使用情况,以MB为单位。

它的输出格式通常是这样的:

            total       used       free     shared   buffers     cached

Mem:         7983       6509       1474       199       104       3707

-/+ buffers/cache:       2697       5286

Swap:       16383       972     15411其中:

● total表示系统当前总内存大小。

● used表示当前已经使用的内存大小。

● free表示当前未使用的内存大小。

● shared表示被共享使用的内存大小,通常是进程间通信时使用的内存。

● buffers表示被缓冲的内存大小,通常是文件系统操作时使用的内存。

● cached表示被缓存的内存大小,通常是为了提高系统性能而缓存的内存。

另外,在 -/+ buffers/cache 行下面的 used 表示实际使用的内存大小,free 表示当前可用的内存大小。free命令支持几个选项,例如-b表示显示字节为单位,-k表示显示KB为单位,-g表示显示GB为单位等。

top

是一个实时监控系统性能的命令行工具,用于显示系统中的进程、CPU 使用率、内存使用率、负载平均值等信息。

python@ubuntu:~$ top
top - 08:31:54 up 2 min,  1 user,  load average: 0.25, 0.37, 0.17
Tasks: 271 total,   1 running, 270 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.2 us,  0.0 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  4028880 total,  3210104 free,   331668 used,   487108 buff/cache
KiB Swap:  4192252 total,  4192252 free,        0 used.  3414856 avail Mem PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND    4827 redis     20   0   47204   6632   2300 S   0.3  0.2   0:00.21 redis-ser+ 6371 python    20   0   49000   3896   3176 R   0.3  0.1   0:00.12 top        1 root      20   0  119940   6112   4004 S   0.0  0.2   0:02.77 systemd    2 root      20   0       0      0      0 S   0.0  0.0   0:00.02 kthreadd   3 root      20   0       0      0      0 S   0.0  0.0   0:00.11 ksoftirqd+ 

1.  系统性能概览

a.  第一行显示系统的基本信息,包括当前时间、系统运行时间、用户数量、负载平均值等。

b.  第二行显示进程的状态信息,包括总进程数、运行中的进程数、睡眠中的进程数、停止的进程数、僵尸进程数等。

c.  第三行显示 CPU 使用率信息,包括用户空间占用的 CPU 时间、系统空间占用的 CPU 时间、空闲 CPU 时间等。

d.  第四行和第五行显示内存和交换区的使用情况,包括总内存、已用内存、空闲内存、缓冲区、缓存等。

2.  进程列表

a.  进程列表显示系统中的各个进程,包括进程 ID(PID)、用户名(USER)、优先级(PR)、虚拟内存(VIRT)、物理内存(RES)、共享内存(SHR)、状态(S)、CPU 使用率(%CPU)、内存使用率(%MEM)、运行时间(TIME+)、命令名称(COMMAND)等。

ps

查询当前进程。

查询java的进程:ps -ef | grep java
grep:是一个用于搜索文本的命令。
java:是搜索的关键字。
|:管道符,将左边的输出结果当作右边的输入。

kill

终止进程。

kill -15(优雅)/-9(强制) PID(进程的PID)
kill -9 发送的是 SIGKILL 信号(信号编号为 9)。这个信号会立即终止进程,不允许进程进行任何清理操作。它是强制终止进程的方式,通常用于那些无法通过其他方式终止的进程
kill -15 发送的是 SIGTERM 信号(信号编号为 15)。这个信号是一个终止信号,但它允许进程进行清理操作(如关闭文件、释放资源等)。它是一种优雅的终止方式,通常用于正常终止进程。

chmod

是一个用于修改文件或目录权限的命令。chmod 是 "change mode" 的缩写,用于更改文件或目录的访问权限。

chmod 777 文件
chmod 777 是一个用于修改文件或目录权限的命令。chmod 是 "change mode" 的缩写,用于更改文件或目录的访问权限。777 是权限的数字表示形式。
权限的数字表示形式
在 Unix 和 Linux 系统中,文件和目录的权限分为三类:
1.用户(User):文件的所有者。
2.组(Group):文件所有者所属的组。
3.其他(Others):其他所有用户。
每类权限可以有以下三种权限:r w x
●读(Read):权限值为 4。
●写(Write):权限值为 2。
●执行(Execute):权限值为 1。
权限值是这三种权限的总和。例如:
●读和执行权限:4 + 1 = 5。
●读、写和执行权限:4 + 2 + 1 = 7。
777 的含义
777 表示所有用户(用户、组、其他)都有读、写和执行权限:
●用户:读、写、执行(7)。
●组:读、写、执行(7)。
●其他:读、写、执行(7)。

网络操作:

ping

检查指定网络是否可以联通。

ping 127.0.0.1

ifconfigip

显示和配置网络接口。

netstat

显示网络连接和路由表。

常用选项-a:显示所有连接(包括监听的和未监听的)。netstat -a-t:显示 TCP 连接。netstat -t-u:显示 UDP 连接。netstat -u-n:以数字形式显示地址和端口号,而不是解析为主机名和服务名。netstat -n-p:显示进程 ID 和程序名。netstat -p-l:显示监听的连接。netstat -l-r:显示路由表。netstat -r-i:显示网络接口统计信息。netstat -i-s:显示网络协议统计信息。netstat -s组合使用
netstat命令查看端口是否被占用
netstat -anp | grep 端口号  eg:netstat -anp | grep 8080 (没有打印就说明没有被占用)netstat -tpln 用于显示系统中的所有 TCP 连接及其详细信息。
netstat -upln 用于显示系统中的所有 UDP 连接及其详细信息。

curl

curl 是一个强大的命令行工具,用于从命令行传输数据。它支持多种协议,包括 HTTP、HTTPS、FTP、SFTP、SCP、TFTP 等。curl 常用于下载文件、上传文件、发送 HTTP 请求等。

curl [选项] [URL]
常用选项-O:将文件保存到本地,使用远程文件的原始名称。curl -O http://example.com/file.txt-o:将文件保存到本地,使用指定的文件名。curl -o localfile.txt http://example.com/file.txt-L:跟随重定向。curl -L http://example.com/redirect-I:仅显示响应头信息。curl -I http://example.com-X:指定请求方法(GET、POST、PUT、DELETE 等)。curl -X POST http://example.com/api-d:发送 POST 数据。curl -X POST -d "param1=value1&param2=value2" http://example.com/api-H:添加自定义请求头。curl -H "Content-Type: application/json" http://example.com/api-u:指定用户名和密码进行基本认证。curl -u username:password http://example.com/protected-k:忽略 SSL 证书验证。curl -k https://example.com-v:显示详细的请求和响应信息。curl -v http://example.com-s:静默模式,不显示进度条和错误信息。curl -s http://example.com-F:以表单数据的方式发送数据。curl -F "file=@/path/to/file" http://example.com/upload示例
下载文件假设你想从 http://example.com/file.txt 下载文件并保存为 localfile.txt,可以使用以下命令:curl -o localfile.txt http://example.com/file.txt发送 POST 请求假设你想向 http://example.com/api 发送一个 POST 请求,并包含一些表单数据,可以使用以下命令:curl -X POST -d "param1=value1&param2=value2" http://example.com/api发送 JSON 数据假设你想向 http://example.com/api 发送一个 POST 请求,并包含 JSON 数据,可以使用以下命令:curl -X POST -H "Content-Type: application/json" -d '{"key1":"value1","key2":"value2"}' http://example.com/api上传文件假设你想将本地文件 /path/to/file 上传到 http://example.com/upload,可以使用以下命令:curl -F "file=@/path/to/file" http://example.com/upload

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

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

相关文章

2025台球展,2025河南台球及配套设施展览会3月举办

阳春三月,年度招商季,壹肆柒中国国际台球产业博览会助力全国台球企业拓市场; 2025中国(郑州)国际台球产业博览会(壹肆柒台球展) The 2025 China (Zhengzhou) International Billiards Industry…

C++:采用模板封装顺序表,栈,队列

1.顺序表&#xff1a; list.hpp #ifndef LIST_HPP #define LIST_HPP #include <iostream>using namespace std;template <class L>class Seqlist { private:L *ptr;L size;L len0;public:void init(L n){//堆区申请空间&#xff08;大小为n&#xff09;this->…

博主回归!数据结构篇启动

目录 1>>闲话 2>>数据结构前言 3>>复杂度的概念 4>>时间复杂度 5>>大O渐进表示法 6>>总结 1>>闲话 家人们好久不见&#xff0c;小编军训终于是结束了&#xff0c;大一事情太多了&#xff0c;这几天没时间健身&#xff0c;没时间…

2024.9.26 作业 +思维导图

一、作业 1、什么是虚函数&#xff1f;什么是纯虚函数 虚函数&#xff1a;函数前加关键字virtual&#xff0c;就定义为虚函数&#xff0c;虚函数能够被子类中相同函数名的函数重写 纯虚函数&#xff1a;把虚函数的函数体去掉然后加0&#xff1b;就能定义出一个纯虚函数。 2、基…

el-table+el-form实现表单校验和解决不垂直居中导致的问题

el-tableel-form实现表单校验 1.实现el-table的表单校验 关键点123 2.解决不垂直居中导致的问题 问题效果图 解决方案 .item-align-center {display: inline-flex; }

数据定义语言CREATE的应用

新书速览|SQL Server 2022从入门到精通&#xff1a;视频教学超值版_sql server 2022 出版社-CSDN博客 《SQL Server 2022从入门到精通&#xff08;视频教学超值版&#xff09;&#xff08;数据库技术丛书&#xff09;》(王英英)【摘要 书评 试读】- 京东图书 (jd.com) SQL Se…

IGZO基底无电容DRAM单元前景看好

1.DRAM技术简介 DRAM&#xff08;Dynamic Random Access Memory&#xff0c;动态随机存取存储器&#xff09;是一种用于计算机和其他电子设备中的主存储器类型&#xff0c;其主要由存储单元阵列构成&#xff0c;而每一个存储单元由一个电容器和一个晶体管组成&#xff0c;如图…

EasyAR自定义相机RTSP视频流(CustomCamera)

EasyAR可以使用视频源作为输入源&#xff0c;官方给出了示例和文档&#xff0c;但是对于大部分Unity开发人员来说看了文档还是一头雾水。 在Android Studio中将custom-camera.jar添加libs中&#xff0c;就可以查看源代码了 分析其源代码&#xff0c;主要是ExternalCameraSampl…

AI数字人直播爆火,数字人虚拟主播成品牌闲时直播最佳选择!

近年来&#xff0c;随着互联网的普及和发展&#xff0c;电商和直播平台在我国迅速崛起。根据中国网络信息中心的数据显示&#xff0c;我国直播用户7.5亿&#xff0c;使用率已经超过70%&#xff0c;直播已经成为企业重要的营销和销售通道。 一、在经历了几年的爆发式增长后&…

日期类的实现- 计算日期之间相差多少天-解决单参数构造

个人主页&#xff1a;Jason_from_China-CSDN博客 所属栏目&#xff1a;C系统性学习_Jason_from_China的博客-CSDN博客 所属栏目&#xff1a;C知识点的补充_Jason_from_China的博客-CSDN博客 这里有坑&#xff0c;这里有坑&#xff0c;这里有坑 首选我们直接上代码&#xff0c;因…

Unity场景内画车道线(根据五阶曲线系数)

之前做过使用Dreamteck Splines插件构建车道线之前需求是给定车道线的点位&#xff0c;根据点位来进行构建。 由于AI识别出来的点位不线性&#xff0c;画出来的车道线经常是歪七扭八&#xff0c;所以使用五阶曲线系数进行构建。 使用在线图形计算器进行测试构建&#xff0c;公式…

【C++】STL标准模板库容器set

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:C ⚙️操作环境:Visual Studio 2022 目录 &#x1f4cc;关联式容器set(集合)简介 &#x1f4cc;set(集合)的使用 &#x1f38f;set(集合)的模板参数列表 &#x1f38f;set(集合)的构造函数 &#x1f38f;set(集合)的迭代…

Vue 项目实战4-无缝轮播图

养成好习惯&#xff0c;先赞后看&#xff0c;感谢对作者大大的支持 一、话不多说&#xff0c;直接上效果图&#xff1a; 完整视频展示链接如下&#xff1a; https://item.taobao.com/item.htm?ftt&id833405684191 二、实现思路 HTML结构 文档头部设置&#xff1a;定义…

C# 委托(Delegate)二

一.委托的多播&#xff08;Multicasting of a Delegate&#xff09;&#xff1a; 委托对象&#xff0c;使用 "" 运算符进行合并&#xff0c;一个合并委托调用它所合并的两个委托。使用"-" 运算符从合并的委托中移除组件委托。 注&#xff1a;只有相同类型…

C语言编译和链接详解(通俗易懂,深入本质)

我们平时所说的程序,是指双击后就可以直接运行的程序,这样的程序被称为可执行程序(Executable Program)。在 Windows 下,可执行程序的后缀有.exe和.com(其中.exe比较常见);在类 UNIX 系统(Linux、Mac OS 等)下,可执行程序没有特定的后缀,系统根据文件的头部信息来判…

小小扑克牌算法

1.定义一个扑克牌类Card&#xff1a; package democard; public class Card {public String suit;//表示花色public int rank;//表示牌点数Overridepublic String toString() {return "{"suit rank"}";}//实例方法&#xff0c;初始化牌的点数和花色public…

Redis篇(初识Redis)

目录 一、数据库 二、NoSQL 三、认识Redis 三、关系数据库与非关系数据库对比 1. 结构化与非结构化 2. 关联和非关联 3. 查询方式 4. 事务 5. 存储方式 6. 扩展性 7. 总结 7.1. 图形梳理 7.2. 表格梳理 7.3. 优缺点 关系型数据库 非关系型数据库 四、再次认识R…

word中的表格全部设置宽度100%

1、背景 我们用工具将数据库或其他的数据导出成word时&#xff0c;表格有的会大于100%&#xff0c;超过了边界。word没有提供全局修改的方法。如果我们想改成100%。 一种方式是通过宏&#xff0c;全局改。一种是手动改。 2、宏修改 如果表格多&#xff0c;可以通过这种方式。…

【Qt】前后端交互---DataCenter类

设计目的 前后端交互系统中&#xff0c;创建并使用数据核心类的目的就是让该类作为客户端的数据中心&#xff0c;也就是说其负责管理客户端的所有数据与服务器的网络通信。 数据持久化 初始化数据文件 该函数设计的目的就是用于检查所需要的文件和目录是否存在&#xff0c;如…

You are not allowed to push code to this project

原因1 用户权限不够。 具体查看用户权限路径&#xff1a; 原因2 vscode之前都能提交代码&#xff0c;但是突然就提交不上了。 表现为:前端代码能拉取&#xff0c;但是不能提交。使用idea进行前端代码的提交&#xff0c;完全没问题。 解决方案&#xff1a;修改TortoiseG…