文件管理命令、vim文件编辑、常用的文本处理工具

编程入门 行业动态 更新时间:2024-10-09 07:19:13

<a href=https://www.elefans.com/category/jswz/34/1749703.html style=文件管理命令、vim文件编辑、常用的文本处理工具"/>

文件管理命令、vim文件编辑、常用的文本处理工具

1.文件管理命令

(1)新建文件:	 touch  + 文件名称新建目录:    mkdir -p + 目录名称   #新建递归目录(-p=path) 注意: touch默认用来建立文件,同时此命令具备修改文件时间戳功能  
(2)删除文件:	rm  -f  + 文件名称	(-f 是force的缩写,表示强制删除不提示)删除目录:	rm  -f -r + 目录名称	(-r (recursive) 表示递归,就是目录本身和里面的所有内容 )$$注意: -a -b -c =-abc = -bac  
即:删除目录也可写为: rm -fr  +目录名称
 (3)复制:  cp  + 文件名称/目录名称 + 新文件名称/新目录名称   复制是按照模版新建过程      例如: 
cp file file1 file2   dir	          #复制多个文件到指定目录中
cp -r sourcedir1 sourcedir2 destdir   #复制目录到指定目录中注意:cp file1 file2  #将file1的内容复制到file2中,这样会覆盖原文件的内容

(4)移动(重命名):  mv  + 文件名称/目录名称 + 新文件名称/新目录名称   相同磁盘文件移动是重命名;不同磁盘文件移动是复制后删除    注意:  /* 表示所有   . 代表当前所在系统目录例如: 
mv  westos/* .    #把目录westos中的所有内容移动到当前所在系统位置
mv file1 file2        #将file1移动到file2,即为将file1的内容复制给file2,这样仍然会覆盖原文件的内容

移动与复制的区别:移动:只是文件/目录的存放位置发生改变,始终只有一份文件/目录复制:即为文件/目录的备份,总共有两份文件/目录
(5)查看文件内容:  cat + file(文件名称)  cat          file		##显示文件全部内容
cat   -n	 file		##显示文件内容并在每行前加入行号
cat   -b	 file		##显示文件内容并在每行前加入行号但是不包含空行
(6)显示目录中的文件名: ls + dir(目录名称)/file(文件名称) 
ls 		dir	 	        ##显示路径信息
ls -l		file		##显示目标属性
ls -l  -d 	dir	    	##显示目录本身属性
ls -R		dir	    	##递归显示目录中的所有内容
ls -a				    ##显示所有文件包括以"."开头的隐藏文件
ls -ad .*		    	##显示所有隐藏文件


2.文件的编辑

(1)vim帮助

方法1
vim
:help
方法2
vimtutor

(2)vim基本操作:

vim +文件名   进入浏览模式,
按"i"键  进入插入模式开始编写字符,
编写结束后按"ESC"键 退出插入模式,
最后按":wq" 保存退出,文件编写完成。

(3)gedit命令

 gedit + 文件名称 + &   
#"&"的作用是让gedit命令在后台运行而不占用当前接口

(4) vim的三种模式

 1)命令模式:
它是vim打开文件后默认进入的模式,这个模式中不能插入字符,但是可以设定vim的工作方式1.vim工作方式设定
命令模式是vim打开文件后默认进入的模式,这个模式中不能插入字符,不显示鼠标即不能用 鼠标直接操作,但是可以设定vim的工作方式:set   ##指定信息
:set nu          #添加行号 (临时设定)            
:set nonu        #删除行号
:set mouse=a     #显示鼠标,并允许鼠标直接操作
:set cursorline  #添加下划线      vim/etc/vimrc    #添加/删除行号(永久设定) 
#############
set nu
set nonu注意:在vim中直接设定vim的工作方式是临时设定,也就是说当vim关闭,设定失效
那么如果要永久设定,则需要编写"/etc/vimrc".这个文件也是vim的配置文件     2.在命令模式下如何管理字符
x        #删除光标所在字符       
u        #恢复(undo的缩写) 
ctrl+r   #撤销恢复(redo的缩写)y   ##复制    
yw       #复制一个单词
y3w   
yl       #复制一个字母
y3l
yy  	 #复制一整行      
y5y      #复制5行(从上到下)c   ##剪切    
cw       #剪掉一个单词word
c3w    
cl       #剪掉一个字母
c3l
cc       #剪掉一整行      
c5c      #剪掉5行注意:"用c做剪切时,会进入插入模式,如果要粘贴需要退出插入模式按<ESC>再按P粘贴"p        ##粘贴   
u	     ##撤销
ctrl+r	 ##恢复d   ##删除     
dw      #删除一个单词 
d3w
dl      #删除一个字母
d3l
dd      #删除一整行                    
d5d     #删除5行2)插入模式:   i     #在光标所在位置插入字符                 I     #在光标所在行的行首插入字符o     #光标所在行的下一行新行插入字符   O     #光标所在行的上一行新行插入字符s     #删除光标所在字符并插入字符     S     #删除光标所在行并插入字符a     #光标所在字符的下一个字符插入       A     #光标所在行的行尾插入字符3)退出模式:
:q     #当vim进入文件没有对文件内容做任何操作可以按"q"退出
:q!    #当vim进入文件对文件内容有操作但不想保存退出
:wq    #正常保存退出               
:wq!   #强行保存退出,只针对于root用户或文件所有人生效gnome-session-quit  #切换普通用户

(5)vim的可视化操作

ctrl+v   ##进入可视化模式1.基本操作
在vim中是不能用鼠标选择区域操作的。如果要操作某个区域,需要进入到可视化模式
在命令模式下ctrl+v就可以进入到可视模式了,按"上|下|左|右"移动光标选择区域
按相应操作键就可以对选择区域进行操作2.可视化模式下批量添加字符
把光标停留在想要加入字符所在的列的第一行,移动光标选择添加字符所在列
按"I"进入插入模式,写入要插入的字符,按"ESC"退出插入模式,字符批量添加成功3.vim的字符替换 
:%s/原有字符/新字符/g          #全文替换
:1,5s/原有字符/新字符/g        #替换1到5行的字符注意:g替换出现的所有关键字,如果不加"g"只替换出现的第一个4.vim总字符的查找及光标的移动 (1)字符的查找       
/关键字
n  向下匹配关键字             
N  向上匹配关键子(2)光标的移动 
:数字      #光标快速移动到指定行
gg        #光标移动到文件的第一行
G         #光标移动到文件的最后一行5.vim同时编辑多个文件
:sp+文件名
ctrl + w       #光标进入上边文件窗口
ctrl + w       #光标进入下边文件窗口s   #打开多个
v   #打开同一个
c   #删除6.vim的注意事项
(1)编辑文件时 当文件名称存在,那么进入文件直接编辑,当文件名称不存在,vim会在退出保存时自动建立文件,当vim命令后没有跟任何文件名称时,时无法实现":wq"退出保存的那么可以用
":wq filename"
(2)当vim异常退出时,系统会建立.file.swp这个缓存文件,这个文件中保存着没有":wq"动作保存的信息,当用vim对文件做编辑的时候会提示
O    #只读打开(小写字母也可)                                       
E    #直接忽略.file.swap信息编辑文件
R    #利用.file.swap进行为保存数据恢复     
D    #删除.file.swap
Q    #退出                                              
A    #终止

3.关于路径的命令

(1)路径分为
绝对路径:文件所在系统的真实位置,在系统的任何位置都可以使用通常以"/"开头相对路径相对当前所在系统位置的一个文件名称的简写,他通常会自动添加"pwd"的值在名称前(2).相关命令
pwd	  #显示当前所在系统位置的路径(print work directory)
touch /mnt/file		#用绝对路径的方式在/mnt/中建立file文件
rm -fr /mnt/file	#用绝对路径的方式删除/mnt/中的file文件
mv hello /mnt		#把当前的hello文件移动到/mnt目录中
mv /mnt/hello .	        #用绝对路径的表示方式把/mnt中的hello文件移动到当前位置

4.切换工作目录

cd 目录名称
cd ..		#进入当前目录的上层目录
cd -		#进入当前目录之前所在目录


5.通配符

(1).字符匹配    
*                 #匹配0到任意个任意字符
?                #匹配单个任意字符 

[[:alpha:]]       #匹配单个字母
[[:lower:]]       #匹配单个小写字母
[[:upper:]]       #匹配单个大写字母
[[:digit:]]       #匹配单个数字
[[:alnum:]]       #匹配单个数字或字母
[[:punct:]]       #匹配单个符号
[[:space:]]       #匹配单个空格
{}       ##精确匹配 
{1..9}            #1-9
{a..f}            #a-f
{1,3,5}           #135
{a,c,e}           #ace
{1..3}{a..c}      #1a 2a 3a 2a 2b 2c 3a 3b 3c
[]       ##模糊匹配
[a-C]             #a或者A或者b或者B或者c或者C
[a-c]             #a或者b或者c
[1-3]             #1或者2或者3
[145]             #1或者4或者5
[^abc]|[!abc]     #除了a并且除了b并且除了c~           ##当前用户目录
~ username  ##指定用户家目录
~+          ##当前目录
~-          ##当前目录之前所在目录

6.其他常用文本处理工具

head    ##显示指定文件的前多少行
head -n 1 /etc/passwd      #显示文件的第一行
head -n 3 /etc/passwd      #显示文件的前3行
head /etc/passwd           #默认显示文件的前10行


tail    ##显示指定文件的最后多少行
tail -n 1 /etc/passwd      #显示文件的最后以行
tail -n 2 /etc/passwd      #显示文件的最后2行
tail /etc/passwd           #显示文件的最后10行

less    ##分页浏览  
less /etc/passwd
上|下			##逐行查看
pgup|pgdn		##主页查看
/关键字		    ##搜索关键字并高亮显示,"n"向下匹配一个关键字##"N"向上匹配一个关键字
file    ##查看文件类型
file +文件名称

wc      ##统计文件的字数,字符数,字节数
wc -l  +文件名称    #统计行数           
wc -m  +文件名称    #统计字符数        
wc -c  +文件名称    #统计字节数          
wc -w  +文件名称    #统计字数
wc -L  +文件名称    #统计最长行的字节  

history     ##显示历史 
history -c     	##清除当前循环
上| 下           ##逐行翻阅历史
!数字           ##调用指定行
!字母           ##调用以此字母开头的最近一条命令行
crtl+r(按键)   ##调用含有此关键字的最近一条命

练习1:

在桌面上建立文件 westos 在桌面建立目录  linux 在/mnt下建文件 lee 复制/etc目录中的passwd
文件到/mnt目录中的usermessage文件中 复制/mnt中的所有文件到桌面的linux目录中 
删除/mnt目录中的所有文件
重命名桌面上的linux目录为test文件

答案:

[root@localhost ~]# cd Desktop/
[root@localhost Desktop]# pwd
/root/Desktop
[root@localhost Desktop]# touch westos
[root@localhost Desktop]# mkdir linux
[root@localhost Desktop]# touch /mnt/lee
[root@localhost Desktop]# cp /etc/passwd /mnt/usermessage
[root@localhost Desktop]# cp /mnt/* /root/Desktop/linux
cp: omitting directory ‘/mnt/home’
[root@localhost Desktop]# cp -r /mnt/* /root/Desktop/linux
[root@localhost Desktop]# rm -rf /mnt/*
[root@localhost Desktop]# mv linux test


练习2:

(1)用一条命令建立 12 个文件 WESTOS_classX_linuxY(X 的数值范围为 1-2 , Y 的数值范围为1-6) 这些文件都包含在 root 用户桌面的 study 目录中
(2)用一条命令建立 8 个文件 redhat_versionX ( x 的范围为 1-8 )redhat_virsionX 这些文件都包含在 /tmp 目录中的 VERSION 中
•管理刚才信建立的文件要求如下
用一条命令把 redhat_versionX 中的带有奇数的文件复制到桌面的 SINGLE 中
用一条命令把 redhat_versionX 中的带偶数数的文件复制到 /DOUBLE 中
用一条命令把 WESTOS_classX_linuxY 中 class1 的文件一动到当前用户桌面的 CLASS1 中
用一条命令把 WESTOS_classX_linuxY 中 class2 的文件一动到当前用户桌面的 CLASS2 中
•备份 /etc 目录中所有带有数字并且以 .conf 结尾的文件到桌面上的 confdir 中
•删掉刚才建立或者备份的所有文件

答案:

[root@localhost ~]# cd /root/Desktop
[root@localhost Desktop]# mkdir study
[root@localhost Desktop]# touch study/WESTOS_class{1..2}_linux{1..6}
[root@localhost Desktop]# ls study/
WESTOS_class1_linux1  WESTOS_class1_linux5  WESTOS_class2_linux3
WESTOS_class1_linux2  WESTOS_class1_linux6  WESTOS_class2_linux4
WESTOS_class1_linux3  WESTOS_class2_linux1  WESTOS_class2_linux5
WESTOS_class1_linux4  WESTOS_class2_linux2  WESTOS_class2_linux6
[root@localhost Desktop]# mkdir /tmp/VERSION;touch /tmp/VERSION/redhat_version{1..8}
[root@localhost Desktop]# ls /tmp/VERSION/
redhat_version1  redhat_version3  redhat_version5  redhat_version7
redhat_version2  redhat_version4  redhat_version6  redhat_version8
[root@localhost Desktop]# mkdir SINGLE /DOUBLE;cp /tmp/VERSION/redhat_version{1,3,5,7} SINGLE
[root@localhost Desktop]# cd SINGLE/
[root@localhost SINGLE]# ls
redhat_version1  redhat_version3  redhat_version5  redhat_version7
[root@localhost SINGLE]# cd ..
[root@localhost Desktop]# mkdir CLASS1 CLASS2;mv study/WESTOS_class1* CLASS1
[root@localhost Desktop]# cd CLASS1
[root@localhost CLASS1]# ls
WESTOS_class1_linux1  WESTOS_class1_linux3  WESTOS_class1_linux5
WESTOS_class1_linux2  WESTOS_class1_linux4  WESTOS_class1_linux6
[root@localhost CLASS1]# cd ..
[root@localhost Desktop]# mv study/WESTOS_class2* CLASS2
[root@localhost Desktop]# cd CLASS2
[root@localhost CLASS2]# ls
WESTOS_class2_linux1  WESTOS_class2_linux3  WESTOS_class2_linux5
WESTOS_class2_linux2  WESTOS_class2_linux4  WESTOS_class2_linux6
[root@localhost CLASS2]# cd ..
[root@localhost Desktop]# mkdir confdir
[root@localhost Desktop]# cp /etc/*[0-9]*.conf confdir/
[root@localhost Desktop]# cd confdir/
[root@localhost confdir]# ls
e2fsck.conf  krb5.conf  mke2fs.conf  pbm2ppa.conf  pnm2ppa.conf
[root@localhost confdir]# cd ..
[root@localhost Desktop]# rm -rf * /tmp/VERSION/ /DOUBLE/
[root@localhost Desktop]# ls

更多推荐

文件管理命令、vim文件编辑、常用的文本处理工具

本文发布于:2024-03-12 10:50:21,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1731336.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:文件管理   文本   命令   常用   编辑

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!