深度好文:Linux基础详解(下)
文件命名规则
长度不能超过255个字符;
不能使用/当文件名;
严格区分大小写。
Linux常用命令(续)
//文本查找 grep egrep fgrep
grep //根据模式搜索文本,并将符合模式的文本行显示出来。\
//使用基本正则表达式定义的模式来过滤文本的命令。
Pattern(模式) //文本字符和正则表达式的元字符组合而成的匹配条件
-i //忽略大小写
--color //匹配到的内容高亮显示
-v //显示没有被模式匹配到的行
-o //只显示被模式匹配到的字符串
-E //使用扩展正则表达式。grep -E相当于使用egrep
-q //静默模式,不输出任何信息
-A 1 //被模式匹配到的内容以及其后面一行的内容都显示出来,\
//如果把1改成2就表示被模式匹配到的内容以及其后面2行的内容均显示出来
-B 1 //被模式匹配到的内容以及其前面一行的内容都显示出来, \
//如果把1改成2就表示被模式匹配到的内容以及其前面2行的内容均显示出来
-C 1 //被模式匹配到的内容以及其前后的行各显示1行,如果把1改成2 \
//就表示被模式匹配到的内容以及其前后的行各显示2行。
fgrep //不支持正则表达式,执行速度快
//文件查找
在文件系统上查找符合条件的文件
locate
//语法:
locate KEYWORD
//非实时,模糊匹配,查找是根据全系统文件数据库进行的,查找的速度快
//依赖于事先构建的索引。索引的构建是在系统较为空闲时自动进行(周期性任务)
updatedb //手动生成文件数据库
//索引构建过程需要遍历整个根文件系统,极消耗资源
find //实时查找,精确性强,遍历指定目录中所有文件完成查找, \
//查找速度慢,支持众多查找标准。
//语法:find [OPTION...] 查找路径 查找标准 查找到以后的处理动作
查找路径 //默认为当前目录
查找标准 //默认为指定路径下的所有文件
-name 'filename' //对文件名作精确匹配.支持glob通配符机制
-iname 'filename' //文件名匹配时不区分大小写
-regex pattern //基于正则表达式进行文件名匹配.以pattern \
//匹配整个文件路径字符串,而不仅仅是文件名称
-user username //根本属主来查找
-group groupname //根据属组来查找
-uid //根据UID进行查找,当用户被删除以后文件的属主会变为此用户的UID
-gid //根据GID进行查找,当用户被删除以后文件的属组会变为此用户的GID
-nouser //查找没有属主的文件.用户被删除的情况下产生的文件,只有uid没有属主
-nogroup //查找没有属组的文件.组被删除的情况下产生的文件,只有gid没有属组
-type //根据文件类型来查找(f,d,c,b,l,p,s)
-size //根据文件大小进行查找。如1k、1M,+10k、+10M,-1k、-1M, \
//+表示大于,-表示小于
[+|-]
#K、#M、#G
#Unit表示(从#-1到#之间的范围大小)
-#Unit表示(从0到#-1的范围大小)
+#Unit表示(大于#的所有)
-mtime //修改时间
-ctime //改变时间
-atime //访问时间
+5 //5天前
-5 //5天以内
-mmin //多少分钟修改过
-cmin //多少分钟改变过
-amin //多少分钟访问过
+5 //5分钟前
-5 //5分钟以内
-perm mode //根据权限精确查找
-perm -mode //文件权限能完全包含此mode时才符合条件
-perm /mode //9位权限中有任何一位权限匹配都视为符合查找条件
//组合条件:
-a
-o
-not
!
例:
!A -a !B = !(A -o B)
!A -o !B = !(A -a B)
//处理动作:默认为显示到屏幕上
-print //显示
-ls //类似ls -l的形式显示每一个文件的详细信息
-delete //删除查找到的文件
-fls /path/to/somefile //查找到的所有文件的长格式信息保存至指定文件中
-ok COMMAND {} \; //对查找到的每个文件执行COMMAND,每次操作都需要用户确认
-exec COMMAND {} \; //对查找到的每个文件执行COMMAND,操作不需要确认
//注意:find传递查找到的文件至后面指定的命令时,查找到所有 \
//符合条件的文件一次性传递给后面的命令,而有些命令不能接受过多参数, \
//此时命令执行可能会失败。而xargs可规避此问题。
xargs //通过管道将查找到的内容给xargs处理,xargs后面直接跟命令即可
文件层级系统
FHS //文件层级系统
/ //可以单独分区,LVM分区
/boot //系统启动相关的文件,如内核(vmlinuz)、initrd(initramfs),\
//以及grub(bootloader)。建议单独分区,基本分区
/dev //设备文件。不能单独分区
设备文件 //关联至一个设备驱动程序,进而能够与之对应硬件设备进行通信
块设备 //随机访问,数据块(比如硬盘)
字符设备 //也叫线性设备,线性访问,按字符为单位(比如鼠标、显示器)
设备号 //主设备号(major)和次设备号(minor)
主设备号标识设备类型
次设备号标识同一类型下的不同设备
设备文件只有元数据,没有数据
/etc //配置文件
/home //普通用户的家目录,每一个用户的家目录通常默认为/home/USERNAME。\
//建议单独分区
/root //管理员的家目录。不该单独分区
/lib //库文件
静态库 //.a
动态库 //.dll,.so(shared object)
/lib/modules //内核模块文件
/media //挂载点目录,通常用来挂载移动设备
/mnt //挂载点目录,通常用来挂载额外的临时文件系统,比如另一块硬盘
/opt //可选目录,早期通常用来安装第三方程序
/proc //伪文件系统,内核映射文件(伪文件系统实际上里面是没有任何内容的, \
//开机之后才映射上去的)。不能单独分区
/sys //伪文件系统,跟硬件设备相关的属性映射文件(伪文件系统实际上里面是没有 \
//任何内容的,开机之后才映射上去的)。不能单独分区
/tmp //临时文件,/var/tmp
/var //可变化的文件,比如log、cache。存放日志信息、pid文件、lock文件,\
//建议单独分区
/bin //可执行文件,用户命令
/sbin //管理命令
/usr //shared,read-only,全局共享只读文件。提供操作系统核心功能,可以单独分区
/usr/bin
/usr/sbin
/usr/lib
/usr/local //第三方软件安装路径
/usr/local/bin
/usr/local/sbin
/usr/local/lib
/usr/local/etc
/usr/local/man
/etc,/bin,/sbin,/lib内是系统启动就需要用到的程序,这些目录不能挂载额外的分区,\
必须在根文件系统的分区上
/usr/bin,/usr/sbin,/usr/lib提供操作系统核心功能,/usr可以单独分区
/usr/local/bin,/usr/local/sbin,/usr/local/lib,/usr/local/etc, \
/usr/local/man等等在/usr/local目录下的内容都是第三方软件,建议单独分区
重定向与管道
//系统设定:
默认输入设备 //标准输入,STDIN,0 (键盘)
默认输出设备 //标准输出,STDOUT,1 (显示器)
标准错误输出 //STDERR,2 (显示器)
//I/O重定向:
>:覆盖输出
>>:追加输出
2> //重定向错误输出
2>> //追加重定向错误输出
&> //覆盖重定向标准输出或错误输出至同一个文件
&>> //追加重定向标准输出或错误输出至同一个文件
< //输入重定向
<< //Here Document
管道 //前一个命令的输出,作为后一个命令的输入。最后一个命令会在当前shell进程 \
//的子shell进程中执行
命令1 | 命令2 | 命令3 | ...
tee //从标准输入读取数据,输出一份到屏幕上,一份保存到文件
[root@localhost ~]# echo "hello world" | tee /tmp/hello.out
hello world
[root@localhost ~]# cat /tmp/hello.out
hello world
未完待续......
文章作者
忘情老师
个人简介:10年以上运维行业经验,4年以上教育培训经验;先后担任运维工程师、高级运维工程师、运维主管、高级培训讲师等岗位;具有金融行业大型项目的运维、实施经验;RHCE讲师、大数据应用讲师、Python爬虫讲师、Python运维开发讲师。
行业认证:RHCE、CKA、H3CNE-DataEngine、阿里云大数据ACP、H3CNE-Cloud、新华三大数据讲师
项目经验:
小兵一米六手游项目,涉及技术主要有Nodejs、MySQL、Redis、Nginx等;
Quebee银行间报价系统项目,涉及技术主要有MySQL集群、Redis集群、Canal数据迁移、Tomcat集群、Saltstack等;
AI固收项目,涉及技术主要有阿里云SLB、Nginx、MySQL集群、Jenkins、Gitlab、码云、Docker、Kubernetes等。
讲授课程:RHCSA/RHCE、Linux运维、Python、1+X大数据平台运维
教学理念:原理与实践并重,原理是舟,实践是水,有水无舟或有舟无水均无法渡河,让学生能够入行、就业是唯一的理念。
润天教育简介
润天教育,是北京上市公司——金信润天旗下教育品牌,全心致力于实战型ICT人才培养和输送,是华中地区新华三、华为、思科、锐捷、阿里云、深信服、红帽、甲骨文、云计算、大数据、Linux运维、信息安全、Web前端、Java开发等培训知名品牌。
润天教育优势
知名品牌:上市公司旗下教育品牌,华中地区华为、新华三、思科、锐捷、深信服、红帽、甲骨文等授权培训中心。
实力强劲:国家一级集成商资质,自购1200平米教学区,上百余家IT企业战略合作伙伴。
国际认证:培训技能目标达国际认证水平并考取国际认证证书。
师资力量强:国内知名技术总监亲临课堂,一对一教学。
教学设备全:自购思科、华为、新华三、深信服、锐捷、惠普等上百余台设备用于教学,全面打造实战型IT人才。
零距离上岗:培训课程与IT行业岗位无缝对接,理论与实践完美结合,每位学员都可享受带薪实习,积累项目经验,实现毕业即可上岗。
实战能力强:百余个企业真实项目,等你来参加,提升项目实战能力。
就业渠道广:上千家企业等你来选,高端职位面向毕业学员,随时提供终身猎头服务实现高薪就业。
学期短见效快:不论学历,不论专业,零基础入学,3-6个月改变家庭和人生命运,成就更好的职业生涯。
随到随学:全年招生、每周开班、随到随学。
联系方式:027-87532688
网址:http://www.runtimeedu.com
润天校区列表
培训中心:湖北省武汉市洪山区虎泉街凯乐桂园写字楼A座9楼901-907
实训中心:湖北省武汉市洪山区虎泉街凯乐桂园写字楼A座22楼
武信校区:武汉信息传播职业技术学院云计算技术应用&人工智能技术应用校企共建专业示范基地
昌职校区:武昌职业学院信息安全技术应用校企共建专业示范基地
生态校区:湖北生态工程职业技术学院新华三-金信润天数字技术产业学院
华夏校区:福建华夏高级技工学校计算机网络应用(网络安全&云计算)校企共建专业示范基地
轻工校区:湖北轻工职业技术学院“1+X”大数据平台运维人才培养基地
金领校区:广州市金领技工学校计算机网络应用(网络安全)校企共建专业示范基地
轻化校区:九江华东电子信息学校计算机应用(网络安全)校企共建专业示范基地
软大校区:江西软件职业技术大学信息安全技术应用校企共建专业示范基地
石化校区:陕西省石油化工学校计算机网络技术(网络安全)校企共建专业示范基地
深圳校区:深圳市华夏技工学校计算机网络应用(网络安全&云计算)校企共建专业示范基地
厦门校区:厦门市商贸技术学校计算机网络应用(云计算)校企共建专业示范基地
商贸校区:武汉商贸职业学院网络安全人才培养基地