linux⽂件创建、查看、编辑命令
⼀、创建⽂件命令
1、touch命令
linux的touch命令不常⽤,⼀般在使⽤make的时候可能会⽤到,⽤来修改⽂件时间戳,或者新建⼀个不存在的⽂件。touch  [-acm][-r  ref_file(参照⽂件)|-t  time(时间值)]  file(⽂件名)
example:
更新的存取和修改时间
touch - 如果不存在,不创建⽂件
touch -r ref_ 更新的时间戳和ref+file相同
touch -t 0811142234. 设定⽂件的时间错为08年11⽉14⽇22点34分40秒
touch filename  就创建了⼀个⽂件名为filename的空⽂本⽂件
2、vi
举例新建⼀个1.txt⽂本⽂件。
直接#就可以了。
3、cp拷贝
4、mv
⼆、查看⽂件命令
1、cat(只查看)
cat(“concatenate”的缩写)命令⽤于连接并显⽰指定的⼀个或多个⽂件的内容,它的使⽤权限是所有⽤户。
⽤法: cat [options] ⽂件1 ⽂件2……
若使⽤管道接收要显⽰信息,则cat后⾯不接⽂件名。
[options]主要参数
-n:由第⼀⾏开始对所有输出的⾏数编号。
-b:和-n相似,只不过对于空⽩⾏不编号。
-s:当遇到有连续两⾏以上的空⽩⾏时,就代换为⼀⾏的空⽩⾏。
这条命令可以顺序地读取多个⽂件,⽤法:cat file1 file2
例A:把 textfile1 的⽂件内容加上⾏号后输⼊ textfile2 这个⽂件⾥
#cat -n textfile1 > textfile2
例B:把 textfile1 和 textfile2 的档案内容加上⾏号(空⽩⾏不加)之后将内容附加到 textfile3
#cat -b textfile1 textfile2 >> textfile3
例C:显⽰/etc/fstab⽂件的内容。
#cat /etc/fstab
cat 对于内容极⼤的⽂件来说,可以通过管道|传送到more ⼯具,然后⼀页⼀页的查看;
[root@localhost ~]# cat /etc/fstab /etc/profile | more
2、vi(查看和编辑)
如: vi /etc/fstab
linux的vi编辑器命令3、head 查看⽂件头部内容命令。
命令格式:# head [[选项]] <⽂件列表>
常⽤选项:
-c,--bytes=SIZE ,打印⽂件开头的SIZE字节内容。
-n,--lines=NUMBER,打印⽂件开头的NUMBER⾏,默认是输出前⾯10⾏。
例⼦:
head -c 300 /etc/inittab 显⽰前300个字节
head -n 5 /etc/inittab 显⽰前5⾏
head /etc/inittab 显⽰前10⾏
4、tail 查看⽂件尾部内容命令。
命令格式:# tail [选项] <⽂件列表>
常⽤选项:
-c,--bytes=SIZE ,打印⽂件最后的SIZE字节内容。
-n,--lines=NUMBER,打印⽂件最后的NUMBER⾏,默认是输出后⾯10⾏。
例⼦:
tail /etc/inittab 显⽰最后10⾏
tail -n 5 /etc/inittab 显⽰最后5⾏
tail -c 10 /etc/inittab显⽰最后10个字节
5、more分页显⽰⽂件命令
命令格式:more [选项] <⽂件名>
若使⽤管道接收要显⽰信息,则more后⾯不接⽂件名。
常⽤选项:
-n,⽤来建⽴能显⽰n⾏的显⽰屏窗⼝。
-d,显⽰操作提⽰符:“Press space to continue,'q' quit",以代替more的默认提⽰符。
-s,把连续的空⾏压缩为⼀⾏。
more的动作指令:
Enter 向下n⾏,需要定义,默认为1⾏;
Ctrl f(或空格键)向下滚动⼀屏;
Ctrl b 返回上⼀屏;
= 输出当前⾏的⾏号;
v 调⽤vi编辑器;
q 退出more
例⼦:
[root@localhost ~]# more -dc /etc/profile 注:显⽰提⽰,并从终端或控制台顶部显⽰;
[root@localhost ~]# more -4 /etc/profile 注:每屏显⽰4⾏;
[root@localhost ~]# more /MAIL /etc/profile 注:从profile中的第⼀个MAIL单词的前两⾏开始显⽰;
其它命令通过管道和more结合的运⽤例⼦;
⽐如我们列⼀个⽬录下的⽂件,由于内容太多,我们应该学会⽤more来分页显⽰。这得和管道 | 结合起来,⽐如:[root@localhost ~]# ls -l /etc |more
6、less分页显⽰⽂件命令
less ⼯具也是对⽂件或其它输出进⾏分页显⽰的⼯具,功能与more⼀样,但功能更强⼤,应该说是linux正统查看⽂件内容的⼯具,功能极其强⼤;由于less的内容太多,把最常⽤的介绍⼀下;
less的语法格式;
less [参数] ⽂件
若使⽤管道接收要显⽰信息,则less后⾯不接⽂件名。
-i 搜索时忽略⼤⼩写;除⾮搜索串中包含⼤写字母;
-I 搜索时忽略⼤⼩写,除⾮搜索串中包含⼩写字母;
-m 显⽰读取⽂件的百分⽐;
-M 显法读取⽂件的百分⽐、⾏号及总⾏数;
-N 在每⾏前输出⾏号;
-p pattern 搜索pattern;⽐如在/etc/profile搜索单词MAIL,就⽤ less -p MAIL /etc/profile
-s 把连续多个空⽩⾏作为⼀个空⽩⾏显⽰;
⽐如:显⽰/etc/profile的内容时,让其显⽰⾏号;
[root@localhost ~]# less -N /etc/profile
less的动作命令;
回车键向下移动⼀⾏;
y 向上移动⼀⾏;
空格键向下滚动⼀屏;
b 向上滚动⼀屏;
d 向下滚动半屏;
h less的帮助;
u 向上滚动半屏;
w 可以指定显⽰哪⾏开始显⽰,是从指定数字的下⼀⾏显⽰;⽐如指定的是6,那就从第7⾏显⽰;
g 跳到第⼀⾏;
G 跳到最后⼀⾏;
p n% 跳到n%,⽐如 10%,也就是说⽐整个⽂件内容的10%处开始显⽰;
/pattern 搜索pattern,⽐如/MAIL表⽰在⽂件中搜索MAIL单词;
v 调⽤vi编辑器;
q 退出less
三、编辑⽂件命令
vi
1、进⼊vi的命令
    vi filename :打开或新建⽂件,并将光标置于第⼀⾏⾸
    vi +n filename :打开⽂件,并将光标置于第n⾏⾸
    vi + filename :打开⽂件,并将光标置于最后⼀⾏⾸
    vi +/pattern filename:打开⽂件,并将光标置于第⼀个与pattern匹配的串处
    vi -r filename :在上次正⽤vi编辑时发⽣系统崩溃,恢复filename    filename :打开多个⽂件,依次进⾏编辑
  2、移动光标类命令
  h :光标左移⼀个字符
  l :光标右移⼀个字符
  space:光标右移⼀个字符
  Backspace:光标左移⼀个字符
  k或Ctrl+p:光标上移⼀⾏
  j或Ctrl+n :光标下移⼀⾏
  Enter :光标下移⼀⾏
  w或W :光标右移⼀个字⾄字⾸
  b或B :光标左移⼀个字⾄字⾸
  e或E :光标右移⼀个字⾄字尾
  ) :光标移⾄句尾
  ( :光标移⾄句⾸
  }:光标移⾄段落开头
  {:光标移⾄段落结尾
  nG:光标移⾄第n⾏⾸
  n+:光标下移n⾏
  n-:光标上移n⾏
  n$:光标移⾄第n⾏尾
  H :光标移⾄屏幕顶⾏
  M :光标移⾄屏幕中间⾏
  L :光标移⾄屏幕最后⾏
  0:(注意是数字零)光标移⾄当前⾏⾸
  $:光标移⾄当前⾏尾
 3、屏幕翻滚类命令
  Ctrl+u:向⽂件⾸翻半屏
  Ctrl+d:向⽂件尾翻半屏
  Ctrl+f:向⽂件尾翻⼀屏
  Ctrl+b;向⽂件⾸翻⼀屏
  nz:将第n⾏滚⾄屏幕顶部,不指定n时将当前⾏滚⾄屏幕顶部。
 4、插⼊⽂本类命令
  i :在光标前
  I :在当前⾏⾸
  a:光标后
  A:在当前⾏尾
  o:在当前⾏之下新开⼀⾏
  O:在当前⾏之上新开⼀⾏
  r:替换当前字符
  R:替换当前字符及其后的字符,直⾄按ESC键
  s:从当前光标位置处开始,以输⼊的⽂本替代指定数⽬的字符
  S:删除指定数⽬的⾏,并以所输⼊⽂本代替之
  ncw或nCW:修改指定数⽬的字
  nCC:修改指定数⽬的⾏
 5、删除命令
  ndw或ndW:删除光标处开始及其后的n-1个字
  do:删⾄⾏⾸
  d$:删⾄⾏尾
  ndd:删除当前⾏及其后n-1⾏
  x或X:删除⼀个字符,x删除光标后的,⽽X删除光标前的
  Ctrl+u:删除输⼊⽅式下所输⼊的⽂本
 6、搜索及替换命令
  /pattern:从光标开始处向⽂件尾搜索pattern
  ?pattern:从光标开始处向⽂件⾸搜索pattern
  n:在同⼀⽅向重复上⼀次搜索命令
  N:在反⽅向上重复上⼀次搜索命令
  :s/p1/p2/g:将当前⾏中所有p1均⽤p2替代
  :n1,n2s/p1/p2/g:将第n1⾄n2⾏中所有p1均⽤p2替代
  :g/p1/s//p2/g:将⽂件中所有p1均⽤p2替换
 7、vi命令使⽤举例
  例⼀:创建⽂件a.txt。
 
  Hello everyone!
退出⽅法是:编辑完成后按ESC,然后输⼊:q就是退出;还有:wq是保存后退出,加感叹号是表⽰强制

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。