1 / 81

Redhat 7 服务器管理培训 2

Redhat 7 服务器管理培训 2. 2002 年 5 月 刘亢 liukange@netease.com. 文件系统的权限. Linux 系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。. 使用 ls – l 命令来看文件的权限. $ ls -l -rw-r--r-- 1 qiujn qiujn 745559 Mar 6 2001 anonftp-3.0-9.i386.rpm

callia
Download Presentation

Redhat 7 服务器管理培训 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Redhat 7 服务器管理培训 2 2002年5月 刘亢 liukange@netease.com

  2. 文件系统的权限 • Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。

  3. 使用ls –l命令来看文件的权限 $ ls -l -rw-r--r-- 1 qiujn qiujn 745559 Mar 6 2001 anonftp-3.0-9.i386.rpm -rw-rw-r-- 1 qiujn qiujn 15167 Mar 26 01:59 l -rw-rw-r-- 1 root root 154806 Oct 6 14:20 wget-1.5.3-4.i386.rpm

  4. ls –l结果的说明 1 文件的类型: - 表示普通文件。 b 表示块设备文件 c 表示字符设备文件 d 表示目录 l 表示符号链接 文件的访问权限: r(读):表示只允许读其内容。 w(写):表示允许对其做任何的更改操作。 x(执行):表示允许将该文件作为一个程序执行。 - : 没有设置权限。

  5. ls –l的结果说明 2 • s :当文件被执行时,把该文件的UID或GID赋予执行进程的UID(用户ID)或GID(组 ID)。 • t :设置标志位(留在内存,不被换出)。如果该文件是目录,在该目录中的文件只能被超级用户、目录拥有者或文件属主删除。如果它是可执行文件,在该文件执行后,指向其正文段的指针仍留在内存。这样再次执行它时,系统就能更快地装入该文件。

  6. uid 和gid的概念 uid 和 gid通常都是唯一的 他们是一串大于0小于65536的数字 不同的用户的uid是不一样的 如果两个用户的uid一样,即使登陆名不一样,系统仍然把这2个用户当成同一个用户。 gid用户所在组的id.

  7. 目录的访问权限 r(读):表示可以列出目录中有那些文件。 w(写):表示可以在该目录中添加删除文件。 x(执行):可以进入,列出该目录中下的文件的相关内容。 每一文件或目录的访问权限都有三组,每组用三位表示,分别为: • 文件属主的读、写和执行权限。 • 与属主同组的用户的读、写和执行权限。 • 系统中其他用户的读、写和执行权限。

  8. 改变权限的命令 1 chmod 命令:用于改变文件或目录的访问权限。有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。

  9. chmod 1. 文字设定法 chmod [who] [+ | - | =] [mode] 文件名   操作对象who可是下述字母中的任一个或者它们的组合: u 表示“用户(user)”,即文件或目录的所有者。 g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。 o 表示“其他(others)用户”。 a 表示“所有(all)用户”。它是系统默认值。 操作符号可以是: + 添加某个权限。 - 取消某个权限。 = 赋予给定权限并取消其他所有权限(如果有的话)。

  10. chmod 设置mode所表示的权限可用下述字母的任意组合: r 可读。 w 可写。 x 可执行。 X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。 s 在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。 t 保存程序的文本到交换设备上。 u 与文件属主拥有一样的权限。 g 与和文件属主同组的用户拥有一样的权限。 o 与其他用户拥有一样的权限。 文件名:以空格分开的要改变权限的文件列表,支持通配符。 例如: chmod g+r,o+r example

  11. 实验 使用chmod命令修改一个文件的权限 权限要求:当前用户可读可写,同组用户可读,其他用户不可读 chmod u+r,u+w, g=r, o-r, filename 使用ls –l命令确认权限是否正确

  12. chmod 2. 数字设定法 属性的含义:0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。8进制的文件属性 数字设定法的一般形式为: chmod [mode] 文件名 $ chmod 644 mm.txt -rw-r--r-- 1 inin users 1155 Nov 5 11:22 mm.txt

  13. 实验 使用chmod设置某文件的权限为当前用户完全控制(可读可写可执行),同组用户可读可写,其他用户可读。 chmod 764 filename

  14. 改变权限的命令 2 chgrp命令:改变文件或目录所属的组。   语法:chgrp [选项] group filename   该命令改变指定指定文件所属的用户组。其中group可以是用户组ID,也可以是/etc/group文件中用户组的组名。文件名是以空格分开的要改变属组的文件列表,支持通配符。如果用户不是该文件的属主或超级用户,则不能改变该文件的组。   该命令的各选项含义为: - R 递归式地改变指定目录及其下的所有子目录和文件的属组。 $ chgrp - R book /opt/local /book

  15. 实验 使用chgrp命令修改某文件的组 将文件的组修改为class2 使用ls -l命令来确认是否成功

  16. 改变权限的命令 3 chown 命令更改某个文件或目录的属主和属组   语法:chown [选项] 用户或组 文件   说明:chown将指定文件的拥有者改为指定的用户或组。用户可以是用户名或用户ID。组可以是组名或组ID。文件是以空格分开的要改变权限的文件列表,支持通配符。

  17. chown 该命令的各选项含义如下: - R 递归式地改变指定目录及其下的所有子目录和文件的拥有者。 - v 显示chown命令所做的工作。   例1:把文件shiyan.c的所有者改为wang。 $ chown wang shiyan.c   例2:把目录/his及其下的所有文件和子目录的属主改成wang,属组改成users。 $ chown - R wang.users /his

  18. 实验 使用chown命令将某文件的署主修改为class2 使用ls –l命令确认是否成功

  19. 显示文件内容命令 1 1.cat命令: 功能1:在标准输出上显示文件。 例如: cat 123 则显示当前目录下123这个文件的内容。

  20. cat 2 功能2:连接两个或多个文件   说明:该命令功能之二是用来将两个或多个文件连接起来。   例2:$ cat file1 file2 > file3

  21. 实验 使用cat命令来看一下“家”目录下的hello这个文件。

  22. 显示文件内容命令 2 • 2.more命令 •   功能:在终端屏幕按屏显示文本文件。 •   语法: more [ - 选项 ] 文件 •   说明: 该命令一次显示一屏文本,显示满之后,停下来,并在终端底部打印出- - More- - ,系统还将同时显示出已显示文本占全部文本的百分比,若要继续显示,按回车或空格键即可。

  23. 实验 使用more命令看“家”目录下的long这个文件

  24. 显示文件内容命令 3 3.less命令 less命令的功能几乎和more命令一样,也是用来按页显示文件,不同之处在于less命令在显示文件时允许用户既可以向前(b)又可以向后(z)翻阅文件。

  25. 实验 用less命令来看刚才看过的”long”文件

  26. 显示文件内容命令 4 4.head命令:用head命令只显示文件或标准输入的头几行。   语法:head [- n ] 文件   功能:显示指定文件的前若干行。   说明:该命令显示每个指定文件的前面n行。若没有给出n值,缺省设置为10。如果没有指定文件,head就从标准输入读取。 例如显示文件example.c的前3行。 $ head - 3 example.c

  27. 实验 使用head命令看”long”这个文件的前5行

  28. 显示文件内容命令 5 5.tail命令:如果用户想查看文件的尾部,可以使用tail命令。   语法:tail [+ / - num ] [参数] 文件   说明:该命令显示一个文件的指定内容。它把指定文件的指定显示范围内的内容显示在标准输出上。如果没有给定文件名,则使用标准输入文件。 tail命令中各个选项的含义为:   +num 从第num行以后开始显示。 - num 从距文件尾num行处开始显示。如果省略num参数,系统默认值为10。   例如:将显示文件example的最后4行  $ tail -4 example

  29. 实验 使用tail文件显示long这个文件的后6行

  30. 内容查询命令 1 grep命令 管道“|” ls –al |grep abc 只显示出带有abc的那一行

  31. 内容查询命令2 find 功能:在目录结构中搜索文件并执行指定的操作语法:find 起始目录 寻找条件 操作说明:find命令从指定的起始目录开始,递归地搜索其各个子目录,查找满足寻找条件的文件并对之采取相关的操作。该命令提供的寻找条件可以是一个用逻辑运算符not、and、or组成的复合条件

  32. find • 1)and:与,用“-a”表示,是缺省选项,如:find –name ’tmp’–xtype c -user ’inin’ 2)or:或,用“-o”表示。如:$ find –name ’tmp’–o –name ’mina*’ 3)not:,用“!”表示。如:$ find ! –name ’tmp’ • 需要说明的是:当使用很多的逻辑选项时,可以用括号把这些选项括起来。为了避免Shell本身对括号引起误解,在话号前需要加转义字符“\”来去除括号的意义。例:$ find \(–name ’tmp’–xtype c -user ’inin’ \) 寻找条件有以下选项:首先,下列各个选项中的n值可以有三种输入方式,假设n为20,则:+20 表示20以后(21,22,23等)-20 表示20以前(19,18,17等)20 表示正好是20

  33. find i. 以名称和文件属性查找- name ’字符串’ 查找文件名匹配所给字符串的所有文件,字符串内可用通配符*、?、[ ]。- lname ’字符串’ 查找文件名匹配所给字符串的所有符号链接文件,字符串内可用通配符*、?、[ ]。-gid n 查找属于ID号为n的用户组的所有文件。-uid n 查找属于ID号为n的用户的所有文件。-group ’字符串’ 查找属于用户组名为所给字符串的所有的文件。-user ’字符串’ 查找属于用户名为所给字符串的所有的文件。-empty 查找大小为0的目录或文件。-path ’字符串’ 查找路径名匹配所给字符串的所有文件,字符串内可用通配符*、?、[ ]。-perm 权限 查找具有指定权限的文件和目录,权限的表示可以如711,644。-size n[bckw] 查找指定文件大小的文件,n后面的字符表示单位,缺省为b。-type x 查找类型为x的文件,x为下列字符之一:(b 块设备文件、c 字符设备文件、d 目录文件、p 命名管道(FIFO)、f 普通文件、l 符号链接文件、s socket文件)-xtype x 与-type基本相同,但只查找符号链接文件。

  34. find ii. 以时间为条件查找- amin n 查找n分钟以前被访问过的所有文件。- atime n 查找n天以前被访问过的所有文件。- cmin n 查找n分钟以前文件状态被修改过的所有文件。- ctime n 查找n天以前文件状态被修改过的所有文件。- mmin n 查找n分钟以前文件内容被修改过的所有文件。- mtime n 查找n天以前文件内容被修改过的所有文件。

  35. find iii. 可执行的操作- exec 命令名称 {} 对符合条件的文件执行所给的Linux命令,而不询问用户是否需要执行该命令。{}表示命令的参数即为所找到的文件;命令的末尾必须以“\;”结束。- ok 命令名称 { } 对符合条件的文件执行所给的Linux 命令,与exec不同的是,它会询问用户是否需要执行该命令。- ls 详细列出所找到的所有文件。- fprintf 文件名 将找到的文件名写入指定文件。- print 在标准输出设备上显示查找出的文件名。- printf 格式 格式的写法请参考有关C语言的书。  例1:查找当前目录中所有以main开头的文件,并显示这些文件的内容。$ find . - name ‘main*’ - exec more {} \;

  36. find 例2:删除当前目录下所有一周之内没有被访问过的a .out或*.o文件。$ find . \(- name a.out - o - name ‘*.o’\)- atime +7 - exec rm {} \;说明:\(和\)表示括号(),其中的“\”称为转义符。 “- name a.out”是指要查找名为a.out的文件;“- name ‘*.o’”是指要查找所有名字以.o结尾的文件。这两个- name之间的- o表示逻辑或(or),即查找名字为a.out或名字以.o结尾的文件,find在当前目录及其子目录下找到这佯的文件之后,再进行判断,看其最后访问时间是否在7天以前(条件-atime +7),若是,则对该文件执行命令rm(- exec rm{ }\;)。其中{}代表当前查到的符合条件的文件名,\;则是语法所要求的。

  37. 内容查询命令3 3.locate命令locate命令用于查找文件,它比find命令的搜索速度快,它需要一个数据库,这个数据库由每天的例行工作(crontab)程序来建立。当我们建立好这个数据库后,就可以方便地来搜寻所需文件了。

  38. locate 该命令的一般形式为:locate 相关字例如:查找相关字issue $ locate issue /etc/issue /etc/issue.net /usr/man/man5/issue.5 /usr/man/man5/issue.net.5

  39. 文本编辑器vi • VI 是一个全屏幕的编辑器 • Unix 系统必备的工具程序 • 功能强大 • 另外有 VIM 提供更多的功能 • 有 X Window 的 VIM 版本 • VI/VIM 有 Window 的版本

  40. Vi的模式 • Command Mode (命令模式) • 这是执行该程序后启动的模式 • 此时键盘输入操作当作命令 • 命令字符有大小写之区分 • Input Mode (插入模式) • 使用 a、i、o 指定即可开始进行输入数据 • 文件区前面出现 ~ 表示未使用部分 • 按下 ESC 键即可回到 Command Mode

  41. Vi的模式 • Last Mode (上个模式) • 于 Command Line 按下 : 即可进入该模式 • 用来进行储存、开档或环境的设定 • 命令字符有大小写之区分 • 进入输入模式 • a : 在光标所在位置开始输入数据 • i : 在该行最后结尾开始输入数据 • o : 在光标下行插入一行空白开始输入数据

  42. 光标的移动 方向鍵: j :向下方向鍵,下移 k : 向上方向鍵,上移 h : 向左方向鍵,左移l : 向右方向鍵,右移 - : 向上移一行 + : 向下移一行 n- : 向上移 n 行 n+ : 向下移 n 行

  43. 屏幕的滚动 Ctrl f : 向下移动一頁,同 PageDown Ctrl b : 向上移动一頁,同 PageUp Ctrl d : 向下移动半頁 Ctrl u : 向上移动半頁

  44. 删除命令 • x : 删除光标所在字符 • X :删除光标所在的前一个字符 • nx : 删除光标所在后 n 个字符 • dd : 删除游标所在该行 • ndd :删除光标该行开始 n 行 • D : 删除光标开始的字符到结尾 • : n,md : 删除第 n ~ m 行

  45. 复制与移动命令 • yy 、Y : 复制光标所在该行数据到 buffer 区域 • nyy 、nY : 复制光标所在n 行数据到 buffer 区域 • :n1,n2 m n3 : 把 n1 ~ n2 行资料搬到第 n3 行后 • :n1,n2 c n3 : 把 n1 ~ n2 行数据复制第 n3 行后 • p : 贴于游标所在行之下 • P : 贴于游标所在行之上 • v : 字符标记 V : 行标记 • Ctrl V : 矩形标记 • d : 删除标记区的数据 y : 复制标记区的数据

  46. 寻找与取代 /string : 向下找 string ?string : 向上找 string n : 重复上次的寻找 :s/string1/string2 : 把光标该行第一个 string1 取代 成为 string2 :s/string1/string2/g : 同上,不过是同一行内容进行取代 :%s/string1/string2/g : 同上,不过是全部内容进行取代 :n1,n2s/string1/string2/g : 把 n1 ~ n2 的 string1 取代成为string2

  47. 其他指令 重复指令: . : 重复前面一指定操作 u : 取消前一指令的操作 U : 取消对该行的任何修改 (光标没有离开该行方有效) 状态列操作: :syntax off : 关闭语法解析 :line n : 跳至某一行 :set number : 设定显示行数 :set nonumber 其它指令 : Ctrl – l : 屏幕重绘指令 Ctrl – g : 显示相关状态 :!command : 执行某个 command :help : vi 的说明

  48. 打开文件和关闭文件 • # vi 文件名称 : 打开文件 • :w : 存档 • :q : 离开 • :w! : 强制存档 • :q! : 强制离开 • :wq : 存档后离开 • :wq! : 强制存档后离开 • Ctrl – z : 暂时离开 vi 回到 shell • fg : 在 shell 执行 fg 回到 vi 中

  49. 实验 用vi编辑一个文件,练习字符查找 保存后退出

  50. 管理命令 • adduser - 新增使用者指令 • rmuser - 从系统中移除使用者 • passwd - 改变使用者的密码 • su - 替代使用者的特性 • dmesg - 显示系统保留信息 • who - 显示谁在线上 • w - 列出谁在线上,并且显示他们在做什么 • date - 显示或设定日期时间

More Related