linux系统服务学习(一)Linux高级命令扩展

文章目录

  • Linux高级命令(扩展)
  • 一、find命令
    • 1、find命令作用
    • 2、基本语法
    • 3、*星号通配符
    • 4、根据文件修改时间搜索文件
      • ☆ 聊一下Windows中的文件时间概念?
      • ☆ 使用stat命令获取文件的最后修改时间
      • ☆ 创建文件时设置修改时间以及修改文件的修改时间
      • ☆ 根据文件的==最后修改时间==搜索文件
    • 5、扩展选项-exec选项
    • 6、根据文件的大小搜索文件
    • 7、dd扩展命令
  • 二、tree命令
    • 1、tree命令的主要作用
    • 2、使用yum命令安装tree
    • 3、以树状结构显示路径下的文件信息
  • 三、scp命令
    • 1、scp命令的主要作用
    • 2、scp效果
    • 3、下载文件或目录
    • 4、上传文件或目录
  • 四、计划任务+tar命令实现文件备份
    • 1、回顾计划任务
    • 2、计划任务格式
    • 3、案例
    • 4、扩展命令:date
  • Linux高级命令(扩展)
  • 一、date命令
    • 1、date命令的作用
    • 2、获取计算机的系统时间
    • 3、定制时间格式
    • 4、设置计算机的系统时间(慎用)
    • 5、ntpdate手工同步时间
  • 二、Linux下软件的安装方式
    • 1、Linux下有哪些软件安装方式
    • 2、软件包类型
      • ☆ 二进制软件包(rpm包)
      • ☆ 软件源码包(重点)
      • ☆ 二进制源码包(.src.rpm)
    • 3、常见的二进制软件包
    • 4、总结二进制包和源码包区别
    • 5、二进制软件包的安装方式
    • 6、RPM软件包安装
      • ☆ 获取软件
      • ☆ 如何选择合适的软件
      • ☆ rpm软件包的安装、卸载以及升级

Linux高级命令(扩展)

一、find命令

1、find命令作用

在Linux操作系统中,find命令主要用于进行文件的搜索。

2、基本语法

# find 搜索路径 [选项 选项的值] ...
选项说明:
-name :根据文件的名称搜索文件,支持*通配符
-type :f代表普通文件、d代表文件夹

案例:搜索计算机中的所有文件,然后找到httpd.conf文件

# find /etc -name "httpd.conf" -type f

3、*星号通配符

在Linux操作系统中,我们想要查找的文件名称不是特别清晰(只记住了前面或后面的字符),这个时候就可以使用*星号通配符了。

案例:获取/etc目录下,所有后缀名为.conf的文件信息

# find /etc -name "*.conf" -type f

案例:在/etc目录下,搜索所有以httpd开头的文件

# find /etc -name "httpd*" -type f

4、根据文件修改时间搜索文件

☆ 聊一下Windows中的文件时间概念?

创建时间:代表这个文件什么时间被创建

访问时间:代表这个文件什么时间被访问

修改时间:代表这个文件什么时间被修改

☆ 使用stat命令获取文件的最后修改时间

# stat 文件名称
Modify: 2020-03-31 10:25:20.609010605 +0800

☆ 创建文件时设置修改时间以及修改文件的修改时间

基本语法:

# touch -m -d "日期时间格式" 文件名称

作用:① 如果文件不存在,则自动创建该文件,然后设置其最后的修改时间

​ ② 如果文件存在,touch命令就是只修改文件的最后修改时间

案例:创建一个a.txt文件,设置最后修改时间为2020-03-30 00:00

# touch -m -d "2020-03-30 00:00" a.txt

案例:创建一个b.txt文件,然后在设置文件的最后修改时间为2020-03-29 00:00

# touch b.txt
# touch -m -d "2020-03-29 00:00" b.txt

案例:创建一个c.txt文件,设置最后修改时间为2020-03-28 00:00

# touch -m -d "2020-03-28 00:00" c.txt

☆ 根据文件的最后修改时间搜索文件

# find 搜索路径 -mtime +days/-day3
-mtime :根据文件的最后修改时间搜索文件
+ :加号,代表搜索几天之前的文件信息
- :减号,代表搜索几天以内的文件信息

案例:搜索3天以前的文件信息(不包含第3天的,而且只搜索.txt格式)

# find ./ -name "*.txt" -mtime +3

案例:搜索3天以内的文件信息(只搜索.txt格式)

# find ./ -name "*.txt" -mtime -3

5、扩展选项-exec选项

案例:删除Linux系统中/var/log目录下10天以前的日志信息(日志文件格式*.log结尾)

# find /var/log -name "*.log" -mtime +10

第一种解决方案:使用管道命令|

# find /var/log -name "*.log" -mtime +10 |rm -rf

以上命令并不能正确的执行删除操作,原因find命令不支持管道。

# find /var/log -name "*.log" -mtime +10 |xargs rm -rf

第二种解决方案:使用find命令 + -exec选项

基本语法:

# find /var/log -name "*.log" -mtime +10 -exec rm -rf {} \;

6、根据文件的大小搜索文件

基本语法:

# find 搜索路径 -size [文件大小,常用单位:k,M,G]
size值  : 搜索等于size值大小的文件
-size值 : [0, size值)
+size值 : (size值,正无穷大)

案例:搜索/root目录下大小为5M的文件信息

# find ./ -type f -size 5M

案例:搜索/root目录下大小为5M以内的文件信息(5M>size>=0)

# find ./ -type f -size -5M

案例:搜索/目录中,文件大小大于100M的文件信息(size>100M)

# find / -type f -size +100M

7、dd扩展命令

基本语法:

# dd if=/dev/zero of=文件名称 bs=1M count=1
选项说明:
if代表输入文件
of代表输出文件
bs代表字节为单位的块大小。
count代表被复制的块。
其中/dev/zero是一个字符设备,会不断返回0值字节。

主要功能:在Linux操作系统中,生成某个大小的测试文件!

案例:使用dd创建一个1M大小的sun.txt文件

# dd if=/dev/zero of=moon.txt bs=1M count=1

案例:使用dd创建一个5M大小的moon.txt文件

# dd if=/dev/zero of=moon.txt bs=5M count=1

if = input file
of = output file

二、tree命令

1、tree命令的主要作用

Windows和Linux都有tree命令,主要功能是创建文件列表,将所有文件以树的形式列出来

2、使用yum命令安装tree

# yum install tree -y

3、以树状结构显示路径下的文件信息

案例:以树状结构显示当前目录下的文件信息

# tree 

案例:以树状结构显示/var/log目录下的文件信息

# tree /var/log

三、scp命令

1、scp命令的主要作用

scp命令的主要作用是实现Linux与Linux系统之间的文件传输。

完成以上实战需要两个Linux系统,解决方案可以使用克隆操作(先关机后克隆)快速生成一个Linux系统

2、scp效果

scp传输要求:两台计算机所使用的操作系统都必须是Linux操作系统。

ssh: connect to host 10.1.1.17 port 22: Connection refused
lost connection

出现以上问题的主要原因在于SCP命令时基于SSH协议,所以两台服务器的sshd服务必须处于开启状态,否则无法完成上传与下载操作。

3、下载文件或目录

基本语法:

# scp [选项] 用户名@linux主机地址:资源路径  linux本地文件路径
选项说明:
-r :代表递归操作,主要针对文件夹

案例:从10.1.1.17服务器下载/root路径下的video.mp4文件到本地的/root目录下

10.1.1.16:

# scp root@10.1.1.17:/root/video.mp4 ./
The authenticity of host '10.1.1.17 (10.1.1.17)' can't be established.
ECDSA key fingerprint is SHA256:Wcxibo2ZQulm6bV+jEakz8IniwFgE6CUHopCxYjexrI.
ECDSA key fingerprint is MD5:48:25:21:93:ef:2b:22:25:5f:95:39:56:0c:8e:ff:75.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.1.1.17' (ECDSA) to the list of known hosts.
root@10.1.1.17's password:123456

案例:从10.1.1.17服务器下载/root路径下的shop文件夹到本地的/root目录下

# scp -r root@10.1.1.17:/root/shop ./
root@10.1.1.17's password:123456

4、上传文件或目录

基本语法:

# scp [选项] linux本地文件路径 用户名@linux主机地址:远程路径
选项说明:
-r :递归操作

案例:把10.1.1.16服务器上的/root/video.mp4上传到10.1.1.17服务器的/root目录下

10.1.1.16:

# scp /root/video.mp4 root@10.1.1.17:/root/

案例:把10.1.1.16服务器上的/root/shop文件夹上传到10.1.1.17服务器的/root目录下

10.1.1.16:

# scp -r /root/shop root@10.1.1.17:/root/

四、计划任务+tar命令实现文件备份

1、回顾计划任务

基本语法:

# crontab [选项]
-l : list缩写,查询当前用户的计划任务信息
-e : edit缩写,编辑计划任务

2、计划任务格式

分 时 日 月 周 执行的命令(要求使用完整路径,which命令)

在这里插入图片描述

周的范围比较特殊,正常情况下,只有周一 ~ 周日 1-7,但是计划任务范围0-7,0和7都代表周日

3、案例

案例:每天的凌晨2点0分把/etc目录备份一次/tmp目录下,要求把/etc打包成etc.tar.gz格式

# crontab -e
分 时 日 月 周 /usr/bin/tar -zcf /tmp/etc.tar.gz /etc
0 2 * * * /usr/bin/tar -zcf /tmp/etc.tar.gz /etc

以上案例虽然可以实现对/etc目录的备份,但是有一个小缺点:每次备份时,生成的文件名称是一致的,这样后面备份的文件就会把前面备份的文件进行覆盖!

案例:备份文件时,要求按时间作为备份文件的名称

/tmp/etc-20200331.tar.gz

/tmp/etc-20200401.tar.gz

# crontab -e
0 2 * * * /usr/bin/tar -zcf /tmp/etc-$(date +"\%Y\%m\%d").tar.gz	/etc

重点:
/tmp/etc-$(date +"\%Y\%m\%d").tar.gz

经验之谈:如果在编写计划任务时,出现了%百分号,前面必须添加一个反斜杠\进行转义,否则计划任务会失效!

4、扩展命令:date

基本语法:

# date +"时间格式"
%F : 年--%T : 小时:分钟:秒
%Y : Year,%m : month,%d : day,%H : Hour,小时
%M : Minute,分钟
%S : Second,

案例:获取计算机的系统时间

# date

案例:获取年月日信息

# date +""

Linux高级命令(扩展)

一、date命令

1、date命令的作用

date命令的主要作用:用于获取计算机操作系统的系统时间

2、获取计算机的系统时间

# date

3、定制时间格式

# date +"%F %T %Y %m %d %H %M %S"
%F : 2020-04-03
%T : 09:45:36
%Y : 年
%m : 月
%d : 日
%H : 小时
%M : 分钟
%S : 秒

案例:获取系统时间,时间格式要求20200403

# date +"%Y%m%d"

4、设置计算机的系统时间(慎用)

基本语法:

# date -s "年-月-日 小时:分钟:秒"

案例:把当前系统时间设置为2020-04-10

# date -s "2020-04-10"

5、ntpdate手工同步时间

如果时间错乱了,没有关系,只需要使用ntpdate手工重置一下即可。

# ntpdate cn.ntp.org.cn

二、Linux下软件的安装方式

1、Linux下有哪些软件安装方式

① RPM软件包管理(软件名称.rpm)

② YUM软件包管理(使用yum命令install + 软件名称) => 下载 + 安装一体化

③ 源码编译安装(相对来说是最复杂的一种方式)

2、软件包类型

☆ 二进制软件包(rpm包)

在这里插入图片描述

  1. 二进制包,指的是已经[^编译]好了的软件包,只需要直接安装就可以使用。
  2. 二进制包,不需要编译,直接下载安装即可
  3. 二进制包,需要根据自己的计算机CPU以及操作系统去选择合适

类似Windows中的.exe文件,如qq.exe

☆ 软件源码包(重点)

什么是源码包?有什么特点?

  1. 源码包,指的是程序员写的原始的程序代码文件不能直接在计算机上运行
  2. 源码包,需要进行编译,变成二进制的软件包后,才可安装使用
  3. 源码包,一般可以在任何的计算机上安装使用
  4. 源码包,命名方式一般为:
    • 软件包名.tar.gz
    • 软件包名.tar.bz2
    • 软件包名.tar.xz
    • 软件包名.zip

类似于腾讯QQ开发工程师 => QQ的源代码发给你了 .c => 编译 => QQ.exe文件

☆ 二进制源码包(.src.rpm)

什么是二进制源码包?有什么特点?

  1. 二进制源码包,是一个半成品,安装后不能直接使用
  2. 二进制源码包,需要使用rpmbuild工具重建成真正的rpm包或者重建成源码包才可安装使用
  3. 二进制源码包,命名方式一般为:
    • mysql-community-5.7.25-1.el6.==src.==rpm
    • mysql-community-5.7.25-1.el7.src.rpm

3、常见的二进制软件包

在这里插入图片描述

4、总结二进制包和源码包区别

在这里插入图片描述

5、二进制软件包的安装方式

① 基于RPM进行安装(先下载软件然后本地进行安装)

② 基于YUM进行安装(在线下载然后安装)

6、RPM软件包安装

☆ 获取软件

Linux只是内核,Linux发行版本:GNU/Linux

  1. RedHat/Centos光盘或官方网站 ftp://ftp.redhat.com
  2. 推荐网站
    • www.rpmfind.net
    • rpm.pbone.net
  3. 相应软件官方网站
    • http://www.mysql.com
    • http://nginx.org/packages/

☆ 如何选择合适的软件

  1. 选择适合当前系统的版本号
    • 找不到适合的,才去尝试别的系统版本号
    • el6兼容el5;el5无法安装 el6
  2. 选择适合当前计算机cpu的架构
    • x86_64包,只能安装在64位的系统上
    • i386,i586,i686的软件包可以安装在32和64位系统上
    • noarch表示这个软件包与硬件构架无关,可以通用
    • 32位系统不能安装64位包

建议: 建议不要跨大版本号去安装软件包,尽量使用当前系统版本自带软件包安装

☆ rpm软件包的安装、卸载以及升级

安装:

# rpm -ivh 软件包名称

卸载:

# rpm -e 软件包名称 [--nodeps强制]

查询:

# rpm -q 软件名称# rpm -qa |grep 软件名称

升级:

# rpm -Uvh 软件包名称

注:rpm -Uvh不仅可以升级软件,其实它也可以安装软件。

RPM包管理:以上操作都比较简单,但是在实际应用过程中,可能会遇到问题,很多rpm软件包在安装时都会提示软件依赖。那这个问题如何解决呢?

方法一:根据提示一个一个软件包安装,先解决依赖在回来安装软件

方法二:使用yum install 安装rpm软件包

# yum install 软件名称.rpm

以上安装方式的最大好处是,如果安装软件时,产生了依赖,不用担心,yum会自动帮助我们解决这些问题的!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/74529.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

物联网和不断发展的ITSM

物联网将改变社会,整个技术行业关于对机器连接都通过嵌入式传感器、软件和收集和交换数据的电子设备每天都在更新中。Gartner 预测,全球将有4亿台互联设备投入使用。 无论企业采用物联网的速度如何,连接设备都将成为新常态,IT服务…

Java版企业电子招标采购系统源码—企业战略布局下的采购寻源tbms

​ 项目说明 随着公司的快速发展,企业人员和经营规模不断壮大,公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境,最大限度控制采购成本至关重要。符合国家电子招投标法律法规及相关规范,以…

LabVIEW使用边缘检测技术实现彩色图像隐写术

LabVIEW使用边缘检测技术实现彩色图像隐写术 隐写术是隐藏信息的做法,以隐瞒通信的存在而闻名。该技术涉及在适当的载体(如图像,音频或视频)中插入秘密消息。在这些载体中,数字图像因其在互联网上的广泛使用而受到青睐…

Leetcode-每日一题【剑指 Offer 31. 栈的压入、弹出序列】

题目 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列&#xf…

Postgresql 基础使用语法

1.数据类型 1.数字类型 类型 长度 说明 范围 与其他db比较 Smallint 2字节 小范围整数类型 32768到32767 integer 4字节 整数类型 2147483648到2147483647 bigint 8字节 大范围整数类型 -9233203685477808到9223203685477807 decimal 可变 用户指定 精度小…

前端基础(二)

前言:前端开发框架——Vue框架学习。 准备工作:添加Vue devtools扩展工具 具体可查看下面的这篇博客 添加vue devtools扩展工具添加后F12不显示Vue图标_MRJJ_9的博客-CSDN博客 Vue官方学习文档 Vue.js - 渐进式 JavaScript 框架 | Vue.js MVVM M…

基于dbn+svr的交通流量预测,dbn详细原理

目录 背影 DBN神经网络的原理 DBN神经网络的定义 受限玻尔兹曼机(RBM) DBN+SVR的交通流量预测 基本结构 主要参数 数据 MATALB代码 结果图 展望 背影 DBN是一种深度学习神经网络,拥有提取特征,非监督学习的能力,是一种非常好的分类算法,本文将DBN+SVR用于交通流量预测…

86. 分隔链表

86. 分隔链表 题目-中等难度示例1. 新建两链表,根据x值分类存放,最后合并 题目-中等难度 给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你应当 保…

verilog学习笔记5——进制和码制、原码/反码/补码

文章目录 前言一、进制转换1、十进制转二进制2、二进制转十进制3、二进制乘除法 二、原码、反码、补码1、由补码计算十进制数2、计算某个负数的补码 前言 2023.8.13 天气晴 一、进制转换 1、十进制转二进制 整数:除以2,余数倒着写 小数:乘…

redis数据类型详解+实例

redis中的数据类型: string,list, set, zset, hash,bitmaps, hyperloglog, gepspatial 目录 一、 String 二、List 三、Set 四、Zset 五、Hash 六、Bitmaps 七、Hyperloglog 八、Gepspatial 一、 String redis最基本的数据类型,一个…

超级品牌,都在打造数据飞轮

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 引入 「收钱吧到账15元。」 从北京大栅栏的糖葫芦铺子,到南京夫子庙的鸭血粉丝汤馆,再到广州珠江畔的早茶店,不知不觉间&#xf…

腾讯云国际站代充-阿里云ECS怎么一键迁移到腾讯云cvm?

今天主要来介绍一下如何通过阿里云国际ECS控制台一键迁移至腾讯云国际CVM。腾讯云国际站云服务器CVM提供全面广泛的服务内容。无-需-绑-定PayPal,代-充-值腾讯云国际站、阿里云国际站、AWS亚马逊云、GCP谷歌云,官方授权经销商!靠谱&#xff0…

白帽黑帽与linux安全操作

目录 白帽黑帽 Linux安全 白帽黑帽 白帽(White Hat)和黑帽(Black Hat)通常用于描述计算机安全领域中的两种不同角色。白帽黑客通常被认为是合法的安全专家,他们通过合法途径寻找和修复安全漏洞,帮助企业和…

使用路由器更改设备IP_跨网段连接PLC

在一些设备IP已经固定,但是需要采集此设备的数据,需要用到跨网段采集 1、将路由器WAN(外网拨号口)设置为静态IP 2、设置DMZ主机,把DMZ主机地址设置成跨网段的PLC地址 DMZ主机 基本信息. DMZ (Demilitarized Zone)即俗称的非军事区&#xff0…

第5章:神经网络

神经元模型 上述定义的简单单元即为神经元模型。 多层网络 误差逆传播算法 标准BP算法:参数更新非常频繁,可能出现抵消现象。积累BP算法:下降到一定程度上,进行下一步会非常缓慢。 过拟合 早停:划分训练集和验证集…

小视频AI智能分析系统解决方案

2022下半年一个项目,我司研发一个基于接收小视频录像文件和图片进行算法分析抓拍的系统,整理了一下主要思想如下: 采用C开发一个AI识别服务,该服务具有如下功能: 创建各类算法模型服务引擎池,每类池内可加载多个模型…

TCP消息传输可靠性保证

TCP链接与断开 -- 三次握手&四次挥手 三次握手 TCP 提供面向有连接的通信传输。面向有连接是指在数据通信开始之前先做好两端之间的准备工作。 所谓三次握手是指建立一个 TCP 连接时需要客户端和服务器端总共发送三个包以确认连接的建立。在socket编程中,这一…

计算机组成原理之地址映射

例1:某计算机主存容量256MB,按字编址,字长1B,块大小32B,Cache容量512KB。对如下的直接映射方式、4-路组相联映射方式、全相联映射方式的内存地址格式,求: (1)计算A、B、C…

05 - 研究 .git 目录

查看所有文章链接:(更新中)GIT常用场景- 目录 文章目录 1. HEAD2. config3. refs4. objects 1. HEAD 2. config 3. refs 4. objects Git对象一共有三种:数据对象 blob、树对象 tree以及提交对象 commit,这些对象都被保…

详谈数据库InnoDB引擎与MyISAM引擎

目录 1. 简单了解什么是存储引擎? 2. InnoDB 引擎概述 3. MyISAM 引擎概述 4. InnoDB 与 MyISAM 的一些区别 1. 简单了解什么是存储引擎? 相信很多人在听到存储引擎这个名字的时候可能会有些疑惑,听着名字就觉得有些难,导致很多人没有兴趣了解它&a…
最新文章