大二暑期第五周
鉴于大数据学习需要linux基础,但之前一直没注意这方面,linux直接上网先查,导致效率低下,所以本周学习linux操作
Linux文件系统概念
操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统;
文件系统的结构通常叫做目录树结构,从斜杠/根目录开始;
Linux号称“万物皆文件”,意味着针对Linux的操作,大多数时间是在针对Linux文件系统操作
文件系统通用特性
几乎主流的文件系统都是从/根目录开始的,Linux也不例外,而windows文件系统会以盘符来区分不同文件系统;
目录树中节点分为两个种类:目录(directory)、文件(file);
从根目录开始,路径具有唯一性;
只有在目录下才可以继续创建下一级目录,换句话说目录树到文件终止蔓延。
易混概念
当前路径:也叫当前工作目录,当下用户所属的位置;
相对路径:相对当前工作目录开始的路径,会随当前路径变化而变化;
绝对路径:不管工作目录在哪,绝对路径都是从/根目录开始,唯一不重复。
特殊符号
. 目录或者文件名字以.开始表示是隐藏的文件,如果路径以.开始表示当前路径
.. 当前目录的上一级目录
~ 当前用户的home目录,比如root用户home目录是/root
/ 根目录
ls(list files)命令:用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。
-a 显示所有文件及目录 (.开头的隐藏文件也会列出)
-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出 注意ls -l = l
cd(change directory)命令:用于切换当前工作目录。切换的路径可为绝对路径或相对路径。若路径省略,则
变换至使用者的home目录 。
~ 也表示为home目录的意思
. 则是表示目前所在的目录
..则表示目前目录位置的上一层目录
mkdir(make directory)命令:用于创建目录。
-p 确保父目录名称存在,不存在的就建一个。
touch 命令:创建一个空文件,无任何内容。
rm(remove)命令:用于删除一个文件或者目录。
-f 强制直接删除,无需用户确认。
-r 将目录及以下所有递归逐一删除
cp(copy file)命令:用于复制文件或目录。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
mv(move file)命令:用来为文件或目录改名、或将文件或目录移入其它位置
cat(concatenate)命令:用于连接文件并打印到标准输出设备如console控制台上。适合小文件内容查看。
more 命令:类似cat,不过会以一页一页的形式显示,更方便使用者逐页阅读,翻页结束自动退出。适合大文件
查看。按space键翻下一页,按b往回(back)上一页
tail 命令:用于查看文件的结尾部分的内容。
-n 用于显示行数,默认为10,即显示 10 行的内容。
-f 用于实时显示文件动态追加的内容。会把文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要
文件有更新,就可以看到最新的文件内容。
管道命令:将前一个命令执行的结果作为内容交给下一个命令处理。可以形成多级管道操作。
命令1|命令2 可以将命令1的结果通过命令2作进一步的处理
echo 命令:用于内容的输出,将内容输出到console控制台上。
echo string
> 输出重定向(覆盖)命令
command > file 执行command然后将输出的内容存入file,file内已经存在的内容将被新内容覆盖替代。
>> 输出重定向(追加)命令
command >> file 执行command然后将输出的内容存入file,新内容追加在文件末尾。
(1/2)打包、解包
tar(tape archive )命令:常用于备份文件。是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内
的文件。
-c 或--create 建立新的备份文件。
-x 或--extract或--get 从备份文件中还原文件。
-v 或--verbose 显示指令执行过程。
-f <备份文件>或--file=<备份文件> 指定备份文件
(2/2)打包压缩、解包解压缩
在打包备份或者解包的过程中,可以通过指定压缩算法,对打包的文件进行压缩,解压的时候也需要指定相应的算法。
-z 或--gzip或--ungzip 通过gzip指令处理备份文件。
最重要的搭配: tar -zxvf xxxxx.tar.gz
date命令:用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号
后接数个标记。
cal(calendar)命令:用于用于显示当前或者指定日期的公历
free命令:用于显示内存状态。会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以
及系统核心使用的缓冲区等。
df(英文全拼:disk free)命令:用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计。
ps (英文全拼:process status)命令:用于显示当前进程的状态,类似于 windows 的任务管理器。
jps命令:这是JDK自带的命令,专门用于查看本机运行的java进程情况。
vi是一款很多unix及其延伸系统内置的文本编辑器,具有强大的文本编辑能力。
vim是从vi发展出来的一个文本编辑器,可以理解为vi编辑器的增强版。vim中代码补完、编译及错误跳转等方便编
程的功能特别丰富。
vi/vim编辑器的核心设计思想:让程序员的手指始终保持在键盘的核心区域, 就能完成所有的编辑操作。
学习使用vi/vim编辑器最大挑战:万物皆命令
vim /path/file
如果打开的文件不存在,此时就是新建文件,编辑器左下角会提示new file
如果文件已经存在,此时就打开这个文件,进入命令模式
在使用vim编辑器的过程中,如果发现打开的文件内容不符合预期,可以检查一下,文件路径是否正确?
命令模式(Command mode)
命令模式下,所敲的按键编辑器都理解为命令,以命令驱动执行不同的功能。
此模型下,不能自由进行文本编辑。
输入模式(Insert mode)
也就是所谓的编辑模式、插入模式。
此模式下,才可以对文件内容进行自由编辑。
底线命令模式(Last line mode)
以:开始,通常用于文件的保存、退出。
i 进入到编辑输入模式后,定位到当前光标前面
o 进入到编辑输入模式后,在当前行的后面添加一行空行(当前行的下一行)
输入模式下按ESC退回到命令模式
在命令模式下,输入:进入底线命令模式。
常用的底线命令有:
:q 退出
:w 保存
:wq 保存退出
:wq! 强制保存退出
提示:在命令模式下按下shift + zz,可以实现快速的保存退出。
方向键控制移动
翻页 pageup pagedown
行首(home 0) 行尾(end $)
跳到文件的最后一行 G
跳到文件的第一行 gg
复制
yy 复制光标当前所在行内容
nyy 复制当前行往下n行
粘贴
p 当前行的下一行粘贴
P 当前行的上一行粘贴
注意:使用鼠标从window或者其他地方复制内容到vim编辑器粘贴,一定一定要在输入模式下进行,否则数据会有丢
失的风险。
删除命令
dd 删除光标所在当前行内容
ndd 删除当前行往下n行
撤销、反撤销
u 撤销上一步的操作(后悔药)
ctrl+r 反撤销
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南