PHP面试宝典之Linux

fork()函数?

从一个已存在进程中创建一个子进程,并将父进程内部数据复制一份交给子进程;

返回值:子进程中执行返回0,父进程中执行返回子进程ID,创建失败返回-1

文件权限?

r:读,w:写,x:执行权限,十位,四组

第一组:一位:-表示普通文件,c表示字符设备,b表示

第二组:三位:用户权限u

第三组:三位:组权限g

第四组:三位:其他权限o

shell脚本?

文件以.sh结尾

执行方式:./ 文件名、bash 文件名、.文件名

修改权限:chmod +x

定义开头:#!/bin/sh
注释:#
输出:echo
php向shell传递参数:$1,$2,$3
shell向php传递参数:空格变量名;php通过$argv数组获取
引号:双引号是变量值,单引号是作为字符串引用

linux命令?

打包:tar czf;gzip;zip;
解压:tar xzf;gunzip;unzip;
创建目录:mkdir
修改权限:chown -R
查看文件最后10行:tail -n 10 text.log
重启nginx服务器:service nginx restart
重启进程:service supervisor restart
重启php: service php7.1-fpm restart
查找指定目录下文件:find
编辑crontab定时任务:crontab -e
查看服务进程:ps -ef | grep nginx
当前目录:pwd
显示文件内容:cat
删除命令:rm -rf 目录/ (递归删除)
重命名/移动文件到目录:mv 被操作文件 文件名/新目录
查看文件最后10行并高亮某词:tail -n 10 | grep "time_diff"
查看正在改变的文件:tail -f
复制文件:cp 文件名 被复制地址
查看命令历史:history

Git常于命令:

初始化仓库:git init
克隆:git clone
暂存:git add
提交:git commit
推送:git push
检出、切换分支:git checkout
创建分支:git branch
清理:git clean
拉取:git fetch
拉取合并:git pull
查看状态:git status
查看历史:git log
合并分支:git merge
合并分支:git rebase -i(start, end)左闭右开,合并多个commit为一个commit
回滚:git reset --hard commit_id(版本id)(恢复到指定版本,版本后所有修改重置)
回滚:git revert -n commit_id(版本id)(只恢复指定版本,只修改指定的一个版本)

merge和rebase的区别?

相同:
都是用来合并分支的;

区别:

日志区别:
merge:不会保留merge分支的commit,rebase会保留

处理冲突的区别:

merge解决完冲突,会产生一个commit,rebase不会,但如果多个分支就要处理多次冲突

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值