在vim的命令模式下
yy:复制当前(光标所在)行
nyy:复制从光标开始的n行
dd:剪贴当前(光标所在)行
ndd:剪贴从光标开始的n行
p:粘贴
x:删除光标所在位置后面的一个字符
X:删除光标所在位置前面面的一个字符
nx:删除光标所在位置后面的n个字符
nX:删除光标所在位置前面面的n个字符
G:跳转到最后一行
gg:跳转到第一行
ngg:跳转到第n行
gf:把光标放在头文件所在行时可以进入该库查看内容
u:撤销
ctrl+r:恢复
:set no :设置行号
:set nonu :取消行号
:set ai :自动缩进(设置完后要先按一个tab键后面的才会跟着上一行缩进)
:ctrl+p :代码自动补齐
:%s/ 旧的字符串/新的字符串 :默认替换每一行第一个旧的字符串
:%s/ 旧的字符串/新的字符串 /g :替换所以旧字符串
:n,ms/ 旧的字符串/新的字符串 :替换n~m行第一个旧字符串
:n,ms/g 旧的字符串/新的字符串 :替换n~m行所有的旧字符串
/+关键词 :从光标开始从前往后去查找关键词 ,回车后按n可以不断的找
?+关键词 :从光标开始从前往后去查找关键词 ,回车后按n可以不断的找
配置vim的文件路径
路径一:指定用户的路径: /home/用 户名/.vimrc
路径二:所有用户:/etc/vim/vimrc
配置好后保存,退出终端,重新进入生效
绝对路径:由盘符组成的路径。
相对路径:没有盘符组成的路径。
linus里各个目录
bin目录:普通用户存放shell命令。
dev目录:设备驱动文件。
GEC6818开发板:输入设备(触摸屏)、输出设备(LCD屏幕)
proc目录:系统信息
sbin目录:超级用户存放的shell命令
sys目录:驱动信息
var目录:系统日志
boot目录:系统启动文件
etc目录:配置文件。(vim编辑器的配置/etc/vim/vimrc)
lib目录:共享库、C库……等库
mnt目录:挂在目录。(U盘)
root目录:管理员的工作目录
tmp目录:临时文件
cdrom目录:光驱目录
home目录:普通用户的主目录
usr目录:用户的程序文件
ls命令
ls 以列表的形式显示文件的信息
ls -la //以详细列表的形式显示所有的文件、隐藏文件
Linux系统中所有的隐藏文件均以小数点开头
其中.和…需要注意:
.(表示当前路径)
…(表示上一级路径)
ls -l //以详细列表的形式显示所有的文件
第一个字符:-(文件的类型为常规文件)
d(目录)
c(字符设备)
b(块设备)
s(套接字)//网络编程
l(软链接。类似于windows的快捷方式)
p(管道文件)//系统编程
从第二个字符开始到空格为止,表示不用用户操作该文件的权限
r表示读权限;w表示写权限;-:无权限;x表示执行权限
rwx
rw-r–r--
rw-:用户所有者权限。(gec)
r–:用户所属组的权限。(gec 张三)
r–:其他用户的权限。
临时切换超级用户
sudo -s
切换回普通用户:
exit
剪切/重命名文件/目录
剪切
mv 文件名 目标的路径
例如:将1.txt文件剪切到111目录中
重命名
mv 1.txt hello.txt (将1.txt重命名为hello.txt)
修改权限
chmod 777 文件名
chmod 777 目录名称 -R(递归修改文件夹的权限
)
7 表示二进制111 (分别代表读、写、执行权限)
软硬链接
软链接:ln -s 原来的名字 软链接的名字类似于windows系统的快捷方式
硬链接:ln 原来的名字 硬链接的名字
软硬链接的共同点:
原文件修改了,软硬链接会同步修改,软硬链接文件修改了,原文件也会跟着修改。
注意:
软硬链接只能在系统内部使用,不能在共享文件夹中创建。
区别:
软链接依赖于原文件,硬链接不需要
硬链接的文件与原文件一致,软链接属于链接文件
硬链接不能使用目录文件去创建
打包和压缩
linux系统中常见.bz2和.gz结尾。
打包文件/文件夹
.bz2
tar -jcf xxx.tar.bz2 文件名1 文件名2 ……
例如:
tar -jcf hello.tar.bz2 ./hello*
.gz
tar -zcf xxx.tar.gz 文件名1 文件名2 ……
例如:
tar -zcf hello.tar.gz ./hello*
查看压缩包中的内容:
tar -tf 压缩包的名字
解压:
tar -jxf hello.tar.bz2 //默认解压到当前路径
tar -zxf hello.tar.gz //默认解压到当前路径
解压指定路径:
tar -jxf hello.tar.bz2 -C 指定的路径
tar -zxf hello.tar.gz -C 指定的路径
搜索相关的命令
find
搜索stdio.h在系统的那个位置?
find / -name stdio.h //从根盘符开始搜索stdio.h文件
grep
例如:
grep “printf” stdio.h -Hn
//在stdio.h文件中搜索关键字printf,并答应printf出现的行号
-H 打印文件的名字
-n 打印关键字出现的行号