技术提示
Linux 命令行的多功能性常常被低估。诸如复杂的 multimedia 处理等任务,不必使用只能在功能强大的机器上运行的笨重 GUI 来完成。
如果您在机器上安装了 MPlayer 和配套程序 mencoder,那么简单的 Linux 命令行就可以做到。
mencoder 是一个非常强大的程序,可以录制模拟和数字电视、对录制的视频进行后期处理、应用各种滤镜等等。更多信息请参见在线 man 手册和源代码捆绑的 HTML 文档。
这里,我们面临着将彩色电影转换为黑白的简单任务。 这行命令将为您完成此操作
$mencoder color-video.avi -o black-white-video.avi ↪-vf hue=0:0 -oac copy -ovc lavc
如果您有兴趣尝试色调和饱和度的各种值,可以使用以下命令调用 MPlayer
$mplayer -vf hue color-video.avi
按住 5 或 7 键可降低色调或饱和度。
接下来是一些非常基本的提示。 对于那些已经了解这些信息的人,如果这冒犯了您的智慧,我深感抱歉。 然而,我观察过许多非常 компетентных Linux 用户,他们似乎仍然不了解这些标准命令和技术。 如果您是其中之一,您可能会发现这些信息非常有用。
cd -
几乎每个人都知道您可以输入cd ~以进入当前用户的主目录。 这不是 cd 的功能,但它利用了波浪号是您的主目录的简写这一事实。 命令cd -(短划线而不是波浪号)是 cd 的一个功能。 它会将您带到您切换到当前目录之前工作的最后一个目录。 它还会打印出旧目录路径。 就我个人而言,我从黑暗时代就知道了这个命令,但我仍然会因为忘记使用它而诅咒自己,并且输入了很长的路径名。
不要删除该服务链接
大多数 Linux 发行版仍然使用目录(例如 /etc/rc2.d)来存储许多指向启动文件的符号链接。 您可能知道顺序由大写字母 S 后面的数字确定。 例如,S10acpid 在 S11klogd 之前启动。
我见过许多管理员删除这些链接,以便暂时禁用服务以测试某些东西。 然后,当他们必须弄清楚恢复链接时它曾经具有的启动编号时,他们会抱怨。
不要删除链接;只需重命名它。 例如,将 S25bluetooth 重命名为 s25bluetooth。 以小写字母 s 开头的事实将阻止 bluetooth 服务在下次启动时启动。 当您确定要恢复 bluetooth 时,只需将其重命名回 S25bluetooth 即可。 当然,有一些 GUI 程序可以禁用和启用服务,但是命令行方法非常简单。 请记住,与传统智慧相反,做某事的懒惰方式通常是最好的方式。
我运行许多 Linux 发行版。 如果您也这样做,这是我安装和管理它们的方式。 如果您有更好的方法,请务必将其发送至 techtips@linuxjournal.com,如果我们使用它,您将获得 100 美元的提示费。
在您的驱动器上创建一个相对较小的 ext3 格式的引导分区,您将使用它作为您的主引导分区,GRUB 作为您的引导加载程序。 我的分区是 100MB,这可能有点过头了。
此 /boot 分区通常位于您系统上的第一个驱动器上,但并非必须如此。 使用此分区安装您的第一个发行版。 当一切正常运行时,更改 /etc/fstab 中的行,该行挂载 /boot 分区以将该分区挂载为 /mnt/boot。 创建名为 /mnt/boot 的挂载点。 在那里挂载引导分区。 例如
umount /boot mkdir /mnt/boot mount /dev/sda1 /mnt/boot
然后,将该分区中的所有内容复制到现在是您的发行版的本地 /boot 目录的内容
cp -a /mnt/boot/* /boot
此时,您仍然应该能够启动您刚刚安装的发行版,即使内核文件已重新定位。 但是,这不会持续太久。 您需要更改 menu.lst 的一部分以指定引导文件现在与发行版的其余部分位于同一分区上。 例如,如果您从 /dev/sda1 上的 /boot 和 /dev/sda2 上的 / 开始,请修改您的 menu.lst 文件以使用新分区来查找内核。 这是一个原始示例
title Some Linux Distro root (hd0,0)
在我们的示例中,您会将其更改为这样
title Some Linux Distro root (hd0,1)
接下来的部分有点棘手,有几种方法可以解决它。 例如,您可以简单地复制您的 grub/menu.lst 文件。 但是,我复制了整个 grub 目录,因为否则您可能会意外地遇到各种问题。 这是我接下来做的事情
cd /mnt/boot cp -a grub grub.original
现在,在新的分区中安装您的下一个 Linux 发行版,但指定您用于安装第一个发行版的同一个 /boot 分区。 启动到新的发行版。 重复上面的复制过程。
首先,编辑 /etc/fstab 文件以更改挂载 /boot 的条目以将其挂载为 /mnt/boot。 然后,执行此操作
umount /boot mkdir /mnt/boot mount /dev/sda1 /mnt/boot cp -a /mnt/boot/* /boot
现在,编辑 /mnt/boot/grub.original/menu.lst 以包含新发行版的启动命令。 您可以在 /mnt/boot/grub/menu.lst 中找到新发行版的启动命令。 不要忘记再次修复根位置。 假设您的第二个发行版位于 /dev/sdb1(第二个驱动器的第一个分区)上。 在我们的示例中,您将更改此项
title Second Linux Distro root (hd0,0)
为此项
title Second Linux Distro root (hd1,0)
将原始 grub(带有添加了新发行版的修改后的 menu.lst)复制回 grub 目录
cd /mnt/boot cp -a grub.original/* ./grub
这不仅复制了更新的 menu.lst 文件,而且还恢复了原始 GRUB 二进制文件。 下次重新启动时,您应该会看到原始发行版以及您添加的发行版的菜单项。
要添加更多发行版,请创建新分区,冲洗,重复。
您有时可能会发现,在安装新的发行版后,您需要重置 GRUB。 鉴于我们上面的示例分区,只需以 root 身份执行此操作
grub > root (hd0,0) > setup (hd0)
最后一个提示:不要忘记,当您升级发行版以使其安装新的内核时,您将必须查看该发行版的新 /boot/grub/menu.lst 文件,并使用它作为指南来修改 /mnt/boot/grub/menu.lst 以使用更新的内核。
Linux Journal 为我们发布读者投稿的技术提示支付 100 美元。 将您的提示和联系信息发送至 techtips@linuxjournal.com。