入门命令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 确认
欢迎加入作者的小圈子
扫描下方左边二维码加入QQ交流群,扫描下方右边二维码关注个人微信公众号并,获取更多隐藏干货,QQ交流群:859800032 微信公众号:Crystal软件学堂
作者:Liu_Jing bilibili视频教程地址:https://space.bilibili.com/5782182 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在转载文章页面给出原文连接。 如果你觉得文章对你有所帮助,烦请点个推荐,你的支持是我更文的动力。 文中若有错误,请您务必指出,感谢给予我建议并让我提高的你。 |