Linux

分类下相关文章

快速登录 laravel 项目对应的 mysql 数据库

Laravel 项目的开发联调阶段,我经常要到服务器上修改 mysql 的表结构。每次打开 .env 文件 copy mysql 用户名及密码,然后复制到 mysql 命令行登陆,非常繁琐。 于是,我写了一个 shell 脚本,可以自动获取 .env 中的 mysql 参数,一键登录 laravel 项目对应的数据库。 #!/bin/bash source .env mysql -u$DB_USERNAME -p$DB_PASSWORD -D$DB_DATABASE 脚本置于 /usr/local/bin/mysql_laravel.sh 添加执行权限 chmod +x /usr/loca ...

阅读全文...

tmuxinator 无法启动,no server running on /tmp/tmux-1000/default

好几台新装的 Ubuntu 系统 (18.04, 及 16.04) 中 tmuxinator 无法启动,报错 $ tmuxinator xxx /usr/lib/ruby/vendor_ruby/tmuxinator/project.rb:254: warning: Insecure world writable dir /home/zhongwei/bin in PATH, mode 040777 sh: 10: cd: can't cd to /home/zhongwei/work/xxx no server running on /tmp/tmux-1000/default no ser ...

阅读全文...

terminal 中查看当前使用的是什么 shell

突然发现我新安装的 ubuntu 18.04 上,terminal 中的提示符跟 tmux 中的不一致。于是,我想看看这两个分别使用的是什么 shell。 tmux 中 $ echo $0; /bin/zsh terminal 中 $ echo $0; bash 原理 $0 代表当前运行的进程名字,所以,当在 shell 中输出 $0 时,即是 shell 的名称。但是,如果是在脚本中输出,则是脚本的名字。 参考 https://askubuntu.com/questions/590899/how-to-check-which-shell-am-i-using ...

阅读全文...

ubuntu 18.04 - zsh: command not found: ifconfig

在新安装的 ubuntu 18.04 destop 上,想要查看本地 IP 地址 $ ifconfig zsh: command not found: ifconfig 我以为自己敲错命令了,反复试,还是 command not found 这个错误。用了十几年的命令,第一次遇到找不到的情况。。。 Google 了一下,才知道 ifconfig 已经被抛弃了。。。取而代之的是 ip 命令 新的 ip 命令,查看本机 IP 地址 ip address 可以缩写为 ip a $ ip address 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 ...

阅读全文...

Ubuntu 18.04 将程序添加到 Gnome 桌面菜单栏

类似于 windows 的快捷方式,Gnome 会查看 /usr/share/applications ~/.local/share/applications 这两个目录下的 .desktop 文件。 例如 $ ls /usr/share/applications simplenote.desktop gedit.desktop $ ls ~/.local/share/applications wechat_dev_tools.desktop chrome-blpcfgokakmgnkcojhhkbfbldkacnbeo-Default.desktop simplenote.deskt ...

阅读全文...

ubuntu 上使用 systemd 管理 redis 开机自动启动

之前一直使用 supervisor 来管理进程,但是偶然发现 systemd 已经成为主流并内置于 Ubuntu,所以拿 redis 测试一下效果。 测试环境 ubuntu 18.04 ubuntu 16.04 安装 Redis 下载最新的 redis https://redis.io/download 编译安装 tar xzvf redis-4.0.10.tar.gz cd redis-4.0.10 make make test sudo make install 确认安装完成 $ which redis-cli /usr/local/bin/redis-cli redis 的配置 ...

阅读全文...

以 www-data 的身份执行 crontab 的计划任务

新建了一个 Laravel 的计划任务,配置好 crontab * * * * * php /www/sunzhongwei/artisan schedule:run >> /dev/null 2>&1 同时,将当前登录用户,添加到了 www-data 的用户组,以防止无法访问 storage/logs 下的日志文件。 但是,执行了一段时间,导致 web 请求报错 file_put_contents(/www/sunzhongwei/storage/framework/cache/data/f1/6c/f16xxxx56b65501434d05bf1fc20c9fc ...

阅读全文...

Ubuntu 18.04 GNOME SHELL 内置的录屏工具

Ubuntu 18.04 内置了一个录屏工具,但是这个录屏工具太低调了,即没有图标,也没有菜单启动项,只有快捷键。。。 启动方式,同时按下键盘的 Ctrl + Alt + Shift + R 这时,会看到 Ubuntu 桌面的右上方多了一个红色的小圆点,代表正在录制。 停止录屏,也是同时按下 Ctrl + Alt + Shift + R 操作非常简单,对于录制编程界面,或者程序功能演示视频,足够了。 默认情况下,30秒会自动结束。 下面是我录的一段视频,上传到了 Youtube 上 修改默认时长 如果你嫌默认的 30 秒不够用,可以通过参数调整 gsettings set org.gno ...

阅读全文...

重装升级 Ubuntu 18.04

一直使用的是 Ubuntu 16.10,早就想升级了,因为懒,一直没有动手。正好赶上手头的项目都告一段落,没有太紧急的开发任务; 加之升级微信小程序开发助手把开发环境搞炸了,所以我下定决心升级一波。 重装前的备份文件 ~/.ssh/id_rsa ~/.ssh/id_rsa.pub 主要是懒得登录并更新服务器上的 key 文件。 安装 安装过程没有什么好说的,傻瓜式搞定。 GNome 界面 还是不太适应这个新界面,很多使用习惯感觉很诡异。 关闭按钮回到了右上角 选择文件按钮在右上角,这个太不友好了 但是总体上感觉漂亮了不少。。。 蛋疼的中文输入法 安装了搜狗输入法,怎么也调不出来。 只好选 ...

阅读全文...

Ubuntu 18.04 上设置桌面程序开机自启动

需求 在新安装的 Ubuntu 18.04 系统上,将有些不可描述的程序开机之后自动启动 Startup Applications Preferences 打开 Startup Applications Preferences,在里面添加你需要执行的命令即可。 测试成功! 参考 https://help.ubuntu.com/stable/ubuntu-help/startup-applications.html 失败的尝试 开机自启动 crontab man 5 crontab @reboot Run once, at startup. 但是,我添加了启动配置之后 @reb ...

阅读全文...

Indicator Stickynotes - Ubuntu 桌面便签小工具

年纪越大,事情越多越杂。写着代码一旦被紧急事情打断,回头就忘了刚才在干什么。。。 虽然 trello 上有任务列表,但是太多看板,太多人的任务在一起,有时候找起来也是个麻烦事。 所以我急需一个 Ubuntu 上类似 windows 系统自带的便签小工具,能固定在桌面上,always on top,以便随时知道我之前在干啥。。。 安装 Indicator Stickynotes sudo add-apt-repository ppa:umang/indicator-stickynotes sudo apt-get update sudo apt-get install indicator-st ...

阅读全文...

线上修改属于 www-data 用户组的文件

独自开发后台的调试阶段,没有比线上直接修改代码更痛快的事情了。。。。 但是代码部署时通常是设置在 www-data 用户组下,而我的独立登录帐号是没有权限修改这些源文件的。 解决方法 为源代码添加组的修改权限 把当前帐号添加到 www-data 用户组下 $ sudo find YOUR_CODE_DIR -type f -exec sudo chmod 664 {} \; $ sudo adduser CURRENT_USER www-data Adding user `CURRENT_USER' to group `www-data' ... Adding user CURRENT_U ...

阅读全文...

xargs 与 pipe 的区别

xargs 是将标准输入转为后面命令的参数。 pipe 是将标准输出转为下个命令的标准输入。 xargs 的逻辑 从标准输入读取内容,以空格或者换行进行分割,输出结果,做为命令的参数。 xargs 应用举例 例如,升级某个框架自动新建了许多文件,但是我又想放弃升级了,那么如何将新增的零散文件批量删除呢? 先 git status 找到新增的文件列表,然后将文件列表 copy 到 /tmp/a.txt 文件中,然后执行 cat /tmp/a.txt | xargs rm ...

阅读全文...

Ubuntu 下通过命令行安装 .deb 格式的程序

一直使用的 Simplenote 客户端提示下载新版 1.1.3,但是下载之后,双击打开,怎么也安装不上。Ubuntu 自带的 Software Center 要么一直转菊花,要么假死状态。 不得以,还是要使用最靠谱的命令行方式安装 sudo dpkg -i ~/Downloads/Simplenote-linux-1.1.3.deb 瞬间安装完成。。。 dpkg dpkg 是 Debian Package Management System 的缩写,不是很好记这个命令。 Debian PacKaGe 应该是取的这四个字母。 -i 是 install 的缩写。 如果要卸载就使用 -r 即,re ...

阅读全文...

使用 sshfs 配合 vim 编辑远程服务器上的文件

ssh 到服务器上进行开发调试,最大的缺点是,不能使用本地已配置好的开发工具。 所以,思来想去还是决定将远程服务器的目录挂载到本地。 首先,开发机是 ubuntu 安装 sshfs sudo apt-get install sshfs 建立一个本地的项目目录 mkdir ~/work/xproject 将远程服务器上的对应目录映射到本地新建的目录 sshfs -o idmap=user xxx@xxx.com:/home/xxx/xproject ~/work/xproject 大功告成! cd ~/work/xproject ls 一下就能看到对应目录下所有的远程文件了。 然后就 ...

阅读全文...

近期节日

2018年12月10日 世界人权日
2018年12月12日 西安事变纪念日
2018年12月13日 南京大屠杀
2018年12月20日 澳门回归日
2018年12月21日 国际篮球日
2018年12月22日 冬至
2018年12月24日 平安夜
2018年12月25日 圣诞节
查看更多节日