首页 > 代码库 > Linux 操作系统学习笔记

Linux 操作系统学习笔记

,unix

1unix 特点

伸缩性强,开放性好,

2.基本原则

 所有对象,硬件都是文件

 配置数据以文本形式保存

 短小的单目的程序构成

 多个程序合作完成复杂任务

3.gnu

 基本原则是共享,建立自由开放的unix系统

 1984 richard stallman 发起 基本体系是micro kernel

4.gpl

 Copyleft 原作者所有权

5.linux起源

 Linustorvalds

 自由的类unix操作系统,

 遵循gnugpl

6.linux

 可以实现unix功能

 遵循开源许可协议

 多用户多任务

 广泛网络协议配置支持

 硬件支持

,linux

1.linux用户环境

   内核控制硬件:内存,io,初始化

   shell 命令解释器,bshellcshllbashshell(默认)

       内部命令:属于shell解释器的一部分

       外部命令:独立于shell解释器之外的程序

   终端模拟机(teminal

   x windows 系统

   窗口管理器

   桌面系统

2.root  @ station。。。】# (#为最高身份)

    用户名   主机名  目录

3创建用户

 #useradd[用户名]

 #passwd【用户名】

  root权限可以更改所有用户密码

 type 判断内部命令外部命令。内部命令比较快

4.运行指令

 指令名     【选项】      【参数】

  ls      -l(全部信息)     etc

  -  引导单个字符选项 l,多个单个字符选项可以写在一起,用一个-引导al

  -- 引导多个字符现象 --color

5.man指令

 方向键滚动文本,page up down翻页,Q退出,/后查找内容

  Man手册章节内容:

1  Standard commands (标准命令)

2  System calls (系统调用)

3  Library functions (库函数)

4  Special devices (设备说明)

5  File formats (文件格式)

6  Games and toys (游戏和娱乐)

7  Miscellaneous (杂项)

8  Administrative Commands (管理员命令)

9 其他(Linux特定的),用来存放内核例行程序的文档

 

n 新文档, 可能要移到更适合的领域

o 老文档, 可能会在一段期限内保留

l 本地文档, 与本特定系统有关的  

  • man-k 匹配手册中部分匹配命令 keyword

  • man-f 命令手册中完全匹配

  • man-a 显示全部章节内容all

man  -a cd 结果 以及 快速查询 / ar

  • man n passwd 指定相应章节

  • 管道和重定向: manls| col - b > ls.txt

|(管道):把前面指令的屏幕输出结果作为后面指令的处理对象

>(重定向):将正常输出结果保存到后面指定文件中

6.基本指令

  • ls - 查看文件(-R 目录相关,-t 时间顺序, -rt 倒序, -F 文件类型)

  • cp - 拷贝文件 (同名文件会覆盖,一般加-i,-r 可以复制目录)

  • mv - 移动或重命名文件(改名会覆盖同名文件,移动前测试)

  • rm - 直接删除文件(-rf 暴力删除,rmdir 只能删除空目录)

  • rmdir

  • touch - 建立空文件或者更新文件时间

  • cd - 改变当前目录(cd 回到主目录,~代表主目录)

  • pwd - 显示当前完整路径

  • mkdir - 创建目录名 ~games 目录名 ~/games用户名(-p 按照层次建目录)

  • more - 查看文件内容(分屏显示)

  • less - 可以向上翻页,其他同more

  • cat -,连接多个文件,显示文件

  • date - 显示当前系统时间

date.png

  • cal - 显示日历

  • df - 显示磁盘用量 (显示所有逻辑卷信息,df -h 显示大小)

  • du - 显示目录占用磁盘量 (-sh * 查看每个文件大小)

  • head - 显示文件开头部分内容(-n n,)

  • tail - 显示文件结尾部分内容 (实时刷新)

tail - n

  • cd/dev/ 设备目录

b磁盘,c为字符设备,l符号 链接,*普通文件

su切换用户身份,切换到root需要输入密码.root切换其他用户不需要密码

 su - username

重启: - reboot,init 6

关机: - halt

 

  • 文件 file检查文件的详细信息

   file 文件名:显示文件类型

文件权限的第一个字母表示文件类型:

- 一般文件

d 目录文件

c 字符设备文件

l 连接文件

p 人工管道

 

  • 文件权限 chmod

操作文件的用户:

  u:文件所有者

  g:文件所属组的成员

  o:其他用户

三种权限:

  r():用户是否有权利读文件内容

  w():用户是否能改变文件内容

  x(执行): 用户是否有权利执行文件

  • chmod 改变文件当前权限

chmod [R] 权限文件名

文件所有者和root可以更改文件权限

  chmod g-r file1

       chmodu+x,go+r file1

  chmod a=rw file

  • chmod 可以用数字来表示用户权限

第一个数字代表拥有者权限,第二个数字代表文件所述组成员权限,第三位表示其他用户权限

 4 2 1 执行

  • ln

 硬链接就是copy一份新的文件,软连接相当于一个快捷方式,硬链接数表示当前文件的副本数

ln :硬链接

ln -s:软连接

  • 每个文件都有一个拥有者(u),root用户可以通过chown命令改变拥有者

 

第三单元 目录

1.目录:

  目录文件类型为d

  建立目录最小硬链接数为2 若硬链接数为2 则没有子目录

  目录建立都有两个隐藏文件 .为当前目录硬链接  ..为上级目录硬链接

  目录也是一种文件,读写执行权限

    :用户可以读取目录内的内容

    :与执行权限连用,在目录内添加删除文件

    执行:用户可以进入目录,调用目录内资料

    木有执行权限不能cd到目录

    目录下ll 234位为拥有者权限,567位同组者的权限 最后三位其他权限

2.子网掩码 umask

  more需要上级目录读权限,修改需要当前文件写权限

3.强制位.冒险位

  强制位s

   set gid 表示在次目录中,任何人建立的文件,都会属于目录所属的组

   set uid 表示在次目录中,设置使文件在执行阶段具有文件所有者的权限

  冒险位t 在目录中只能删除修改自己拥有文件

  对于目录

      chmod u(o,g) +(-) s(t)

  也可以用数字来加和,421执行

      chmod Nnnn 设置权限

4. 根目录下目录

/bin:存储常用用户可执行指令

/boot: 引导加载器(bootstrap loader)使用的文件存储核心,模块映像等启动用的文件

/dev: 这个目录中包含了所有Linux系统中使用的外部设备,看成访问外部设备的端口.

     /dev/null 它是空设备,也称为位桶(bitbucket)或者黑洞(black hole).

     可向它输入任何数据,但任何写入它的数据都会被抛弃.通常用于处理不需要的输出流.

     /dev/tty 虚拟控制台

     /dev/sda

 

/etc:系统管理和配置文件

    /etc/passwd  用户信息

    /etc/shadow  影子口令文件

    /etc/group   用户组的信息

     /etc/inittab  init的配置文件

    /etc/fstab  指定启动时需要自动安装的文件系统列表

    /etc/sysconfig/netowrk主机名称配置文件

    /etc/hosts 本地主机名称解析文件

   /etc/sysconfig/network-scripts/ifcfg-eth0  网卡配置文件

 

/home:存放个人主目录

/root:root用户的主目录

/lib:存放库文件,动态链接库,诸如核心模块,驱动

    /usr/lib 常用的动态链接库和软件包的配置文件 

/lost+found: 平常是空的,系统非正常关机而留下无家可归的文件,存储fsck用的孤儿文件

/mnt:系统加载文件系统时用的常用挂载点

/opt:第三方工具使用的安装目录

/proc: 虚拟的目录,是系统内存的映射,可直接访问这个目录来获取系统信息

      /proc/meminfo 各种存储器使用信息,包括物理内存和交换分区

      /proc/cpuinfo  cpu信息

      /proc/filesystems 文件系统信息

/sbin:存储系统管理员管理使用指令

/tmp:临时文件的暂存点

/usr:存放与用户直接相关的文件与目录

    /usr/bin 用户常用命令

/var:存储在系统运行中可能会更改的数据

     /var/log 各种程序的日志

    /var/log/messages 纪录存储所有核心和系统程序信息

第四单元过滤器 输入输出及管道

1.过滤器:

 linux总应用工具分为三种

  交互工具 过滤器 编辑器(vi)

  输入:过滤器数据来源

    标准输入stdin(0):默认是键盘

  输出:数据去向

    标准输出stdout(1):默认屏幕

  错误:

      标准错误输出stderr(2):默认屏幕

 3.重定向

  < 重定向输入源  <<碰到某个终止符 然后将文件一次性输入保存

  > 重定向输出段  >覆盖原文件 >>在源文件基础上追加

  2>sh test.sh > /dev/null 2>&1

ls 2>1测试一下,不会报没有2文件的错误,但会输出一个空的文件1

 ls xxx 2>1测试,没有xxx这个文件的错误输出到了1中;

 ls xxx 2>&1测试,不会生成1这个文件了,不过错误跑到标准输出了;

 ls xxx>out.txt 2>&1, 实际上可换成 ls xxx 1>out.txt 2>&1;重定向符号>默认是1,错误和输出都传到out.txt

 4.管道

  |将前一个命令结果直接送入下一个命令的输入

  cat< filea > fileb拷贝ab

  cat file.* > file 数个小文件合并到一个文件

第五单元文件查找与文件管理

1.which 显示一个文件的完整路径

2.whereis 查看命令所在位置

3.slocate

 所有文件名及其所在路径包含关键字段的文件都会显示

 slocate先将当前目录做成一个数据库.然后在次数据库中进行匹配搜索

   slocate [keyword]

    locate [keyword]

  update db 更新数据库

4.find

  find 路径 参数 表达式

从制定路径下递归向下搜索文件

  支持按照各种条件方式搜索

 

 

 

-name 文件名

mtime n 距今n天修改的文件 -代表n天内,+代表n天以上

 size+400 400block以上文件

-atime+365 访问时间超过一年

-perm 777 权限是777的文件

-type f 只查普通文件,

操作找到的文件

操作找到文件

 find 路径 参数 表达式 -exec 指令{}\

5.常用文件操作指令

 wc-统计文件行(l),(w),字符(c) 空格,换行也算

 

 sort- 排序

grep - 匹配过滤关键字,模糊匹配

6

 diff 差异内容

 comp 差异位置

No  package comp available

 uniq 去除重复行

 cut 显示某一列

 paste 按照列进行拼接

7,压缩

 gzip,gunzip 标准压缩工具

 bzip,bunzip 或者 -d 解压缩

 zcat 直接显示压缩文件内容

 zless 直接逐行显示文件内同

 zdiff 显示压缩文件差异内容

 zcmp 直接显示压缩文件差异位置

8,tar

 c 备份文件

 v 显示过程

 f 创建file

 x 从一个文件中解出备份

 9,备份还原

 dump 备份 dump -f XXX 目录

 备份目录命名为XXX

 restore

第六单元交互工具与编辑器

1.mesg  控制终端是否接收信息

2.write 指定

定在线用户发送消息

  wall 给所有用户发送消息

3.编辑工具 常用 vim

  vim

  i 输出字母在光标前

  I 行首

  a 出书自摸在光标后

  A 行尾

  o 下一行

  O  上一行

  s 删除光标所在字符然后进如insert模式

  S 删除光标所在行然后进入insert模式

  wq 保存退出 q! 不保存退出

  e: 打开并编辑另外一个文件

4.删除与块操作

  d 删除一个字符 dw删除仪的单词 dd删除一行 ndd 删除n

  v模式下 c剪切 p粘贴到右手边

  u取消上一个更动 U取消一行内所有变动

  e!放弃所有改动 重新编辑

5.底行模式下 /从上往下 ?从下往上查找

6.r<文件名> r插入到光标出

  r! 命令  把命令输出结果查到当前文本

  rn 把文本插入到n

  :! 执行命令 然后返回

  :sh 转到shell

  :so 文件 读取文件然后执行文件内容

第七单元:BASH

1.shll 命令解释器:

  用户与系统沟通的媒介.bashlinux默认shell,系统可以使用的shell记录在/etc/shell

2.bash:bourneAgain shell

  gnu计划的一个组件

  unix bshell 完全兼容

  支持命令行输入,操作历史查询,快捷键,使用变量等功能

3.预定义环境变量

  系统通过预定义环境变量来定义shell 环境

  shell环境变量可以继承,shell会继承父shell的环境变量

  用户可以用set 或者env来查询当前环境变量

  -home:当前用户的主目录

  -path:当前用户的可执行文件搜索路径

  -lang: 程序应该使用个的默认语言

  -ps1:行提示符

  主目录下设定

  bshellbashell的子shellcshellbshell的一个子shell

  查询环境变量值 echo 设置操作系统提示符

4.history

  可以查询过往的指令

  内存中,bash_history过往指令数根据环境变量中HISTSIZE而定

  history存在内存中,logout是会记录进.bash_history 在下次login是载入

  内存中过往指令用echo$HISTSIZE来执行,使用grep查询内存

  !! 重复执行上一条命令

  !a 执行上一条以a为首的指令

  !n 执行上一条在表中记录号码为 n 的指令

  !-n 执行上第N条的命令

  ctrl r 搜索执行过的命令

5.alias 查询 alias 别名

  alias 命名别名 unalias取消别名

  alias shell中总是先行

  "",‘‘ 将一串字符当成字符串来看,""特殊字符转义,‘‘不转义

  执行引用符 ` 引用执行结果

  echo ‘pwd‘ 显示当前路径 echo ‘uname-a‘查询电脑配置

6.命令行表达式 数学运算 $[] 括号中会被数学运算

   转义符号 \取消特殊含义 表示一行未结束

7.; 命令行结束符 表示当前命令已经结束

8.shell 激活

  && 逻辑与 当前一条执行成功时再执行后一条

  || 逻辑或 当前一条执行失败是再执行后一条

9.登陆shellumask,alias 只在此次登陆下游泳,out in 后回复默认值

 一个通过登陆二得到的shell,一般是用户的初始shell

 登陆shell 下激活的shell 采用登陆shell的环境变量

  从四个文件中读取环境设定

  全局设置文件 etc/profile 登陆后运行

              etc/bashrc 系统启动后自动运行

  用户设置文件 -/bashrc

               -/bash_profile

  source .环境变量 让配置的环境变量生效

  shell 常用快捷键

   ctrl+d 输入一结束.shell下相当于exit

   ctrl+c 键盘终端请求

   ctrl+s/q 暂停/回复屏幕输出

   ctrl+l 清屏,相当于clear

   Tab:自动补完命令行与文件名

   Tab键双击可以列出所有可能匹配的选择

   Ctrl+a  光标移到行首

   Ctrl+e  光标移到行尾

   Esc+f  光标移到下一个单词的开始处

   Esc+b 光标移到前一个或当前单词的开始处

  Ctrl+k  从光标所在处删除到行结尾

  Ctrl+u  删除整行

第八单元 xwindow

1.x window 图形化显示

  创立于1986 至今仍被使用

   xfree86-自由 开放源码的执行X

2.GNOME

  三个主要构建:

    稳定,易于使用的桌面环境

    为开发工具提供完整工具组与库

    GNOME office的应用工具

   使用GTK+来设置桌面装饰

3.KDE

  稳定的桌面环境,k office应用工具,使用qt来设置桌面装饰

4.sawfish

   GNOME的默认窗口管理工具

   可主题化

   非常灵活且易于定制

5.切换桌面

   可以在桌面环境使用switchdesk切换桌面

     -可以选择GNOME,KDE或其他窗口管理器

    建立~/.Xclients,~/.Xclients_defaults或其他主机配置文件,并在其中指定桌面:

7.x中有用的快捷键

         CtrlAltBackspace   退出X

         Ctrl+Alt+Fn           切换到虚拟控制台n

   Alt+Tab              改变窗口

8.配置x环境

  redhat-config-xfree86

    Red Hat 开发的x配置工具

    需要root权限

    显卡的选择

    显示器的选择

    分辨率的选择

    色彩的选择

第九单元 监视系统

1.了解系统状况

 uname 显示系统名称 -a 可以显示显示系统的完整鉴定信息,包括主机名,核心版本等

 hostname 可以显示主机名

 lste 列出最近的用户登陆

 lastlog 列出每一个用户的最后登陆时间

 free 显示内存使用情况

 top 系统监视器

系统监视器打开 h键打开帮助 q退出

2.进程

 系统通过进程来完成工作

 每一个进程都有一个独立的进程号,通过调用进程号来调用进程

 系统原始进程是init

   initpid总是1

 一个进程可以产生另一个进程,除了init,所有进程都有父进程

3.查询进程

 ps [option]

    ps:列出当前在系统中运行的进程,只列出跟终端相关的进程

    ps-e(everyone)  列出系统中运行的所有的进程

    ps-f(full)      列出完整信息,并格式化输出

    ps -ef相当于执行uid pid ppid cstime tty time cmd指令

     以全格式显示当前所有进程

    uid:进程的onwer

    pid:进程号 (不会重复)

    ppid:父进程号 每个进程都有自己的父进程

    stime:进程创建日期

    tty:终端号    //tty ? 服务进程

    time: 累计使用cpu的时间

    cmd :进程名

ps aux :查看全部进程

USER     进程所属用户

PID       进程ID

%CPU     进程占用CPU百分比

%MEM   进程占用内存百分比

VSZ       虚拟内存占用大小      单位:kbkillobytes

RSS       实际内存占用大小       单位:kbkillobytes

TTY       终端类型

STAT      进程状态

START    进程启动时刻

TIME    进程运行时长COMMAND 启动进程的命令

ps显示中的STAT进程状态:

  • T挂起:被暂停  ctrl+Z

  • Z:僵尸进程子进程先结束,父进程没结束解决办法:可以reboot或清僵尸进程的父进程.

  • 通常是一个系统bug或非法操作

  • 父进程先走: 托孤 将进程转交给init

  • R: 正在运行

  • S: 睡眠进程,可以被唤醒

  • D: 进程睡眠中,除非发生指定事件,否则不会被唤醒

  • <:高优先级进程

  • N:低优先级进程

pstree   查看进程树

进程控制结束一个进程:

 前台进程: ctrl+c

          kill 进程号    干掉一个程序

          kill -9        暴力干掉

          pkill 进程名 

          kill sleep  结束睡眠程序

          killall httpd 杀死一批进程,杀死所有http进程

4.nice 进程优先级

以一个不同的nice值来运行指令

  - nice -n num command

  renice 改变一个运行进程优先级

 只有root账号可以改变优先级

5.前台后台

 一个命令执行后,独占shell 并且拒绝其他输入,为前台进程,反之为后台进程

 每一个控制台,允许多个后台进程

 nohup sh 在后台执行脚本

 ctrl+z 挂起进程

 fg 前台进程,bg 后台进程

 fg 进程号 进程前台运行  bg 进程号 进程后台执行

6./proc目录,包含来自正在运行着的核心的信息

 /proc/sys 目录 允许管理员更改 影响当前运行进程核心

 var/log/dmesg 核心启动日志

        /messages 报错日志

        /wtmp 登陆记录

/proc目录在每次系统开机时由核心根据/etc/fstab自动在内存中创建,并不基于硬盘.

   /proc目录下的文件与目录都是虚拟产生,因此绝大多数的文件大小为零.

   不可以cat /proc/kcore.这是当前运行内核的一个镜象,尝试cat会造成当前终端无法使用.

   常用的/proc下的文件:

   /proc/interrupts :IRQ设置

   /proc/cpuinfo:CPU信息

   /proc/dma:DMA设置

   /proc/ioports:输入输出设置

   /proc/meminfo:系统内存使用状况

   /proc/loadavg:系统负载平均值

   /proc/uptime:系统运行时间与发呆时间

   /proc/version:Linux核心版本、创建主机、创建时间等

   /proc目录下的常用目录

   /proc/scsi:scsi设备信息

   /proc/ide:ide设备信息

   /proc/net:网络状态与配置信息

   /proc/sys:核心配置参数

   /proc/<PID>:进程的信息

   改变/proc/sys目录下的文件,例如,我们可以用:

echo 1 >/proc/sys/net/ipv4/ip_forward 来打开IP转发功能

   系统中当前运行的每一个进程都有对应的一个目录在/proc,以进程的PID号为目录名,

   它们是读取进程信息的接口.

   进程目录的结构如下:

     Cmdline   命令行参数
     Environ   境变量值
     Fd              个包含所有文件描述符的目录
     Mem      进程的内存被利用情况
     Stat     进程状态
     Status        Process status inhuman readable form
     Cwd           当前工作目录的链接
     Exe         Link to theexecutable of this process
     Maps       内存印象
     Statm     进程内存状态信息
     Root         链接此进程的root目录

第十单元 shellscripts

1.

shell 脚本 是一个包含shell指令的文本文件

shell 脚本支持变量与简单的语法来完成批量工作

shell 脚本支持交互的方式,在执行时从标准输入读取数据

有大量的系统工作都是通过shell脚本方式来完成,例如开机系统,服务控制

2.

可以用各种编辑工具编辑脚本,完成的任务为脚本名称

脚本#表示被注释

可以采用shell下能使用的所有指令

 (添加描述显示参数的值 显示依赖关系)

脚本第一个字符如果不是# 表示是一个bash脚本

.................#!表示用什么shell解释

.................#第二个不是!表示是一个Cshenll脚本

3 变量复制于继承

 变量名=

 变量值不会继承入子 shell进程

 export 变量名 变量变成环境变量

4.脚本数据读取与写出

 read username 从标准输入读取数据为username赋值

 echo完成简单的输出

 运行脚本

 sh 路径/脚本名,  ./路径名/脚本名, /路径名/脚本名

5.if 条件

   then 动作

  elif 条件

    then 动作

  else 动作

  fi

6.case

 case 表达式 in

    匹配值 1)

            动作

    匹配值 2)

            动作

  esac   技术case

7.循环公职语句

  select:select 变量 in 数组

         执行动作

         done

  for:for 变量 in 数组

          do

          done

  while :while 条件

          do

          done

  until:until 条件

          do

          done

8.使用带命令行参数shell脚本

  #command [option1][option]...

  引用shell 脚本命令行参数

  &0 命令名本身

  &1 第一个参数(option1)

  &2 第二个参数(option2)

第十四单元 计划任务

一、Linux的计划任务

1.        Linux系统支持一些能够自动执行任务的服务我们称其为计划任务

l  at:指定一个时间完成一个任务

at服务需要系统后台有一个atd进程

-at:安排延时任务

-atq:查询当前等待任务

-atrm:删除等待任务

-batch:以一个低优先级延时执行任务

at的使用控制文件

-/etc/at_allow

-/etc/at_deny

基于用户的使用控制

l  cron:根据一个时间表自动执行任务

服务需要后台运行的进程crond

开关cron服务

  系统管理员可以用service crond/stop 来开关cron服务

  chkconfigntsysv选择cron服务的默认开启关闭

定制用户计划

用户级别:

  crontab -e: 编辑当前的守护进程表

  crontab -l: 列出当前的守护进程表

  crontab -r: 删除当前的守护进程表

  crontab -u user:以某一个身份

/var/spool/cron :存放用户守护进程表

默认情况下,所有用户都可以设定自己的守护任务

控制文件:

/etc/cron.allow

/etc/cron.deny

如果系统中存在cron.allow,则只有在列在文件中的用户才可以使用crontab指令来定制自己的守护任务/

如果系统中存在cron.deny,则列在文件中的用户不可以使用crontab指令来定制自己的守护任务,其他人可以.

l  anacron:在一个指定时间间隔过后自动执行任务

cron服务的扩展防止系统因为关机遗漏守护任务,每次通电时自动检测

l  tmpwatch 清理/tmp 目录下临时文件

              /usr/bin/tmpwatch  小时数 指定目录

第十五单元 RPM包及其管理

一、RPM:RedHatPackage Manager

使一个Linux系统可以更方便地被分割成许多组件.从而使用户可以在系统上简单方便地安装、升级、查询、卸除各种功能与服务

二、RPM的安装与卸载

l  安装与卸载

rpm -i : 安装

rpm-U: 升级

rpm-F: 更新

rpm-e: 卸除

rpm--test 只对安装进行测试,并不实际安装。
rpm--percent 以百分比的形式输出安装的进度。
rpm--excludedocs 不安装软件包中的文档文件
rpm--includedocs 安装文档
rpm--replacepkgs 强制重新安装已经安装的软件包
rpm --replacefiles 替换属于其它软件包的文件
rpm --force 忽略软件包及文件的冲突
rpm --noscripts 不运行预安装和后安装脚本
rpm --prefix <path> 将软件包安装到由<path> 指定的路径下
rpm --ignorearch 不校验软件包的结构
rpm --ignoreos 不检查软件包运行的操作系统
rpm --nodeps 不检查依赖性关系
rpm --ftpproxy <host> <host> 作为FTP代理
rpm --ftpport <port> 指定FTP的端口号为<port>-h (or --hash) 安装时输出hash记号 (``#‘‘)

补充

-v,-h :输出

-nodeps,-force :预设条件

-root:重定位

三、RPM包查询:

rpm -q:查询某一个RPM包是否已安装

rpm -qi:查询某一个RPM包的详细信息

rpm -ql:列出某RPM包中包含的文件

rpm-qf:查询某文件属于哪一个RPM

rpm -qa:列出当前系统所有已安装的包

rpm -qp:制定一个等待安装的RPM

四、RPM包的校验及检查

校验 -V 校验某个RPM

     -Va :校验所有已安装的RPM

检查 -k 检查RPM包的GPG签名

出错提示符号分别表示某部分未通过校验

S 文件大小

M 文件权限与类型

5 MD5求和

D 设备文件的主、从号码

L 符号连接文件找不到连接对象

U 文件的所属用户

G 文件的所属组

    T 更改时间

第十六单元 邮件和打印

一、打印

可以使用本地或者网络打印进

打印请求首先被送入打印队列

排队的请求任务按照先来先服务的原则送到打印机

打印任务可以取消

lp -d printer100/etc/passwd

lpr /etc/shadow 指定文件发给打印机,不指定打印机,使用默认打印机

lpq 查看打印队列

lprm 删除打印队列中某个打印任务

lpc基于命令行的控制工具

lpstat 打印机状态信息

    cancel 取消打印作业

打印工具:

    enscript - 把文本转化成PostScript文件

    a2ps -把文本转化成PostScript文件

    gv - PostScript 文件游览器

    ps2pdf-PostScript转换PDF

    pdf2ps-PDF转换Postscript

    mpage-在一张纸上打印多页

二、邮件

一台linux主机可以是一个邮件服务器或客户端

 文本模式pine.mutt 图形模式 mozilla Mail,evolution,kmail,balsa

 命令行模式 mailmailq 查看邮件队列

用户程序

 pine - 菜单驱动接口,简便医用

 mutt - 可详细配置的邮件客户程序

  pine mutt的过滤功能由procmail来实现

 evolution - 邮件,任务管理器,联系管理器

 mozilla mail - 图形,高级过滤,支持多个邮件账号有很灵活过滤功能

 kmail - 图形,简单易用,KDE 一部分

第十七单元 sed,awk和其他语言

一、sed:流式编辑器,是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为模式空间(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕.接着处理下一行,这样不断重复,直到文件末尾.文件内容并没有 改变,除非你使用重定向存储输出.Sed主要用来自动编辑一个或多个文件,简化对文件的反复操作

l  特点:

    只读取文件一次

    通常用在命令的输出

    占用的系统资源很少

l  sed地址:

没有地址:编辑整个文件

一个地址:编辑所有匹配的

两个地址:编辑所有之间的

l  sed 脚本

内容可以写成脚本

脚本是包含sed命令的文本文件

有很多命令和选项

seds/slow/fast/g aboutsed.txt > output.txt 全文替换

sed 1Dsedtext.txt  删除第一行

sed 2dsedtext.txt  删除第二行

sed 1,4dsedtext.txt 删除1-4

sed  ‘2,$d‘ sedtext.txt 删除第二行到末尾

sed ‘$d‘sedtext.txt 删除最后一行

sed‘/test/‘d  sedtext.txt 删除所有包含test的行

sed  ‘s/zhuxy/mytest/g‘ sedtext.txt --在整行范围内把zhuxy替换为mytest.

              如果没有g标记,则只有每行第一个匹配的test被替换成mytest.

sed‘s/^enmoedu/&localhost/‘ sedtext.txt &符号表示替换换字符串中被找到的部份.所有以enmoedu开头的行都会被替换成它自已加 localhost,变成enmoedulocalhost.

 sed ‘s#10#100#g‘ sedtext.txt   不论什么字符,紧跟着s命令的都被认为是新的分隔符,所以,#”在这里是分隔符,代替了默认的“/”分隔符.表示把所有10替换成100.

sed ‘/test/ra.txt‘ sedtext.txt file里的内容被读进来,显示在与test匹配的行后面,如果匹配多行,则file的内容将显示在所有匹配行的下面.

sed -n‘/test/w  a.txt‘ sedtext.txt 所有包含test的行都被写入file

sed -e ‘1,5d‘ -e ‘s/zhuxy/check/‘ sedtext.txt 多点编辑

二、awk

编辑文本的程序语言

在一个文本中搜索匹配一个或多个模式行

在匹配行上执行特殊操作

l  awk程序

规则由新行来分离

规则包含一个模式和在[]没包含操作

模式 [action]

l  运行awk程序

简单程序可以在命令行下直接输入

$awk ‘program‘ input file

更长程序保存在文件中

$awk -f program_file input_file

l  :

last-n 5 | awk  ‘{print $1}‘

ifconfigeth1 | awk  ‘/inet/{print $2}‘ | awk -F":" ‘{print $2}‘

awk‘/bash/ { print }‘ /etc/passwd

cat/etc/passwd |awk  -F ‘:‘  ‘{print $1}‘ 

ls-l . | awk ‘$3 == "oracle" {sum += $5 } END { print sum }‘