Linux文件管理(文件/目录的创建、更改、删除)

一、Linux文件命名规则

1.严格区分大小写

2.文件命名不能使用字符"/"

3.目录或文件名的长度不能超过255个字符
建议:
(1)文件名由两个或两个以上单词组成时,尽量使用"_"来代替space键
(2)尽量不用字母的大小写来区分文件或者目录
4.Linux的文件扩展名在Linux的操作系统中没有意义。换句话说,Linux系统并不以文件的扩展名来区分文件的类型。(比如yunwei.exe在Windows系统代表可执行文件,但在Linux中不一定能够执行)

二、Linux目录管理

(一)目录创建

创建目录的命令

mkdir [选项] 目录名称
	-p :表示递归创建

案例1:在/root目录下创建目录test

mkdir /root/test
或
cd root
mkdir test

案例2:在root目录下创建shop目录,在shop目录下创建shop1目录,在shop1目录下创建shop2目录

mkdir -p /root/shop/shop1/shop2
#shop2的路径为/root/shop/shop1/shop2

案例3:在root目录下同时创建t1,t2,t3目录

mkdir t1 t2 t3

(二)删除目录

删除目录的命令

rmdir [选项] 目录名称
	-p : 表示递归删除
注意:仅能删除空目录

案例1:删除root目录下的test目录

rmdir /root/test
或
cd root
rmdir test

案例2:删除root目录下的shop目录

cd root
rmdir -p shop/shop1/shop2

案例3:同时删除root目录下的t1,t2,t3目录

cd root
rmdir t1 t2 t3

三、文件管理

(一)文件创建

文件创建命令

touch 文件名称

案例:在root目录下,同时创建1.txt 2.txt 3.txt 三个文件

cd root
touch t1.txt t2.txt t3.txt
或
touch t{1..3}.txt
或
touch root/t1.txt root/t2.txt root/t3.txt

(二)文件删除

文件删除命令

rm [选项] 文件/目录
	-r:表示递归,主要针对目录
	-f:强制删除

案例1:删除1.txt 2.txt 3.txt 三个文件

rm 1.txt 2.txt 3.txt 
此时系统会提示
rm: remove regular file ‘1.txt’? 
输入y确定,输入n取消
如果使用命令
rm -f 1.txt 2.txt 3.txt 
此时系统不会提示,直接删除

案例2:test.txt文件的路径为/test/test.txt,删除test文件夹

rm -r test
或
rm -rf test

四、文件的复制与剪切

(一)文件的复制

文件复制命令

cp [选项] 文件/目录
	-r:表示递归

案例1:复制文件test.txt到父目录中的shop目录下

cp test.txt ../shop

案例2:复制文件夹test到父目录中的teacher目录下

cp -r test ../teacher

特别的,命令cp也可以在复制后为文件/目录重新命名
例如,将文件test.txt复制到父目录中的shop目录下并命名为test1.txt

cp test.txt ../shop/test1.txt

(二)文件的剪切

文件剪切的命令

mv 文件/目录名 目的地路径

案例:将目录test移动到/root/etc目录下

mv test /root/etc

特别的,在同一目录下,命令mv也可以为文件/目录重命名
例如,将1.txt文件重命名为2.txt

mv 1.txt 2.txt

五、文件压缩与解压缩

(一)文件的打包

一般情况下,Linux系统中只能对单个文件进行压缩,那么对于多文件或者文件夹就需要对其进行打包后再压缩。文件打包命令:

tar [选项] 文件打包后名称.tar 多个文件或文件夹
	-c :打包
	-f :filename,打包后的文件名称
	-v :显示打包的进度
	-u :update缩写,更新原打包文件中的文件(了解)
	-t :查看打包的文件内容(了解)

案例1:将文件a.txt、b.txt、c.txt打包到abc.tar

tar -cvf abc.tar a.txt b.txt c.txt

案例2:将文件wechat打包到wechat.tar

tar -cvf wechat.tar wechat

案例3:将文件d.txt添加到abc.tar

如果想要往tar包添加内容可以使用tar -uf命令
tar -uf abc.tar d.txt

案例4:查看abc.tar内容

tar -tf abc.tar

如果想要释放tar包应该怎么办?
可以使用命令

tar -xf 

例如将abc.tar释放

tar -xf abc.tar

(二)文件的压缩

常用的文件压缩工具有
gzip(.gz)、bzip2(.bz2)、XZ(.xz)
一般来说在压缩率上gzipbzip2>XZ

文件压缩命令

tar [选项] 压缩后的文件名 即将要压缩的文件
	-zcf:使用gzip工具压缩[.gz]
	-jcf:使用bzip2工具压缩[.bz2]
	-Jcf:使用XZ工具压缩[.XZ]

案例 :压缩shop.tar包

tar -zcf shop.tar.gz shop.tar
或
tar -jcf shop.tar.bz2 shop.tar
或
tar -Jcf shop.tar.xz shop.tar

文件解压缩命令

tar [选项] 需要解压缩的文件
	-zxf:使用gzip工具解压缩
	-jxf:使用bzip2工具解压缩
	-Jxf:使用XZ工具解压缩

案例:将文件shop.tar.gz解压缩

tar -zxf shop.tar.gz

拓展:ZIP压缩工具

使用zip工具压缩文件

zip [选项] 压缩后的文件名(.zip) 需要压缩的文件
	-r:表示递归,用于文件夹
案例:压缩文件shop
#zip -r shop.zip shop

使用unzip命令解压文件

unzip 压缩包名称
案例:解压文件shop.zip到/root/etc
unzip shop.zip -d /root/etc

如果使用zip工具时需要指定解压路径,可以使用参数“d"来选择路径

六、文件的查看

一般来说,我们可以使用ls命令来查看一个目录下的文件或者文件夹的一些信息。

ls [选项] 文件/目录
	-l:详细显示/以列表形式显示 (ls -l可以缩写为ll)
	-a:显示隐藏文件或目录
	-d:指定显示某个文件或目录

但是如果对于需要查看某个文件里面的信息,又不想打开文件,ls命令显然不能适用,就可以用到以下几个命令。

cat 文件名 :正序查看文件的内容
tac 文件名 :倒序查看文件的内容
head -n :查看文件的前n行内容
tail -n :查看文件的后n行内容
	 [-n:表示数字,如果没有使用参数n,则默认为查看10行]

拓展(了解):

tail -f :一般用于查看日志文件

对于一些大型文件,使用cat命令就不太合适,这时可以使用more/less命令。
分屏显示文件内容
1.more命令

more 文件名称
	1)enter键:向下一行
	2)D:向下半页
	3)space键:向下一页
	4)b:向上一页
	5)q:退出
tips:more命令在显示内容时已经将文件加载完毕后再展示,对于较大的文件可能卡顿

2.less命令(重点)

less 文件名
	1)enter键:向下一行
	2)d:向下半页
	3)space键:向下一页
	4)上下左右方向键可以使用
	5)b:向上一页
	6)q:退出
	7)输入”/"可以查找内容

使用less命令查看文件并显示行号

less -N 文件名

七、文件统计与查找

(一)文件统计命令

使用wc命令统计文件的行数、单词数、字节数等

wc [选项] 文件名
	-l:line,显示文件行数
	-w:words,显示字符数
	-c:显示字节数
拓展:
一般来说,一个数字/字母/字符===一个字节
中文与编码格式有关,在utf-8字符集中,一个汉字==3个字节

使用du命令统计文件/目录的大小

du [选项] 文件/目录
	-----分别显示目录中各个文件或者文件夹的大小,不带单位
	-s:显示汇总后的文件大小
	-h:显示文件大小的同时会附带单位

(二)文件的查找

1.find命令,查找一个文件或目录时必须用到的命令

find 需要查找的文件的绝对路径 -name "文件名称“ -type [f/d]
	-name:文件名称,支持使用通配符”*“
	-type:文件的类型,其中f表示文件,d表示目录,如果不知道时文件或目录,可以不选

2.grep命令,用于在文件中查找关键词并且高亮显示

grep [选项] 关键词
	-n:显示关键词时同时显示其所在的行号

八、vi/vim

vi(visual editor)编辑器通常被简称为vi,它是Linux和Unix系统上最基本的文本编辑器,类似于Windows
系统下的notepad(记事本)编辑器。
Vim(Vi improved)是vi编辑器的加强版,比vi更容易使用。vi的命令几乎全部都可以在vim上使用。
因此,建议使用vim进行编辑。

yum install vim
#vim需要安装

(一)四种模式

命令模式
编辑模式(输入/插入模式)
可视化模式
末行模式(尾行模式)

①命令模式:使用VIM编辑器时,默认处于命令模式。在该模式下可以移动光标位置,可以通过快捷键对文件
内容进行复制、粘贴、删除等操作。
②编辑模式:在该模式下可以对文件的内容进行编辑
③末行模式:可以在末行输入命令来对文件进行查找、替换、保存、退出等操作
④可视化模式:可以做一些列选操作
一张图看明白四种模式的切换
Linux文件管理(文件/目录的创建、更改、删除)_第1张图片

(二)vim命令模式

用vim编辑器,打开1.txt文件,如果1.txt文件不存在,则新建一个空文件1.txt,保存退出编辑器时会自动创
建这个文件
———————————————————————————————————————————————————
在任何模式下,都可以按两下ESC回到命令模式,在命令模式输入:wq 按回车键保存并退出;q! 按回车键不保存退出
———————————————————————————————————————————————————
光标移动到文件第一行的行首,按键: gg
光标移动到文件最后一行的行首,按键:G [Capslk 再加 G 键] / [Shift + G 键]
快速定位到指定行(重点):数字 + G //150G
———————————————————————————————————————————————————
向上 翻屏,按键: ctrl + b (before) 或 PgUp
向下 翻屏,按键: ctrl + f (after) 或 PgDn
向上翻半屏,按键: ctrl + u (up)
向下翻半屏,按键: ctrl + d (down)
———————————————————————————————————————————————————
① 复制光标所在行
按键:yy
粘贴:在想要粘贴的地方按下p 键【将粘贴在光标所在行的下一行】,如果想粘贴在光标所在行之前,则使用P键
② 以光标所在行为准(包含当前行),向下复制指定的行数
按键:数字yy,如5yy
———————————————————————————————————————————————————
① 剪切/删除光标所在行
按键:dd (删除之后下一行上移)
注意:dd 严格意义上说是剪切命令,但是如果剪切了不粘贴就是删除的效果。
② 剪切/删除光标所在行为准(包含当前行),向下删除/剪切指定的行
按键:数字dd ;如5dd
③ 剪切/删除光标所在的当前行(光标所在位置)之后的内容,但是删除之后下一行不上移
按键:D (删除之后当前行会变成空白行)
———————————————————————————————————————————————————
撤销:u(undo)
恢复:ctrl + r 恢复(取消)之前的撤销操作【重做,redo】

(三)vim末行模式

进入方式:由命令模式进入,按下 : 或者 / (表示查找)即可进入
———————————————————————————————————————————————————
保存操作(write)
输入: :w 保存文件 (了解)
输入: :w 路径 另存为(了解);如w /root/test.txt
———————————————————————————————————————————————————
输入: :q 退出文件(了解)
输入: :wq 保存并且退出
输入: :q! 表示强制退出,刚才做的修改操作不做保存
———————————————————————————————————————————————————
输入: /关键词 ,再按下回车 【按下/也是进入末行模式的方式之一】
在搜索结果中切换上/下一个结果:N/n (大写N代表上一个结果,小写n代表next)
如果需要取消高亮,则需要在末行模式中输入: :noh 【no highlight】
———————————————————————————————————————————————————
:s/搜索的关键词/新的内容 	替换光标所在行的第一处符合条件的内容(只替换1次)
:s/搜索的关键词/新的内容/g 	替换光标所在行的全部符合条件的内容
:%s/搜索的关键词/新的内容 	替换整个文档中每行第一个符合条件的内容
:%s/搜索的关键词/新的内容/g 替换整个文档中所有符合条件的内容
———————————————————————————————————————————————————
显示行号: :set nu ,nu代表number
如果想取消显示,则输入: :set nonu
———————————————————————————————————————————————————
为什么要使用paste模式?
问题:在终端Vim中粘贴代码时,发现插入的代码会有多余的缩进,而且会逐行累加。原因是终端把粘贴的文本存
入键盘缓存(Keyboard Buffer)中,Vim则把这些内容作为用户的键盘输入来处理。导致在遇到换行符的时候,
如果Vim开启了自动缩进,就会默认的把上一行缩进插入到下一行的开头,最终使代码变乱。
在粘贴数据之前,输入下面命令开启paste模式
:set paste
粘贴完毕后,输入下面命令关闭paste模式
:set nopaste

(四)可视化模式

按键:ctrl + v(可视块)或V(可视行)或v(可视),然后按下↑ ↓ ← →方向键来选中需要
复制的区块,按下y 键进行复制(不要按下yy),最后按下p 键粘贴
退出可视模式按下Esc
———————————————————————————————————————————————————
多行注释:
a.首先按esc进入命令行模式下,按下Ctrl + v,进入列(也叫区块)模式;
b.在行首使用上下键选择需要注释的多行;
c.按下键盘(大写)“I”键,进入插入模式;
d.然后输入注释符(“#”);
e.最后按两下“Esc”键。
———————————————————————————————————————————————————
删除多行注释:
a.首先按esc进入命令行模式下,按下Ctrl + v, 进入列模式;
b.选定要取消注释的多行的第一列
c.按del键即可

(五)Vim的一些实用功能:代码着色

为vim比vi 多一个代码着色的功能,这个功能主要是为程序员提供编程语言升的语法显示效果:
在实际应用中,我们如何控制着色显示与否?
开启显示: :syntax on
关闭显示: :syntax off

你可能感兴趣的:(Linux,linux,运维)