2023-01-23
一、Linux
1、Liunx的简介
Linux是一套免费使用和自用传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思路,是一个性能稳定的多用户网络操作系统。
2、目前市面上知名的发行版本:
Ubuntu、RedHat、CentOS
二、Linux文件与目录结构
1、Linux文件
Liunx系统中一切皆文件
2、Linux目录结构
(1)/bin
是Binary的缩写,这个目录存放着最经常使用的命令。
(2)/sbin
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
(3)/home
存放普通用户的主目录,在liunx中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
(4)/root
该目录为系统管理员,也称作超级权限者,也称作超级权限者的用户主目录。
(5)/lib
系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DDL文件,几乎所有的应用程序都需要用到这些共享库。
(6)/lost+found
这个目录一般情况下是空的,当系统非法关机后,这个就存在了一些文件。
(7)/etc
所有的系统管理所需要的配置文件和子目录
(8)/usr
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于Windows的program files目录。
(9)/boot
这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
(9)/proc
这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
(10)/src
service缩写,该目录存放一些服务启动之后需要提取的数据。
(11)/sys
这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs。
(12)/tmp
这个目录是用于存放一些临时文件
(13)/dev
类似于windows的设备管理器,把所有的硬件文件的形式存储。
(14)/media
linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux会把识别的设备挂载到这个目录下。
(15)/mnt
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里面的内容了。
(16)/opt
这是给主机额外安装软件所摆放的目录。例如你安装一个MySQL数据库就可以放到这个目录下。默认是空的。
(17)/var
这个目录中存放着在不断扩充着的东西,习惯将哪些经常被修改的目录放在这个目录下。包括各种日志文件。
(18)/selinux
SELinux是一种安全子系统,它能控制程序只能访问特定文件。
三、VI/VIM编辑器
1、VI/VIM
(1)VI:VI是Unix操作系统和类Unix操作系统中最通用的文本编辑器
(2)VIM:VIM编辑器是从从VI发展出来的一个性能更强大的文本编辑器。
2、命令行命令
(1)安装vim
yum -y install vim
(2)删除一个文件
rm -rf 1.cfg
3、一般模式
以vi/vim打开一个档案就直接进入一般模式了。常用语法:
(1)yy:复制光标当前一行
(2)y数字y:复制一段(从第几行到第几行)
(3)p:箭头移动到目的行粘贴
(4)u:撤销上一步
(5)dd:删除光标当前行
(6)d数字d:删除光标(含)后多少行
(7)x:删除一个字母,相当于del,向后删
(8)y:删除一个字母,相当于Backspace,向前删
(9)yw:复制一个词
(10)dw:删除一个词
(11)^:移动到行头
(12)$:移动到行尾
(13)gg或者1+G:移动到页头(第一行)
(14)G:移动到页尾(最后一行)
(15)数字+G(先输入数字,在按G):移动到目标行
4、编辑模式
当按下(i、I、o、O、a、A)其中一个字母就可进入编辑模式。常用语法(按下)
(1)i:当前光标
(2)a:当前光标后
(3)o:当前光标行的下一行
(4)I:光标所在行最前
(5)Esc:退出编辑
5、命令模式
在一般模式中,输入(:、/、?)三个中的任何一个按钮,就可将光标移动到最低下的那一行。基本语法:
(1):w 保存
(2):q 退出
(3):! 强制执行
(4)ZZ(shift+ZZ) 没有修改文件直接退出,如果修改了文件保存后退
(5):%s/old字符/new 字符 批量替换
(6):nohl 去除高亮显示
(7):set nu 显示行号
(8):set nonu 不显示行号
我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co
我得到了一个包含嵌套链接的表单。编辑时链接字段为空的问题。这是我的表格:Editingkategori{:action=>'update',:id=>@konkurrancer.id})do|f|%>'Trackingurl',:style=>'width:500;'%>'Editkonkurrence'%>|我的konkurrencer模型:has_one:link我的链接模型:classLink我的konkurrancer编辑操作:defedit@konkurrancer=Konkurrancer.find(params[:id])@konkurrancer.link_attrib
我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i
使用带有Rails插件的vim,您可以创建一个迁移文件,然后一次性打开该文件吗?textmate也可以这样吗? 最佳答案 你可以使用rails.vim然后做类似的事情::Rgeneratemigratonadd_foo_to_bar插件将打开迁移生成的文件,这正是您想要的。我不能代表textmate。 关于ruby-使用VimRails,您可以创建一个新的迁移文件并一次性打开它吗?,我们在StackOverflow上找到一个类似的问题: https://sta
鉴于我有以下迁移:Sequel.migrationdoupdoalter_table:usersdoadd_column:is_admin,:default=>falseend#SequelrunsaDESCRIBEtablestatement,whenthemodelisloaded.#Atthispoint,itdoesnotknowthatusershaveais_adminflag.#Soitfails.@user=User.find(:email=>"admin@fancy-startup.example")@user.is_admin=true@user.save!ende
给定一个复杂的对象层次结构,幸运的是它不包含循环引用,我如何实现支持各种格式的序列化?我不是来讨论实际实现的。相反,我正在寻找可能会派上用场的设计模式提示。更准确地说:我正在使用Ruby,我想解析XML和JSON数据以构建复杂的对象层次结构。此外,应该可以将该层次结构序列化为JSON、XML和可能的HTML。我可以为此使用Builder模式吗?在任何提到的情况下,我都有某种结构化数据-无论是在内存中还是文本中-我想用它来构建其他东西。我认为将序列化逻辑与实际业务逻辑分开会很好,这样我以后就可以轻松支持多种XML格式。 最佳答案 我最
目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称
最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总
深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal
了解Rails缓存如何工作的人可以真正帮助我。这是嵌套在Rails::Initializer.runblock中的代码:config.after_initializedoSomeClass.const_set'SOME_CONST','SOME_VAL'end现在,如果我运行script/server并发出请求,一切都很好。然而,在我的Rails应用程序的第二个请求中,一切都因单元化常量错误而变得糟糕。在生产模式下,我可以成功发出第二个请求,这意味着常量仍然存在。我已通过将以上内容更改为以下内容来解决问题:config.after_initializedorequire'some_cl