notys's blog
大道至简
linux 命令(持续更新)

一,文件的常用命令

1,文本文件查看

命令 用法说明
> 重定向(覆盖原文件)
>> 重定向(追加原文件)
命令用法说明
>重定向(覆盖原文件)
>>重定向(追加原文件)
  • 查看: more,less,head,tail,cat,grep
命令用法说明
more filenamemore 查看文件的内容(要加上后缀,如 more test.txt 而非 more text)
less filename作用/用法同more (more 最后一屏时自动退出,less 不自动退出,按q 退出,也可以ctrl+b 往前翻,ctrl+f 往后翻)
head -n filenamehead 查看文件的前n行(如 查看前3 行: head -3 test.txt)
tail -n filenametail 查看文件的后n行(如 举个例子,查看后2行: tail -2 test.txt )
cat 文件1 文件2 ...文件ncat 把文件的内容连接起来打印到终端或者用 > 覆盖到另一个文件(cat a.txt b.txt)
cat 文件1 文件2 ...文件n > 文件n+1把n 个文件连接成一个新文件(cat a.txt b.txt > c.txt)
grep 判断字 文件grep 匹配文件中的行(grep adm /etc/passwd ,会把/etc/passwd 文件中含有adm 的行打印出来)

2,文件查找

命令用法说明
find / -name 文件名find / -name d.txt 直接在find 后面写上-name,表明要求系统按照文件名查找,最后写上d.txt这个目标文件名即可

根据部分文件名查找方法:
例如我们知道某个文件包含有srm 这3 个字母,那么要找到系统中所有包含有这3 个字母的文件是可以实现的,输入:

find /etc -name '*srm*'

这个命令表明了Linux 系统将在/etc 整个目录中查找所有的包含有srm 这3 个字母的文件,比如
absrmyz, tibc.srm 等等符合条件的文件都能显示出来。

如果你还知道这个文件是由srm 这3 个字母开头的,那么我们还可以省略最前面的星号

命令如下:

find /etc -name 'srm*'

这是只有像srmyz 这样的文件才被查找出来,象absrmyz 或者absrm 这样的文件都不符合要求,不被
显示,这样查找文件的效率和可靠性就大大增强了。

根据文件的特征查询方法:

命令用法说明
find / -amin -10查找在系统中最后10 分钟访问的文件
find / -atime -2查找在系统中最后48 小时访问的文件
find / -empty查找在系统中为空的文件或者文件夹
find / -group cat查找在系统中属于groupcat 的文件
find / -mmin -5查找在系统中最后5 分钟里修改过的文件
find / -mtime -1查找在系统中最后24 小时里修改过的文件
find / -nouser查找在系统中属于作废用户的文件
find / -user fred查找在系统中属于FRED 这个用户的文件

二,Linux 的系统命令

命令用法说明
whoami 或who am I显示当前登陆者的用户名称
who是显示谁在线
su 用户名或者su – 用户名切换用户(加-后,不仅切换到其他用户,而且环境变量这些什么的都切换成其他用户的.而不加-的话,仅仅使用这个用户的权限,而不使用其他.)
Free显示内存状态(如 free -m -s 3(-m 表示内存的状态用M 为单位来表示, -s 表示刷新的时间间隔,秒为单位))
top类似于windows 下面的资源管理器
ps列出进程
kill 进程id杀死进程
kill -9 进程id杀死僵尸进程

三,rpm 软件管理包

1,RPM 概述

RPM 是一个开放的软件包管理系统,最初的全称是Red Hat Package Manager。它工作于Red Hat Linux 以
及其它Linux 系统,成为了Linux 中公认的软件包管理标准。红帽子软件公司鼓励其他厂商来了解RPM 并
在自己的产品中使用它。

RPM 的发布基于GPL 协议。随着RPM 在各种发行版本的广泛使用,如今RPM 的全称是RPM Package
Manager。RPM 由RPM 社区负责维护,其官方网站:http://www.rpm.org

2,为什么使用RPM

使用RPM 最大的好处在于它提供快速之安装,减少编译安装之侦错困扰。对于最终用户来说,RPM 所提
供的众多功能使维护系统要比以往容易的多。安装、卸载和升级RPM 软件包均只需一条命令即可完成,
所有烦琐的细节问题无须您费心。RPM 维护一个所有已安装的软件包和文件的数据库,可以让您进行功能
强大的软件包查询和验证工作。

在软件包升级过程中,RPM 会对配置文件进行特别处理,因此您绝对不会丢失以往的定制信息——这对于
直接使用.tar.gz 文件是不可能的。对于程序员,RPM 可以让您连同软件的源代码打包成源代码和二进制软
件包供最终用户使用。这个过程十分简单,整个过程由一个主文件和可能的补丁程序组成。RPM 在软件的
新版本发布时,这种“原始”源代码,补丁程序和软件生成指令的清晰描述简化了软件包的维护工作。

3.RPM 的功能

简言之,RPM 具有如下五大功能:

  • 安装——将软件从包中解出来,并且安装到硬盘。
  • 卸载——将软件从硬盘清除。
  • 升级——替换软件的旧版本。
  • 查询——查询软件包的信息。
  • 验证——检验系统中的软件与包中软件的区别。

4,RPM 包的名称格式

name-version.type.rpm

  • name 为软件的名称
  • version 为软件的版本号
  • type 为包的类型
  • i[3456]86:表示在Intel x86 计算机平台上编译的
  • sparc:表示在sparc 计算机平台上编译的
  • alpha:表示在alpha 计算机平台上编译的
  • src:表示软件源代码
  • rpm 为文件扩展名

5,rpm 命令简介

在CentOS 中升级和安装系统通常使用yum 命令,因为它可以良好的解决包的依赖性问题,即自动安装/
处理依赖的其他软件包。但是rpm 命令还是在某些情况下用得上,比如,查询包信息,安装或卸载一个
不在CentOS 软件库中的.rpm 包等。

命令说明
rpm -i <.rpm file name>安装指定的.rpm 文件
rpm -U <.rpm file name>用指定的.rpm 文件升级同名包
rpm -e 删除指定的软件包
rpm -q 查询指定的软件包在系统中是否安装
rpm -qa查询系统中安装的所有RPM 软件包
rpm -qf </path/to/file>查询系统中指定文件所属的软件包
rpm -qi rpm -qi
rpm -ql 查询一个已安装软件包里所包含的文件
rpm -qc 查看一个已安装软件包的配置文件位置
rpm -qpi <.rpm file name>查询一个未安装的RPM 文件的描述信息
rpm -qpl <.rpm file name>查询一个未安装的RPM 文件里所包含的文件
rpm -qpc <.rpm file name>查看一个未安装的RPM 文件的配置文件位置
rpm -qpd <.rpm file name>查看一个未安装的RPM 文件的文档安装位置
rpm -qpR <.rpm file name>查询一个未安装的RPM 文件的最低依赖要求
rpm -V 校验指定的软件包
rpm -V </path/to/file>校验包含指定文件的软件包
rpm -Vp <.rpm file name>校验指定的未安装的RPM 文件
rpm -Va校验所有已安装的软件包
rpm --rebuilddb重新创建系统的RPM 数据库,用于不能安装和查询的情况
rpm --import 导入指定的签名文件
rpm -Kv --nosignature <.rpm file name>检查指定的RPM 文件是否已损坏或被恶意篡改(验证包的MD5校验和)
rpm -qd 查看一个已安装软件包的文档安装位置
rpm -qR 查询一个已安装软件包的最低依赖要求
  • 在安装/升级时,还可以使用-vh 参数,其中:v 表示在安装过程中将显示较详细的信息;h 表示显示
    水平进度条
  • 在使用rpm -qa 命令时,还可以使用|more 或 |grep 进行过滤
  • 所有的<.rpm file name > 既可以是本地文件,也可以是远程文件
  • 校验软件包将检查软件包中的所有文件是否与系统中所安装的一致性。包括校验码文件大小,存取
    权限和属主属性都
  • 将根据数据库进行校验。该操作可在用户安装了新程序以后怀疑某些文件遭到破坏时使用。

四,yum 软件管理器

yum 是一个用于管理rpm 包的后台程序,用python 写成,可以非常方便的解决rpm 的依赖关系。在建立
好yum 服务器后,yum 客户端可以通过http、ftp 方式获得软件包,并使用方便的命令直接管理、更新所
有的rpm 包,甚至包括kernel 的更新。它也可以理解为红旗环境下的apt 管理工具。

一、列举包文件
yum list列出资源库中所有可以安装或更新的rpm 包
yum list perl列出名为perl 的包
yum list perl*列出perl 开头的包
yum list updates列出资源库中所有可以更新的rpm 包
yum list installed列出已经安装的所有的rpm 包
yum list extras列出已经安装的但是不包含在资源库中的rpm 包
二、列举资源信息
yum info列出资源库中所有可以安装或更新的rpm 包的信息
yum info perl列出资源库中特定的可以安装或更新以及已经安装的rpm 包的信息
yum info perl*列出perl 开头的所有包的信息
yum info updates列出资源库中所有可以更新的rpm 包的信息
yum info installed列出已经安装的所有的rpm 包的信息
yum info extras列出已经安装的但是不包含在资源库中的rpm 包的信息
三、搜索
yum search perl搜索匹配特定字符的rpm 包
yum provides realplay搜索有包含特定文件名的rpm 包
四、管理包
yum install perl安装rpm 包
yum install perl*安装perl 开头的包
yum remove perl*删除rpm 包,包括与该包有倚赖性的包
五、更新
yum check-update检查可更新的rpm 包
yum update更新所有的rpm 包
yum update kernel kernel-source更新指定的rpm 包,如更新kernel 和kernel source
yum upgrade大规模的版本升级,与yum update 不同的是,连旧的淘汰的包也升级
六、清空缓存
yum clean packages清除暂存中rpm 包文件
yum clearn headers清除暂存中rpm 头文件
yum clean oldheaders清除暂存中旧的rpm 头文件
yum clearn 或 yum clearn all清除暂存中旧的rpm 头文件和包文件