ps -ef|ps ef grep java命令boss命令查出来的东西,哪个是进程号,端口号,其他的是什么意思

当前位置: >>
RHCE红帽认证工程师
第一天的内容1、LNUX 发展史 2、 安装 REDHAT ENTERPRISE LINUX 3、2、3、LINUX 的文件及文件夹的组织结构RHCT 课程-初级部分1、(GUN 项目计划)GNU Project 发起于1984年,由著名的黑客 Richard Stallman 提出的,GNU 获得了自由软件基金会(FSF for Free Software Foundation)的支持,这也是 GNU 的主要资金来源,目的是为了建立免费的 UNIX 系统,基本原则是源代码共享及思想共享。GNU 是“GNU's Not Unix”的递归缩写。GNU[nu:, nju:]的中文翻译是角马(南非产的象牛的大羚羊)。所以GNU 的标志也就是这个,记住,他是角马,不是牛,也不是其他的什么。 这就是 Richard Stallman,很著名的黑客。GNU 通用公共许可(GPL)Linux 是基于 Copyleft(版权所无)的软件模式进行发布的,其实Copyleft 是与 Copyright(版权所有)相对立的新名称,它是 GNU 项目制定的通用公共许可证 GPL(General Public License)。GPL 是由自由软件基金会发行的用于计算机软件的协议证书,使用该证书的软件被称为自由软件(Free software),后来改名为开放源代码软件(Open Source Software)。大多数的 GNU 程序和超过半数的 自由软件使用它 。GPL 保证了任何人都有权复制、修改和重新发布自由软件的源代码,并且规定在不增加费用的条件下得到源代码(基本发行费用除外),但你不能声明你做了原始的工作,或声明是由他人做的。RHCE 课程-初级部分1、(LNUX 发展史和 Linus Torvalds)Linux 核心编写者 Linus TorvaldsLinux 由 Linus Torvalds 于1991年10月在芬兰赫尔辛基大学发布的,Linux 可以说是 UNIX 操作系统的一个克隆体。 Linux kernel + GNU utilities = open source,UNIX-likeoperating systemLinus Torvalds,Linux 核心的创作者,于日出生在芬兰的赫尔辛基。当 Linus 十岁时,他的祖父,赫尔辛基大学的一位统计教授,购买了一台 Commodore VIC-20 计算机。Linus 帮助他祖父把数据输入到他的可编程计算器里,做这些仅仅是为了好玩,他还通过阅读计算机里的指令集来自学一些简单的 BASIC 程序。当他成为赫尔辛基大学的计算机科学系的学生的时候,Linus Torvalds 已经是一位成功的程序员了。1991年,在学习了一套 Unix 和 C 的课程之后,Torvalds 购买了他自己的个人计算机(PC)。他对计算机的操作系统(MS-DOS)很不满,并且 决定自己写一个操作系统。Torvalds 开始对 Minix,一个 Andrew S.Tanenbaum 开发的以教学目的的类似 Unix 的操作系统,感兴趣起来,Andrew S. Tanenbaum 是一个想教他的学生真正的操作系统的内在工作原理的荷兰教授。Minix 是为在英特尔 8086 微处理器上运行而设计的,并且有可以用于研究的源代码。Torvalds 决定开发超出 Minix 标准的一个操作系统。后来被人们称为 Linux,Linus 'Minix 的缩写。Linus Torvalds 没有保留他的计算机编码的版权。反而,他在因特网上公开了他的代码,并且邀请 comp.os.minix 新闻组的成员来帮助他建立他的操作系统。在日,Linus Torvalds 宣布了这则著名消息: 使用 minix 的朋友大家好-我正在做一个386(486)AT 兼容 机的(免费的) 操作系统(仅仅是出于个人的爱好,不会像 GNU 那样做大做专业)。Linus Torvalds 把他的操作系统的成功归功于互联网 和 RichardStallman 的 GNU 项目。Torvalds 和他的联合开发者利用了系统组分由自由软件基金会开发的成员开发为 GNU 项目。Linux 的开发背后的开放资源哲学,与操作系统的成功结合,使得 Linus Torvalds 成为有争议的&崇拜偶象& 。和 Windows 及其它有专利权的操作系统不同,Linux 仍然公开地开放源代码和并得到不断的扩展。任何人可以免费的使用它,只要他们做的任何改进都不是受著作权保护并且可以免费地保留利用。当前,据估计现在只2% Linux 代码由 Linus Torvalds 自己 写的,虽然他仍然拥有 Linux 核心(操作系统的核心部份)并且保留了选择新代码和需要合并的新方法的最终裁定权。在赫尔辛基大学当了10年的学生和研究员之后,Linus Torvalds 接受了 Transmeta 的一个工作,这家硅谷的新公司以它的征召天才和它的 Crusoe 芯片闻名。仅有内核而没有应用软件的操作系统是无法使用的,所以许多公司或社团将内核、源代码及相关的应用程序组织构成一个完整的操作系统,让一般的用户可以简便地安装和使用 Linux,这就是所谓的发行版本(distribution)。 当然还有我们的 REDHATREDHAT 是 1994年,由 Bob Young Marc Ewing 创建的,是世界上最大的的开放原代码的公司之一 桌面版最高是 9、0,那也是个绝版 ,从那以后 REDHAT 就专注与服务器版本。 没在对桌面投入太多,Fedora Core 是 REDHAT 和开源社区合作开发的,并不是红帽所有,教学会用到的是 企业版 Enterprise5.1 ,07 年10月份发布。红帽的认证体系: 红帽认证工程师(RHCE)/红帽认证技师(RHCT)? Linux 领域的重要认证 更新及再认证课程(最新推出)红帽认证架构师(RHCA)?红帽公司的企业架构师课程主要针对负责部署和管理大型企业环境中众多系统的高级 Linux 系统管理员提供深入的实际操作培训。红帽认证架构师是红帽公司继红帽认证技师(RHCT)和红帽认证工程师(RHCE)认证之后推出的最新顶级认证。红帽认证安全专家(RHCSS)?针对 Linux 开源解决方案的安全专业知识JBoss 中间件?目前推出的有关 JBoss 产品的培训和认证开发人员 ?针对内核和设备驱动程序开发人员、应用及图形用户界面程序员和嵌入式系统的培训课程。需要通过红帽认证工程师认证或具有相当的知识。我们对红帽认证工程师进行了采访和独立调查。调查结果证实了以实际操作能力为基础的认证对证实认证人员的工作能力更有意义,与其它类型的认证相比,红帽认证工程师认证占据了较高的地位。无论是对个人而言,还是对其所在公司和经理人而言,这一认证都有众多好处:?信心和能力:红帽认证工程师对自己的技能有更大的信心,更加擅长构建和管理 Linux 服务器。他们/她们的工作质量和职业技巧因此而大 大提高,在所在公司的工作业绩更好,可以接受更有挑战性的任务,同时,也会为此获得大家的认可。LINUX 的主要特点Linux 是一套遵从 POSIX(可移移性操作系统)规范的操作系统,将操作系统从一个平台转移到另一个平台使它仍然能按其自身的方式运行的能力。它能够在从微型计算机到大型计算机的任何环境中和任何平台上运行。curl --head 域名可以使用这个命令来查看 web 服务器RHCE 课程-初级部分2、(安装 REDHAT ENTERPRISE LINUX 5.4)安装:Red Hat Linux 的硬件要求如下。 CPU:Pentium 以上处理器。 内存:至少128 MB,推荐使用256 MB 以上的内存。 硬盘:至少需要1 GB 以上的硬盘空间,完全安装需大约5 GB 的硬盘空间。 显卡:VGA 兼容显卡。 光驱:CD-ROM/DVD-ROM。 其他设备:如声卡、网卡和 Modem 等。 软驱:可选Red Hat 网站提供了经过兼容性测试和认证的“硬件兼容性列表”,在 得 到 系 统 硬 件 设 备 的 具 体 型 号 后 , 最 好 访 问 https://hardware.redhat.com/Linux 支持在一台计算机中安装多个操作系统,它通过使用 GRUB 多重启动管理器来支 持多操作系统并存,GRUB 可以引导 FreeBSD、OpenBSD、DOS 和 Windows 等操作系统。 计算机启动时,用户可以使用 GRUB 提供的菜单选择需要启动的系统,所以不必担心出 现安装了 Linux 后,导致其他操作系统不能使用的问题。 (我们使用虚拟机安装)Red Hat Enterprise Linux 支持以下几种安装方式。光盘安装:直接用安装光盘的方式进行安装,这种方式是最简单也是最常用的方法,推荐初学者使用。硬盘安装:将 ISO 安装光盘映像文件复制到硬盘上进行安装。 网络安装:可以将系统安装文件放在 Web、FTP 或 NFS 服务器上,通过网络安装。硬盘分区,这是一个操作系统规划的重中之重,系统以后的扩展性,和安全性都与这步很有关系。每个硬盘上主要分为主分区(Primary Partition)、扩展分区(Extension Partition)和逻辑分区(Logical Partition)3 种 。上面的图是我的笔记本的磁盘分区,大家对比下面的颜色就会看出来,主分区,扩展分区 逻辑分区。文件系统:是操作系统最为重要的一部分,它定 义了磁盘 上储存文件 的方法 和数 据结构。文件系统是操作系统组织、 存取 和保 存信息的重 要手段,每种操作系统都有自己的文件系统,如 Windows 所用的文件 系 统 主 要 有 FAT16、FAT32 和 NTFS,Linux 所 用 的 文 件 系 统 主 要 有 ext2、ext3 和 ReiserFS 等。 硬盘接口: IDE 接口 Linux 对 连 接 到 IDE 接 口 的 硬盘 使用 / dev/hdx 的 方 式 命 名, x 的 值 对 应 于硬盘安装位置。x 的值可以是 a、b、c、d。 硬盘 IDE1 口的主盘 IDE1 口的从盘 IDE2 口的主盘 IDE2 口的从盘 SCSI 接口 连 接 到 SCSI 接 口 的 设备 使用 ID 号 进行 区 别 , SCSI 设备 ID 号 为0 ~ 1 5 , SCSI 接 口卡 本 身 的 ID 号 是 7 。 Linux 对 连 接 到 SCSI 接 口卡 的 硬盘 使用 /dev/sdx 的方式命名,x 的值可以是 a、b、c、d 等,即 ID 号为0的 SCSI 硬盘名为/dev/sda,ID 号为1的 SCSI 硬盘名为/dev/sdb,以此类推。 我们可以把前面4个分区全部分成主分区,但是分区后,硬盘还有多余 的空间,我还想分区,试试怎么分。 我如果都划4个主分区,那你第五个分区就不能分了为, MBR 不能管理, 超出了, 所以你想使你的分区比较灵活,一般会把最后一分区分正扩 展分区,这样就可以随意整加分区了,也就是说最多可以划分4个主分 名称 /dev/hda /dev/hdb /dev/hdc /dev/hdd 区。 硬盘分区的命名Linux 硬盘分区的命名Linux 使用设备名称+分区号码标明硬盘的各个分区,对于主分区(或扩展分区)分区号码的编号为1~4,逻辑分区的分区号码编号从5开始要想知道怎么规划合理,你就要知道 LINUX /下的哪写文件有什么用处。BIN,主要是存放普通用户的可执行命令。建议和/放在一起,不单独分出来DEV , 是系统设备文件存放位置,比如我们刚才的分区,建议和/放在一起,不单独分出来 HOME,是普通用户的家目录,很多文件服务器都会用到用户的家目录存放资料,所以建议单独分区, 而且还有一个好处, 如果你系统坏了,实在不能用了,需要从新安装系统。你单独分出了 home 分区,里面的东西可以在安装好系统后,从新挂载进系统。就不会出现重要数据丢失的问题lost+found 分区的文件碎片,没个分区都有 一般不用管这目录misc 自动挂载服务需要的的目录,建议和 /放一起net 是个空目录。一般不会使用proc 目录里的东西就是现在内存中的东西。不会占用硬盘空间,不须要单独分区sbin 目录,是超级管理员的可执行文件存放目录 tmp 临时文件目录,不需要单独分出来var是很多服务器 文件使用的目录,建议单独分区。boot 存放 GRUB(启动装载程序)和内核的文件强烈建议单独分成第一个主分区, 这样系统启动不了,比较容易排除故障etc 大部分配置文件的存放目录。 虽然重要但是不大,但是一定要和/放一起,因为启动的时候需要读取里面的配置文件, 这个是不能单独分出去的。lib 系统和可执行程序的库文件。 和/放一起media 和 mnt 也是挂载光驱和其他设备用的,和/放一起root 超级用户的家目录,里面一般没什么东西,可以和/放一起selinux 增强性安全 LINUX,和 usr 部分用户安装文件存放目录。也 和/放一起出与安全行和扩展性考虑我们会分出4个分区: /boot,,/,/home,/varvar 和 home 目录是看你服务器性质而定。 一般把剩余空间全部分配给他们安装 Linux 时,需要在硬盘建立 Linux 使用的分区,在大多情况下,至少需要为 Linux 建立以下3个分区。/boot 分区:/boot 分区用于引导系统,它包含了操作系统的内核和在启动系统过程中所要用到的文件,该分区的大小一般为100 MB。swap 分区:swap 分区的作用是充当虚拟内存,其大小通常是物理内存的两倍左右(当物理内存大于512 MB 时,swap 分区为512 MB 即可)。例如物理内存是128 MB,那么 swap 分区的大小应该是256 MB。 /(根)分区:Linux 将大部分的系统文件和用户文件都保存在/(根)分区上,所以该分区一定要足够大,一般要求大于5 GB。接下来我们安装下 linux 系统。运行 vmware出现这个向导,点下一步,选择自定义,点击下一步 默认,点击下一步 选择创建空白盘。点击下一步注意这里选择的时候不要选择成64位版本,点击下一步 第一个是虚拟机的名称,第二行是设置虚拟机防止在哪里。我的 C 盘空间小,所以我把它 放在 F 盘下。大家可以选择默认或者自定义路径。这里可以保持默认,我的机器是双核处理器,所以我选择一个处理器,两个核心。 选择分配给虚拟机的内存大小。我的机器有2 G 内存,我分给它512 M 内存。这里暂时保持默认,后面我们将下。 选择默认,创建一个新的磁盘。 磁盘类型,选择默认,点击下一步这里选项不要更改。大小大家根据自己磁盘存储大小确定。 这里注意,选择安装之后的虚拟机放在哪里。点击完成就可以了。 我们选择 CD/DVD,双击。上面注意看,红色标记的地方,浏览到你的 ISO 文件存放的路径。其他默认不要动。大家双击网络这里。 选择自定义,然后选择桥接到 vmnet0 网卡 接下来,我们点击程序上的绿色启动键。出现了上面的画面,我们直接敲回车键。 如果你确定你的镜像文件没有问题,就选择跳过,这一步的意思是检测介质是否有问题。 我们选择跳过。点击下一步我们选择简体中文,第一遍安装的时候建议选择,如果你的英文非常好的话,就选择英文。 这里选择默认的我们没有正版的序列号,选择跳过。这里没有盗版之说,正版有更新和技术支持,我们没 有购买的话,就不享受。我们继续选择跳过。 这一步,我们选择建立自定义的分区结构。点击下一步,在弹出来的画面上,点击新建Swap 分区设置为内存的2倍。其他选项里面选择固定大小。注意,/boot 分区的文件系统类型。别选错了。其他选项里面选择固定大小。 我们将剩余的空间全部给/根分区。注意文件系统类型,其他选项里面选择使用全部可用空 间。大家注意看,我们分区的结果。这里的 s 代表的是 scsi 硬盘。a 代表第一块磁盘。1 2 3 表 示分区。一般我们选择 grub 引导。保持默认,点击下一步。 我们点击编辑,然后取消 IPV6,然后选择固定 IP 地址还是自动获取 IP 地址。这里我选择自 动获取 IP 地址。接着输入主机名,参考后面的格式,完全主机名。 点击下一步还有网关地址,DNS 地址。时区选择,我们选择亚洲/上海 接下来输入一个 root 用户的密码,相当于在 windows 系统里面的 administrator 用户。默认选择,点击下一步这里我们点击下一步 系统正在安装。我们点击重新引导重新启动过程。 点击下一步,接收许可协议,继续点击下一步。我们首次安装,建议大家先关闭防火墙,如果不关闭,可能会有这样那样的很多问题。等 以后我们学习了防火墙,我们在去配置。点击是选择强制模式, 这个不用理会,直接下一步设置时间。可以不用更新,麻烦。选择不,我将在以后注册,点击下一步 上面的图是新建用户以及密码。这里创建的用户是一般用户, root 超级用户系统会自己创 建,root 的密码我们在前面也已经定义过了。这个无所谓了,你也可以测试下。一般我们使用 linux 都是作为服务器来使用,想显卡,声 卡这些都无关紧要。不用附加什么,我们点击结束。 接着输入用户名以及密码,就可以使用 Linux 了。安装过程结束,我们已经可以看到界面了。 安装完成之后,我们学习下如何下载上传文件,忘记登陆密码之后,我们该怎么做? 上传下载文件,借助 flashftp 软件。 忘记密码之后,我们先自动机器。接下来。按字母 e 键会弹出来一个编辑引导启动界面。 看到这个页面之后,我们继续按 e 键,光标选中第二行,继续按 e 键新弹出的页面,我们在最后面输入 single,敲回车键。由于屏幕的原因,这里没有显示全部如图显示之后,我们按字母 b 重新引导。 接下来系统开始启动了,看到上面的画面之后,我们只需要使用 passwd 命令重新设置一个密码即可Passwd 命令的用法后面我们会详细讲到。上面表示我重新设置好了密码,然后使用 reboot 命令重启启动机器。然后使用新密码,登陆系统整个过程很简单。呵呵登陆 LINUX 操作系统有 几种 方式?从本地登陆叫 做控制台, 网络登陆 的叫做终端, 就这两种方式。图形界面就是一个控制台,而且我们还 可以通过 CTRL+ALT+F(1-6) 切换 到 虚拟控 制 台 , CTRL+ALT+F7 就是 切换 回图形界面, 在登陆的时候需要输入用户名和密码。 地球人都知道, 虚拟终端都是 CLI 的, CLI=字符界面 当用户登陆后,所在的目录是在自己的家目录当中, [root@stationXX etc]# [当前用户名@主机名 当前目录] 提示符因用户而异 home 目录是用户登入系统后即所在的默认目录 谁告诉我上面的主机名字是什么? stationXX, 注意 LINUX 是严格 区分大小写的, 所以 在打命令和写 脚本, 写配置文件的时候,一定要注意大小写 #和$有什么不同? # 只有 root 进去的才是这个标志 就算其他用户通过 sudo 或者怎么得到超级权限的还是$,#是一种身份 的象征的哈。在 CISCO 的 IOS 系统中都是用的#标志 我们借助 secureCRT 软件来登陆字符界面RHCE 课程-初级部分3、LINUX 的文件及文件夹的组织结构Linux 的文件及文件夹的组织结构成一个倒立置的树形结构。并以 / (slash)分隔。 重要的文件目录用户主目录: /root,/home/username 用户可执行程序目录: /bin, /usr/bin, /usr/local/bin 系统可执行程序: /sbin, /usr/sbin, /usr/local/sbin 挂载点: /media, /mnt 常用的配置文件目录: /etc 临时文件目录: /tmp 内核及引导目录: /boot 服务器目录: /var 系统信息目录: /proc, /sys 共享库目录: /lib, /usr/lib, /usr/local/lib如果我想切换会我的家目录有什么方法? cd cd ~ cd 回当前用户家目录 也是回当前用户家目录 回上一次所在的目录 还有两种方法 cd /root cd root 使用绝对路径 使用相对路径ls Ca,是不是里面有两个目录很奇怪,一个是. 一个是.. . .. 代表当前目录 代表上一级目录ls 命令 ls -a ls -l 显示所有文件 包括隐藏文件 以长列表方式显示文件 也可以使用 ll 来显示LINUX 里只要文件名前有一个点的就是隐藏文件 用 ls Cl 以长模式察看文件的详细信息 包含当前目录的硬盘使用空间、文件类型、文件权限、硬连接数、文件拥有者、文件所属 组、文件大小、更动时间、文件名。一共10个位置,前面代表文件的种类和权限第一个 &-&是什么意思?第一个 &-&位置是代表文件类型的。在 linux 中,所有东西都被当成文件。 文件权限前的第一个字母用来标识文件类型: -:一般文件 d:目录文件 b:块设备文件 c:字符设备文件 l:链接文件 p:人工管道 设备文件 首字母为 b 或者 cLinux 继承了 Unix 的风格把所有的硬件设备都当作文件来处理,只不过它们是特殊的文件, 并存放在/dev 目录下。设备分为块设备(block)和字符设备(character)两种。在用 ls -l 命令显示时,设备文件的类型会在属性的第一位以&b&或者&c&分别表示。块设备是可随机 读写的设备,例如硬盘;字符设备必须是顺序读写的,比如串口。 链接文件   链接文件是一种特殊的文件,实际上是指向一个真实存在的文件的链接。这有点类似 于 Windows 下的快捷方式。根据链接文件的不同,它又可以细分为硬链接文件和符号链接 文件。 管道文件   管道文件是一种很特殊的文件,主要用于不同进程间的信息传递。当两个进程间需要 进行数据或信息传递时,可以通过管道文件。一个进程将需传递的数据或信息写入管道的 一端,另一进程则从管道的另一端取得所需的数据或信息。通常管道是建立在调整缓存中。第一个位置代表文件类型了,那么剩下的9个呢?2 3 4 5 6 7 8 9 10位代表文件所有者的权限。 位代表文件所属组的权限。 位代表其他用户的权限。文件的前面10位的含义大家都了解了吗? r 是读的意思 W 是写的意思(数字4) (数字2)X 是执行的意思 (数字1)文件的硬连接数知识点:硬连接就像一个文件有多个文件名,ln 文件名 链接命 软连接就是产生一个新文件,这个文件指向另一个文件的位置,相当于 win 下的快捷方式。 ln Cs 文件名 链接名 硬连接必须在同一文件系统中,而软连接可以跨文件系统.前面是文件的所属用户,后面是文件的所属组。文件大小,一般是块为单位,一个块约等于1 B文件最后一次更改时间 文件名称我想看以长列表方式看/root 目录,该用什么命令? ls -l /root上图是看不到/root 目录的长列表,你在文件名那里找不到/root , 根本不会看目录。所以我们需要加一个 d 参数,ls -ld /root注意,在打命令和目录的时候,你们一定要用 TAB 键来补全 ,这样比较轻松,也能检查命 令是否正确。如果不能补全就证明你的命令有问题。 用命令补全,TAB,他会自动加上最后那个/符号,证明这是个目录,如果后面没有/ 的话, 这个可能是目录,也可能是文件 其实还有两种方法可以查看 root 的长列表,我们刚才说过 ls 是查看目录内的文件,如果 我在/ 里看的话就能看见 root 了, 还有一种 就是 我们刚才提到的.和.. 在/root 目录用 ls -a,其中的.也就是 root 了。也就达到我的要求了。用 file 检查文件类型 由于 linux 中的文件名中没有扩展名,所以可能需要用 file 来查看文件类型第一个是文本文档,第二个是一个目录,这个命令基本就这样了,功能不是很强。新建文件touch file touch file1 file2 问题: LINUX 的文件名最多支持多少字符?LINUX 文件名字的长度最大是256个字符.通常由字母、数字、 “ . ” (点 号)、 “ _ ” (下 划线)和 “ - ” ( 减号)组成. 强调: LINUX 文件名字和命令都是严格区分大小写的。linux Linux linUx 都 是 LINUX 里面表示不同的文件.删除文件 名称:rm 参数:? -i -f -r 删除前逐一询问确认。 即使原档案属性设为唯读,亦直接删除,无需逐一确认。 将目录及以下之档案亦逐一删除。使用 rm 命令要小心。因为一旦文件被删除,它是不能被恢复的。为了防止这 种情况的发生,可以使用 i 选项来逐个确认要删除的文件。
rm -irm -frm -rf学会使用这三个命令参数。复制文件 cp 是 copy 的缩写,可以用来将一个文件复制为另一个文件。所以 cp 的格式应该是 cp[源 文件][目标文件]。cp 相当于 dos 中的 copy。 cp 源文件命 新文件名 cp Cr 源目录名 新目录名-p 参数的意思是保持原文件的权限和属性不变 重命名(移动 )文件 Mv mv 是 move 的缩写,可以用来将一个文件移动到另一个位置。同时,移动的过程中可 以改变文件的名字,当目标文件名与源文件名不一致时,mv 就起到了 rename 的作用。 mv 文件名 新文件名 mv 文件名 目录名 --修改文件名称 --移动文件到目录基础命令 ls 查看文件 cp 拷贝文件 mv 移动或重命名文件 rm 删除文件 touch -创建空文件或更新文件时间 cd-改变当前路径pwd -察看当前完整路径 mkdir -创立新目录 rmdir -删除空目录 cat 查看文件内容 more -逐屏察看文件内容 less 逐行察看文件内容 date -显示当前时间 cal df du head 显示文件开头部分内容 tail -显示文件结尾部分内容 -显示月历 -显示磁盘用量 -计算目录下文件占用磁盘的大小文件权限(重点)文件权限 对于每一个文件,Linux 都提供了一套文件权限系统。 对于每一类用户,权限系统又分别提供他们三种权限 读(r) :用户是否有权力读文件的内容 写(w) :用户是否有权利改变文件的内容 执行(x) :用户是否有权利执行文件 文件权限系统,将操作文件的用户都分成三类 文件的拥有者(u) 文件所属组的成员(g) 其他用户(o) 所属用户 每一个文件都有一个拥有者。文件的拥有者可以改变文件的权限。所有的用户 都有一个唯一的 ID 号(UID) ,用户的名字与标识都放在/etc/passwd 里面 下面接着将讲几个简单的命令创建用户 : useradd添加一个叫 amy 的用户 , amy 是你想要创建的用户名.命令运行成功,是不会有任 何提示的.用户创建成功之后,默认是不能登陆系统的,需要设置密码才能。然后用 passwd 改变这个用户的密码。设置密码的时候大家注意下密码策略。好的密码 谁有本事破解下试试,一般在10位以上,最好是数字+字符+字母组合。比如1+1=2 qwe!@# 呵呵!!! 注意;passwd 命令后面不跟用户名的话,就会改变当前用户的密码。 刚才的两个命令我们就创建了一个普通用户,并修改了他的密码。比如你现在 使用 root 用户登陆的系统,如果 passwd 后面不跟用户名的话,默认修改的就 是 root 用户的密码。 删除用户:userdel注意:默认不加参数,删除的只是用户,不会删除创建系统的时候创建的用户家目录。添加参数-r 就会删除用户的家目录现在我们用 su C命令切换到刚才创建的用户 中间那个 - 符号的意思完整切换到 amy 用户。所谓的完整就是连着所有变量一 起切换 .很重要的细节,大家不要忘记,不然你切换用户会出现莫名其妙的问题对于“-”;切换的效果是看不出来的,在那里能体现到这一点?我们花点时间测试下大家看到效果没,注意环境变量。每个用户是不相同的。切换用户的时候一定要加 C上面学习了文件权限,和文件所有者还有所属组了,那怎么改变文件权限和所 属组呢?chmod文件权限 文件名字---修改文件权限语法:chown用户名文件名---修改文件所有者建立文件用 touch 命令, 大家建立一个文件 名字叫;test 权限: u=rwx g=rx o=rx建立好了,用长列表方式查看我们修改文件的所有者为 amy 用户改变文件权限有两种方法:一种是用字母表示,比如:u +rwx g +rwx o +rwx, 也可以用减号 u-rwx g-rwx o-rwx 一般都是用数字,这个才是重点,修改起来也方便第二种 chmod 后可以用三个数字来表示用户权限 第一位代表文件拥有者权限 第二位代表文件所属组成员权限 第三位代表其他用户权限 一个文件权限分成 U,G,O 三部分。每部分又分为 R,W,X 三种权限。那么我 们用三组数字来表示,三种用户的权限。 4(读) 2(写) 1(执行)用数字表示,比如 777 如果是7,就证明他有那三种权限,如果是5就证明那个位置的用户只有4和1的 权限,也就是没有2,写的权限。 我们把刚才创建的 test 文件修改权限为,文件拥有者具有所有权限,文件所属 组有读和执行权限,其他人有读和执行的权限我们使用命令 ch m od 755所属组 每一个文件只能属于一个指定的组。所有的用户组也都有一个唯一的 ID 号 (GID) 用户的组名与组标识都放在/etc/group 里面 文件的拥有者与 root 用户,可以用 chgrp 来改变文件所属的组 语法: chgrp 组名 文件名 -修改文件的所属组把刚才那个文件的所有组也改成 amy 组我们也可以使用 chown 命令来修改组和所有者 查看 linux 版本信息 uname Ca 命令大家都知道,我们创建一个用户的时候,会自动创建用户主目录,会分配 UID,还有密码策略,是怎么规定的吗?就是在 login.defs 这个文件里面打开这个文件 vim /etc/login.defs第七行表示建立用户的时候同时也在规定的这个目录建立邮件目录 第17行,意思是密码有效期 第18行,是密码最小更改时间,单位是天。为0,就是没有限制,随时可以更改。 第19行,是安全密码的最小位数 第20行,是密码过期前几天提醒用户,默认是7天。第25行 意思是新建用户的最小 UID 是500第26行 新建拥护的最大 UID 是6000031和32行就是最小到最大的 GID每个用户都有一个对应的 UID,正常情况下,服务器里不会有两个相同的 UID。PS:在强行改变 / etc/passwd 的情况是可以出现两个用户有相同的 UID 下面我们做个实验,先建立一个用户 redhat,然后完整切换到这个用户 ,在家目 录里创建一个文件 file,把权限改成所有者可写 ,其他用户什么权限都没有. 我的系统之前已经创建了 redhat 用户,所以这里会提示已存在的用户。 然后我们切换到 root 用户,将 file 文件复制到/目录下,注意复制的时候使用 cp Cp 表 示复制过去之后文件的权限不变。进入重点。 现在我们删除 redhat 用户再新建 redhat 用户 ,切换到 redhat 用户 ,我们试试能不能编辑 file 文件,正常来说不能编 辑。 PS:有种极端的情况:如果这个 redhat 是 UID 最后一位用户,就是在它 UID 后没有比它大的 UID 用户,当此用户被删除后再重新建一个同名的用户时,新建的用户有它同样的 UID。我们继续看刚才那个文件哈 46行,是否给新建立的用户建立家目录。 50行,给用户建立的家目录的权限掩码。目录的初始权限是777 文件的初始权限是666 然后用初始权限减去权限掩码得到的就是新建文件或者目录的权限 可以用 umask 命令查看当前用户的权限掩码普通用户的掩码是0002 root 的掩码是0022 新建目录的权限就是777-022=755 新建文件的权根就是666-022=644 用户家目录的掩码是077 用户家目录的权根就是777-077=700 就是下面这种效果最后一项,意思在建立一个用户的时候也建立相应的组。 http://linux.chinaitlab.com/Special/linuxcom/Index.html Linux 常 用 命 令 RHCE 课程-初级部分4、shell 及环境变量简介Kernel 系统内核用于在计算机启动时载入基本内存、管理基本输入输出、管理进程初始化和进程 的调度。 Shell 系统的命令解释器,翻译成中文也就叫壳,外壳的意思,就是最表面的,用于操作系统与用 户的通信,相当于 Dos 中的 command.com。Red Hat Linux 默认的 shell 是 Bash ! Shell 与系统及子进程的层次关系 + - - - - - - - - - - - - - - - - -- - - - - - - - + | 用户进程 | | + - - - - - - - - - - - - - - - - - - - - - -+ | | | shell | | | | + - - - - - - - - - - - - - - - - - - -+ | | | | | Kernel | | | | | | + - - - - - - - - - - - - -- - - -+ | | | | | | | Hardware | | | | | | | + - - - - - - - - - --- - - - - -+ | | | | | + - - - - - - - - - - - - - - - - - - - + | | | + - - - - - - - - - - -- - - - - - - -- - - - - + | + - - - - - - - - - - -- - - -- - - - - - - - - - - -+ 真正工作的是硬件。kernel(内核)就是控制硬件的,但是怎么让内核知道我们想要硬件做 什么工作呢? 那就需要 shell, 在 Unix 系统中有各种 Shell,Linux 采用 bash 为其默认 shell。Bash 是 GNU 计划的一个组件,与 Unix 上的 Bourne Shell 完全兼容。支持命令行输 入、操作历史查询、快捷键、使用变量等功能们都需要 X 窗口来运行 。 想知道你们系统中有哪些 shell,可以用这个命令:cat /etc/shells这就是我们系统中所有的 shell,不过我们一般使用的是第二种,bash 一个用户使用什么 shell 可以在 /etc/passwd 中查看 最后那项就是用户使用的 shell nologin 是个很特殊的 shell,也很重要。 Terminal Emulator 用户交互的窗口界面 终端模拟器是用户 shell 运行的平台,在终端模拟器上用户可以交互的操作系统及运行程 序并得到提示和反馈,就像在文本编辑器中一样。 X Window 以 C/S 模式提供的图形界面接口 在 X 中操作,你会重新找回 Windows 的感觉。当然不只是这样 Red Hat Linux 中图形界面 的易用性已经有了显著的提高,并且通过像 GTK+和 QT 这样的开放的开发工具包,你可以 创立自己的图形应用程序。 Window Manager 提供图形功能 Window manager 是个可以帮你移动窗口和改变它们大小的程序。它通常也支持把一个窗口 缩成一个图标或任务条。通常有某种程序执行机构。用户可以使用 window manager 来做他 想做的――任何 X 应用程序应该可以在任何窗口管理器上工作。但是你一次只能运行一个 Window Manager。也就是说,你可以切换于任何多个 window manager,但是同一时刻你只 能运行一个。屏幕上的所有程序都可以被正在运行的 window manager 管理。 Desktop Environment 桌面环境 GNOME 和 KDE 不是窗口管理器(它们是桌面环境)。KDE 是和一个叫 KWM 的窗口管理器一起 的。GNOME 则没和任何窗口管理器做在一起,你可以使用任何你想用的窗口管理器,虽然 有一些是特地为 GNOME 写的(Enlightenment 就是一个)。但是它 Bash 是 GNU 计划的一个 组件。在 Linux 里有很多的变量,大致可分为3种: 环境变量 内部变量 用户变量 用户可以通过这些变量获得系统、环境的信息 环境变量相当于给系统或用户应用程序设置的一些变量, 具体起什么作用这当然和具体的 环境变量相关。比如 PATH, 是告诉系统, 当要求系统运行一个程序而没有告诉它程序所在 的完整路径(或者绝对路径)时, 系统除了在当前目录下面寻找此程序外, 还应到由 PATH 变量定义的目录中去查找.这个 PATH 和 WINDOWS 下面作用一样哈 在 bash 中有很多预定义环境变量 用户可以用 set 或 env 查询当前的环境变量 setenv常用的预定义变量: HOME:当前用户的主目录 PATH:当前用户的可执行文件搜索路径 LANG:程序应该使用的默认语言 PS1:行提示符 注意,我们系统中环境变量是很多的,但是我们需要注意的只要这几个,LINUX 下面的变量 名字基本都是大写字母哈. 可以用 echo $变量名字 来查看变量 echo $PATH 这是可执行程序的搜索路径echo $LANG 当前语系echo $HOME 当前用户主目录echo $PS1 就是我们提示框的变量用户变量是用户在编写 shell 过程中,可以在 shell 程序内任意使用和修改的变量。(以字 母或下划线开头,通常字母是大写母) 赋值:变量名=变量值 获取变量值 ${变量名} 例:VAR=赋值 echo ${VAR} ;显示变量值 例:VAR=赋值 echo ${VAR} ;显示变量值 使用 echo 完成简单地输出 echo “hello world” VAR=“hello” echo ${VAR} world也可以使用 printf 来产生各种格式的输出 printf “hello\nworld\n”history 命令、BASH、快捷键 在 bash 中输入 history 指令可以查询用户的过往操作。 内存中记录的过往指令数根据环境变量中 HISTSIZE 而定。(/etc/profile) history 表存储 在内存中,在用户 logout 时会记录入到用户家目录下的 .bash_history 文件中。 在下次 login 时载入。预定的记录为1000条,这些都定义在环境变量中。vim .bash_history 需要注意,这个文件里面保存的历史命令可能跟 history 输出之后的不一 样多。原因是,当你退出登陆之后,history 里面的命令才会写入到这个文件里面去 使用!来调用过往指令: 用光标上下键调出使用过的命令命令行表达式命令行输出――“ ” 将一串字符当成一个字符串来对待,如果字符串中包含特殊含义的 字符,则转义。 命令行输出――‘ ’ 将一串字符当成一个字符串来对待,如果字符串中包含特殊含义的 字符,不转义。 执行引用符――` ` 引用命令的执行结果 关于“” ‘’ `` $ 的意思。 现在我们就再讲下 先说“”吧大家看上面的输出的结果 总结: 命令行输出――“ ” 将一串字符当成一个字符串来对待,如果字符串中包含特殊含义的字符,则转义。 命令行输出――‘ ’ 将一串字符当成一个字符串来对待,如果字符串中包含特殊含义的字符,不转义 最后一个$ 就不用讲了吧定制登陆 shell bash 在用户登录时从四个文件中读取环境设定: 全局设置文件: ① /etc/profile ② /etc/bashrc用户设置文件: ③ ~/.bash_profile ④ ~/.bashrc\ ---对单个用户生效---对全部用户生效alias 别名 在 shell 下键入 alias 可以查询当前 alias 列表。 用户可以 alias 来为一条命令取一个简单的别名 用户也可以用 unalias 来取消一条别名记录。 alias 记录在 shell 中总是先行。这是你当前用户的命令别名 这就是别名的作用我们可以把很长的命令或者参数,用一个别名来表示,方便我们输入 创建别名的方法:这种方法是临时的,如果使你的更改永久生效,需要把他写入一个配置文件 .bashrc按照上面的格式写入就行了。 常用快捷键Ctrl + d:输入已结束。在 shell 下相当于一个 exit Ctrl + c:键盘中断请求。 Ctrl +s &Ctrl + q:暂停/恢复屏幕输出 Ctrl + l:清屏,相当于 clear。 Tab:自动补完命令行与文件名 Tab 键双击: 可以列出所有可能匹配的选择 Ctrl+u: 删除当前光标前的所有字符 ctrl+k: 删除当前光标后的所有字符RHCE 课程-初级部分5、常用文本处理命令,输入输出重定向,管道今天主要以命令为主,虽然普通的命令没技术含量,但是有技术含量的都是以普通的命令 为基础 cat 文件名 cat 是 concatenate 的缩写,所以它的作用其实是连接文件。但默认情况下它会将连接文 件的结果送到标准输出。所以我们常用来显示文件内容。类似于 dos 中的 type。 我们使用 cat 的时候,只能看见最后,开始的部分看不见。所以我们要使用 more More 文件名 当一个文件的内容超过一屏后,我们可以用 more 这个指令来逐屏察看文件内容。 使用方法,more 文件名,然后使用空格键,他会一页一页的往下翻,使用回车键,他会一行一 行的往下翻.按 b 可以往上翻页. Less 文件名 less 在 more 的基础上,更可以逐行察看,前后翻页。 他相对与 more 来说,他的优势是可以一行一行的看。 而 more 是一页一页的查看,个人感 觉两个命令功能差不多。 还有 less 这个命令都可以输入 /关键字进行搜索 下面我们学习最常用的文件处理命令 wc wc 用来统计一个文件的行数(-l)、词数(-w)、字符数(-c)并送到标准输出。 做统计的时候很方便grep grep 用来从一个文件中找出匹配指定关键字的那一行,并送到标准输出,结合管道,我们 通常用它来过滤搜索结果. 例如:通常可以使用这种方法,查找 PASSWD 文件里和 ROOT 有关系的行。head 显示文件开头部分内容,默认显示10行参数 --lines 或者 Cn 指明显示行数可以用 head -20 文件名 这样就可以显示前20行 tail tail 显示文件结尾部分内容,参数 -f 显示文件的即时更新,用于监视日志文件 tail -f 命令一般用来监控日志文件 sort sort 用来按各种需要重新排列文本,一般运用在一个管道之后。例如: [Lonny@stationXX Lonny] $ ls -a | grep bash | sort .bash_history .bash_logout .bash_profile .bashrc 默认情况下 sort 按照字母顺序排列文本。 -n 按照数字排序 -r 反向排序 -u 将重复的行去除 diff - 报告文本差异内容 cut -显示文件中的某一列diffdiff 用于比较两个文件之间的区别,并送到标准输出。输出时先报告两个文件的哪一行不 同。 该命令告诉用户,为了使两个文件 file1 和 file2 一致,需要修改它们的哪些行。 #diff file1 file2 字母(a、d 和 c)之前的行号(n1,n2)是针对 file1 的,其后面的行号(n3,n4)是针对 file2 的。字母 a、d 和 c 分别表示附加、删除和修改操作。 cut cut 可以根据一个指定的标记(默认是 tab)来为文本划分列,然后将此列显示,例如: [root@stationXX root] $ cut Cf 1 Cd : /etc/passwd -d 表示以什么分隔符,-f 显示第几列 把 PASSWD 的第一列显示出来,导入到 file 文件里,自己操作一下,然后看下这个文件内容 这个命令在以后的服务器架设中很有用处的,一定要记住,-d 后面跟的是分割符号 -f 后 面是第几列 然后重定向 vim /etc/passwd 我们查看 passwd 文件,看他的规律,都是用:分分隔的,所以 -d 后面是:,然后用户是 第一列,所以我们用 -f 1,passwd 最后一个标签是该用户默认使用的 shell. 那么我要把最后一列复制出来,放到 file2 中。怎么做? cut -f 7 -d : /etc/passwd & file2 输入、输出、重定向 输入:过滤器的数据来源 标准输入 stdin(0):默认是键盘 输出:过滤器的数据去向 标准输出 stdout (1):默认是终端屏幕 错误输出 :报错讯息与标准输出走不同的 I/O 通道 标准错误输出 stderr(2):默认是终端屏幕 重定向:标准输入、输出与错误输出,都可以用特定符号改变数据来源或去向 使用“&”来重定向输入源 大多数工具都会以其后的文件名为输入源 有一些过滤器一定需要添加 &以明确输入源 使用 &&让系统将一次键盘的全部输入,先送入虚拟的‘当前文档’,然后一次性输入 需要一对字母、符号或字符串作为起始终结标识符 可以选择任意符号作为起始终结标识符 使用&改变数据输出目标 范例: ls Cl & listfile 将当前目录下的文件以长模式显示,然后写入 listfile 文件使用&进行输出重定向,文件的原内容会被覆盖 使用&&可以将输出追加入文件 ll / && listfile 错误重定向 系统错误与标准输出使用的 I/O 管道不同 默认情况下,系统报错会显示到终端屏幕上 使用2&将报错讯息重定向入一个文件 ls /luoli 2& /dev/null 使用2&&将报错讯息追加入一个文件 使用 | 将前一个过滤器的输出直接送入后一个过滤器的输入允许多重管道 注意管道前过滤器的输出与管道后过滤器的输入数据类型要匹配 ls Cl | more 分屏显示当前目录下的文件 cat file1 & file2 拷贝 file1 到 file2 cat file* & file 将数个小文件合并成一个文件RHCE 课程-初级部分6、编辑工具 VIM,网络配置,进程优先,日志文件简介一、Vim 三种模式: 1、Vim 和 Vi: 两者都是多模式编辑器; Vim 是 Vi 升级版,再兼容 Vi 所有指令的同时增加了一些新功能支持; 特点:? ? ?语法加亮:使用不同的颜色加亮代码; 多级撤销:Vi 只能撤销一次操作,Vim 可以无限次撤销; 可视化操作:可以在终端模式运行,也可以在 Xwindows 模式运行;2、Vim 的三种模式:? ?命令模式(Command):默认模式,只能输入指令,不能输入编辑文字; 插入模式(Insert):按 i 就会进入插入模式,此时才可以输入文字,编辑文章, 按 Esc 回到命令模式。?末行模式:有一冒号在那,等待输入命令;在命令模式下输入 :键二、Vim 插入模式和末行模式 1、打开文件: vim 文件名 如果文件存在则该文件会被打开;否则在第一保存时文件会被创建; 插入模式,编辑文件:? ? ? ?按 A 在行尾后补;按 a 在当前字符处的下一个位置;按 o 在当前行的下面插入一个新行 ;按 O 在当前行的上面插入一个新行 ;2、末行模式,保存、退出 Vim: 按 : 键可以进入 Ex,屏幕状态行上有一个:标志;? ? ? ? ?按 w 保存文件; 按 wq 保存退出; 按 q!强制不保存退出;按 wq! 强制保存退出;按 x 保存退出;三、使用命令模式 1、光标移动:? ? ? ? ? ?按字符移动:方向键按一下移动一个字符; 数字,方向移动:向这个方向移动1个字数倍个; 按单词移动:w、b 按句子移动:)、( 按段落移动:}、{ 跳到第几行:XG,X 是行数建议大家用:行数 ? ? ?Ctrl-f 向前、向下翻页 Ctrl-b 向后、向上翻页 G 移至文档结尾;gg 移至文档首2、删除内容:? ? ? ? ? ? ? ?x h除光标所在处字符,在中文指一中文字。 大写 X h除光标前的字符。Backspace I,只能在插入模式。 dd h除一整行(delete line), Xdd:删除 X 行。 dw h除一单词(delete word)。 dG h至文档结尾。 d1G h至文档头。 d0 h至行首。 D h至行尾。3、剪切、粘贴:? ? ? ? ? ?cc 剪切整行,当前行内容剪切走; cw 剪切一个单词; C 剪切至行尾; c0 剪切至行首; shift-~ 光标所在处的字符大小写互换; p:粘贴,把前一个剪切的内容粘贴到当前位置;4、复制:? ?yy 复制所光标在行整行。Xyy 可以复制 X 行 yw 复制一个单词。 ? ? ? ?yG 复制到文档结尾。 y1G 复制到文档首。 y0 复制至行首不含光标所在处的字符。 Y 复制至行尾,含光标所在处的字符。5、撤销、重做:? ?u:撤销,vim 可以无限制撤销; Ctrl-r:重做上一个被撤销的改变;7、搜索查找:? ? ?/字符 :查找指定字符 n N:向下查找 :向上查找8、替换:?:x,y s/被替换目标/替换内容/gx,y 指定范围,x,y 指行行号; %s /被替换目标/替换内容/g %表示全文 g 替换所有目标,默认一行如果有多个被替换目标则只替换1个,加上 g 替换所有; :%s/安装/anzhuang /g 文中所有“安装”替换成“anzhuang ” 四、可视模式 1、可视模式: 可以突出显示字符、行或者大块文本,并对他们进行操作; 2、进入可视模式:? ? ?按 v:进入面向字符的可视模式; 按 V:进入面向行的可视模式; Ctrl-v:进入面向块的可视模式;3、可视模式下的文本的编辑:? ? ?c:剪切选中文本,和 p 组合可实现移动文本操作; d:删除选中文本; y:复制选中文本;五、Vim 多窗口模式: 1、Vim 同时打开多个文件: vim Co 文件1 文件2 2、分屏查看文件:? ? ? ? ? ?Ctrl-w,s 水平方向分割窗口 Ctrl-w,v 垂直方向分割窗口 Ctrl-w,方向键 在不同的窗口之间移动 Ctrl+w ,q 即 q 结束分出来的窗口; Ctrl+w ,o 即 only! 只显示光标所在窗口,其他窗口隐藏。; :sp 文档名 新开一个窗口编辑文档六、配置 vim 1、配置 vim: set(se) 配置项目(项目简写)显示行号 :set nu 隐藏行号 :set nonu2、查看相关配置项目: set all 3、常用配置项目:? ?number /nonumber (nu/nonu):显示或者隐藏行号; set ignorecase (se ic/se noic):搜索文件时是否不区分大小写4、查看 Vim 帮助:? ?:help 进入帮助 :q 退出帮助----------------------------------------------以下是 RHEL5.4 版本的网络配 置---------------------------------------------------------------------------------------------------网卡配置网卡设备名字:eth0,eth1,… eth0 代表第一块网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0/etc/sysconfig/network-scripts/ifcfg-eth1 表示第二块网卡的配置文件 这就是网卡的配置文件 第一行:设备名称 第二行:初始引导模式,如果是固定 ip,就是 static 如果是 dhcp 自动获得的,这里就是 dhcp 第三行:广播地址 第四行:网卡 MAC 地址 第五行:IP 地址 第六行:子网掩码 第七行:网络号 第八行:启动时激活 这里省略的网关地址!!!可以配置在这里,也可以配置在/etc/sysconfig/network 文件里 面 GATEWAY=192.168.10.1 Dns 配置在/etc/resolv.conf 文件里面。 注意,修改过 IP 地址之后,不是马上就生效的。使用这个命令让你的新的网络配置生效: service network restart 或者 /etc/init.d/network restart我们使用 ifconfig 来查看网络 IP 地址,或者 ifconfig eth0 查看第一块网卡的 IP 地址 禁用某一个网卡 ifdown ethX 激活某一个网卡 ifup ethX 这里的 X 表示网卡名称 注意上面的禁用,激活,重启之后会失效,要看配置文件里面的 ONBOOT=yes 这里怎么定 义, 网络的其他配置 /etc/sysconfig/network 文件 该文件用来指定服务器上的网络配置信息,下面是一个示例。 NETWORK=yes/no 网络是否被配置; FORWARD_IPV4=yes/no 是否开启 IP 转发功能 HOSTNAME=hostname hostname 表示服务器的主机名 GATEWAY=192.168.0.254 设置网关的 IP 地址 DNS 客户端配置 一个系统,要上网,除了有 IP 以外,还需要 DNS 和网关,这个大家都知道 图形界面的设置方法就在和 IP 设置一样,你们找到地方填就行了,我们学习主要以配置文 件为主. 文件/etc/resolv.conf 配置 DNS 客户.这个就是 DNS 的配置文件,大家用 VIM 把这个文件打开.文件/etc/resolv.conf 配置 DNS 客户,它包含了主机的域名搜索顺序和 DNS 服务器的地址, 每一行应包含一个关键字和一个或多个的由空格隔开的参数。下面是一个例子文件: search example.com nameserver 192.168.0.254 nameserver 192.168.1.254 Search 它的多个参数指明域名查询顺序。当要查询没有域名的主机,主机将在由 search 声明的域中分别查找。如果是在局域网中,你有自己的域,就可以设置这项。在 WAN 上面, 域很多,所以也就没必要写了. nameserver 表明 DNS 服务器的 IP 地址。可以有很多行的 nameserver,每一个带一个 IP 地 址。在查询时就按 nameserver 在本文件中的顺序进行,且只有当第一个 nameserver 没有 反应时才查询下面的 nameserver,nameserver 就是 DNS 服务器的标志,在后面就可以跟 DNS 服务器的 IP,你可以在这个文件里定义多个 DNS ,解析顺序是从上至下。 每行只能写一个哈,这个要记住 好了,下面我们讲讲配置虚拟网卡 配置虚拟网卡有两种方法,一种是临时的,一种是永久的。 这是临时的。只需要虚拟出 eth0:1 这个设备,在后面加他的 IP 地址就可以了 ifconfig eth0:1 192.168.10.40 刚才我们配置的虚拟网卡,如果重新启动网络服务,就会消失。 重新启动 service network restart 如果需要虚拟网卡一直存在,我们需要给虚拟网卡一个配置文件 建立虚拟网卡的第一步,建立他的配置文件: [root@mailsvr ~]# cd /etc/sysconfig/network-scripts/ cp ifcfg-eth0 ifcfg-eth0:1 修改这个虚拟网卡的配置文件 ifcfg-eth0:1 修改设备名字和配置文件名字一样。然后修改 IP,要不和 eth0 一样,保存退出。 然后激活这个虚拟网卡:ifup eth0:1 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------6.0版本网卡配置双 IP 地址[root@xian1 network-scripts]# cat ifcfg-eth0 DEVICE=&eth0& NM_CONTROLLED=&yes& ONBOOT=yes TYPE=Ethernet BOOTPROTO=none IPADDR=192.168.10.3 PREFIX=24 GATEWAY=192.168.10.0 DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no NAME=&System eth0& UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 HWADDR=00:0C:29:BE:E6:B9IPADDR2=192.168.10.4 PREFIX2=24 6.0版本手动指定 DNS 和 route,我们需要修改网卡配置文件,里面添加 GATEWAY=192.168.10.10 DNS1=192.168.10.10 DNS2=192.168.1.10 如果是自动获取的 DNS 和 route 那么配置文件里面就会有 PEERDNS=yes PEERROUTES=yes 5.4版本和6.0版本配置网络的区别。 1、5.4修改 IP 地址之后,不重启网络服务是不生效的。6.0修改 IP 地址之后,直接生效。 2、5.4网关可以配置在/etc/sysconfig/network 文件里面,也可以配置在 ifcfg-eth0 第 一块网卡的配置文件里面,GATEWAY=192.168.10.10 文件里面,GATEWAY=192.168.10.10 3、5.4 DNS 配置在/etc/ resolv.conf 文件里面,手动指定 nameserver 192.168.10.1 下一 行再写 nameserver 192.168.10.2,一个是主 DNS,一个是备用 DNS。 6.0 版本的网关直接写在 ifcfg-eth06.0版本的 DNS 直接配置在 ifcfg-eth0 文件里面,DNS1=192.168.10.1 DNS2=192.168.10.24、6.0版本,DNS 和网关是自动获取的,那么网卡的配置文件里面应该会有 PEERDNS=yes PEERROUTES=yes -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------下面课程有点难度了,LINUX 的进程,与常用进程管理命令 进程简介 大家都知道,系统是通过进程来完成工作的,每一个进程都有一个独立的进程号,系统通过 调用进程号来调度操控进程. 系统的原始进程是 init ,init 的 PID 总是1 一个进程可以产生另一个进程,除了 init 以外,所有的进程都有父进程 大家可以使用 pstree 命令看看系统的进程树型结构,pstree 可以用来以树状的方式表现进 程的父子关系. init 是第一级的,Linux 系统上所有运行的东西都可以称之为一个进程。每个用户任务、 每个系统管理守护进程,都可以称之为进程。Linux 用分时管理方法使所有的任务共同分 享系统资源.分时,也就是时间片。 进程状态分为:创建态-就绪态-行动态-结束。 然而我们的系统能够多任务的主要原因就是时间片。一个进程,比如说 TELNET 的进程,首 先启动,然后 TELNET 这个进程就进入就绪态,等待时间片。当 CPU 分给他的时间片的时间 到了的话,他就开始运行,进入运行态.当时间片用完以后,他就进入阻塞态,然后进入就 绪态,等下次 CPU 分配的时间片。然后又进入运行态.当这个程序运行完了以后,就进入结 束态。这就是简单的进程状态流程。 linux 的进程树是这样的:KERNEL-0 号进程-1号进程(INIT)-子进程 现在我们先不说理论了,我们来看进程 查询进程 查询进程的指令: ps [option] 一般我们使用这几个参数 1,不带参数2,l 长列表等下我们来介绍长列表里的含义 3, aux 查看系统所有的进程下面我们讲这个长列表的含义1、F,表示这个进程的标志 FLAG,4 表示用户为超级用户 2、S, 表示这个进程的状态 STAT,STAT 有这几种状态 Ps:显示中的 STAT,可以为: R:正在运行。 S:进程睡眠中,通常可以因事件发生而被唤醒。 T:进程已停止。 D:进程睡眠中,除非发生指定事件,否则不会被唤醒。 Z:僵死进程,例如未能被父进程回收的子进程。通常是一个系统 bug 或非法操作。 & :高优先级进程。 N:低优先级进程。 3、UID 这个就是使用者识别码 (ID),当 UID 是0 时,代表这个账号是系统管理员! 4、PID 这个进程的 ID 5、PPID 为父进程的 ID 6、C CPU 使用的资源百分比 7、ADDR 这个是核心功能,指出该进程在内存的哪一部分,如果是运行的进程,一般是 ,-是个标志 8、SZ 用掉的内存大小 9、WCHAN 当前进程是否正在运行,若为- 表示正在运行,若为 WAIT 就是等待 10、TTY 登陆者使用的终端 11、TIME 用掉的 CPU 时间 12、CMD 所执行的命令(也就是用什么命令产生的这个进程) 好了,大家记忆下,这个很重要 TOP 命令就是常用的动态系统监视工具 控制进程 Kill 语法:kill [-signal] PID 向进程传送一个特定的讯号 默认为15(终结) kill -l:列出所有可以由 kill 传递的讯号 比如关闭 TOP 的进程 ctrl+z 将 top 进程放在后台执行这种就属于进程比较顽强的,直接杀是杀不死。我们就需要加个 SIGNAL ,-9 的意思就是 强制中断 Kill -9 topKillall 命令杀死同一进程组内的所有进程。其允许指定要终止的进程的名称,而非 PID。比如:killall named pkill 的用法 lsof -i:端口号 能查出使用这个端口的进程 killall 服务名字,就可以杀死和这个服务相关的所有进程. 例如:pkill -9 httpd 前台和后台 默认情况下,一个命令执行后,此指令将独占 shell,并拒绝其他输入。我们称之为前台 进程。反之,则称为后台进程(在进程的后面加上&符号就可将此命令产生的进程放入后台 执行)。 对每一个控制台,都允许多个后台进程。 对前台/后台进程的控制与调度,被称为任务控制。 如果是前台的进程,我们还可以使用 ctrl+c 来中断,top 进程的事实监视工具,是个前台进 程,独占终端。我们要结束这样的进程,就可以使用 ctrl+c 可以杀死全部的 httpd 进程ctrl+z 是放入后台执行 行。---这个不建议大家是用,建议试用 nohup命令&放在后台执例:nohup cp -r Server/ /root & 如果某个命令会输出字符,那么我们可以在后面添加重定向。 例如 nohup cp -r Server/ /root & cp & 将输出的内容重定向到 cp 文件里面。PROC 目录 /proc 目录是一个虚拟的文件系统,包含了来自正在运行着的核心的信息,这个目录里面的 文件是不占用磁盘空间的,他是存放在内存条里滴,也就是包括系统当前的内核,进程。都 在这个里面,我们先进入这个目录,看看这个目录里面有什么东西. 这些数字代表什么东西?PID 也就是进程号 我们以前不是讲过么,init 的进程号是1,这就1号进程的内容了/proc/kcore 这个文件是当前运行内核的一个镜像 用户可以通过 cat /proc/下的文件,来获得系统的信息 这些信息包括系统硬件、网络设置、内存使用,及其他一些东西 /proc 下常用的文件给大家介绍下: /proc/interrupts:IRQ 设置/proc/cpuinfo:CPU 信息 这个 CPU 信息很有意思,我们来看下 ,对硬件有研究的会员应该一眼就能看出门道吧 /proc/meminfo:系统内存使用状况 还可以用 free Cm 查看这就是内存的使用信息。free 之类的工具都是调用的这些数据,你在这看最直接,而且信 息很全面. /proc/ioports:输入输出设置 /proc/dma:DMA 设置 /proc/loadavg:系统负载平均值 /proc/uptime:系统运行时间与空闲时间 /proc/version:Linux 核心版本、创建主机、创建时间等 以下是常用的目录: /proc/scsi:scsi 设备信息 /proc/ide:ide 设备信息 /proc/sys:核心配置参数 /proc/sys 目录下的文件,允许系统管理员更动,这些变动会直接影响当前核心 还可以用 uname Ca 查看 /proc/&PID&:进程的信息 这个内容都比较全,但是也不容易懂 ,一般用户查看的时候还是用工具比较好 下面我们说说临时禁 PING,cd 到 sys 当前系统的目录下里面就是系统的一些状态信息了。 我们关注 IPV4这些就是 IPV4 的一些设置和功能 比较常用的两个: icmp_echo_ignore_all 禁 PING 用的 ip_forward 转发数据用的 以后做 iptables 和代理服务器的时候 ip_forward 一定要设置为转发状态 我们用 cat 命令来查看这两个文件的内容 内容是0,感觉有点象注册表。介绍下0和1的意思: 0,代表禁止这个功能,也就是允许 ping 1,代表允许这个功能,也就是禁止 ping [root@xian1 ipv4]# echo &1& & icmp_echo_ignore_all系统日志 系统日志记录着系统运行中的记录信息 在服务或系统发生故障的时候,通过查询系统日志,可以帮助我们诊断。 系统日志可以预警安全问题 系统日志一般都存放在/var/log 目录下常用系统日志:/var/log/messages 和/var/log/secure 通常的系统服务方面的信息在这个里都可以找到 /var/log/messages 日志是核心系统日志文件。 它包含了系统启动时的引导消息,以及系统运行时的其他状态消息。IO 错误、网络错误和 其他系统错误都会记录到这个文件中。其他信息,比如某个人的身份切换为 root,也在这 里列出。如果服务正在运行,比如 DHCP 服务器,您可以在 messages 文件中观察它的活 动。通常,/var/log/messages 是您在做故障诊断时首先要查看的文件。 由于系统服务都在里面,所以你直接看这个文件你可能看不懂,应为你不知道这个进程或 者服务到底有什么用处 像一些特殊的服务他就有专门的日志 /var/log/xferlog,此日志用于记录所有由 ftp 服务汇报的讯息和报错 /var/log/secure,此日志包含了所有与系统相关的讯息,诸如登录,tcp_wrapper 与 xinetd 服务。 /var/log/wtmp,系统的每一次登录,都会在此日志中添加记录。为了防止有人篡改,该文 件为二进制文件。只能用 last 这一类的指令来读取。 所以不是所有的日志都可以在 messages 里面查看,具体要看你某个服务器的配置文件而定 /var/log/secure 安全信息 系统登录与网络连接的信息 这个就是与系统安全相关的日志都放这里了离开系统 好象关机是件简单的事情,但是你处理不好的话,你服务器就会瘫痪,好多服务器经常会由 于关机方式不正当而造成文件丢失,甚至系统崩溃,所以做为技术员,一定要重视这个细节重启: reboot Shutdown Cr now init 6 建议使用前两个。第三个不建议使用关机: halt shutdown -h now poweroff init 0 关机,系统分以下四个步骤: 1、把 RAM 中数据存盘,也就是同步 2、关闭服务 3、卸载目录和分区 4、关闭根进程和关闭电源 你关闭系统,系统会自动卸载 fstab 中的分区,除了你自己关电源,系统一般会帮你完成 这个动作的,但是也有可能系统的关机程序会出问题,导致没有完成这些步骤。所以我们 要做的就是 sync 手动同步数据,把 RAM 的数据手动写到硬盘里去,然后再关机,比较稳 当。sync3 次就足够了,用了命令要稍等在关机,写数据有个时间。 运行级别 系统分成7个运行级别,不过有用的是前6个,后面的7是系统保留,为 LINUX 发展备用的, 还没有定义 0 是关闭系统 1 是单用户维护模式 2 是不带 NFS 的 CLI 界面模式 3 是功能齐全的 CLI 模式 4 也是没有定义的 5 是图形界面模式 6 是重新启动模式 所以 init 0 可以关机,就是运行0级,init 6 就是运行6级别,可以重启动,不过建议重 新启动使用 reboot RHCE 课程-初级部分7、文件的搜索及高级文件权限和用户、组操作 分享给大家一个查看常用命令的地方,大家收藏下。 http://linux.chinaitlab.com/Special/linuxcom/Index.html 今天的第一个命令:which which 显示一个可执行文件的完整路径,按照 alias 比如我们看 ls 的可执行文件放在哪的$PATH 的顺序查找上面一行的 ls 的别名,默认是加入了 --color=tty 的参数,下面一行 /bin/ls 就是 ls 的可执行 文件。我们可以去看看。青色的一般都是可执行文件。而且这个青色就是 ls 的第一个别名的原因,如果没有这个别 名,默认是不会显示颜色.which 这个命令在系统管理中有重要,大家一定要记住. 下一个命令,whereis ,这个功能就更强大了 whereis 搜索一个可执行工具及其相关配置、帮助前面 ls: 是表示查找的这个命令 /bin/ls 是可执行文件位置 后面两个就是帮助文件了 下面还是命令:find 功能超级大的搜索工具。 语法: find [路径] [参数] [表达式] 下面是 find 常用的参数: -user:根据文件拥有者寻找文件 -group:根据文件所属组寻找文件 -name:根据文件名寻找文件 -perm:根据文件权限寻找文件 -size:根据文件大小寻找文件 -type:根据文件类型寻找文件,参数对应 c、b、l、f、d -o :表达式或 -not :表达式非 现在我们测试第一个 user 参数,查找/home 下所有者为 root 的文件:find /home -user root然后查找/etc 下面与 root 有关的文件:find /etc -user root如果有太多的文件,屏幕无法显示,我们可以用上节课学过的 &重定向命令 find /etc Cuser root & file1 这样我们可以去 file1 文件里面详细看了。要学以致用。呵呵!!! 第二个参数-group:根据文件所属组寻找文件,找 /boot 目录下 root 组的文件 name:根据文件名寻找文件,查找网卡配置文件 find / -name ifcfg-eth0 这个命令就可以找到网卡的配置文件,-perm:根据文件权限寻找文件,下图是我去查找文件权限为755的文件。-size:根据文件大小寻找文件,查找/下面大小40 M 以上的文件这里就有技巧了: 大小前面用+ 表示大于这个值 - 表示小于这个值 不带符号就表示等于了 单位也有讲究:k 是小写的,M 和 G 是大写的 这个一定要注意哈。不然你命令就运行不了 我们看下单位 M 小写出错的效果-type:根据文件类型寻找文件,参数对应 c、b、l、f、d-nouser #查无有效属主的文件,即文件的属主在/etc/passwd 中不存在 -ctime -n +n #按文件创建时间来查找文件,-n 指 n 天以内,+n 指 n 天以前 -nogroup #查无有效属组的文件,即文件的属组在/etc/groups 中 不存在 -newer f1 !f2 #查更改时间比 f1 新但比 f2 旧的文件 -type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文 件 -size n[c] #查长度为 n 块[或 n 字节]的文件 -depth #使查找在进入子目录前先行查找完本目录 -fstype #查位于某一类型文件系统中的文件,这些文件系统类型通常 可 在/etc/fstab 中找到 -mount #查文件时不跨越文件系统 mount 点 -follow #如果遇到符号链接文件,就跟踪链接所指的文件 -cpio #查位于某一类型文件系统中的文件,这些文件系统类型通常可 在/etc/fstab 中找到 -mount #查文件时不跨越文件系统 mount 点 -follow #如果遇到符号链接文件,就跟踪链接所指的文件 -cpio #对匹配的文件使用 cpio 命令,将他们备份到磁带设备中 -prune #忽略某个目录 这些命令你们了解下,知道有这个功能就行了,如果确实要用,再来研究 刚才有朋友问到,通配符号的问题,那下面大家查找 conf 结尾的文件 正规的写法是这样的 find / -name &*.conf& ,需要用引号把内容包起来,这样系统不容 易误解,不用也行。 查找以两个小写字母和两个数字开头的 txt 文件,物们先建立两个文件:aa11.txt 和 bb22.txt find / -name &[a-z][a-z][0-9][0-9].txt&你们需要灵活运行,我也就只是告诉你们方法 我要找 conf 结尾,还要是20 k 以上的文件, 可以叠加。 find / -name &*.conf& -size +20k也就是参数find /root -name aa11 -exec rm -rf {} \;RHCE 考点上面命令的解释:红色部分表示查找名称为 aa11 的文件,后面部分表示删除操作。 还有个简单的查找命令 locate,一般我用这个 语法: locate [关键字段] 大家找找网卡配置文件,用这个命令:locate ifcfg-eth0有文件名及其所在路径包含关键字段的文件与目录都会显示,locate 先将当前目录结构做 成一个数据库,然后再在此数据库中搜索匹配记录. 第一次使用这个命令需要运行:updatedb 更新数据库 locate 是在数据库中查找,所以速度快,但是数据库是有个计划任务来管理更新 下面创建一个 123321 文件在家目录里,然后用 locate 查找这个文件我们看到建立123321文件后,locate 123321 没找到哈,updatedb 后就找到了哈/etc/passwd (默认权限644)redhat:x:502:502::/home/redhat:/bin/bash 用户名:密码:UID:GID:用户描述:用户主目录:用户登录 Shell 复习下,/etc/shadow 这个文件大家要注意了(默认权限400) redhat:$1$URXsfPHU$aVT4EJM4xtZNyJ7DG6zCy/:99:7::: 以冒号分割,上面是一行哈 第一位 redhat 是帐户名字就是 redhat $1$URXsfPHU$aVT4EJM4xtZNyJ7DG6zCy/ 是通过 md5 加密的密码 15033 就是自起,密码被修改的天数 0 就是两次修改口令的间隔最小天数,0就代表没有限制 99999 就是 99999天了,这个是用户过期日期,从 开始算 7 就是用户过期7天后失效 最后这个是保留字段 usermod 指令,我们可以用参数来指定修改内容 #usermod &参数& [目标] &用户名& -c:改变用户的全名 -d:改变用户的主目录 -e:设置用户密码的过期时间 -g:改变用户的 gid -G:将用户添加入一个新组 -l:改变用户的登录用名 -s:改变用户的默认 shell -u:改变用户的 uid -p:改变用户的密码 -L:锁住密码 -U:为用户密码解锁。 usermod 先建立一个用户:useradd openlab 然后在 passwd 中查看这个用户记得 刚 才我们 说的用 户 描述 吗 ? 就是 家 目 录 前面那 个 , 现 在 我们 用 usermod -c 描述 内 容 openlab ,来改变这个参数,大家把这个参数改成 wahaha [root@ns ~]# usermod -c wahaha openlab [root@ns ~]# grep openlab /etc/passwd openlab:x:504:504:wahaha:/home/openlab:/bin/bash 然后就是改变用户主目录的参数,也就是改变家目录,usermod -d 目录 openlab ,这个 在 FTP 服务器中很有用 openlab 本来的家目录在哪?本来在/home/openlab,然后我们把它转移到 /home ,把 home 当成他的家目录。 usermod -d /home/ openlab下面说说设置用户密码过期的时间,这个功能在某些时候挺有用处的,usermod -e 时间 openlab,时间的格式是
开始这个用户是没有时间限制的当增加一天的时候,那个数字就会大1,不设置这个就不会过期 下面是-l 参数改变用户的登录名字:usermod -l openlab1 openlab 把 openlab 的登录名字改成 openlab 1 当你把 usermod 命令用好了以后,你完全可以把 group 命令忘记,当你把配置文件学好了 以后,基本都可以把这些命令忘记了。 还有两个参数很重要,-G 和-g -g:改变用户的 gid -G:将用户添加入一个新组 下一个参数-s 改变用户的登陆 shell 如果你想把某个用户改成虚拟用户,不让他登陆系统,就可以用这个命令把他的 shell 改 成 nologin ----RHCE 考试的同学注意了,这是一个考点。 系统支持的 shell 在/etc/shells 这个目录里最后两个比较重要的参数 -L 锁住密码,使帐号不能用 -U 为用户密码解锁 大家 把 openlab1 用户加锁,然后解锁 usermod -L openlab1 usermod CU openlab1 shadow 文件在加锁和不加锁有什么区别? 在密码那行的第一个字符多了个! 这就是加锁的标志,但是也不排除 MD5 加密的时候那里 也有个! usermod &参数& &用户名& usermod 命令的用法,相信大家都能总结出来了 这个大家做了解吧 还有几个组管理的命令,我也给大家列出来 groupadd:添加一个组 groupdel:删除一个已存在组 groupmod Cn 新组名 原组名,为一个组更改名字 gpasswd Ca 用户名 用户组,将一个用户添加入一个组。 who:查询当前在线的用户 w: 查询当前在线用户的详细信息 groups:查询用户所属的组 id:显示当前用户信息 finger:查询用户信息 uname:显示系统信息 -a 系统所有信息 -r 系统内核版本hostname:显示主机名关于修改主机名字需要修改3三个地方: 之后需要重新启动计算机。 1、hostname 的命令 2、修改/etc/hosts---这里适用于 RHEL5.4 版本的修改。6.0版本修改3、修改/etc/sysconfig/network这三个文件的主机名字必须一样,不然你的服务器会出现问题,如果 hosts 里没有设置本地 解析,就可以不管,3个都要改哈,修改主机名后需要重新启动系统后生效。 last:列出最近的用户登录lastlog:列出每一个用户的最近登录情况 free:显示内存使用状况功能说明:建立用户帐号。 语  法:useradd [-mMnr][-c &备注&][-d &登入目录&][-e &有效期限&][-f &缓冲天数&][-g &群 组&][-G &群组&][-s &shell&][-u &uid&][用户帐号] 或 useradd -D [-b][-e &有效期限&][-f &缓冲天 数&][-g &群组&][-G &群组&][-s &shell&] 补充说明:useradd 可用来建立用户帐号。帐号建好之后,再用 passwd 设定帐号的密码. 而可用 userdel 删除帐号。使用 useradd 指令所建立的帐号,实际上是保存在/etc/passwd 文 本文件中。 参  数:  -c&备注&  加上备注文字。备注文字会保存在 passwd 的备注栏位中。   -d&登入目录&  指定用户登入时的启始目录。 也就是用户的家目录  -D 变更预设值.  -e&有效期限&  指定帐号的有效期限。  -f&缓冲天数&  指定在密码过期后多少天即关闭该帐号。  -g&群组&  指定用户所属的群组。  -G&群组&  指定用户所属的附加群组。  -m  自动建立用户的登入目录。  -M  不要自动建立用户的登入目录。  -n  取消建立以用户名称为名的群组.  -r  建立系统帐号。  -s&shell&   指定用户登入后所使用的 shell。  -u&uid&  指定用户 ID。 Useradd 和 usermod 的区别,useradd 是添加用户的时候指定一些参数。Usermod 是修改之 前用户的一些参数。RHCE 课程-初级部分8、文件强制位冒险位、ACL 访问控制列表 以前我们讲过 passwd 和 shadow 还有 group 这三个文件,大家还记得吧? passwd 文件 vim /etc/passwd redhat:x:502:502::/home/redhat:/bin/bash 复习下,从开始到最后,以冒号分割,代表的意思? michael:x:500:500:michael:/home/michael:/bin/bash 用户名:密码:UID:GID:用户描述:用户主目录:用户登录 Shell 基本就这样了,不知道的自己看下。 shadow 文件 vim /etc/shadow redhat:$1$URXsfPHU$aVT4EJM4xtZNyJ7DG6zCy/:99:7::: 用户名:密码:自 起,密码被修改的天数:两次修改口令间隔最少的天数:用户 的密码不过期最多的天数:在口令过期之后多少天禁用此用户:用户过期日期(距的天数):保留字段(目前为空备将来 Linux 发展之用) 系统默认权限大家都知道了吧 文件的基数为:666 文件夹的基数为:777 chmod 和 chown 以前讲过的。就先不讲了下面的内容是冒险位和强制位,大家还记得怎么看用户的权限掩码吗? umask我们以前教的是后面三位,当时没给大家说最前面那位,今天我们就学最前面那位,强制位 与冒险位. 所谓的强制位和冒险位都是最最前面那个0的位置来表示,当前面那个位,2和4权限就叫强 制位,1的权限就是冒险位,2代表的是 GID,4 代表的是 uid,1 代表的是 sticky。这个和以 前的不一样大家要区分下 下面给大家介绍 gid,uid,sticky 的作用: GID 的作用:默认情况下,用户建立的文件属于用户当前所在的组,但是设置了 GID 以后, 表示在此目录中,任何人建立的文件,都会属于目录所属的组。注意:GID 只能对目录设 置 UID 的作用:当一个文件设置了 UID,那么所有用户执行这个文件的时候,都是以这个文件 的所有者的权限来执行。 我们先来做两个实验: 建立一个目录 mkdir redhat然后我们给他设置 GID:chmod 2755 redhat/大家发现文件的权限有什么变化吗?那个 s 就是强制位的标志 我们把权限给他改回来:chmod 0755 redhat/chmod g+s 文件名 用这个命令也可以给他设置 GID chmod g+s redhat/设置 GID,s 位就应该在文件所属组。 chmod 2777 redhat/现在这个目录权限是这样,你们说我换 redhat 用户进入建立文件,文件的所属者和所属组 是谁? 你们自己看哦,我现在进去建立用户了,你们说结果会怎么样?文件的所属者是 redhat 而所属组是 root,这就是强制位2,设置 GID 的作用,大家都知道 GID 的作用了吧?这个在文件权限和团队使用文件目录很有用处 ---RHCE 考试的同学 注意,这里又是一个考点。 好了,下面我们说 UID 了,此 UID 非彼 UID,强制位 UID 和用户 UID 大家要分开 你们的普通用户可以重启系统吗?我的反正是不行,呵呵!!!好了,我们要用强制位的 UID 来让普通用户可以重启系统 普通用户不能执行,没有 PATH,我们先给他添加 PATH -----6.0 版本环境变量已经自 动添加,不需要再次添加。 shutdown 命令的可执行文件在/sbin/shutdown 一种方法,我们修改用户的环境变量。修改完成之后退出重新登陆下。第二章方法就是加绝对路径。 /sbin/shutdown 这样也可以用。好,我们来对/sbin/shutdown 设置 UID 哈:chmod u+s /sbin/shutdown我们现在用 redhat 帐号来看看效果哈 shutdown -h nowredhat 可以使用 shutdown 了 UID 和 GID 大家还有没有问题? 这个命令不是这么用的,只是为了演示哈。 UID 和 GID 就 OK 了,下面就是 sticky 冒险位 这个功能就更强了 ,当你们公司有一个交换目录的时候,大家都要对这个目录有写入权限, 这样,别人就可以删除你的文件了,有什么办法不让别人删除你的文件呢?当然 sticky 可 以满足 大家建立一个 test 目录,为了方便其他人在这个目录写入东西,我们给777的权限。 然后进入这个目录,建立一个文件 file,你们说,这个 file 普通用户可以删除吗?权限是644答案是普通用户是可以删除的 这样的话改自己的文件的权限是没有用处的,这个时候我们就要用冒险位了,一旦目录上设置 了冒险位,则表示在此目录中,只有文件的拥有者、目录的拥有者与系统管理员可以删除 文件。 这个也是对目录进行设置,我们给目录一个冒险位,仔细看变化最后一个 X 变成了 t,现在我们用 redhat 去删除里面的文件 file 看看效果现在就不能删除里面的东西了,但是写入还是允许的。上面就是关于 sticky 的使用。大家记住。以后可能会经常用到的。 ACL 可以对某个文件设置该文件具体的某些用户的权限,意思就是通过 ACL 可以对一个文件 权限做扩展,可以不同的用户对某个文件有不同的权限。 一道考试题:将/etc/fstab 复制到/var/tmp 下,设定权限如下:属主为 root,组为 root,不可 被任何人执行,andrew 可读可写,susan 只能读,其他人只能读。 Susan 和 andrew 用户属于 sysuser 组 语法: getfacl &文件名& 获取文件的访问控制信息 setfacl 设置文件的 acl -m 修改文件的 acl -x 取消对文件的设置 setfacl Cm u:用户名:权限 文件名 setfacl Cm g:组名:权限 文件名 setfacl Cx 用户名 文件名 setfacl Cx g:组名 文件名 大家新建一个文件,然后使用 getfacl 来查看这个文件 :getfacl file 一个文件的标准权限就这这样,没有 ACL 的情况下现在我们把 redhat 用户加上一个 RWX 的权限:setfacl -m u:redhat:rwx file和设置 ACL 前有哪些区别? 用 ll 看,权限后面有个+就可能是设置了文件权限,所以没必要没个文件都用 gefacl 去看 在查看 acl 的内容时候,我们看见多了行,redhat 用户有了 rwx 的权限 有兴趣的可以测试. 然后我们用相似的命令把 redhat 组也加进去.给他 RW 的权限:setfacl -m g:redhat:rw file 现在我们取消 redhat 用户和 redhat 组的权限:setfacl -x redhat file注意,撤消 ACL 操作: 对用户直接加用户名字就可以了 ----------------RHCE 考试的同学注意了,这也是一个考点内容。 对组,在前面加 g:组名文件系统和 TAR 的打包压缩介绍文件系统 我们在安装系统的时候都说过了,有不清楚的去看以前我整理的笔记哈 硬连接和软连接 硬链接 硬链接文件完全等同于原文件,原文件名和连接文件名都指向相同的物理地址。不可以跨 分区,也不可以建立目录的硬链接。文件在磁盘中只有一个拷贝,节省硬盘空间; 由于删 除文件时要删除唯一的索引连接时才能成功,因此可以防止不必要的误删除。 怎么看文件的硬连接数,大家还记得不? 可以使用 ll 长列表就可以查看 -rw-r--r--+ 1 root root 539 Feb 28 18:56 file 红色1 后面的就是硬连接数 语法:ln 源文件 新建链接名 下面我来创建一个文件的硬链接注意看,1变成了2 我现在删除了原文件,记住:我删除的是原文件,这个文件的内容还在吗?我们来试试 -rw-r--r--+ 1 root root 539 Feb 28 18:56 file1 硬链接文件完全等同于原文件,原文件名和连接文件名都指向相同的物理地址。不可以跨 文件系统,也不可以建立目录的硬链接。文件在磁盘中只有一个拷贝,节省硬盘空间; 由 于删除文件时要删除唯一的索引连接时才能成功,因此可以防止不必要的误删除。 文件内容还在哈,这个大家要注意 我把这个文件也删除了,文件还在吗? 当硬连接数大于1,删除文件就只删除了一个硬连接数,只有一个硬连接的情况下,删除了文 件.文件就真的被删除了,现在这个文件就没办法恢复了 硬连接并不是复制了数据而达到删除连接而数据不会丢失,他只是复制了指针,把多个指针 指向一个实际的数据,我们删除文件时只是删除了其中相对应的一个指针,硬连接数也相 应的减少一个,直到只有最后一个指针的时候,删除文件,就会真的把文件删除。所以硬连 接是非常好用的.基本不占用空间.数据安全性高。 硬连接的缺点就是: 不可以对目录设置,不可以跨越分区设置。 硬连接的作用不能说成是备份,最多能说成是数据保护,有冗余功能才叫备份,硬连接没有 冗余,所以不能算作是备份哈。 软链接 软链接文件相当于为原文件建立了一个快捷方式,可以跨文件系统,也可以为目录建立。 软链接和硬链接不同,软链接有自己的 node,是 linux 特殊文件的一种,作为一个文件, 它的数据是它所连接的文件的路径名。类似 windows 下的快捷方式。 可以删除原有的文件 而保存连接文件,没有防止误删除功能。 软连接就像微软的快捷方式,原理和功能都一样,大家自己理解吧 语法:ln Cs 源文件 新建链接名上面的表示 file2 文件是 file1 文件的软链接,也就是说,删除了 file2,相当于删除了一 个快捷方式,file1 还在,但是删除了 file1 会是怎样,呵呵,就跟 windows 一样,只有快 捷方式,没有源文件了。tar 打包压缩 下面是 tar 打包工具,这个就是备份用的了,用于在磁带机、软盘、ZIP 设备上做备份。也 可以备份在一个硬盘文件上。 主要参数: c:将文件备份出来 v:将过程输出 x:从一个文件中解出备份 t:显示 tar 文件的内容 T:从指定的文件中读取文件路径 r:在 tar 文件尾部追加文件 z:用 gzip 压缩或解压文件 j:用 bz2 压缩或解压文件 f:使用 tar 文件而不是设备 p:在备份时压缩与解压时保持文件的权限 大家在家目录里创建10个文件,file1-file10然后我们用 tar 把他们打成一个包:tar -cvf file.tar file* 如果你是把文件备份到设备,比如说磁带机或者软盘之类的,就不用加 f 参数,不过现在那些 设备用的很少f:使用 tar 文件而不是设备,后面跟文件名,必须的,参数 f 要放在最后,否则系统会报错 下面教大家一个实用的方法,来通过 TAR 实现增量备份哈 第一步: 使用 find 命令找出 etc 目录下1天内修改过的文件,导入到 file 文件:find /etc -ctime -1 & file 第二步: 使用 TAR 备份最近1天更改过的文件:tar -cvf etc.tar -T file我们怎么看备份的 etc.tar 文件的大小呢?可以使用 ll 命令或者 du -h 哈。 当然要压缩我们也可以用 z 和 j 参数 z:用 gzip 压缩或解压文件 j:用 bz2 压缩或解压文件 tar -zcvf 新文件 目标文件 压缩 tar -jcvf 新文件 目标文件 压缩 以上面的例子,我们来看下用 gzip 压缩的效果哈:tar -zcvf etcz.tar -T file我们再看下 bz2 压缩的效果:tar -jcvf etcj.tar -T filebz2 和.gz 的区别在于,前者比后者压缩率更高,后者比前者花费更少的时间。也就是说同 一个文件,压缩后,.bz2 文件比.gz 文件更小,但是.bz2 文件的小是以花费更多的时间为 代价的。 下面就是解压的命令了 tar -xvf 需要解压的文件 现在我们要解压 etc.tar:tar -xvf etc.tar多了一个 etc 目录 如果你要指定解压的目录,就在后面加-C 路径 tar -xvf 需要解压的文件 -C 需要解压的目标路径 我们以解压 etcz.tar 到/home 下为例看看效果:tar -zxvf etcz.tar -C /home RH033 部分基础部分就算完成了 下面是整理的常用的打包,压缩文件和解压文件。 ---------------------------------------------.tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar 是打包,不是压缩!) --------------------------------------------.gz 解压1:gunzip FileName.gz 解压2:gzip -d FileName.gz 压缩:gzip FileName ---------------------------------------------.tar.gz 解压:tar zxvf FileName.tar.gz 压缩:tar zcvf FileName.tar.gz DirName --------------------------------------------- .bz2 解压1:bzip2 -d FileName.bz2 解压2:bunzip2 FileName.bz2 压缩: bzip2 -z FileName --------------------------------------------.tar.bz2 解压:tar jxvf FileName.tar.bz2 压缩:tar jcvf FileName.tar.bz2 DirName --------------------------------------------.bz 解压1:bzip2 -d FileName.bz 解压2:bunzip2 FileName.bz 压缩:未知 --------------------------------------------.tar.bz 解压:tar jxvf FileName.tar.bz 压缩:未知 --------------------------------------------.Z 解压:uncompress FileName.Z 压缩:compress FileName --------------------------------------------.tar.Z 解压:tar Zxvf FileName.tar.Z 压缩:tar Zcvf FileName.tar.Z DirName --------------------------------------------.tgz 解压:tar zxvf FileName.tgz 压缩:未知 --------------------------------------------.tar.tgz 解压:tar zxvf FileName.tar.tgz 压缩:tar zcvf FileName.tar.tgz FileName --------------------------------------------.zip 解压:unzip FileName.zip 压缩:zip FileName.zip DirName 系统管理第一部分:RPM 包安装及管理 RPM:红帽子包管理器(RedHat Package Manager) 今天我们主要就学习这种包管理方式 安装与卸除常用参数:-i,-u,-F,-e rpm -i:在该 rpm 包与该包的旧版本未被安装过的情况下,安装该 rpm 包。 rpm -U:无论系统是否有安装过某 rpm 包或其旧版本,安装或更新指定的 rpm 包。 rpm -F:仅在系统已安装某 rpm 包的旧版本 rpm 包时,更新 rpm 包。否则不安 装。 卸除:rpm Ce 包名(注:去掉.rpm 或 I386.rmp 结尾) 在安装的时候要显示进度,就需

我要回帖

更多关于 ps ef grep 命令 kill 的文章

 

随机推荐