Linux学习

前言

考虑到开发和别人所说的一些linux的便捷性,所以要学一下Linux相关的操作。

正文

linux 特点

1.免费/开源
2.支持多线程/多用户
3.安全性好
4.对内存和文件管理优越。

管理方法

Shell基本命令

关机命令
    shutdown -h now 立即关机
    shutdown -r now 现在重新启动计算机
    reboot     重启计算机

文件和目录操作命令
    pwd 显示当前路径
    cd 改变目录
    ls 列出文件和目录
     -a 显示全部文件
     -l 显示长列表格式

    mkdir 建立目录
    rm -rf 删除文件或者目录
     -r 删除目录 -f强制
    touch 建立空文件

    cp [选项] [原文件或目录] [目标目录] 复制命令
    用来复制或者更改文件名的后缀
    mv [选项] [原文件或目录] [目标目录] 剪切命令
    目录重命名或者剪切

    | 管道命令
    grep 查找内容 文件名 在文本中查询内容

    > 文件重定向(覆盖写)
    >> 追加写

    tar -zxvf ???.tar.gz //解压命令 
    Ctrl+L //清屏

用户管理

文件权限
  文件所有者,所在组和其他组

//添加组名
groupadd 组名

//查看所有组的信息
cat /etc/group 

//添加用户
useradd -g 组名 用户名 

//查看所有用户信息
cat /etc/passwd 

文件(-) 目录(d) 链接(l)

操作权限
     r可读 4表示 
     w可写 2表示
     x可执行 1表示

//改变文件权限 (7就是4+2+1 r/w/x)
chmod 777 文件名

//改变某个用户所在的组
usermod -g 组名 用户名

//改变某个文件或目录的所有者和所属的组
chown 用户名 文件名

//该命令用来改变指定文件所属的用户组
chgrp 用户所在组 文件名

磁盘管理

目录结构
root 存放用户root的相关文件
home 存放普通用户的相关文件
bin 存放常用命令的目录
sbin 存放具有一定权限的命令(管理员)
mnt 挂载软驱和光驱的目录
boot 存放引导相关的文件 // 一般不要删除目录下文件
etc 存放配置相关文件
var 存放经常变化的数据
usr 文件默认安装文件夹
opt 给主机额外安装软件所摆放的目录
lib 系统使用的函数库的目录
proc 目录下的数据都在内存中,如系统核心,外部设备,网络状态
文件链接

在Linux系统中,硬链接有两个局限性
第一: 只能给文件建立硬链接,而不能给目录建立硬链接
第二: 他们不能跨文件系统

经过测试
ln file hfile 
ln -s file sfile 
显示hfile 为硬链接 和file是相同的索引节点
而sfile 则是符号链接,指向file的节点,因此删除file 那么sfile无效
磁盘分区

磁盘分区表示,IDE硬盘的设备名称是以/hdX表示,SATA硬盘的设备名称是以/sdX表示的
X可以是a~z的小写字母序列
在Windows操作系统中,磁盘分区是以盘符的形式表示的,如C:,D:,E:,F:,而在Linux系统中,
磁盘分区是以文件的形式表示的,如/dev/sda1,/dev/sda2

ll /dev/sda*    
//ll 是 ls -l的意思

磁盘分区一般包括主分区和拓展分区,逻辑分区是拓展分区的磁盘分区类型。
一个磁盘中只能容纳4个主要分区,包括主分区和拓展分区
系统为主要分区预留了标识,预留了1~4的序号表示,所以逻辑分区的序号标识从5开始。

//查看所有磁盘分区情况
fdisk -l

//查磁盘使用情况
df [-参数]
比如 df -l

//查询目录在哪个分区
df [路径]

网络管理

TCP/IP网络基础
TCP/IP 参考模型

1.应用层
HTTP,HTTPS,FTP,POP3,SMTP,SSH,NTP,DNS,SNMP,DHCP
2.传输层
3.网络互联层
4.链路层

查看本机ip
windows: ipconfig
linux/unix: ifconfig
网关和路由器的区别
网关和路由器最大的区别是是否连接相似的网络。
如果连接相似的网络,则称为路由器。
而连接不相似的网络,称为网关。

相似的网络:如果都是互联网上的两个网络,我们称为相似的网络。
不相似的网络:如果一个是私网,一个是公网。我们称为不相似的网络。
配置文件
/etc/hosts
/etc/NetworkManager/NetworkManager.conf
/etc/network/interfaces
/etc/resolv.conf
/etc/host.conf
/etc/services
常用命令

ifconfig ping netstat route
具体协议内容(学计网的时候,再钻研下吧

系统管理

进程管理和作业控制

在windows系统中,习惯使用任务管理器来结束未响应的应用程序;
在Unbuntu中,可以使用系统监视器来完成这个操作。

系统监视器

字段含义

%CPU 此字段表示进程所占用CPU资源的百分比
优先级 表示进程的优先级。系统提供5个级别,包括非常高,高,普通,低,和非常低
       优先级是由一个Nice值控制的,值越小,优先级越高
ps命令

进程监视命令 ps(process status)

ps [选项]
  -A 显示所有进程
  -a 显示一个终端的所有进程,除了会话引线
  -u 以用户的格式显示进程信息
  -x 显示后台进程运行的参数

S: 进程状态代码,S表示闲置状态,R表示可执行的
kill命令

结束进程命令

//无法结束进程时候,传送出SIGKILL信号
kill -9 PID号
//如果-9还不能结束进程,那么可以使用-15选项来结束进程
kill -15 PID号

& 进程在后台运行

Linux编程

Vim使用

vim -文件名
i 插入模式
ESC + :wq 退出并保存

Shell脚本编程

shell脚本文件的后缀可有可无,这是Linecho ux操作系统对文件访问的一个特点。为了让用户知道文件的类型,都会使用.sh作为Shell脚本文件的后缀

vim hello.sh
chmod +x hello.sh
./hello.sh

hello.sh文件
#!/bin/bash
echo "Hello,World!";
echo "显示系统时间";
date
变量
var=string
计算命令
expr 20 - 15 //操作符两端需要有空格

预定义变量
  $#: 位置参数的数量
  $*$@: 所有位置参数的内容
  $?: 命令执行后的返回值
  $$: 当前进程的进程ID(PID)
  $!: 最后一个后台运行进程的进程ID(PID)
  $0: 当前执行的程序名

//使用export命令设置环境变量
export PATH=/home/draymond/shell:$PATH 

//一般值都被Shell看成是字符串
条件表达式
文件比较
    -e filename //exist 文件存在为真
    -d filename //dir 目录存在为真
    -f filename //file 常规文件存在为真
    -r/-w/-x filename //可读,可写,可执行
字符串比较
    -z/-n string //string长度为零/非零
    string1=string2 //string1与string2相同
    string1!=string2 //不同
数值比较
    num1 -eq num2 //num1==num2
    num1 -ne num2 //num1!=num2
    num1 -lt num2 //num1<num2
    num1 -le num2 //num1<=num2
    num1 -gt num2 //num1>num2
    num1 -ge num2 //num1>=num2
逻辑判断
    exp1 -a exp2 //逻辑与
    exp1 -o exp2 //逻辑或
    ! exo1 //取反
条件控制
if判断
    if [ ${SHELL} != "/bin/bash" ]
    then 
        echo "I Love you";
    elif [ 1 -eq 1 ]
    then 
        echo "Draymonder";
    else 
        echo "I do not love you";
    fi
循环控制
for循环
    for 变量 in 数据列表
    do
      循环体
    done
    或者
    for(( 变量; 条件表达式; 增量))
    do
      循环体
    done

while循环
    while 条件表达式
    do
    命令循环体
    done

until循环 //不断执行循环体,知道条件表达式为真时退出
    until 条件表达式
    do
    命令循环体
    done

select循环
    select 变量 in 数据列表
    do
      命令组
    done
正则表达式

这里先空着,以后再补

服务器管理

任务计划

cron服务

用来运行周期性的任务

crontab [-u user] 
  -t //选择文本编辑器
  -r //删除目前的时程表
  -l //列出目前的时程表
  -u user //对指定用的cron任务进行操作
  -e //建立或编辑cron任务

调度多个任务

1) crontab -e直接写
2) 把所有的任务,写入到一个可执行文件(shell编程)

后记

悟已往之不谏,知来者之可追。实迷途其未远,觉今是而昨非。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
图像识别技术在病虫害检测中的应用是一个快速发展的领域,它结合了计算机视觉和机器学习算法来自动识别和分类植物上的病虫害。以下是这一技术的一些关键步骤和组成部分: 1. **数据收集**:首先需要收集大量的植物图像数据,这些数据包括健康植物的图像以及受不同病虫害影响的植物图像。 2. **图像预处理**:对收集到的图像进行处理,以提高后续分析的准确性。这可能包括调整亮度、对比度、去噪、裁剪、缩放等。 3. **特征提取**:从图像中提取有助于识别病虫害的特征。这些特征可能包括颜色、纹理、形状、边缘等。 4. **模型训练**:使用机器学习算法(如支持向量机、随机森林、卷积神经网络等)来训练模型。训练过程中,算法会学习如何根据提取的特征来识别不同的病虫害。 5. **模型验证和测试**:在独立的测试集上验证模型的性能,以确保其准确性和泛化能力。 6. **部署和应用**:将训练好的模型部署到实际的病虫害检测系统中,可以是移动应用、网页服务或集成到智能农业设备中。 7. **实时监测**:在实际应用中,系统可以实时接收植物图像,并快速给出病虫害的检测结果。 8. **持续学习**:随着时间的推移,系统可以不断学习新的病虫害样本,以提高其识别能力。 9. **用户界面**:为了方便用户使用,通常会有一个用户友好的界面,显示检测结果,并提供进一步的指导或建议。 这项技术的优势在于它可以快速、准确地识别出病虫害,甚至在早期阶段就能发现问题,从而及时采取措施。此外,它还可以减少对化学农药的依赖,支持可持续农业发展。随着技术的不断进步,图像识别在病虫害检测中的应用将越来越广泛。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值