linux基础操作
一、软件介绍
1.VMware
虚拟机软件,是在windows系统上运行的软件,
功能是虚拟一套硬件平台,可以在上面安装我们想使用的系统。
2.Ubuntu
linux的发行版本,是一个系统。
3.有道云笔记
老师上课记笔记的软件,白天上课的时候通过网页查看即可
也可以自己下载一个客户端,注意:每天上完课之后再去把笔记同步到自己的客户端即可
4.VNC
局域网同步老师屏幕的软件
5.Notepad++
就是一个类似于记事本的软件,是用来阅读代码的 可以设置语法高亮
6.向日葵
是用来远程控制解决问题的
二、打开Ubuntu
1.选择合适的虚拟机,点击开启此虚拟机
2.选择用户 登录 密码是 1
3.看到下面的界面,表示开机成功了
4.不使用虚拟机时,不用点击关机,直接点击挂机就可以 相当于虚拟机休眠
下次启动会快一些。
5.下次使用时,直接点击继续运行此虚拟机就能恢复到上次挂起时的状态了
三、Ubuntu的基本使用
虽然我们的Ubuntu是带有图形化界面的,但是实际到企业中做开发的时候,大部分场景都是通过终端软件连接公司的服务器主机进行操作,终端软件是没有图形化界面的。
而且嵌入式设备一般资源都比较有限,移植一个图形化界面到硬件设备上是不现实的。
所以我们一般都是通过命令来操作linux系统。
3.1 打开终端的方式
1.点击左侧的终端图标打开
2.使用快捷键 ctrl alt t
3.在同一窗口使用 ctrl shift t 左右分屏打开多个同路径终端
4.打开一个同路径的新终端窗口 ctrl shift n
调整终端字体大小
放大:ctrl shift +
缩小:ctrl -
linux中复制粘贴
复制 ctrl shift c
粘贴 ctrl shift v
3.2 命令行提示符
linux@hqyj:~$
linux 当前使用的用户
@ 分隔符
-
hqyj 主机名
-
分隔符
-
当前所在的路径 ~表示用户的家目录
$ 用户的权限 $ 普通用户 # 管理员用户(root用户)
普通用户只能操作部分权限,而root用户拥有系统中所有的权限
普通用户想使用管理员身份运行命令 可以在命令前 加 sudo 需要 sudo 密码
我们的系统中 sudo 密码是 1
注意:命令行提示符提示的信息是可以修改的,并不是所有的系统命令行提示符都长这样。
等后面学习了 环境变量 相关的知识,可以通过修改环境变量 PS1 来控制显示的内容
3.3 linux文件系统结构
linux下一切皆文件。
linux的文件系统是一个树形结构
linux文件的路径 使用 / 分隔
打开终端是默认当前路径是该用户的家目录
绝对路径和相对路径:
绝对路径:相对于根目录的路径
相对路径:相对于当前所在路径的路径
3.4 linux常用命令
3.4.1 linux系统命令的格式
命令 选项 参数
注意,不是所有命令都有选项和参数,命令不同 选项和参数也不同。
命令和选项之间 选项和参数之间 都要有空格。
命令中所有涉及文件的操作使用绝对路径和相对路径都可以,
什么都不加的时候 默认是在当前所在路径下匹配
3.4.2 ls命令
ls 列出当前路径下的所有文件
ls 路径名 列出指定路径下的所有文件
ls -l 列出当前路径下的所有文件,包括文件的详细信息
文件详细信息说明:
-rw-rw-r-- 1 linux linux 1231 5月 23 16:42 client.c
从左到右: 文件的类型 文件的权限 文件的硬链接个数 文件的所属用户 文件的所属组 文件的大小 文件的时间戳 文件名
- 文件的类型 bsp-lcd
b 块设备文件
s 套接字文件
p 管道文件
- 普通文件
l (小写的L)链接文件
c 字符设备文件
d 目录文件
rwxrw-r-- 文件的权限 对应三组权限 文件的所属用户 所属组 其他人 权限
r 读权限
w 写权限
x 执行权限
1 文件的硬链接个数
linux 文件的所属用户
linux 文件的所属组
1231 文件的大小 单位是 字节
5月 23 16:42 文件的时间戳 文件最后一次被修改的时间
client.c 文件名
ls -a 列出当前路径下的所有文件,包括隐藏文件
linux中隐藏文件都是以 . 开头的
ls -lh 列出当前路径下的所有文件,包括文件的详细信息
且文件的大小以 K M G 等形式显示
单位的换算:
1Byte = 8bit
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
3.4.3 cd 命令
cd 目录名 进入指定的目录(可以是绝对路径 也可以是相对路径)
cd . 进入当前路径 --相当于没动
cd … 进入上一级目录
cd ~ 进入用户的家目录 也可以直接 cd 回车
cd / 进入根目录
cd - 进入上一次所在的目录
cd …/…/ 进入上一级的上一级目录 (可以连续使用)
3.4.4 whoami 名字
显示当前使用的用户
3.4.5 pwd 命令
显示当前所在的绝对路径
注意:执行命令前(尤其是敏感操作),
一定要确定使用的用户和所在的路径都没问题,再操作。
3.4.6 mkdir 命令
mkdir dir1 在当前路径下创建一个目录文件 名为dir1
mkdir ~/dir2 在当前用户的家目录下创建一个目录文件 名为 dir2
mkdir /home/linux/dir3 在/home/linux 创建一个目录文件 名为 dir3
mkdir …/dir4 在上一级路径下创建一个目录文件 名为 dir4
mkdir dir1 dir2 dir3 在当前路径下 并列的创建三个目录文件 分别名为 dir1 dir2 dir3
mkdir -p dir1/dir2/dir3 在当前路径下 嵌套创建三个目录文件
也就是说dir1里面有dir2 dir2里面有dir3
3.4.7 rmdir 命令
rmdir 目录文件名 删除目录文件(注意:这个命令只能删除空目录)
3.4.8 touch 命令
touch file 如果文件file存在,表示更新文件的时间戳
如果文件file不存在,表示在当前路径新建普通文件 名为file
3.4.9 rm 命令
rm file 删除当前路径下名为file的文件
rm -r dir 如果要删除的是目录文件,需要加选项 -r ,这种方式可以删除非空的目录文件
rm -f file 删除文件file (文件内有内容)忽略错误信息 强制删除
rm -rf 文件名 常用的用法
3.4.10 cp 命令
cp file1 file2 如果file2不存在 将文件file1复制一份儿取名为file2
如果file2存在,表示将file1复制一份儿取名为file2 会覆盖原来的file2
cp file1 dir1 将文件file1复制一份儿放到目录dir1里面
cp -r dir1 dir2 如果目录dir2不存在,表示将目录dir1复制一份儿取名为dir2
如果目录dir2存在,表示将目录dir1复制一份儿放到dir2里面
3.4.11 mv 命令
mv file1 file2 如果file2不存在,表示将文件file1重命名为file2
如果file2存在,表示将文件file1重命名为file2,覆盖原来的file2
mv file1 dir1 将file1移动到dir1中
mv dir1 dir2 如果dir2不存在,表示将dir1重命名为dir2
如果dir2存在,表示将dir1移动到dir2里面
mv ~/file1 …/ 可以使用路径进行文件和目录的移动
3.4.12 其他常用命令
cat 命令
cat 文件名 查看文件的内容
cat -n 文件名 带行号查看文件内容
clear 命令
清屏 使用快捷键 ctrl + l(小写的L)
exit 命令
如果涉及到用户切换,表示退回到上一次的用户
如果本来就已经是最初的用户了,exit表示关闭终端
su 用户名 切换用户
tab 键补齐
既可以补全文件名 也可以补全命令
补齐的规则:如果能确定唯一的内容,按一下tab键就可以补全
如果不能确定唯一的内容 按两下tab键 会提示可以补全哪些内容,
然后,再给定一些关键信息,按tab键就可以补全了
linux 的命令有很多,我们先暂时学这么多常用的,其他的常用命令linux系统和C高级课程再学。
练习:
1.在用户的家目录下创建 目录文件 dir1 和 普通文件file1
2.在家目录下给dir1目录嵌套创建 dir1/dir2/dir3/dir4/dir5
3.在家目录下直接一步进入到 dir4 里面
4.在dir4目录中将家目录下的file1 移动到上一级的dir3中
5.在dir4目录下创建一个目录文件 test
6.将test 复制到上一级的dir3中
7.在dir4中直接查看dir3中有哪些文件
8.在dir4中直接回到家目录 删除刚才创建的目录 dir1
cd ~
mkdir dir1
touch file1
mkdir -p dir1/dir2/dir3/dir4/dir5
cd ./dir1/dir2/dir3/dir4
mv ~/file1 ../
mkdir test
cp -r test ../
ls ../
cd ~
rm -r dir1
四、vi编辑器
是一个文本编辑器,相当于windows中的 记事本 nodepad++ 等
说白了就是用来写代码的。
vi 是 vim 早期的版本,在我们的系统中 vi 和 vim 是一样的。
type命令用来显示指定命令的类型
可见vi和vim本质上是一致的,都是一个文件(vim.basic)衍生出去的
4.1 打开vi编辑器
vi 文件名 将文件在vi编辑器中打开(存在直接打开 不存在 则新建并打开)
4.2 vi编辑器的三种模式
vi编辑器几种工作模式:
4.2.1 命令行模式
打开一个文件,默认的就是在命令行模式。
命令行一般是用来复制粘贴等操作的。
其他模式回到命令行模式 按 Esc 键
4.2.2 插入模式
插入模式是用来编辑文本的,也就是写代码的。
进入插入模式的方式:
在命令行模式下,按:
i 在光标所在位置前面开始插入
I (大写的i)在光标所在行的行首开始插入
a 在光标所在位置后面开始插入
A 在光标所在行的行尾开始插入
o 在光标所在行下面新起一行开始插入
O 在光标所在行上面新起一行开始插入
4.2.3 底行模式
底行模式是一般是用来做保存退出等操作的。
在命令行模式下按 冒号 : 进入底行模式
:wq 保存并退出
4.3 命令行模式常用的命令
hjkl 方向键 h 左 j 下 k 上 l 右
yy 复制光标所在行
nyy 复制从光标所在行开始的n行 n是一个数字
p 在光标所在行下面开始粘贴
P 在光标所在行上面开始粘贴
dd 剪切光标所在行
ndd 剪切从光标所在行开始的n行 n是一个数字
gg 将光标定位到第一行
G 将光标定位到最后一行
ngg 将光标定位到第n行 n是一个数字
/find 在全文件中查找单词find 回车之后 n 查找下一个 N 查找上一个
u 撤销
ctrl + r 反撤销 也就是重做
shift zz 保存退出 等价于 :wq
4.4 底行模式常用命令
:w 保存
:q 退出
:q! 不保存强制退出
:wq 保存并退出 使用 :x 也可以
:noh 取消查找的高亮显示
:set nu 显示行号 :set number 也可以
:set nonu 取消显示行号 :set nonumber 也可以
:%s/aa/bb/g 将全文的aa都替换成bb
:%s/aa/bb/gc 将全文的aa都替换成bb,会询问每一个是否替换 y 替换 n 不替换
:m,ns/aa/bb/g 将第m行到第n行的aa都替换成bb m和n是数字
:vsp 文件名 左右分屏打开多个文件进行编辑 ctrl ww 切换编辑窗口
:wqa 将所有打开的文件都保存退出
练习:
使用vi编辑器打开一个 以.c 结尾的文件,输入下面的内容 保存退出
#include <stdio.h>
int main(int argc, const char *argv[]){
printf("hello world\n");
return 0;
}
练习:
使用vi编辑器打开一个 以.c 结尾的文件,输入下面的内容 保存退出
#include <stdio.h>
int main(int argc, const char *argv[]){
printf("hello world\n");
return 0;
}