Linux②—概述与基本命令

1、操作系统分类


①桌面操作系统

>Windows系列

>Mac OS

>Linux

②服务器操作系统

>Linux

>Windows Server

③嵌入式操作系统

>Linux

④移动设备操作系统

>iOS

>Android(基于Linux)

>Windows Phone

>BlackBerry OS

2、Linux内核和发行版


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

3、单、多用户操作系统与单、多任务操作系统


①单用户、多用户。根据在同一时间使用计算机用户的多少,操作系统可分为单用户操作系统和多用户操作系统。单用户操作系统是指一台计算机在同一时间只能由一个用户使用,一个用户独自享用系统的全部硬件和软件资源,而如果在同一时间允许多个用户同时使用计算机,则称为多用户操作系统。

②单任务、多任务。用户在同一时间可以运行多个应用程序(每个应用程序被称作一个任务),则这样的操作系统被称为多任务操作系统。如果一个用户在同一时间只能运行一个应用程序,则对应的操作系统称为单任务操作系统。

早期的DOS操作系统是单用户单任务操作系统

Linux、UNIX是多用户多任务操作系统

现在常用的Windows操作系统都是多用户多任务的操作系统

4、Linux目录结构


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的预设放置也是在这里。

5、Ubuntu的使用


ubuntu16版本的菜单栏在顶部,得把鼠标移动到顶部栏才会显示出来

6、Linux命令


①学习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开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值