




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linux 快速入门 编制: 黄启鲁 日期:2011-04-01 审核: 日期:2011-00-00 批准: 日期:2011-00-00 变 更 记 录 版本 修订时间 修订人 修订类型 修订章节 修订内容 1.0 2011-04-01 黄启鲁 A 所有 编写所有章节 1.1 2011-04-26 黄启鲁 A 6.3 增加 6.3 samba 配置 *修订类型分为 A - ADDED M - MODIFIED D DELETED 目 录 1 引言 5 1.1 目的 5 1.2 范围 5 2 简介及安装 5 2.1 Linux 简介 .5 2.2 安装 6 3 目录和文件管理 8 3.1 Linux 目录结构 .8 3.1.1 Linux 目录结构 .8 3.2 目录和文件管理 9 3.2.1 操作目录 9 3.2.2 查看文件内容 11 3.2.3 目录和文件的复制、移动、删除、查找 12 3.2.4 目录和文件的权限 12 文件权限 13 目录权限 14 更改目录和文件权限 14 3.2.5 vi 编辑器的使用 .15 3.2.6 文件的压缩和解压缩 17 4 用户管理 18 4.1 用户管理 18 4.1.1 用户的增加和删除 18 4.1.2 管理用户文件 18 4.1.3 用户间的切换 19 4.2 用户的环境变量 19 4.2.1 查看当前环境变量 19 4.2.2 设置环境变量 20 全局变量设置 20 用户变量设置 20 设置临时变量 21 5 系统管理 21 5.1 查看文件目录分区大小 21 5.1.1 查看文件大小 21 5.1.2 查看目录大小 21 5.1.3 查看分区大小 22 5.2 查看系统资源 22 5.3 管理进程 22 5.4 网络配置 23 5.4.1 图形界面 23 5.4.2 字符界面 23 5.5 关机和重启 23 5.6 系统运行级别 24 5.7 挂载设备 24 5.7.1 挂载光盘 25 5.7.2 挂载 ISO 文件 .25 5.7.3 挂载 U 盘 .25 5.8 查看系统信息 26 5.9 软件包管理 26 5.9.1 RPM .27 5.9.2 YUM 27 6 其他问题 28 6.1 远程管理 28 6.2 FTP 配置 28 6.2.1 sftp28 6.2.2 vsftp29 6.3 samba 配置 30 6.4 找回 root 密码 .31 7 参考文档 33 1 引言 Linux 系统在服务器领域占有重要地位,我们作为测试人员难免会遇到 Linux 系统环境。 Linux 系统和 Windows 系统是两个完全不同的系统,我们需要具备一定的 Linux 基础知识 才在 Linux 上能顺利搭建环境。 为了帮助没有 Linux 基础的读者快速入门,编写了此文档。 本文档主要参考了鸟哥的 Linux 私房菜- 基础学习篇(鸟哥著)。有志于深入学习 Linux 的同学,强烈建议学习这本书。 对于 Linux 下 Oracle 及 SOC 服务器的部署请参考另一篇文档理解文档-Redhat5.4(64) 下 Oracle 10g 及 SOC 的安装。 1.1 目的 本文档主要介绍 Linux 的基础应用,以达到基本操作、管理 Linux、可在 Linux 系统上 顺利搭建测试环境的目的。 1.2 范围 本文档主要面对没有 Linux 基础的童鞋。本文档基于 Red Hat Enterprise Linux 介绍, 其他发行版命令和配置会稍有不同,请注意。 2 简介及安装 2.1 Linux 简介 Linux,准确来说,是指一个操作系统最底层的内核及其提供的内核工具(引自鸟哥) , 并非咱们通常所说的 Redhat、SuSe 等可供安装操作的发行版。Linux 源于 UNIX,兼容于 UNIX,同 BSD、Sun UNIX 、HP UNIX 等统称为 UNIX Like 操作系统。 那么什么是发行版(Linux Distribution)呢?Linux 只是系统内核,即使加上各种 GNU(一个倡导开源软件的组织)软件组成一个系统也非我等普通用户能使用的了的。于 是很多商业公司或非营利团体就将 Linux Kernel 与可运行的软件集成起来,加上自己具有 创意的工具程序,这个工具程序可以让用户以光盘、DVD 或者通过网络直接安装、管理 Linux 系统。这个可完全安装使用的系统,我们称之为 Linux 发行版(引自鸟哥) 。 比较著名的发行版有 Redhat、SuSe、Debian 等。这些不同的发行版使用的是同样的内 核(可能版本有异) ,可能在软件安装方式、函数库调用接口、命令、配置文件等方面稍有 差异。但毕竟同根同宗,掌握了一种发行版,其他的便不在话下。 2.2 安装 Redhat 的安装也是图形化的,一步一步按照提示来做就可以了。下面只说一下几个需 要注意的问题。 1、 分区 图 2.2-1 自定义系统分区 选择自定义的分区结构。Linux 有两个必需的分区,swap 和/分区,这是最简 单的分区结构。root 分区不是必需的,只有硬盘超级大,BIOS 找不到 MBR(主 引导记录)时候需要建该分区。当然,建了该分区也没啥坏处,通常大小设置为 100M,强制为主分区。 2、 swap 分区 图 2.2-2 swap 分区 swap 即内存交换空间,用来存放物理内存中不经常使用的数据,腾出宝贵的 物理内存空间。分区大小一般设置为物理内存的两倍,但不宜超过 2G。该分区没 有挂载点。 3、 /(根)分区 图 2.2-3 /分区 根分区是最重要的分区,文件系统选择目前流行的 ext3,挂载点选择/。 4、 禁用 SELinux 图 2.2-4 禁用 SELinux SELinux 号称美国国家安全局研发的功能,权限控制异常细致。如果打开了这 个功能,你会遇到各种各样的问题,甚至软件安装之后无法运行,建议禁用该功 能。当然,安装系统后也可以再禁用该功能。 另外,防火墙功能也禁用了吧,如果不需要的话。 其他一些选项根据实际情况设置即可。安装成功后,使用 root 和设置的密码登陆系统。 root 是系统的超级管理员,拥有管理系统所有权限。 3 目录和文件管理 3.1 Linux 目录结构 3.1.1Linux 目录结构 不同于 Windows 的目录结构, Linux 下分区不是以 C 盘、D 盘等作为区分标识的。 Linux 目录结构呈倒树形,目录最顶层是根目录(以“/” 表示) 。根下有很多目录,如 etc、 mnt、home 等,这些目录下又有子目录,无穷尽也。 那么,分区是如何标示又是如何使用的呢?在 Linux 下,分区是挂载在某一个目录下 的,即目录是访问这些分区的入口,称为挂载点,进入了这个目录,就是进入了该分区。 如果新加了分区,我们需要手动或自动(需要配置)挂载(mount )到某个目录下,就可 以使用了。 根目录下有很多系统文件,就像 Windows C 盘里面的内容。下面简单说明这些目录文 件的作用,以免误删除造成系统损害。 表 3.1-1(内容参考自鸟哥) 目录 放置的文件内容 /bin 存放可执行文件,即命令,如 cat,chmod 等。root 和普通用户都可执行 /boot 存放开机使用的文件 /dev 任何设备与接口都以文件形式存在于此目录,访问这些文件就是访问相应的设备 /etc 系统主要的配置文件几乎都在该目录下,不要随意在该目录下增删改文件 /home 默认的用户家目录,创建一个系统用户时,默认就会在该目录下新增同名的文件夹作为该用户的家目录。Linux 是实实在在的多用户系统嘛 /lib 存放函数库文件 /mnt 暂时挂载某些设备,如光盘、U 盘等 /opt 第三方大型软件安装目录,不过我们通常将软件安装在/usr/local 目录下 /root root 的家目录,老大嘛,特殊 /sbin 存放用来管理系统的命令,通常只能由 root 执行 /tmp 所有用户都可使用的临时文件放置目录,不要在该目录下放置重要数据 Linux 下这种目录结构被称为“目录配置标准(FHS ) ”,基本上所有发行版都会遵守, 且不可随意更改这些目录的结构、名称、权限等。我们在上面搭建环境,不建议将安装包 等放置在这些目录(/home 除外)下,建议在/下或者家目录下新建目录存放文件。 3.2 目录和文件管理 3.2.1 操作目录 1、 pwd 打印当前工作目录 rootlocalhost # pwd /root root 登陆系统后默认进入到其家目录下,即/root 2、 cd 切换目录 rootlocalhost # cd /home/ -进入/home 目录 rootlocalhost home# 对于 Linux 命令来说没有结果就是好结果,说明命令执行成功了,如果显示出多 余的信息,说明命令执行可能有问题。 观察执行第一条命令后,提示符的变化(第二行): rootlocalhost home# root 表示当前用户,localhost 表示主机名,home 表示当 前工作目录,上一条命令中的表示家目录,#表示超级用户命令提示符。 rootlocalhost # cd /usr/local/bin/ -进入 bin 下 rootlocalhost bin# cd -进入上一级目录 rootlocalhost local# cd - -返回 /usr/local/bin rootlocalhost bin#cd -进入家目录 3、 ls 显示目录下的所有内容 rootlocalhost home# ls dxsoc oracle sim rootlocalhost home# ls -l -选项-l 表示显示内容的详细信息 总计 12 drwx- 4 dxsoc dxsoc 4096 03-31 19:04 dxsoc drwxrwxrwx 21 oracle oinstall 4096 03-24 16:40 oracle drwx- 3 sim sim 4096 03-24 11:41 sim 这里“总计 12”表示该目录下所有普通文件及子目录本身共占用的系统块大小 (K) 。 rootlocalhost # ls al -选项-a 标示显示所有文件信息,包括隐 藏文件(以.开头的文件) 总计 392 drwxr-x- 20 root root 4096 03-30 10:19 . drwxr-xr-x 28 root root 4096 03-30 11:14 -rw- 1 root root 1671 03-10 04:59 anaconda-ks.cfg -rw- 1 root root 17176 03-31 15:22 .bash_history -rw-r-r- 1 root root 24 2006-07-13 .bash_logout rootlocalhost hql# ls /etc/pr* -*表示通配符,所有文件目录以 pr 开头 /etc/prelink.cache /etc/prelink.conf /etc/printcap /etc/profile /etc/protocols /etc/profile.d: colorls.csh gnome-ssh-askpass.csh krb5-workstation.csh less.csh which-2.sh 使用通配符时,符合条件的目录(/etc/profile.d)下的所有文件也被列出来了。 说明:Linux 命令选项一大堆,记不住啊,还好我们可以查看在线帮助文档或者命 令选项说明,以 ls 为例: rootlocalhost # ls -help Usage: ls OPTION. FILE. List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor -sort. Mandatory arguments to long options are mandatory for short options too. -a, -all do not ignore entries starting with . -A, -almost-all do not list implied . and 用法:命令 -help,会列出该命令的简单选项说明。不过并非所有命令都可以显 示,大部分命令可以,有些命令可以尝试只执行命令,不加选项来显示帮助说明。 这种方法显示的帮助说明比较简单,想要更详细的说明,请使用 man 命令,相当 男人的命令。 用法:man 命令。例如 man ls 按 q 退出帮助。 技巧:善于使用 tab 补齐功能来简化操作。比如 ifconfig 命令很长很难记,可以这 样:只打出 ifco,然后按 tab 键就自动补齐了;如果只打出 ifc,按一下 tab 键没有 反应,因为 ifc 不能唯一定位一个命令,这时按两下 tab 键会显示出所有以 ifc 开头 的命令。另外,对文件、目录的补齐也类似。 3.2.2 查看文件内容 1、 cat 一下将文件内容全部显示出来 rootlocalhost # cat hello -显示当前目录下文件 hello 的内容 hello baby! who are you? rootlocalhost # cat -n hello -加上行号显示 1 hello baby! 2 who are you? 2、 more /less 可翻屏显示 文件内容较多时,这两个命令比较有用,可以按空格键翻屏显示 rootlocalhost # more /etc/passwd 3、 head 显示文件前 n 行 rootlocalhost hql# head -n 2 /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin 4、 tail 显示文件后 n 行 rootlocalhost hql# tail -n 2 /etc/passwd gdm:x:42:42:/var/gdm:/sbin/nologin sabayon:x:86:86:Sabayon user:/home/sabayon:/sbin/nologin rootlocalhost hql# tail -f server.log -选项-f 表示实时显示文件新增的内容 -f 选项会占用终端实时显示新增数据,无法输入新命令直到按下 Ctrl+C 终止。 rootlocalhost hql# tail -f server.logerror.log 表示输出重定向,本来默认输出到屏幕上的数据把它写到一个文件中。所以上例 的结果是:屏幕上没有任何显示,当前目录下增加了一个 error.log 文件,里面是 本应该在屏幕上显示的数据。这个命令也会占用终端直到 Ctrl+C 终止。 这个例子最有用的情况是:你想获取某个操作的后台日志。操作前打出这个命令, 操作完成后 Ctrl+C 终止。后面指定的文件就是你想要的,厉害吧? 不止用在这里了,任何有输出结果的命令都可以和它联用。 rootlocalhost hql# ls /etc/ myfile 注意:后面的文件如果已存在,那么会首先清空文件内容,再往里面写入。 如果我想增加写呢,用“”吧,用法和“”一样。 3.2.3 目录和文件的复制、移动、删除、查找 1、 mkdir 新建目录 rootlocalhost # mkdir /hql 在/下新建 hql 目录 rootlocalhost # mkdir -p /hql/topsec/ta/td -选项-p 表示父目录 将 topsec 目录、 ta 目录、td 目录等一股脑建起来。 2、 touch 新建空文件 rootlocalhost hql# touch hello.txt 在当前目录下新建 hello.txt 空文件。 3、 cp 复制 rootlocalhost hql# cp /etc/passwd . 复制/etc 下的 passwd 文件到当前目录, “.”标示当前目录,也可以使用绝对路径。 rootlocalhost tmp# cp -r /hql/huang /tmp 复制目录 huang 的所有内容到/tmp 下。-r 表示递归,复制目录时必加选项。 4、 mv 移动 rootlocalhost hql# mv /root/hello.txt /hql 移动 hello.txt 到 /hql 目录下。 rootlocalhost /# mv /hql/ /tmp/ 移动/hql 目录及其目录下所有内容到 /tmp 目录下。 mv 的另一个作用是重命名文件和目录。 5、 rm 删除 rootlocalhost hql# rm -f hello.txt -选项-f 表示强制,不需要询问 删除 hello.txt 文件 rootlocalhost hql# rm -rf /hql -选项-r 表示递归 删除/hql 目录及其目录下所有文件,-r 为删除目录必需 6、 find 查找 rootlocalhost # find /etc/ -name passwd 查找/etc 目录下名称为 passwd 的文件 3.2.4 目录和文件的权限 必须掌握!否则你在 Linux 世界里步履维艰! 例如在安装 SOC 或 TA 系统的过程中,如果没有设置相应的权限,就会出现某些文件 无法执行、没有权限读取某某文件等。 文件权限 rootlocalhost hql# ls -l -rw-r-r- 1 u1 u1 25 Mar 28 20:03 hello.txt -rw-r-r- 1 u1 u1 1934 Mar 28 20:57 passwd drwxr-xr-x 2 u1 u1 4096 Mar 28 20:59 topsec 上面输出结果共 7 列,其意义分别是: 权限 连接数 所有者 所属用户组 文件大小(B) 最后修改时间 文件名 注意:目录的大小显示目录本身的大小,一般是 4096B。 权限列一共 10 个字符,第一个字符表示文件类型, “-”表示普通文件, “d”表示目录。 当然还有其他文件类型,例如块设备类型等。 下面重点说明权限列其余 9 个字符: 平均分为三组,分别表示所有者、所在组成员、其他用户的权限 r:读 w:写 x:执行 -:没有相应权限 以 hello.txt 行为例,其权限为: 所有者(u1)拥有读写权限(rw-) ,文件所属组(u1)其他成员(可能有可能没有) 拥有读权限(r-) ,其他用户拥有读权限( r-) 。 注意:上述说明对 root 无效,root 是超级无敌 boss! 那么,执行权限是干什么的呢? 大家都知道 Windows 下后缀非常重要, exe 或者 bat 结尾的文件我们直接双击就可以 运行,如果将 exe 该成 txt,这个文件就不能被执行了。Linux 下对文件的后缀没有任何要 求,有或没有无所谓,但建议加后缀来提示用户这个文件是做什么的。比如,shell 脚本 (可以简单看作命令的集合)文件后缀一般为“.sh” ,我们一看就知道是 shell 脚本。但是, 虽然后缀是“.sh”表明是 shell 脚本,如果没有执行权限( x) ,该脚本仍然不能运行。能否 运行是看是否有执行权限,与后缀没有任何关系。当然,如果一个有执行权限的文件的内 容为随意的字符串,也不能运行。 有权限的文件如何运行呢? 修改 hello.txt 内容如下,以便可以正确运行: rootlocalhost hql# cat hello.txt echo “Hello baby!“ echo 表示打印随后的字符串到屏幕,类似 C 中的 print。 rootlocalhost hql# chmod +x hello.txt -加执行权限 rootlocalhost hql# ls -l hello.txt -rwxr-xr-x 1 u1 u1 18 Mar 28 21:03 hello.txt -已加上执行权限 rootlocalhost hql# /hql/hello.txt -直接打出绝对路径 Hello baby! rootlocalhost hql# ./hello.txt -使用相对路径的方法 Hello baby! “.”标示当前目录/hql。那么可不可以去掉“./”呢?不可以。 rootlocalhost hql# hello.txt -bash: hello.txt: command not found 我们在执行命令如 cat(其实是/bin 下面的可执行文件 cat)的时候,系统会根据一个 名为 PATH 的变量(系统变量,不同的用户变量值不一样。和 Windows 下 PATH 变量差 不多) ,帮我们找到 cat 命令文件所在的目录(/bin) ,然后执行该文件。而 “当前工作目 录”出于安全考虑并没有加入到 PATH 变量中。所以我们直接执行 hello.txt 时,系统按照 PATH 值搜了一遍,没有找到该文件,也就无法执行了。 rootlocalhost hql# echo $PATH -root 用户的 PATH 值 /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/ root/bin 目录权限 目录和文件的权限有相似性,仅仅看着相似而已。目录的读写执行都是什么意思呢? 读:可查看目录下的文件,即可以使用 ls 写:1.可新建文件和目录 2.可删除目录下的文件和目录,不管它们的权限如何 3.可重命名目录下的文件和目录 4.可移动目录下文件和目录 执行:能进入该目录,使该目录成为工作目录。例:cat /hql/topsec/hello.txt。如果我对 hql 目录没有执行权限,其他目录拥有所有权限,这条命令可以执行成功吗?答:不可以! 一般来说,目录都有执行权限,否则读和写都失去了意义。 更改目录和文件权限 更改目录和文件权限使用 chmod 命令。 用法: chmod -R ugoa +-= rwx 文件或目录 rootlocalhost hql# ls -l hello.txt -rw-r-r- 1 u1 u1 19 Mar 28 21:03 hello.txt rootlocalhost hql# chmod u=rwx,g=rw,o=rw hello.txt rootlocalhost hql# ls -l hello.txt -rwxrw-rw- 1 u1 u1 19 Mar 28 21:03 hello.txt rootlocalhost hql# chmod u-x hello.txt rootlocalhost hql# ls -l hello.txt -rw-rw-rw- 1 u1 u1 19 Mar 28 21:03 hello.txt rootlocalhost hql# chmod +x hello.txt -省略了 a(all) rootlocalhost hql# ls -l hello.txt -rwxrwxrwx 1 u1 u1 19 Mar 28 21:03 hello.txt 以上方法比较麻烦,再来介绍比较方便的方法,数字表示法。 r:4 w:2 x:1 这 3 个数加起来作为一组的权限,权限部分共有 3 组,也就是 3 个数字。如: rwx-rw-r- : 764 rootlocalhost hql# ls -l hello.txt -rwxrwxrwx 1 u1 u1 19 Mar 28 21:03 hello.txt rootlocalhost hql# chmod 755 hello.txt rootlocalhost hql# ls -l hello.txt -rwxr-xr-x 1 u1 u1 19 Mar 28 21:03 hello.txt 以上演示的都是文件权限的修改,对目录本身的修改也一样。但是,通常情况下修改 目录权限的时候,我想连同目录下的所有文件、子目录一块修改,此时,只需加 R 选项 即可。 rootlocalhost hql# chmod -R 755 topsec/ 3.2.5 vi 编辑器的使用 vi,Linux 文本编辑之神器!还有一个号称除了不能煮咖啡外什么都能做的编辑器 Emacs,不过没用过。我们在管理 Linux 的时候,很多都只是修改一些配置文件,这些文 件通常都是文本文件,正是 vi 用武之地。 vim 是 vi 的增强版,语法一样,但是有很多强大功能,如语法高亮等,推荐使用 vim。 vi 打开一个文件后,会有三种模式等待着你:一般模式、编辑模式和命令模式。 一般模式:打开文件后,默认就是一般模式,用户可以使用上下左右箭头移动光标, 删除字符、整行,复制、粘贴等操作。 编辑模式:在一般模式下,输入 i、a 、o(只是摁键盘而已,并没有实际输入到文件中! )三者之一进入编辑模式,增删改查,不过不支持鼠标定位光标哦。按下 Esc 键,返回一 般模式。 命令模式:在一般模式下,输入:?/三个之中任一字符,进入命令模式。在此模式下 执行保存、退出,查找字符等操作。 下面给出一个最简单的在文件末尾插入任一数据的完整流程。 rootlocalhost hql# cp /etc/passwd /hql/ -passwd 大约 40 行 rootlocalhost hql# vi /hql/passwd -打开 passwd 此时处于一般模式,输入“G ”(只是摁键盘,并没有实际输入到文件中) ,观察光标 是不是到了文件末尾? 输入字母“o” (小写) ,光标是不是移动到下一行,并提示你输入(注意 INSERT 提示, 这就进入编辑模式啦)?随意输入吧。 按 Esc 键退出编辑模式,回到一般模式,然后输入“:” ,在文件的最下方会出现 “:”提示你输入,输入“wq ”,回车即可,保存退出啦。查看一下刚才输入的东西保存 了吗? 这样,应该对 vi 的操作流程有大体了解了吧。说 vi 有三种模式是为了说明方便,不 必纠结于哪个模式,会使用即可。 vi 的强大之处在于支持大量的快捷键,大大方便了用户的操作。下面列出常用的快捷 键。建议熟练掌握。 一般模式: 表 3.2-1(内容参考自鸟哥) 按键 效果 h 或左箭头 光标左移一个字符 j 或下箭头 光标下移一个字符 k 或上箭头 光标上移一个字符 l 或右箭头 光标右移一个字符 数字 0 光标移到行首 $ 光标移到到行末 G 光标移到最后一行 gg 光标移到第一行 ngg 光标移到第 n 行 /word 向下查找 word 字符串 n 查找下一个 N 查找上一个 x 删除光标所在字符 dd 删除光标所在行 ndd 删除光标所在行开始向下 n 行 yy 复制光标所在行 nyy 从光标所在行起复制 n 行 p 将复制的内容粘贴到光标所在行的下一行 u 撤销上一操作 编辑模式: 表 3.2-2(内容参考自鸟哥) 按键 效果 i 从光标所在处开始插入 a 从光标所在的下一个字符处开始插入 o 从光标所在行另起一行,开始插入 命令模式: 表 3.2-3(内容参考自鸟哥) 按键 效果 :w 保存 :q 直接退出 :q! 修改了但不保存,强制退出 :wq! 强制保存退出。有一些情况下需要强制,能否强制保存成功还要 看权限 ZZ 保存退出,不需要冒号哦 :set nu 显示行号,并没有写入到文件中 :set nonu 取消行号 :1,$s/word1/word2/g 从第一行到最后一行查找 word1,并全部替换成 word2 3.2.6 文件的压缩和解压缩 Linux 压缩命令有很多,建议指定相应的后缀以作区分。 1、 gzip rootlocalhost hql# ls hello.txt passwd topsec rootlocalhost hql# gzip hello.txt rootlocalhost hql# ls hello.txt.gz passwd topsec rootlocalhost hql# zcat hello.txt.gz -查看压缩包里的内容 echo “Hello baby!“ rootlocalhost hql# gzip -d hello.txt.gz -解压缩 rootlocalhost hql# ls hello.txt passwd topsec 2、 bzip2 用法和 gzip 一样。 rootlocalhost hql# bzip2 hello.txt rootlocalhost hql# ls hello.txt.bz2 passwd topsec rootlocalhost hql# bzip2 -d hello.txt.bz2 rootlocalhost hql# ls hello.txt passwd topsec 注意:上面两个命令都只能针对单个文件。下面的 tar 命令就能打包压缩了。 3、 tar tar 用来打包,将多个文件目录打成一个文件。tar 的选项特别多,但是常用的就几 个,建议将下面的选项组合记住。 rootlocalhost hql# tar cvf tmp.tar /tmp/ -注意: f 选项在最后 将/tmp 下面的所有数据打包成 tmp.tar rootlocalhost hql# tar xvf tmp.tar -注意:f 选项在最后 将 tmp.tar 解包到当前目录(而不是/tmp) 以上只是打包,并没有压缩,tar 可以结合 gzip 和 bzip2 打包并压缩。 rootlocalhost hql# tar zcvf tmp.tar.gz /tmp/ -注意:f 选项在最后 和 z 选项指定使用 gzip 进行压缩 rootlocalhost hql# tar zxvf tmp.tar.gz -注意: f 选项在最后 rootlocalhost hql# tar jcvf tmp.tar.bz2 /tmp -注意:f 选项在最后 和 j 选项指定使用 bzip2 进行压缩 rootlocalhost hql# tar jxvf tmp.tar.bz2 /tmp -注意: f 选项在最后 4 用户管理 4.1 用户管理 4.1.1 用户的增加和删除 Linux 支持多用户,允许多个用户同时登陆系统,一个用户也可以同时在多个地方远 程连接到系统上。默认 Redhat 会为每个用户分配一个家目录,用户登陆到系统后,默认会 进入到家目录下。用户在家目录下随意增删“自己”的数据,在别人的家里可能会遇到权 限问题了。 rootlocalhost # useradd topsec -增加用户 topsec rootlocalhost # passwd topsec -必须为用户增加密码,否则无法登陆 rootlocalhost # ls /home/ topsec u1 此时会在/home 下新增一个 topsec 目录作为 topsec 用户的家目录。默认情况下,新建 用户时会新增一个和用户同名的组,用户属于该组。可以在新建用户的时候指定用户所属 的组,也可以指定用户的附属组,即一个用户可以属于多个组。 rootlocalhost # groupadd group1 -增加组 group1 rootlocalhost # useradd -g group1 -G root u2 -指定用户组为 group1 附属组为 root rootlocalhost # groups u2 u2 : group1 root 删除用户: rootlocalhost # userdel -r topsec -选项-r 表示同时删除用户的家目录 4.1.2 管理用户文件 前面介绍 ls 时说过,一个文件的所有者会对文件拥有较大的权限,所以文件所有者很 重要啊。这就有了问题,看下面: rootlocalhost # cp /etc/passwd /home/u1 rootlocalhost # ls -l /home/u1 -rw-r-r- 1 root root 2033 Mar 28 21:30 passwd 使用 root 将文件拷贝到 u1 的家目录下,文件的所有者还是 root,u1 还是不能对文件 进行编辑。这个时候我们就需要修改文件的所有者和组了。 假定修改 passwd 的所有者为 u1,所有者所在组为 u1 rootlocalhost u1# chown u1:u1 passwd rootlocalhost u1# ll -ls l 的缩写 total 4 -rw-r-r- 1 u1 u1 2033 Mar 28 21:30 passwd 如果是修改目录及其下面的文件和子目录呢?使用-R 选项 rootlocalhost /# ls -ld /hql drwxr-xr-x 2 root root 4096 Mar 28 21:30 /hql rootlocalhost /# chown -R u1:u1 /hql rootlocalhost /# ls -ld /hql drwxr-xr-x 2 u1 u1 4096 Mar 28 21:30 /hql 4.1.3 用户间的切换 我们在操作 Linux 的过程中可能要切换用户,于是就用到了 su 命令(switch user) 。 rootlocalhost # su - u1 -由 root 切换成 u1, “-”是个选项,两边 有空格,建议总是加上该选项 u1localhost $ root 切换成其他用户不需要密码。注意普通用户的提示符为“$” ,以示和老大不同。 u1localhost $ su - -切换成 root,不需要输入 root 口令: 这个时候需要密码,说明老大不是谁想当就当的。 4.2 用户的环境变量 每个用户都有各自的环境变量,这些变量保存在系统配置文件中。既有公共的配置文 件/etc/profile、 /etc/bashrc,还有用户自己的配置文件/.bash_profile、/.bashrc 等。注意: 不同的 Linux 版本文件名可能有所不同。 当用户输入用户名和密码登录系统时,先读取/etc/profile 的内容,再读取用户自己的 配置文件。 4.2.1 查看当前环境变量 使用 export 命令查看当前环境变量。 u1localhost $ export declare -x G_BROKEN_FILENAMES=“1“ declare -x HISTSIZE=“1000“ declare -x HOME=“/home/u1“ declare -x HOSTNAME=“localhost.localdomain“ 。 。 。 太多了,看不过来,我想查看特定的环境变量 LANG: u1localhost $ export | grep LANG declare -x LANG=“zh_CN.UTF-8“ 这里用到了 grep 命令,很明显这是用来过滤的命令,后接关键字(本例中是 LANG) , 如果关键字有空格的话用引号括起来。 这里的关键是管道(|) ,管道连接两个命令,将前面命令的输出送给后面的命令作为 输入。 4.2.2 设置环境变量 前面说过,环境变量可以写到配置文件里,配置文件针对全局的(/etc/profile)也有个 人的(/.bash_profile、/.bashrc) 。 全局变量设置 如果想设置一个固定的对全部用户都生效的变量,就写到/etc/bashrc 文件的末尾吧。 一个例子: export NLS_LANG=“Simplified Chinese_china.UTF8“ 注意:1.使用 export 命令。2.变量名称一般为大写。 设置好之后,重新登陆系统,该变量将生效。或者想立马生效,请使用这个命令: u1localhost $ source /etc/bashrc 或者 u1localhost $ . /etc/bashrc -注意空格 用户变量设置 每个用户的家目录()下,有.bash_profile、.bashrc 两个隐藏文件可供设置环境变量。 这两个文件稍有区别。 等你通过输入用户名和密码登录系统时,会读取.bash_profile 里的内容,然后该文件会 调用.bashrc 文件。在这种情况下,你将变量设置在两者中任意一个都可以。 但是有时候是不需要输入用户名和密码来登陆系统的,例如使用 su 切换时。这时是不 会读取/.bash_profile 里的内容的,你的变量也就无法生效。但是此时会读取.bashrc 里的内 容,所以,建议将变量设置在该文件中。 注意:在使用 su 切换用户时,一定要加上“-”选项,表示将用户变量也切换过来, 即读取/.bashrc 的内容。 设置临时变量 有时候我们需要临时设置一个变量,以满足我们的需要。例如我们使用终端软件(如 SecureCRT)连接到 Linux(系统语言环境为中文)上,当我们输入 date 命令的时候会出现 乱码,这是由于服务器端和查看终端字符集不一致造成的,中文被显示成乱码。一个办法 是修改 CRT 的字符编码,将会话选项-外观-字符编码修改为 UTF-8(和 Linux 系统一致) 。 另一个办法是临时将系统的语言环境改为英文,命令如下: u1localhost $ export LANG=c u1localhost $ date Mon Mar 28 22:39:22 CST 2011 注意:这样设置的变量是临时的,也只在当前终端有效。 试验: 打开一个终端: u1localhost $ export NAME=hql u1localhost $ echo $NAME hql 打开另一个终端: rootlocalhost # echo $NAME rootlocalhost # 5 系统管理 你会关机吗?你会查看进程并杀掉进程吗?嘿嘿,这是本章要说的内容。 5.1 查看文件目录分区大小 5.1.1 查看文件大小 rootlocalhost hql# du -h tmp.tar.gz -选项-h 表示人性化显示 89M tmp.tar.gz 5.1.2 查看目录大小 rootlocalhost /# du -hs /boot -选项 s=sum 5.5M /boot 5.1.3 查看分区大小 查看所有已挂载分区使用情况: rootlocalhost # df -hl 文件系统 容量 已用 可用 已用 % 挂载点 /dev/mapper/VolGroup00-LogVol00 5.8G 4.9G 572M 90% / /dev/sda1 99M 13M 82M 14% /boot /dev/sda3 42G 6.0G 34G 16% /bigmnt tmpfs 3.0G 0 3.0G 0% /dev/shm 查看某文件所在分区的使用情况: rootlocalhost # df -h /bigmnt/topcat.zip 文件系统 容量 已用 可用 已用 % 挂载点 /dev/sda3 42G 6.0G 34G 16% /bigmnt 5.2 查看系统资源 rootlocalhost /# top 这个命令会实时显示系统 CPU、内存、进程等使用情况。使用 Ctrl+c 终止。 rootlocalhost # free m -选项-m 表示以 M 为单位显示 total used free shared buffers cached Mem: 3952 779 3172 0 175 397 -/+ buffers/cache: 206 3745 Swap: 5951 0 5951 5.3 管理进程 查看进程: rootlocalhost # ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 Mar30 ? 00:00:01 init 5 root 2 1 0 Mar30 ? 00:00:00 migration/0 root 3 1 0 Mar30 ? 00:00:00 ksoftirqd/0 查看特定进程: rootlocalhost # ps -ef | grep tns oracle 6105 1 0 14:38 ? 00:00:00 /opt/oracle/product/10.2.01
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年安全生产法安全目标考试题及答案
- 2025年城市运行数据笔试练习题
- 2025年安全生产安全检测检验题及答案
- 2025年政府采购招考笔试模拟题
- 2025年面点师面试bi备题库
- 2025年心理学考研知识点总结与练习题
- 2025年汽车工程技术考试试题及答案解析
- 2025年机关驾驶员面试问题及答案
- 2025年土地整治项目管理高级面试模拟测试题集
- 2025年景观规划师职业资格认证考试试题及答案解析
- 2025年高警示药品管理试题(附答案)
- 脑动脉瘤术后护理查房
- 消防法制业务培训课件
- 湖南省2024-2025学年高一下学期期末考试英语试题【含答案解析】
- 安徽省蚌埠市2024-2025学年七年级下学期期末考试英语试卷(含答案无听力原文及音频)
- 中州水务考试试题及答案
- 高速公路收费员安全教育培训
- 2025年海南省高考物理试卷(含答案解析)
- 甘肃农业职业技术学院招聘事业编制笔试真题2024
- GB/T 45817-2025消费品质量分级陶瓷砖
- 2025-2030中国超级电容器电解液行业发展状况与需求前景预测报告
评论
0/150
提交评论