站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
▼
建站程序
开发
服务器
办公软件
开发教程
▼
服务器教程
软件使用教程
运营教程
热门电子书
▼
CSS教程
WordPress教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
热点词条
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
Debian/常用命令与典型错误
”(章节)
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
==nice 命令== 使用 nice(来自 [[GNU]] shellutils 软件包)可设置命令启动时的 nice 值。renice(bsdutils)和 top 可以重设进程的 nice 值。nice 值为 19 代表最慢的(优先级最低的)进程;负值就“not-nice”,如 -20 代表非常快的(优先级高的)进程。只有超级用户可以设定负 nice 值。 # nice -19 top # very nice # nice --20 wodim -v -eject speed=2 dev=0,0 disk.img # very fast 有时极端的 nice 值对系统弊大于利,所以使用该命令要小心。 ===日程安排(cron,at)=== 在 Linux 下使用 cron 和 at 进行任务日程安排。 执行命令 crontab -e 创建或编辑 crontab 文件,为规律事务(按周期循环的事务)安排日程。下面的一个 crontab 文件样例: <pre> # use /bin/sh to run commands, no matter what /etc/passwd says SHELL=/bin/sh # mail any output to `paul', no matter whose crontab this is MAILTO=paul # Min Hour DayOfMonth Month DayOfWeek command (Day... are OR'ed) # run at 00:05, every day 5 0 * * * $HOME/bin/daily.job >> $HOME/tmp/out 2>&1 # run at 14:15 on the first of every month -- output mailed to paul 15 14 1 * * $HOME/bin/monthly # run at 22:00 on weekdays(1-5), annoy Joe. % for newline, last % for cc: 0 22 * * 1-5 mail -s "It's 10pm" joe%Joe,%%Where are your kids?%.%% 23 */2 1 2 * echo "run 23 minutes after 0am, 2am, 4am ..., on Feb 1" 5 4 * * sun echo "run at 04:05 every sunday" # run at 03:40 on the first Monday of each month 40 3 1-7 * * [ "$(date +%a)" == "Mon" ] && command -args </pre> 执行 at 命令为偶然任务(只执行一次的任务)安排日程: $ echo 'command -args'| at 3:40 monday ===用screen来定制控制台=== screen [[程序]]允许在单一的物理终端或终端模拟窗口运行多个伪终端,每个伪终端都拥有自己的交互式 shell。即便可以使用 Linux 伪终端或多个 xterm 窗口,研究一下如何设置 screen 丰富的特性仍很有益,这些特性包括: *回溯历史显示, *拷贝和粘贴, *输出到日志, *图形入口, *将终端与整个 screen 会话分离,稍后再连接。 ===远程访问方案=== 如果你经常从远程终端登录到 Linux 机器或使用 VT100 终端程序,screen 的 detach(分离)特性将简化你的生活。 通过拔号连接登录,运行了一个非常复杂的 screen 会谈,打开了好几个窗口,有编辑器和其它一些程序。 突然你需要离开终端一下,但你并不想挂断连接中止工作。 输入^A d离开会话,然后登出系统。(或者更简单些,输入^A DD离开会话并自动登出系统) 当你回来时,需要再次登录,可输入命令 screen -r,screen 会如魔法般地重新连接上所有打开的窗口。 ===典型的 screen 命令=== 一但打开了 screen 程序,除了命令按键(默认为^A)所有的键盘输入都被送到当前窗口,所有的 screen 命令均按特定方式输入:^A加一个单键命令[加一些参数]的。常用的命令有: * ^A ? 显示帮助屏幕(显示命令集) * ^A c 创建并切换到新窗口 * ^A n 跳到下一个窗口 * ^A p 跳到上一个窗口 * ^A 0 跳到 0 号窗口 * ^A w 显示窗口列表 * ^A a 将 Ctrl-A 做为键盘输入发送到当前窗口 * ^A h 对当前窗口做硬拷贝写入到文件 * ^A H 开始/中止将当前窗口事件记录到文件 * ^A ^X 锁定终端(密码保护) * ^A d 从终端分离屏幕会话 * ^A DD 分离屏幕会话并退出登录 以上只是 screen 命令的一个很小的子集。 ===screen 会话中的退格键和Ctrl-H=== 在运行 screen 时,如果发现退格键和 / 或 Ctrl-H 无法正常工作,可编辑/etc/screenrc,找到这行: bindkey -k kb stuff "\177" 将这注释掉(例如在句首添加“#”)。 ===网络测试基础=== 安装 netkit-ping、traceroute、dnsutils、ipchains(适用于 2.2 版内核)、iptables(适用于 2.4 版内核) 和 net-tools 软件包,然后执行: <pre> $ ping yahoo.com # 检查 Internet 连接 $ traceroute yahoo.com # 跟踪 IP 数据包 $ ifconfig # 检查主机设置 $ route -n # 检查路由设置 $ dig [@dns-server.com] host.dom [{a|mx|any}] |less # 检查dns-server.com的host.dom DNS 记录 # 查找{a|mx|any}记录 $ ipchains -L -n |less # 检查包过滤(2.2 kernel) $ iptables -L -n |less # 检查包过滤(2.4 kernel) $ netstat -a # 查找系统上所有打开的端口 $ netstat -l --inet # 查找系统监听的端口 $ netstat -ln --tcp # 查找系统监听的 TCP 端口(端口数字)</pre> ===从本地缓冲池中清空(flush)邮件=== 从本地缓冲池中清空邮件: * # exim4 -q # 清空待读邮件 * # exim4 -qf # 清空所有邮件 * # exim4 -qff # 清空冻结邮件 -qff 选项用在 /etc/ppp/ip-up.d/exim 脚本中效果更好。 在 Woody 和更老的版本中,使用 exim 代替 exim4。 ===删除本地缓冲池中的冻结邮件=== 删除本地缓冲池中的冻结邮件并返回出错信息: # exim4 -Mg `mailq | grep frozen | awk '{ print $3 }'` 在 Woody 和更老的版本中,使用 exim 代替 exim4。 ===再分发 mbox 中的信件=== 如果 home 目录没有空间继续处理邮件,procmail 将失败, 就需要对磁盘空间进行扩容,扩容完成后需要手工分发 /var/mail/username 目录中的邮件到 home 目录中的分类邮箱,执行: <pre> # /etc/init.d/exim4 stop # formail -s procmail </var/mail/username # /etc/init.d/exim4 start </pre> 在 Woody 和更老的版本中,使用 exim 代替 exim4。 ===清空文件内容=== 要清空某些文件如日志文件的内容,千万不要使用 rm 删除文件然后再创建一个新的空文件,因为在两次操作的间隔,系统可能需要访问该文件。下面是清空文件内容的安全方法: $ :>file-to-be-cleared ===空文件=== 下面的命令可以创建空文件: <pre> $ dd if=/dev/zero of=filename bs=1k count=5 # 5KB 零内容 $ dd if=/dev/urandom of=filename bs=1M count=7 # 7MB 随机内容 $ touch filename # 创建一个 0 B 大小的文件 (如果文件存在,更新该文件的修改时间) </pre> 例如,最实用的用法是从 Debian 启动软盘的 shell 中执行下列命令将硬盘 /dev/hda 的内容完全清空。 # dd if=/dev/urandom of=/dev/hda; dd if=/dev/zero of=/dev/hda ===chroot=== chroot 程序,chroot(8),不需要重启系统,就可以在单独的系统上同时运行多个不同的 GNU/Linux 环境。 还可以在较快主机的 chroot 下运行某些需耗大量系统资源内存的程序如 apt-get 或 dselect,并将较慢子机的硬盘通过 NFS 方式挂载到主机,开放读/写权限,在主机上以 chroot 方式操作子机。 ===用chroot来运行不同版本的 Debian=== 在 Sarege 中使用 debootstrap 命令很容易构造 chroot Debian 体系。对于 Sarge 的后续发行版,用 cdebootstrap 命令加上适当的选项来代替 debootstrap。例如,在一台拥有快速 Internet 连接的机器的 /sid-root 下创建一个 Sid chroot: <pre> main # cd /; mkdir /sid-root main # debootstrap sid /sid-root http://ftp.debian.org/debian/ ... 看它下载整个系统 main # echo "proc /sid-root/proc proc none 0 0" >> /etc/fstab main # mount /sid-root/proc main # mount /dev/ /sid-root/dev -o bind main # cp /etc/hosts /sid-root/etc/hosts main # chroot /sid-root /bin/bash chroot # cd /dev; /sbin/MAKEDEV generic; cd - chroot # apt-setup # 创建 /etc/apt/sources.list 文件 chroot # vi /etc/apt/sources.list # 将源指向 unstable chroot # dselect # 可以使用 aptitude,安装 mc 和 vim :-) </pre> 现在你就拥有了一个全功能 Debian 子系统,可以尽情享受而不必担心主 Debian 受到不利影响。 该 debootstrap 应用技巧还可以实现在没有 Debian 安装盘的情况下,从另一个 GNU/Linux 发行版下安装 Debian。参阅 '''http://www.debian.org/releases/stable/i386/apcs04'''。 ===设置chroot登录=== 输入chroot /sid-root /bin/bash 非常简单,但这将保留当前的所有[[环境变量]],你可能并不希望这样并且有时还会出问题。更好的方法是,在别的虚拟终端上执行另一个登录进程,登录到 chroot 目录。 在默认的 Debian 系统中,从 tty1 到 tty6 运行 Linux 控制台,tty7 运行 X [[Window]] 系统,在本例中,我们将 tty8 设置成 chroot 控制台。按照用 chroot 来运行不同版本的 Debian, 创建好 chroot 系统后,就可以在主系统的 root shell 中输入: <pre> main # echo "8:23:respawn:/usr/sbin/chroot /sid-root "\ "/sbin/getty 38400 tty8" >> /etc/inittab main # init q # 重启 init </pre> ===配置chroot下的X=== 想在chroot下安全地运行最新版的 X 和 GNOME 吗?完全可以!下面的例子将实现在[[虚拟终端]] vt9 下运行 GDM。 首先,按照用 chroot 来运行不同版本的 Debian, 安装好 chroot 系统,从主系统的 root 下拷贝关键配置文件到 chroot 系统。 <pre> main # cp /etc/X11/XF86Config-4 /sid-root/etc/X11/XF86Config-4 main # chroot /sid-root # or use chroot console chroot # cd /dev; /sbin/MAKEDEV generic; cd - chroot # apt-get install gdm gnome x-window-system chroot # vi /etc/gdm/gdm.conf # do s/vt7/vt9/ in [servers] section chroot # /etc/init.d/gdm start </pre> 在此,编辑 /etc/gdm/gdm.conf,使其在 vt7 到 vt9 上创建虚拟终端。 现在可以很容易地能过切换 Linux 虚拟终端来实现在主系统的 X 环境和 chroot 系统的 X 环境之间转换,例如使用 Ctrl-Alt-F7 和 Ctrl-Alt-F9。 [FIXME] 在 chroot 系统下 gdm 的 init 脚本中添加一条注释和一条链接。 ===使用 chroot 来运行其它发行版=== 很容易创建一个包含其它发行版的 chroot 环境。使用其它发行版的安装程序将它们安装到单独的硬盘分区中。例如 root 分区位于 /dev/hda9: <pre> main # cd /; mkdir /other-dist main # mount -t ext3 /dev/hda9 /other-dist main # chroot /other-dist /bin/bash </pre> ===使用 chroot来编译软件包=== 这儿有一个很特殊的 chroot 软件包 pbuilder,它构造一个 chroot 系统并在其中编译软件包。该体系可用于检查软件包编译时关联关系是否正确,并确保编译生成的软件包中没有不必要的或错误的关联关系。 ===怎样检查硬链接=== 检查两个文件是否是指向同一个文件的两个硬链接: $ ls -li file1 file2 ===mount硬盘上的镜像文件=== 如果 file.img 文件是硬盘内容的镜像文件,而且原始硬盘的配置参数为 xxxx = (bytes/sector) * (sectors/cylinder),那么,下面的命令将其挂载到 /mnt: # mount -o loop,offset=xxxx file.img /mnt ===Samba=== 获取 Windows 文件的基本方法: <pre> # mount -t smbfs -o username=myname,uid=my_uid,gid=my_gid \ //server/share /mnt/smb # 挂载 Windows 的文件到 Linux # smbmount //server/share /mnt/smb \ -o "username=myname,uid=my_uid,gid=my_gid" # smbclient -L 192.168.1.2 # 列出某个计算机的共享目录 </pre> 可从 Linux 检查 Samba网上邻居: # smbclient -N -L ip_address_of_your_PC | less # nmblookup -T "*" ===外来文件系统的操作工具=== Linux 内核支持多种外来文件系统,想访问它们只需将其挂载到合适的文件系统下就行了。对某些文件系统,还提供专门工具不需要挂载,只依靠用户空间的程序,不需要内核提供文件系统支持,就能完成访问。 *mtools: for MS-DOS filesystem (MS-DOS, Windows) *cpmtools: for CP/M filesystem *hfsutils: for HFS filesystem (native Macintosh) *hfsplus: for HFS+ filesystem (modern Macintosh) 对于创建和检查 MS-DOS FAT 文件系统 dosfstools 非常有用。
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)