linux文件系统的概念
操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。
文件系统的结构通常称为 目录树结构,从斜杠/根目录开始。
Linux被称为是“万物皆为文件”,也即意味着对于linux的操作,大多数都是对linux文件系统的操作。
文件系统的通用特性
主流的文件系统都是从/根目录开始的。Windows系统的文件系统会以盘符来区分不同的文件系统。
目录树中节点分为两种:目录(directory)、文件(file)
从根目录开始,路径具有唯一性。
注意:只有在目录下才可以继续创建下一级的目录。也即 目录树到文件终止蔓延。
易混概念:
》当前路径:也称当前工作目录,当前用户所属的位置。
》相对路径:相对当前工作目录开始的路径,会随当前路径的变化而变化。
》绝对路径:不管工作目录在哪,绝对路径都是从/根目录开始的,唯一不重复。
特殊符号
"." ,目录或者文件名字以"."开始的表示隐藏的文件,如果路径以"."开始的,表示当前路径。
"..",当前目录的上一级目录
"~",当前用户的home目录,例如,root用户的目录是/root
"/",根目录
linux常用操作命令
Tab键:实现自动补全和提示
history命令:显示历史执行记录,或者使用方向键来切换前后执行过的命令。
显示目录
ls 查看⽬录中的⽂件
ls -F 查看⽬录中的⽂件
ls -l 显示⽂件和⽬录的详细资料
ls -a 显示隐藏⽂件
ls [0-9] 显示包含数字的⽂件名和⽬录名
tree 显示⽂件和⽬录由根⽬录开始的树形结构(1)
lstree 显示⽂件和⽬录由根⽬录开始的树形结构(2
切换目录
cd /home 进⼊ '/ home' ⽬录
cd .. 返回上⼀级⽬录
cd ../.. 返回上两级⽬录
cd 进⼊个⼈的主⽬录
cd ~user1 进⼊个⼈的主⽬录
cd - 返回上次所在的⽬录
创建、删除
mkdir,用于创建目录
-p,确保父目录名称存在,不存在就直接创建一个。
touch,创建一个空文件,无任何内容
rm,用于删除一个文件或目录
-f,强制直接删除,无需用户确认
=r,将目录及以下的所有递归删除
复制、移动
cp ,用于复制文件或目录
-r,若给出的文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
mv ,用来为文件或目录改名,或者将文件或目录移入其他的位置。
文件内容查看
cat 用于连接文件并且打印到标准输出设备,如console控制台上。适合小文件的内容查看。
more 类似于cat,以一页一页的形式显示,更方便使用者逐页阅读。适合大文件的内容查看。按“sapce”键翻下一页,按“b”返回上一页。
tail 用于查看文件的结尾部分的内容。
-n 用于显示行数,默认为10,即显示 10 行的内容
-f 用于实时显示文件动态追加的内容。会把文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要文件有更新,就可以看到最新的文件内容。
其他常用命令
| 管道命令,将前一个命令执行的结果作为内容交给下一个命令处理。可以形成多级管道。
echo 用于内容的输出,将内容输出到console控制台上。
echo string
> 输出重定向(覆盖)命令
command > file 执行command然后将输出的内容存入file,file内已经存在的内容将被新内容覆盖。
>> 输出重定向(追加)命令
command >> file 执行command然后将输出的内容存入file,新内容追加在文件的末尾。
解压缩包命令
tar 常用语备份文件。使用来建立还原备份文件的工具程序,它还可以加入,解开备份文件内的文件。
-c 或 --create 建立新的备份文件
-x 或 --extract 从备份文件中还原文件
-v 或 --verbose 显示指令执行过程
-f <备份文件> 或 --file=<备份文件> 指定备份文件
在打包备份或者解包的过程中,可以通过指定压缩算法,对打包的文件进行压缩,解压的时候也需要指定相应的算法。
-z 或 --gzip 或 --ungzip 通过 gzip 指令处理备份文件
*** 命令搭配:tar -zxvf xxxx.tar.gz
Linux常用系统命令
linux系统命令分为以下三类:
时间、日期查看
内存、磁盘使用率查看
进程查看
时间、日期查看
date 用来显示或设定系统的日期与时间,在显示方面。可以设定显示的格式,格式设定为一个加号后连接多个标记。
cal 用于显示当前或指定日期的公历。
内存、磁盘使用率查看
free 用于显示内存状态。会显示内存的使用情况,包括实体内存、虚拟机的交换文件内存、共享内存区段,以及系统核心是用的缓冲区等等。
free -h 人性化显示数据
df (disk free)用于显示目前在linux系统上的文件系统磁盘使用情况统计。
df -h 人性化显示数据
进程查看
ps 用于显示当前进程的状态,类似于Windows系统的任务管理器
jps 这是jdk自带的命令,专门用于查看本机运行的 java进程。
常用命令:
ps -ef | grep 进程名 (查看本机运行的所有进程)
vi/vim 文本编辑器
vi是一款很多unix及其延伸系统内置的文本编辑器。
vim是从vi发展出来的文本编辑器。vim中代码补全、编译及错误跳转等方便编程十分丰富。
vi/vim编辑器的核心设计思想:让程序员的手指始终保持在键盘的核心区域,就能完成所有的编辑操作。
“万物皆命令!”
(1)vim /path/file
* 若打开的文件不存在,此时就是新建文件,编辑器左下角会提示“new file”。
* 若文件已经存在,此时就是打开这个文件,进入命令模式。
vim编辑器:三种工作模式
》 命令模式:所敲的按键编辑器都理解为命令,以命令驱动执行不容的功能。此时,不能自由进行文本编辑。
》输入模式:也即编辑模式、插入模式。此时。可以对文件内容进行自由编辑。
》底线命令模式:以":"开始,通常用于文件的保存和退出
命令 | 命令描述 |
:w | 文件保存 |
:q | 退出编辑 |
:wq | 文件保存并退出 |
:wq! | 强制保存退出 |
命令模式<-->输入模式
按"i"进入到输入模式,定位到当前光标前面
按"o"进入到编辑输入模式后,在当前行的后面添加一行空行。(当前行的下一行)
输入模式下按"ESC"键,退回到命令模式。
命令模式<-->底线命令模式
在命令模式下。输入:进入底线命令模式。
常用的底线命令有:
:q 退出
:w 保存
:wq 保存退出
:wq! 强制保存退出
在命令模式下按下"shift + zz",可以实现快速的保存退出。
光标移动
方向键控制移动
翻页 “上下键”
行首(home 0 ) 行尾(end $)
跳到文件的最后一行 G
跳到文件的第一行 gg
复制粘贴
复制
yy 复制光标当前所在行的内容
nyy 复制当前行往下n行
粘贴
p(小写p) 当前行的下一行粘贴
P(大写p) 当前行的上一行粘贴
删除、撤销操作
删除命令
dd 删除光标所在当前行内容
ndd 删除当前行往下n行
撤销、反撤销
u 撤销上一步操作
ctrl + r 反撤销