linux中命令cp复制拷贝访问权限和修改时间

默认cp命令拷贝只是文件的内容,文件的修改时间是不同的

[root@localhost test]# ll
总用量 4
-rwxr--r-- 1 root root 277 2月  14 16:00 hello.pl
[root@localhost test]# cp hello.pl hello.pl1
[root@localhost test]# ll
总用量 8
-rwxr--r-- 1 root root 277 2月  14 16:00 hello.pl
-rwxr--r-- 1 root root 277 2月  14 16:01 hello.pl1

如果想复制拷贝访问权限和修改时间,可以使用-p参数实现。

[root@localhost test]# cp -p hello.pl hello.pl2
[root@localhost test]# ll
总用量 12
-rwxr--r-- 1 root root 277 2月  14 16:00 hello.pl
-rwxr--r-- 1 root root 277 2月  14 16:01 hello.pl1
-rwxr--r-- 1 root root 277 2月  14 16:00 hello.pl2
分类至 Linux
0条评论

docker CMD和ENTRYPOINT指令

CMD 和 ENTRYPOINT 指令都是用来指定容器启动时运行的命令。

单从功能上来看,这两个命令几乎是重复的。单独使用其中的一个就可以实现绝大多数的用例。

exec 模式和 shell 模式

CMD 和 ENTRYPOINT 指令都支持 exec 模式和 shell 模式的写法,所以要理解 CMD 和 ENTRYPOINT 指令的用法,就得先区分 exec 模式和 shell 模式。这两种模式主要用来指定容器中的不同进程为 1 号进程。Docker容器仅在它的1号进程(PID为1)运行时,会保持运行。如果1号进程退出了,Docker容器也就退出了。

分类至 Docker
0条评论

python selenium 爬虫脚本示例

环境要求

1、安装 python3 环境后,用 pip 安装 selenium 包:pip install selenium

2、安装 Google Chrome 浏览器,我安装的版本是:89.0.4389.90(64 位)

3、安装 chromedriver,可以从国内镜像下载 https://npm.taobao.org/mirrors/chromedriver 。注意,上图 Chrome 浏览器的主板号是89,下载的 chromedriver 主版本号要一致...

分类至 Python
0条评论

php 时区对 strtotime 函数的影响

来看两段代码

代码1(时区设为巴黎):...

代码2(时区设为上海):...

已知巴黎时区比上海时区慢7个小时,对比两段代码的执行结果,两个 $time1 格式化后显示没有问题,$time2 格式化后显示也是差7个小时。然而,同样是 +30 day,两个 $time2 的时间戳却不同,相差了3600秒,也就是1小时。

分类至 PHP
0条评论

python 脚本输出时禁用缓冲区

在 linux 系统上运行 python 脚本时,做了输出重定向,如:

python3 script.py > out.log &

实际运行时,脚本的输出并没有实时输出到 out.log 里面。因为后台运行 python 程序输出会先输出到缓冲区,等缓冲区满或者脚本结束后再输出。

想要实时输出,加个 -u 参数即可:

python3 -u script.py > out.log &

这个 -u 也可以加在 script.py 脚本头部:#!/usr/bin/python3 -u

分类至 Python
0条评论

mb_substr 编码问题

PHP 中 mb_* 系列函数用于处理多字节字符串,平时比较常用就是字符串截取 mb_substr,可以有效规避中文字符串截取的乱码问题。

mb_substr 的格式为:

mb_substr( string $str, int $start[, int $length = NULL[, string $encoding = mb_internal_encoding()]] ) : string

第4个参数 encoding 为字符编码。如果省略,则使用内部字符编码。

那么,这个“内部字符编码”是什么呢?我们可以通过函数 mb_internal_encoding 设置和获取...

分类至 PHP
1条评论

Docker 以指定用户身份进入容器

平时习惯这样进入 php-fpm 容器:

$ docker exec -it php-fpm bash

进去以后,默认是 root 帐号。

现在有些指令想用 www-data 帐号来执行,切换 www-data 帐号时却提示该帐号未启用:

$ su www-data
This account is currently not available.

 

分类至 Docker
1条评论

Docker 容器挂载数据卷出现 Permission denied 权限问题的解决办法

问题原因及解决办法
原因是CentOS7中的安全模块SELinux把权限禁掉了,至少有以下三种方式解决挂载的目录没有权限的问题:

1.在运行容器的时候,给容器加特权,及加上 --privileged=true 参数。使用该参数,容器内的root拥有真正的root权限。否则,容器内的root只是外部的一个普通用户权限

  $ docker run --name study_mysql --privileged=true -p 3306:3306  -v /data/mysql/datadir:/var/lib/mysql -v /data/mysql/conf.d:/etc/mysql/conf.d -e  MYSQL_ROOT_PASSWORD=123456 -d  mysql:latest

2.临时关闭SELinux:
setenforce 0

3.添加SELinux规则,改变要挂载的目录的安全性文本
可参考:http://www.bubuko.com/infodetail-2075102.html

分类至 Docker
0条评论