①桌面操作系统
>Windows系列
>Mac OS
>Linux
②服务器操作系统
>Linux
>Windows Server
③嵌入式操作系统
>Linux
④移动设备操作系统
>iOS
>Android(基于Linux)
>Windows Phone
>BlackBerry OS
Linux内核:Linux内核是一种开放源码的操作系统,由 Linus Benedict Torvalds 负责维护,提供硬件抽象层、硬盘及文件系统控制及多任务功能的系统核心程序。
Linux发行版:Linux发行版基于linux内核源码,将Linux系统的内核与外围实用程序(Utilities)软件和文档包装起来,并提供一些系统安装界面和系统配置、设定与管理工具,就构成了一种发行版本(distribution),Linux的发行版本其实就是Linux核心再加上外围的实用程序组成的一个大软件包。
Linux主要发行版:
Ubuntu、CentOS、Debian、Red Hat Linux、Linux Mint、Fedora Core、Mandrake、SuSE、Gentoo
①单用户、多用户。根据在同一时间使用计算机用户的多少,操作系统可分为单用户操作系统和多用户操作系统。单用户操作系统是指一台计算机在同一时间只能由一个用户使用,一个用户独自享用系统的全部硬件和软件资源,而如果在同一时间允许多个用户同时使用计算机,则称为多用户操作系统。
②单任务、多任务。用户在同一时间可以运行多个应用程序(每个应用程序被称作一个任务),则这样的操作系统被称为多任务操作系统。如果一个用户在同一时间只能运行一个应用程序,则对应的操作系统称为单任务操作系统。
早期的DOS操作系统是单用户单任务操作系统
Linux、UNIX是多用户多任务操作系统
现在常用的Windows操作系统都是多用户多任务的操作系统
Windows是用盘符区分盘的,然后每个盘下又可以分为各级目录,各级目录下又有各级子目录
Linux没有盘符概念,而只有一个根目录 / ,所有文件都存在该目录下
详解:
/:根目录,位于Linux文件系统目录结构的顶层,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中
/home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。
/boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
/dev:dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
/etc:这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
/opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
/root:该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
/selinux:这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
/srv:该目录存放一些服务启动之后需要提取的数据。
/sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。
/tmp:这个目录是用来存放一些临时文件的。
/usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
/usr/bin:系统用户使用的应用程序。
/usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src:内核源代码默认的放置目录。
/var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
/run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件:
/etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。
/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。
值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令。
/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里。
ubuntu16版本的菜单栏在顶部,得把鼠标移动到顶部栏才会显示出来
①学习Linux命令的原因
因为开发过程只能通过 远程 连接服务器,对服务器进行操作,它并没有图形化界面,所有部署与维护工作都必须靠Linux命令;而且后台程序员也需要或多或少去掌握一些Linux命令
②终端使用技巧
放大字体 Ctrl + Shift + =
缩小字体 Ctrl + -
自动补全 敲出 文件名、目录名或者命令的前几个字母之后,按下Tab键
1.如果输入前面的字母,没有歧义,系统会自动补全
2.如果输入前面的字母,对应多个结果,再按一下Tab键,系统会提示多个存在的结果
历史命令 按 上/下 方向键可以在曾经敲过的命令中切换
如果想要退出选择并且不想执行当前命令,按 Ctrl+c
③Linux基本命令
序号 命令 对应英文 作用
01 ls list 查看当前文件夹下的内容
02 pwd print working directory 查看当前所在文件夹
03 cd [目录名] change directory 切换文件夹
04 touch [文件名] touch 如果文件不存在,新建文件
05 mkdir [目录名] make directory 创建目录
06 rm [文件名] remove 删除指定的文件名
07 clear clear 清屏
④命令格式
command [-option] [parameter]
命令 [选项] [参数]
[ ] 中为可选内容
⑤查阅终端命令的帮助信息
1.百度查找
2.命令名字 --help 查阅该 command 命令的帮助信息
3.man 命令名字 查阅该 command 命令的帮助信息,man是 manual:手册
man显示更加详细,使用man查阅命令的帮助信息使用的操作键
操作键 功能
空格键 显示手册页的下一屏
Enter键 一次滚动手册页的一行
b(back) 回滚一屏
f(forward) 前滚一屏
q(quit) 退出
/word 搜索 “word” 字符串
⑥Linux命令详解
1、ls 命令
linux系统中以 . 开头的为隐藏文件,单独显示时,.代表当前目录,…代表上级目录
选项 含义
-a 显示指定目录下的所有子目录与文件,包括隐藏文件
-l 以列表方式显示文件的详细信息
-h 仅配合 -l 才有效,以通俗方式显示文件大小
额外掌握:
Linux系统下使用ls命令会发现显示出来的文件或目录颜色不同,这是系统默认针对不同文件类型设置了不同的颜色 。
浅蓝色:表示链接文件;
灰色:表示其他文件;
绿色:表示可执行文件;
红色:表示压缩文件;
蓝色:表示目录;
红色闪烁:表示链接的文件有问题了;
黄色:表示设备文件,包括block,char,fifo。
用"dircolors -p"命令可以看到缺省的颜色设置,包括各种颜色和"粗体",下划线,闪烁等。
2、cd 命令
选项 含义
cd 切换到当前用户的主目录(home/该用户目录)
cd ~ 切换到当前用户的主目录(home/该用户目录)
cd . 继续在当前目录
cd … 切换到上级目录
cd - 可以在最近两次工作目录之间切换
绝对路径:指从 根目录或者当前工作目录~ 开始,例如/home/xxxx,~/Desktop/xxx
相对路径:相对于 当前目录 开始,例如 ./,…/
3、touch 命令
如果文件不存在,可以创建一个新文件
如果文件已经存在,可以修改文件的最后修改日期时间
可以这样使用:touch xxx/yyy/zzz.txt
4、mkdir 命令
创建新目录
选项 含义
-p 可以直接创建多级目录
例如:mkdir -p aaa/bbb/ccc/ddd
注意:新目录名称 不能与当前目录中 已有的目录或文件 同名
例如:文件名为123,就不能建立一个123的目录名,如果文件名为123.txt,则无影响
5、rm 命令
注意:rm命令将会直接删除,不会提示
选项 含义
-f 强制删除操作,没有任何提示,包括该文件不存在
-r 删除文件夹及该文件夹下所有内容
6、拷贝和移动文件
序号 命令 对应英文 作用
01 tree [目录名] tree 以树状图列出文件目录结构
02 cp 源文件 目标文件 copy 复制文件或目录
03 mv 源文件 目标文件 move 移动文件或者目录/文件或者目录重命名
tree:以树状图列出文件目录结构
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
[外链图片转存中…(img-6x2IZAjA-1715798143591)]
[外链图片转存中…(img-DgyNwlPJ-1715798143591)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!