Linux命令篇之cp
关于 –今天有个同事问我,shall编程里的 cp -rf -- 中的--的作用是什么,不知道啊,略尴尬,就查查学习学习
-- 主要是为了解决cp特殊字符文件名的情况,例如 文件名是-aaa.txt,进行cp时,cp -aaa.txt会报错。shell 把破折号(-)之后的内容认作参数了,而很明显没有这样的参数,所以报错 这时候使用 cp -- -aaa.txt 即可
针对-开头的文件需要使用--来告知bash,不要将这里的-解释为参数
针对其它特殊字符,使用'单引号把文件名括起来
针对文件名还包含'或者"的情况,就需要交替使用规则
命令格式1cp [options] source dest
或者
1cp [options] source... directory
选项:
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合
-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户 ...
homebrew换源
国内使用默认brew源过慢,经常导致失败,查了一下换中科大的源,亲测很快,备份下
123456cd "$(brew --repo)"git remote set-url origin https://mirrors.ustc.edu.cn/brew.gitcd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.gitcd "$(brew --repo)/Library/Taps/homebrew/homebrew-cask"git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git
Laravel 服务容器实例教程--深入理解控制反转(IoC)和依赖注入(DI)
容器,字面上理解就是装东西的东西。常见的变量、对象属性等都可以算是容器。一个容器能够装什么,全部取决于你对该容器的定义。当然,有这样一种容器,它存放的不是文本、数值,而是对象、对象的描述(类、接口)或者是提供对象的回调,通过这种容器,我们得以实现许多高级的功能,其中最常提到的,就是 “解耦” 、“依赖注入(DI)”。本文就从这里开始。
IoC 容器 —— Laravel 的核心Laravel 的核心就是一个 IoC 容器,根据文档,称其为“服务容器”,顾名思义,该容器提供了整个框架中需要的一系列服务。作为初学者,很多人会在这一个概念上犯难,因此,我打算从一些基础的内容开始讲解,通过理解面向对象开发中依赖的产生和解决方法,来逐渐揭开“依赖注入”的面纱,逐渐理解这一神奇的设计理念。
本文一大半内容都是通过举例来让读者去理解什么是 IoC(控制反转) 和 DI(依赖注入),通过理解这些概念,来更加深入。更多关于 laravel 服务容器的用法建议阅读文档即可。
IoC 容器诞生的故事讲解 IoC 容器有很多的文章,我之前也写过。但现在我打算利用当下的灵感重新来过,那么开始吧
超人和超能力,依 ...
phpbrew 安装多版本php
phpbrew 安装English中文
使用参考安装 7.312345phpbrew install \ --mirror=https://www.php.net 7.3 \ +default+mysql+fpm+opcache+bcmath+zlib \ +bz2="$(brew --prefix bzip2)" \ +zlib="$(brew --prefix zlib)"
参数说明
–mirror参考
+bz2 +zlib参考
后者可能是因为 lookup-prefix 设置不合理,默认是在 homebrew 的安装目录查找
安装 7.0123456789101112phpbrew install \ --mirror=https://www.php.net 7.0 \ +default+mysql+opcache+session+debug+hash+zlib+gd+iconv+fpm \ +bz2=" ...
解决dyld: Library not loaded icu4c
起因brew 安装 npm,安装完成后发现php用不了了,报错信息如下
1234dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.61_1.dylibReferenced from: /usr/local/opt/php7/bin/phpReason: image not foundTrace/BPT trap: 5
定位问题PHP7依赖61_1版本的icu4c,使用brew info icu4c 提示当前版本为63。那么解决办法就来了
升级php到7.3,但是这样会导致一堆php版本问题;
或者将icu4c降级到61_1版本,但是这node就不能用了
安装两个icu4c,来回切换
这样看来,方案3最靠谱~
解决问题没有找到brew直接安装多版本的icu4c的方案,所以直接编译到brew的目录,然后用brew进行管理版本,本地的环境为mac ios 10.15
找到需要的版本官网地 ...
SQL用正则表达式进行搜索
偶然发现sql可以进行正则匹配搜索内容,新大陆
关键字 REGEXP
.表示匹配任意一个字符1select * from products where name regexp '.000'
or匹配1select * from products where name regexp '1000|2000'
匹配几个字符之一1select * from products where name regexp '[123]Ton'
匹配范围1select * from products where name regexp '[1-3]Ton'
匹配字符类
类
说明
[:alnum:]
任意字母和数字(同[a-zA-Z0-9])
[:alpha:]
任意字符(同[a-zA-Z])
[:blank:]
空格和制表(同[\t])
[:cntrl:]
ASCII控制字符(ASCII 0到31和127)
[:digit:]
任意数字(同[0-9])
[:graph:]
与[:print:]相同,但不包 ...
myisam与innoDB的主要区别和应用场景
主要区别:
MyISAM是非事务安全型的,而InnoDB是事务安全型的。
MyISAM锁的粒度是表级,而InnoDB支持行级锁定。
MyISAM支持全文类型索引,而InnoDB不支持全文索引。
MyISAM相对简单,所以在效率上要优于InnoDB,小型应用可以考虑使用MyISAM。
MyISAM表是保存成文件的形式,在跨平台的数据转移中使用MyISAM存储会省去不少的麻烦。
InnoDB表比MyISAM表更安全,可以在保证数据不会丢失的情况下,切换非事务表到事务表(alter table tablename type=innodb)。
应用场景:
MyISAM管理非事务表。它提供高速存储和检索,以及全文搜索能力。如果应用中需要执行大量的SELECT查询,那么MyISAM是更好的选择。
InnoDB用于事务处理应用程序,具有众多特性,包括ACID事务支持。如果应用中需要执行大量的INSERT或UPDATE操作,则应该使用InnoDB,这样可以提高多用户并发操作的性能。
MySQL connection 的相关信息
查看mysql连接数的语句
mysql 中有Max_connection,这个值是对应于一个mysql实例。一个mysql 实例中 ,可以有多个database、movie_log、movie_order、movie_pay 等。
show variables like '%max_connections%';可以查看当前数据库实例设置的最大连接数。实际MySQL服务器允许的最大连接数16384。
show variables; 可以查看当前数据库实例配置的所有变量,即my.ini 文件中的配置信息。
show processlist;如果是root帐号,你能看到所有用户的当前连接。如果是其它普通帐号,只能看到自己占用的连接。注:show processlist;只列出前100条,如果想全列出请使用show full processlist;
show status; 查看当前数据库的状态。
show status like '%Threads%';查看当前数据库线程变量的状态。
结果:
12345678+-------------------+--- ...
Zookeeper知识点整理
ZooKeeper 是一个开源的分布式协调服务,可以基于 ZooKeeper 实现诸如:数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、配置维护,名字服务、分布式同步、分布式锁和分布式队列等功能。
Zookeeper 的认识ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper 的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
Zookeeper 都有哪些功能
集群管理:监控节点存活状态、运行请求等;
主节点选举:主节点挂掉了之后可以从备用的节点开始新一轮选主,主节点选举说的就是这个选举的过程,使用 Zookeeper 可以协助完成这个过程;
分布式锁:Zookeeper 提供两种锁:独占锁、共享锁。独占锁即一次只能有一个线程使用资源,共享锁是读锁共享,读写互斥,即可以有多线线程同时读同一个资源,如果要使用写锁也只能有一个线程使用。Zookeeper 可以对分布式锁进行控 ...
Linux命令篇之df
Linux df命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计。
常用选项123456789101112131415161718df [选项]... [FILE]...文件-a, --all 包含所有的具有 0 Blocks 的文件系统文件--block-size={SIZE} 使用 {SIZE} 大小的 Blocks文件-h, --human-readable 使用人类可读的格式(预设值是不加这个选项的...)文件-H, --si 很像 -h, 但是用 1000 为单位而不是用 1024文件-i, --inodes 列出 inode 资讯,不列出已使用 block文件-k, --kilobytes 就像是 --block-size=1024文件-l, --local 限制列出的文件结构文件-m, --megabytes 就像 --block-size=1048576文件--no-sync 取得资讯前不 sync (预设值)文件-P, --portability 使用 POSIX 输出格式文件-- ...