Tag: Debian & Ubuntu
rsync 是很常用的档案传送工具,以下会介绍用 rsync + SSH 传送档案,并以 CentOS 7 作为测试环境。 第一步先在 Server 产生一组 public SSH keys, 该 Client 端可以不用输入密码登入 SSH: 现在可以将 public.key 的内容复制起来,可以用 cat 指令: 将以上 public.key 内容复制后,登入到 Client 端,并储到到 …
在 Linux 很多时都会用 sudo 以 root 身份执行指令,一般情况下执行 sudo 后需要输入使用者密码确认,但有些情况不能输入密码,例如 Shell Script, 在这种情况下系统记录档会出现以下错误: sudo: sorry, you must have a tty to run sudo 出现问题的原因,是多数 Linux 发行版,默认使用 sudo 开启了 requiretty,要解决很容易,只要用 visudo …
Linux 下有很多工具可以进行硬盘复制, 例如 Clonezilla 及 HDdrives等, 而 Linux 内建的 dd 及 cat, 同样可以将整颗硬盘复制到另一颗硬盘, 除了硬盘外, 对其他储存装置同样适用, 以下是 dd 及 cat 指令复制硬盘的方法。 dd 指令 差不多全部的 Linux 发行版已经内建了 dd 指令, 它可以很简单地进行硬盘复制的动作, 但在进行复制时要格外小心, …
如果在使用一些指令 (例如 rm) 不小心, ShellCheck 是一个 Shell Script 分析及除错工具, 之后要花很多时间修复, 可以在尝试执行 Shell Script 前先找出 Warning 及一些建议。以下会纪录安装及使用 ShellCheck 的步骤。 安装 ShellCheck 安装 ShellCheck 可以用 yum 或 apt-get 直接安装: RHEL, CentOS, …
当 Apache 其中一个 Virtual Host 占用资源过多时,会拖慢整台服务器所有网站的速度,这时可以安装 mod_cband 模组,限制个别虚拟主机可以占用的连线数量及频宽,以下会示范在 CentOS 7 安装 mod_cband 模组: 要安装 mod_cband,需要先安装 httpd-devel: # yum install httpd-devel 然后可以下载 mod_cband 及编译安装: # cd /usr/local/src # wget https://github.com/maiha/mod_cband/archive/master.zip …
以前习惯用 Tab 来做缩排,在用 Sublime Text 没什么关系,Tab 跟 4 个空格的长度一致,但近年经常用 vim 直接在 CLI 写程式,当程式需要多层判断式或循环时,很多时在终端机会看得很辛苦,因为在 vim 显示 Tab 会比 4 个空格的距离还长。 所以还是用 4 个空格取代 Tab 较方便,以下是在 vim 及 Sublime Text 按下 …
在 CLI 下执行的小工具,将输出结果以不同颜色呈现,对可读性有很大帮助,在 Python 要控制输出文字的颜色,做法与 html 相似,只是使用 ANSI escape codes 控制颜色输出。显示颜色文字的颜色编号及格式如下: 以下是样式、颜色及背景颜色的可供选项: 文字样式: 0 一般样式 1 粗体 4 加底线 5 灰底 7 文字及背景颜色对调 文字颜色: 30 黑色 31 红色 32 …
netstat 指令可以用作检视网络连线、网卡统计、路由设定及其他关于网络的资讯,对于进行网络上的除错十分有用。除了 Linux 外,在其他主流作业系统也可以找到 netstat, 包括 Mac OSX, Solaris, BSD 及 Windows。 netstat 使用例子: 列出所有连接埠: $ netstat -a 列出所有 TCP 连接埠: $ netstat -at 列出所有 UDP 连接埠: $ netstat …
uniq 指令可以作用去除重复资料,对象可以是档案或者 pipe 管线输入。 uniq 去除重复资料时,只会对连续重复的行进行过滤处理,所以很多时 uniq 会配合 sort 指令一同使用,或者用 “sort -u” 实现。 uniq 使用例子: 例如有一个档案,里面的内容如下: This is a testing. This is a testing. This is a testing. This …
写程式经常需要做字串处理,其中一项常做的是字串分割。在 PHP 有一个很好用的函式是 explode(), 可以根据指定的分割字符,将字串分割,并把每一组分割后的字串放到 array 内. 在 Shell Script 要这样分割字串,可以用 $IFS 变量实现,以下是 Shell Script 的写法: 上面会将字串 “This is a testing.” 以空格分割,并会将分割后的字串放到 new_string 阵列,最后印出该阵列第一个元值,即 “This”. 如果想将分割后的字串逐一印出,可以改成这样: 上面程式的执行结果是: This is …