day1 Ubuntu的基本使用、Linux的常用命令、vim的使用
使用的Ubuntu版本号为为Ubuntu18.04启动终端:ctrl+alt+t或快速启动栏启动终端查看操作系统版本:cat空格/etc/issuetab:自动补齐键,可以补齐命令或文件名(可写一部分命令或文件名 注意不可重复 然后按tab键补齐)键盘上下键,查看历史命令。
Ubuntu的基本使用
使用的Ubuntu版本号为为Ubuntu18.04
启动终端:ctrl+alt+t或快速启动栏启动
终端
- 字体放大:ctrl+shift++
- 字体缩小:ctrl+-
- 复制文本:ctrl+shift+c
- 粘贴文本:ctrl+shift+v
查看操作系统版本:cat空格/etc/issue
tab:自动补齐键,可以补齐命令或文件名(可写一部分命令或文件名 注意不可重复 然后按tab键补齐)
键盘上下键,查看历史命令
Linux的常用shell命令
| linux@ubuntu:~$ 用户名 @ 主机名: |
命令提示符 |
| ~ | 会发生变化,表示的一个目录。 ~(家目录) |
| $ 表示当前用户是 普通用户 | #表示当前用户是系统管理员 |
命令的中文手册
https://www.runoob.com/linux/linux-command-manual.htm
命令的格式
command空格[-options]空格arg1空格arg2空格arg3 ....
ls 查看当前目录(文件夹) 下的文件名
ls -a 查看当前目录(文件夹) 下的所有文件 ,包含隐藏文件(通常是.开头的文件,或目录)
ls -l 查看当前目录(文件夹) 下的文件 详细信息 ls -l == ll(别名,写法)
eg:
-rwxrwxr-x 1 linux linux 8472 6月 26 2025 a.out
drwxr-xr-x 2 linux linux 4096 10月 14 2021 Desktop
类型 用户权限 组用户 其他用户 硬连接数 文件或目录的创建者 组用户名
-普通文件 rwx rwx r-x 1 Linux Linux
d目录类型 rwx r-x r-x 2 Linux Linux
文件的最后修改时间
6月 26 2025 8472(文件大小 单位字节)
10月 14 2021 4096 (目录大小而非目录下所有文件大小e)
备注:
硬连接数 对于文件:文件的内容,有几个文件名关联
对于目录:目录下,有几个目录
rwx r可读,w可写,x可执行
d一对多, -一对一
(蓝色是目录名)
man 命令的帮助 manual 手册
man 命令名(查看完之后按Q退出)
man ls 查看ls命令的帮助,查看命令有那些选项。
(菜鸟教程 可以查看Linux命令的用途)
mkdir创建目录
创建目录 ,目录名为20260422
mkdir 20260422
rmdir创建目录
删除目录 目录名为20260422, 注意,目录必须为空,才可删除成功。
rmdir 20260422
cd 目录切换
cd 目录名 进入目录
eg:
cd / 进入根目录(最高目录)
cd=cd ~=cd /home/linux 进入家目录
cd .. 返回上一层目录(..代表上一层目录)
.当前目录 ..上层目录
cd .. 返回上一层目录(.. 代表上一层目录)
备注:
一直cd ..会返回到最高目录 /(根目录),根目录 只有只读权限 ,无法创建目录, 所有要回到家目录用户下创建目录 。如果在根目录 ,先cd home,再cd Linux 然后就可以创建文件了/直接cd/cd ~/cd /home/linux(~==/home/linux)

touch 创建一个空白文件
touch 123 ,创建一个空白文件 如果123文件存在,会更新时间戳。
rm 删除文件
rm 123 删除 123这个文件
rm -fr 目录名 强制删除目录,
-f 直接删除,不询问y/n
-r 删除目录
练习:
1创建3个文件夹 test1,test2,test3
2创建3个普通文件
test1/aaa
test2/bbb
test3/ccc
3.使用ls 查看,是否创建成功
4. 使用rm -fr 删除 test1 test2 test3
mkdir test1 test2 test3 三个目录可同时创建
linux@ubuntu:~/20260422$ ls
test1 test2 test3
使用相对路径, 相对于 20260422
linux@ubuntu:~/20260422$ touch test1/aaa
使用的绝对路径都是从 / (根目录,最高路径)
linux@ubuntu:~/20260422$ touch /home/linux/20260422/test2/bbb
linux@ubuntu:~/20260422$ touch /home/linux/20260422/test3/ccc
linux@ubuntu:~/20260422$ rm -fr test1 test2 test3 三个目录可同时删除
pwd 显示当前路径

文件的复制 cp
复制上层目录的1.c文件 到本层 并命名为1.c 。 需要注意的是,上层文件 1.c 必须存在
复制单个文件
cp 源文件(必须存在) 目标文件(如果不存在,创建;如果存在,覆盖)
linux@ubuntu:~/20260422$ cp ../1.c 1.c
复制目录
linux@ubuntu:~/20260422$ cp ../14klist/ . -av
把上一层目录名为14klist的所有文件,复制到 本层目录,目录名不变。
-av 专门复制目录时使用
mv移动文件,剪切文件
1把指定文件或目录,移动到 指定目录下。


2文件/目录改名字
把app 改为bpp 示例

cat查看文件的内容 文本文件
cat 1.txt 查看1.txt 文件的内容
vim 的使用
基于命令行文本编辑器, 主要用来编写 c代码的地方。
使用步骤:
1. vi 1.txt 或者 vim 1.txt
2. 按 i键 ,进入编辑状态 ,左下角的状态会有normal -> insert 。
3. 先按esc,:wq 。esc 是从编辑状态,回到命令状态。 :wq ,w 写入,q退出
vim 命令:
在命令模式下(左下角是normal)
yy 复制当前行
dd 删除/剪切当前行
p 粘贴
u ,回退上次操作 或 撤回上次操作
3yy 从当前行向下复制3行
5dd 从当前行向下删除5行
3p 粘贴3次
:3,10y 3到10行复制
:2,5d 2到5行的删除
:wq 保存退出
:q! 不保存退出
查找:
/ok 回车 ,被搜索的关键字 会高亮。
n ,向下查找 N 向上查找
光标操作:
gg 光标跳到文件开头
GG 光标跳到文件结尾
文件全部选择操作
gg 光标跳到文件开头
按下v键,进入visual,
按下 GG,完成文件的全部选中
=, 自动格式化代码,
:vs 1.c 开竖分屏 (ctrl+w+方向 光标切换窗口)
:sp 1.c 开横分屏
:wqa 保存退出,所有分屏
gcc 编译器
把c语言源文件 编译成可执行文件

编译源文件
gcc 1.c // 会生成一个可执行文件 ,名字 a.out
执行
./a.out 执行当前目录下的a.out文件。
在编译源文件的过程中,需要指定可执行程序的名字的话,需要使用 -o 选择
编译1.c 这个文件,并生成可执行文件 名为 app
gcc 1.c -o app
./app
gcc 编译的四个步骤
1. 预处理 gcc 1.c -E -o 1.i //文本文件
2. 编译 gcc 1.c -S -o 1.s //文本文件
3. 汇编 gcc 1.c -c -o 1.o // object ,目标文件,二进制,不可执行
4. 链接 gcc 1.c -o app
1预处理,在编译前,做一些准备工作。处理# 号开头的指令。
#include 把包含打开获得文件内容,粘贴在这个位置
#define PI 3.14 ,在代码中,只要有PI 的地方,使用3.14 替换
2编译, 把上一步处理好的文件,编译为汇编文件。
3汇编, 把汇编文件转换为 obj文件(目标文件),二进制 ,不可执行。
如果需要查看的话,使用命令

4链接,把需要使用的外部库函数(别人提供的功能函数),与a.out 内部,发生关联关系。
当a.out 运行起来后,直到在系统的那个位置,找到对应函数的实现。
代码在计算机是如何运行
1. 可执行程序(a.out)在计算机的外存(ssd =固态硬盘, flash=闪存)中存储
2. ./a.out ,计算机会把a.out 中的内容(代码+数据) 加载到内存(MEM)中
3. cpu 就会从内存中读出 代码+数据, 对数据进行相关操作

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)