入门命令2

文件的操作:

touch:新建文件

  touch  文件名

举例:

touch  file1 在当前目录新建名为file1的文件

注意:

1)同一目录无法创建同名的文件

2)linux的文件名是区分大小写的,如file1和File1是不同文件。

  这一点跟windows不同。

mv(move的缩写):修改文件(目录)名、移动路径

  mv    旧文件名  新文件名          =====>修改文件名

  如:mv   file1   filea将当前目录的文件file1改名为filea

  mv    旧目录名  新目录名          =====>修改目录名

  如:mv   dir1    dira将当前目录下的子目录 dir1 改名为 dira

  mv   文件名  目录名          =====>移动路径

  如:mv   filea    dira将当前目录下的文件 filea 移动到 dira 子目录

  如:mv   filea    ~    将当前目录下的文件 filea 移动家目录

  如:mv   ~ /filea    ..   将家目录下的文件 filea 移动上一个路径

cp(copy的缩写):复制文件(目录)

1)cp    源文件名     目标文件名

  举例:

  cp  File1    file2  将当前目录下的File1拷贝到 file2

2)cp     源文件名    目标目录名

  举例:

  cp    file2   dira/   将当前目录下的文件  file2拷贝到 dira 子目录

3)cp     源目录名    目标目录名

  举例:

  cp   -r    dira    dirb    复制 dira 目录下的所有内容到dirb

  其中,-r 参数是递归复制

  cp   -i   file2     dira   如果dira 目录下有同名的file2,加入 -i  参数就会要求你确认是否覆盖同名文件。

注意:  cp 的常用参数有: -i  、  -r  、-f   、-d 等,在后面讲解了linux权限后,再做深入的学习cp。

rm(remove的缩写):删除文件(目录)

  rm    【选项】  【文件名  |   目录名】 

常用选项:

  -i   (interactive(交互)的缩写),删除文件(目录)之前,要求你确认是否同意删除

  -r(recursive(递归)的缩写),递归删除指定目录下的子目录和文件

  -f(force(强制)的缩写),强制删除

举例:

  rm File1    删除当前目录下的文件File1

  rm    -i    file2    删除当前目录下的文件file2,删除前,要求你确认是否同意删除;其中y表示同意删除,n表示取消删除

  rm   -r     dira  删除目录dira

  rm   -ir     dirb       删除目录dirb,删除前要求你确认是否同意删除;其中y表示同意删除,n表示取消删除

注意:

1)删除文件(目录)前,确定改文件(目录)是否可以被删除。

2)  rm 的常用参数有: -i  、  -r  、-f 等,在后面讲解了linux权限后,再做深入的学习rm。

文件的查看和编辑

1)cat    查看文件内容

    cat   文件名

举例:

  cat     file1        将file1的内容打印到标准输出中(默认标准输出指向终端)

  cat   file1 file2        将file1和file2的内容串联并依次全部打印到标准输出中

  cat     -n      file1          显示内容并在内容前显示行号。

类似的查看命令:more、less、head、tail等后面讲解

2)gedit图形应用程序的编辑器

3)vi  编辑器(后面)

清屏:

clear:刷新屏幕,保留历史命令操作记录

说明:此命令本质上只是让终端向后翻一页,

当向上滚动鼠标时,还是可以看到之前命令的操作记录

reset:重新初始化屏幕,清除历史命令操作记录

man、info、--help

1)man使用最多

ls   常用选项为   -l、-a、-h

可以通过 man    ls  来查看这些选项的含义。

举例:

  man     man    查看man手册的说明

  man  ls           当没有指定使用那一页,默认使用第1页

  man      1   ls

  man      1   gcc     gcc是一个应用程序,在linux中一般使用gcc编译器来编译 c/c++ 语言的程序

  open / write / read / close 等等都是系统调用 

  man      2    open     查看系统调用open的man手册说明

注意:

  man手册的9册内容的侧重点,最好记一下

2)info

 如: info   ls

3)--help

 如:ls    --help

vi编辑器的使用

一个编辑器具备的功能

1)打开文件、新建文件、保存文件

2)光标移动

3)文件编辑

4)(多行 | 多列间)复制、粘贴、删除

5)查找和替换

vi编辑器的配置

cd     /etc/vim

cp   vimrc    ~/.vimrc

cd    ~

gedit    .vimrc

在 .vimrc中加入如下内容:

"关闭兼容功能
set nocompatible
"显示行号
set number
"编辑时 backspace 键设置为2个空格
set backspace=2
"编辑时 tab 键设置为4个空格
set tabstop=4
"设置自动对齐为4个空格
set shiftwidth=4
"搜索时不区分大小写
set ignorecase
"搜索时高亮显示
set hlsearch

vi  编辑器有三种模式

1)一般模式(光标移动、复制、粘贴、删除)

2)编辑模式(编辑文本)

3)命令行模式(查找和替换)

注意:

1)当不知道处于何种模式时,按ESC键返回到一般模式。

2)wq(write  quit)

3)i(insert)

 1. 打开文件、新建文件、保存文件

  vi    文件名

  如果文件存在,输入结束后,:wq 保存并退出文件

  如果文件不存在,输入结束后,:wq 就可以新建并保存文件

在编辑完成时,返回一般模式,

1)输入 : w 则保存文件,如果已经保存文件,输入 : q 则退出文件

2)直接输入 : wq  保存并退出

3)如果不想保存被修改的内容 ,则 : q!  强制退出。

2.  进入编辑模式

i (在光标前开始插入文本)

a (在光标后插入文本)

o (在当前行之下新开一行,并到行首)

3.  光标移动

在一般模式下,hjkl 这四个按键就可以移动光标

h (左)

j (下)

k (上)

l (右)

快速的定位到某一行:

文件头、文件尾、指定某一行

ngg光标移至第 n 行的行首 (n为数字),

  如 1gg 就跳到第一行的行首,就是文件头

  如 2gg 就跳到第二行的行首

G 移至文件结尾

注意:  ngg 和 G 是在一般模式

在某一行如何快速定位到某一列

0 (数字零)光标移至当前行行首

$ 光标移至当前行行末

fx 搜索当前行中下一个出现字母 x 的地方

注意:  0、$、fx 是在一般模式

vi 的难点

1)vi 操作之前,先判断一下当前是哪一种模式,再看光标所在位置。

当你不知道处于何种模式时,使用ESC键返回到一般模式。

再去看光标,难点就在于移动光标,可以做到快速移动光标到某一行某一列

 4.  文本复制、粘贴、删除、撤销

yy 复制当前行(y:yank(复制))   copy   c    c:change

nyy 复制当前行及其后的 n-1 行(n 是数字)

使用 p 键来粘贴(p:paste)

dd     删除光标所在行 (d: delete)

ndd   删除当前行及其后的 n-1 行(n 是数字)

按 u  键来撤销上一步操作

x 删除光标所在位置的字符

注意: yy / nyy / dd/ ndd/ x / u  都是在一般模式。

 

第一步:当前处于什么模式,用ESC键返回到一般模式

第二步:看光标所在位置

1) 复制第一行的内容到最后一行之后,然后撤销。

1gg  、yy  、G 、 p  、 u

1gg 切换到第一行,yy 复制第一行, G 切换到最后一行, p 粘贴, u 撤销

2)复制第一行的内容到最后一行之前,然后撤销。

1gg 、yy  、G 、k 、 p 、u

1gg 切换到第一行,yy 复制第一行, G 切换到最后一行,k 上移一行 , p 粘贴, u 撤销

3)复制第二行到第四行的内容到最后一行之后。

2gg  、3yy 、 G 、p

4)删除最后一行,再删除最后两行。

G 、dd 、k  、2dd

5)到第一行末尾加入字符串ab,然后删除字母b。

1gg 、$  、 i、方向右键 、ab 、esc 、x 

或 1gg 、$  、a、 ab 、esc 、x 

 5.  查找和替换

/pattern  从光标开始处向文件尾搜索pattern,后按下n 或N

注意:

n 在同一个方向重复上一次搜素命令

N 在反方向重复上一次搜素命令

 n(N)来源于next

注意:

在 /pattern 之前先跳到第一行则进行全文件搜索

:%s /p1 /p2 /g 将文件中所有的p1 均用 p2替换

:%s /p1 /p2 /gc 将文件中所有的p1 均用 p2替换,替换时需要确认

s: substitute 替换

g :global 全局

c:confirm 确认

  

原文地址:https://www.cnblogs.com/Liu-Jing/p/8118805.html