Linux概述+面试
2021/7/19 7:07:48
本文主要是介绍Linux概述+面试,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- 1.Linux概述
- 1.由来
- 2.是什么?
- 3.Unix和Linux有什么区别?
- 4.什么是Linux内核?
- 5.特点
- 6.用途
- 2.linux目录结构
- 3.linux常用命令
- 4.虚拟软件网络模式
- 1.NAT网络模式
- 2.桥接网络模式
- 3.仅主机模式
- 5.软件安装
- 6.vim编辑器
- vim和vi
1.Linux概述
1.由来
Linux内核最初只是由芬兰人林纳斯·托瓦兹在赫尔辛基大学上学时出于个人爱好而编写的。
2.是什么?
Linux是一套免费使用和自由传播的类Unix操作系统,是一个多用户、多任务、支持多线程和多CPU的操作系统。
Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承来Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux的发行版说简单点就是将Linux内核与应用软件做一个打包。
目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。
3.Unix和Linux有什么区别?
Linux和Unix都是功能强大的操作系统,都是应用广泛的服务器操作系统,有很多相似之处。
-
开源性
Linux是一款开源操作系统,免费的;Unix是一款对源码实行知识产权保护的传统商业软件,使用需要付费授权使用。
-
跨平台性
Linux操作系统具有良好的跨平台性能,可运行在多种硬件平台上;Unix操作系统跨平台性能较弱,大多需要与硬件配套使用。
-
可视化界面
Linux除了进行命令行操作,还有窗体管理系统;Unix只是命令行下的系统。
-
硬件环境
Linux操作系统对硬件的要求较低,安装方法更易掌握;Unix对硬件要求比较苛刻,安装难度较大。
-
用户群体
Linux的用户群体很广泛,个人和企业均可使用;Unix的用户群体比较窄,多是安全性要求高的大型企业使用,如银行、电信部门等,或者Unix硬件厂商使用,如Sun等。
相比于Unix操作系统,Linux操作系统更受广大计算机爱好者的喜爱,主要原因是Linux操作系统具有Unix操作系统的全部功能,并且能够在普通PC计算机上实现全部的Unix特性,开源免费的特性,更容易普及使用。
4.什么是Linux内核?
Linux系统的核心是内核。内核控制着计算机系统上的所有硬件和软件,在必要时分配硬件,并根据需要执行软件。
- 系统内存管理
- 应用程序管理
- 硬件设备管理
- 文件系统管理
5.特点
- 免费的/开源/稳定
- 支持多线程/多用户/处理高并发
- 安全性好
- 对内存和文件管理优越
6.用途
- Linux运维工程师
- Linux嵌入式开发工程师
- Linux环境下部署项目
2.linux目录结构
-
/bin
bin是binary的缩写。这个目录沿袭了Unix系统的结构,存放着使用者最经常使用的命令。例如cp、ls、cat,等等。
-
/boot
这里存放的是启动Linux时使用的一些核心文件。
-
/dev
dev是device(设备)的缩写。这个目录下是所有Linux的外部设备,其功能类似DOS下的.sys和Win下的.vxd。在Linux中设备和文件是用同种方法访问的。例如:/dev/hda代表第一个物理IDE硬盘。
-
/etc
这个目录用来存放系统管理所需要的配置文件和子目录。
-
/home
存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示
-
/lib
这个目录里存放着系统最基本的动态链接共享库,其作用类似于Windows里的.dll文件。几乎所有的应用程序都须要用到这些共享库。
-
/lost+found
这个目录平时是空的,当系统不正常关机后,这里就成了一些无家可归的文件的避难所。
-
/mnt
这个目录是空的,系统提供这个目录是让用户临时挂载别的文件系统。
-
/proc
这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在内存里。
-
/root
系统管理员的主目录。作为系统的拥有者具有的特权。
-
/sbin
存放的是系统管理员使用的管理程序。
-
/tmp
存放临时文件的地方。
-
/var
这个目录中存放者那些不断在扩充的东西,为了保持/usr的相对稳定,那些经常被修改的目录可以放在这个目录下,实际上许多系统管理员都是这样干的。系统的日志文件就在/var/log目录中。
-
/usr
这是最庞大的目录,我们要用到的应用程序和文件几乎都存放在这个目录下。
3.linux常用命令
-
系统信息
-
date命令
-d<字符串> 显示字符串所指的日期与时间。字符串前后必须加上双引号。 -s<字符串> 根据字符串来设置日期与时间。字符串前后必须加上双引号。 -u 显示GMT。 %H 小时(00-23) %I 小时(00-12) %M 分钟(以00-59来表示) %s 总秒数。起算时间为1970-01-01 00:00:00 UTC。 %S 秒(以本地的惯用法来表示) %a 星期的缩写。 %A 星期的完整名称。 %d 日期(以01-31来表示)。 %D 日期(含年月日)。 %m 月份(以01-12来表示)。 %y 年份(以00-99来表示)。 %Y 年份(以四位数来表示)。
实例:
(1)显示下一天
date +%Y%m%d --date="+1 day" //显示下一天的日期
(2)-d参数使用
date -d "nov 22" 今年的 11 月 22 日是星期一 Mon Nov 22 00:00:00 CST 2021 date -d '2 weeks' 2周后的日期 Thu Jul 29 20:23:50 CST 2021 date -d 'next monday' (下周一的日期) date -d next-day +%Y%m%d(明天的日期)或者:date -d tomorrow +%Y%m%d date -d last-day +%Y%m%d(昨天的日期) 或者:date -d yesterday +%Y%m%d date -d last-month +%Y%m(上个月是几月) date -d next-month +%Y%m(下个月是几月)
显示系统日期
cal
显示当前月份日历
cal 2018
显示2018年日历
-
-
关机(系统的关机、重启以及登出)
shutdown -h now 关闭系统 shutdown -r now 重启 reboot 重启 logout 注销
-
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组,如:
[root@www /]# ls -l total 64 dr-xr-xr-x 2 root root 4096 Dec 14 2012 bin dr-xr-xr-x 4 root root 4096 Apr 19 2012 boot……
实例中,bin文件的第一个属性用”d“表示。”d“在Linux中代表该文件是一个目录文件。
在Linux中第一个字符表示这个文件是目录、文件或链接文件等等。
当为[d]则是目录
当为[-]则是文件
当为[l]则是链接文档
当为[b]则是装置文件里面的可供储存的接口设备
当为[c]则是装置文件里面的串行端口设备,例如键盘、鼠标。
接下来的字符中,以三个为一组,且均为[rwx]的三个参数的组合。其中,[r]代表可读、[w]代表可写、[x]代表可执行。要注意,这三个权限的位置不会改变,如果没有权限,就会出现减号[-]而已。每个文件的属性由左边第一部分的10个字符来确定。
-
文件和目录
ls / 查看根目录下的文件 ls 查看目录中的文件 ls -F 查看目录中的文件 ls -l 显示文件和目录的详细资料 ls -a 显示隐藏文件
cd / 进入到根目录 cd /home 进入‘/home’目录 cd 名称 进入其他子目录 cd .. 返回上一级目录 cd 进入个人的主目录 pwd 显示当前所在的目录。
mkdir dir1 创建一个叫做‘dir1’的目录 mkdir dir1 dir2 同时创建两个目录 rm -f file1 删除一个叫做‘file1’的文件 rmdir dir1 删除一个叫做‘dir1’的目录(删除空文件夹) rm -rf dir1 删除一个叫做‘dir1’的目录并同时删除其内容 mv dir1 new_dir 重命名 mv dir1 /usr/local/xxx 把dir移动到/user/local/xxx cp 文件名 /目标地址 复制文件 touch file 创建文件
搜索文件命令 find / -name mysql 查看进行详细信息 ss -ef|grep 程序名
4.虚拟软件网络模式
1.NAT网络模式
- **特点:**虚拟主机和宿主网络信息可以不一致
- **优点:**不容易出现局域网中IP地址冲突
- **缺点:**其他宿主机不能直接访问虚拟主机
2.桥接网络模式
- **特点:**虚拟主机和宿主网络信息是一致的
- **优点:**容易出现局域网中IP地址冲突
- **缺点:**其他宿主机能直接访问虚拟主机
3.仅主机模式
- **特点:**虚拟主机网络只能和宿主机或其他虚拟主机建立通讯
- **优点:**更安全
- **缺点:**不能连接外网
5.软件安装
yum是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。
基于 RPM( Red-Hat Package Manager)包管理,能够从指定的服务器自动下载 RPM 包并且装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
语法:
查看已经安装的软件 yum list |grep 程序名 查看可以安装的软件 yum list 程序名 yum [options] [command] [package ...] options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"), -q(不显示安装的过程)等等。 command:要进行的操作 。 Install(安装), update (更新), info (查看信 息),remove (删除), clean (清除缓存) package :操作的对象。
6.vim编辑器
在线安装vim编辑器 yum -y install vim
**作用:**vim具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。
vim和vi
vim是从vi发展出来的一个文本编辑器。代码补完、编辑及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。
基本上vi/vim共分为三种模式,分别是命令模式,输入模式和底线模式。
-
命令模式
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被 Vim 识别为命令,而非输入字符。比如我们此时按下 i,并不会输入一个字符,i 被当作了一个命令。
以下是常用的命令:
i 切换到输入模式,以输入字符。
-
输入模式
若想要编辑文本:启动 Vim,进入了命令模式,按下 i,切换到输入模式。
在命令模式下按下 i 就进入了输入模式。
在输入模式中,可以使用以下按键:
字符按键以及 Shift 组合,输入字符
ENTER,回车键,换行
BACK SPACE,退格键,删除光标前一个字符
DEL,删除键,删除光标后一个字符
方向键,在文本中移动光标
ESC,退出输入模式,切换到命令模式
-
底线模式
i, I
进入输入模式(Insert mode):
i 为『从目前光标所在处输入』, I 为『在目前所在行的第一个非空格符处开始输入』。 (常用)
:w
将编辑的数据写入硬盘档案中(常用)
:w!
若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入,还是跟你对该档案的档案权限有关啊!
:q
离开 vi (常用)
:q!
若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。
注意一下啊,那个惊叹号 (!) 在 vi 当中,常常具有『强制』的意思~
:wq
储存后离开,若为 :wq! 则为强制储存后离开 (常用)
ZZ
这是大写的 Z 喔!若档案没有更动,则不储存离开,若档案已经被更动过,则储存后离开!
[Esc]
退出编辑模式,回到一般模式中(常用)
:1
回到第一行
这篇关于Linux概述+面试的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-18git仓库有更新,jenkins 自动触发拉代码怎么配置的?-icode9专业技术文章分享
- 2024-12-18Jenkins webhook 方式怎么配置指定的分支?-icode9专业技术文章分享
- 2024-12-13Linux C++项目实战入门教程
- 2024-12-13Linux C++编程项目实战入门教程
- 2024-12-11Linux部署Scrapy教程:新手入门指南
- 2024-12-11怎么将在本地创建的 Maven 仓库迁移到 Linux 服务器上?-icode9专业技术文章分享
- 2024-12-10Linux常用命令
- 2024-12-06谁看谁服! Linux 创始人对于进程和线程的理解是…
- 2024-12-04操作系统教程:新手入门及初级技巧详解
- 2024-12-04操作系统入门:新手必学指南