文件管理命令、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
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值