Linux高级命令(扩展)三

news2024/11/25 0:57:13

一、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

二、普通权限rwx

1、rwx对文件的影响

☆ r对文件的影响

  • 针对==目录==

    一个目录拥有r权限,说明可以查看该==目录里的内容==(ls命令列出)

  • 针对==普通文件==

    一个普通文件拥有r权限,说明可以查看该==文件的内容==(cat/head/tail/less/more等命令查看)

  • 读权限==r==(read)用数字表示是==4==

☆ w对文件的影响

  • 针对==目录==

    一个目录拥有w权限,说明可以在该目录里==创建、删除、重命名==等操作(mkdir/touch/mv/rm等)

  • 针对==普通文件==

    一个普通文件拥有w权限,说明可以==修改==该==文件的内容==(vi/vim编辑器编辑文件)

  • 写权限==w==(write)用数字表示是==2==

如果我们想在Linux系统中删除某个文件,不是看这个文件有什么权限,而是要看这个文件所处的上级目录是否具有w权限。

☆ x对文件的影响

  • 针对==目录==

    一个目录拥有x权限,说明可以==进入或切换到==该目录里(cd命令)

  • 针对==普通文件==

    一个普通文件拥有x权限,说明可以==执行==该文件(一般程序文件、脚本文件、命令都需要执行权限)

    shell.sh => 类似Windows中的exe文件

  • 执行权限==x==(execute)用数字表示是==1==

2、图解常见操作权限

/

/dir1 /dir2

/dir1/file1

3、用户身份

U : user,代表文件的拥有者(默认为文件的创建者)

G :group,与文件所属组同组的用户(组内用户)

O :other,既不是拥有者,也不是所属组内的用户,这些用户就称之为其他用户

a = UGO,代表所有用户

4、如何判断不同身份的用户对文件的权限

基本语法:

# ls -l
或
# ll
​
注:ll代表红帽以及CentOS系统专有的一个命令,等价于ls -l。但是其他系统可能并不支持

5、权限的设置(重点)

① 字母方式(ugo + rwx)

② 数字方式(4 2 1)

基本语法:

# chmod [选项] 字母形式或数字形式 文件名称
选项说明:
-R : 递归设置,针对文件家(目录)

☆ 字母形式(三步走)

第一步:确认给谁设置权限(u,g,o,ugo=a)

第二步:怎么设置权限(+, -, =)

第三步:授予什么样的权限(r,w,x)

案例:给readme.txt设置权限,要求文件拥有者rwx权限,所属组内用户rw,其他用户r权限

# chmod u=rwx,g=rw,o=r readme.txt

☆ 数字形式(421)

read = 4

write = 2

execute = 1

777

644

755

7 = 4 + 2 + 1 = r + w + x = rwx

6 = 4 + 2 = rw

5 = 4 + 1 = rx

案例:设置shop文件夹权限为777(所有拥有都拥有rwx)

# chmod -R 777 shop

==6、练习题==

  1. 创建5个用户user01~user05和一个admin组

  2. 将user01~user03用户加入到admin组里

  3. user01用户在其家目录里创建file1~file3三个文件

  4. user02用户编辑/home/user01/file1文件的内容:good good study,day day up!

  5. user05用户往/home/user01/file1文件里追加内容:I known

  6. user04用删除/home/user01家目录的所有文件

三、高级权限

1、在Linux系统中有哪些高级权限

① 冒险位(u + s) => S

  • 冒险位,指文件操作者(用户)==临时拥有==文件==拥有者==的权限

  • 冒险位,一般针对的是==命令==或者==脚本文件==

  • 冒险位,用字母表示是==s或S==;数字表示是==4==

  • 冒险位的设置:chmod u+s 文件名或者chmod 4xxx 文件名

主要针对可执行的二进制文件,如/usr/bin/passwd文件

② 强制位(g + s)

  • 强制位,一般针对的是==目录==

    如果一个目录拥有强制位,那么==任何用户==在该目录里所创建的任何文件的==属组==都会继承==该目录的属组==。

  • 强制位,用字母表示是==s或S==;数字表示是==2==

  • 强制位的设置:chmod g+s 文件名或者chmod 2xxx 文件名

主要针对目录进行设置,比如shop目录,文件拥有者root,所属组itheima,g+s

这样以后我们在shop目录下创建的所有文件的所属组都会继承shop文件夹的itheima

③ 粘滞位(o + t) => T

  • 粘滞位,一般针对的是==公共目录==

    如果一个公共目录拥有粘滞位,那么该目录下的文件,只有==root==和==文件的创建==者可以删除,其他人只能自己管理自己。(A用户不能删除B用户创建的文件)

  • 粘滞位,用字母表示是==t或T==;数字表示是==1==

  • 粘滞位的设置:chmod o+t 文件名或者chmod 1xxx 文件名

四、默认权限(了解)

1、什么是文件的默认权限

所谓文件的默认权限(遮罩权限),是指用户创建文件后,==文件天生==就有的权限,不需要设置。

2、文件默认权限由谁控制

文件默认权限由一个叫做==umask==的东西来控制。

3、文件或目录的最高权限

目录:最高权限0777,简写就是777

文件:最高权限0666,简写就是666

默认目录权限 = 0777 - umask

默认文件权限 = 0666 - umask

4、获取umask值

# umask

默认umask值,root账号0022

5、临时或永久更改umask值(慎用,只了解)

☆ 临时设置umask值

# umask 0002
只在当前终端当前进程中有效

☆ 永久设置umask值(写入系统配置)

配置文件说明:

全局配置文件(针对所有用户所有进程) =>  针对所有用户有效
/etc/profile
系统和用户的环境变量信息,当用户第一次登录时,该文件被读取
/etc/bashrc
每个运行的bash信息(系统别名、函数及默认权限的定义),当bash被打开时,该文件被读取
​
局部配置文件(针对某个特定用户以及用户的所有进程)   =>  针对当前用户有效
~/.bashrc
当前用户的bash信息,当用户登录和每次打开新的shell时该文件被读取
~/.bash_profile
当前用户的环境变量,当用户登录时,该文件被读取
~/.bash_history
保存当前用户历史命令的文件
~/.bash_logout
当用户退出bash或者终端时,会首先执行该文件里的代码,然后再退出

案例:更改umask值,针对所有用户有效,umask值设置为0002

# vim /etc/bashrc
...
umask 0002
​
# source /etc/bashrc   =>   让umask值立即生效

案例:更改umask值,只针对itheima用户有效,umask值设置为0002

# su - itheima
[itheima@localhost ~] # vim ~/.bashrc
...
umask 0002

五、更改文件的拥有者以及所属组

1、什么是拥有者什么是所属组

2、更改文件的拥有者与所属组

有些软件或程序要求比较特殊,其如果想正常运行,拥有者与所属组必须是某个值。

如mysql数据库,其要求系统中必须有一个mysql的系统账号,而且要求其安装目录的文件拥有者以及所属组都必须是mysql

3、chown更改文件拥有者

# chown [选项] 新文件拥有者 文件名称
选项说明:
-R :递归设置,主要针对文件夹

4、chgrp更改文件的所属组

# chgrp [选项] 新文件所属组 文件名称
选项说明:
-R :递归设置,主要针对文件夹

5、chown同时修改文件属主以及属组

# chown [选项] 新的文件拥有者:新的文件所属组 文件名称
# chown [选项] 新的文件拥有者.新的文件所属组 文件名称
​
选项说明:
-R :递归设置,主要针对文件夹

六、ACL访问权限控制(扩展)

1、ACL能做什么

  1. ACL访问控制策略可以作为前面所讲==权限的补充==,==更加细==的来控制文件的权限

  2. ACL策略可以==只针对某个用户==在文件上有相应权限

  3. ACL策略也可以==只针对多个用户或者一个组==里的所有用户在文件上有相应权限

2、getfacl

基本语法:

# getfacl = get + file + acl => 获取某个文件的ACL权限

案例:获取readme.txt文件的ACL权限

# getfacl readme.txt

3、setfacl

常用选项:
-m 修改或者设置ACL策略
-R 递归授权,对目录下已存在的目录或文件有acl策略,但新建的文件没有
-x 去掉某个用户或者某个组的权限
-b 删除所有的acl策略
-d 默认ACL策略,只针对目录,该目录下新建的目录和文件都会继承acl策略
mask: 定义除其他人和所有者外的最大权限

案例:修改readme.txt文件的ACL权限(给itheima这个账号开通rw权限)

# setfacl -m u:itheima:rw readme.txt
​
u代表user
itheima代表具体的某个用户
rw代表权限

案例:修改shop文件夹的ACL权限(给itheima组开通rwx权限)

# setfacl -R -m g:itheima:rwx shop
​
g代表group
itheima代表具体的某个用户组名称
rwx代表用户组权限

案例:删除某个用户权限

# setfacl -x u:itheima readme.txt

案例:删除所有的ACL权限

# setfacl -b readme.txt

七、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. 相应软件官方网站

    • MySQL

    • Index of /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会自动帮助我们解决这些问题的!

7、源码安装

☆ 获取软件的源码包

可以去某个软件的官网获取,官网一般摆放的都是源码包*.tar.gz

☆ 源码安装三步走

① 配置./configure(配置软件安装路径,也可以不配置,不配置使用默认路径)

② 编译make(把软件的源代码做成类似rpm的可以直接按照的软件)

③ 安装make install(把刚才编译好的程序进行安装到Linux系统)

☆ 使用源码安装安装cmatrix代码雨

第一步:对软件进行解压缩

# tar -zxf cmatrix-1.2a.tar.gz

# tar xf cmatrix-1.2a.tar.gz,因为默认解压都是使用gzip工具

第二步:进入到cmatrix文件夹,然后对软件进行配置

# cd cmatrix-1.2a
# ./configure       =>  设置软件默认安装的位置等信息

第三步:编译软件,使用make命令

# make

常见错误:

cmatrix.c:37:20: fatal error: curses.h: No such file or directory
出现以上问题的主要原因在于系统中没有找到ncurses-devel软件包

解决方案:

# yum install gcc gcc-c++ ncurses-devel -y

第四步:安装软件

# make install

总结:

进入解压后的软件目录 => ./configure => make => make install

☆ 测试代码雨效果

# cmatrix

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

这个超实用的门禁技巧,让办公楼安全更简单高效!

门禁监控是现代社会中不可或缺的一部分,用于确保安全和管理进出某个区域的人员。随着科技的不断发展,门禁监控已经远离了传统的机械锁和钥匙,变得更加智能化和高效。 客户案例 企业办公大楼 无锡某大型企业在其办公大楼内部部署了泛地缘科技…

【机器学习 | PipeLine】机器学习通用管道最佳实践!!(无论什么问题都能套上,确定不来看看?)

🤵‍♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…

任正非说:只有“有为”才会“有位”,任何组织只有在流程中创造价值,才可能获得成长的机会。

你好!这是华研荟【任正非说】系列的第28篇文章,让我们聆听任正非先生的真知灼见,学习华为的管理思想和管理理念。 一、所有一切要符合未来的作战需要,组织是为了作战而存在的,而不是作战服从组织的。 来源于任正非先生…

RK-3399pro 萤火虫firefly 官方unbuntu 固件系统安装搜狗中文输入法

RK-3399pro 萤火虫firefly 官方unbuntu 固件系统安装搜狗输入法(适用于所有基于Ubuntu的UI桌面系统) 一、添加中文语言支持输入法平台fcitx 1.安装fcitx sudo apt-get install fcitx 2.然后设置fcitx为开机自启动 sudo cp /usr/share/applications/fc…

Python进阶之推导式与生成器

文章目录 一、推导式1.列表推导式2.字典推导式3.集合推导式4.元组推导式(生成器推导式) 二、生成器1.生成器表达式2.生成器函数3.send函数 结束语 💂 个人主页:风间琉璃🤟 版权: 本文由【风间琉璃】原创、在CSDN首发、需要转载请联…

【数智化人物展】华院计算董事长、创始人宣晓华:通用大模型只是起点,尚需结合专业知识方能解决行业核心问题...

宣晓华 本文由华院计算董事长、创始人宣晓华投递并参与《2023中国企业数智化转型升级先锋人物》榜单/奖项评选。 大数据产业创新服务媒体 ——聚焦数据 改变商业 大模型的出现,正在开启着国内新一轮AI热潮。 某种程度上,真正在当下决定企业成败的&#…

22款奔驰S400L升级原厂 360全景影像 高清环绕的视野

您是否经历过这种场面呢? 停车位,狭窄障碍停车困难 避免盲区,倒车盲区危及生命安全 狭窄路段,无法判断是否安全通过 视角盲区,小孩站在视野盲区看不到 360度无缝3D全车可见,解决各个视角盲区&#xff…

开发一款直播弹幕游戏需要多少钱?

开发一款直播弹幕游戏需要多少钱?有好多朋友在咨询过弹幕游戏的开发价格后,都会比较吃惊,一款体量这么小的游戏为什么动辄就要几万块甚至十几万? 我来给你们说分析一下原因,这种游戏如果脱离开直播间,可以…

算法通关村第五关-黄金挑战LRU问题

大家好我是苏麟 , 今天聊聊LRU问题 , 相信学过操作系统的小伙伴并不陌生 . LRU问题 LRU的含义 LRU是Least Recently Used的缩写,即最近最少使用,是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。 图解 : 如果再有其他元素就依…

ST表与RMQ(倍增表)

【概述】 RMQ : Range Maximum/minimum Query 这就是指区间最大或最小值(区间最值) ST表:Spars Table,一种可以解决 RMQ 的,基于倍增的数据结构,利用 ST 算法预处理打出的表,称为 ST 表。 …

EMC Unity存储系统如何查看SSD的使用寿命

为什么要写这个博客? 客户对老的EMC unity的存储系统要扩容,如何确定SSD磁盘是全新的还是拆机二手的?很多时候客户还有一个奇葩的要求,就是要和5年前的磁盘PN一致,甚至要求固件版本一致,最关键的还要求是全…

【LeetCode】每日一题 2023_11_4 数组中两个数的最大异或值

文章目录 刷题前唠嗑题目:数组中两个数的最大异或值题目描述代码与解题思路 结语 刷题前唠嗑 LeetCode? 启动!!! 题目:数组中两个数的最大异或值 题目链接:421. 数组中两个数的最大异或值 题目描述 代…

分享去视频/图片水印的工具(完结篇)

简介 视频去水印是在数字时代日益重要和频繁的需求之一。水印是一种保护版权和确认身份的常见手段,但在某些情况下,水印可能会对视频内容产生负面影响,因此需要去除。 首先,视频去水印可以改善视频观看体验。有些视频平台或个人会…

非常有用的工具箱IT-Tools

什么是 IT-Tools ? IT-Tools 汇集了 70 多种对开发人员和 IT 工作人员有用的工具。这个令人惊叹的工具的酷炫之处在于它不需要设置,不需要持久卷,您可以立即开始使用它。它包含大量工具,可生成密码、编辑 CSS 和 HTML 代码、文件格…

Blazor组件

Blazor组件 前言:博主文章仅用于学习、研究和交流目的,不足和错误之处在所难免,希望大家能够批评指出,博主核实后马上更改。 组件: Blazor 应用基于 Razor 组件,通常仅称为组件。 组件是 UI 的一个元素&…

自动驾驶算法(五):Informed RRT*算法讲解与代码实现(基于采样的路径规划) 与比较

目录 1 RRT*与Informed RRT* 2 Informed RRT*代码解析 3 完整代码 4 算法比较 1 RRT*与Informed RRT* 上篇博客我们介绍了RRT*算法:我们在找到一个路径以后我们还会反复的搜索。 Informed RRT*算法提出的动机(motivation)是能否增加渐近最优的速度呢?…

【腾讯云HAI域探秘】速通腾讯云HAI

速览HAI 产品简介 腾讯云高性能应用服务(Hyper Application lnventor,HA),是一款面向 Al、科学计算的 GPU 应用服务产品,为开发者量身打造的澎湃算力平台。无需复杂配置,便可享受即开即用的GPU云服务体验。在 HA] 中,…

3000 台 Apache ActiveMQ 服务器易受 RCE 攻击

超过三千个暴露在互联网上的 Apache ActiveMQ 服务器容易受到最近披露的关键远程代码执行 (RCE) 漏洞的影响。 Apache ActiveMQ 是一个可扩展的开源消息代理,可促进客户端和服务器之间的通信,支持 Java 和各种跨语言客户端以及许多协议,包括…

Sentinel热点参数限流动

什么是热点 限流是统计访问某个资源的所有请求,判断是否超过QPS阈值。而热点参数限流是分别统计参数值相同的请求,判断是否超过QPS阈值。 何为热点?热点即经常访问的数据。很多时候我们希望统计某个热点数据中访问频次最高的 Top K 数据&am…

关于Intel Press出版的《Bedyong BIOS》第2版的观后感

文章目录 此书的背景UEFI运行时DXE基础CPU架构协议PCI协议UEFI驱动的初始化串口DXE驱动示例 《Beyond BIOS》首先介绍一个简单的UEFI应用程序模块,用于展示UEFI应用程序的行为。作者为Waldo。该模块名为“InitializeHelloApplication”,它接受两个参数&a…