2021-03-30

前言

  这篇文章是继上一篇linux的补充,主要介绍软件的安装与linux的shell编程。

一、linux入门2

1.软件的安装方式

1.RPM(Redhat Package Manager)红帽包管理方式

通过RPM命令安装软件
	rpm -ivh jdk-7u67-linux-x64.rpm 	(i - install v -过程 h -显示进度)
查询软件
	rpm -qa | grep jdk
	rpm -q jdk	
卸载
	rpm -e jdk-7u67-linux-x64
配置环境变量
vim  etc/profile
	export JAVA_HOME=/usr/java/jdk1.7
	export PATH=$JAVA_HOME/bin:$PATH
重新加载环境
	source /etc/profile	

2.解压安装

tar -xvf package

3.源码安装
4.yum安装
yum是rpm的上层管理工具,自动解决依赖性,而rpm是底层管理工具;yum的使用需要配置yum源;

search 查询命令
yum search jdk:查询包
yum info ntp:查看包信息
yum list :查询多个包

更改yum源

	首先安装wget
		yum install wget -y  (-y 表示默认执行 yes)
	备份原有的yum
		mv /etc/yum.repos.d /etc/yum.repos.d.backup
	设置新的yum源
		mkdir /etc/yum.repos.d
	下载阿里云yum配置
		wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
	清空缓存
		yum clean all
	缓存服务器软件包信息
		yum makecache

2.linux三剑客(用于操作linux中的文件)

文件操作命令

文本切割

cut -d':' -f1,2,3 passwd  -- 用 :切割passwd 取前三列

cut -d':' -f1,2,3 passwd | grep name -- 查找前三列中的 name

在这里插入图片描述排序

sort sxt  --字典序 比较第一位后比较第二位

在这里插入图片描述

sort -t' ' -k2 sxt --用空格切割,以第二列排序 

sort -t' ' -k2 -r sx --逆序

sort -t' ' -k2 -n sx --按数值排序,如果有字母,字母在前

在这里插入图片描述

wc passwd :统计字符数
l:line	w:word	c:char

在这里插入图片描述

2.1 剑客1号

grep:搜索指令

1)可以对文本进行搜素
2)同时搜索多个文件
	grep pssswd sxt 
3)显示匹配的行号
	grep -n passwd sxt
4)显示不匹配 (i -忽略大小写) (v -取反),显示不匹配的
	grep -nvi passwd --color=auto
5)使用正则表达式匹配
	grep -E"[1-9]+" passwd --color=auto

2.2 剑客2号

sed:高级指令 增、删、改 -擅长取行和替换

sed '2a hello' passwd  -- 在第二行增加一条hello

sed '2,5a hello' passwd  -- 在第二行至第五行都增加一条hello

sed '2,+3a hello' passwd  -- 在第二行,到第2+3行增加一条hello

sed 	'm~na hello' passwd

在这里插入图片描述

sed '2i hello' passwd  --打印到控制台

sed -i '2a hello' passwd --直接修改文件

删除

sed '3,10d' passwd

整行替换
	sed '3,20c hello' passwd
	
	sed '3~1c hello' passwd

2.3 剑客3号

awk:用于取列

打印文件第一列:awk -F ‘:’ ‘{print $1}’ passwd

3、find指令

  find指令对于linux文件的查找尤为重要,so好好掌握。

find命令格式:
	find path -option [-print] [-exec   -ok   |xargs  |grep] [command  {} \; ]
	1)path 路径
	2)print:将结果输出到标准输出
	3)exec:对匹配的文件执行该参数所给出的shell命令。 
      形式为command {} \;,注意{}与\;之间有空格 
    4)ok:与exec作用相同,
      区别在于,在执行命令之前,都会给出提示,让用户确认是否执行 
     5)|xargs  与exec作用相同 ,起承接作用
	  区别在于 |xargs 主要用于承接删除操作 ,而 -exec 都可用 如复制、移动、重命名等
	 6) options :表示查找方式
options常用的有以下选项:
-name   filename                  #查找名为filename的文件
-perm                             #按执行权限来查找
-user    username                 #按文件属主来查找
-group groupname                  #按组来查找
-mtime   -n +n                    #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime    -n +n                   #按文件访问时间来查找文件,-n指n天以内,+n指n天以前
-ctime    -n +n                   #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-nogroup                          #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser                            #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-type    b/d/c/p/l/f               #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size      n[c]                    #查长度为n块[或n字节]的文件
-mount                             #查文件时不跨越文件系统mount点
-follow                            #如果遇到符号链接文件,就跟踪链接所指的文件
-prune                             #忽略某个目录
1、根据名称查找  
	find -name "pass*" --查找以"pass"开头的文件
	find -name "*.txt": --查找以".txt"结尾的文件
2、根据权限查找
	find -perm 664
3、根据用户查找
	find -user root
4、根据组查找
	find -group root
5、查询n天内修改过的文件
	find -mtime -n
查询n天内访问为的文件
	find -atime -n	
查询n天内创建的文件
	find -ctime -n -ls
time 可以修改为min 表示的是分钟	
	
6、无属组文件
	find -nouser
	find -nogroup
7、查找当前目录下的目录/块设备/字符设备/链接文件/管道文件/普通文件 
	find -type b/d/c/l/p/f 
8、查询大小为输入大小字节的文件,下面是我先用“ll”指令先获取一个确定的文件的大小,然后再查找。
	find -size 49c
9、表示最多查找的层数为2
	find -name file -maxdepth 2 
10、查找空白文件、空白文件夹、没有子目录的文件夹 
	find -empty 

二、Linux的shell编程

1.名词解释

Kernel
	Linux内核主要为了和硬件交互
Shell
	Shell是一个用c语言编写的程序,它是用户使用linux的桥梁。
	Shell及时一种命令语言,又是一种设计语言。
	Shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操		作系统内核的服务。
Shell环境
	需要一个可以编写代码的的文本编辑器和解释执行的脚本解释器
	Bourne Shell (/usr/bin/sh 或 /bin/sh)
	Bounre Again Shell(/bin/bash) 默认
	C Shell (/usr/bin/csh)
#! 声明
	告诉系统其后路径所指定的程序及时解释此脚本文件的Shell程序	

2.执行Shell的方式

./hello.sh --需要设置可执行权限 (即必须是一个可执行文件) 启动后会开启一个子进程执行脚本 上级进程ppid = 1

sh hello.sh  -- 执行的可以是一个普通文本

source hello.sh  --直接在当前进程执行脚本

三、linxu程序的开机自启动

1、方法一:修改/etc/rc.local
/etc/rc.local 为一个链接文件 -->/etc/rc.d/rc.local

[root@iZuf6gptd6bqap891v21cdZ ~]# ll /etc/rc.local
lrwxrwxrwx 1 root root 13 Mar 27 15:09 /etc/rc.local -> rc.d/rc.local

编写可执行文件,将脚本决定路径写入文件rc.local
修改rc.local 为可执行文件
在这里插入图片描述2、方法二:chkconfig
编写开机自启动脚本

vim ntpdate.sh
#! /bin/bash
#开机自动动同步时间
yum info ntp && ntpdate cn.ntp.org.cn

设置脚本可执行权限

chmod u+x ntpdate.sh

将脚本拷贝到/etc/init.d目录下

cp ntpdate.sh /etc/init.d

添加到服务,重启计算机

chkconfig --add /etc/init.d/ntpdate.sh

查看开机自启动服务

chkconfig --list

在这里插入图片描述关闭开机自动动

chkconfig ntpdate off
chkconfig --del ntpdate   --移除脚本 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值