linux 基本文件操作命令

来源:互联网 发布:鸟哥的linux私房菜chm 编辑:程序博客网 时间:2024/05/20 06:54
学习新东西的时候总是需要进行筑基操作的,练习是必不可少的,阅读教程,分析里面的内容是最重要的。把握学习的目的,澄清教程的脉络,助你脱离低效率的困境。
 
 
首先使用用户名和密码登入系统,切换到命令行界面。我使用的是ubuntu 12的桌面系统,切换到命令行界面的指令是:ctrl+alt+F1.

1.文件目录管理
进入系统的命令行界面,键入指令 ls -al
然后回车,会看到当前目录下的一些文件情况,

其中文件目录是以d开头,文件是以-开头的。权限上来看rwx依次表示,可读,可写,可执行。
权限上有9个权限控制,每三个一组,分别表示当前用户,当前用户所在的组,其他组。
单独查看一个文件目录或者文件相关的基础信息指令是
常用的 文件查看命令:
ls  -a   列出全部文件包括隐藏文件
ls -d    仅列出目录本身,而不是列出目录内的文件数据
ls -l     列出长数据串,包含文件的属性与权限等数据
ls [--color={never,auto,always}]  列出目录,并控制颜色
ls --full-time   以完整时间模式输出

2.系统相关指令
uname -r查看系统的内核版本
lsb_release -a查看系统的版本信息

3.系统的绝对路径和相对路径 特殊目录
绝对路径   /   开始      相对路径   ../  开始
特殊目录: . 表示此层目录     .. 表示上一层目录
   - 表示一个工作组   ~ 代表目前用户身份所在的主文件夹
 ~account 代表account用户的主文件夹(account是账号名称)

4.常见的目录处理命令
cd 切换目录
pwd 显示当前目录
mkdir 新建一个空目录
rmdir 删除一个空目录
为文件设置权限的命令:
mkdir -m 711 test1
  解释:-m表示强制设置 权限数字1表示可读 2表示可写 4表示可执行。test1表示文件名
rmdir [-p] 目录名称
解释:参数-p表示是否连同上层的空文件夹一起删除,mkdir仅仅能够删除空目录
执行文件的路径变量:$PATH     如果想在命令行上看一下$PATH,可以使用以下的命令:
echo $PATH

5.文件的删除,移动和复制
复制文件或目录
cp -a source target   
cp -i source target     若目标文件已经存在时,先进行询问操作
cp -r source target     递归持续复制,用于目录的复制行为
cp [options] source1 source2...   directory  复制多个文件到directory目录下面
要注意的是如果源文件是两个以上,则最后一个的目的文件一定是目录才行
由于cp有种种的权限和特性,所以在复制时需要了解:
   1.是否需要完整保留来源文件的信息
   2.源文件是否为软连接文件(symbolic link file)?
   3.源文件是否为特殊文件,例如:FIFO,socket等等
   4.源文件是否为目录
移除文件或目录
rm -f  source   强制删除,忽略不存在的文件,不会出现警告信息
rm -i  source    互动模式,在删除前询问用户是否操作
rm -r source     递归删除,最常用的目录删除命令,这个使用要谨慎
移动文件与目录,或更名
mv -f  source target  强制移动,如果目标已经存在,直接覆盖不询问
mv -i  source target   如果目标已经存在,询问是否覆盖
mv -u source target   如果目标已经存在,而且source比较新才会覆盖(update)
mv [options] source1 source2 ... directory  将多个文件移动到directory目录中
取得文件名称与目录名称
basename 文件路径    显示文件的文件名称
dirname 文件路径    显示文件的父目录

6.文件内容的查阅
cat target   查看文件的内容
当文件内容过多的时候,可以使用管道命令方式
cat target |more  分页显示文件内容,在查询出的结果下面会有一个more的提示,按方向键盘的向下会逐页显示内容
cat copy > target   复制一个文件的内容到另一个文件中
 
7.vi编辑器命令
vi编辑器是linux的标配编辑器,如果学习了文件操作命令,没有学习它,这是一件非常糟糕的事情.因为我们使用操作系统不是仅仅为了操作文件,而是使用里面的文件记录信息,操作信息,交互信息.如果不能上网,使用-help命令寻求帮助吧.
基本上vi有三种操作状态:命令模式(Command mode)、插入模式(Insert mode)和底线命令模式(Last line mode).
命令模式(Command mode):控制屏幕光标的移动,光标或字符的删除,移动复制某个区域段,可切换到其他模式下
插入模式(Insert mode):文字数据的输入,按ESC返回命令模式下
底线命令模式(Last line mode):储存文件或者离开编辑器,也可以设置编辑环境,例如:寻找字符串,设置行号
切入vi编辑器的操作如下:vi target     target是文件名称
切入后会进入命令模式,想要进行文字编辑必须切入插入模式,切入方法,按下:
i: 插入,从目前光标所在之处插入所输入的文字。

a: 增加,目前光标所在的下一个字开始输入文字。

o: 插入新的一行,从行首开始输入文字。

在输入操作完成之后,进入命令模式。如果有输入错误也要在命令模式下修改。

在Command mode下,可按冒号“:”键入入Last line mode,例如:

  :w filename (输入“w filename”,将文章存入指定的文件名filename)

  :wq (输入“wq”,因为进入之时已经指定文件名testfile,所以会写入testfile并离开vi)

  :q! (输入“q!”,强制离开并放弃编辑的文件)

  Command mode功能键列表

  在介绍command mode指令的时后,指令后面加上“常用”字眼的功能键,表示比较常用的vi指令,

  请读者您一定要学会、记住。

  (1)I、a、o切换进入Insert mode。[超级常用]

  (2)移动光标

  vi可以直接用键盘上的光标键来上下左右移动,但正规的vi是用小写英文字母

  h、j、k、l,分别控制光标左、下、上、右移一格。

  按Ctrl+B:屏幕往后移动一页。[常用]

  按Ctrl+F:屏幕往前移动一页。[常用]

  按Ctrl+U:屏幕往后移动半页。

  按Ctrl+D:屏幕往前移动半页。

  按 0 (数字零):移动文章的开头。[常用]

  按 G:移动到文章的最后。[常用]

  按 w:光标跳到下个word的开头。[常用]

  按 e:光标跳到下个word的字尾。

  按 b:光标回到上个word的开头。

  按 $:移到光标所在行的行尾。[常用]

  按 ^:移到该行第一个非空白的字符。

  按 0:移到该行的开头位置。[常用]

  按 #:移到该行的第#个位置,例:51、121。[常用]

  (3)删除文字

  x:每按一次删除光标所在位置的后面一个字符。[超常用]

  #x:例如,6x 表删除光标所在位置的后面6个字符。[常用]

  X:大字的X,每按一次删除光标所在位置的前面一个字符。

  #X:例如,20X 表删除光标所在位置的前面20个字符。

  dd:删除光标所在行。[超常用]

  #dd:例如,6dd表删除从光标所在的该行往下数6行之文字。[常用]

  (4)复制

  yw:将光标所在处到字尾的字符复制到缓冲区中。

  (想在和#x、#X的功能相反)

  p:将缓冲区内的字符粘贴到光标所在位置(指令‘yw’与‘p必须搭配使用)。

  yy:复制光标所在行。[超常用]

  p:复制单行到您想粘贴之处。(指令‘yy’与‘p’必须搭配使用)

  #yy:如:6yy表示拷贝从光标所在的该行往下数6行之文字。[常用]

  p:复制多行到您想粘贴之处。(指令‘#yy’与‘p’必须搭配使用)

  “ayy:将复制行放入buffer a, vi提供buffer功能,可将常用的数据存在buffer

  “ap:将放在buffer a的数据粘贴。

  “b3yy:将三行数据存入buffer b。

  “b3p:将存在buffer b的资料粘贴

  (5)取代

  r: 取代光标所在处的字符:[常用]

  R:取代字符直到按Esc为止。

  (6)复原(undo)上一个指令

  u:假如您误操作一个指令,可以马上按u,回复到上一个操作。[超常用]

  .: .可以重复执行上一次的指令。

  (7)更改

  cw:更改光标所在处的字到字尾$处。

  c#w:例如,c3w代表更改3个字。

  (8)跳至指定行

  Ctrl+G:列出光标所在行的行号。

  #G:例如,15G,表示移动光标至文章的第15行行首。[常用]

  Last line mode下指令简介

  读者您要使用Last line mode之前,请记得先按Esc键确定您已经处于Command mode下后,再按冒号“:”或“/”或“?”

  三键的其中一键进入Last line mode。

  1.列出行号

  set nu: 输入“set nu”后,会在文章的每一行前面列出行号。

  2.跳到文章的某一行

  #:井号代表一个数字,在Last line mode提示符号“:”前输入数字,再按Enter就会跳到该行了,

  如:15[Enter]就会跳到文章的第15行。[常用]

  3.寻找字符串

  /关键字:先按/,再输入您想寻找的字,如果第一次找的关键字不是您相尽可能的,可以一直按n会往下寻找到您要的关键字为止。

  ?关键字:先按?,再输入您想寻找的字,如果第一次找的关键字不是您想要的,可以按n会往前寻找到您要的关键字为止。

  4.取代字符串

  1,$s/string/replae/g:在last line mode输入“1,$s/string/replace/g”会将全文的string字符串取代为replace字符串,

  其中1,$s就是指搜寻区间为文章从头至尾的意思,g则是表示全部取代不必确认。

  %s/string/replace/c:同样会将全文的string字符串取代为replace字符串,和上面指令不同的地方是,%s和1,$s是相同的功能,

  c则是表示要替代之前必须再次确认是否取代。

  1,20s/string/replace/g:将1至20行间的string替代为relpace字符串。

  5.存文件

  w:在last line mode提示符号“:”前按w即可将文件存起来。[超常用]

  #,# w filename:如果您想摘取文章的某一段,存成另一个文件,可用这个指令#代表行号,例如30,50 w nice,

  将您正在编辑文章的第30~50行存成nice这个文件。

  6.离开

  q:按q就离开,有时如果无法离开vi,可搭配“!:强置离开vi,如“q!”

  qw:一般建议离开时,搭配w一起使用,如此离开时还可存文件









原创粉丝点击