区块链教程(一):前置知识-linux补充
sinye56 2024-12-12 14:51 14 浏览 0 评论
新手建议
学习Linux的注意事项
- Linux严格区分大小写(命令全都是小写)—— 命令、文件名、选项等均区分大小写
- Linux中所有内容以文件形式保存,包括硬件 硬盘文件是/dev/sd[a-p]光盘文件是/dev/sr0等
- Windows通过扩展名区分文件类型,还有图标可以区分;Linux不靠扩展名区分文件类型,靠文件权限区分,但也有一些约定俗成的扩展名: 压缩包:".gz", ".bz2", ".tar.bz2", ".tgz"等二进制软件包:".rpm"网页文件:"*.sh"配置文件:"*.conf" 注意:这些扩展名不是必要的,即时不加扩展名也没有影响,只是便于管理而已
- Linux所有存储设备都必须挂载之后用户才能使用,包括硬盘、U盘、光盘(将设备与挂载点连接的过程就是挂载)
- Windows下的程序不能直接在Linux中安装和运行
服务器管理和维护建议
服务器管理
目录名 目录作用 /bin/ 存放系统命令的目录,普通用户和超级用户都可以执行,不过放在/bin下的命令在单用户模式下也可以执行 /sbin/ 保存和系统环境设置相关的命令,只有超级用户可以使用这些命令进行系统环境设置,但是有些命令可以允许普通用户查看 /usr/bin/ 存放系统命令的目录,普通用户和超级用户都可以执行,这些命令和系统启动无关,在单用户模式下不能执行 /usr/sbin/ 存放根文件系统不必要的系统管理命令,例如多数服务程序。只有超级用户可以使用 /boot/ 系统启动目录,保存系统启动相关的文件,如内核文件和启动引导程序(grub)文件等 /dev/ 设备文件保存位置,我们已经说过Linux中所有内容以文件形式保存,包括硬件,这个目录就是用来 保存所有硬件设备的 /etc/ 配置文件保存位置,系统内所有采用默认安装方式(npm安装)的服务的配置文件全部保存在这个目录中,如用户账户和密码,服务的启动脚本,常用服务的配置文件等 /home/ 每个用户的默认登陆位置,普通用户的home目录就是在/home下建立一个和用户名相同的目录 /lib/ 系统调用的函数库保存位置 /lost+found/ 当系统意外崩溃或机器意外关机时,产生的一些文件碎片放在这里,当系统启动的过程中fsck工具会对其进行检查,并修复已经损坏的文件系统。这个目录只在每个分区中出现,例如/lost+found就是根分区的备份恢复目录,/boot/lost+found就是/boot分区的备份恢复目录 /media/ 挂载目录,系统建议是用来挂载媒体设备的,例如软盘和光盘 /mnt/ 挂载目录,建议挂载额外设备,如U盘,移动硬盘和其他操作系统的分区 /misc/ 挂载目录,系统建议用来挂载NFS服务的共享目录 /opt/ 第三方安装的软件保存位置,但现在更多的是保存在/usr/local中 /proc/ 虚拟文件系统,该目录的数据不保存到硬盘中,而是保存到内存中。主要保存系统的内核、进程、外部设备状态和网络状态等,如/proc/cpuinfo是保存CPU信息的,/proc/devices是保存设备驱动的列表的,/proc/filesystems是保存 文件系统列表的,/proc/net/是保存网络协议信息的 /sys/ 虚拟文件系统,主要保存内核相关信息 /root/ 超级用户的家目录 /srv/ 服务数据目录, 一些系统服务启动后可以在这个目录保存需要的数据 /tmp/ 临时目录,系统存放临时文件的目录,该目录下所有用户都可以访问和写入,我们建议此目录不能保存重要数据,最好每次开机都把该目录清空 /usr/ 系统软件资源目录,注意usr不是user的缩写,而是"Unix Software Resource"的缩写,所以不是存放用户数据,而是存放系统软件资源的目录。系统中安装的软件大多数都在这里 /var/ 动态数据保存位置,主要保存缓存、日志以及软件运行所产生的文件
服务器注意事项
- 远程服务器不允许关机,只能重启
- 重启时应该关闭服务
- 不要在服务器的访问高峰运行高负载命令
- 远程配置防火墙时不要把自己踢出服务器(可以设置每五分钟将防火墙规则重置一次,配置完之后再取消该设置)
- 指定合理的密码规范并定期更新
- 合理分配权限
- 定期备份重要数据和日志
磁盘分区是用分区编辑器在磁盘上划分几个逻辑部分,碟片一旦划分成数个分区,不同类的目录和文件 可以存储进不同的分区。
系统分区
分区类型
- 主分区:最多只能有4个
- 扩展分区: 最多只能有1个主分区加扩展分区最多有4个不能写入数据,只能包含逻辑分区(这种限制是硬盘的限制)
- 逻辑分区
格式化
硬盘经过正确分区后仍不能写入数据,我们的硬盘还必须经过格式化之后才能写入数据。格式化又称逻辑格式化,它是根据用户选定的文件系统(如FAT16、FAT32、NTFS、EXT 2、EXT3、EXT4等),在磁盘的特定区域写入特定数据,在分区中划分出一片用于存放文件分配表、目录表等用于文件管理的磁盘空间。格式化就是按照文件系统的规则将硬盘分成等大小的数据块,我们把数据块称为block。
注:Windows可以识别的系统有FAT16、FAT32、NTFS;Linux可以识别的系统有EXT2、EXT3、EXT4
设备文件名
硬盘设备文件名
Windows是直接分区——>格式化——>分配盘符即可使用,Linux需要分区——>格式化——>给分区建立设备文件名——>分配盘符才能使用。
硬件 设备文件名 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
分区设备文件名
分区设备文件名直接在硬盘设备文件名后面加分区号即可,如
- IDE硬盘接口第一个分区:/dev/hda1(如今几乎看不到)
- SCSI硬盘接口、SATA硬盘接口的第一个分区:/dev/sda1
IDE硬盘是最古老的硬盘,理论最高传输速度是133M/s
SCSI硬盘接口与IDE硬盘同时代,更加昂贵但速度更快,理论最高传输速度可达200M/s,但这种硬盘主要用在服务器上
但上两种硬盘接口如今已经基本淘汰,如今使用更多的是小口的SATA串口硬盘,SATA已发展到3代,其理论传输速度最高可达500M/s,目前不管是服务器还是个人机基本使用的都是SATA硬盘接口。
需要留意的是,逻辑分区永远都是从5开始的
挂载
挂载实际上就是Windows中分配盘符的过程,盘符则被相应地称为挂载点,必须分区的分区有以下两种:
- 根分区:/
- swap分区(交换分区):可以理解为虚拟内存,当真正内存不够用时,可以使用这部分交换分区的硬盘空间来当内存,理论上来说交换分区应该是内存的两倍,但最大不超过2GB
若无这两个分区,Linux不能正常使用,但我们还推荐把/boot单独分区,这是为了防止Linux系统启动不起来,一般200MB即可。
远程登陆管理工具
网络连接
网络连接从虚拟机设置中可以看到,一共有三种:桥接、NAT和Host-only,下面讲解其区别:
- 桥接:桥接意味着虚拟机如同一个单独的主机一样访问Wifi等,也可以和其他机器通信
- NAT:虚拟机仅能和主机通信,但若主机可以访问互联网,虚拟机也可以访问互联网
- Host-only:虚拟机仅能和主机本机通信,不能访问互联网
网络配置
- 首先调成Host-only模式,使得虚拟机仅与主机连接
- 在主机上找到VMware Network Adapter VMnet1的IP地址,我本地地址为192.168.19.1
- 在虚拟机上使用ishw -c netwowrk命令找到logical name,此即为虚拟机的网卡名称,我的虚拟网卡名称为ens33
- 使用命令ifconfig [不等于IP地址] logical name,例如我使用的是ifconfig ens33 192.168.19.2
- 此时再ifconfig即可看到我们设置的已生效
- 我们可以在主机ping这个IP地址看到生效
- 使用secureCRT连接即可
需要注意的是,以上方法配置IP地址时不是永久生效的,也就是重新启动电脑时就失效了,若想永久生效需要改变配置文件
若使用NAT模式,则步骤简单很多,只需要ifconfig获得IP地址之后直接用secureCRT连接即可
WinSCP
另外推荐一个Windows主机与Linux虚拟机进行文件传输的工具——WinSCP,操作方法与上面类似,只需输入对应的IP地址即可连接。
安装linux系统(以ubuntu为例)
- 使用vmware虚拟机安装 参考此博客:VMware安装Ubuntu18.04
- 使用win10子系统安装 参考此博客:在 win10 下使用 ubuntu 子系统
Linux常用命令
一、最常用命令
这是我们使用得最多的命令了,Linux最基础的命令!
- 可用 pwd命令查看用户的当前目录
- 可用 cd 命令来切换目录
- .表示当前目录
- .. 表示当前目录的上一级目录(父目录)
- -表示用 cd 命令切换目录前所在的目录
- ~ 表示用户主目录的绝对路径名
绝对路径:
- 以斜线(/)开头 ,描述到文件位置的完整说明 ,任何时候你想指定文件名的时候都可以使用
相对路径 :
- 不以斜线(/)开头 ,指定相对于你的当前工作目录而言的位置 ,可以被用作指定文件名的简捷方式
二、文件处理命令
1. 命令格式与目录处理命令ls
命令格式:命令[-选项][-参数],例:ls -la /etc
说明:
- 个别命令使用不遵循此格式
- 当有多个选项时,可以写在一起
- 简化选项与完整选项:-a 等于 --all
ls命令的语法:
- ls -a可以显示所有文件,包括隐藏文件(以点.开头的文件是隐藏文件)
- 若希望查询的不是当前目录,可以使用ls+其他目录进行查询
- ls -l可以显示更多属性(long),属性阐述如下:
- 第一列分为三个部分,第一部分(如d告诉我们文件的类型是一个目录,-为二进制文件,1为软链接文件),drwx表示该文件支持读写和执行操作,r,w,x分别对应读、写、执行三个权限,三列分别对应所有者,所属组,其他人的权限
- 第二列的2、2、3等表示调用次数 3. 第三列表示所有者,也就是这个文件的总负责人(拥有文件的所有权,可转让)
- 第四列表示所属组,也就是可以操作这个文件的人 5. 第五列表示文件大小,默认单位是字节(很反Windows)
- 最后一个是文件的最后一次修改时间(Linux没有创建时间这个概念)
- ls -lh比原先的更人性化(humanitarian),它将对应的单位也显示了出来,-h实际上是一个通用选项,很多命令都可以加
- -d显示当前目录本身而不显示目录下的数据,一般与-l结合使用,如ls -ld /etc
- ls -id可以查看当前目录对应的文件ID
2. 目录处理命令
mkdir
语法:mkdir -p [目录名]
功能描述:创建新目录,-p递归创建(若一个目录本身不存在,可以在创建这个目录的同时创建子目录),也可以同时创建多个目录
cd
语法:cd directory
功能描述:改变当前目录
pwd
语法:pwd
功能描述:显示当前目录(print working directory)
rmdir
语法:rmdir [目录名]
功能描述:删除空目录(若目录非空则不能删除)
cp
语法:cp -rf [源文件或目录] [目标目录] -r 复制目录 -p 保留文件属性(文件创建时间等不发生变化)
功能描述:复制文件或目录
mv
语法:mv [源文件或目录] [目标目录]
功能描述:剪切文件、改名
rm
语法:rm -rf [文件或目录] -r 删除目录 -f 强制执行
功能描述:删除文件
3. 文件处理命令
touch
语法:touch [文件名]
功能描述:创建空文件
cat
语法:cat [文件名]
功能描述:显示文件内容 -n可显示行号
tac
与cat相反,可以倒着显示
more
cat命令显示的往往过多,若希望分页显示可以使用more,用法与cat相同,使用时按空格可以一页页往后翻,使用q或Q退出
less
由于more无法向上翻,我们可以使用less命令,可以使用page up一页页往上翻,也可以使用上箭头一行行往上翻,其他操作与more相同。另外less还可以进行搜索,比如想要搜索关键词service,可以输入/service进行检索,页面会对这些关键词进行高亮,可以使用n找到其他关键词位置
head
若只想要看文件的前几行,可以使用head -n加指定行数,若不加则默认显示前10行
tail
与head类似 ,但是显示后面几行。
常用搭配为:tail -f,该命令会动态显示文件末尾内容
三、链接命令ln
语法:ln -s [原文件] [目标文件] -s 创建软链接
功能描述:生成链接文件
示例:
- ln -s /etc/issue issue.soft:生成软链接
- ln /etc/issue issue.hard:生成硬链接
软链接和硬链接的区别
我们使用ls -l查看这两个文件的信息:
-rw-r--r-- 2 root root 26 Jul 15 2020 issue.hard
lrwxrwxrwx 1 root root 10 Jan 31 04:55 issue.soft -> /etc/issue
我们会发现这两个文件的信息相差的非常多,软链接文件开头的文件类型是l(link),三个权限都是rwx,即可读可写可执行,软链接文件就类似于Windows的快捷方式,用处是便于做管理,我们可以看到最后有一个箭头指向/etc/issue。另外我们看到这个文件只有31个字节,因为它只是一个符号链接。我们可以总结得出软链接的三个特点:
- 权限是rwx
- 文件很小,只是符号链接
- 箭头指向源文件
下面我们看硬链接的特点,我们首先分别查看 这两个文件的信息:
ls -l issue.hard
ls -l /etc/issue
我们可以看到这两个文件的所有信息一模一样,包括文件的大小,这类似于拷贝,似乎相当于cp -p,而硬链接和cp -p的最大不同就是硬链接可以实现同步更新,我们可以做一个简单的实验,我们先查看硬链接文件,然后往源文件中写入文件,可以发现硬链接文件也被同时修改了,当然软链接也会同步修改。
但当我们将源文件复制到另一个位置并删除原位置文件之后,再试图打开软链接会提示“没有那个文件或目录”,而且再显示这个目录软链接会标红并一直闪,而硬链接可以正常访问,没有影响,这就是硬链接和软连接的不同之处。
实际上我们可以通过命令ls -i来识别其i节点以辨别出是硬链接还是软链接,硬链接和源文件的i节点相同,软链接则不同。
硬链接相当于一个同步文件,但可以做实时备份(一个文件删了不会影响另一个文件),硬链接有两个限制,这也是硬链接和软链接的区别:
- 不能跨分区
- 不能针对目录使用
四、权限管理命令
Linux用户一共分成三类,分别是所有者(U),所属组(G)和其他人(O),权限也分成三类,分别是r,w,x,对应读、写、执行,我们首先学习如何更改权限。
chmod
更改文件的人只能是文件所有者或者管理员root用户,更改文件权限有两种方式,第一种方式如下:
chmod [{ugoa}{+-=}{rwx}][文件或目录]
其中第一个花括号里u,g,o,a分别表示所有者,所属组,其他人和所有人,第二个花括号+和-分别表示增加和减少权限,=表示成为后面的权限。第二种方式如下:
chmod [mod=421][文件或目录] -R 递归修改
数字的意思只是将三个权限位分别用数字来表示,比如r用4表示,w用2表示,x用1表示,则若要表示rwxrw-r--则记为764
chown
命令英文原意是change file ownership,作用是改变文件或目录的所有者,改变文件file的所有者为user的具体用法为:
chown user file
要注意只有root和文件的所有者可以改变文件的权限
chgrp
命令英文原意是change file group ownership,作用是改变文件或目录的所属组,若具体用法和前面chown相同。我们可以使用groupadd命令添加组(使用useradd命令添加用户)
umask
命令英文原意是the user file-creation mask,作用是显示、设置文件的缺省权限,语法是:
umask [-S]
其中-S的作用是显示新建文件的缺省权限,但需要注意的是缺省创建文件时不可以有可执行权限的,所以当touch创建文件时会发现所有权限都少了x。
当我们直接使用umask时,比如显示0022,第一个0是特殊权限,我们暂时不涉及,第二只第四位分别是所有者、所属组和其他人,我们的最终权限实际上是777-022=755,也就是rwx r-x r-x,当然这指的是目录,如果是文件由于没有可执行权限,文件权限应当是rw- r-- r--,当然缺省创建的权限可以更改,直接使用umask 077即可将文件缺省权限更改为rwx --- ---,但不推荐做这种更改
注:本系列来自datawhale组队学习教程,将近结束时根据同学反馈重新整理而来 author:荒、越前浩波、Yurk、Don
- 上一篇:Linux文件和目录管理常用重要命令(一)
- 下一篇:Linux环境变量PATH
相关推荐
- linux 查看当前应用内存状况,以及内存参数含义
-
1、查看进程号ps-ef|greptomcat2、查看当前内存分配,200ms打印一次jstat-gc进程号2001jstat-gc344802001S0CS1C...
- 如何显示 Linux 系统上的可用内存?这几个命令很好用!
-
在Linux系统中,了解可用内存是优化系统性能、故障排查以及资源管理的重要一环。本文将详细介绍如何在Linux系统上显示可用内存,包括多种方法和工具的使用。在讨论可用内存之前,我们需要了解一些...
- Linux 下查看内存使用情况方法总结
-
Q:我想监视Linux系统的内存使用情况,在Linux下有哪些视图或者命令行工具可用呢?在做Linux系统优化的时候,物理内存是其中最重要的一方面。自然的,Linux也提供了非常多的方法来监控宝贵的内...
- 2、linux命令-用户管理
-
linux命令-用户管理用户切换[root@eric~]#sueric#切换到用户eric[eric@ericroot]$[eric@ericroot]$su#切换到rootPas...
- Centos 7 进入单用户模式详解
-
1、开机在启动菜单按e进入编辑模式找到linux16行,在最后添加init=/bin/sh编辑完后,按ctrl+x退出2、进单用户模式后,使用passwd修改密码,提示以下错误:passwd:Aut...
- 每日一个Linux命令解析——newusers
-
newusers:在Linux系统中,newusers是一个用于批量创建用户的命令。它从一个文件中读取多行用户信息,每行描述一个用户的详细信息,并根据这些信息创建多个用户或对现有用户进行批量修改。一...
- openEuler操作系统管理员指南:管理用户与用户组
-
在Linux中,每个普通用户都有一个账户,包括用户名、密码和主目录等信息。除此之外,还有一些系统本身创建的特殊用户,它们具有特殊的意义,其中最重要的是管理员账户,默认用户名是root。同时Linux也...
- Linux用户管理
-
1、用户信息文件/etc/passwdroot:x:0:0:root:/root:/bin/bash第一列:用户名第二列:密码位第三列:用户ID0超级用户UID。如果用户UID...
- centos7基础-用户、组、权限管理
-
用户和组(1)用户、组、家目录的概念linux系统支持多用户,除了管理员,其他用户一般不应该使用root,而是应该向管理员申请一个账号。组类似于角色,系统可以通过组对有共性的用户进行统一管理。每个用户...
- LINUX基础 ----------组及用户的概念
-
在Linux中,用户和组都是非常重要的概念,可以控制文件访问权限和资源的管理。用户是标识一个进程、应用程序或系统管理员的账号,Linux中每个用户用一个用户ID(UID)来标识。对于一个...
- 从零入门Linux(四)用户与权限管理
-
在Linux系统中,用户和权限管理是系统安全的重要组成部分。通过合理配置用户和权限,可以确保系统的安全性和资源的合理分配。以下是一些与用户和权限管理相关的常用命令和概念。1.用户管理1.1添加...
- 如何在 Linux 中管理用户?
-
在Linux系统中,用户是系统资源的主要使用者,每个用户都有一个唯一的标识符(用户ID)。为了更好地组织和管理用户,Linux还引入了用户组的概念。用户组是用户的集合,有助于更有效地分配权限和资...
- 在 Linux 中将用户添加到特定组的四种方法
-
在Linux多用户操作系统中,用户组管理是系统安全架构的基石。通过合理的组权限分配,管理员可以实现:精确控制文件访问权限(chmod775project/)简化批量用户权限管理(setfacl-...
- 我不是网管 - 如何在Ubuntu Linux下创建sudo用户
-
Sudo用户是Linux系统的普通用户,具有一定的管理权限,可以对系统执行管理任务。在Linux中,root是超级用户,拥有完全的管理权限,但不建议将root凭证授予其他用户或作为r...
- Linux创建普通用户,为密钥方式登录做准备
-
Hi,我是聪慧苹果8,就是江湖上人见人爱、花见花开,土到掉榨的Linux爱好者,一起学习吧!上一篇关于SSH安全加固的文字,有网友点评通过密钥登录更加安全,先创建一个普通用户,拒绝直接使用密码登录,这...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- oracle忘记用户名密码 (59)
- oracle11gr2安装教程 (55)
- mybatis调用oracle存储过程 (67)
- oracle spool的用法 (57)
- oracle asm 磁盘管理 (67)
- 前端 设计模式 (64)
- 前端面试vue (56)
- linux格式化 (55)
- linux图形界面 (62)
- linux文件压缩 (75)
- Linux设置权限 (53)
- linux服务器配置 (62)
- mysql安装linux (71)
- linux启动命令 (59)
- 查看linux磁盘 (72)
- linux用户组 (74)
- linux多线程 (70)
- linux设备驱动 (53)
- linux自启动 (59)
- linux网络命令 (55)
- linux传文件 (60)
- linux打包文件 (58)
- linux查看数据库 (61)
- linux获取ip (64)
- linux进程通信 (63)