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

相关推荐

  • 第8天:脚本基础,btrf,raid,

    http://note.youdao.com/yws/public/redirect/share?id=61b38adef24ced4dc646a5ef8e68df18&type=false

    Linux干货 2016-08-16
  • 分别设置CentOS 6与CentOS 7的开机启动为3模式 遇到的问题

    vim /etc/inittab (centos 6) 把id:5: initdefault: 改成3模式 reboot 2  (centos7) vim /etc/inittab 打开文件没有id:5: initdefault: 这一项 systemd使用比sysvinit的运行级别更为自由的target概念作为替代 第三运行级: multi-u…

    2017-05-18
  • nginx初步

    一、知识整理 1、查看进程使用的cpu;ni查看nice值 [root@localhost html]# ps axo pid,comm,psr,ni  43769 nginx          &n…

    Linux干货 2016-10-31
  • linux cluster—-lvs

    一. Linux Cluster:           Cluster:计算机集合,为解决某个特定问题组合起来形成的单个系统;      Linux Cluster类型:      &nbs…

    Linux干货 2016-10-29
  • Homework Week-14 iptables及tcpwraper访问控制

    系统的INPUT和OUTPUT默认策略为DROP; 1、限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin字符串的页面不允许访问;web服务器仅允许响应报文离开本机; iptables -A INPUT -d 192.168.1.101 -p …

    Linux干货 2016-12-05
  • 磁盘分区磁盘管理及挂载

    磁盘分区 fdisk提供交互式接口管理分区,操作均在内存中完成,没有直接同步到磁盘;直到使用w命令保存至磁盘中。 语法: 1.查看分区使用信息:     fdisk -l [-u] [device…]:列出指定磁盘设备上的分区情况; 2.管理分区    fdisk d…

    Linux干货 2016-08-31