目录
前言
一、Linux是什么?
二、Linux基本操作
1.常用快捷键
2.常用命令
2.1终端下
2.2编辑器
总结
本文针对的是在VMware安装Ubuntu 20.04虚拟机下进行的linux操作,前提就是大家都得安装并让自己的虚拟机跑起来,这里对于VMware和Ubuntu的安装就不进行介绍,网上有很多安装教程,大家自行解决哈哈哈哈.....另外就是本文只作为笔记分享,希望有错误大家可以指正分享,一起进步,十分感谢。接下来我们就进入正题
linux是一个可以进行多用户多进程开发的操作系统,支持包括X86、ARM在内的多种体系结构。对于嵌入式开发而言,linux开源、稳定、具有很高的移植性等等的一些特点,都对我们的嵌入式开发有着巨大的帮助,无疑是当下进行嵌入式开发最好的系统。
crl+alt+t:打开终端窗口(默认打开家目录下的终端)
crl+shift+n:打开当前文件夹下 的终端
Tab/按三次Esc:补全目录或命令
crl+shift+c/v:复制粘贴
↑:显示上一次的操作指令(终端窗口下)
crl + l :清屏
crl + ←:回到操作命令的首位
crl + →:回到操作命令的末尾
快捷键还有许多,我这里就不全部列举了,大家有兴趣的可自行百度,目前我常用的就这几个。
su:切换管理员
sudo:进入root权限(主要用到修改一些linux的配置文件,修改系统设置等)
clear:清屏
pwd:打印当前位置的绝对路径(就是你现在的位置与根目录的路径)
mkdir + 文件夹名称:以该名称新建文件夹
ls:列出当前路径下的所有的文件级文件夹
ls -a:列出所有文件,包括隐藏文件(隐藏文件是以.开头)
ls -l:列出所有文件或文件夹的详细信息
qc@qc-virtual-machine:/$ ls -l
total 1435352
lrwxrwxrwx 1 root root 7 5月 14 23:03 bin -> usr/bin
drwxr-xr-x 4 root root 4096 5月 15 10:08 boot
drwxrwxr-x 2 root root 4096 5月 14 23:06 cdrom
drwxr-xr-x 20 root root 4160 5月 23 08:33 dev
drwxr-xr-x 130 root root 12288 5月 23 09:17 etc
drwxr-xr-x 3 root root 4096 5月 14 23:16 home
lrwxrwxrwx 1 root root 7 5月 14 23:03 lib -> usr/lib
lrwxrwxrwx 1 root root 9 5月 14 23:03 lib32 -> usr/lib32
lrwxrwxrwx 1 root root 9 5月 14 23:03 lib64 -> usr/lib64
lrwxrwxrwx 1 root root 10 5月 14 23:03 libx32 -> usr/libx32
......
(主要用于查看是什么样的文件,例如以d开头的就是目录文件,l开头的就是链接文件,-开头的是普通文件,p开头的是管道文件,b开头的是块设备文件,c开头的是字符设备文件,s开头的是套接字文件;后面的数字代表的是链接数,然后就是组用户权限,最后就是文件的大小,日期这些东西)
cd + 路径名:跳转到该目录下
cd .. :返回上一级目录
cd . :返回当前目录
cd ~:跳转到家目录下
cd /:跳转到根目录(~表示家目录,/表示根目录)
rmdir + 文件夹名称/路径:删除空文件夹(文件夹里面有东西不能删除)
rm -r +文件夹名称:删除文件夹(空文件和非空文件都可以)
touch + 文件名称:创建文件(这个文件不是文件夹,是一些有后缀的文件,例如.c、.text文件)
cat + 文件名:查看文件内并在终端打印出来
rm + 文件名:删除文件(用rm -r也是可以的)
cp 文件名 ./文件夹名:将该文件拷贝到当前目录下的文件夹里面去
cp 文件名 ./文件夹名/新的文件名:将该文件拷贝到当前目录下的文件夹里面去并重新命名为一个新的文件(将文件名或文件夹名换成路径也是一样的)
cp test1.c ./test //将test1.c复制到当前路径下的test文件夹里面去
cp test1.c ./test./test2.c //将test1.c复制到当前路径下的test文件夹里面去,并命名为test2.c
mv :它是移动文件夹,相当于剪切,用法跟cp一样
gcc + 需要编译的文件名(要带后缀):编译文件,默认生成a.out的可以执行文件
gcc + 需要编译的文件名 -o + 新文件名:编译文件,并生成一个以新文件名命名的可执行文件。(大多是情况下都是用这个编译,以免多次编译不去重新命名而默认生成的a.out会把上一次默认生成的a.out可执行文件覆盖)
这里分享一下gcc编译进行的四个阶段:
1.预处理(展开头文件、宏替换、去掉注释、条件编译等),生成以.i结尾的文件
gcc -E test1.c -o test1.i
2.编译:检查语法,生成汇编,生成以.s结尾的文件
gcc -S test1.c -o test1.s
3.汇编:将上一步的汇编代码转换成机器码,生成以.o结尾的文件
gcc -c test1.c -o test1.o
4. 链接:将上面的文件链接在一起,默认生成一个可执行文件a.out
(这里主要说的是vim编辑器,vi编辑器也都差不多,gedit编辑器未使用过,所以不太清楚)
vim + 文件名:存在则打开文件,不存在就创建
u:撤销上次操作(注意需要在命令模式下使用,否则变成了输入u)
crl + r:恢复撤销
(1)命令行模式
yy:复制光标所在一行
nyy:复制n行
p:粘贴到光标的下一行
dd:剪切光标所在一行
ndd:剪切n行
u:撤销
gg=G:全文对其
v:进入可视操作
方向键选中代码,可实现对应代码的剪切、复制、对其操作(=)
ZZ:保存并退出
(2)插入模式(从命令行模式进入插入模式)
i :在光标当前位置的前面插入
o:在光标当前位置的下一行插入
a:在光标当前位置的后面插入
esc:从插入模式进入到命令行模式
ctrl+n:关键字补全
(3)底行模式(shift +;:从命令行模式进入底行模式)
w:保存
q:退出
wq:保存并退出
x:保存并退出
q!:强制性保存
wq!强制性保存并退出
:n(数字) 跳转到n行
:/+内容 查找内容(从光标位置开始向下查找)
vsp:横向展开一个文件
n(数字):光标跳转到第n行
/:查找
s/str1/str2/:光标所在行的第一个str1替换成str2
s/str1/str2/g:光标所在行所有的str1替换成str2
%s/旧字符串/新字符串:替换全文的每行的第一个旧字符串为新字符串
%s/旧字符串/新字符串/g:替换全文的所有的旧字符串为新字符串
这里给大家分享下,怎么在vim编辑器里显示行号和代码的自动缩进,方便我们编辑的时候看代码
暂时性显示行号,就在底行模式下输入set number然后保存,进入插入模式就可以了
永久性显示行号和代码缩进:
1.在你的终端下家目录下,输入sudo vim /etc/vim/vimrc(这里是使用管理员权限进入到我们的vim配置文件里面去,方便我们下一步操作,如果不是使用管理员权限进入可能会报错,不让我们修改)
qc@qc-virtual-machine:~$ sudo vim /etc/vim/vimrc
2.按下“i”进入插入模式,在最下面输入下面几段代码:
3.最后按esc返回到命令行模式,然后shift + “:”进入底行模式,输入wq(保存并退出)回车即可。
本文涵盖linux常用命令和基本操作,介绍了vim编辑器的基本使用和修改配置文件,文章中没有提到的、或者说有错误的希望大家可以指正,一起分享学习。