首页 > 系统相关 >Linux总结,第一篇

Linux总结,第一篇

时间:2023-07-01 17:44:10浏览次数:48  
标签:总结 文件 00 第一篇 用户 修改 usr Linux man

GPL、BSD、MIT、Mozilla、Apache和LGPL的区别

BSD

是“宽容自由软件许可证”中的一员,在软件复用上给予了最小限度的限制。BSD协议允许作者使用该协议下的资源,将其并入私人版本的软件,该软件可使用闭源软件协议发布。

MIT

MIT许可证(The MIT License)是许多软件授权条款中,被广泛使用的其中一种。与其他常见的软件授权条款(如GPL、LGPL、BSD)相比,MIT是相对宽松的软件授权条款。

GPL

是“通用性公开许可证”(General Public License,简称GPL)的简称。GPL同其它的自由软件许可证一样,许可社会公众享有运行、复制软件的自由;发行传播软件的自由;获得软件源码的自由,以及改进软件并将自己作出的改进版本向社会发行传播的自由

Mozilla

MPL(Mozilla Public License 1.1)MPL协议允许免费重发布、免费修改,但要求修改后的代码版权归软件的发起者 。这种授权维护了商业软件的利益,他要求基于这种软件的修改无偿贡献版权给该软件。这样,围绕该软件的所有代码的版权都集中在发起开发人的手中。但MPL是允许修改,无偿使用得。MPL软件对链接没有要求。

Apache:

Apache License(Apache许可证),是Apache软件基金会发布的一个自由软件许可证。Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和最终原作者的著作权,同样允许源代码修改和再发布。但是也需要遵循以下条件:

需要给代码的用户一份Apache Licence。

如果修改了代码,需要在被修改的文件中说明。

在衍生的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。

如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但是不可以表现为对Apache Licence构成更改。

Apache Licence是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足并作为开源或商业产品发布/销售。

LGPL:

LGPL是GPL的一个为主要为类库使用设计的开源协议。和GPL要求任何使用/修改/衍生之GPL类库的的软件必须采用GPL协议不同。LGPL允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。这使得采用LGPL协议的开源代码可以被商业软件作为类库引用并发布和销售。

但是如果修改LGPL协议的代码或者衍生,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须采用LGPL协议。因此LGPL协议的开源代码很适合作为第三方类库被商业软件引用,但不适合希望以LGPL协议代码为基础,通过修改和衍生的方式做二次开发的商业软件采用。

Linux安装步骤(centos7.9为例)

虚拟机或物理机加载iso后重启,以光盘模式启动,进入安装界面,选择English语言进入

地区选择Asia、Shanghai,点Done

软件包安装方式选择minimal install(最小化安装)

选择安装硬盘位置,然后Begin installation

安装过程中我们可以设置root账号的密码,以及新建普通用户

安装完成,reboot,然后把iso退出

登录系统,查看系统信息,安装成功

配置网络

虚拟机情况下,网络配置为nat主机模式,进入/etc/sysconfig/network-scripts,进入网卡配置文件如ifcfg-ens33,修改参数ONBOOT=yes

systemctl restart network,ip a查看是否成功获取dhcp的ip,然后ping百度看看是否能ping通

如何获得帮助

Linux中,大部分命令都可以用以下方式获得帮助

man (num) CMD	#其中num为CMD的章节,具体可以通过whatis CMD查看想要查看的章节号
CMD -h
CMD --help
  • whereis 列出命令路径与对应man的路径
  • whatis 列出命令路径与对应man的章节号
  • man 提供命令帮助的文件,手册页存放在/usr/share/man,几乎所有命令都有man的页面
[root@Rocky01 ~]#man -k process
awk (1)              - pattern scanning and processing language
bootup (7)           - System bootup process
chrt (1)             - manipulate the real-time attributes of a process
coredumpctl (1)      - Retrieve and process saved core dumps and metadata
cpupower (1)         - Shows and sets processor power related values
cpupower-info (1)    - Shows processor power related kernel or hardware configurations

以 awk为例,使用 "man -f awk" 命令来获取命令的man文档信息

  [root@Rocky01 ~]#man -f awk
  awk (1)              - pattern scanning and processing language
  [root@Rocky01 ~]#man 1 awk  # 介绍awk命令

man 分为9个部分

  • 1:用户命令
  • 2:系统调用
  • 3:C库调用
  • 4:设备文件及特殊文件
  • 5: 配置文件格式
  • 6:游戏
  • 7:杂项
  • 8:管理类的命令
  • 9:Linux内核API

man 帮助段落说明

  • NAME 名称及简要说明
  • SYNOPSIS 用法格式说明
  • [] 可选内容
  • <> 必选内容
  • a|b 二选一
  • {} 分组
  • ... 同一内容可以出现多次
  • DESCRIPTION 详细说明
  • OPTIONS 选项说明
  • EXAMPLES 示例
  • FILES 相关说明
  • AUTHOR 作者
  • COPYRIGHT 版本信息
  • REPORTING BUGS bug信息
  • SEE ALSO 其他帮助参考
#提取当前网卡ip
[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:5b:92:6e brd ff:ff:ff:ff:ff:ff
    inet 20.0.0.129/24 brd 20.0.0.255 scope global noprefixroute dynamic ens33
       valid_lft 1285sec preferred_lft 1285sec
    inet6 fe80::2333:7547:402e:1ca6/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
[root@localhost ~]# ip a |grep dynamic |awk '{print $2}'
20.0.0.129/24

/etc/fstab详解

image-20230701110927704

从左到右分别为6个参数

  1. 设备名称\设备UUID\设备Lebal #三选一,相当于用不同的方式,指定挂载的设备
  2. 挂载点(必填) #设备挂载的所在位置
  3. 文件系统格式 #实际生产中常见有ext3、ext4、xfs、swap
  4. parameters为文件系统的参数,一般默认 为:defaults
  5. 能否被dump备份命令作用:dump是一个用来作为备份的命令。通常这个参数的值为0或者1。0 代表不做dump备份;1 代表要每天进行dump备份;2 代表2天进行一次dump备份
  6. 是否检验扇区:开机的过程中,系统默认会以fsck检验我们系统是否为完整。0 不要检验;1 最早检验(一般根目录会选择最早检验)2 代表第1等级的检验完成后进行第二层级的检验

FHS结构

Filesystem Hierarchy Standard(文件系统层次化标准)的缩写,多数Linux版本采用这种文件组织形式。

FHS以/为唯一起点,呈树状分支结构

“/”,即超级用户的根,这个是系统初始化时就自然生成的有,它是系统的第一核心目录;

/usr,这个是用户的家目录,是应用程序一般默认安装的位置;

/var,它是系统运行时写入和增删的数据文件,这个目录是动态数据的保存位置,随时可能得到扩充或删减。一般包括系统运行日志、邮件及应用软件的数据库等相关文件,主要在var/log目录下。

/bin:存放用户常用的cd,ls等二进制命令;

/boot:存放系统启动的引导性文件;

/dev:存放硬盘等设备文件;

/etc:存放二进制rpm软件安装包及各种服务的启动命令,比如说系统的网络配置文件

/home:用户家目录,新建用户时默认在/home目录下创建同名目录

/usr/lib :存放32位程序运行时调用的动态库及内核模块文件;

/usr/share: 用于存放一些共享的数据,比如音乐文件或者图标等等:

/usr/src:Linux开放的源代码;

/usr/doc : Linux技术文档;

/usr/lib64:存放64位程序 /home运行时调用的动态库及内核模块文件;

/lib -> usr/lib:存放32位程序运行时调用的动态库及内核模块文件
/lib64 -> usr/lib64:存放64位程序运行时调用的动态库及内核模块文件;

/usr/man:帮助文档所在的目录;
/media:挂载点,主要挂载可移动存储设备,对ubuntu系统来说,自动挂载光驱、usb设备,存放临时读入的文件
/mnt:挂载点,挂载临时文件及存储设备;

/lost+found/:这个目录只在每个分区中出现,/lost+found就是根分区的备份恢复目录,/boot/lost+found就是/boot分区的备份恢复目录,fsck工具会检查这里,并进行修复
/opt:第三方应用软件安装位置,一般习惯安装到/usr/local下,也就是说/usr/local/目录也可以用来安装软件;
/sys:虚拟文件系统,主要保存系统的内核,该目录的数据都是保存在内存中的;
/root:超级用户(系统管理员)的家目录,直接在“/”之下;
/run:存放系统启动以后描述系统信息的文件(放置子进程和父进程PID的目录),关机后即清空
/sbin -> usr/sbin:存放root(系统管理员)使用的二进制可执行命令,
/srv:可理解为”service”,存储系统服务运行时某些服务所需要调用的数据
/tmp:临时目录。系统存在临时文件目录,该目录下所以用户都可以访问和写入。我们建议此目录中不能保存重要数据,最好每次开机都把该目录清空。

用户、组、文件管理、权限管理

用户

用户以uid号标识,其中uid=0为管理员用户(一般指root,也可以手动修改),1-999为系统用户(程序或进程使用用户),1000+为普通用户(用户自行创建用户)

常用命令

useradd	#创建用户
usermod #修改用户参数
userdel	#删除用户
id	#查看用户的uid,gid,主组和附加组
passwd user_name	#修改用户密码

用户创建则默认创建一个同名的主组,该组名称与用户名称一致,附加组可以添加多个用户,实际主要用途是批量管理一批账号的权限

常用命令

groupadd	#创建组(通常指附加组,因为主组在创建用户时已经创建)
groupmod	#修改组参数
groupdel	#删除组
id	#查看用户的uid,gid,主组和附加组

文件管理

常用的文件管理命令

touch	#常用于创建文件
touch a.txt #创建名称为a.txt的空文件
touch	{a..f}.txt #批量创建a.txt,b.txt,c.txt,d.txt,e.txt,f.txt文件

rm	#用于删除文件,alias默认定义为rm -i,删除文件前会询问是否删除
rm -f	#删除文件或目录不问询
rm -rf	#递归删除文件夹内所有内容不问询
#实际生产中不建议使用rm命令,通过mv file /tmp替代rm命令

rmdir	#删除空目录
rmdir -p #删除指定空目录及其上级空目录

cat #常用于查看文件或输入重定向
cat /etc/fstab	#查看/etc/fstab文件
cat >> /etc/fstab<<EOF
123
EOF
#对/etc/fstab文件追加内容为‘123’

head #查看文件的前N行(默认为10),或者控制文件输出(如输出前5行)
head /etc/passwd	#查看/etc/passwd的前10行
head -n5 /etc/passwd #	查看/etc/passwd的前5行


less,more	#这两个命令可以分次查看文件,如log等一页无法查看完毕的文件,可以通过这两个命令多次显示,并通过上下键翻页查看,常用less(功能更好)

权限管理

ll 查看文件一般权限(查看文件夹权限使用-d参数),lsattr查看文件特殊权限

当lsattr查看文件有 i 属性时,该文件无法被删除,更改,写入,可以通过chattr -i去除i属性

chmod 744 file #修改文件file权限为-rwxr--r--.
chmod u-w file #修改文件file权限为-r-xr--r--.
chmod o+w file #修改文件file权限为-r-xr--rw-.

chown file wang #修改文件file拥有者为wang账号
chown file wang:wang #修改文件file拥有者为wang账号,所属组为wang组

setfacl #通过ACL可以任意控制文件可以被某些other访问而不被其他other访问,实现个性化管理文件访问权限

标签:总结,文件,00,第一篇,用户,修改,usr,Linux,man
From: https://www.cnblogs.com/chenqizhi/p/17519610.html

相关文章

  • 每周总结 6.26---7.2
    6.26 通过B站简单了解JAVA,看了好久科目一的题6.27 上地背喷雾器掸农药,相当累6.28 又干了半天,脖子晒爆皮了....6.29 参加亲戚家孩子的升学宴6.30 正式学习JAVA,在B站观看教学视频 7.1看科目一,学习JAVA7.2 待定 ......
  • Debian是一种流行的自由操作系统,它基于Linux内核,采用自由软件的方式进行开发和发布 De
    Debian是一种流行的自由操作系统,它基于Linux内核,采用自由软件的方式进行开发和发布。以下是关于Debian起源和其开发者的信息:Debian的起源:Debian的起源可以追溯到1993年,最初由IanMurdock(IanAshleyMurdock,1970-2015)创建。他希望构建一个自由、开放和稳定的操作系统发行版,以及一......
  • grid居中总结
    .container{display:grid;place-items:center;/*1.网格项居中*/place-content:center;/*2.网格居中,网格项撑满网格则效果为网格项居中*/}.child{place-self:center;/*3.网格项居中*/margin:auto;/*4.网格项居中......
  • Linux vi/vim介绍和使用方法
    转载地址:https://mp.weixin.qq.com/s?src=11&timestamp=1688196184&ver=4623&signature=7grwe5qwSSbVOMLFHpVKVPbQ*P3bBkBOSecso3*W6NrVlBPyQEs8rNYi6us*saIT8H9WiRcaT0Qg6CEv-B3OUqCJzOfaAC-FpTSeREgreWCxTjI212YAnNkKBLqWCOBS&new=1......
  • Linux学习笔记
    Linux命令ls 查看文件夹下的文件cd 切换路径pwd 查看当前所在的路径位置.. 上层目录mkdir 创建文件夹touch 创建文件且要指定后缀cat 查看文件内容more 查看文件内容(支持翻页[没试过])rm 删除文件 (删除文件夹使用rm-r)cp 复制文件rm 移动文件(移动文件谨慎使......
  • Linux memory读写约束readl、readl_relaxed、writel、writel_relaxed区别
    内存类型和属性|ARMMemorytypesandattributesflowchartLR1(ArmMemoryType)-->2(NormalMemory)1-->3(DeviceMemory)2-->4(Shareable)2-->6(Cacheabilityattributes)4-->7(InnerShareable)4-->8(OuterSh......
  • Educational Codeforces Round 151 [div.2 #A-C] 赛后总结(contest/1845)
    link\(\textcolor{lightgreen}{A}-\textcolor{yellow}{B}-\textcolor{yellow}{C}-\textcolor{red}{D}-\textcolor{red}{E}-\color{red}{F}\)A给你一个数n,在给你一个数列1~k,其中x不能用,然后用其他的数任意累加,如能得到n,输出所用数字数量和具体数列。一眼分类。先分是......
  • 每周总结1( 6.26-7.2)
    6.26周一复习了C++,外加娱乐明天准备开始JAVA学习6.27周二通过b站,准备学习JAVA所需内容外加娱乐发现好多不懂明天准备正式开始学习6.28周三整理了一些问题,逐一解决,并且正式开始学习JAVA(黑马)明天进行深度学习6.29周四发现本人JAVA学习不太熟练,重新开始明天准备思考......
  • 部署java的linux服务器远程报错:[USM] Channel request shell failed
    问题部署很多个微服务的linux服务器ssh远程突然进不去,远程工具提示:[USM]Channelrequestshellfailed排查分析因为部署的是很多个java进程,有可能线程数占满导致系统可创建线程耗尽,排查步骤如下:使用非远程方式进入服务器,使用top-H命令查看系统创建的线程数:查看系统允许创......
  • 一周课程学习总结1【关于Linux和c语言程序设计】
    前言这周是我正式开始学习嵌入式的第一周,首先学习了c语言环境的安装,简单的了解了Linux,然后学习了c语言程序设计的部分内容。下面是对这周学习内容的一些总结和我的个人理解,如有不对之处还请指出。LinuxLinux优点:1)开放性;2)完全免费;3)多用户;4)多任务;5)良好的用户界面;6)设备独立......