嵌入式学习-linux-day03

一、回顾昨日内容:

        文件查找是一项重要的任务,它可以帮助用户在文件夹或者硬盘中快速地找到所需的文件。文件查找可以按照文件名、文件大小、文件类型、文件属性、文件创建时间等等条件来进行查找。

find

find path -way

way: -name 按照名字查找 find /etc/ -name "passwd" 名字还可以用通配符"*.c" "??"

        -size 按文件的大小 c/w/b/k/M/G find /etc/ -size 100k

        -type 按文件类型 f/d/l/s/p/c/b find /etc/ -type c

        -perm -atime -ctime -inum

locate

locate filename

更新数据库        updatedb

文件打包、解包、压缩、解压

tar cvf 包 file1 file2        打包

tar xvf 包                        解包

gzip filename                压缩

gunzip filename.gz        解压

xz filename                压缩

unxz filename.xz        解压

bzip2 filename                压缩

bunzip2 filename.bz2        解压

tar cjvf 压缩包 file1 file2        .bz2格式压缩包        打包并压缩

tar cJvf 压缩包 file1 file2        .gz格式压缩包        打包并压缩

tar czvf 压缩包 fle1 file2        .xz格式压缩包        打包并压缩

文件的重定向

标准输入重定向 0<

标准输出重定向 1> >

标准错误输出重定向 2>

管道|

grep过滤文件

wc 统计文件的字符个数,行数和单词个数

用户管理

创建、修改密码、删除

修改附加组

sudo usermod -a -G group username         将username加入到group组中

sudo gpasswd -d username group                 将username从group组中移除

如何查看username所在组以及组内成员:groups username        或者        cat /etc/group

...

今日学习:

1.进程管理

所谓的进程,就是一个正在执行的程序,是系统资源分配的最小单位。例如ls cp mv rm等可执行文件在执行期间都是一个进程,再例如网络服务,腾讯会议,微信,邮箱等也都是一个进程

线程是系统调度的最小单位。一个进程是由一个或者多个线程组成的

进程基本状态:起始态、就绪态、运行态、阻塞态、终止态

进程的关系

  • 进程组:进程组是承载进程的 process group
  • 会话:会话是承载进程组的 session 1.目前我们创建会话的方式就是打开一个终端

id

  • 无论是进程还是进程组还是会话,内核标识他们都是通过id
  • 每一个进程的id一定是独一无二的
  • 进程组的id就是组内第一个进程的id
  • 会话的id就是会话内第一个进程组内的第一个进程的id
  • 进程组内的第一个进程不会离开进程组,进程组和会话是进程的容器,如果没有进程那么进程组和会话也将没有意义。

父子关系

  • 父进程(parent)和子进程(child)
  • 子进程默认与父进程在同一个进程组同一个会话内,所以默认子进程绝不是组长

进程名

  • 僵尸进程:子进程终止了,父进程还没来得及收尸,那么这个子进程的状态就叫僵尸进程
  • 孤儿进程:父进程已经终止了,子进程还在运行,那么这个子进程的状态就是孤儿进程

linux查看进程状态的基本命令

ps (process status)

ps aux                        USER PID ...

ps axj                        PPID PID PGID SID TTY STATE

ps axm -L                查看进程下的线程状态的

2.网络管理

查看网络信息 ifconfig

        IP NETMASK BRAODCAST

IPV4协议地址是32位,主要分为5类

ip地址的表达

        通常采用点分十进制的表达式方式,也就是说将32位的地址每8位用.隔开,转换为十进制表达。例如“192.168.3.1”

ip地址由网络号和主机号组成

  •         网路号用于划分网段,子网掩码就是用户划分网段,网络号为1,主机号为0
  •         主机号是用于分配主机,也就是说主机号越多,在同一个网段分配的主机个数就越多,也就更适合大型网络

类别

组成

范围

内网地址

A

1byte网络号(0开头)+3bytes主机号

0~127

10.0.0.0~10.255.255.255

B

2bytes网络号(10开头)+2byes主机号

128~191

172.16.0.0 ~ 172.31.255.255

C

3bytes网络号(110)+1byte主机号

192~223

192.168.0.0~192.168.255.255

D

组播地址(1110开头)

224~239

E

科学研究

 route 查看路由表

ping 查看网络的联通状态

ufw status查看防火墙的状态

        ufw enable

        ufw disable 

软件包的管理

ubuntu系统在源中几乎已经涵盖了所有的应用,所以最常用的方式就是apt

  • apt install 包名 下载并安装
  • apt remove 包名 卸载软件包
  • apt purge 包名 卸载软件包及配置文件
  • apt autoremove 包名 卸载软件包及依赖文件
  • apt list 查看源中所有的软件包
  • apt show 包名 查看包信息

如果源中没有,ubuntu系统去网上下载deb包xxx.deb

  • 安装:dpkg -i xxx.deb
  • 如果没有.deb包,那就去下载源码包,是一个压缩包, 例如.bz2 xz gz,目录中通常由一个文件叫做readme,或者INSTALL

linux规范的源码包常用的安装方式

  • ./configue
  • make
  • make install

git

git 版本控制        目前全球流行的版本控制软件

三个服务:

  1. github:国外,目前我们访问相对不稳定
  2. gitee:国内,码云
  3. gitlib:企业中用于搭建自己的git服务器

主要作用:(

  1. 例如,王二狗要写一遍论文,期间多次修改,导师还是不满意,继续修改,最后导师跟二狗说,我觉得还是第一版好。二狗的电脑桌面已经凌乱的,不知道老师说的是哪个?那么git就是解决这个问题的,就好像坐上了时光机,我们可以随时退回想要的版本,可以继续每一个版本的修改。
  2. 在企业中对程序员来说至关重要,一个软件的上线不是一蹴而就,期间整个开发团队需要不停的更新版本,有了git以后,就可以很好的管理各个版本。)

git环境的搭建

1.下载安装:sudo apt install git

2.配置:        

  1. git config --global user.name "xxx" 配置用户名(双引号内为用户名)
  2. git config --global user.email "" 配置邮箱,最好是有效邮箱(双引号内为邮箱)
  3. git config -l 查看到所有的配置

git 创建仓库

        git init        一旦仓库创建成功,ls -a就可以查看到一个叫.git的隐藏目录

  1. workspace 工作区 (所谓工作区就是刚刚执行git init的那个目录或者子目录)
  2. staging area 暂存区
  3. local repository 本地仓库
  4. remote repository 远程仓库

git 指令

  1. git add 文件路径        将文件提交到暂存区
  2. git commit -m "xx"      将暂存区更新的文件添加到本地仓库
  3. git push                       将本地仓库文件提交到远程仓库(gitee)
  4. git pull                          将远程仓库拉到工作区
  5. git clone 地址               将对应地址的远程仓库克隆到本地仓库
  6. git checkout                 将本地仓库的文件拉到工作区
  7. git log                           查看git日志
  8. git reset --hard 部分版本信息 回到过去

  9. git reset --mixed 部分版本信息 去到将来版本

  10. git status 查看git状态 工作区暂存区仓库的状态

本地仓库同步远程仓库

  1. git remote add origin 仓库地址(ssh地址) (如果使用ssh地址,下面免登录能够设置成功)
  2. git push --set upstream origin master         推送到远程仓库

设置免登录

  1. ssh-keygen
  2. cd ~/.ssh
  3. cat id_rsa.pub
  4. 将文件copy到码云(设置--->ssh公钥)

若遇到:

git push --force origin master解决上述问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值