linux 入门基础 (二)

主要内容包含有 文件查找、压缩和正则表达式,以及包是管理和安装。

文件查找

locate非实时查找(数据库查找):速度快,模糊查找
-i 不区分大小写的搜索
-n N 只列举前N个匹配项目
updatedb 更新数据库

find
find实时查找:速度略慢,精确查找,
-maxdepth  最大搜索目录深度,指定目录为第一级
-mindepth level 最小搜索目录深度
根据文件名和inode查找
-name “文件名称”:支持使用glob
-iname “文件名称”:不区分字母大小写
-inum n 按inode号查找
-samefile name 相同inode号的文件
-links n 链接树为n的文件
-regex “pattern”: 以pattern匹配整个文件路径字符串,而不仅仅是文件名称

组合条件
与:a
或:-o
非:not,!

根据属主,属组查找:
-user usernanme:查找属主为指定用户(uid)的文件
-group grpname:查找属组为指定组(gid)的文件
-uid UserID:查找属主为指定的UID号的文件
-gid GroupID:查找属组为指定的GID号的文件
-nouser:查找没有属主的文件
-nogroup:查找没有属组的文件

根据文件类型查找:
-ype TYPE:
f:普通文件
d:目录文件
l:符号链接文件
s:套接字文件
b:块设备文件
c:字符设备文件
p:管道文件

摩根定律

根据权限查找:
-perm [/|-] MODE
MODE:精确权限匹配

 

compress  uncompress
-d : 解压缩相当于uncompress
-c :结果输出至标准输出,不删除原文件
-v :
gzip option file
-d:解压缩,相当于gunzip
-c:将压缩或解压缩的结果输出至标准输出
-#:1-9 指定压缩比,值越大压缩比越大
zcat:不显示压缩的亲体下查看文本文件内容

bzip2 option file
-k:keep,保留原文件
-d:解压缩
-#:1-9,压缩比,默认为6
bzcat:不显示解压的前提下查看文本文件

xz option file
-k:keep,保留文件
-d:解压缩
-#:1-9,压缩比,默认为6
xzcat:不显示解压的前提下查看文本文件

打包压缩:
zip -r
解包:unzip

tar 工具   c 创建  v 显示过程 f 指定文件名字 t 显示内容 –delete 删除文件  x  解包
tar option
tar -cvf 创建包
tar -tf 查看包
tar –delete  删除某个包

cpio : cpio 命令是通重定向的方式将文件进行打包备份,还原回复的工具,它可以解压
以.cpio 或者 .tar结尾的文件

cpio 文件名或者设备名
选项 –
-o 将文件拷贝打包成文件或者将文件输出到设备上
-i 解包,将文件解压或将设备上的备份还原到系统
-t 预览,查看文件内容或者输出到设备上的文件内容
-v 显示打包过程中的文件名称
-d 解包生成目录,在cpio还原时,自动的建立目录
-c 一种较新的存储方式

 

正则表达式

正则表达式分为基本正则表达式(BRE)和扩展正则表达式(ERE)
正则是由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符)不表示字符字面意义,而表示控制或者通配的功能。
* 匹配前面的字符任意次,包括零次
贪婪模式:尽可能长的匹配
.* 任意长度的任意字符
\?匹配前面的字符0次或1次
\+ 匹配前面的字符至少1次
\{n\} 匹配前面的字符n次
\{m,n}  匹配前面的字符知道好m次,最多n次
\{,n} 匹配前面的字符最多n次
\{n,\} 匹配前面的字符最少n次
^ 行首锚定,用于模式的最左侧
$ 行尾锚定,用于模式的最右侧
^pattern$ 用于模式匹配整行
\< 或 \b 词首锚定,用于单词模式的左侧
\> 或 \b 词尾锚定,用于单词模式的右侧
\<pttern\> 匹配整个单词
或者:\|

扩展正则表达式:
egrep = grep -E
字符匹配:
. 任意单个字符
[] 指定的字符范围
[^] 不指定的字符范围\

 

包的管理和安装

二进制应用程序的组成部分:二进制文件,库文件,配置文件,帮主文件

程序包管理器:
源代码:name-version.tar.gz|bz2|xz

rpm包命名方式:
name-version-release.arch.rpm
包:分类和拆包
application-devel-version-arch.rpm 开发子包
application-utils-version-arch.rpm 其他子包
application-libs-version-arhc.rpm 其他子包

包之间可能存在依赖关系,甚至循环依赖
解决依赖包管理工具:
yum:rpm 包管理器前端工具
apt-get:deb 包管理器前端工具
zypper:suse上的rpm前端管理工具
dnf:Fedora 18+ rpm 包管理器前端工具

查看二进制程序所依赖的库文件
ldd/path/to/binary_file

管理及查看本机装载库文件
idconfig  加载库文件
/sbin/idconfig -p : 显示本机已经缓存的所有可用库文件名及文件路径映射关系
配置文件:/etc/ld.so.conf, /etc/ld.so.conf.d/.*conf
缓存文件:/etc/ld.so.cache

程序包管理器:将编译好的应用程序的各组成文件打包一个几个程序包文件,从而方便快捷地实现程序包的安装,卸载,查询
包文件组成
rpm 包内的文件
rpm 买的元数据,如名称,版本,依赖性,描述等,安装或卸载时运行的脚本

数据库:/var/lib/rpm
程序包名称及其版本
依赖关系
功能说明
包安装后生成的文件路径及校验码信息

CentOs 系统上使用rpm命令管理程序包
安装,卸载,升级,查询,校验,数据库维护
安装 {-i|–install} [install-options] package_file
-v:verbose
-vv:
rpm 包安装

rpm 包升级
rpm {-U|–upgrade} [install-options] package_file
rpm {-F|–freshen} [install-options] package_file
upgrade : 有旧版本升级,没有则安装
freshen : 有旧版本升级,没有不操作
–oldpackage : 降级
–force : 强制安装

 

 

 

 

 

 

 

 

 

 

 

 

 

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/86870

(0)
5220367552203675
上一篇 2017-09-10 21:12
下一篇 2017-09-10 22:51

相关推荐

  • MapReduce数据流

    Hadoop的核心组件在一起工作时如下图所示: 图4.4高层MapReduce工作流水线   MapReduce的输入一般来自HDFS中的文件,这些文件分布存储在集群内的节点上。运行一个MapReduce程序会在集群的许多节点甚至所有节点上运行mapping任务,每一个mapping任务都是平等的:mappers没有特定“标识物”与其关联。因此,任意的map…

    Linux干货 2015-05-13
  • DNS资源记录类型

      资源记录   资源记录(Resource Records),简称RRs。是指每个域所包含的与之相关的资源。例如,每个RR都包括这个域的所属(RR是从哪个域名中得到的),类型(什么样的资源存在于这个RR中),TTL(time to live,存活时间)等等。 DNS包括七大资源记录 A记录:也称为主机记录,是DNS名称到IP地址的映射,用于正向解…

    Linux干货 2017-02-08
  • 小白学习Linux系统一周总结

         告别平凡,安定而又没什么前途的工作,我选择了报了门热门的计算机课程--python运维开发。我不知道为什么一开始就学Linux系统,我早预料到这是一个艰难的开始,还好我不是完全没有基础,以前有学过iOS开发。看到着终端中的“\”表示根目录,我轻微有点亲切感,不像第一次看到终端时的恐惧。我总结这周的学习感受,希…

    Linux干货 2017-09-04
  • ​Linux基础知识之screen命令详解

    该博文以CentOS6.8_x86_64系统为基础,Xshell5远程登录CentOS6.8系统,以root身份登录系统,以Xshell5发起screen帮助,用系统命令行界面去连接。 screen命令:         打开新的screen: screen -S [SESSION]   (打开一个名叫hel…

    Linux干货 2016-07-29
  • 硬盘分区的三种方式

    以前在初步接触linux的时候,只知道一种分区方式,现在学会了三种分区方式,所以下面就给大家简单的演示一下 ,以供参考。 第一种:fdisk /dev/sd?    具体步骤请看下图:首先有一个空的硬盘/dev/sdb, 第一步:输入命令fdisk /dev/sdb,会弹出一个帮助信息Command(m for help),意思就是m键是…

    2017-08-20
  • 2016.10.12 成为了马帮的一员!

    未来的6个月内,好好学习天天向上!

    Linux干货 2016-10-19