Tag: Debian & Ubuntu

Linux 删除 100GB 以上大容量档案

在 Linux 下要删除档案,可以用 rm 指令很简单地完成,但 rm 指定遇上容量很大的档案时,例如 100GB 以上,删除时会占用很多系统资源,如果系统的资源很紧张,也有可能在执行时当掉。 以下会介绍在 Linux 下要删除大容量档案, 而不会占用过多系统资源 (I/O) 的方法。 这个方法的原理是先清空档案内容,然后再用 rm 删除。Linux 下清空档案的方法有很多,以下列出其中两种,并假设要删除的档案是 big-file.log: $ echo “” > big-file.log $ cat /dev/null > …

Ubuntu 开放 root 登入 ssh

基于保安理由, Ubuntu 默认不能用 root 登入 ssh, 但如果是用作内部测试的主机, 为了方便使用, 可以用以下方法解除限制: 首先要重新设定 Ubuntu 的 root 密码, 输入以下指令: $ sudo passwd root 修改了 root 密码后, 开启 sshd 的设定档: $ sudo vi /etc/ssh/sshd_config …

Ubuntu 升级/更新新版本 Kernel

升级及更新 Linux kernel, 除了可以增加对新硬件的相容性, 也可以改善的安全性及稳定性, 以下是在 Ubuntu 升级 Linux Kernel 的方法。 首先到 Ubuntu 官方的 Kernel 专页: http://kernel.ubuntu.com/~kernel-ppa/mainline/ 在那里选择要下载的 Kernel 版本, 按下连结后, 会出现 .deb 的连结, 分别下载以下三个档案, 要注意自己系的位元数: linux-headers-x.x.x-……all.deb linux-headers-x.x.x-generic_……deb linux-image-x.x.x-generic_…….deb …

Shell Script 将数值补零

很多时在写程式时, 需要将一些数值补零, 例如 1 显示为 001, 以下是 Shell Script 的实现方法: Shell Script 的 printf 函式已经可以做到自动补零, 例如想将 8 显示为 “008”, 可以这样写: 除了在数值的前面补零外, 也有一种情况是在小数点补零, 例如数值 “8” 是整数, 但也要强制显示小数点后一个位, 可以这样写: 如果想将上面的结果放到变量, 可以这样写: …

Shell Script 遇到错误时自动退出离开

Shell Script 里面的指令, 如果没有用条件控制 (例如 if), 不管之前的指令执行结果如何, 每个指令也会逐一执行, 例如: 上面的程式码很简单, 只是用 cd 指令转换到 /path/dir 目录, 然后执行 rm 指令, 将所有 .txt 结尾的档案删除。 但如果执行 cd 指令的时出错, 例如 /path/dir 目录不存在, 或者没有权限进入, 那便会在当前目录删除所有 …

vi / vim 整行复制/剪下/贴上

如果透 SSH 连接到 Linux Server, 用 vi 或 vim 开启档案后, 要将里面的文章复制并贴上, 很多时会用 SSH Client 的复制贴上功能。 例如以 Putty 为例, 用鼠标 Highlight 文字会复制, 按鼠标右键会贴上。 但这种方法要在键盘跟鼠标间操作很麻烦, 其实如果要将整行复制, 可以用 vi 内建的复制贴上功能, 全部在键盘完成, 方法如下: …

CentOS root 删除档案报错: Operation not permitted

root 在 Linux 系统下有最高权限, 但如果用 root 身份执行 rm 指令删除档案, 或要修改档案时, 有些情况可能会出现以下错误: rm: cannot unlink ‘filename’: Operation not permitted 出现这个问题, 多数是因为 chattr 指令锁定了该档案。用 chattr 指令锁定档案后, 除了不能删除外, 也不能修改及改动, 必须要用 chattr 指令解除锁定才可以: …

Linux 定时删除旧档案

在 Linux 下有时会有一些暂存盘或日志档需要定时删除, 如果只要在特定目录下, 删除档名包含有指定字串的旧档案, 可以不用 Shell Script, 而直接在 crontab 用 find 指令完成 。 例如我想将 /var/www/html/tmp/ 目录下, 将所有超过 7 日的档案, 并以 “delname.log” 作为档案开头删除, 可以在 crontab 加上以一行, 先开启 crontab : …