文件操作
名称 | 示例 |
---|---|
删除文件 | rm -f /var/log/httpd/access.log |
删除文件夹 | rm -rf /var/log/httpd/access |
压缩文件:
tar -zcvf archive_name.tar.gz directory_to_compress
解压缩:
tar -zxvf archive_name.tar.gz
解决Linux关闭SSH,终端后运行程序终止问题
每次SSH到服务器上,然后运行了一个自己写的服务端程序,比如 ./myserver.sh ,然后关闭ssh或者终端之后,发现服务不能访问。
ssh登录后会新建一个会话,一个登陆shell发起的会话,一般由一个会话首进程、一个前台进程组、一个后台进程组组成。通常来说,会话首进程是一个登录shell,比如bash。进程组是一个或多个进程的集合,进程组属于一个会话。一般来说,一个进程组中的其它进程的父进程是进程组组长进程的ID,如果,这个进程组组长终止掉之后,这个进程组中其它进程会变成孤儿进程,这个进程组也就成了孤儿进程组。对于后台进程组来说,后台进程组中的进程可以向终端设备写,但是当一个后台进程组中的进程尝试读终端设备的时候,会收到一个SIGTTIN信号,然后停止。当一个进程组成为孤儿进程组的时候,Bash无法知晓其PID,那么就无法将其放入前台,当其试图读终端设备的时候,read()调用将失败,并将errno置为EIO。
总结下就是,ssh登录后,bash都是其子进程,一旦会话终止,该会话期的所有相关的进程都会被杀死。包括后台进程。&是没有用的。
那么怎么解决这个问题呢?使用nohup命令。nohup命令会忽略SIGTTIN信号,从而可以在会话结束之后还可以继续运行。
nohup ./myserver.sh &
后面的&可以加也可以不用加,区别就是是否是后台。和挂断没有关系。
具体的使用方法在 http://zjking.blog.51cto.com/976858/1117828 这篇博客中有提到。
想查看TCP或者UDP端口使用情况
netstat -anp
如果有些进程看不见,如只显示”-”,可以尝试
sudo netstat -anp
如果想看某个端口的信息,使用lsof命令,如:
sudo lsof -i :631
netstat -tln
命令是用来查看linux的端口使用情况
yii 可能遇到Permissiondenied问题
这个问题基本就是权限不足导致的问题,运行以下指令,赋予yii的跟目录的权限就能解决
sudo chmod -R o+rw /Library/WebServer/Documents/basic/
git导出干净的代码
使用 git archive
可以导出干净的代码,具体可以看 git
help archive
,简单使用如下:
bash
git archive --format zip --output "./output.zip" master -0
Hi, this is a comment.
To get started with moderating, editing, and deleting comments, please visit the Comments screen in the dashboard.
Commenter avatars come from Gravatar.