Linux

分类下相关文章

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 一下就能看到对应目录下所有的远程文件了。 然后就 ...

阅读全文...

ssh 上服务器后,避免连接频繁被断开

最近调一个线上的 wordpress 主题,实在懒得搭建本地开发环境,我就直接在服务器上开发调试了。 但是问题来了,ssh 上服务器使用 vim 进行开发调试,最不爽的一点是,经常性会遇到 Write failed: Broken pipe 即,一段时间不进行键盘操作,本地与服务器的网络连接就会自动断开。 然后,就需要重新 ssh 上去,非常烦躁。 网上找了一个好方法,编辑本地的 ssh 配置 sudo vim /etc/ssh/ssh_config 添加两行配置 ServerAliveInterval 30 ServerAliveCountMax 10 就能完美解决网络自动断开的问题。 ...

阅读全文...

从 ifconfig 读取网卡流量

如何读懂网卡流量数据? 感觉很多网卡流量的数据都是从 ifconfig 读取到的,所以先看一个 ifconfig 的各种输出结果、以及概念。 先从土鳖的百度百科看起, http://baike.baidu.com/view/1001503.htm ifconfig 的全称是 network interfaces configuring,即网络接口设置。interface 这 个词,会在监控指标里出现,例如 interface-eth0, interface-eth1, interface-lo. 看一个 ifconfig 的输出 eth0 Link encap:Ethernet H ...

阅读全文...

通过宝塔 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 // 前提是 ...

阅读全文...