linux学习lesson25

从零开始学 PyTorch 7天路线图(完整可运行代码版) 本文提供了5天PyTorch入门教程的完整代码,涵盖从基础到实战的核心内容。Day1测试环境并介绍张量基础;Day2讲解常用张量操作;Day3演示自动求导机制;Day4实现完整线性回归模型;Day5构建MNIST手写数字识别全连接网络。所有代码可直接运行,包含GPU检测、梯度计算、模型训练和可视化等关键环节,帮助新手快速掌握PyTorch核心概念和典型应用场景。 阅读详情

目录

1 shell特殊符号cut命令

2 sort_wc_uniq命令

3 tee_tr_split命令

4 shell特殊符号下


1 shell特殊符号cut命令

  • 特殊符号

"*" 任意个任意字符

"?" 任意一个字符

"#" 注释字符

"\" 脱义字符

"|" 管道符

  • cut命令

用来截取某一个字段,其格式为cut -d '分隔字符' [-cf] n,这里的n是数字。该命令有如下几个选项

-d:后面跟分隔字符,分隔字符要用单引号括起来。

-c:后面接的是第几个字符。

-f:后面接的是第几个区块。

[root@worker1 ~]# cat /etc/passwd | head -2 |cut -d ":" -f 1
root
bin
[root@worker1 ~]# cat /etc/passwd | head -2 |cut -d ":" -f 1,2
root:x
bin:x
[root@worker1 ~]# cat /etc/passwd | head -2 |cut -d ":" -f 1-3
root:x:0
bin:x:1

 

2 sort_wc_uniq命令

sort命令用做排序

-t:后面跟分隔字符,作用跟cut的-d选项一样

-n:表示使用纯数字排序

-r:表示反向排序

-u:表示去重复

-kn1,n2:表示由n1区间排序到n2区间,可以只写-kn1,即对n1字段排

  • head -n5 testpasswd | sort  //默认是按ASCII码值进行比较
[root@worker1 ~]# head -n5 testpasswd | sort
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
  • -n 以数字排序
[root@worker1 ~]# cat 1.txt
12
1
3
4
2
5
6
7
8
10
12
40
35
23
[root@worker1 ~]# sort -n 1.txt

1
2
3
4
5
6
7
8
10
12
12
23
35
40
  • -r 反序排列
[root@worker1 ~]# cat 1.txt
12
1
3
4
2
5
6
7
8
10
12
40
35
23
[root@worker1 ~]# sort -nr 1.txt
40
35
23
12
12
10
8
7
6
5
4
3
2
1
  • -t 分隔符
[root@worker1 ~]# head -n5 testpasswd | sort -t:
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
  • -kn1/-kn1,n2 表示由n1区间排序到n2区间,可以只写-kn1,即对n1字段排序
[root@worker1 ~]# head -n5 testpasswd | sort -t: -k3
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
[root@worker1 ~]# head -n5 testpasswd | sort -t: -k3,5
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

wc命令用于统计文档的行数、字符数或词数

-l(统计行数)

-m(统计字符数)

-w(统计词数)

-l 统计行数

[root@worker1 ~]# wc -l testpasswd
29 testpasswd
  • -m 统计字符数
[root@worker1 ~]# wc -m testpasswd
1353 testpasswd
  • -w 统计词
[root@worker1 ~]# wc -w testpasswd
51 testpasswd

uniq命令用来删除重复的行

  • -c统计行数
[root@worker1 ~]# cat 2.txt
111
222
111
333
222
111
[root@worker1 ~]# sort 2.txt |uniq
111
222
333
[root@worker1 ~]# sort 2.txt |uniq -c
      3 111
      2 222
      1 333

 

3 tee_tr_split命令

tee命令

  • 和>类似,重定向的同时还在屏幕显示
[root@worker1 ~]# echo 'hello world!' | tee 3.txt
hello world!
[root@worker1 ~]# cat 3.txt
hello world!

tr 替换字符

[root@worker1 ~]# grep 'root' testpasswd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@worker1 ~]# grep 'root' testpasswd | tr 'r' 'R'
Root:x:0:0:Root:/Root:/bin/bash
opeRatoR:x:11:0:opeRatoR:/Root:/sbin/nologin
  • 大小写替换tr '[a-z]' '[A-Z]'
[root@worker1 ~]# head -n2 testpasswd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@worker1 ~]# head -n2 testpasswd | tr '[a-z]' '[A-Z]'
ROOT:X:0:0:ROOT:/ROOT:/BIN/BASH
BIN:X:1:1:BIN:/BIN:/SBIN/NOLOGIN

split命令用于切割文档

  • -b:表示依据大小来分割文档,单位为byte
[root@worker1 dir8]# split -b 500 testpasswd
[root@worker1 dir8]# ls
testpasswd  xaa  xab  xac
  • -l:表示依据行数来分割文档
[root@worker1 dir8]# split -l 10 testpasswd
[root@worker1 dir8]# ls
testpasswd  xaa  xab  xac

 

4 shell特殊符号下

$ 变量前缀,!$组合,正则里面表示行尾

[root@worker1 dir8]# ls testpasswd
testpasswd
[root@worker1 dir8]# ls !$
ls testpasswd
testpasswd
  • ;多条命令写到一行,用分号分割
[root@worker1 dir8]# ls
testpasswd  xaa  xab  xac
[root@worker1 dir8]# ls testpasswd ;ls xaa
testpasswd
xaa
  • ~ 用户家目录,后面正则表达式表示匹配符
[root@worker1 dir8]# ls ~/
1.txt  3.txt            dir1  dir8                            test.txt
2.txt  anaconda-ks.cfg  dir6  p7zip-16.02-13.fc29.x86_64.rpm
  • & 放到命令后面,会把命令丢到后台
[root@worker1 dir8]# vmstat 1 3 &
[1] 2695
[root@worker1 dir8]# procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
2  0      0 1620544    876 141232    0    0    22     1   24   32  0  0 99  1  0
0  0      0 1620624    876 141264    0    0     0     0   46   64  0  0 100  0  0
0  0      0 1620624    876 141264    0    0     0     0   39   57  0  0 100  0  0

[1]+  Done                    vmstat 1 3

> >> 2> 2>> &>

  • ">"重定向
[root@worker1 dir8]# cat 3.txt
hello world!
[root@worker1 dir8]# cat 3.txt > 1.txt
[root@worker1 dir8]# cat 1.txt
hello world!
  • ">>"追加重定向
[root@worker1 dir8]# cat 1.txt
hello world!
[root@worker1 dir8]# cat 3.txt >> 1.txt
[root@worker1 dir8]# cat 1.txt
hello world!
hello world!
  • "2>"错误重定向
[root@worker1 dir8]# cat 4.txt 2> err
[root@worker1 dir8]# cat err
cat: 4.txt: No such file or directory
  • "2>>"错误追加重定向
[root@worker1 dir8]# cat err
cat: 4.txt: No such file or directory
[root@worker1 dir8]# cat 4.txt 2>> err
[root@worker1 dir8]# cat err
cat: 4.txt: No such file or directory
cat: 4.txt: No such file or directory
  • "&>"正确和错误都追加同一个文件
[root@worker1 dir8]# cat 4.txt 1.txt &> err
[root@worker1 dir8]# cat err
cat: 4.txt: No such file or directory
hello world!
hello world!
  • [ ] 指定字符中的一个,[0-9],[a-zA-Z],[abc]
[root@worker1 dir8]# ls -d [1-9].txt
1.txt  3.txt
  • || 和 && ,用于命令之间
[root@worker1 dir8]# [ -d dir1 ] || mkdir dir1
[root@worker1 dir8]# ls
1.txt  3.txt  dir1  err  testpasswd  xaa  xab  xac
[root@worker1 dir8]# [ -d dir1 ] && mkdir dir1
mkdir: cannot create directory ‘dir1’: File exists
[root@worker1 dir8]# ls
1.txt  3.txt  dir1  err  testpasswd  xaa  xab  xac

 

 

拓展:

相关测验题目:http://ask.apelearn.com/question/5437

扩展

1. source exec 区别 http://alsww.blog.51cto.com/2001924/1113112

2. Linux特殊符号大全http://ask.apelearn.com/question/7720

3. sort并未按ASCII排序 http://blog.youkuaiyun.com/zenghui08/article/details/7938975

苹果生态最佳搭档:Mac mini + OpenClaw + iPhone 远程控制 本文详细介绍如何通过iPhone远程控制Mac mini上的OpenClaw应用,打造高效苹果生态工作流。内容包括:1) 苹果生态整合优势,包括AirDrop、Handoff等功能对比;2) Mac mini配置步骤,涵盖SSH/VNC设置、网络优化及Docker部署OpenClaw;3) iPhone端SSH/VNC客户端选择与Tailscale内网穿透配置;4) 详细SSH密钥设置与连接测试方法。通过这套方案,用户可实现跨设备无缝控制OpenClaw应用,提升远程工作效率。(149字) 阅读详情

相关推荐

【故障处理】- ORA-01722

在执行升级脚本@?/rdbms/admin/catupgrd.sql时报错ora-01722。

weixin_39099660的博客 855

linux学习lesson32

目录 1 监控io性能 2 free命令 3 ps命令 4 查看网络状态 5 linux下抓包 1 监控io性能 iostat -x  磁盘使用 [root@worker1 ~]# iostat -x Linux 3.10.0-327.el7.x86_64 (worker1) 10/15/2018 _x86_64_ (2 CPU) avg-cpu: %us...

InfiniteIdea_Go的博客 397

数字IC笔记-逻辑单元库和库文件

逻辑单元库的建立: 一个完整的单元库是由不同的功能电路所组成,在芯片应用中可分为三类: 标准单元:反相器、与门、寄存器、选择器、全加器。组合逻辑电路和时序逻辑电路。互补,反向,非反向,其他。锁存器、寄存器。 模块宏单元:ROM、RAM 输入输出单元 库文件: 在逻辑综合产生门级网表和物理设计做布局布线的过程中需要两个重要的库文件,就是物理库(lef)和时序库(lib) 1.物理库LEF文件 LEF是版图级的抽象文件,主要用于布局和布线。目前普遍使用的是由Candence开发的LEF文件格式,以le

sinat_41774721的博客 9141

原创 linux下c++ lesson25 容器map

1-map的使用.cpp #include <iostream> #include <map> using namespace std; int main() { map<int, string> m; //key是int类型 value是string类型 m.insert(pair<int, string>(3, "aa"));...

Tyeat的博客 307

FAST-LIO2实战:从零搭建香港大学火星实验室SLAM框架(附官方数据集测试指南)

本文提供了一份详细的FAST-LIO2实战指南,帮助读者从零开始搭建香港大学火星实验室开源的这一高效激光惯性里程计框架。内容涵盖系统环境配置、依赖安装、源码编译、官方数据集测试以及参数调优,旨在让开发者快速上手并应用于机器人SLAM项目。

ppp33的博客 688

Python实战:5分钟搞定滑动平均窗口计算(附完整代码+逐行注释)

本文深入解析Python中滑动平均窗口计算的实现与优化,提供Numpy、Pandas等多种高效方案,并附完整代码和逐行注释。涵盖边界处理、性能优化及异常检测等实战技巧,帮助开发者快速掌握时间序列数据处理的核心技术。

weixin_30872157的博客 124

linux学习lesson36

目录 1 linux任务计划cron 2 chkconfig工具 3 systemd管理服务 4 unit介绍 1 linux任务计划cron Linux任务计划功能的操作都是通过crontab命令来完成的,常用的参数有: -u:表示指定某个用户,不加-u选项则为当前用户 -e:表示制定计划任务 -l:表示列出计划任务 -r:表示删除计划任务 编写任务计划的格式 [ro...

InfiniteIdea_Go的博客 729

单细胞数据分析(三):单细胞聚类分析

本文介绍了单细胞聚类分析的基本概念及其在单细胞RNA测序(scRNA-seq)数据中的应用。单细胞聚类分析通过将具有相似基因表达模式的细胞分组到不同的簇中,帮助识别细胞类型、状态和功能。文章详细展示了使用R语言中的Seurat包进行单细胞数据聚类分析的步骤,包括数据加载、降维、聚类和结果可视化。通过FindNeighbors和FindClusters函数,文章展示了如何基于降维数据进行细胞聚类,并选择合适的分辨率值。

专注生信领域 1905

[Linux——Lesson25.线程:生产与消费者模型]

本文探讨了多线程编程中的生产消费者模型及其两种实现方式。首先介绍了生产消费者模型的本质和优势,包括解耦生产者与消费者、平衡处理速度、提升并发效率等核心价值。然后详细分析了基于阻塞队列的实现方案,包括线程封装、同步机制设计和缓冲区管理。接着阐述了基于环形队列的优化实现,重点解析了POSIX信号量的应用和环形队列的特性。文章通过代码示例对比了两种方案的差异,指出阻塞队列适合动态扩容场景,而环形队列在固定容量下效率更高。最后总结了生产消费者模型的设计要点和优化思路,强调线程安全、合理容量规划及同步机制选择的重要性

2401_83386596的博客 1344

【图像去噪(Image Denoising)】关于【图像去噪】专栏的相关说明,包含适配人群、专栏简介、专栏亮点、阅读方法、定价理由、品质承诺、关于更新、去噪概述、文章目录、资料汇总、问题汇总(更新中)

你是否在全网苦寻【图像去噪(ImageDenoising)】的相关资料?你的目标是否是看懂【图像去噪(ImageDenoising)】的相关论文,复现代码,跑出结果,并试图创新?你是否需要发表【图像去噪(ImageDenoising)】的相关论文毕业?你是否需要做【图像去噪(ImageDenoising)】的相关项目,开发软件,研究算法,获得专利或者软著?只要是与【图像去噪(ImageDenoising)】有关的问题,那么请继续往下看。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 2万+

Fiori Elements Analytical List Page 标题区配置全攻略:从变体、过滤模式到 UI.KPI 的工程化落地

ALP标题区是Fiori Elements Analytical List Page的核心交互区域,承担变体管理、过滤模式切换、KPI展示等关键功能。本文系统解析了标题区的组成结构、可用能力及工程实现要点,包括:1)标题区包含过滤类型切换、全局KPI、变体管理等交互元素;2)详细说明视觉过滤与紧凑过滤的同步规则及实现方式;3)介绍OData V2下通过UI.KPI注解配置标题区KPI的方法;4)提供manifest.json配置示例和CDS注解写法。文章还对比了V2与V4版本的差异,为ALP开发提供实用指导

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 244

linux学习 lesson9日志

一、什么是日志 日志文件是用于记录系统操作事件的记录文件或文件集合,可分为事件日志和消息日志。具有处理历史数据、诊断问题的追踪以及理解系统的活动等重要作用。 在日常运维中日志是不可或缺且非常重要的一环。 二、日志的查看 日志储存在位置在/var/log 下,不同的文件承载着不同的日志信息。举例如下: /var/log/message ##系统启动后的信息和错误日志,是Red ...

飞翔的罗老汉 268

AFSim2.9.0学习笔记 —— 2、AFSim的Wizard软件概述(ArkSIM集成开发环境 (IDE))

AFSim2.9.0学习笔记 —— 2、AFSim的Wizard软件详述(ArkSIM集成开发环境 (IDE))

920

linux学习lesson68

文章目录1.添加自定义监控项目2.配置邮件警告3.测试警告4.不发邮件的问题处理 1.添加自定义监控项目 需求:监控某台web的80端口连接数,并出图 两步:1)zabbix监控中心创建监控项目;2)针对该监控项目以图形展现 对于第一步,需要到客户端定义脚本 [root@linux02 ~]# vim /usr/local/sbin/estab.sh //内容如下 #!/bin/bash ##...

InfiniteIdea_Go的博客 407

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

linux学习lesson59

文章目录1 tomcat介绍2 安装jdk3 安装tomcat扩展 1 tomcat介绍 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。 java程序写的网站用tomcat+jdk来运行 tomcat是一个中间件,真正起作用的,解析java脚本的是jdk j...

InfiniteIdea_Go的博客 264

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

linux学习 lesson10LINUX下的网络配置

1.什么是IP ADDRESS (IP地址) IP地址是指互联网协议地址,全拼internet protocol ADDRESS 。IP地址被用来给Internet上的电脑一个编号。大家日常见到的情况是每台联网的PC上都需要有IP地址,才能正常通信。我们可以把“个人电脑”比作“一台电话”,那么“IP地址”就相当于“电话号码”。 1.ip的组成 IP地址是一个32位的二进制数,通常被分割为4个“8位...

飞翔的罗老汉 226

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

linux学习 lesson13kickstart自动安装

一、什么是kickstart 通过上节课的学习,成功创建了虚拟机。但是运行时发现还需要安装系统,而这个过程是非常繁琐和费时的。 这时候可以用到kickstart工具,kickstart能够完成无人执守安装。 二、 ...

飞翔的罗老汉 158

linux学习lesson58

文章目录1 xshell使用xftp传文件2 使用pure-ftp搭建ftp服务扩展 1 xshell使用xftp传文件 filezilla client 开源软件(可以搭建服务,也有客户端) yum安装lftp: [root@linux01 ~]# yum install -y lftp 登录ftp服务 [root@linux01 ~]# lftp user@127.0.0.1 Passwo...

InfiniteIdea_Go的博客 304

linux学习lesson37

目录 1 rsync工具介绍 2 rsync常用选项 3 rsync通过ssh同步 1 rsync工具介绍 rsync不仅可以远程同步数据(类似于scp),而且可以本地同步数据(类似于cp),但不同于cp或scp的一点是,它不会覆盖以前的数据(如果数据已经存在),而是先判断已经存在的数据和新数据的差异,只有数据不同时才会把不相同的部分覆盖 安装rsync软件包(同步文件的机器都需要...

InfiniteIdea_Go的博客 282

linux学习 lesson17FTP

ftp 服务 ftp是早期的传送文字文件的服务,到90年网页图片视频开始兴起才开始用httpd。 一、开启ftp服务: 下载ftp 配置好yum源 yum search ftp ##搜索安装包 vs是安全传输,现如今大部分都使用的是vsftpd yum install vsftpd.x86_64 ##安装ftp systemctl start vsftpd ##...

飞翔的罗老汉 163

linux学习 lesson20链路聚合和桥接

一、链路聚合 实现接口稳定性;接口宽度不够时增宽网卡。 先准备双网卡虚拟机,将网卡ip删除 有两种方法: 1.bond 命令方式建立bond 建立bond0 nmcli connection add con-name bond0 ifname bond0 type bond mode active-backup ip4 172.25.254.108/24 active-backup:主动备份,当网...

飞翔的罗老汉 1086

linux学习lesson56

文章目录1 nfs介绍2 nfs服务端安装配置3 nfs配置选项 1 nfs介绍 NFS是Network File System的缩写 NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本 NFS数据传输基于RPC协议,RPC为Remote Procedure Call的简写。 NFS应用场景是:A,B,C三台机器上...

InfiniteIdea_Go的博客 260

linux学习lesson18

目录 1 进入编辑模式 2 vim命令模式 3 vim实践 1 进入编辑模式 i            在当前字符前插入 I            在光标所在行的行首插入 a            在当前字符后插入 A            在光标所在行的行尾插入 o            在当前行的下一行插入新的一行 O            在当前行的上一行插入新的一行  ...

InfiniteIdea_Go的博客 341

linux学习lesson57

文章目录1 exportfs命令2 nfs客户端问题3 ftp介绍4 使用vsftpd搭建ftp服务 1 exportfs命令 常用选项 -a 全部挂载或者全部卸载 -r 重新挂载 -u 卸载某一个目录 -v 显示共享目录 以下操作在服务端上 vim /etc/exports //增加 /tmp/ 192.168.139.112/24(rw,sync,no_root_squash) 重新加...

InfiniteIdea_Go的博客 380

linux学习lesson52

文章目录1 nginx负载均衡2 ssl原理3 生产ssl密钥对(yum install -y openssl)4 nginx配置ssl 1 nginx负载均衡 编辑配置文件: [root@linux01 ~]# vim /usr/local/nginx/conf/vhost/load.conf // 写入如下内容 upstream qq_com { ip_hash; server 111.16...

InfiniteIdea_Go的博客 544

Linux:37信号lesson26

信号量集第一个成员*sem.base:起始信号量可以malloc多个信号量sem_nsems:有多少个信号量。

WG_17的博客 1187
上一篇: linux学习lesson24
下一篇: Linux环境变量之“PS1"
InfiniteIdea_Go
博客等级 码龄8年 3粉丝 77原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值