物联网工程从零到入门Day2

#花钱学习第二天#

·没有闲话,纯记录

Linux 命令和 Vim 操作

1. Linux 常用命令

2. Linux 系统路径问题

2.1 根目录和家目录

2.2 相对路径和绝对路径【了解】

3. Linux 常用命令

3.1 cd change directory

3.2 ls 查看操作

3.3 touch 和 mkdir

3.4 cp 复制操作

3.5 mv 移动操作

3.6 rm 删除操作

3.7 chmod 修改文件或者文件夹权限【小难点】

3.7.1 权限标记和数值使用

3.7.2 chmod 操作

3.8 sudo 临时超级管理员权限【小难点】

3.9 其他命令

4. Vim 操作

4.1 Vim 概述

4.2 Vim 三种模式

4.3 编辑模式

4.4 命令模式

Linux 命令和 Vim 操作

1. Linux 常用命令

Linux 常用包括软件安装,软件删除,服务启动,相关配置,基本的文件操作...

图形化界面可以完成的任务,都可以利用命令完成,甚至于命令可以完成图形化界面无法完成的相关功能。在嵌入式开发中,主要学习的 Linux 相关命令包括文件操作,路径切换,相关文件信息读取。

2. Linux 系统路径问题
2.1 根目录和家目录

Linux 环境中不存在分盘情况,不同 Windows 操作系统可以利用不同的磁盘来管理文件内容,在 Linux 中采用的方式是一个磁盘,文件夹形式内容管理。

在 Linux 中最大的文件是根目录,对应的标识符为 /

家目录,对应的当前用户个人目录,在家目录中执行任何的操作对于操作系统和其他用户无关。对应的简称标识符为 ~,真实路径为 /home/用户名, 例如当前计算机中的家目录真实路径为 /home/qf

2.2 相对路径和绝对路径【了解】

相对路径

  • 定义:以当前工作目录为参照物,去往其他文件夹或文件的【捷径】

  • 生活化案例,我在隔壁办公室,我在实验室,我在前台

  • 在 Linux 中操作相对路径可能使用到两个特定的标记符号

    • . 当前工作目录,目前所在文件夹

    • .. 当前工作目录的上级目录

    • 例如 当前工作目录为 /home/qf/desktop/aaa

      • . 对应路径为 /home/qf/desktop/aaa

      • .. 对应路径为 /home/qf/desktop

绝对路径

  • 定义:以根目录为参照的路径,并且绝对路径具备【唯一性】

  • 生活化案例,河南省郑州市高新区莲花街55号教育产业科技园 D 座千锋教育

  • 在 Linux 中所有以 / 开头的路径都是【绝对路径】

在 Linux 中相对路径和绝对路径的区分关系就是依据路径开头是否为 /

3. Linux 常用命令
3.1 cd change directory

在终端中切换当前工作目录,可以根据【相对路径】和【绝对路径】去往目标文件夹。

tips:在桌面鼠标右键打开终端,默认的工作目录为【家目录】

qf@qf:~$ cd 桌面
qf@qf:~/桌面$ 
    # 可以看到在 $ 之前的路径提示发生改变
    # 在 Ubuntu 中路径提示为完整路径,操作路径在家目录下,使用 ~ 代替 /home/username
    # 如果操作的路径是绝对路径,会提供完整的绝对路径内容 /etc/samba/
​
qf@qf:~/桌面$ cd 123
    # 切换到当前工作目录桌面下的 123 文件夹
qf@qf:~/桌面/123$ cd ../ABC
    # 从 ~/桌面/123 切换到当前工作目录的上级目录中的 ABC 文件夹
qf@qf:~/桌面/ABC$ cd /etc/samba/tls/
    # 利用绝对路径进行路径切换,需要提供有效绝对路径。
qf@qf:/etc/samba/tls$ cd
    # 单一 cd 命令,可以在任何工作目录回到家目录。
qf@qf:~$ cd - 
    # 可以回到上一次操作的工作目录,从哪儿来回哪儿去。
qf@qf:/etc/samba/tls
3.2 ls 查看操作

查看指定目录下的文件和文件夹情况

qf@qf:~$ ls 
    # examples.desktop  公共的  模板  视频  图片  文档  下载  音乐  桌面
    # 可以查看当前工作目录下的文件和文件的名称,不同的文件类型有不同的颜色情况。
​
qf@qf:~$ ls -a
    # 查看当前工作目录下的所有文件和文件夹名称,包括隐藏文件和隐藏文件夹
    # 在 Linux 中,隐藏文件和隐藏文件夹,名称都是以 . 开头
​
qf@qf:~$ ls -l
    # 详情列表模式查看当前工作目录下的文件和文件夹的信息
    # 主要包括的信息内容有,文件类型,文件权限,文件归属关系,占用硬盘字节数,最后修改时间和文件名称
    
qf@qf:~$ ls -al
qf@qf:~$ ll
    # 详情列表模式查看当前工作目录下的所有文件和文件夹的信息,包括隐藏文件和隐藏文件夹。

【重点】文件详情内容解释

3.3 touch 和 mkdir

touch 创建普通文件

mkdir 创建文件夹

touch 命令案例

qf@qf:~/桌面/123$ touch 1.txt
    # 在当前工作目录下创建指定名称的文件,1 是文件名 .txt 是文件拓展名/文件类型名/后缀名
    # 在 Linux 中支持未指定文件类型的普通文件,大多数都是可视化文本文件
​
qf@qf:~/桌面/123$ touch 2.txt 3.txt 5.txt 1.c 2.c 3.c
    # 可以进行批量文件创建,不同的文件名称利用空格隔开

mkdir 命令案例

qf@qf:~/桌面/123$ mkdir a
    # 在当前工作目录下创建目标文件夹 a
qf@qf:~/桌面/123$ mkdir a
mkdir: 无法创建目录"a": 文件已存在
    # 如果对应名称的文件或者文件已经存在,无法利用相同名称创建对应内容
qf@qf:~/桌面/123$ mkdir 1.txt
mkdir: 无法创建目录"1.txt": 文件已存在
qf@qf:~/桌面/123$ mkdir b c d
    # 可以进行批量文件夹创建,不同的文件夹名称利用空格隔开
qf@qf:~/桌面/123$ 
3.4 cp 复制操作

cp copy 复制

cp 操作

  • cp 操作普通文件

qf@qf:~/桌面/123$ cp 1.txt 123.txt    
    # 复制 1.txt 内容到 123.txt
    # 当前操作省略的路径内容,默认都是在当前工作目录下完成对应操作
    # 如果提供的对应路径要求,可以在其他文件夹中完成操作
​
qf@qf:~/桌面/123$ cp 1.txt a
    # 1.txt 为普通文件,a 是在相同工作目录下的一个文件夹
    # 当前操作是将 1.txt 文件复制一份到当前工作目录下的 a 文件夹中
​
qf@qf:~/桌面/123$ cp 123.txt a/23333.txt
    # 123.txt 为普通文件,a 是在相同工作目录下的一个文件夹 
    # 当前操作是将 123.txt 文件复制一份到当前工作目录下的 a 文件夹中,同时指定目标文件名称
    # 为 23333.txt
​
qf@qf:~/桌面/123$ cp 123.txt /home/qf/桌面/ABC
    # 123.txt 为普通文件,提供的目标文件夹路径方式为绝对路径方式
    # 将 123.txt 拷贝到目标的绝对路径对应文件夹,要求路径真实有效,同时对应文件有【写入权限】
  • cp 操作文件夹

qf@qf:~/桌面/123$ cp a b
cp: -r not specified; omitting directory 'a'
    # cp 命令要求,如果操作的内容是文件夹内容,必须提供 -r 命令参数
    # 格式 cp -r 源文件夹 目标文件夹   
    # 格式 cp -r src_dir dest_dir
​
qf@qf:~/桌面/123$ cp -r a b
    # a 和 b 都是文件,且存在
    # 当前操作是将 a 文件夹复制一份存储到 b 文件夹中
    # 当前操作省略路径关系,都是在当前工作目录下完成。
qf@qf:~/桌面/123$ cp -r a f
    # a 是一个文件夹存在,f 是一个未存在的内容
    # 当前操作是将 a 文件夹复制一份,到当前工作目录下,目标文件夹名称为 f
3.5 mv 移动操作
mv move 移动
  • mv 操作普通文件

qf@qf:~/桌面/123$ mv 1.txt 2.txt
    # 1.txt 普通文件存在,2.txt 不存在
    # 当前操作是将 1.txt 普通文件,重命名为 2.txt
​
qf@qf:~/桌面/123$ mv 2.txt a
    # 2.txt 是一个普通文件,a 是一个文件夹
    # 当前操作是将 2.txt 移动到 a 文件夹中
    
qf@qf:~/桌面/123$ mv a/2.txt .
    # 将当前工作目录下 a 文件夹中的 2.txt 普通文件,移动到当前工作目录
    
qf@qf:~/桌面/123$ mv 2.txt a/123.txt
    # 2.txt 是一个普通文件,a 是一个文件夹
    # 当前操作是将 2.txt 移动到 a 文件夹中,同时对文件进行重命名操作,修改名称为 123.txt
  • mv 操作文件夹

qf@qf:~/桌面/123$ mv a b
    # a,b 都是文件夹
    # 当前操作是将 a 文件夹移动到 b 文件夹中
​
qf@qf:~/桌面/123$ mv a q
    # a 是一个文件夹,q 不存在
    # 当前操作是将 a 文件夹重命名为 q 文件夹
3.6 rm 删除操作

【慎用】rm 删除文件或者文件夹不是放入到回收站中,是直接在磁盘抹掉数据,且无法还原!

  • rm 删除操作普通文件

qf@qf:~/桌面/123$ rm 1.txt
    # 直接删除当前工作目录下的 1.txt 普通文件
​
qf@qf:~/桌面/123$ rm 2.txt 1.c
    # 可以删除多个文件,不同的文件名称利用空格隔开
​
qf@qf:~/桌面/123$ rm 1.*
    # tips: * 是一个通配符
    # 当前操作是将工作目录下所有文件名称为 1,文件类型不限制的所有文件删除。
​
qf@qf:~/桌面/123$ rm *.c
    # tips: * 是一个通配符
    # 当前操作是将工作目录下所有 .c 结尾的文件进行删除操作
​
qf@qf:~/桌面/123$ rm *.*
    # tips: * 是一个通配符
    # 当前操作是将工作目录下所有名称带有 . 文件或者文件夹进行删除操作
    # 因为当前操作中未提供命令行参数 -r , 仅删除普通文件
  • rm 删除操作文件夹

qf@qf:~/桌面/123$ rm a
    # rm: 无法删除'a': 是一个目录 
    # rm 操作删除文件,需要提供命令行参数 -r
    # 修改之后的格式为 rm -r a
​
qf@qf:~/桌面/123$ rm -r a
​
qf@qf:~/桌面/123$ rm -r a b c
    # 可以进行批量删除,多个文件夹名称,利用空格隔开
​
qf@qf:~/桌面/123$ rm -r *
    # 删除当前工作目录的所有非隐藏文件和隐藏文件夹
    # 因为隐藏文件和隐藏文件夹开头都是 . 开头
3.7 chmod 修改文件或者文件夹权限【小难点】
3.7.1 权限标记和数值使用

权限对应数值

权限作用对应数值
r可读4
w可写2
x可执行1
-不具备对应位置权限0

案例分析

drwxrwxr-x
# d 开头,对应的是一个文件夹
# 第一组权限【拥有者】 rwx 可读可写可执行 4 + 2 + 1 => 7
# 第二组权限【同组用户】 rwx 可读可写可执行 4 + 2 + 1 => 7
# 第三组权限【访客】 r-x 可读不可写可执行 4 + 0 + 1 => 5
  • 当前为一个文件夹,对应的权限为 775 权限

案例分析

# 已知普通文件,同时权限为 664 
# 普通文件 -
# 第一组权限【拥有者】 6 ==> 4 + 2 + 0 ==> rw-
# 第二组权限【同组用户】 6 ==> 4 + 2 + 0 ==> rw-
# 第三组权限【访客】4 ==> 4 + 0 + 0 ==> r--
  • 终端中当前文件权限信息描述为 -rw-rw-r--

3.7.2 chmod 操作
qf@qf:~/桌面/123$ touch 1.txt
qf@qf:~/桌面/123$ ls -l
总用量 0
-rw-rw-r-- 1 qf qf 0 2月  11 15:56 1.txt
    # Linux 中默认创建普通文件对应的权限为 664 权限
qf@qf:~/桌面/123$ chmod 666 1.txt
    # 将 1.txt 文件修改为 666 权限,对应描述为 -rw-rw-rw-
qf@qf:~/桌面/123$ ls -l
总用量 0
-rw-rw-rw- 1 qf qf 0 2月  11 15:56 1.txt
    # 最终修改效果。
    
qf@qf:~/桌面/123$ mkdir a
qf@qf:~/桌面/123$ ls -l
总用量 0
-rw-rw-r-- 1 qf qf 0 2月  11 15:56 1.txt
drwxrwxr-x 2 qf qf 4096 2月  11 16:02 a
    # Linux 中默认创建文件夹对应的权限为 775 权限
qf@qf:~/桌面/123$ chmod 440 a
    # 将 a 文件夹修改为 440 权限,对应描述为 dr--r-----
qf@qf:~/桌面/123$ ls -l
总用量 0
-rw-rw-rw- 1 qf qf 0 2月  11 15:56 1.txt
dr--r----- 2 qf qf 4096 2月  11 16:02 a
    # 最终修改效果。
3.8 sudo 临时超级管理员权限【小难点】

sudo 是临时开启超级管理员权限,提供密码之后,临时对当前文件或者文件夹具备完全权限

  • 如果 sudo 超过 5 分钟未使用,后续使用需要提供密码

  • 如果当前终端关闭,后续使用需要提供密码

qf@qf:~/桌面/123$ ls -l
总用量 8
---------- 1 qf qf   17 2月  11 16:10 1.txt
    # 当前文件是无权限文件,任何用户任何角色,对于当前文件都没有任何的操作权限
​
qf@qf:~/桌面/123$ sudo gedit 1.txt
[sudo] qf 的密码: 
    # sudo 是开启所有权限,提供密码之后,可以修改,查看,当前目标文件
3.9 其他命令
  • ifconfig or ip addr 查看当前计算机的网络情况,如果是 Ubuntu 18.04 以上版本,请使用 ip addr ,如果是较低版本使用 ifconfig

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:06:23:d2 brd ff:ff:ff:ff:ff:ff
    inet 192.168.13.11/24 brd 192.168.13.255 scope global dynamic noprefixroute ens33
       valid_lft 60515sec preferred_lft 60515sec
    inet6 fe80::d395:3094:f02:e9d6/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
​
  • Ctrl + L or clear 清理屏幕内容,刷新终端页面

  • ↑ ↓ 方向键上下,可以回顾之前的命令

  • top 终端任务管理器,可以查看当前计算机的所有执行任务占用资源情况

  • Ctrl + C 在终端中作用是中断当前程序执行,可以直接杀死程序。

  • cat tac nl 查看文本文件内容,cat 是正向查看,tac 是倒序查看,nl 带有文件行数查看

  • 后续使用到补充。。。。

4. Vim 操作
4.1 Vim 概述

开源免费的终端开发软件,支持各种插件,学习路线较为陡峭,需要掌握基本的文本编辑,操作和代码实现。

Vim 之父 Bram Moolenaar

4.2 Vim 三种模式
  • 编辑模式

  • 插入模式

  • 命令模式

4.3 编辑模式

编辑模式中可以完成针对于 Vim 快捷键操作,例如 复制,粘贴,删除,定位....

Vim 编辑模式指令作用
yy复制光标所在行
y[n]y or [n]yyn 是一个数值,表示从光标所在行开始复制 n 行
p在光标所在位置下一行开始粘贴
dd剪切光标所在行,如果仅剪切,功能为删除
d[n]d or [n]ddn 是一个数值,表示从光标所在行开始剪切 n 行
u撤销之前的操作,回退
Ctrl + R重做
gg回到整个文档的第一行
ngg跳转文档的第 n 行
home跳转到光标所在行第一个位置
end跳转到光标所在行最后一个位置
i,o,a进入到插入模式
shift + :进入到命令模式
4.4 命令模式

主要可以保存,退出目标文件,常用命令有

常用命令作用
wwrite 保存
qquit 退出,如果文件已修改,无法使用
q!强制退出,不保存文件退出
wq保存退出
wqa保存所有 vim 打开文件退出
wa保存所有 vim 打开文件
vsplit 文件名Vim 多个文件,不常用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值