Linux

分类下相关文章

通过宝塔 Linux 面板部署 Laravel 项目

确实是傻瓜式的面板,操作很方便。 虽然看起来土气,但是的确有亮点 PHP 多版本并存,可以在一台机器上同时部署 php 5.2 ~ 7.1 任意版本。每个网站对应不同的 PHP 版本。然后通过 Nginx 配置使用不同的 PHP 版本。 新建数据库很方便,导入 sql 也可以在面板中进行。 Nginx 配置在线编辑,相互隔离,保存即 reload 生效。 但是第一次通过命令行以外的方式部署 Laravel 项目,确实不习惯。特别是宝塔 Linux 默认的软件安装目录。 Nginx 的安装目录 /www/server/nginx/ 各 site 的配置文件 include /www/serv ...

阅读全文...

使用 export 赋值与直接使用 = 赋值的区别

使用 export 赋值的变量能够被子进程继承,而直接使用 = 的不能。 但是在子进程中,无论使用 export 还是 = 都无法改变父进程的值。 而这里所说的父进程,通常是指 bash shell,所以通常修改环境变量都是通过 source some_script.sh ...

阅读全文...

Linux 的目录权限与文件权限的区别

问题 帮朋友搭建一个 wordpress 站点,偷懒的在 root 帐号根目录下部署了。出现了神奇的报错 stat() "/root/wordpress/" failed (13: Permission denied) stat() "/root/wordpress/" failed (13: Permission denied) stat() "/root/wordpress/index.php" failed (13: Permission denied) "/root/wordpress/index.php" ...

阅读全文...

使用了 oh-my-zsh 之后 cd some_dir 变得奇慢无比

想用 strace 跟踪一下,发现 strace 并不支持内置的命令 strace cd ~/work/debugging/ strace: Can't stat 'cd': No such file or directory 网上学了一招 $ stty -echo $ cat | strace zsh > /dev/null 但是,在这个执行环境下,无法重新卡顿的问题。 Google 了一下,发现 zsh -xv 可以打印出 zsh 的执行日志 +zsh:3> cd /home/zhongwei/work/warcraft +omz_termsupport_precmd:1 ...

阅读全文...

Ubuntu 下使用 telnet 访问水木社区

terminal 下直接 telnet newsmth.net 进去之后,会发现中文全部显示乱码。 需要指定编码 luit -encoding GBK telnet newsmth.net luit 命令是一个过滤器,在任意应用程序和 UTF-8 终端仿真器之间运行。luit 命令将应用程序输出从语言环境的编码转换为 UTF-8,并将终端输入从 UTF-8 转换为语言环境的编码。 Segmentation fault (core dumped) 最近使用 Windows 10 上的 WSL 内置的 telnet 登录,一直报错 Segmentation fault (core du ...

阅读全文...

Ubuntu 上通过命令行打开一个文件,类似于 Mac Shell 里的 open

在 Ubuntu 上调试一个图片合成的逻辑,比较麻烦的是,每次改完都要手动打开图片确认效果。 搜索了一下 Linux 上是否存在同 Mac shell 中 open 同样功能的命令。 果然有 xdg-open /tmp/白夜追凶.png 居然还能打开 URL,非常不错。 NAME xdg-open - opens a file or URL in the user's preferred application SYNOPSIS xdg-open {file | URL} DESCRIPTION xdg-open opens a file or ...

阅读全文...

Ubuntu 上安装 Dropbox

最近需要同步一些本地的文档,主要是 office word 文档,但是 Ubuntu 上的网盘只有 Dropbox 有客户端,Google Drive 和微云至今没有 Linux 版。于是决定安装个 Dropbox。 从 Dropbox 官网下载了 Debian 版的安装包,安装之后,发现部分服务需要联网安装。 但是在不使用代理的情况下,进度条纹丝不动 网上找了一个工具 proxychains sudo apt install proxychains sudo vi /etc/proxychains.conf // 将最后一行修改为 socks5 127.0.0.1 1080 // 前提是 ...

阅读全文...

Manual sections

例如:想要查看 c 中 sleep 这个函数的文档 $ man 3 sleep Section 列表 Section Description 1 General commands 2 System calls 3 Library functions, covering in particular the C standard library 4 Special files (usually devices, those found in /dev) and drivers 5 File formats and conventions 6 Games and scre ...

阅读全文...

K.I.S.S 原则

(./first_tool | ./second_tool) < input_file.txt > output_file.txt 加括号是为了保证 input_file.txt 的内容能够通过 stdin 传递给 first_tool,而不是 second_tool. Ask: Ah, I see. And do you deal with a lot of tools? Answer: Arn’t that life? It depends on the operating system. Unix-style systems use a lot of tools to ge ...

阅读全文...

使用 df 监控磁盘的使用

正常 df 的结果输出 df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 1.8T 7.2G 1.7T 1% / none 4.0K 0 4.0K 0% /sys/fs/cgroup udev 3.9G 4.0K 3.9G 1% /dev tmpfs 787M 1.1M 786M 1% /run none 5.0M 0 5.0M 0% /run/lock none ...

阅读全文...

解决 Ubuntu 下 ssh 服务器中文显示乱码

在 Ubuntu 16.10 下使用终端 ssh 登录远程服务器,然后使用服务器上的 VIM 打开代码文件,发现文件中的中文都是乱码。而使用 Mac 的自带终端进行同样的操作,看到的中文显示就是正常的。遂怀疑 Ubuntu 本地的配置有问题。 问题的原因是,本地的 locale 与服务器上的 locale 不匹配。参考链接里提供了四种解决方案,而我觉得 Stop forwarding locale from the client 这种解决方案最简单。 即,修改 Ubuntu 本地的 /etc/ssh/ssh_config 文件,注释掉 SendEnv LANG LC_* 这一行。然后重新 s ...

阅读全文...

php-fpm 自启动失败问题排查

在 vagrant ubuntu 14.04 环境中配置的 php-fpm 总是自启动失败,每次都需要 vagrant ssh 上去切换到 root 手动起来 sudo su - /etc/init.d/php-fpm start 非常不专业 排查思路 首先,确认 init.d 是否有统一的日志文件,从这里看 centos - Is there an init.d start log? - Unix & Linux Stack Exchange,并没有。 然后,确认一下,php-fpm 的日志文件是否记录了启动错误。从 /etc/init.d/php-fpm 启动脚步文件中 ph ...

阅读全文...

Ubuntu 16.10 & Unity 8 安装体验

今天 Ubuntu 16.10 正式发布了,早上来赶紧下载了安装镜像。然后使用 unetbootin 在现有的 Ubuntu 16.04 系统上制作了安装引导 U 盘。 安装过程很快,不到十分钟安装完毕。唯一的期待是 16.10 内置的 Unity 8 体验版,在登录界面,将默认桌面切换为 Unity 8 总体感觉,Unity 8 的界面很清爽。然而除此之外都是差评 没有几个应用 也不知道在哪里添加新应用 打开 terminal 还需要输入密码 内置浏览器下载搜狗拼音输入法,会无限死循环不断打开新 Tab,而且无法停止。重启之后仍然继续开新 tab ... 我还是老老实实地切换回了默认 ...

阅读全文...

mkcast 记录键盘输入并生成 GIF 录屏

一图胜千言 有时候做 demo,使用视频演示最直观不过了,但是视频文件太大,并且不方便将对应的按键显示到屏幕上。 mkcast 完美的解决了这个问题 生成 GIF 录屏 显示按键到屏幕上 下载 mkcast 并安装 git clone https://github.com/KeyboardFire/mkcast.git cd mkcast # 安装依赖 sudo apt-get install wmctrl byzanz -y sudo ./setup.sh 开始录屏,执行 mkcast Terminal 10 -o out.gif 参数说明 Terminal 是对应的终端 t ...

阅读全文...

计划任务

查看计划任务日志的方法 grep CRON /var/log/syslog 动态查看 tail -f /var/log/syslog | grep CRON 参考: Where is the cron / crontab log? ...

阅读全文...