Linux、File System、Linux基本常用命令
一、File System 文件系统
Linux文件系统是操作系统用来组织、管理和存储问价及目录结构的方式。它不仅定义了如何将数据保存到磁盘上,还规定了用户如何与这些数据进行交互。
1、层次结构
-
根目录(/):所有文件和目录都从根目录开始,它是整个文件系统的起点。每个文件或目录都有唯一的路径,以 / 开头。
-
子目录:在根目录下可以创建多个子目录,例如 /home、/user、/var等,每个子目录可以包含更多的文件和子目录,形成树状的层次结构。
2、Ubuntu目录结构:
3、Ubuntu根目录下内容:
/bin 二进制文件,系统常规命令
/boot 系统启动分区,系统启动时读取的文件
/dev 设备文件
/etc 大多数配置文件
/home 普通用户的家目录
/lib 32位函数库
/lib64 64位库
/media 手动临时挂载点
/mnt 手动临时挂载点
/opt 第三方软件安装位置
/proc 进程信息及硬件信息
/root 临时设备的默认挂载点
/sbin 系统管理命令
/srv 数据
/var 数据
/sys 内核相关信息
/tmp 临时文件
/usr 用户相关设定
4、Ubuntu目录具体描述:
-
/:Linux文件系统根目录
-
/bin:存放基本命令和可执行文件,如 ls,cp,mv等
-
/boot:包含启动Linux所需的文件,包括内核镜像和引导加载程序配置
-
/dev:设备文件存放于此,表示硬件设备,如硬盘、打印机等
-
/etc:系统配置文件的位置,如网络设置、服务配置等
-
/home:普通用户的主目录,每个用户都有一个自己的子目录,如/home/user
-
/lib:共享库文件存放位置,供各种程序调用
-
/media 和 /mnt:用于挂载外部存储设备,如USB驱动器、CD-ROM等
-
/opt:第三方软件包通常安装在此目录下
-
/proc 和 /sys:虚拟文件系统,提供关于进程和系统状态的信息
-
/root:超级用户(root用户)的主目录
-
/sbin:存放系统管理员使用的命令和脚本,如 ifconfig,shutdown等
-
/tmp:临时文件存放处,重启后可能会被清空
-
/usr:用户程序及相关文件的存放位置,如应用程序、文档、源代码等
-
/var:变量数据存放地,如日志文件、邮件队列、数据库等
注意:不同的Linux系统或者不同版本的同一系统,文件系统目录结构可能都会有小的区别。
- root // 用户名,root为超级用户
- @ // 分隔符
- app00 // 主机名称
- ~ // 当前所在目录,默认用户目录为~,会随着目录切换而变化
- // 表示当前用户是超级用户,普通用户为$
二、路径
路径(Path)是用来描述文件或目录在文件系统中的位置的一种方式。
绝对路径(Absolute Path):
-
从根目录 / 开始,指向文件系统中的特定文件或目录
-
每个绝对路径都以斜杠 / 开头,表示这是从文件系统的最顶端开始的路径。
例:/home/nanxun/myDir/file.txt是一个绝对路径,它明确de指出了文件 file.txt 位于 /home/nanxun/myDir/ 目录下。
相对路径(Relative Path):
-
不是从根目录开始,而是相对于当前工作目录的位置来指定文件或目录
-
不以斜杠 / 开头
-
凡是路径信息以 . 或 .. 开头的均为相对路径
例:如果当前工作目录是 /home/nanxun,那么 myDir/file.txt就是一个相对路径,它指向的是 /home/nanxun/myDir/file.txt文件。
特殊路径:
-
. :当前路径下(一般会省略)
-
.. :上一层目录
-
/ :根目录
-
~ :当前用户的家目录
路径特点:
-
路径中的第一个位置如果出现了/,那么这个 / 代表的是根目录,例如 /home/nanxun/hello.txt
三、基本命令
# 关闭系统
# 立即关机
shutdown -h now 或者 poweroff
# 两分钟后关机
shutdown -h 2# 关闭重启
# 立即重启
shutdown -r nown 或者 reboot
# 两分钟后重启
shutdown -r 2# 帮助命令(help)
ifconfig --help# 命令说明书 (man)
man shutdown# 切换用户(su)
su root
exit // 退出当前用户
Linux中最基础常用的命令有:clear、pwd、ls、cd、touch、mkdir
clear:Clear the terminal screen (清除:清除终端屏幕)
pwd:Print Working Directory (打印工作目录)
1、ls
功能:显示文件和目录列表
常用选项如下:
-
-a,-all:显示所有文件,包括以点好( . )开头的隐藏文件
-
-t:按修改时间排序,最新的在前
-
-R:递归列出子目录
-
-d,--directory:显示目录本身而不是其内容,常与
-l
一并使用来查看目录属性 -
-r,--reverse:反转排序顺序
-
-l:使用长格式列出信息,包括文件类型、权限、硬链接数、所有者、组、大小、最后修改时间和名称
注意:选项可以组合使用!
具体案例:
# 查看当前目录下的所有目录和文件
ls# 查看当前目录下的所有目录和文件(包含隐藏的文件)
ls -a# 列表查看当前目录下的所有目录和文件(列表查看,显示更多信息)
ls -l# 查询指定目录下的所有目录和文件
ls /bin# 列出当前目录下的文件和子目录,按修改时间排序(最新的在最上面)
ls -t# 列出当前目录下文件和子目录,其中递归列出子目录内信息
ls -R# 以长格式列出当前目录下所有文件,包含隐藏文件
ls -la
ls -al# 长格式列出目录myDir的信息
ls -ld myDir
ls详解:
ls -l a.txt
2、cd
功能:更改目录
格式:cd [directory_name]
应用案例:
# 切换工作目录到家目录下的myDir下
cd /home/nanxun/myDir# 切换到跟目录
cd /# 切换到根目录下的bin目录
cd /bin# 切换到上一级目录
cd ../ 或者 cd ..# 切换到本目录下的名为myDir的文件目录,如果目录不存在报错
cd myDir# 回到家目录
cd ~# 切换到上次访问的目录
cd -# 再次借助相对路径切换工作目录
cd ./myDir# 切换到上一级的上一级目录
cd ../..# 切换到本目录下的名为myDir的文件目录
cd myDir(文件夹名)
3、touch
功能:创建新的、空文件或更新访问和修改时间
格式:touch filename(s)
应用案例:
# 创建2个新文件touch new.txt myfile# 注意:Linux中文件类型与后缀名无关,其类型根据创建命令确定# 查看文件基本信息ls -l new.txt myfile# 更新文件最后一次访问和修改时间touch new.txt# 再次查看文件基本信息,注意观察最后一次修改和访问时间ls -l new.txt myfile
4、mkdir
功能:使用绝对或相对路径名创建目录
格式:mkdir [-p] directory_name
注意:创建子目录时,要保证父目录存在
应用案例:
# 在当前目录下创建一个名为tools的目录
mkdir tools# 在指定目录下创建一个名为tools的目录
mkdir /bin/tools# 新建目录dir2
# 注意:dir1必须存在才能创建dir2成功
mkdir dir1/dir2# 一条命令创建多个目录
mkdir dir3 dir4 dir5# 家目录下创建games目录
mkdir ~/games# 级联创建目录dir6不存在则先创建dir6,再创建dir7,最后创建dir8
mkdir -p dir6/dir7/dir8
5、删除目录与文件(rm)
# 删除当前目录下的文件
rm 文件名# 删除当前目录的文件(不询问)
rm -f 文件名# 递归删除当前目录下此名的目录
rm -r 文件夹名# 递归删除当前目录下此名的目录(不询问)
rm -rf 文件夹名# 将当前目录下的所有目录和文件全部删除
rm -rf *# 将根目录下的所有文件全部删除【慎用人!相当于格式化系统】
rm -rf /*
6、修改目录(mv)
# 修改目录名,同样适用与文件操作
mv 当前目录名 新目录名# 将/usr/tmp目录下的tool目录剪切到 /opt目录下面
mv /usr/tmp/tool /opt# 递归剪切目录中所有文件和文件夹
mv -r /usr/tmp/tool /opt
7、拷贝目录(cp)
# 将/usr/tmp目录下的tool目录复制到 /opt目录下面
cp /usr/tmp/tool /opt# 递归剪切复制目录中所有文件和文件夹
cp -r /usr/tmp/tool /opt
8、搜索目录(find)
# 查找/bin目录下的所有以a开头的文件或者目录
find /bin -nsme 'a*'
9、查看当前目录(pwd)
# 显示当前位置路径
pwd
10、编辑文件(vi、vim)
# 打开需要编辑的文件
vi 文件名
# 进入后,操作界面有三种模式:命令模式(command mode)、插入模式(Insert mode)和低行模式(last line mode)# 命令模式
- 刚进入文件就是命令模式,通过方向键控制光标位置,
- 使用命令“dd”删除当前整行
- 使用命令"/字段" 进行查找
- 按“i”在光标所在字符前开始插入
- 按“a”在光标所在字符后开始插入
- 按“o”在光标所在行的下面另起一新行插入
- 按“:”进入低行模式# 插入模式
- 此时可以对文件内容进行编辑。左下角会显示“-- 插入--”
- 按"ESC"进入低行模式# 低行模式
- 退出编辑: :q
- 强制退出: :q!
- 保存并退出: :wq
11、查看文件
# 查看文件最后一屏内容
cat a退出.txt # PgUp向上翻页,PgDn向下翻页,“q”退出查看
less a.txt# 显示百分比,回车查看下一行,空格查看下一行,“q”退出查看
more a.txt# 查看文件的后100行,“Ctrl+C”退出查看
tail -100 a.txt
四、命令构成
基本格式
命令 [-选项] [参数]
command [-options] [arguent]
说明:
-
command : 命令主体
-
[-options] : 命令选项(可选),借助它可以显示更加丰富的数据
-
[argument] : 命令参数(可选),命令操作的对象,文件、目录、用户和进程等,都可以作为参数使用
例如:list -l a.txt
,用来显示 a.txt 的详细信息
注意事项:
-
中间用空格隔开
-
单行命令一般不超过256个字符
-
大小写敏感
五、其他命令
-
passwd命令,用于修改用户密码
输入passwd命令,输入老密码,再输入新密码即可
-
root(超级用户)设置密码:
输入命名:sudo passwd root
根据提示输入当前登录用户(非管理员)的开机登录密码
再输入root用户的新密码2次即可
注意:sudo命令表示临时(当前命令)将自己的操作权限提升为root权限。
-
su命令
Linux中使用su(switch user)命令 切换到另一个用户账户
格式:su [选项] [用户名]
具体应用(注意:切换用户时需要输入目标用户的密码 )
# 切换到root用户 :susu# 切换后退出登录,回到原来账户登录:exitexit# 切换到特定用户: su - usernamesu - root 切换为root登录# 执行单个命令并返回:su - username -c "command"su - root -c "pwd"
- 打包与解压
.zip、.rar # windows系统中压缩文件的扩展名
.tar # Linux中打包文件的扩展名
.gz # Linux中压缩文件的扩展名
.tar.gz # Linux中打包并压缩文件的扩展名
打包文件
tar -zcvf 打包压缩后的文件名 要打包的文件
# 参数说明:z:调用gzip压缩命令进行压缩;c:打包文件;v:显示运行过程;f:指定文件名# 示例
tar -zcvf a.tar file1 file2,... // 多个文件压缩打包
解压文件
# 解包至当前目录
tar -zxvf a.tar# 指定解压的位置
tar -zxvf a.tar -C /usr------# 解压*.zip文件
unzip test.zip# 查看*.zip文件的内容
unzip -l test.zip
相关文章:

Linux、File System、Linux基本常用命令
一、File System 文件系统 Linux文件系统是操作系统用来组织、管理和存储问价及目录结构的方式。它不仅定义了如何将数据保存到磁盘上,还规定了用户如何与这些数据进行交互。 1、层次结构 根目录(/):所有文件和目录都从根目录开始…...

大数据治理:开启数据价值挖掘之旅
在当今数字化时代,数据呈爆炸式增长,大数据已经渗透到各个行业和领域,成为企业竞争和创新的关键驱动力。而大数据治理作为有效管理和利用大数据资源的核心手段,在教学领域也具有至关重要的地位。 一、大数据治理的内涵与重要性 大…...

Linux排查cpu运行负载过高
方式1:top 先输入top再输入1,查看 %CPU 列,找出占用 CPU 最多的进程 作用:切换显示每个逻辑 CPU 的使用情况。效果: 如果系统有多个 CPU 核心或超线程逻辑处理器,按下 1 会使得 top 分别显示每个逻辑 CPU…...

Cobalt Strike 4.8 用户指南-第十四节 Aggressor 脚本
14.1、什么是Aggressor脚本 Aggressor Script 是Cobalt Strike 3.0版及更高版本中内置的脚本语言。Aggressor 脚本允许你修改和扩展 Cobalt Strike 客户端。 历史 Aggressor Script 是 Armitage 中开源脚本引擎Cortana的精神继承者。Cortana 是通过与 DARPA 的网络快速跟踪计…...

C++并发与多线程(高级函数async)
async 在 C 中,async 关键字用于实现异步编程,它允许你定义异步操作,这些操作可以在后台执行,而不会阻塞当前线程。这是 C11 引入的特性,与 std::async 函数和 std::future 类一起使用。与thread函数模板的区别在于as…...

安卓课设版算法计算器
安卓课设版算法计算器(HNUST) 前言: 如果只想看函数使用说明请跳转到“四、使用函数介绍” 该版本为课设版,富含多个界面,是前版的plus版本,进行了更多的复杂化操作,故因此会觉得对于计算器有点…...

X-Forwarded-For注入漏洞
0x00环境介绍 靶机http://219.153.49.228:48033,通过注入完成找到网站的key。 1|00x01复现过程 1.访问网站使用admin/admin登入,用burpsuite截包寻找注入点 >>截到的包,正常放包回显内容 >>加X-forwarded-for:1.1.1.1回显IP数据改变&…...

Linux - MySQL迁移至一主一从
Linux - MySQL迁移至一主一从 迁移准备安装MySQL ibd文件迁移原服务器操作目标服务器操作 一主一从增量同步异常解决结尾 首先部分单独安装MySQL,请参考Linux - MySQL安装,迁移数据量比较大约400G左右且网络不通故使用文件迁移,需开启一段时间…...

《变形金刚:赛博坦的陨落》游戏启动难题:‘buddha.dll’缺失的七大修复策略
《变形金刚:赛博坦的陨落》游戏启动时提示buddha.dll缺失:原因与解决方案 作为一名软件开发从业者,我在日常工作中经常遇到电脑游戏运行时出现的各种问题,如文件丢失、文件损坏和系统报错等。今天,我们就来探讨一下《…...

51c嵌入式~单片机~合集2
我自己的原文哦~ https://blog.51cto.com/whaosoft/12362395 一、不同的电平信号的MCU怎么通信? 下面这个“电平转换”电路,理解后令人心情愉快。电路设计其实也可以很有趣。 先说一说这个电路的用途:当两个MCU在不同的工作电压下工作&a…...

java Resource 记录
Java 注解 Resource 是一个标准的 Java 注解,用于注入资源。它可以用于注入任何资源,如文件、数据库连接、用户定义的资源等。它可以通过名称或类型进行注入。 当你想要注入一个bean到你的类中时,你可以使用Resource注解。 解决方案1&#…...

Avalonia 开发环境准备
总目录 前言 介绍如何搭建 Avalonia 开发环境。 一、在线开发环境搭建 请先安装您选择的受支持的IDE。Avalonia 支持 Visual Studio、Rider 和 Visual Studio Code。 详见:https://docs.avaloniaui.net/zh-Hans/docs/get-started/install 1. 使用 Visual Studio 20…...

C# 中 Console.WriteLine($“{DateTime.Now.Date}“); win 和 docker容器输出不同
Console.WriteLine($"{DateTime.Now.Date}"); //windowns输出:2024/12/10 0:00:00 //docker容器输出:12/10/2024 00:00:00 这是由于 不同的文化区域(CultureInfo)设置 导致的时间格式差异。在 Windows 系统…...

回型矩阵:JAVA
解题思路: 通过定义四条边界;top,left,right,bottom,来循环,当top>bottom&&left>right的时候循环终止 循环结束的条件: 链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 题目描述…...

从零开始学习 sg200x 多核开发之 sophpi 编译生成 fip.bin 流程梳理
本文主要介绍 sophpi 编译生成 fip.bin 流程。 1、编译前准备 sophpi 的基本编译流程如下: $ source build/cvisetup.sh $ defconfig sg2002_wevb_riscv64_sd $ clean_all $ build_all $ pack_burn_image注: 需要在 bash 下运行clean_all 非必要可以不…...

python--在服务器上面创建conda环境
今天刚开始使用服务器的时候使用上面的公共环境发现老师缺少模块, [guoyupingcins195 ~]$ conda --version Traceback (most recent call last): File "/home/miniconda3/bin/conda", line 12, in <module> from conda.cli import main Fil…...

day15 python(3)——python基础(完结!!)
【没有所谓的运气🍬,只有绝对的努力✊】 目录 1、函数 1.1 函数传参中的拆包 1.2 匿名函数的定义 1.3 匿名函数练习 1.4 匿名函数应用——列表中的字典排序 2、面向对象 OOP 2.1 面向对象介绍 2.2 类和对象 2.3 类的构成和设计 2.4 面向对象代码…...

/:087启动游戏时提示丢失”d3dx···.dll””VCOMP···.dll”
/:087启动游戏时提示丢失”d3dx.dll””VCOMP.dll”或遇到应用程序无法正常启动(0xc000007b)和游戏有图像没有声音等情况。 主要是因为系统缺少大型游戏/软件运行的必备组件,这些组件有DirectX,Visual C2010,2012&…...

利用PHP和phpSpider进行图片爬取及下载
利用PHP和phpSpider进行图片爬取及下载,可以遵循以下步骤。phpSpider是一个开源的PHP爬虫框架,它可以帮助你轻松地抓取网页内容。以下是一个基本的步骤指南: 1. 安装phpSpider 首先,你需要确保你已经安装了Composer(…...

企业架构划分探讨:业务架构与IT架构的利与弊
在企业架构(EA)的江湖里,大家一直致力于如何把企业的复杂性简化成有条有理的架构蓝图。有人选择把企业架构分成业务架构和IT架构,而IT架构又进一步细分为应用架构、数据架构和技术架构。但一提到这种划分方式,总有人跳…...

Java设计模式 —— 【结构型模式】桥接模式详解
前言 现在有一个需求,需要创建不同的图形,并且每个图形都有可能会有不同的颜色。 首先我们看看用继承来实现: 我们可以发现有很多的类,假如我们再增加一个形状或再增加一种颜色,就需要创建更多的类。 试想…...

MySQL学习之DDL操作
目录 数据库的操作 创建 查看 选择 删除 修改 数据类型 表的创建 表的修改 表的约束 主键 PRIMARY KEY 唯一性约束 UNIQUE 非空约束 NOT NULL 外键约束 约束小结 索引 索引分类 常规索引 主键索引 唯一索引 外键索引 优点 缺点 视图 创建 删除 修改…...

游戏AI实现-寻路算法(A*)
A*(A-star)是一种图遍历和寻路算法,由于其完整性、最优性和最佳效率,它被用于计算机科学的许多领域。给定一个加权图、一个源节点和一个目标节点,该算法将找到从源到目标的最短路径(相对于给定的权重&#…...

spring学习(spring的IoC思想、spring容器、spring配置文件、依赖注入(DI)、BeanProxy机制(AOP))
目录 一、spring-IoC。 (1)spring框架。(诞生原因及核心思想) 1、为什么叫框架? 2、spring框架诞生的技术背景。 (2)控制反转(IoC)。 (3)spring的Bean工厂和IoC容器。 &a…...

谁说C比C++快?
看到这个问题,我我得说:这事儿没有那么简单。 1. 先把最大的误区打破 "C永远比C快" —— 某位1990年代的程序员 这种说法就像"自行车永远比汽车省油"一样荒谬。我们来看个例子: // C风格 char* str (char*)malloc(100…...

GEE+本地XGboot分类
GEE本地XGboot分类 我想做提取耕地提取,想到了一篇董金玮老师的一篇论文,这个论文是先提取的耕地,再做作物分类,耕地的提取代码是开源的。 但这个代码直接在云端上进行分类,GEE会爆内存,因此我准备把数据下…...

OpenCV相机标定与3D重建(24)计算两个二维点集之间的最佳仿射变换矩阵(2x3)函数estimateAffine2D()的使用
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 计算两个二维点集之间的最优仿射变换,它计算 [ x y ] [ a 11 a 12 a 21 a 22 ] [ X Y ] [ b 1 b 2 ] \begin{bmatrix} x\\ y\\ \en…...

UIP协议栈 TCP通信客户端 服务端,UDP单播 广播通信 example
文章目录 1. TCP通信 客户端(关键配置)2. TCP 服务端配置3. UDP 点播通信4. UDP 广播通信5. UIP_UDP_APPCALL 里边的处理example6. TCP数据处理 ,UIP_APPCALL调用的函数 UIP_APPCALL TCP的数据都在这个宏定义的函数里进行数据处理的 UDP 数据…...

【NoSQL系列】为什么要使用Redis?
第一次知道Redis是以前准备面试的时候,只知道是用来缓存数据的。随着这几年的工作,对软件的认识从盲人摸象到睁眼看世界。 在常用的软件架构评价模型中,性能、可用性、安全性和可维护性是常见的评价属性,客户总希望系统响应又快有…...

MySQL Explain 分析SQL语句性能
一、EXPLAIN简介 使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的。分析你的查询语句或是表结构的性能瓶颈。 (1) 通过EXPLAIN,我们可以分析出以下结果: 表的读取顺序数据读取…...