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)
一般来说在压缩率上gzip<bzip2<XZ,但在压缩速度上gzip>bzip2>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编辑器时,默认处于命令模式。在该模式下可以移动光标位置,可以通过快捷键对文件
内容进行复制、粘贴、删除等操作。
②编辑模式:在该模式下可以对文件的内容进行编辑
③末行模式:可以在末行输入命令来对文件进行查找、替换、保存、退出等操作
④可视化模式:可以做一些列选操作
一张图看明白四种模式的切换
在这里插入图片描述

(二)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
  • 18
    点赞
  • 120
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
1. 使用date命令显示当前日期。 2. 使用 who命令显示当前所有登录用户的信息,试依次打开多个终端,再查看输出结果的变化。 3. 查看当前linux服务器的主机名的命令。(hostname) 4. 使用clear命令,清除屏幕信息。 5. 添加一个组账号,名称为group1,打开图形界面观察执行后的结果。 6. 查询文件group中group1的记录,改变group1组的GID 为666, 再查看文件group中group1的记录。 7. 以自己的姓名全拼创建一个用户,指定UID为555, 加上用户的备注信息(姓名全称、所在院系等),初始组为group1,有效组为root,打开图形界面观察执行后的结果。 8. 为以自己姓名命名的账户设置密码,并查看passwd文件和shadow文件的最后一行。 9. 使用命令给自己的姓名账户密码冻结,用passwd查看账户相关信息,最后给账户解冻。 10. 进入以自己姓名命名的用户主目录,显示当前的路径,退出当前目录,返回根目录。 11. 复制文件/etc/passwd到用户主目录文件名不变,打开图形界面Nautilus的窗口观察执行后的结果。 12. 统计文件/etc/passwd文件的字节数和行数。 13. 创建普通文件/home/abc1,创建普通文件/home/abc2。 14. 将/etc/passwd的内容追加到文件abc1中,将/etc/group的内容追加到文件abc2中。(利用附加输出重定向命令)。 15. 修改文件abc1的属性为:属主具有一切权限,同组用户和其他用户具有可读可写的权限。(使用数字模式) 16. 修改abc2的属性为:给其他用户增加可执行的权限。(使用功能模式) 17. 以长文件形式显示文件abc1的详细信息。 18. 进入/home目录,将文件abc1和abc2打包成文件ab.tar,放在以自己姓名命名的用户主目录下(比如/home/liqun),打开图形界面Nautilus的窗口观察执行后的结果。 19. 创建Readme.txt文本文件,内容为你的姓名全拼、学号等信息,保存关闭后用命令查看Readme.txt文件的内容,并在每一行前加行号。 20. 在root目录创建文件夹mydir1,其绝对路径为“/root/testdir/mydir1”(假设testdir目录事先并不存在)。 21. 在root目录创建文件夹dir1,将其移动到 /root/testdir/mydir1目录下。在root目录创建文件夹dir2,将其移动到 /root/testdir目录下,并将其改名为mydir2。打开图形界面Nautilus的窗口,观察以上这些步骤执行后的结果。 22. 分别删除/testdir目录下的mydir1和mydir2目录。(注意rm命令不加-r选项,系统会提示mydir1是个目录不能删除。)(尝试重复步骤20和步骤21,重建上述目录,执行步骤22,比较增加-f选项的区别)。 23. 建立文件/etc/group的符号链接文件/root/a.b,打开图形界面Nautilus的窗口观察a.b文件的特征。 24. 进入根目录的tmp目录下,建立test1和test2两个文件夹,在test1中建立文件a.log, b.log,用ls命令查看所创建文件a.log,b.log。再把a.log 硬连接到test2目录文件同名。把b.log 软链接到test2目录下,文件同名。用ls命令查看test2文件夹下所创建文件,并打开图形界面Nautilus的窗口观察文件夹test2下a.log文件和b.log文件的特征。 25. 由超级用户切换为以自己姓名命名的普通用户身份,并使用普通用户的环境变量,再切换回超级用户身份。
一、 实验目的 1、 通过实验了解和熟悉Linux文件系统 2、 掌握文件操作命令 3、 了解文件目录的默认权限,掌握文件权限的设置 4、 掌握文件的链接 二、 开发工具和运行环境 1、虚拟机VMware 2、Linux操作系统 三、 实验内容 1、了解和熟悉Linux文件系统 了解Linux文件系统、文件命名、文件类型和常见目录:根目录(/)、 .bin、boot、dev、etc、home、Lib、lost+found、 opt、root、 usr、mnt、proc、sbin、 tmp、 var. 2、文件操作命令: (文件目录名自拟、自行设计实验步骤) (1) 1s: 显示目录内容 -a显示指定目录下所有的目录文件 -1以 长格式显示文件的详细信息。 -d显示目录本身信息 i显示索引号 (2) cd:改变当前工作目录 格式: cd [目录名] cd .. 上移- -层目录(注意,需要有空格) cd 移到自己的主目录 (3) cat: 查看文件信息命令 显示文件信息:格式: cat [选项]文件名 -n输出编号 建立文件: cat>新文件名ctrl+d 合并文件: cat 文件1文件2>新文件 (4) more: 逐屏显示文件内容 格式: more 文件名 (5) cp:复制命令 格式: cp [选项] 源文件目录目标文件目录 同时可以复制多个文件 -f 出现覆盖情况不提示 -p复制后,保持原有属性。目标文件保持原有的生成日期和inode编号 -r 复制目录目录下的文件 普通用户并不能进行这样的操作,只能切换到root用户然后进行-r的递归复制。 (6) rm: 删除文件目录 格式: mv [选项] 文件名或目录名 -f删除时不提示 -r 删除目录目录下的文件(常用: -rf ) (7) mv: 文件移动及改名命令 格式: mv [选项]源文件目录 目 标文件目录 -f覆盖文件时 不提示 (8) grep: 文件信息检索命令 格式: grep [选项]字符串 [文件 ... ] -i 不区分大小写 (9) sort: 排序命令 格式: sort [选项][文件列表] (10) mkdir 创建目录命令 格式: mkdir [选项] [目录名] 可以同时创建多个目录 p :递归创建目录 -m:创建目录的时候赋予权限 (11) rmdir删除“空”目录命令 格式: rmdir [选项] [目录名] 注意:目录为空才能删除;否则需采用rm - r来删除。 p :递归删除目录删除目录,其父目录为空时,也同时删除3、文件权限的设置: (文件目录名自拟、自行设计实验步骤) 文件的属主与属组 (1) chown [选项] [所有者][:[组]] 文件列表 更改每个文件的所有者和/或所属组。 字母模式形式即“用户对象操作符号操作权限”,其命令格式为:(2) chmod [选项]模式[,模式]文件名 +:添加-:取消=:赋予并取消其他所有 数字形式即由三位八进制数字组成,其命令格式为: chmod八进制模式 文件文件的特殊权限: SUID、 SGID 和Sticky 4、文件的链接: (文件目录名自拟、自行设计实验步骤) (1)硬链接:不带选项,ln命令创建硬链接。在另外的目录或本目录中增加目标文件的一个目录项,一个文件就登记在多个目录中 1n源文件目标文件 (2)软链接(符号链接):用“1n -s”命令建立符号链接时,最好源文件用绝对路径名,这样可以在任何工作目录下进行符号链接。类似于Windows系统中的快捷方式。 In -s源文件目标文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值