噗。。为啥不是面试题了,封面船去哪里了?要开好船,先回到我们的初心—Linux,这篇文章是Linux的超级基础且经常用到的内容,不多说,直接肝!
一 Linux通用知识
说到操作系统,如果读大学的时候是计算机专业,那肯定就会上这门课,我猜测当时的你们想法是这样的
- 上大学使用的都是Windows系统,界面友好,上手快,习惯性的点点点操作
- 大部分的课程在windows中操作,比如C++用的Vistual Studio,学数据库的SQL Server
- 大学中的操作系统更加偏向理论研究,至于到底是怎么运作的可能懵懵懂懂
知道上了研究生到了实验室,我发现实验室的怎么都是对着一个窗口操作,瞬间觉得以前的计算机知识白学了,于是开启了Linux之路。
其实大部分的系统,团购,打车,快递都部署在服务端,其中都包含Linux,什么云计算,虚拟化,大数据等也是基于Linux,那为啥在大学里都是windows?
为什么说了解Linux的生态,会让你学到更多的新技术?
我们要知道很多的大牛通过Linux来开发各种如那件,数据库Mysql,kafka,Spark等技术都会默认提供Linux的安装运维手册,所以尽快的进入Linux的世界对于个人的进步和职业发展都是非常有好处的
每当我们买了手机,买了电脑,上手就可以用,这是因为预装了操作系统。所以呀,那有什么岁月静好,知识有人帮我们负重前行了,操作系统就是这样一个角色。
那么操作系统帮助我们做了哪些事儿呢?
- 跑几个问题,桌面上的图标是什么,为啥子敲一下键盘就出来了画面
- 电脑咋个知道我们鼠标点击的那个位置
- 为什么我一回车,这些字符就飞出去了
这几个任何一个操作,基本上都覆盖了操作系统的所有功能,那我来认识熟悉而默认的操作系统
1 vmvare
虚拟机是什么?
虚拟机通过软件来模拟具有完整硬件系统功能的,运行在完全隔离的完整计算机系统。每个虚拟计算机可以独立运行并安装各种软件和应用
- 首先从官方下载并解压虚拟机安装包,然后双击运行
- 下一步
- 选择安装位置,最好不要出现中文
- 设置用户体验选项,都可以选择
- 在桌面和开始菜单程序文件夹创建快捷方式。
- 百度一个许可证ZG1WH-ATY96-H80QP-X7PEX-Y30V4
- 打开vmvare
- 点击新建虚拟机向导 选择文件-新建虚拟机打开
- 选择自定义 下一步
- 下一步
- 安装客户机操作系统,选择稍后安装操作系统
- 命名虚拟机 更改虚拟机名称并选择安装得位置
- 更改主机配置进行处理的分配
-
虚拟内存分配:注意内存分配不能大于主机内存
-
设置虚拟机网络得类型,这里选择NAT
- IO控制器选择,选择LSILogic
- 磁盘类型选择SCSI即可
- 创建磁盘选择创建新虚拟磁盘
- 指定磁盘文件
-
修改路径
-
选择自定义硬件
- 选择centos得ISO镜像文件,先选择CDDVN—ISO镜像文件—浏览找到镜像、
- 点击完成
- 开启虚拟机 选择配置好的虚拟机
- 鼠标移动到虚拟机内部,上下键选择install centos7然后回车
-
选择软件选择最小安装,选择语言
-
软件安装
- 选择计算节点
- 开始安装
- 设置root密码,点击完成配置
2 进行网络配置
现在我们的centos还是个空壳子,如果我们需要访问外网,则需要进一步配置一波
- 打开配置文件
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
- 更改相应的配置
DEVICE=eth0 #设备名称,可根据ifcofnig命令查看到。
BOOTPROTO=dhcp #连接方式,dhcp会自动分配地址,此时不需要在下面设置ip和网关
HWADDR=00:0C:29:AD:66:9F #硬件地址,可根据ifcofnig命令查看到。
ONBOOT=yes #yes表示启动就执行该配置,需要改为yes
- service restart network完事 ping www.baidu.com
3 安装xshell
我们已经完成了安装vmvare并导入了centos,那么我们如何去玩儿这个看似很牛皮的玩意?直接上手?不习惯吧,那我们用个远程工具连连
Xshell 是一个强大的安全终端模拟软件,Xshell 可以在 Windows 界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。除此之外,其还有丰富的外观配色方案以及样式选择。
- 下载xshell(别去下了,贼慢麻烦)
- 链接测试(因为使用的ssh,那么确保centos中22端口已经打开了)
- 文件-----属性进行XHSELL相关的配置,比如配色,字体大小等
4 基本命令的使用
命令太多,必须要全部记忆,但是要学会如何查每个命令的参数。我画了个思维导图可以当作小字典查看,下面列出可能我们使用频率会更高的命令
执行命令 | 含义 |
---|---|
cd ~ | 切换到登录用户的主目录即/home/用户名 |
cd / | 进入根目录 |
cd /home/lj | 将/home/LJ作为当前的目录 |
cd … | 返回到上一层目录 |
cd - | 回到上次所在的目录 |
cd …/…/ | 去上上层目录 |
ls | 查看当前目录 |
ls -la | 查看当前目录的文件信息 包含了隐藏文件 |
pwd | 查看当前目录的绝对路径 |
cp /目录/1.txt /目录/ | 复制 |
rm | 删除 |
q! | 不保存文件退出 |
wq! | 保存退出 |
hostname | 查看当前主机名 |
ifconfig | 查看网卡相关信息 |
firewall-cmd --state | centos7查看卡其关闭防火墙状态 |
5 用户管理
刚才说了可以创建自己的用户,那么怎么创建自己的用户呢?
添加用户
useradd -d /home/lanj -m lanj
更改密码
passwd lanj
系统有很多的用户,怎么进行用户的切换?
su -lanj
su -root
如果需要
用户之间的切换使用su命令实现。root用户可以无需输入密码切换到lj用户,如果普通用户lj切换到root用户则需要输入密码,我们看看
su -lj
su -root
如何切换路径,绝对路径和相对路径
6 软件的安装方法
在Linux安装相关的工具分为三种方式,分别为源码安装,RPM包安装以及YUM安装方式
源码安装方式
开源软件都会提供源码下载的方式,对于源代码安装方式的好处即可以定制软件功能,安装需要的模块,不需要的模块可以屏蔽,方便管理,卸载等。
对于源码安装的步骤如下
- 下载解压源码
一般下载下来源码以后都会存在一个Readme文件,首先应该仔细阅读这个文件,可能有很多需要修复的以前人家遇见的问题都会在上面做记录,以免入坑不回头
- 分析平台环境
- 编译安装软件
这里会使用make工具,make工具就会通过makefile文件来实现。makefile文件是一种按照某种语法来编写且定义了各个文件的依赖关系。
在Linux中,习惯使用Makefile替代makefile,当用户执行configure后,就会在当前目录生成这个makefile文件,然后用户输入make就开始运行。我们看看Makefile是怎么个有样子
edit : main.o kbd.o command.o display.o \
insert.o search.o files.o utils.o /*注释:如果后面这些.o文件比edit可执行文件新,那么才会去执行下面这句命令*/
cc -o edit main.o kbd.o command.o display.o \
insert.o search.o files.o utils.o
main.o : main.c defs.h
cc -c main.c
kbd.o : kbd.c defs.h command.h
cc -c kbd.c
command.o : command.c defs.h command.h
cc -c command.c
display.o : display.c defs.h buffer.h
cc -c display.c
insert.o : insert.c defs.h buffer.h
cc -c insert.c
search.o : search.c defs.h buffer.h
cc -c search.c
files.o