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 列出总量

Linux系统的基本介绍相关推荐

  1. Linux系统Logrotate服务介绍

    Linux系统Logrotate服务介绍 本文转自 民工哥 51CTO博客,原文链接:http://blog.51cto.com/mingongge/1957688

  2. linux软件包管理 pdf,中标麒麟Linux系统软件包管理介绍(22页)-原创力文档

    中标麒麟Linux服务器操作系统培训系列 中标麒麟Linux系统软件包管理介绍 技术创新,变革未来 本章目标 •了解中标麒麟Linux服务器操作系统中应用程序的 组成: •了解中标麒麟Linux服务器 ...

  3. Linux系统用户详细介绍

    Linux系统用户详细介绍 linux 用户(user)管理 . linux有哪些用户?作用 用户组(grop) 用户相关配置 linux 用户(user)管理 人 名字 身份证 linux 名字 0 ...

  4. Linux 系统相关目录介绍

    Linux 总目录篇 Linux 系统相关目录介绍 /bin 用来贮存用户命令./usr/bin 也被用来贮存用户命令. /sbin 许多系统命令(例如 shutdown)的贮存位置./usr/sbi ...

  5. Linux学习笔记之——Linux系统内部相关介绍

    Linux学习笔记之--Linux系统内部相关介绍 摘要:主要记录一些比较有用的能够帮助理解和使用Linux的知识.比如一些相关概念.没兴趣的看看就好.知道有这么个东西.注意事项.和一些常用目录的作用 ...

  6. 3 什么是linux磁盘分区,3. Linux系统磁盘分区介绍

    1. 磁盘分区基本知识 1)磁盘在使用前一般要先分区(相当于建房子要分房间一样). 2)磁盘分区一般有主分区.扩展分区和逻辑分区之分.一块磁盘最多可以有4个主分区,其中一个主分区的位置可以用一个扩展分 ...

  7. 2021-04-04:linux第1天:linux系统的基础介绍及学习

    1.Linux学习方向 linux运维工程师:是维护linux环境服务器的 linux嵌入式工程师:下面做驱动开发和linux嵌入式系统下面做开发 linux下面做开发项目:一般是写java程序,放在 ...

  8. 如何使用 rsync 备份 Linux 系统的一些介绍

    2019独角兽企业重金招聘Python工程师标准>>> 备份一直是 Linux 世界的热门话题.回到 2017,David Both 为 Opensource.com 的读者在使用 ...

  9. linux 系统配置文件分类介绍

    内核本身也可以看成是一个"程序".为什么内核需要配置文件?内核需要了解系统中用户和组的列表,进而管理文件权限(即根据权限判定特定用户 (UNIX_USERS)是否可以打开某个文件) ...

最新文章

  1. 监控利器Prometheus初探
  2. ORACLE表空间的相关操作
  3. WebAssembly,Web的新时代
  4. SQL优化之列裁剪和投影消除
  5. 图解 React-router 源码
  6. 技术人创业建站简略指南(第一季)
  7. 递归大总结之台阶问题
  8. 扫地机器人水箱背景_家友扫地机器人拖地水箱配件(米家扫地机器人1代版)体验(Case Closed)...
  9. 日周月筛选器_Excel数据筛选与高级筛选,你会用吗
  10. 【OpenCV学习笔记】【错误处理】计算机缺失MSVCP120D.dll
  11. python爬虫之app数据抓取实战_Python爬虫工程师必学——App数据抓取实战 ??
  12. MySQL基础教程5-数据库基础回顾
  13. 麻省理工18年春软件构造课程阅读09“避免调试”
  14. 如何制作一个简单的手机信息页面
  15. 无源贴片晶振四角引脚_从贴片晶振脚位你看出什么信息?
  16. 运营管理模型对计算机软件,生产与运作管理
  17. powerquery分组_Power Query系列 - 排序Ranking
  18. 应用程序正常初始化 0xc015002 失败
  19. 异构医院信息系统(HIS)更换时数据迁移的方法
  20. Gogs生产环境搭建和数据迁移指南

热门文章

  1. LabVIEW 通讯与罗克韦尔 AB Allen Bradley PLC通讯 EhernetIP 网口TCP标签通讯 SL500实测通过
  2. java.lang.NullPointerException: Missing required view with报错
  3. 学习笔记:几种矩阵乘法(matmul product普通乘积、hadamard product矩阵点乘、kronecker product克罗内克积、斯特拉森矩阵乘法)
  4. 矩阵内积、外积(克罗内克积)和Hadamard积
  5. get请求图片出现403 防盗链解决方式 no-referrer
  6. QUASI-HYPERBOLIC (拟双曲线) MOMENTUM AND ADAM FOR DEEP LEARNING——精读
  7. linux xorg进程cpu高,linux – xorg内存泄漏
  8. linux proftpd 用户,Linux下安装和配置proftpd教程
  9. PSP游戏开放环境的建立
  10. elasti 时间范围查询