Linux基础学习

Linux基础学习

一、分区的步骤

1、分区类型

主分区:最多有4个

扩展分区:最多1个 主分区+扩展=4个

2、格式化

大硬盘分为小硬盘

小硬盘还不能直接使用,必须先格式化。

格式化最主要目的是写入文件系统。

写入文件系统主要做的是两个工作: 一个是把硬盘分成一个一个等大小的数据块 建立i node列表 查找文件的时候是通过i 节点号来找文件的条款

从而知道了文件保存在了那几个数据块中,打开这几个数据库快,拼凑成完成文件。

3、硬件设备文件名
硬 件设备文件名
IDE硬盘/dev /hd[a-d]
SCSI/SATA/USB硬盘/dev/sd[a-p]
光驱/dev/cdrom或/dev/sr0
软盘/dev/fd[0-1]
打印机(25针)/dev/lp[0-2]
打印机(usb)/dev/usb/lp[0-15]
鼠标/dev/mouse

分区设备文件名

分区设备文件名
/dev/hda1(IDE硬盘接口) 很少使用 速度慢
/dev/sda1(SCSI硬盘接口、SATA硬盘接口)

注意: 逻辑分区永远都是从5开始 eg ; sda5

4、挂载(windows是分配盘符)

必须分区

/ (跟分区)

swap分区(交换分球,内存的2培,不超过2GB)

推荐分区

/boot (启动分区,200MB) 保存启动时的数据

分区步骤总结: 分区:把大硬盘分为小的逻辑分区 >>>格式化:写入文件系统>>>分区设备文件名:给每个分区定义设备文件名>>>挂载:给每个分区分配挂载点(必须是目录、而且是空目录)

二、Linux的文件系统结构

从下图中可以看出/boot /etc /home 属于/的子目录 并且/boot /home /都有独立的空间

所有逻辑上/boot /etc /home 是子目录 实际上它们是独立的空间。

在这里插入图片描述

注意实事项:

1、linux 严格区分大小写

2、linux所有内容以文件的形式保存,包括硬件。

3、Linux不靠扩展名区分文件类型

4、 Linux的所有存储设备都必须挂载之后用户才能使用,包括硬盘、U盘和光盘

5、windows下的程序不能直接在Linux中安装和运行。

三、Linux 各目录的作用

1、各目录的作用
/bin      存放系统命令的目录,普通用户和超级用户都可以执行

/sbin    存放系统环境相关的命令,超级用户才能执行

/usr/bin   存放系统命令的目录,所有用户都可以执行

/usr/sbin  存放跟文件系统不必要的系统管理命令,例如多数服务程序,只有超级用户才可以使用。

/boot  系统启动目录,保存系统启动相关的文件,不能在这个目录下创建文件,如有必要需要备份。

/dev  设备文件保存位置,这个目录就是用来保存所有硬件设备文件的。

/etc 配置文件的保存位置,系统9内所有采用默认安装方式(rpm安装)的服务的配置文件全部保存在这个目录中,如有账号和密码,服务的启动脚本,常用的服务的配置文件等。

/home   普通用户的家目录,每个用户要有一个默认登录位置,这个位置就是这个用户的家目录,所有的普通用户的家目录就是在/jome下建立一个用户名相同的目录,如用户user1的家目录就是/home/user1

/lib  存放Linux的函数库

/lost+found      系统意外关机后,产生的文件碎片会放在这个目录中。每个分区都会有/lost+found 

/media  挂载目录,系统建议是用来挂载媒体设备的,例如软盘和光盘

/mnt 挂载目录  建议挂载额外设备,如u盘,移动硬盘和其它的操作系统的分区。

/misc 挂载目录,挂载NFS服务的共享目录。 

/opt   第三方软件的保存位置。这个目录就是放置和安装其它软件的位置,我手工安装的源码包软件都可以安装到这个目录中。不过现在大多数的人都喜欢把软件放在/usr/local目录当中,也就是说/usr/local目录也可以用来安装软件

/proc   /sys 虚拟文件系统,该目录的数据并不保存到硬盘中,而实保存到内存当中。主要用于保存系统的内核,进程,外部设备状态和网络状态。不要往里面写东西。

/srv 服务数据目录。系统服务启动后,保存所需要的数据。

/tmp  临时目录。系统存放临时文件的目录,该目录下所有用户都可以访问和写入。

/usr  系统软件资源目录。  usr不是user的缩写,所以不是存放用户数据,而是存放系统软件资源的目录

/var  动态数据保存位置。主要保存缓存、日志以及软件运行所产生的文件。
2、服务器注意事项
  • 远程服务器不允许关机,只能重启。
  • 重启时应该关闭服务
  • 不要在服务器访问高峰运行高负载命令 (如在3-5点进行服务器维护 选在人少访问的时候进行。)
  • 远程配置防火墙时不要把自己踢出服务器
  • 指定合理的密码规范并定期更新
  • 合理的分配权限 (用户的权限越小越好)
  • 定期备份重要的数据和日志(养成良好的备份习惯,运维必备)
3、创建目录命令:

mkdir -p 目录名 递归创建目录

mkdir /tmp/Japan/ longze /tmp/Japan/cangjing 同时创建多个目录

rmdir 目录名 删除空目录

rm - rf 目录名 强制删除

4、查看文件命令:

cat -n 文件名 行号显示文件内容

tac 倒着显示文件内容

more 文件名 分页显示 空格会一页一页的往下面翻 回车换行 不可以向上翻页

less 文件名 和More相似 但是可以向上翻页,还可以进行搜索。

head -n 文件名 显示文件的前n行 不指定的话 默认显示前10行。

tail -n 文件名 显示文件的末尾几行,不指定的话 默认显示后10行。

5、文件的处理命令:ln

命令英文愿意:link

命令所在路径:/bin/ln

执行权限:所有用户

语法: ln -s 原文件 目标文件

​ -s 创建软连接

功能描述: 生成链接文件

范例:

ln -s /etc/issue /tmp/issue.soft

创建文件/etc/issue 的软链接/tmp/issue.soft

软连接的作用:相当于windows的快捷方式 权限为所有用户 >>指向原文件,可以跨分区。可以针对目录使用。

软链接特征:类似windoes快捷方式

1、 lrwxrwxrwx 软连接 权限都为rwxrwxrwx

2、文件大小知识符号链接

3、/tmp/issue.soft -> /etc/issue 箭头指向源文件

in /etc/issue /tmp/issue.hard

创建文件/etc/issue的硬链接/tmp/issue.hard

硬链接的作用:删除原文件也不会受到影响,可以用来备份和更新。但是不能跨分区,通过I节点识别 ,不能针对目录使用。

6、权限管理命令

chmod 755 文件名 所有者 所属组 所有人

chmod -R 755 文件名 递归修改 改变这个目录的同时,可以修改这个目录下的所有文件的权限

删除一个文件的条件的前提是这个文件所在的目录有写权限

chown 组名 文件名 改变文件所有组 在Linux系统上想要改变一个文件的所有者 只能在root用户下

chgrp 用户组 文件或者目录

所有者 谁创建谁有 root 可以重新修改

在Linux中新建一个文件是没有可执行权限的 X

四、软件包管理

1、软件包分类:

源码包

脚本安装包

二进制包(RPM包、系统默认包)

2、源码包

源码包优点是:

  • 开源,可以修改源代码

  • 可以自由选择所需的功能

  • 卸载方便

  • 软件是编译安装,更加适合自己的系统,更加稳定效率也更高。

源码包缺点:

  • 步骤多,容易出现错误

  • 编译过程时间长,安装比二进制安装时间长

  • 因为是编译安装,安装过程中一旦报错新手很难解决。

RPM包依赖性

树形依赖: a>>b>>c

环形依赖:

模块依赖: 找这个库属于哪一个包的方法 进入网址去找 https://www.rpmfind.net/

3、RPM包的安装与卸载

包全名: 安装时使用

包名: 搜索的时候

安装命令

rpm -ivh 包全名

选项:

-i (install) 安装

-v(verbose) 显示安装的详细信息

-h(hash) 显示进度

–nodeps 不检测依赖性

升级

rpm -Uvh 包全名

卸载:

rpm -e 包名

选择:

-e(erase) 卸载

– nodeps 不检查依赖性

4、RPM包管理-rpm命令管理

rpm -q 包名

选项:

-q 查询(query)

-a 所有(all)

在这里插入图片描述

注意:不需要加路径查询,因为是在数据库里面查。

rpm -qi 包名 查询软件的详细信息。

选项 -i 查询软件信息

-p 查询未安装包信息

[root@rac19c1 ~]# rpm -qa   libstdc++-devel
libstdc++-devel-4.8.5-44.el7.x86_64
[root@rac19c1 ~]# rpm -qi   libstdc++-devel
Name        : libstdc++-devel
Version     : 4.8.5
Release     : 44.el7
Architecture: x86_64
Install Date: Sun 12 Sep 2021 12:04:37 PM CST
Group       : Development/Libraries
Size        : 8436804
License     : GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD
Signature   : RSA/SHA256, Thu 15 Oct 2020 02:54:16 AM CST, Key ID 24c6a8a7f4a80eb5
Source RPM  : gcc-4.8.5-44.el7.src.rpm
Build Date  : Wed 30 Sep 2020 10:42:39 AM CST
Build Host  : x86-02.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://gcc.gnu.org
Summary     : Header files and libraries for C++ development
Description :
This is the GNU implementation of the standard C++ libraries.  This
package includes the header files and libraries needed for C++
development. This includes rewritten implementation of STL

查询包中文件安装的位置

rpm -ql 包名

选项:

-l 列表(list)

-p 查询未安装包信息

rpm -qlp 包名

查询系统文件属于哪一个RPM包

rpm -qf 系统文件名

选项:

-f 查询系统文件属于哪个软件包

/etc 目录下的基本通过rpm安装的

[root@rac19c1 etc]# rpm -qf nfs.conf
nfs-utils-1.3.0-0.68.el7.x86_64

5、 rpm包的校验和文件的提取

rpm -V 包名 查看rpm文件是否被改变

文件的提取: 经常用来修复,防止误删

rpm2cpio 包全名 | \cpio -idv . 文件的绝对路径

rpm2cpio

将rpm包转换为cpio格式的命令

cpio 是一个标准工具 ,它用于创建软件档案文件和档案文件中提取文件

cpio 选项 <文件|设备

选项:

-i copy-in模式,还原

-d 还原时自动创建目录

-v: 显示还远过程

eg:

[root@rac19c1 ~]#rpm -qf /bin/ls   查询ls命令属于哪个软件包
[root@rac19c1 ~]# mv /bin/ls /tmp  造成ls误删假象
[root@rac19c1 ~]# rpm2cpio /mnt/cdrom/Packages/coreutils-8.22-24.el7.x86_64.rpm | cpio -idv  ./usr/bin/ls
[root@rac19c1 ~]# dir
anaconda-ks.cfg		      gcc-c++-4.8.5-44.el7.x86_64.rpm  libstdc++-devel-4.8.5-44.el7.x86_64.rpm	oracleasm-support-2.1.11-2.el7.x86_64.rpm
CentOS-7-x86_64-DVD-2009.iso  initial-setup-ks.cfg	       oracleasmlib-2.0.12-1.el7.x86_64.rpm	usr
[root@rac19c1 ~]# cd usr
[root@rac19c1 usr]# dir
bin
[root@rac19c1 usr]# cd bin/
[root@rac19c1 bin]# dir
ls
[root@rac19c1 bin]# cp ls /usr/bin/ls
5、yum 在线管理

1、网络yum 源其实不用做更改,默认已经配置好。

2、常用yum 命令

查询: yum list

[root@rac19c1 ~]# yum list    查询所有可用软件包列表

关键字搜索

 [root@rac19c1 ~]# yum search  zziplib
zziplib-devel.i686 : Development files for the zziplib library
zziplib-devel.x86_64 : Development files for the zziplib library
zziplib-utils.x86_64 : Utilities for the zziplib library
zziplib.i686 : Lightweight library to easily extract data from zip files
zziplib.x86_64 : Lightweight library to easily extract data from zip files

安装:

[root@rac19c1 ~]# yum -y install 

-y 自动回答yes,不需要手动输入yes

卸载: yum -y remove 包名

[root@rac19c1 ~]#  yum -y remove  包名

remove 卸载

-y 自动回答yes

注意:尽量不要卸载,会导致系统崩溃。

软件包组安装:

[root@rac19c1 ~]# yum grouplist   列出所有可用的软件组列表
[root@rac19c1 ~]# yum grouplistinstall  软件组名       安装指定软件组,组名可以由grouplist 查询出来

注意: 如果软件组名出现空格 在安装的时候需要用""将组名括起来。

软件包组卸载:

[root@rac19c1 ~]# yum groupremove 删除软件包组

3、光盘yum源搭建

  • 挂载光盘
[root@rac19c1 ~]# mount /root/CentOS-7-x86_64-DVD-2009.iso /mnt/cdrom/
  • 让网络yum源文件失效

    [root@rac19c1 ~]# cd /etc/yum.repos.d/
    [root@rac19c1 yum.repos.d]# mv  CentOS-Base.repo CentOS-Base.repo.bak
    其它也一样  除了CentOS-Media.repo
    
  • 修改光盘yum源文件

    [root@rac19c1 yum.repos.d]# vim CentOS-Media.repo 
    [c7-media]
    name=CentOS-$releasever - Media
    baseurl=file:///media/CentOS/     #地址为你光盘的地址
            #注释这两个不存在的地址
            file:///media/cdrom/
            file:///media/cdrecorder/
    gpgcheck=1     
    enabled=0   #改为1  让这个yum源配置文件生效
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值