Linux常用命令-3---file、tar、cat、chgrp、chown、chmod、vi、time

时间:2022-12-10 14:08:22

11.file命令

该命令用于判断接在file命令后的文件的基本数据,因为在Linux下文件的类型并不是以后缀为分的,所以这个命令对我们来说就很有用了,它的用法非常简单,基本语法如下:

file filename  

12.tar命令

该命令用于对文件进行打包,默认情况并不会压缩,如果指定了相应的参数,它还会调用相应的压缩程序(如gzip和bzip等)进行压缩和解压。它的常用参数如下:

-c :新建打包文件 
-t :查看打包文件的内容含有哪些文件名
-x :解打包或解压缩的功能,可以搭配-C(大写)指定解压的目录,注意-c,-t,-x不能同时出现在同一条命令中
-j :通过bzip2的支持进行压缩/解压缩
-z :通过gzip的支持进行压缩/解压缩
-v :在压缩/解压缩过程中,将正在处理的文件名显示出来
-f filename :filename为要处理的文件
-C dir :指定压缩/解压缩的目录dir

命令示例:

压缩:tar -jcv -f filename.tar.bz2    #要被处理的文件或目录名称 
查询:tar -jtv -f filename.tar.bz2
解压:tar -jxv -f filename.tar.bz2 -C #欲解压缩的目录

13.cat命令

该命令用于查看文本文件的内容,后接要查看的文件名,通常可用管道与more和less一起使用,从而可以一页页地查看数据。例如:

cat text | less # 查看text文件中的内容 

14.chgrp命令

该命令用于改变文件所属用户组,它的使用非常简单,它的基本用法如下:

chgrp [-R] dirname/filename    
-R :进行递归的持续对所有文件和子目录更改
chgrp users -R ./dir # 递归地把dir目录下中的所有文件和子目录下所有文件的用户组修改为users

15.chown命令

该命令用于改变文件的所有者,与chgrp命令的使用方法相同,只是修改的文件属性不同。

16.chmod命令

该命令用于改变文件的权限,一般的用法如下:

chmod [-R] xyz 文件或目录  
-R:进行递归的持续更改,即连同子目录下的所有文件都会更改
同时,chmod还可以使用u(user)、g(group)、o(other)、a(all)和+(加入)、-(删除)、=(设置)跟rwx搭配来对文件的权限进行更改。

命令示例:

chmod 0755 file    # 把file的文件权限改变为-rxwr-xr-x 
chmod g+w file # 向file的文件权限中加入用户组可写权限

17.vi命令

在Linux下,可以键入vimtutor命令,有一个包含实操的vim教程。
17.1 vi的三种命令模式

  Command(命令)模式,用于输入命令;
Insert(插入)模式,用于插入文本;
Visual(可视)模式,用于视化的的高亮并选定正文;

17.2 文件的保存和退出

  :w  保存;
:w filename 另存为filename;
:wq! 保存退出;
:wq! filename 注:以filename为文件名保存后退出;
:q! 不保存退出;
:x 应该是保存并退出 ,功能和:wq!相同

17.3 光标移动

 j 向下移动一行;
k 向上移动一行;
h 向左移动一个字符;
l 向右移动一个字符;
ctrl+b 向上移动一屏;
ctrl+f 向下移动一屏;
向上箭头 向上移动;
向下箭头 向下移动;
向左箭头 向左移动;
向右箭头 向右移动;
$ 移至行尾
gg 移动至文档开始
GG 移动到文档尾部
ctrl + f 向前翻页
ctrl + b 向后翻页

17.4 插入模式

  i  在光标之前插入;
a 在光标之后插入;
I 在光标所在行的行首插入;
A 在光标所在行的行末插入;
O 在光标所在的行的上面插入一行;
o 在光标所在的行的下面插入一行;
s 删除光标后的一个字符,然后进入插入模式;
S 删除光标所在的行,然后进入插入模式;

17.5 文本内容的删除

  x 一个字符;
#x 删除几个字符,#表示数字,比如3x;
dw 删除一个单词;
#dw 删除几个单词,#用数字表示,比如3dw表示删除三个单词;
dd 删除一行;
#dd 删除多个行,#代表数字,比如3dd 表示删除光标行及光标的下两行;
d$ 删除光标到行尾的内容;
J 清除光标所处的行与上一行之间的空格,把光标行和上一行接在一起;

17.6 恢复修改及恢复删除

u  撤消修改或删除操作;

17.7 可视模式

可视模式是vim提供的,vi没有可视模式,如果我们想键入vi ***.txt时调用vim,则可以输入以下命令:
echo alias vi=vim >> /etc/profile
下次登录后,使用vi命令打开文件就直接调用vim了

17.8 复制及粘帖

  yy 复制当前行
#yy 复制多行,#用数字表示,比如3yy表示复制三行;
如果在可视模式下,y可以复制选定的内容
p在光标之后粘帖
shift + p 在光标之前粘帖

17.9 查找和替换

 /SEARCH  注:正向查找,按n键把光标移动到下一个符合条件的地方;
?SEARCH 注:反向查找,按shift+n 键,把光标移动到下一个符合条件的
:s /SEARCH/REPLACE/g 注:把当前光标所处的行中的SEARCH单词,替换成REPLACE,并把所有SEARCH高亮显示;
:%s /SEARCH/REPLACE 注:把文档中所有SEARCH替换成REPLACE
:#,# s /SEARCH/REPLACE/g 注:#号表示数字,表示从多少行到多少行,把SEARCH替换成REPLACE

18.time命令

该命令用于测算一个命令(即程序)的执行时间。它的使用非常简单,就像平时输入命令一样,不过在命令的前面加入一个time即可,例如:

time ./process  
time ps aux

在程序或命令运行结束后,在最后输出了三个时间,它们分别是:
user:用户CPU时间,命令执行完成花费的用户CPU时间,即命令在用户态中执行时间总和;
system:系统CPU时间,命令执行完成花费的系统CPU时间,即命令在核心态中执行时间总和;
real:实际时间,从command命令行开始执行到运行终止的消逝时间;
注:用户CPU时间和系统CPU时间之和为CPU时间,即命令占用CPU执行的时间总和。实际时间要大于CPU时间,因为Linux是多任务操作系统,往往在执行一条命令时,系统还要处理其它任务。另一个需要注意的问题是即使每次执行相同命令,但所花费的时间也是不一样,其花费时间是与系统运行相关的。