您现在的位置是:首页 >其他 >PHP面试宝典之Linux网站首页其他

PHP面试宝典之Linux

书生及第 2024-06-14 17:20:22
简介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不会,但如果多个分支就要处理多次冲突

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。