嵌入式养成计划-10-Linux命令复习,ubuntu网络配置,ubuntu软件源更新与软件在线/离线安装,配置共享文件夹,文件相关的操作

二十一、Linux命令复习

21.1 命令行提示符

ubuntu:用户名
@:分隔符
ubuntu:主机名
day01:当前工作路径
$:普通用户权限            #:超级用户的权限

21.2 切换用户

su	用户名   ------>切换到指定的用户
su	直接回车 ------>默认切换到root用户
sudo  指令  ------>使用管理员的权限执行后面的指令

21.3 修改密码

  • passwd
如果修改超级用户的密码------>需要加sudo
sudo passwd root  ------>修改超级用户的密码
passwd   ------>修改当前用户的密码

21.4 ls

ls 目录      --------->显示当前目录下的所有文件
ls 文件名   -------->回显一次文件名
ls -alh   ------>-a显示所有,包括隐藏文件,-l显示详细信息,-h文件大小带单位的显示

21.5 cd

切换工作路径
cd  目标路径      ------>切换到指定路径下
~:当前用户的家目录,相对路径
/:根目录 
绝对路径:从根目录开始的路径
相对路径:相对当前位置/相对于当前用户
. 当前路径
..上一级路径
cd  直接回车:切换到当前用户的家目录

21.6 touch

touch  文件名      
1.文件不存在,touch就是创建文件
2.文件存在,修改文件的时间戳

21.7 vi/vim

vim是一个编辑器,如果在编辑器内保存退出,就是创建文件
vim/vi   文件名

21.8 cp

拷贝文件
	cp  源文件的路径    目标文件的路径      
	cp指令结束后,源文件的信息会被保留两份

21.9 mv

移动文件
	常用于文件的重命名
	
	mv  源文件的路径    目标文件的路径   
	cp指令结束后,源文件的信息会被保留一份

21.10 mkdir

mkdir  目标路径
想创建,家目录下的dir1/dir2/dir3  ----->指令应该怎么写
mkdir ~/dir1/dir2/dir3  -p    ----->-p的作用嵌套创建
-v:显示指令执行的过程

21.11 rm

删除上一步创建的dir1目录
rm ~/dir1 -r

21.12 cat

cat 文件名  ----->回显文件的内容到终端
echo  字符串  ------>打印字符串

21.13 重定向符

cat 1.c > 2.c
1.如果2.c存在,使用1.c中的内容覆盖掉2.c中的内容
2.如果2.c不存在,创建一个2.c为文件,把1.c的内容写到2.c中
echo 3 > 2.c
1、如果2.c存在,使用3覆盖掉2.c中的内容
2、如果2.c不存在,创建一个2.c为文件,把3写到2.c中
追加 >>

二十二、Linux网络配置

配置的是桥接网络
ping baidu.com,能够ping通就是有网了

22.1 设置虚拟机支持桥接网络

  • VMware虚拟机----->设置
    在这里插入图片描述
  • 让虚拟机支持桥接网络
    在这里插入图片描述

22.2 VMware添加桥接网络

在这里插入图片描述
在这里插入图片描述

22.3 配置虚拟机的桥接网络(在虚拟机中)

在这里插入图片描述
在这里插入图片描述

  • 别忘了在主机的命令行中找到网关,可以通过ipconfig命令来获取网关及ip与掩码
  • 主机命令行打开方法:窗口键+r,输入cmd,回车

在这里插入图片描述

二十三、在线安装软件

23.1 更新Ubuntu的软件源(在虚拟机中)

在下载软件时, 计算机会读取/etc/apt/sources.list 文件中的网址
更新软件源,需要修改这个配置文件

在搜索引擎上,搜:Ubuntu软件源更新
国内常见的软件源:清华源,阿里源,163源,中科大源·····

更新软件源目的是:在下载软件时,读取国内网址

https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/

上面这个是清华源。
把里面的配置信息复制下来,粘贴到/etc/apt/sources.list 文件中
把/etc/apt/sources.list 文件中之前的内容注释掉
保存退出

23.2 更新软件列表

sudo apt-get  update  ----->读取/etc/apt/sources.list文件中的网址,并将网址中的软件列表拉取到本地

只要/etc/apt/sources.list 文件中内容修改过,就需要重新update

23.3 在线下载软件

sudo apt-get install 软件名    ----->下载软件
运行软件(直接在终端输入软件名)
让软件后台运行(oneko&)   ----->后台运行软件时,会弹出一个进程号--->根据进程号杀死该进程
sudo apt-get install gnome-mines    ------->扫雷
奶牛说:sudo apt-get install cowsay  
cowsay可以更换动物 ---->cowsay -l
cowsay -f dragon hello  ----->让龙说hello(cowsay如何使用其他小动物)

sudo apt-get remove 软件名   ---->卸载软件(不完全卸载,不删除配置文件)
sudo apt-get remove 软件名  --purge    ----->完全卸载软件
sudo apt-get download 软件名  ---->下载软件的安装包
下载的软件安装包,在执行指令的路径下,下载安装包时报没有权限错误,只是表示不能安装程序

直接执行install指令,也会下载软件的安装包,但是软件安装包被下载在默认位置
/var/cache/apt/archives/
可以使用:
sudo apt-get clean 清除默认下载位置的软件安装包

23.4 后台运行程序

程序名&
会回显一个进程号

23.5 杀死进程

kill -9 进程号

二十四、离线安装软件

24.1 软件包的命名规范

sl      _3.03  	  -17build2_    amd64.                deb
|          |            |          |                    |        
软件名    主版本号    修订版本号   支持64位架构         软件包后缀
                              i386--->支持32位架构的

Linux下的软件安装包标准有两种:

  • deb ----->debian标准的软件安装包
  • rpm ----->redhat标准的软件安装包

24.2 离线安装软件

dpkg ----->debian package

sudo dpkg -i 软件包名   ----->离线安装软件
1.计算机中已有该软件安装包
2.执行指令的路径下,有该软件安装包

sudo dpkg -r 软件名    ------->离线卸载软件(不完全卸载)
sudo dpkg -P 软件名    ------->离线完全卸载软件

24.3 离线安装和在线安装的区别

  1. 在线安装需要网络连接成功,离线不需要
  2. 如果在线安装,软件有更新,终端会提示

3. 在线安装会检查软件依赖,并安装依赖,离线安装不行

二十五、配置共享文件夹

实现Ubuntu和wins下的文件互通

25.1 保证主机下有文件夹

  • 在主机下创建一个,要和VMware共享的文件,(建议纯英文路径)

25.2 打开虚拟机的共享文件夹

  • 虚拟机----->设置----->选项----->共享文件夹------->总是启用
  • 添加共享文件夹
    在这里插入图片描述

二十六、文件相关的操作

26.1 Linux的文件系统结构

  • 倒插树结构,从根目录出发,万物皆文件
    在这里插入图片描述
    在这里插入图片描述

26.2 Linux的发展史

Linux是由unix演变过来的

GNU是一个项目或者理解为一群人,(GNU is not unix)

GPL许可证/协议:要求在GNU产品的基础上进行二次开发的产品必须开放源码

Linux的发行版:(内核源码和软件应用结合)

Linux发行版举例

Ubuntu
redhat
centos
open SUSE
Deepin   ------>国内的发行版
kali

往下都是命令之类的了

26.3 head、tail

  • 一般不会单独使用,会和管道符一起使用,用于显示文件的第n行
head	文件名			显示文件的前10行
head	-n	文件名		显示文件的前n行

tail	文件名			显示文件的后10行
tail	-n	文件名		显示文件的后n行

26.4 管道符 |

  • 用于多个命令连起来
指令1	|	指令2	|	指令3	|	。。。	|	指令n

会把前一条指令的输出结果,当成后一条指令的输入

练习:

1:显示1.c的第5行
head -5 1.c | tail -1

2:显示/etc/passwd中的第41行
head -41 /etc/passwd | tail -1

26.5 find

find 查找的路径 -name 文件名		在指定路径下,以文件名为条件 查找文件,并显示文件的绝对路径

find可以和通配符结合进行模糊查询
find / -name day\*				一定要进行转义

26.6 file ------>查看文件信息

如:file a.out

a.out: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=6dd5e59aa75fc4fadb01e8dd382d8b9e242df322, for GNU/Linux 3.2.0, not stripped
a.out:可执行文件名
ELF 64-bit LSB shared object:ELF是文件类型,64位小端存储
x86-64:支持64位
version 1 (SYSV):版本
dynamically linked, interpreter /lib64/l:链接到的库
for GNU/Linux 3.2.0:gcc编译器的版本号
BuildID[sha1]=6dd5e59aa75fc4fadb01e8dd382d8b9e242df322:动态ID
not stripped:没有被压缩

26.7 grep ----->查找字符串

grep 要查找的字符串 文件名			从文件中查找这个字符串

参数:
	-n : 显示行号
	-i : 不区分大小写
	-R : 递归搜索(当文件是个目录时)
	-w : 按单词查找
grep "^ubuntu" /etc/passwd 		在 /etc/passwd 中查找以 ubuntu 为起始字符的行
grep “bash$” /etc/passwd		在 /etc/passwd 中查找以 bash 为结尾字符的行

grep "^ubuntu$" 1 ---->在1中,查找一行中只有Ubuntu的所在行

练习:

1:查找Ubuntu用户在/etc/passwd中所在行,并显示行号
grep "^ubuntu" /etc/passwd -n

2:查找sys用户,在/etc/passwd中的所在行
grep "^sys" /etc/passwd 

26.8 cut ----->截取字符串

cut -d 分隔符 -f 要截取的域 文件名
域的写法	:	"1"		"1,2"	"3-5"

通常cut会通过 管道符 与其他指令 结合使用

练习:

1.截取出Ubuntu用户的uid
grep "^ubuntu" /etc/passwd | cut -d : -f 3

2.截取出Ubuntu用户所在的行
grep "^ubuntu" /etc/passwd | cut -d : -f 1

3.截取出Ubuntu用户的家目录,要求不能以:作为分隔
grep -n "^ubuntu" /etc/passwd | cut -d / -f 2,3

26.9 单个文件的压缩和解压缩

压缩或者解压缩后,源文件都不存在

gz	bz2	xz				Linux下三种压缩工具

压缩操作:
	gzip 	要压缩的文件		默认生成 .gz 后缀的文件
	bzip2	要压缩的文件		默认生成 .bz2 后缀的文件
	xz		要压缩的文件		默认生成 .xz 后缀的文件

解压缩操作:
	gunip	要解压缩的文件
	bunzip2	要解压缩的文件
	unxz	要解压缩的文件
  • 压缩效率(压缩程度) : xz > bz2 > gz
  • 压缩时间(时间更长) : xz > bz2 > gz

26.10 tar ---->归档

  • 可以实现对 目录 和 多个文件 的打包并压缩操作
    打包和拆包后源文件仍然存在

26.10.1 打包并压缩

使用tar指令时,-f参数只能加文件名

tar -cvf 打包生成的文件名.tar 要打包的文件

使用 tar 压缩:
	tar -cvf 打包生成的文件名.tar.xz/gz/bz2 要打包的文件
		-z : 使用 gz 工具进行压缩
		-J : 使用 xz 工具进行压缩
		-j : 使用 bz2 工具进行压缩

	如果使用 tar 命令进行打包压缩,一定要保证 参数 和 文件后缀 严格对应

26.10.2 拆包与解压缩

tar -xvf 要拆包 / 要拆包并解压缩的文件
	-x 是一个万能的拆包解压缩命令

26.11 链接文件的创建

复习:

b	:	块设备文件				-	:	普通文件
c	:	字符设备文件				l	:	软链接文件
d	:	目录文件 				s	:	套接字文件          
p	:	管道文件

26.11.1 创建硬链接文件 ln

ln 想要链接的文件 创建的硬链接文件

硬链接文件的注意事项:
	1.硬链接文件和源文件有相同的inode号
	2.创建硬链接文件时,不需要考虑路径的问题
	3.任一个文件的修改,都会被更新到另一个文件上
	4.硬链接文件的文件类型是普通文件
	5.删除硬链接文件,源文件不会被删除,当文件链接文件的个数为0时,文件会被删除
	6.创建硬链接文件会增加文件描述中硬链接文件的个数

26.11.2 软链接文件的创建 ln -s

ln -s 想要链接的文件的绝对路径 创建的软链接文件的绝对路径

软链接文件的注意事项:
	1.创建软链接文件时,必须要加绝对路径
	2.当源文件被删除时,软链接文件会失效(文件名会变成红色),如果再创建一个同名的源文件,链接会重新生效
	3.不会增加文件描述中,链接文件的个数,但是软链接文件的文件类型是l
	4.任一个文件发生修改,都会同步到另一个文件上
	5.软链接文件,可以理解为快捷方式

26.12 chmod ----->修改文件权限

r	:	可读			4
w	:	可写			2
x	:	可执行		1

26.12.1 使用字母表示法修改文件权限

所属用户  u 					所属组用户	g  
其他用户  o					所有用户		a

chmod 用户+/-/=权限   文件名

练习:

使用touch创建一个文件,修改该文件所属用户添加可执行权限,其他用户添加可写权限
要求:不能通过八进制数修改,并且写在一条指令内。
	touch 1
	chmod g+x,o+w 1
	注意用 逗号 隔开

26.12.2 八进制表示法修改文件权限

chmod 八进制数 文件名
权限范围	:	0-7
chmod 0764 12    ----->0标识八进制数的前导符

26.13 chgrp ---->修改文件的所属组用户

chgrp 目标组 文件名

若涉及到root权限,则加上sudo

26.14 chown

chown 目标用户 文件名

sudo chown root  1.c 		把1.c的所属用户改为root
sudo chown root: 1.c 		把1.c的所属用户和所属组用户都改为root
sudo chown :root 1.c 		把1.c的所属组用户改为root
sudo chown root:ubuntu 1.c	把1.c的所属用户改为root,所属组用户改为ubuntu

26.14 wc(word count)

wc 文件名 			回显文件名,行数,字符个数和单词个数

wc -c 文件名			回显字符的个数
wc -w 文件名			回显单词的个数
wc -l 文件名			回显文件的行数

在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhk___

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值