Linux系统的介绍

Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。 --摘自百度
基本思想
Linux的基本思想有两点:第一,一切都是文件;第二,每个文件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。
优点
1.Linux由众多微内核组成,其源代码完全开源
2.Linux继承了Unix的特性,具有非常强大的网络功能,其支持所有的因特网协议,包括TCP/IPv4、TCP/IPv6和链路层拓扑程序等,且可以利用Unix的网络特性开发出新的协议栈;
3.Linux系统工具链完整,简单操作就可以配置出合适的开发环境,可以简化开发过程,减少开发中仿真工具的障碍,使系统具有较强的移植性;—以上摘自百度

环境搭建

1、在自己的电脑上安装相应的linux操作系统,但一般一个电脑只能安装一个操作系统,所以一般不建议这么做。
2、在VMware安装虚拟机,可以在网上下载linux相应版本系统的镜像安装,但安装和配置比较繁琐。
3、购买服务器,在云服务器上搭建linux环境,我用的就是这个阿里云的云服务器,新人用户购买一个很便宜,比较推荐这个(购买完后记得在自己电脑上下载Xshell->这是远程连接用的;Xftp->这是传东西到服务器上用的,这两个软件学生都免费下载地址
ps:本次介绍的linux版本是centos7版本的

下载后打开Xshell,点击文件,再点新建
在这里插入图片描述
之后输入用户名,默认root,再输入你云服务器的密码就进去了,进去页面如下
在这里插入图片描述

linux目录结构

在这里插入图片描述

/bin: bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。

/boot: 这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。

/dev : dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux
中访问设备的方式和访问文件的方式是相同的。

/etc: etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。

/home: 用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob
和 eve。

/lib: lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL
文件。几乎所有的应用程序都需要用到这些共享库。

/lost+found: 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

/media: linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。

/mnt: 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。

/opt: opt 是 optional(可选)的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

/proc: proc 是 Processes(进程) 的缩写,/proc是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器: echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
/root:该目录为系统管理员,也称作超级权限者的用户主目录。

/sbin: s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件)
的缩写,这里存放的是系统管理员使用的系统管理程序。

/selinux: 这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

/srv: 该目录存放一些服务启动之后需要提取的数据。

/sys: 这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。 sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。 该文件系统是内核设备树的一个直观反映。 当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
/tmp: tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。
/usr: usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
/usr/bin: 系统用户使用的应用程序。
/usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src: 内核源代码默认的放置目录。
/var: var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
/run: 是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

常用的基本命令

处理目录的常用命令

  • ls: 列出目录
  • cd: 切换目录
  • pwd: 显示当前的目录
  • mkdir: 创建一个新的目录
  • rmdir: 删除一个空的目录
  • cp: 复制文件或目录
  • rm: 删除文件或目录
  • mv: 移动文件或目录,或者修改文件与目录的名称

ls(列出目录)

在这里插入图片描述

-a: 全部的文件,连同隐藏文件一起列出来
在这里插入图片描述

-l: 长数据串列出,包含文件的属性和权限
在这里插入图片描述

cd:(切换目录)

在这里插入图片描述
在这里插入图片描述

pwd(显示当前的目录)

在这里插入图片描述
如果是链接
在这里插入图片描述

mkdir(创建一个新的目录)

在这里插入图片描述
如果要递归创建目录,则用到 -p
在这里插入图片描述
如果要配置文件的权限,则用到 -m
在这里插入图片描述

rmdir(删除一个空的目录)

在这里插入图片描述
如果这时候要删除test1目录,会报错,因为当前目录不为空,这时候可以用 -p命令
在这里插入图片描述
在这里插入图片描述

cp:(复制文件或目录)

在这里插入图片描述
当然也可以带上以下命令
-p 带上文件的属性一起赋值
-r 持续递归赋值,用于目录的复制行为
-f 强制复制
-i 若目标文档已经存在,会询问是否覆盖

rm:(删除文件或目录)

可带以下命令

  • -f: 不会出现警告信息
  • -i: 会出现提示删除信息,询问是否删除
  • -r: 递归删除,常用在目录下的删除,就是把目录下的东西全删了

在这里插入图片描述
以下命令删库跑路必备
rm -rf /

mv(移动文件或目录,或者修改文件与目录的名称)

  • -f: 强制覆盖
  • -i: 若目标文件存在,会提示是否覆盖信息
  • -u: 就是有更改才会覆盖

在这里插入图片描述
改名
在这里插入图片描述

文件的基本属性

文件属性介绍

linux是一个多用户操作系统,不同的用户访问同一文件有不同的权限,可用-l来查看文件的属性
在这里插入图片描述
箭头所指的10位就是文件的属性
在这里插入图片描述
文件的类型有:

  • [d]表示目录
  • [-]表示文件
  • [l]表示是链接文档
  • [b]表示装置文件里面可供存储的接口设备
  • [c]表示装置文件里面的串行端口设备,例如键盘,鼠标

权限有:

  • [r]代表可读
  • [w]代表可写
  • [x]代表可执行

对于文件来说,有一个拥有者,也就是系统所对应的某个用户,同时,linux系统中用户也是分组的,用户属于一个或者多个组。

修改文件属性

  • chgrp: 修改文件属组
  • chown: 修改文件属主,也可以同时更改文件属组
  • chomd: 修改文件的9个属性

chgrp( 修改文件属组)

chgrp [-R] 属组名 文件名

-R: 递归更改文件属组,更改某个目录时候,目录下的所有文件都修改。

chown(修改文件属主,也可以同时更改文件属组)

chown [-R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
在这里插入图片描述

chomd(修改文件的9个属性)

chomd [-R] xyz 文件或目录

除去文件的类型,属主,属组,其他用户的权限rwx都是三个为一组,这时候就可以用数字来代替
4 代表 r; 2代表w; 1代表x 再把结果相加就是所得的结果
比如你想设个rwx都有的就用7,rw就用6…
在这里插入图片描述

文件内容查看

  • cat 从第一行开始显示内容
  • tac 从最后一行开始显示
  • nl 显示的时候输出行号
  • more 一页一页的显示内容
  • less 与more相似,可以翻页
  • head 只看头几行
  • tail 只看末尾几行

cat 从第一行开始显示内容

  • -b 列出行号,只对非空白行列出行号
  • -n 列出行号,包括空白行
  • -E 将结尾的断行字节$显现

这里我已经用vim创建了个可读的文件,如何创建下面会简单介绍,这里只介绍文件内容查看
在这里插入图片描述

tac 从最后一行开始显示

在这里插入图片描述

nl 显示的时候输出行号

在这里插入图片描述

more 一页一页的显示内容

进入后:
/字符串 向下搜寻关键字

在这里插入图片描述
敲enter继续,退出按q就行

less 与more相似,可以翻页

进去后
/字符串 向下搜寻关键字
?字符串 向上搜寻关键字
n 重复前一个搜寻
N 反向重复前一个搜寻

在这里插入图片描述
上下建继续,退出按q就行

head 只看头几行

head -n 数字 文件

在这里插入图片描述

tail 只看末尾几行

tail -n 数字 文件
在这里插入图片描述

硬连接,软连接

硬连接指通过索引节点来进行连接。在 Linux 的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在 Linux 中,多个文件名指向同一索引节点是存在的。比如:A 是 B 的硬链接(A 和 B 都是文件名),则 A 的目录项中的 inode 节点号与 B 的目录项中的 inode 节点号相同,即一个 inode 节点对应两个不同的文件名,两个文件名指向同一个文件,A 和 B 对文件系统来说是完全平等的。删除其中任何一个都不会影响另外一个的访问。

软链接文件有类似于 Windows 的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。比如:A 是 B 的软链接(A 和 B 都是文件名),A 的目录项中的 inode 节点号与 B 的目录项中的 inode 节点号不相同,A 和 B 指向的是两个不同的 inode,继而指向两块不同的数据块。但是 A 的数据块中存放的只是 B 的路径名(可以根据这个找到 B 的目录项)。A 和 B 之间是“主从”关系,如果 B 被删除了,A 仍然存在(因为两个是不同的文件),但指向的是一个无效的链接。

在这里插入图片描述
在这里插入图片描述

vim的简单使用

vim是一个文本编辑器,目前我对它的使用就是在文件里面写东西。

简单的几个命令

vim 文件名

编辑该文件,如果该文件不存在就创建个同名文件,刚进去的界面是命令模式,输入i进入输入模式
在这里插入图片描述
然后输入你想编辑的内容,编辑完后按下esc输入:进入底线命令模式,再输入wq按回车就行了,w表示保存,q表示退出
在这里插入图片描述
这样我们的内容就写进去了
在这里插入图片描述

用户账号管理

添加用户账号

useradd 选项 用户名

选项:

  • -c 指定一段注释性描述
  • -d 指定用户主目录
  • -g 用户组,指定用户所属的用户组
  • -G 指定用户所属的附加组
  • -m 使用者目录不存在则自动建立
  • -s 指定用户登录的shells
  • -u 指定用户的用户号

在这里插入图片描述
添加一个用户 hql
在这里插入图片描述

切换用户

su username
普通切换回 root sudo su

在这里插入图片描述
在这里插入图片描述

删除用户

userdel 选项 用户名

选项:

  • -r 把用户主目录一起删除

在这里插入图片描述

修改账号

usermod 选项 用户名

选项与useradd一样

用户口令的管理

刚创建用户是没有口令的,必须为其设置口令才可以使用,超级用户可以为自己和其他用户指定口令,而普通用户只能修改自己的口令。

passwd 选项 用户名

选项:

  • -l 禁用该账号
  • -u 解锁该账号
  • -d 使账号无口令
  • -f 强制用户下次登入修改口令
    不写用户名则默认为当前用户

在这里插入图片描述

用户组管理

用户在创建的时候都会创建一个与它同名的用户组,这个用户就属于这个同名组

增加一个新的用户组 groupadd 选项 用户组

选项:

  • -g 指定用户组的组标识号
  • -o 表示新用户组的组标识号可以与系统已有的用户组相同

在这里插入图片描述
在这里插入图片描述
自定义的默认从1000开始自增

删除用户组 groupdel 用户组

修改用户组的属性 groupmod 选项 用户组

选项:

  • -g 为用户组指定新的标识号
  • -n newname 将用户组改成新的名字

在这里插入图片描述
在这里插入图片描述

切换组 newgrp 组名

某个用户属于多个用户组时候可以使用切换用户组

磁盘管理

  • df 列出文件系统的整体磁盘使用量
  • du 检查磁盘空间使用量

df 选项 目录或者文件名

选项:

  • -a 列出所有文件系统
  • -k 以KBytes的容量显示各文件系统
  • -m 以MBytes的容量显示各文件系统
  • -h 以人们熟悉的阅读格式显示

在这里插入图片描述

du 选项 目录或文件

选项:

  • -a 列出所有文件与目录的容量
  • -h 以人们熟悉的格式显示
  • -s 列出总量

在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐