问题:Linux系统中以什么方式访问设备的?
回答:Linux系统中,以 文件 方式访问设备 。
什么是Linux文件系统?
问:Linux内核引导文件系统是?
答:Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统。
/etc/fstab文件系统详解:
通常情况下,一个Linux系统将拥有很多的文件系统,然而,仅仅通过一个或非常少的文件系统来配置Linux系统也是可能的,你希望创建多个文件系统 的一个原因就是通过使用/etc/fstab文件中指定的mount选项来控制对它们的访问.
/etc/fstab文件的内容主要包括六项:
/dev/hda1 / ext3 defaults 1 1
/dev/hda5 /usr ext3 defaults 1 2
/dev/hda1 /home ext3 defaults 1 2
/dev/hda6 /var ext3 defaults 1 1
/dev/hda7 swap swap defaults 0 0
/dev/fd0 /mnt/floppy ext3 noauto 0 0
/dev/cdrom /mnt/cdrom iso9660 noauto,ro 0 0
none /proc proc defaults 0 0
第一列:设备名或者设备卷标名,(/dev/sda10 或者 LABEL=/)
第二列:设备挂载目录 (例如上面的"/"或者"/mnt/D/")
第三列:设备文件系统 (例如上面的"ext3"或者"vfat")
第四列:挂载参数 (看帮助man mount)
对于已经挂载好的设备,例如上面的/dev/sda2,现在要改变挂载参数,这时可以不用卸载该设备,而可以使用下面的命令(没有挂载的设 备,remount 这个参数无效)
#mount /mnt/cdrom/ -o remount,ro (改defaults为ro)
为了安全起见,可以指明其他挂载参数,例如:
default 设置该安装选项为rw,suid(允许SUID和SGID执行),dev(允许字符和块专用设备),exec(允许二进制文件的执行),auto(允许 mount -a),nouser(只有根用户能配置该文件系统,不允许普通用户挂载)和async(异步I/O)
nodev 不解释或允许在该文件系统上创建字符或块专用文件(设备文件),(不允许挂载设备文件)
noexec 在该文件系统上不允许二进制文件或脚本的执行,(不允许可执行文件可执行,但千万不要把根分区挂为noexec,那就无法使用系统了,连mount 命令都无法使用了,这时只有重新做系统了!
ro 设置此文件系统为只读
user 允许除根用户以外的用户配置该文件系统.除非被明令撤销否则该选项会自动设置noexec,nosuid和nodev选项
nosuid,nosgid 不允许SUID或SGID对该文件系统产生作用(不允许有suid和sgid属性)
noatime 取缔在此文件系统内所有文件和目录上的访问时间更新,该选项在2.2.x版及其之后的内核中可以使用
第五列:指明是否要备份,(0为不备份,1为要备份,一般根分区要备份)
第六列:指明自检顺序. (0为不自检,1或者2为要自检,如果是根分区要设为1,其他分区只能是2)
问:Linux文件系统用什么来标识?
答:Linux文件系统中每个文件用 i节点 来标识。
Linux文件系统详解:
1 fstab文件的作用
文件/etc/fstab存放的是系统中的文件系统信息.当正确的设置了该文件,则可以通过"mount /directoryname"命令来加载一个文件系统,每种文件系统都对应一个独立的行,每行中的字段都有空格或tab键分开.同时fsck、 mount、umount的等命令都利用该程序.
2. fstab文件格式
下面是/etc/fatab文件的一个示例行:
fs_spec fs_file fs_type fs_options fs_dump fs_pass
/dev/hda1 / ext2 defaults 1 1
fs_spec - 该字段定义希望加载的文件系统所在的设备或远程文件系统,对于一般的本地块设备情况来说:IDE设备一般描述为/dev/hdaXN,X是IDE设备通道 (a, b, or c),N代表分区号;SCSI设备一描述为/dev/sdaXN.对于NFS情况,格式一般为:
,例如:`knuth.aeb.nl:/'.对于procfs,使用`proc'来定义.
fs_file - 该字段描述希望的文件系统加载的目录点,对于swap设备,该字段为none;对于加载目录名包含空格的情况,用40来表示空格.
fs_type - 定义了该设备上的文件系统,一般常见的文件类型为ext2 (Linux设备的常用文件类型)、vfat(Windows系统的fat32格式)、NTFS、iso9600等.
问:Linux磁盘块由哪个部分组成?
答:全部磁盘块由四个部分组成,分别为引导块 、专用块 、 i节点表块 和数据存储块。
Linux磁盘块管理详解:
Liunx系统中,如何有效地对存储空间加以使用和管理,是一项非常重要的技术.本章讲述如何查看系统中存储空间的使用情况、如何进行文件的转储、以及如 何进行软盘的格式化.
磁盘空间管理
系统软件和应用软件,都要以文件的形式存储在计算机的磁盘空间中.因此,应该随时监视磁盘空间的使用情况.Linux系统提供了一组有关磁盘空间管理的命 令.
df命令
功能:检查文件系统的磁盘空间占用情况.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息.
语法:df [选项]
说明:df命令可显示所有文件系统对i节点和磁盘块的使用情况.
该命令各个选项的含义如下:
-a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统.
-k 以k字节为单位显示.
-i 显示i节点信息,而不是磁盘块.
-t 显示各指定类型的文件系统的磁盘空间使用情况.
-x 列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反).
-T 显示文件系统类型.
例1:列出各文件系统的磁盘空间使用情况.
$ df
Filesystem 1 K-blocks Used Available Use% Mounted on
/dev/hda2 1361587 1246406 44823 97% /
df命令的输出清单的第1列是代表文件系统对应的设备文件的路径名(一般是硬盘上的分区);第2列给出分区包含的数据块(1024字节)的数目;第3,4 列分别表示已用的和可用的数据块数目.用户也许会感到奇怪的是,第3,4列块数之和不等于第2列中的块数.这是因为缺省的每个分区都留了少量空间供系统管 理员使用.即使遇到普通用户空间已满的情况,管理员仍能登录和留有解决问题所需的工作空间.清单中Use% 列表示普通用户空间使用的百分比,即使这一数字达到100%,分区仍然留有系统管理员使用的空间.最后,Mounted on列表示文件系统的安装点.
问:Linux链接分为?
答:链接分为 硬链接 和 符号链接 。
Linux链接详解:
一、软链接(符号链接)
软链接克服了硬链接的不足,没有任何文件系统的限制,任何用户可以创建指向目录的符号链接.因而现在更为广泛使用,它具有更大的灵活性,甚至可以跨越不同 机器、不同网络对文件进行链接.
建立软链接,只要在ln后面加上选项 –s.
二、硬链接
硬链接说白了是一个指针,指向文件索引节点,系统并不为它重新分配inode.可以用:ln命令来建立硬链接.语法
ln [options] existingfile newfile
ln[options] existingfile-list directory
用法: 第一种:为"existingfile"创建硬链接,文件名为"newfile".第二种:在"directory"目录中, 为"existingfile-list"中包含的所有文件创建一个同名的硬链接.常用可选[options] –f 无论"newfile"存在与否,都创建链接.-n 如果"newfile"已存在,就不创建链接.
问:Linux超级块包含哪些文件系统信息?
答:超级块包含了i节点表 和 空闲块表 等重要的文件系统信息。
Linux超级块详解:
Linux系统中的每个文件都被赋予一个唯一的数值,这个数值称做索引节点.索引节点存储在一个称作索引节点表< inode table>中,该表在磁盘格式化时被分配.每个实际的磁盘或分区都有其自己的索引节点表.一个索引节点包含文件的所有信息,包括磁盘上数据的地址 和文件类型.文件类型包括如普通文件、目录和特殊文件这样的信息.
linux硬盘组织方式为:引导区、超级块(superblock),索引结点(inode),数据块(datablock),目录块 (diredtory block).其中超级块中包含了关于该硬盘或分区上的文件系统的整体信息,如文件系统的大小等;超级块后面的数据结构是索引结点,它包含了针对某一个具 体文件的几乎全部信息,如文件的存取权限、所有者、大小、建立时间以及对应的目录块和数据块等;数据块是真正存储文件内容的位置.但是索引结点中不包括文 件的名字,文件名是放在目录块里的.目录块里包含有文件的名字以及此文件的索引结点编号.
问:某文件的权限为:d-rw-_r--_r--,用数值形式表示该权限?
答:用数值形式表示该权限,则该八进制数为: 644 ,该文件属性是 目录 。
问:Linux前台起动的进程使用哪个组合快捷键停止?
答:前台起动的进程使用 Ctrl+c 终止。
Linux快捷链详解:
Linux基本的键盘输入快捷键和一些常用命令
切换到第一个文本终端.在Linux下你可以有多达六个不同的终端.这个命令的意思是:"同时按住键和 键,然后按键,再释放所有的键".
(n=16)
切换到第n个文本终端.(你也可以使用不是很经常用到的命令chvt n 来实现,n指的是第n个文本终端).在文本终端下(不是在X窗口),你也可以简单使用来实现切换,不需 要键.
打印出你正在使用的终端名称,如果你希望知道终端的名字,可以使用命令fgconsole.
切换到第一个图形用户界面(一般来说X-window在第七个终端)
(n=7到12)
切换到第n个图形用户街面.根据缺省,第一个X-Window在第7个终端运行,从第8到第12什么也没有,当然你可以逐个启动这些图形用户界面.
(在文本终端下)可以使用TAB自动完成命令,或者显示所有的可选项.这个快捷键真的非常好用,经常使用你会发觉它可以节约你很多的时间.
(在文本终端或者X窗口下)滚动和编辑以前输入的命令.按执行一个历史命令
回滚
滚动终端输出.对于登录提示也起作用,所以你可以使用它回滚启动信息.你显卡的内存大小决定你可以回滚多少内容
回滚终端输出
<+>
(在X窗口下) 改变X服务器的屏幕解析率 (如果你设置X服务器有多个不同的屏幕解析率).比如对于我的标准SVGA卡和显示器,在文件/etc/X11/XF86Config有以下的设置行: (从缺省开始,到可以支持的最大虚拟屏幕解析率)
Modes "1024x768" "800x600" "640x480" "512x384" "480x300" "400x300" "1152x864"Z
当然,首先我必须设置我的X服务器,可以使用using Xconfigurator, xf86config, 也可以手工编辑文件:/etc/X11/XF86Config.XFdrake (Mandrake使用图形用户界面进行配置 ).你也可以参考命令xvidtune和xvidgen.
<->
(在X窗口下)把X服务器的屏幕解析率修改到上一次的设置.
(在X窗口,KDE下)关闭我鼠标将要指向的窗口(鼠标的光标形状会有所改变).同样的效果也可以使用命令xkill(在X终端上)来实现.当一个程序窗 口被挂住的时候特别有用.
(在X窗口下) 终止当前的 X窗口服务.如果X窗口不能正常退出时可以使用.
(适用于文本终端下)关机和重新启动.这是一个在文本终端下的正常关机命令,千万不要按计算机上的reset键来重新关机和重新启动!
c
终止当前进程(对于一般的小型文本模式的应用程序)
d
(在一个空白的命令行上输入)退出当前的终端.参加下一个命令.
d
给当前的进程送文件结束符合.不要按两次否则你会把自己退出系统.
s
停止终端传输
q
从新开始终端传输.如果你的终端突然莫名其妙的停止响应,可以参考上一条命令.
z
把当前进程送到后台处理.
exit
退出系统.我也可以使用logout命令达到同样效果.(如果你启动了第二个shell程序,比如,使用bash,这条命令将使你退出第二个shell回 到第一个shell,但是不会退出系统.当然,可以再一次使用exit退出)
reset
恢复崩溃的终端(有些终端显示一些奇怪的字符)到缺省的设置.当你使用cat命令准备显示一个二进制文件时,你可能看不到你所输入的命令,尽管命令仍然照 常工作.
<鼠标的中间键>
粘贴当前选择的文本.这是一个常规的Linux"复制-粘贴"操作.它是对被广泛采用的通信用户界面下"复制-粘贴"操作的一个非常有用的扩展(但是它不 支持旧版本的NetScape,因为在旧版的NetScape只能使用MAC/Windows风格的"复制-粘贴"操作.如果你运行"setup"程序进 行设置,你可以在文本终端下使用这个功能.而且它在大多数的对话框里也能很好的工作,真的非常方便!)如果你有一个"Linux-Ready"的鼠标 (logitec或者其类似产品)或者你通过使用"模拟三键鼠标",这个功能可以得到最大限度的发挥.一般来说,"第三键"的模拟是通过同时点击左右两个 鼠标键来实现.
~
(水文符合) 我的主目录(一般来书是/home/我的登录名).举例,命令~/my_dir将修改我的工作目录到我的主目录的子目录"my_dir"下.相对于输 入"cd ~",你也可以只输入"cd",我把我的所有文件都放在自己的主目录下.
.
(点符号) 当前目录.举例:./my_program 将试图执行当前目录下的"my_program"文件
(两个点)到当前的上一级目录(也叫"父目录").举个例子,命令"cd"将修改我的当前工作目录到上一级目录.
一些KDE的快捷键(很有用,但不是非要不可的)
切换不同的程序窗口.往回切换,使用
切换不同的桌面.往回切换,使用
显示我系统里正在运行的进程列表.允许我终止那些由我启动的进程(或者送信号给这些进程)
访问K菜单 (对等于微软Windows的的"开始"菜单).
使用键盘上的箭号键模拟鼠标的操作
<鼠标左键>
拖曳并移动一个窗口.一般来说,我通过拖曳窗口的题目栏来移动一个窗口.有些时候,我用它把
一个窗口移动到屏幕之外.使用这个功能,我可以把窗口移动到屏幕的任何位置.
把当前屏幕的快照存到剪贴板
把当前桌面的快照存到剪贴板
锁定桌面
切换隐藏/显示桌面的功能(当老板走过来的时候迅速藏起你的纸牌接龙游戏非常管用哦!)
(非必须掌握)
这是在Linux的内核(底层内核)上支持的一组组合键.它意味着这些组合键在大部分情况下都是有效的.组合键主要是针对开发人员的程序调试目的或者在紧 急场合下才使用;你也可以使用其他的办法,安全第一.键在PC上指的是PrintScreen键.组合键的功能可以通过设置相 对应的内核参数来激活或者取消,比如: echo "1" > /proc/sys/kernel/sysrq
终止在当前虚拟终端上运行的所有进程(包括X窗口).这个组合键被称为"安全访问键"(SAK).
发送 TERM 信号(结束信号)到除了init进程以外的所有运行进程,要求其退出
发送 KILL (终止信号)到除了init进程以外的所有运行进程, 这个组合键比上一个更加有效,但是也可能引起一些程序被异常终止.
发送KILL命令到所有运行进程(包括init),系统将不再能够使用
在所有的挂载文件系统上运行紧急同步(缓存写) .这可以保护数据丢失
以只读模式重新挂载所有已加载的文件系统.这和上面的同步组合键有相同的功能,但是另外有一个好处:如果操作顺利完成,下一次硬件重新启动时,fsck将 不会重新检查所有的文件系统.
关闭键盘的原始模式.当你的X窗口程序挂住没有响应时特别有用.使用这个组合键之后,你可能会接着使 用程序启动.
不进行同步和卸载就立刻重新启动系统.之后你可能会碰到一下错误信息.
关机 (如果正确设置以后)
导出当前的寄存器和标志到控制台
导出当前任务和相关信息到控制台
导出内存的内容到控制台
SysRq><数字>
"数字"从0到9.设置控制台记录的级别,用于控制哪一些内核信息将被显示在控制台上.举例,"0"意味着只有象PANIC和OOPS的之类的紧急信息才 被显示在控制台上.
显示帮助信息.还有,任何其他不被支持的 组合键将显示同样的帮助.
问:Linux网络管理的重要任务是?
答:网络管理的重要任务是: 控制 和 监控 。
问:Linux系统对硬盘分区时,必须有哪两种分区类型?
答:安装Linux系统对硬盘分区时,必须有两种分区类型: 文件系统分区 和 交换分区 。
问:Linux内核分为哪几个子系统?
答:内核分为 进程管理系统 、 内存管理系统 、 I/O管理系统 和文件管理系统 等四个子系统。
问:RIP 协议是?
答:RIP 协议是最为普遍的一种内部协议,一般称为动态路由信息协议。
问:Linux系统网络管理员的管理对象是?
答:系统网络管理员的管理对象是服务器、 用户 和服务器的进程 以及系统的各种资源。
问:Linux网络管理通常由几部分组成?
答:网络管理通常由监测、传输和管理三部分组成,其中管理部分是整个网络管理的中心。
问:Linux vi编辑器具有两种工作模式?
答:vi编辑器具有两种工作模式: 命令模式 和 输入模式问:Linux进程可以具有的基本状态有?
答:进程与程序的区别在于其动态性,动态的产生和终止,从产生到终止进程可以具有的基本状态为: 运行态 、 就绪态 和 等待态(阻塞态) 。
问:Linux DNS作用?
答:DNS实际上是分布在internet上的主机信息的数据库,其作用是实现 IP地址和主机名 之间的转换。
问:Linux系统上做备份可以有两种类型?
答:在Linux系统上做备份可以有两种类型:系统备份 和 用户备份 。其中前者是指对 操作系统 的备份,后者是指对 应用程序和用户文件的备份。
问:Linux CD-ROM标准的文件系统类型是?
答:CD-ROM标准的文件系统类型是 iso9660 。
问:使lilo.conf生效的命令是?
答:当lilo.conf配置完毕后,使之生效,应运行的命令及参数是 lilo 。
问:Linux限制用户使用磁盘空间的命令是?
答:设定限制用户使用磁盘空间的命令是 quota 。
Linux quota命令详解:
什么是 Quota?
Quota 让你可以从两方面指定磁盘的储存限制: 使用者所能够支配的索引
节点(inodes)数量;以及使用者可以取用的磁盘区块数量.
Quota 背後的含意是强制使用者在大部分的时间中保持在他们的磁盘使用
限制之下,取消他们在系统上无限制地使用磁盘空间的能力.
Quota 是以每一使用者,每一文件系统为基础的.如果使用者可能在超过
一个以上的文件系统上建立文件,那么必须在每一文件系统上分别设定
quota.
Quota 目前在 Linux 上的情况
Quota 的支持据我所知自从 1.3.8x 版开始已经整合到核心之中,而且它
也在 2.0 版的核心里.如果你的系统不支持 quota 那么我建议你来次
更新.
目前为止,quota 只能在 ext2 文件系统上运作.
在 Linux 上使用 Quota 的需求
核心
2.x 版的核心可以从这里取得
Quota 软件
端视你的 Linux 发行套件而定,在你的系统上可能已经装好也可能没有
quota 软件.quota 软件的原始程序代码可以从这里取得
----------------------------------------------------------------
在 Linux 上设定 quota - 第一部份: 配置
1. 配置你的核心
重新配置你的核心并且对这个选项回答 y 以加入 quota 的支持:
Quota support (CONFIG_QUOTA) [n] y
2. 编译并安装 quota 软件
Quota 软件的原始程序代码可以从这里取得
3. 修改你系统的启动脚本文件以检查 quota 并且在启动时期打开 quota
这里有个范例:
# Check quota and then turn quota on.
if [ -x /usr/sbin/quotacheck ]
then
echo "Checking quotas. This may take some time."
/usr/sbin/quotacheck -avug
echo " Done."
fi
if [ -x /usr/sbin/quotaon ]
then
echo "Turning on quota."
/usr/sbin/quotaon -avug
fi
不变的规则是*永远*得要在挂入你 /etc/fstab 里的文件系统*之后*
打开 quota , 否则 quota 将不会运作.我建议在你系统的启动脚本文件
最后面打开 quota , 或者,如果你喜欢,在你的系统脚本文件刚挂入文件
系统之处打开它.
4. 修改 /etc/fstab
还没有启用 quota 的分割区一般看起来像:
/dev/hda1 / ext2 defaults 1 1
/dev/hda2 /usr ext2 defaults 1 1
要在文件系统上加入 quota 的话,在包含 "defaults" 这个字的第四个
字段加上 "usrquota" .
/dev/hda1 / ext2 defaults 1 1
/dev/hda2 /usr ext2 defaults,usrquota 1 1
如果你需要在一文件系统中的群组 quota 支持,将 "usrquota" 改为
"grpquota".
/dev/hda1 / ext2 defaults 1 1
/dev/hda2 /usr ext2 defaults,grpquota 1 1
如果要同时支持使用者 quota 与群组 quota 的话
/dev/hda1 / ext2 defaults 1 1
/dev/hda2 /usr ext2 defaults,usrquota,grpquota 1 1
5. 建立 "quota.user" 这个 quota 记录
这个 quota 记录档,quota.user , 应该由 root 拥有,而且 root 有
读写的权限而其它任何人都没有.
以 root 的身分登录.进入你想要启用 quota 之分割区的最上层,并且
这样建立 quota.user:
touch /partition/quota.user
touch /partition/quota.group
chmod 600 /partition/quota.user
chmod 600 /partition/quota.group
6. 重新启动
现在重新启动系统以便让你所作的切换生效.
同时注意以后对于你还想要启用 quota 的其它分割区只需要步骤 4, 5,
以及 6 .
在 Linux 上设定 quota - 第二部份: 为使用者及群组指定 Quota
这项操作是使用 edquota 指令执行的.(详情参考 man edquota).
我通常在编辑 quota 之前会先使用 quotacheck 并加上参数 -avug 以
取得最新的文件系统使用状况.这只是一个个人习惯,并非必要步骤.
为特定使用者指定 quota
这儿有个例子.在我的系统上有一个名叫 bob 的使用者.使用
"edquota bob" 这个指令将会把你带进 vi (或是在你的 $EDITOR 环
境变量中所指定的编辑器)以便为使用者 "bob" 编辑在每个启用
quota 的分割区上的 quota :
Quotas for user bob:
/dev/hda2: blocks in use: 2594, limits (soft = 5120, hard = 6400)
inodes in use: 356, limits (soft = 1000, hard = 1500)
"blocks in use" 是使用者在某个分割区上已经使用的区块总数(以千位
元组为单位)
"inodes in use" 是使用者在某个分割区上所拥有的文件总数.
为特定群组指定 quota
现在在我的系统上有一群组叫 games."edquota -g games" 再度将我带入
vi 以便为 games 群组编辑 quota :
Quotas for group games:
/dev/hda4: blocks in use: 5799, limits (soft = 8000, hard = 10000)
inodes in use: 1454, limits (soft = 3000, hard = 4000)
为一群使用者指定相同的 quota 值
为了快速地为我系统上的一群使用者,例如一百名,设定和 bob 相同的
quota 值,我首先以手动编辑 bob 的 quota 信息,然后执行:
edquota -p bob `awk -F: '$3 > 499 {print $1}' /etc/passwd`
这是假设你使用 csh,并且你的使用者 UID 从 500 开始.
除了 edquota 之外,还有三个你应该熟习的其它专有名词: 软性限制,
硬性限制,以及缓冲期间.
软性限制
一般来说,软性限制指出 quota 使用者在分割区上拥有的磁盘用量总数
.但是合并使用缓冲期间的时候,它的动作就如同一道临界线,当 quota
使用者超越时便发出有关他即将违犯 quota 的警告.
硬性限制
硬性限制只在设定有缓冲期间时才会运作.它指出磁盘用量的绝对限制,
quota 使用者不能超越他的硬性限制.
缓冲期间
以 "edquota -t" 指令执行,缓冲期间是对 quota 使用者实行软性限制
之前的时间限制.可以使用的时间单位是秒、分、小时、日、星期、以及
月.这是你使用 "edquota -t" 指令将会见到的:
Time units may be: days, hours, minutes, or seconds
Grace period before enforcing soft limits for users:
/dev/hda2: block grace period: 0 days, file grace period: 0 days
把 0 days 这个部份切换为你觉得合理的任何期限.我个人选择 7 days
(或是 1 week ).
----------------------------------------------------------------
其它的 Quota 指令
Quotacheck
Quotacheck 是用来扫描文件系统的磁盘用量,并更新 "quota.user" 此
quota 记录档到最新的状态.我建议定期在系统启动时执行 quotacheck
或藉由 cronjob 每隔一段时间执行一次(像是,一星期? ).
Repquota
Repquota 产生文件系统之摘要 quota 信息.这里有份 repquota 所得
的输出范例:
# repquota -a
Block limits File limits
User used soft hard grace used soft hard grace
root -- 175419 0 0 14679 0 0
bin -- 18000 0 0 735 0 0
uucp -- 729 0 0 23 0 0
man -- 57 0 0 10 0 0
user1 -- 13046 15360 19200 806 1500 2250
user2 -- 2838 5120 6400 377 1000 1500
Quotaon 以及 Quotaoff
Quotaon 是用来打开 quota 的计算; quotaoff 则是将其关闭.实际上
两者很类似.它们是在系统启动与关机时执行的.
问:Linux中用来存放系统所需要的配置文件和子目录的目录是?
答:在Linux系统中,用来存放系统所需要的配置文件和子目录的目录是 /etc 。
问:Linux结束后台进程的命令是?
答:kill
Linux kill命令详解:
当需要中断一个前台进程的时候,通常是使用< Ctrl+c >组合键;但是对于一个后台进程恐怕就不是一个组合键所能解决的了,这时就必须求助于kill命令.该命令可以终止后台进程.至于终止后台进程的原 因很多,或许是该进程占用的CPU时间过多;或许是该进程已经挂死.总之这种情况是经常发生的.
kill命令是通过向进程发送指定的信号来结束进程的.如果没有指定发送信号,那么默认值为TERM信号.TERM信号将终止所有不能捕获该信号的进程. 至于那些可以捕获该信号的进程可能就需要使用kill(9)信号了,该信号是不能被捕捉的.
kill命令的语法格式很简单,大致有以下两种方式:
kill [-s 信号 | -p ] [ -a ] 进程号 …
kill -l [信号]
-s 指定需要送出的信号.既可以是信号名也可以对应数字.
-p 指定kill命令只是显示进程的pid,并不真正送出结束信号.
-l 显示信号名称列表,这也可以在/usr/include/linux/signal.h文件中找到.
kill命令的使用
下面看看该命令的使用.
[例24] 在执行一条find指令时由于时间过长,决定终止该进程.
首先应该使用ps命令来查看该进程对应的PID,键入ps,显示如下:
PID TTY TIME COMMAND
285 1 00:00:00 -bash
287 3 00:00:00 -bash
289 5 00:00:00 /sbin/mingetty tty5
290 6 00:00:00 /sbin/mingetty tty6
312 3 00:00:00 telnet bbs3
341 4 00:00:00 /sbin/mingetty tty4
345 1 00:00:00 find / -name foxy.jpg
348 1 00:00:00 ps
可以看到该进程对应的PID是345,现在使用kill命令来终止该进程.键入:
# kill 345
再用ps命令查看,就可以看到,find进程已经被杀掉了.
[例25] 杀掉进程11721
# ps PID TTY TIME COMMAND
11668 p1 00:00:00 -tcsh
11721 p1 00:00:00 cat
11737 p1 00:00:00 ps
# kill 11721
[1] Terminated cat
#
有时候可能会遇到这样的情况,某个进程已经挂死或闲置,使用kill命令却杀不掉.这时候就必须发送信号9,强行关闭此进程.当然这种"野蛮"的方法很可 能会导致打开的文件出现错误或者数据丢失之类的错误.所以不到万不得已不要使用强制结束的办法.如果连信号9都不响应,那恐怕就只有重新启动计算机了.
控制多个进程命令
Linux可使用户同时运行多个进程,还允许用户或系统管理员能控制正在运行的进程.
nohup命令
理论上,我们一般退出Linux系统时,会把所有的程序全部结束掉,包括那些后台程序.但有时候,例如您正在编辑一个很长的程序,但是您下班或是有事需要 先退出系统,这时您又不希望系统把您编辑那么久的程序结束掉,希望退出系统时,程序还能继续执行.这时,我们就可以使用nohup命令使进程在用户退出后 仍继续执行.
一般这些进程我们都是让它在后台执行,结果则会写到用户自己的目录下的nohup.out这个文件里(也可以使用输出重定向,让它输出到一个特定的文 件).
[例26] $ nohup sort sales.dat &
这条命令告诉sort命令忽略用户已退出系统,它应该一直运行,直到进程完成.利用这种方法,可以启动一个要运行几天甚至几周的进程,而且在它运行时,用 户不需要去登录.
nohup命令把一条命令的所有输出和错误信息送到nohup.out文件中.若将输出重定向,则只有错误信息放在nohup.out文件中.
renice命令
renice命令允许用户修改一个正在运行进程的优先权. 利用renice命令可以在命令执行时调整其优先权.其格式如下:
$ renice -number PID
其中,参数number与nice命令的number意义相同.
注:
(1) 用户只能对自己所有的进程使用renice命令.
(2) root用户可以在任何进程上使用renice命令.
(3) 只有root用户才能提高进程的优先权.
:Linux进程的运行有两种方式是?
答:进程的运行有两种方式,即 独立运行和使用父进程运行 。
问:Linux Links分为哪两种?
答:Links分为 硬链接和符号链接 。
问:Linux查看全部进程的命令是?
答:在超级用户下显示Linux系统中正在运行的全部进程,应使用的命令及参数是 ps -aux 。
Linux ps命令详解:
1)ps a 显示现行终端机下的所有程序,包括其他用户的程序.
2)ps -A 显示所有程序.
3)ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示.
4)ps -e 此参数的效果和指定"A"参数相同.
5)ps e 列出程序时,显示每个程序所使用的环境变量.
6)ps f 用ASCII字符显示树状结构,表达程序间的相互关系.
7)ps -H 显示树状结构,表示程序间的相互关系.
8)ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外.
9)ps s 采用程序信号的格式显示程序状况.
10)ps S 列出程序时,包括已中断的子程序资料.
11)ps -t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况.
12)ps u 以用户为主的格式来显示程序状况.
13)ps x 显示所有程序,不以终端机来区分.
最常用的方法是ps -aux,然后再利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作.
问:Linux进行远程登录的命令是?
答:进行远程登录的命令是 telnet 。
linux telnet命令详解:
语 法:telnet [-8acdEfFKLrx][-b<主机别名>][-e<脱离字符>][-k<域名>][-l<用户名 称>][-n<记录文件>][-S<服务类型>][-X<认证形态>][主机名称或IP地址<通信端 口>]
补充说明:执行telnet指令开启终端机阶段作业,并登入远端主机.
参 数:
-8 允许使用8位字符资料,包括输入与输出.
-a 尝试自动登入远端系统.
-b<主机别名> 使用别名指定远端主机名称.
-c 不读取用户专属目录里的.telnetrc文件.
-d 启动排错模式.
-e<脱离字符> 设置脱离字符.
-E 滤除脱离字符.
-f 此参数的效果和指定"-F"参数相同.
-F 使用Kerberos V5认证时,加上此参数可把本地主机的认证数据上传到远端主机.
-k<域名> 使用Kerberos认证时,加上此参数让远端主机采用指定的领域名,而非该主机的域名.
-K 不自动登入远端主机.
-l<用户名称> 指定要登入远端主机的用户名称.
-L 允许输出8位字符资料.
-n<记录文件> 指定文件记录相关信息.
-r 使用类似rlogin指令的用户界面.
-S<服务类型> 设置telnet连线所需的IP TOS信息.
-x 假设主机有支持数据加密的功能,就使用它.
-X<认证形态> 关闭指定的认证形态.
问:Apache服务器进程配置文件是?
答:Apache服务器进程配置文件是 httpd.conf 。
apache服务器配置详解:
# 基于 NCSA 服务的配置文件.
#
#这是Apache服务器主要配置文件.
#它包含服务器的影响服务器运行的配置指令.
#参见<" target="_blank">以取得关于这些指令 的详细信息
#
#不要只是简单的阅读这些指令信息而不去理解它.
#这里只是做了简单的说明,如果你没有参考在线文件,你就会被警告.
#
#这些配置指令被分为下面三个部分:
#1. 控制整个Apache服务器行为的部分(即全局环境变量)
#2. 定义主要或者默认服务参数的指令,也为所有虚拟主机提供默认的设置参数
#3. 虚拟主机的设置参数
#
#配置和日志文件名:如果你指定的文件名以"/"开始(win32下以"dirver:/"),
#服务器将使用绝对路径,如果文件名不是以"/"开始的,那么它将把ServerRoot
#的值附加在文件名的前面,例如,对"logs/foo.log",如果ServerRoot的值
#为"/usr/local/apache2",则该文件应为"/usr/local/apache2/logs/foo.log"
#
##第一区:全局环境参数
#
#这里设置的参数将影响整个Apache服务器的行为;
#例如Apache能够处理的并发请求的数量等.
#
#ServerRoot:指出服务器保存其配置、出错和日志文件等的根目录.
#
#注意!如果你想要将它指定为NFS或其它网络上的位置,
#请一定要去阅读与LockFile有关的文档(可能在
#<" target="_blank">…n.html#lockfile> ).
#这将会使你自己也能解决很多问题.
#
#路径的结尾不要添加斜线.
#
ServerRoot "/usr/loacl/apache2"
#
#串行访问的锁文件必须保存在本地磁盘上
#
#LockFile logs/accept.lock
#ScoreBoardFile:用来保存内部服务进程信息的文件.
#如果未指明(默认),记分板(scoreboard)将被保存在一个匿名的共享内存段中,
#并且它不能被第三方软件所使用.
#如果指定了,要确保不能使用两个Apache使用同一个记分板文件,
#这个记分板文件必须保存在本地磁盘上.
#
#ScoreBoardFile logs/apache_runtime_status
#
#PidFile:记录服务器启动进程号的文件.
#
PidFile logs/httpd.pid
#
#Timeout:接收和发送前超时秒数
#
Timeout 300
#
#KeepAlive:是否允许稳固的连接(每个连接有多个请求),
#设为"Off"则停用.
#
KeepAlive On
#
#MaxKeepAliveRequests:在稳固连接期间允许的最大请求数,
#设为0表示无限制接入.
#我们推荐你将其设为一个较大的值,以便提高性能
MaxKeepAliveRequests 100
#
#KeepAliveTimeout:在同一个连接上从同一台客户上接收请求的秒数
#
KeepAliveTimeout 15
##
##Server-Pool大小设定(针对MPM的)
##
# prefork MPM
# StartServers:启动时服务器启动的进程数
# MinSpareServers:保有的备用进程的最小数目
# MaxSpareServers:保有的备用进程的最大数目
# MaxClients:服务器允许启动的最大进程数
# MaxRequestsPerChild:一个服务进程允许的最大请求数
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestPerChild 0
# worker MPM
# StartServers:服务器启动时的服务进程数目
# MaxClients:允许同时连接的最大用户数目
# MinSpareThreads:保有的最小工作线程数目
# MaxSpareThreads:允许保有的最大工作线程数目
# ThreadsPerChild:每个服务进程中的工作线程常数
# MaxRequestsPerChild:服务进程中允许的最大请求数目
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
# perchild MPM
# NumServers:服务进程数量
# StartThreads:每个服务进程中的起始线程数量
# MinSpareThreads:保有的最小线程数量
# MaxSpareThreads:保有的最大线程数量
# MaxThreadsPerChild:每个服务进程允许的最大线程数
# MaxRequestsPerChild:每个服务进程允许连接的最大数量
NumServers 5
StartThreads 5
MinSpareThreads 5
MaxSpareThreads 10
MaxThreadsPerChild 20
MaxRequestsPerChild 0
# WinNT MPM
# ThreadsPerChild:服务进程中工作线程常数
# MaxRequestsPerChild:服务进程允许的最大请求数
ThreadsPerChild 250
MaxRequestsPerChild 0
# BeOS MPM
# StartThreads:服务器启动时启动的线程数
# MaxClients:可以启动的最大线程数(一个线程等于一个用户)
# MaxRequestsPerThread:每个线程允许的最大请求数
StartThreads 10
MaxClients 50
MaxRequestsPerThread 10000
# NetWare MPM
# ThreadStachSize:为每个工作线程分配的堆栈尺寸
# StartThreads:服务器启动时启动的线程数
# MinSpareThreads:用于处理实发请求的空闲线程数
# MaxSpareThreads:空闲线程的最大数量
# MaxThreads:在同一时间活动的最大线程数
# MaxRequestPerChild:一个线程服务请求的最大数量,
# 推荐将其设置为0,以实现无限制的接入
ThreadStackSize 65536
StartThreads 250
MinSpareThreads 25
MaxSpareThreads 250
MaxThreads 1000
MaxRequestPerChild 0
# OS/2 MPM
# StartServers:启动的服务进程数量
# MinSpareThreads:每个进程允许的最小空闲线程
# MaxSpareThreads:每个进程允许的最大空闲线程
# MaxRequestsPerChild:每个服务进程允许的最大连接数
StartServers 2
MinSpareThreads 5
MaxSpareThreads 10
MaxRequestsPerChild 0
#
# Listen:允许你绑定Apache服务到指定的IP地址和端口上,以取代默认值
# 参见指令
# 使用如下命令使Apache只在指定的IP地址上监听,
# 以防止它在IP地址0.0.0.0上监听
#
# Listen 12.34.56.78:80
Listen 80
#
# 动态共享支持(DSO)
#
# 为了能够使用那些以DSO模式编译的模块中的函数,你必须有相应的"LoadModule"行,
# 因此,在这里包含了这些指令,以便能在使用它之前激活.
# 那些静态编译的模块不需要在这里列出 (即以"httpd -l"列出的模块)
#
# 示例:
# LoadModule foo_module modules/mod_foo.so
#
#
# ExtendedStatus:当调用"server-status"时,控制Apache是产生"全"状态
# 信息(ExtendedStatus On),还是产生基本信息(ExtendedStatus Off).
# 默认为off
#
# ExtendedStatus On
### 第二区:"主"服务配置
#
# 这一区建立被 "主" 服务器用的指令值,以回应那些不被
# 定义处理的任何请求.
# 这些数值也提供默认值给后面定义的容器.
# 如果中有定义,那么这里定义的指令值将被
# 中的定义所覆盖.
#
#
# 如果你想使httpd以另外的用户或组来运行,你必须在开始时以root方式启动
# 然后再将它切换为你想要使用的用户或组.
#
# User/Group:运行httpd的用户和组
# 在SCO (ODT3)上使用"User nouser"和"Group nogroup"
# 在HPUX上,你可能不能以nobody身份使用共享内存,建议创建一个www用户.
# 注意一些核心(kernel)在组ID大于60000时拒绝setgid(Group)或semctl(IPC_SET),
#节在这些系统上不要使用"Group #-1".
#
User nobody
Group #-1
#
# ServerAdmin:你的邮件地址,当发生问题时Apache将向你发出邮件.
# 作为一个出错文档,这个地址显示在server-generated页上,
# 例如:admin@your-domain.com
#
ServerAdmin [email]kreny@sina.com[/email]
#
# ServerName指定Apache用于识别自身的名字和端口号.
# 通常这个值是自动指定的,但是我们推荐你显式的指定它以防止启动时出错
#
# 如果你为你的主机指定了一个无效的DNS名,server-generated重定向将不能工作.
# 参见UseCanonicalName指令
#
# 如果你的主机没有注册DNS名,在这里键入它的IP地址
# 无论如何,你必须使用它的IP地址来提供服务,
# 这里使用一种容易理解的方式重定向服务
#
# UseCanonicalName:决定Apache如何构造URLS和 SERVER_NAME 和 SERVER_PORT 的指令.
# 当设置为 "Off"时,Apache会使用用户端提供的主机名和端口号.
# 当设置为"On",Apache会使用ServerName指令的值.
#
UseCanonicalName Off
#
# DocumentRoot:你的文档的根目录.默认情况下,所有的请求从这个目录进行应答.
# 但是可以使用符号链接和别名来指向到其他的位置.
#
DocumentRoot "/home/redhat/public_html"
#
# Apache可以存取的每个目录都可以配置存取权限(包括它的子目录).
#
# 首先,我们配置一个高限制的特征.
# 这将禁止访问文件系统所在的目录,并添加你希望允许访问的目录块.
# 如下所示
Order Deny,Allow
Deny from all
#
# 注意从这里开始你一定要明确地允许哪些特别的特征能够被使用.
# - 所以,如果Apache没有象你所期待的那样工作的话,
# 请检查你是否在下面明确的指定它可用.
#
#
# 这将改变到你设置的DocumentRoot
#
#
# Options:这个指令的值可以是"None","All",或者下列选项的任意组合:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# 注意,"MultiViews"必须被显式的指定,"Options All"不能为你提供这个特性.
#
# 这个指令既复杂又重要,请参见
#"d/core.html#optioins" 以取得更多的信息." target="_blank">…〉酶 嗟男畔ⅰ?lt;/a>
#
Options FollowSymLinks
#
# AllowOverride控制那些被放置在.htaccess文件中的指令.
# 它可以是"All","None",或者下列指令的组合:
# Options FileInfo AuthConfig Limit
#
AllowOverride None
#
# 控制谁可以获得服务.
#
Order allow,deny
Allow from all
#
# UserDir:指定在得到一个~user请求时将会添加到用户home目录后的目录名.
#
UserDir public_html
# 为防止在UserDir指令上的漏洞,对root用户设置
# 象"./"这样的UserDir是非常有用的.
# 如果你使用Apache 1.3或以上版本,我们强烈建议你
# 在你的服务器配置文件中包含下面的行
UserDir disabled root
#
# 下面是一个使用UserDir指令使一个站点的目录具有只读属性的示例:
#
#
# AllowOverride FileInfo AuthConfig Limit Indexes
# Options MultiViews Indexes SymLinksIfOwnerMatch IncludeNoExec
#
# Order allow,deny
# Allow from all
#
#
# Order deny,allow
# Deny from all
#
#
#
# DirectoryIndex:定义请求是一个目录时,Apache向用户提供服务的文件名
#
# index.html.var文件(一个类型映象文件)用于提供一个文档处理列表,
# 出于同样的目的,也可以使用MultiViews选项,但是它会非常慢.
#
DirectoryIndex index.php index.html index.html.var
#
# AccessFileName:在每个目录中查询为目录提供附加配置指令的文件的文件名.
# 参见AllowOverride指令.
#
AccessFileName .htaccess
#
# 下面的行防止.htaccess和.htpasswd文件被Web客户查看.
#
Order allow,deny
Deny from all
#
# Typeconfig:定义在哪里查询mime.types文件.
#
TypeConfig conf/mime.types
#
# DefaultType:定义当不能确定MIME类型时服务器提供的默认MIME类型.
# 如果你的服务主要包含text或HTML文档,"text/plain"是一个好的选择;
# 如果大多是二进制文档,诸如软件或图像,你应使用
# "application/octer-stream"来防止浏览器象显示文本那样显示二进制文件.
#
DefaultType text/plain
#
# mod_mime_magic允许服务器从自己定义自己类型的文件中使用不同的线索(hints),
# 这个MIMEMagicFile指令定义hints定义所在的文件.
#
MIMEMagicFile conf/magic
#
# HostnameLookups:指定记录用户端的名字还是IP地址,例如,本指令为on时
# 记录主机名,如;为off时记录IP地 址,204.62.129.132." target="_blank">为off时记录IP地址,204.62.129.132.
# 默认值为off,这要比设为on好得多,因为如果设为on则每个用户端请求都将会
# 至少造成对 nameserver 进行一次查询.
#
HostnameLookups Off
#
# EnableMMAP:控制是否进行内存转储(如果操作系统支持的话).
# 默认为on,如果你的服务器安装在网络文件系统上(NFS),请关闭它.
# 在一些系统上,关闭它会提升系统性能(与文件系统类型无关);
# 具体情况请参阅d/core.html#enablemmap" target="_blank">…html#enablemmap
#
# EnableMMAP off
#
# EnableSendfile:控制是否使用sendfile kernel支持发送文件
# (如果操作系统支持的话).默认为on,如果你的服务器安装在网络文件系统
# (NFS)上,请你关闭它.
# 参见d/core.html#enablesendfile" target="_blank">…#enablesendfile
#
# EnableSendfile off
#
# ErrorLog:错误日志文件定位.
# 如果你没有在内定义ErrorLog指令,这个虚拟主机的错误信息
# 将记录在这里.如果你在那儿定义了ErrorLog,这些错误信息将记录在你所
# 定义的文件里,而不是这儿定义的文件.
#
ErrorLog logs/error_log
#
# LogLevel:控制记录在错误日志文件中的日志信息数量.
# 可能的值包括:debug,info,notice,warn,error,crit,alert,emerg.
#
LogLevel warn
#
# 下面的指令为CustomLog指令定义格式别名.
#
LogFormat "%h %l %u %t \"%r\" %>s %b \"%i\" \"%i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%i -> %U" referer
LogFormat "%i" agent
# 你需要安装了mod_logio.c模块才能使用%I和%O.
# LogFormat "%h %l %u %t \"%r\" %>s %b \"%i\" \"%i\" %I %O" combinedio
#
# 指定接入日志文件的定位和格式(一般日志格式).
# 如果你没有在内定义这个指令,传输信息将记录在这里,
# 如果你定义了这个指令,则记录在你指定的位置,而不是这儿定义的位置.
#
CustomLog logs/access_log common
#
# 如果你想要记录agent和referer信息,可以使用下面的指令
#
# CustomLog logs/referer_log referer
# CustomLog logs/agent_log agent
#
# 如果你想要使用一个文件记录access,agent和referer信息,
# 你可以如下定义这个指令:
#
# CustomLog logs/access_log combined
#
# ServerTokens
# 这个指令定义包含在HTTP回应头中的信息类型.默认为"Full",
# 这表示在回应头中将包含模块中的操作系统类型和编译信息.
# 可以设为列各值中的一个:
# Full | OS | Minor | Minimal | Major | Prod
# Full传达的信息最多,而Prod最少.
#
ServerTokens Full
#
# 随意的添加包含服务器版本和虚拟主机名字一行信息到server-generated输出页中
# (内部错误文档,FTP目录列表,mod_status和mod_info输出等等,除了CGI错误
# 或自定义的错误文档以外).
# 设为"EMail"将包含一个指向ServerAdmin的mailto:连接.
# 可以为如下值:On | Off | EMail
#
ServerSignature On
#
# Aliases:在这时添加你需要的别名,格式如下:
# Alias 别名 真实名
#
# 注意,如果你在别名的未尾包含了"/",那么在URL中也需要包含"/".
# 因此,"/icons"不是这个示例中的别名.
# 如果别名中以"/"结尾,那么真实名也必须以"/"结尾,
# 如果别名中省略了结尾的"/",那么真实名也必须省略.
#
# 我们使用别名"/icons/"来表示FancyIndexed目录列表,如果你不使用、
# FancyIndexing,你可以注释掉它.
#
# Alias /icons/ "/usr/local/apache2/icons/"
#
# Options Indexes MultiViews
# AllowOverride None
# Order allow,deny
## Allow from all
#
#
# 这将改变ServerRoot/manual.这个别名提供了手册页所在的位置,
# 即使你改变了你的DocumentRoot.如果你对有无手册页并不在意的话,
# 你可以注释掉它.
#
Alias /manual "/usr/loacl/apache2/manual"
Options Indexes FollowSymLinks MultiViews IncludesNoExec
AddOutputFilter Includes html
Order allow,deny
Allow from all
#
# ScriptAlias:指定包含服务脚本的目录.
# ScriptAliases 本质上与Aliases一样,除了这里的文档在请求时做为程序处理处理以外.
# 尾部的"/"规则与Alias一样
#
ScriptAlias /cgi-bin/ "/usr/loacl/apache2/cgi-bin/"
# 这里是添加php 4支持的指令
AddType application/x-httpd-php .php
LoadModule php4_module modules/libphp4.so
#
# 添加mod_cgid.c设置,mod_cgid提供使用cgid进行通讯的UNIX套接字的
# 脚本接口路径.
#
# Scriptsock logs/cgisock
#
# 将"/usr/local/apache2/cgi-bin"改为你的ScriptAliased指定的CGI目录,
# 如果你配置了的话.
#
AllowOverride None
Options None
Order allow,deny
Allow from all
#
# Redirect允许你告诉客户端使用存在于服务器名字空间中的文档,
# 而不是现在的,这帮助客户定位那些改变了位置的文档.
# 例如:
# Redirect permanent /foo " target="_blank">
#
# 控制server-generated目录列表显示的指令
#
#
# IndexOptions:控制server-generated目录列表显示特征.
#
IndexOptions FancyIndexing VersionSort
#
# AddIcon* 指令告诉服务器不同扩展名的图象文件如何显示,
# 只适用于FancyIndexed指令
#
问:Linux解压缩.gz文件的命令是?
答:在 Linux系统中,压缩文件后生成后缀为.gz文件的命令是 gzip 。
gzip解压命令详解:
~]# tar
[-cxtzjvfpPN] 文件与目录 …
参数:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!
因为不可能同时压缩与解压缩.
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成
『 tar -zcvPf tfile sfile』才对喔!
-p :使用原文件的原来属性(属性不会依据使用者而变)
-P :可以使用绝对路径来压缩!
-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!
--exclude FILE:在压缩的过程中,不要将 FILE 打包!
范例:
范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar
[root@linux ~]# tar -cvf
/tmp/etc.tar /etc tar -zcvf
/tmp/etc.tar.gz /etc
[root@linux ~]# tar -jcvf
/tmp/etc.tar.bz2 /etc
# 特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用
.tar 来作为辨识.
# 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file ~
# 如果加 j 参数,则以 .tar.bz2 来作为附档名啊~
# 上述指令在执行的时候,会显示一个警告讯息:
# 『tar: Removing leading `/' from member names』那是关於绝对路径的特殊设定.
范例二:查阅上述 /tmp/etc.tar.gz 文件内有哪些文件?
[root@linux ~]# tar -ztvf
/tmp/etc.tar.gz
# 由於我们使用 gzip 压缩,所以要查阅该 tar file
内的文件时,
# 就得要加上 z 这个参数了!这很重要的!
范例三:将 /tmp/etc.tar.gz 文件解压缩在
/usr/local/src 底下
[root@linux ~]# cd /usr/local/src
[root@linux src]# tar
-zxvf /tmp/etc.tar.gz
# 在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说,
# 我先将工作目录变换到 /usr/local/src 底下,并且解开 /tmp/etc.tar.gz
,
# 则解开的目录会在 /usr/local/src/etc 呢!另外,如果您进入 /usr/local/src/etc
# 则会发现,该目录下的文件属性与 /etc/ 可能会有所不同喔!
范例四:在 /tmp 底下,我只想要将 /tmp/etc.tar.gz
内的 etc/passwd 解开而已
[root@linux ~]# cd /tmp
[root@linux tmp]# tar
-zxvf /tmp/etc.tar.gz etc/passwd
# 我可以透过 tar -ztvf 来查阅 tarfile
内的文件名称,如果单只要一个文件,
# 就可以透过这个方式来下达!注意到! etc.tar.gz 内的根目录 / 是被拿掉了!
范例五:将 /etc/ 内的所有文件备份下来,并且保存其权限!
[root@linux ~]# tar -zxvpf
/tmp/etc.tar.gz /etc
# 这个 -p 的属性是很重要的,尤其是当您要保留原本文件的属性时!
范例六:在 /home 当中,比 2005/06/01 新的文件才备份
[root@linux ~]# tar -N
'2005/06/01' -zcvf home.tar.gz /home
范例七:我要备份 /home, /etc ,但不要 /home/dmtsai
[root@linux ~]# tar --exclude
/home/dmtsai -zcvf myfile.tar.gz /home/* /etc
范例八:将 /etc/ 打包后直接解开在 /tmp 底下,而不产生文件!
[root@linux ~]# cd /tmp
[root@linux tmp]# tar
-cvf - /etc | tar -xvf -
# 这个动作有点像是 cp -r /etc /tmp 啦~依旧是有其有用途的!
# 要注意的地方在於输出档变成 - 而输入档也变成 - ,又有一个 | 存在~
# 这分别代表 standard output, standard input 与管线命令啦!
# 这部分我们会在 Bash shell 时,再次提到这个指令跟大家再解释啰!
gzip, zcat 命令
[root@linux
~]# gzip [-cdt#] 档名
[root@linux ~]# zcat 档名.gz
参数:
-c :将压缩的资料输出到萤幕上,可透过资料流重导向来处理;
-d :解压缩的参数;
-t :可以用来检验一个压缩档的一致性~看看文件有无错误;
-# :压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!预设是 -6 ~
范例:
范例一:将 /etc/man.config 复制到 /tmp
,并且以 gzip 压缩
[root@linux ~]# cd /tmp
[root@linux tmp]# cp /etc/man.config
.
[root@linux tmp]# gzip man.config
# 此时 man.config 会变成 man.config.gz
!
范例二:将范例一的文件内容读出来!
[root@linux tmp]# zcat man.config.gz
# 此时萤幕上会显示 man.config.gz 解压缩之后的文件内容!!
范例三:将范例一的文件解压缩
[root@linux tmp]# gzip -d man.config.gz
范例四:将范例三解开的 man.config 用最佳的压缩比压缩,并保留原本的文件
[root@linux tmp]# gzip -9 -c
man.config > man.config.gz
bzip2, bzcat 命令
[root@linux ~]# bzip2
[-cdz] 档名
[root@linux ~]# bzcat 档名.bz2
参数:
-c :将压缩的过程产生的资料输出到萤幕上!
-d :解压缩的参数
-z :压缩的参数
-# :与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快!
范例:
范例一:将刚刚的 /tmp/man.config 以 bzip2
压缩
[root@linux tmp]# bzip2 -z man.config
# 此时 man.config 会变成 man.config.bz2
!
范例二:将范例一的文件内容读出来!
[root@linux tmp]# bzcat man.config.bz2
# 此时萤幕上会显示 man.config.bz2 解压缩之后的文件内容!!
范例三:将范例一的文件解压缩
[root@linux tmp]# bzip2 -d man.config.bz2
范例四:将范例三解开的
man.config 用最佳的压缩比压缩,并保留原本的文件
[root@linux tmp]# bzip2 -9 -c
man.config > man.config.bz2
compress 命令
[root@linux ~]# compress
[-dcr] 文件或目录
参数:
-d :用来解压缩的参数
-r :可以连同目录下的文件也同时给予压缩呢!
-c :将压缩资料输出成为 standard output (输出到萤幕)
范例:
范例一:将 /etc/man.config 复制到 /tmp ,并加以压缩
[root@linux ~]# cd /tmp
[root@linux tmp]# cp /etc/man.config
.
[root@linux tmp]# compress man.config
[root@linux tmp]# ls -l
-rw-r--r-- 1 root root 2605 Jul 27 11:43 man.config.Z
范例二:将刚刚的压缩档解开
[root@linux tmp]# compress -d
man.config.Z
范例三:将 man.config 压缩成另外一个文件来备份
[root@linux tmp]# compress -c
man.config > man.config.back.Z
[root@linux tmp]# ll man.config*
-rw-r--r-- 1 root root 4506 Jul 27 11:43 man.config
-rw-r--r-- 1 root root 2605 Jul 27 11:46 man.config.back.Z
# 这个 -c 的参数比较有趣!他会将压缩过程的资料输出到萤幕上,而不是写入成为
# file.Z 文件.所以,我们可以透过资料流重导向的方法将资料输出成为另一个档名.
# 关於资料流重导向,我们会在 bash shell 当中详细谈论的啦!
dd 命令
[root@linux
~]# dd if="input_file"
of="outptu_file" bs="block_size"
\
count="number"
参数:
if :就是 input file 啰~也可以是装置喔!
of :就是 output file 喔~也可以是装置;
bs :规划的一个 block 的大小,如果没有设定时,预设是 512 bytes
count:多少个 bs 的意思.
范例:
范例一:将 /etc/passwd 备份到 /tmp/passwd.back
当中
[root@linux ~]# dd if=/etc/passwd
of=/tmp/passwd.back
3+1 records in
3+1 records out
[root@linux ~]# ll /etc/passwd
/tmp/passwd.back
-rw-r--r-- 1 root root 1746 Aug 25 14:16 /etc/passwd
-rw-r--r-- 1 root root 1746 Aug 29 16:57 /tmp/passwd.back
# 仔细的看一下,我的 /etc/passwd 文件大小为
1746 bytes,因为我没有设定 bs ,
# 所以预设是 512 bytes 为一个单位,因此,上面那个 3+1 表示有 3 个完整的
# 512 bytes,以及未满 512 bytes 的另一个 block 的意思啦!
# 事实上,感觉好像是 cp 这个指令啦~
范例二:备份 /dev/hda 的 MBR
[root@linux ~]# dd if=/dev/hda
of=/tmp/mbr.back bs=512 count=1
1+0 records in
1+0 records out
# 这就得好好了解一下啰~我们知道整颗硬盘的 MBR 为
512 bytes,
# 就是放在硬盘的第一个 sector 啦,因此,我可以利用这个方式来将
# MBR 内的所有资料都纪录下来,真的很厉害吧! ^_^
范例三:将整个 /dev/hda1 partition
备份下来.
[root@linux ~]# dd if=/dev/hda1
of=/some/path/filenaem
# 这个指令很厉害啊!将整个 partition 的内容全部备份下来~
# 后面接的 of 必须要不是在 /dev/hda1 的目录内啊~否则,怎么读也读不完~
# 这个动作是很有效用的,如果改天你必须要完整的将整个 partition 的内容填回去,
# 则可以利用 dd if=/some/file of=/dev/hda1 来将资料写入到硬盘当中.
# 如果想要整个硬盘备份的话,就类似 Norton 的 ghost 软体一般,
# 由 disk 到 disk ,嘿嘿~利用 dd 就可以啦~厉害厉害!
cpio 命令
[root@linux
~]# cpio -covB > [file|device]
[root@linux ~]# cpio -icduv
参数:
-o :将资料 copy 输出到文件或装置上
-i :将资料自文件或装置 copy 出来系统当中
-t :查看 cpio 建立的文件或装置的内容
-c :一种较新的 portable format 方式储存
-v :让储存的过程中文件名称可以在萤幕上显示
-B :让预设的 Blocks 可以增加至 5120 bytes ,预设是 512 bytes !
这样的好处是可以让大文件的储存速度加快(请参考 i-nodes 的观念)
-d :自动建立目录!由於 cpio 的内容可能不是在同一个目录内,
如此的话在反备份的过程会有问题! 这个时候加上 -d 的话,
就可以自动的将需要的目录建立起来了!
-u :自动的将较新的文件覆盖较旧的文件!
范例:
范例一:将所有系统上的资料通通写入磁带机内!
[root@linux ~]# find / -print |
cpio -covB > /dev/st0
# 一般来说,使用 SCSI 介面的磁带机,代号是 /dev/st0
喔!
范例二:检查磁带机上面有什么文件?
[root@linux ~]# cpio -icdvt
[root@linux ~]# cpio -icdvt /tmp/content
# 第一个动作当中,会将磁带机内的档名列出到萤幕上面,而我们可以透过第二个动作,
# 将所有的档名通通纪录到 /tmp/content 文件去!
范例三:将磁带上的资料还原回来~
[root@linux ~]# cpio -icduv
# 一般来说,使用 SCSI 介面的磁带机,代号是 /dev/st0
喔!
范例四:将 /etc 底下的所有『文件』都备份到 /root/etc.cpio
中!
[root@linux ~]# find /etc -type
f | cpio -o > /root/etc.cpio
# 这样就能够备份啰~您也可以将资料以 cpio -i
问:vi编辑器保存文件的命令是?
答:在用vi编辑文件时,将文件内容存入test.txt文件中,应在命令模式下键入 :w test.txt 。
vi编辑器命令详解:
vi命令是unix下常用而重要命令,可在全屏幕方式下编辑一个或多个文件.若在vi执行时
没有指定一个文件,那么vi命令会自动产生一个无名的空的工作文件.若指定的文件不存在,
那么就按指定的文件名创建一个新的文件.若对文件的修改不保存的话,v i命令并不改变原
来文件的内容.
注意:vi命令并不锁住所编辑的文件,因此多个用户可能在同时编辑一个文件,那么最后
保存的文件版本将被保留.
下面是vi命令使用的一些选项及含义:
-c sub-command 在对指定的文件编辑前,先执行指定的命令 sub-command .
-r filename 恢复指定的文件filename .
-R 将指定的文件以只读的方式放入编辑器中,这样不会保存对文件的任何修 改.
-y number 将编辑窗口的大小设为number行.
下面是vi编辑所处的三种模式:
.命令模式 进入vi时所处的模式.在此模式下用户可输入各种子命令对进行*作,如删除行、
粘贴行、移向下一个字、移向不同行等.
.文本输入模式 在此模式下可以修改一行的内容并增添新行.在命令模式下键入a 、i 或
c键可进入文本输入模式,按Escape键可返回命令模式.
.命令项模式 在此模式下,可以通过子命令输入更多的参数.如:w子命令要求输入一文
件名,"/"子命令要求输入一个查找项.用户使用Escape键返回命令模式.
下面是自命令模式下执行的,在同一行上移动的自命令:
h 将光标左移一格.
l 将光标右移一格.
j 将光标下移一格.
k 将光标上移一格.
w 将光标移到下一个小字的前面.
W 将光标移到下一个大字的前面.
b 将光标移到前一个小字的前面.
B 将光标移到前一个大字的前面.
e 将光标移到下一个小字的后面.
E 将光标移到前一个大字的后面.
fc 把光标移到同一行的下一个c字符处.
Fc 把光标移到同一行的前一个c字符处.
tc 把光标移到同一行的下一个字符c的前一格.
Tc 把光标移到同一行的前一个字符c的后一格.
number| 把光标移到递number列上.
下面是命令模式下在行间移动的子命令:
+或Enter 把光标移至下一行第一个非空白字符.
- 把光标移至上一行第一个非空白字符.
0 把光标移到当前行的第一个字符处.
$ 把光标移到当前行的最后一个字符处.
H 把光标移到屏幕最顶端一行.
L 把光标移到屏幕最底端一行.
M 把光标移到屏幕中间.
下面是命令模式下改变屏幕显示的子命令:
z- 把当前行作为屏幕的最后一行,并重新显示屏幕.
z. 把当前行作为屏幕的中间一行,并重新显示屏幕.
Ctrl+l 重新显示屏幕当前内容.
/pattern/z- 寻找pattern的下一个位置,并把所在行设为屏幕的最后一行.
下面是在命令模式下用来显示页面的子命令:
Ctrl + f向后滚一页.
Ctrl + d向后滚半页.
Ctrl + b向前滚一页.
Ctrl + u向前滚半页.
Ctrl + e屏幕向下滚一行.
Ctrl + y屏幕项上滚一行.
下面是在命令模式下用来查找字符串所使用的子命令:
/pattern 向后寻找指定的pattern ,若遇到文件尾,则从头再开始.
?pattern 向前寻找指定的pattern ,若遇到文件头,则从尾再开始.
n 在上次指定的方向上,再次执行上次定义的查找.
N 在上次指定的方向的相反方向上,再次执行上次定义的查找.
/pattern/+number 将光标停在包含pattern的行后面第number行上.
/pattern/-number 将光标停在包含pattern的行前面第number行上.
% 移到匹配的"()"或"{}"上.
下面是在文本输入模式下用来输入文本的子命令(用户可在任何时候按Escape返回到命令模式):
a 在光标之后开始输入文本.
A在行尾开始输入文本.
i在光标之前开始输入文本.
I在行首第一个非空白字符前输入文本.
o在光标所在行后插入一空行.
O在光标所在行前插入一空行.
下面是在命令模式下改变文本所使用的子命令(用户可在任何的时候按Escape键返回到命令模式):
cc或S 修改一整行.
C 改变一行光标位置以后的部分.
cw 改变光标所在单词.
dd删除当前行.
D 删除光标所在行光标后面的内容.
dw删除光标所在的单词.
J 把下一行内容加到本行行尾.
rc把光符所在字符替换成c .
R 覆盖本行内容.
u恢复上一次的修改.
x删除光标所在的字符.
~ 改变光标所在出字符的大小写.
. 重复上一个*作.
<<把当前行移到左边.
>>把当前行移到右边.
下面是用于文件中拷贝文本的字命令:
p 将缓冲区内容取到光标所在行的下面一行.
P 将缓冲区内容取到光标所在行的上面一行.
"bd 将文本删除至有名缓冲区b .
"bp 张贴有名缓冲区b中内容.
yy把当前行放入缓冲区.
Y 把当前行放入缓冲区.
Yw把光标所在的单词放入缓冲区.
下面是用于保存文件的子命令:
:w 回写修改后的文件.
:w filename 当filename不存在时,把修改后的文件存为文件filename ,当文件filename
存在时,报错.
!w filename 如果文件filename存在时,把修改后的文件保存为文件filename .
下面列出了在vi编辑的多个文件之间切换所用的子命令:
:n开始编辑vi激活的文件列表中的下一个文件.
:n filenames 指定将被编辑的新的文件列表.
下面列出了用于在当前文件和另外一个文件间切换的子命令:
:e filename 使用filename激活vi (在vi中装入另一个文件filename).
e!重新装入当前文件,若当前文件有改动,则丢弃以前的改动.
:e+filename 使用filename激活vi ,并从文件尾部开始编辑.
:e+number filename 使用filename激活vi ,并在第number行开始编辑.
:e# 开始编辑另外一个文件.
下面是在本文件中加入其他文件代码所使用的子命令:
:r filename读取filename文件,并将其内容加到当前文件后.
:r ! command执行command文件,并将其输出加到当前文件后.
下面是vi中其他的子命令:
ctrl+g 取得正在编辑文件的有关信息.
:sh启动sh ,从sh中返回可用exit或ctrl+d .
:! Command 执行命令command .
!!重新执行上次的:! Command子命令.
:q退出vi ,若用户对编辑的文件有所修改,系统不会让用户使用q命令退出.
:q!退出vi而不管是否对文件有改动.
ZZ或:wq 保存对文件的修改并退出vi .
用户可在一个特殊的文件.exrc中定义特殊的vi命令.在vi中使用这些命令时,必须在该
命令前加上一个冒号( :) .
命令状态:
2007-06-05 15:37命令状态:
j,k,h,l:上下左右
0: 行首
$: 行尾
i,I :插入命令,i 在当前光标处插入 I 行首插入
a,A:追加命令,a 在当前光标后追加,A 在行末追加
o,O:打开命令,o 在当前行下打开一行,O在当前行上插入一行
r,R :替换命令,r 替换当前光标处字符,R从光标处开始替换
数字s: 替换指定数量字符
x: 删除光标处字符
dd: 删除当前行
d0: 删除光标前半行
d$: 删除光标后半行
ctrl+f :后翻页
ctrl+b:前翻页
G : 文件尾
数字G: 数字所指定行
/string 查找字符串
n 继续查找
N 反向继续查找
% 查找对应括号
u 取消上次操作
ex命令状态
:set number 显示行号
:set smd 显示显示状态
:0 文件首
:1,5 copy 7 块拷贝
:1,5 del 块删除
:1,5 move 7 块移动
:1,$s/string1/string2/g 全文件查找string1并替换为string2
:wq! 存盘退出
问:Linux下显示整年日历的命令是?
答:可以在标准输出上显示整年日历的命令及参数是 cal -y 。
问:Windows9.x与Unix/Linux共享的工具是?
答:在Windows9.x环境下共享Unix/Linux中的用户目录的一个工具是 Samba服务器 。
Samba服务器详解:
======================= Global Settings =====================================
[global] //设置samba服务整体环境
workgroup = hackase //设置工作组名
server string = angel server //服务器的名说明
; hosts allow = 192.168.1. 192.168.2. 127. //限制可访问此服务的IP范围,默认是全部
允许的,要是想设设置去掉前面的";"
printcap name = /etc/printcap //打印机配置文件
load printers = yes //是否共享打印机
# bsd, sysv, plp, lprng, aix, hpux, qnx, cups
printing = cups //打印机的类型.标准打印机类型包括以上几种.
; guest account = pcguest //pcguest为用户名.可改去掉前边的";"让用户以
pcguest身份匿名登录,但保证/etc/passwd中有此人.
log file = /var/log/samba/%m.log //为登录服务器的用户建立不同的日志文件.
max log size = 0 //日志文件的大小,"0"代表无限制
//以下是smb.conf文件对服务器安全级别的设置
security = SHARE //安全性的级别共四种.share、user、server、domain
; password server = 密码验证服务器.
; password level = 8 //密码级别
; username level = 8
encrypt passwords = yes //用户密码加密,当然也可以不加密
smb passwd file = /etc/samba/smbpasswd //将密码服务器设置为samba server.需
要这个东东来指定验证文件.这个是文件
的路径,如果samba server是指定的win
server这个不须要
; ssl CA certFile = /usr/share/ssl/certs/ca-bundle.crt
unix password sync = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *New*password* %n\n *Retype*new*password* %n\n *passwd:*all*authentication*tokens*updated*successfully*
pam password change = yes
; username map = /etc/samba/smbusers //如果每个windows用户在samba服务器中有帐户这
个可以不设
; include = /etc/samba/smb.conf.%m
obey pam restrictions = yes
; interfaces = 192.168.12.2/24 192.168.13.2/24 如果多网段要在这里列出
; remote announce = 192.168.1.255 192.168.2.44
; local master = no
; os level = 33
; domain master = yes
; preferred master = yes
; domain logons = yes
; logon script = %m.bat
; logon script = %U.bat
; logon path =
; wins support = yes //wins server支持
; wins server = w.x.y.z
; wins proxy = yes //wins 代理设置
dns proxy = no //dns代理设置
; preserve case = no
; short preserve case = no
; default case = lower
; case sensitive = no
#============================ Share Definitions ==============================
[homes] //用户访问自已目录的设置
comment = Home Directories //说明(以下同理)
browseable = no//设定目录可不可以别人浏览
writeable = yes//用户写入自己的权限
valid users = %S
create mode = 0664
directory mode = 0775
; [netlogon] //此段域用户登录目录设置
; comment = Network Logon Service
; path = /usr/local/samba/lib/netlogon
; guest ok = yes
; writable = no
; share modes = no
;[Profiles]
; path = /usr/local/samba/profiles
; browseable = no
; guest ok = yes
[printers] //打印机设置
comment = All Printers
path = /var/spool/samba
browseable = no
printable = yes
;[tmp] //用户共享资源设置
; comment = Temporary file space
; path = /tmp //可以自定义目录,去掉前边的";"就OK了
; read only = no //是否只读或可写
; public = yes
;[public] //用户共享资源设置
; comment = Public Stuff
; path = /home/samba
; public = yes
; writable = yes
; printable = no
; write list = @staff
;[fredsprn]
; comment = Fred's Printer
; valid users = fred
; path = /home/fred
; printer = freds_printer
; public = no
; writable = no
; printable = yes
;[fredsdir]
; comment = Fred's Service
; path = /usr/somewhere/private
; valid users = fred
; public = no
; writable = yes
; printable = no
;[pchome]
; comment = PC Directories
; path = /usr/local/pc/%m
; public = no
; writable = yes
;[public]
; path = /usr/somewhere/else/public
; public = yes
; only guest = yes
; writable = yes
; printable = no
;[myshare]
; comment = Mary's and Fred's stuff
; path = /usr/somewhere/shared
; valid users = mary fred
; public = no
; writable = yes
; printable = no
; create mask = 0765
[my work] //偶的东东
comment = is me work
path = /root/my work
valid users angel
public = yes
writeable = yes
_content>好了,了解smb.conf的文件就好办了.我们开始对samba server的四个安全级别分别讲解.
1、share级配置
这个在四个等级中是最低的,方法也是最简单.我们只要对smb.conf文件修改一下就可以了.
workgroup = hackase
server string = angel server
hosts allow = 192.168.1. //限制192.168.1的IP网段可以防问
printcap name = /etc/printcap
load printers = yes //共享打印机
printing = cups //打印机用linux标准的
guest account = angel
log file = /var/log/samba/%m.log
max log size = 20
security = share
===================================================================
其他的设置默认就可以了,也可以像我把所有的注释删除.[tmp]这个字段的";"去掉.路径可以更改. 重启一下服务 /etc/samba/smb restart //
service smb restart 也可
用testparm测试我们配置的文件是否正确:
===================================================================
[root@localhost root]# testparm //测试时[printers]注释掉了所以这里没有.
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[tmp]"
Processing section "[my]"
Loaded services file OK. //如有错误,会在这列出错误的地方.
Press enter to see a dump of your service definitions
==================================================================
用smbclient命令查看网络共享情况
===================================================================
[root@localhost etc]# smbclient -L localhost //本机名为localhost
Password:
Domain=[HACKBASE] OS=[Unix] Server=[Samba 2.2.7a]
Sharename Type Comment
--------- ---- -------
tmp Disk Temporary file space
my Disk is me
IPC$ IPC IPC Service (angel server)
ADMIN$ Disk IPC Service (angel server)
root Printer Home Directories
Server Comment
--------- -------
Workgroup Master
--------- -------
=======================================================================
2、user级配置
user比share级安全级别高一点点,很简单的,可以在share基础上改一下就可以了.
改一下security = share字段为:security = user.在加上如下字段:
guest
问:Linux系统管理员的职责是?
答:Linux系统管理员的职责是进行系统资源管理、系统性能管理、设备管理、安全管理和 系统性能监测 。
问:Linux DNS解析是否正确的命令是?
答:在Linux系统中,测试DNS服务器是否能够正确解析域名的的客户端命令,使用命令 nslookup 。
问:如何修改Linux的系统IP地址?
答:如果只是要修改系统的IP地址,应修改 /etc/rc.d/rc.inet1 配置文件。
问:Linux局域网内的用户可以使用计算机名互相访问时,应配置哪个文件?
答:当LAN内没有条件建立DNS服务器,但又想让局域网内的用户可以使用计算机名互相访问时,应配置 /etc/hosts 文件。
问:Linux DHCP是?
答:DHCP是动态主机配置协议的简称,其作用是:为网络中的主机分配IP地址 。
问:试列举mv 命令的作用
答:mv 命令可以移动文件和目录,还可以为文件和目录重新命名。