1、Linux怎么读? 推荐读法:里纽克斯
2、Linux是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可,目前很多企业级的项目都会部署到Linux/unix系统上。
3、常见的操作系统(Win7/Win10、IOS、Android、Mac)。
4、Linux 吉祥物。
该标志的由来是因为Linus在澳洲时曾被一只动物园里的企鹅咬了一口,便选择了企鹅作为Linux的标志。
6、Linux主要的发行版:
Ubuntu(乌班图)、RedHat(红帽)、CentOS、Debain[蝶变]、Fedora、SuSE、OpenSUSE
7、Linux和Unix的关系 -> Unix是怎么来的
1943年
汤普逊
出生于美国新奥尔良
。1960年就读加州大学伯克利分校
主修电气工程
,取得了电子工程硕士
的学位。1966年加入了贝尔实验室
。汤普逊参与了贝尔实验室与麻省理工学院
以及通用电气公司
联合开发的一套多用户分时操作系统
,名叫Multics
,同时他自己写了一个“star travel”游戏
可运行于Multics之上。贝尔实验室后来撤出Multics计划。汤普逊只好找到一台老式PDP-7机器,重写了他的“star travel”游戏。
在开发Multics的期间,汤普逊创造出了名为Bon的程式语言
。汤普逊花了一个月的时间开发了全新的操作系统,UNiplexed Information and Computing System(UNICS),可执行于PDP-7机器之上,后来改称为UNIX
。第一版的Unix就是基于B语言
来开发的。Bon语言在进行系统编程时不够强大,所以Thompson和Ritchie对其进行了改造,并于1971年共同发明了C语言
。1973年Thompson和Ritchie用C语言重写了UNIX。安装于PDP-11的机器之上。
1983年,美国计算机协会将杜林奖(图灵奖)
授予汤普逊与丹尼斯。
2000年12月时,汤普逊退休,离开贝尔实验室,成为了一名飞行员
。
美国贝尔实验室是晶体管
、太阳能电池
、数字交换机
、通信卫星
、有声电影
等许多重大发明的诞生地。自成立年以来,贝尔实验室共获得两万七千多项专利,平均每个工作日获得4项多专利。一共获得8项诺贝尔奖(其中7项物理学奖,1项化学奖)。
Unix 的使用成本很高,不是想用就用的起的!
1、5万美元起价 【当时可以购买一套美国别墅】
2、需要性能高端服务器
理查德·马修·斯托曼是世界最著名的黑客。
毕业于哈佛大学,是美国国家工程院院士。
取得最大的成就,就是发起GNU计划
,提倡软件的源码可以被阅读并在规定下进行改版。
8、Linux和Unix的关系 -> Linux是怎么来的
伟大的GNU计划:
Linux的完成的称呼应该是 GNU/Linux,我们简称Linux。
javaEE和大数据一般使用CentOS。
Python一般使用Ubuntu。
学习Linux需要一个环境,我们需要创建一个虚拟机,然后在虚拟机上安装一个Centos系统来学习。
安装CentOS-7.5(桌面版)的补充:手动分区
Linux系统Linux至少有三个分区:
第一个分区:创建标准分区,挂载点是 /boot,文件系统类型为ext4,是Linux系统在启动或引导的时候需要的文件所放在的位置,大小一般200M足够。
第二个分区:创建标准分区,没有挂载点,文件系统类型为swap,是Linux系统的交换分区,相当于Windows的虚拟内存,大小一般跟Linux系统分配的物理内存相同或者是其2倍。作用是:当Linux系统内存不够用的时候,临时充当内存使用,效率比实际物理内存要低一点,比物理硬盘要高。
第三个分区:创建标准分区,挂载点是/,文件系统类型为ext4,是Linux系统的根分区。大小是剩余的全部可用空间。
说明:也可以使用将除去 /boot 和 swap 分区的所有空间分配给 / 根分区的方式。
这里,在面试的时,有可能面试官问关于
桥接模式
、NAT模式
和主机模式
的含义和区别?
虚拟机的三种网络配置方式的说明:
网络连接类型的选择,网络连接类型一共有
桥接
、NAT
、仅主机
和不联网
四种。
桥接
:选择桥接模式的话虚拟机和宿主机在网络上就是平级的关系,相当于连接在同一交换机上。
NAT
:NAT模式就是虚拟机要联网得先通过宿主机才能和外面进行通信。
仅主机
:虚拟机与宿主机直接连起来。
桥接与NAT模式访问互联网过程,如下图所示:
这里,我们仅仅简单的动态的分配ip(后面我们要学习固定分配ip)。
参考链接:虚拟机CentOS 7.5 如何固定IP地址
Linux的文件系统是采用
级层式的树状目录结构
,在此结构中的最上层是根目录“/”
,然后在此目录下再创建其他的目录。
深刻理解Linux树状文件目录
是非常重要的,这里我给大家说明一下。
记住一句经典的话:在Linux世界里,一切皆文件。(即使是一个硬件设备,也是使用文件来标识的,即把硬件映射成一个文件)
具体的目录说明:
1、
2、
3、
/proc、/srv、/sys 目录是高手的修改的地方,目前水平不用去修改。【属于Linux内核部分】
4、
比如:
/dev 就有 cpu 、disk 等等。
/mnt 可以实现磁盘扩容。
5、
/opt 放将要安装的软件程序,所以工作时,我们尽量将安装软件放到这个统一的目录下。
/selinux 是一个安全系统,类似360安全卫士。当有黑客入侵到服务器后,就会触发/selinux 安全系统。
根目录/
其他的目录都是在 /目录分支里。目录树
。Xshell 是目前最好的远程登录到Linux操作的软件,流畅的速度并且完美解决了中文乱码的问题,是目前程序员首选的软件。
Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的 TELNET 协议。
Xshell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。
特别说明:如果希望安装好的XShell可以访问Linux系统的话,需要有一个前提:就是Linux启用了sshd的服务,该服务会监听22号端口。
Xshell6使用方法:
点击【新建】
填写信息
由于是第一次连接,点击【接受并保存】
输入登录Linux系统的用户名
输入登录密码
远程连接成功后的截图
Xftp6是一个基于 windows 平台的功能强大的SFTP、FTP 文件传输软件。使用了 Xftp 以后,windows 用户能安全地在 UNIX/Linux 和 Windows PC 之间传输文件。
注意:Xftp6使用方法同Xshell6使用方法!这里不再赘述。不同的地方:协议要选择SFTP
。
简便方法:我们可以在Xshell6界面点击【新建文件传输】按钮直接进入Xftp6界面。
效果:
显示中文乱码解决:
点击【确定】之后,刷新,就可以解决显示中文乱码问题!
SecureCRT是用于远程登录Linux的软件。SecureCRT 也是一款常用的远程登录Linux的软件,在
大数据开发中
使用较多。
注意:在大数据开发中使用什么终端软件都可以,没有什么是必须使用的。
SecureCRT8.1.4整合汉化绿色版:
下载链接:
https://share.weiyun.com/1b080cae17c0d66755b100228dce0f31(密码:WV98)
破解教程:自己网上下载SecureCRT v8.x 注册机。
SecureCRT v8.x 注册机使用说明:
[基本信息]
SecureCRT v8.x 注册机,TEAM Z.W.T 出品,MD5 = 44114b98d90f8bfc9e18c285937ca092
[使用说明]
1. 先不要运行 SecureCRT
2. 建议把注册机放到安装目录(放在其他目录也可以)
3. 运行securecrt8.0_注册机
4. 点击 Patch,此时会让你选择 SecureCRT.exe 和 LicenseHelper.exe 的位置
5. 应用 Patch 成功之后,会出现 SecureCRT.exe 和 LicenseHelper.exe 的 .bak 备份文件
6. 此时以管理员身份再运行 SecureCRT,会先弹要你注册,点击下一步,再点击 Enter License Manually
7. 复制粘帖注册机上的 License 里面的内容到指定的编辑框, 点击下一步,OK
注意:默认打开CRT时候会是一个输入key的页面,什么都不输入,点击下一步
SecureCRT无法启动的解决方法:
https://www.cnblogs.com/chenmingjun/p/9938765.html
使用步骤:
填写连接信息
选择SecureFX协议
给回话起名字,任意,原则:见名知意
开始连接
接受并保存
输入Linux系统的用户名和密码
连接成功后截图:
中文乱码解决:
所有的 Linux 系统都会内建 vi 文本编辑器。
Vim 具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
我们只需要掌握它的基本使用即可。
正常模式:
以 vim 打开一个文件就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、粘贴』来处理你的文件数据。在正常模式下可以使用快捷键。
插入模式(编辑模式):
按下i(insert), I, o, O, a, A, r, R等任何一个字母之后才会进入编辑模式,一般来说按i即可。
命令行模式
在这个模式当中,可以提供你相关指令,完成读取、存盘、替换、离开vim、显示行号等的动作则是在此模式中完成的。
使用 vim 开发一个 Hello.java 程序,步骤说明和演示如下:
yy
,拷贝当前行向下的5行:5yy
,并粘贴:p
。【该快捷键在正常模式下使用】dd
,删除当前行向下的5行:5dd
。:/关键字
,回车查找,输入 n
就是查找下一个 】:set nu
和 :set nonu
]G
和最首行gg
【在正常模式下使用】u
【在正常模式下】shift+g
【在正常模式下使用】shutdown -h now 【立刻关机】
shutdown -h 1 【1分钟后,关机】
shutdown -r now 【立刻重启】
shutdown -r 2 【2分钟后,重启】
halt 【立刻关机】
reboot 【立刻重启】
在重启和关机前,通常需要先执行
sync 【把内存的数据,写入磁盘】
建议:不管是重启系统还是关闭系统,首先要运行sync命令,把内存中的数据写到磁盘中。这是个好习惯!
su - 用户名
命令来切换成系统管理员身份。logout
即可注销用户。【不同的shell具体命令可能不同(logout或exit)】logout
注销指令在图形运行级别运行该指令无效,在运行级别 3
下运行该指令有效。(简单提一下:0-6个级别)Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
Linux的用户至少需要属于一个组。
基本语法
useradd [选项] 用户名
案例演示
添加一个用户xiaoming
细节说明
1、当创建用户成功后,会自动的创建和用户同名的家目录【/home/xiaoming】。
2、也可以通过useradd -d /home/xiaohonghome xiaohong
给新创建的用户xiaohong指定家目录【/home/xiaohonghome】。
基本语法
passwd 用户名 // 如果没有带用户名,则是给当前登录的用户修改密码
案例演示
给xiaoming用户指定密码
passwd xiaoming // 需要使用root用户,这样权限才够
基本语法
userdel 用户名
案例演示
删除用户xiaoming,但是要保留家目录 userdel xiaoming
删除用户以及用户家目录 userdel –r xiaohong
【小心使用】
细节说明
是否保留家目录的讨论? [建议一般保留]
linux彻底删除用户
删除用户xiaoming,如果我们直接使用
userdel xiaoming
,那么并不能删除该用户账号所有相关信息,只是删除掉了/etc/passwd、/etc/shadow、/etc/group/、/etc/gshadow 四个文件里的该账户和组的信息。因为默认情况下创建一个用户账号,设置好密码后,会创建一个家目录和一个用户邮箱(在/var/spool/mail目录以用户名命名)。我们可以使用find命令来查找所有与该用户相关的文件信息【find / -name “xiaoming”】。如下图所示:
基本语法
id 用户名
案例演示
请查询root信息
介绍
在操作Linux中,如果当前用户的权限不够,可以通过su -
指令,切换到高权限用户,比如root用户。
基本语法
su - 切换用户名
案例演示
创建一个用户xiaojun,指定密码,然后切换到xiaojun。
细节说明
1) 从权限高的用户切换到权限低的用户,不需要输入密码,反之需要。
2) 当需要返回到原来用户时,使用exit指令。
3) 如果su – 没有带用户名
,则默认切换到root用户。
介绍
类似于角色,系统可以对有共性的多个用户进行统一的管理。
新增组
groupadd 组名
案例演示
groupadd wudang
删除组
groupdel 组名
案例演示
groupdel wudang
注意:
这里有一个前提,就是这个用户组没有用户,才能被删除。
1、创建一个用户,名字叫abc,主目录是/home/abc/目录,属于aabb这个组。
useradd -d /home/abc/ abc -m -g aabb
-d的意思是指定用户的主目录
-m的意思是,如果主目录不存在,那么就自动创建这个目录
-g的意思是指定该用户属于哪个组
2、增加一个用户zwj, 直接将他指定到用户组wudang。
useradd zwj -g wudang
修改用户所属的用户组
usermod 用户名 –g 新的组名
案例演示
创建一个shaolin用户组,让将zwj用户修改到shaolin用户组。
/etc/passwd 文件
用户(user)的配置文件,记录用户的各种信息。
每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell的种类
/etc/shadow 文件
口令的配置文件。
每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:保留
/etc/group 文件
组(group)的配置文件,记录Linux包含的组的信息。
每行含义:组名:口令:组标识号:组内用户列表
基本介绍
运行级别说明:
0 :关机
1 :单用户【类似安全模式,这个模式可以帮助找回root密码】
2 :多用户状态没有网络服务
3 :多用户状态有网络服务【使用最多】
4 :系统未使用保留给用户
5 :图形界面
6 :系统重启
常用运行级别是3和5,我们可以修改默认的运行级别文件。
CentOS 6X 和 CentOS 7X 的指定运行级别的方式有区别!!!
CentOS 6X 是通过修改/etc/inittab 来修改默认运行级别的。
查看vim /etc/inittab
文件
id:5:initdefault:
命令:init [012356]
通过init来切换不同的当前运行级别,比如:5、3,然后关机。
init 5
init 3
init 0
查看vim /etc/inittab
文件
我们可以看到,里面除了注释,什么也没有,并没有CentOS 6X中设置默认运行当前级别的方式。
注释内容大意是说:
# multi-user.target类似于runlevel 3
# graphical.target类似于runlevel5
#获得默认运行级别的方式
systemctl get-default
#设置默认运行级别的方式
systemctl set-default TARGET.target
运行级别对应表如下图所示:
CentOS 7X 设置运行级别
命令格式:systemctl [command] [unit.target]
参数详解:command:
get-default 获得当前的target
set-default 设置指定的target为默认的运行级别
isolate 切换到指定的运行级别
unit.target 为运行级别对应表中列出的运行级别,如下图所示:
注:上表前两行是设置默认运行级别(重启系统生效),后两行是设置当前运行级别(立即生效)。
CentOS 7X 系统演示
1、请设置我们的Linux运行级别,linux运行后,直接进入到命令行终端(3级别)
。
答:对于CentOS 6X而言,编辑vim /etc/inittab
文件即可,修改为:id:3:initdefault:
对于CentOS 7X而言,命令是:systemctl set-default multi-user.target
(重启linux系统后生效)
**扩展:**如果将运行级别设置为0,即Linux系统一开机就立马关机,那么我们如何解决这个问题?
答:思路同下。即进入单用户运行级别,然后修改inittab文件
。
2、假设我们的root用户的密码忘记了,请问如何找回密码?
思路:进入单用户运行级别,然后修改root密码。因为单用户运行级别不需要密码就可以使用root身份登录。
答:Linux系统启动时 -> 快速输入Enter -> 输入e -> 进入到编辑界面 -> 选择中间有kernel项 ->再输入e(edit) -> 在该行的最后写入空格和1
[表示修改内核,临时生效] -> 再输入Enter ->输入b [boot] -> 进入到单用户模式【这里就可以做补救工作了】。
截图如下:
Linux系统启动时,快速输入Enter
输入e,进入到编辑界面,选择中间有kernel项
再输入e(edit),在该行的最后写入空格和1
[表示修改内核,临时生效],再输入Enter
输入b [boot],进入到单用户运行级别【这里就可以做补救工作了】
单用户运行级别不需要密码就可以使用root身份登录,此时我们使用root用户修改密码即可。
思考:root用户的密码都可以随意修改,Linux的安全性体现在哪里呢?
答:上述修改root用户密码的前提:不能远程登录,必须在这个Linux服务器所在的电脑上进行操作。换言之,这个Linux服务器就在我们身边,触手可及,是我们自己的东西,我们对于我们自己的东西,想怎么整都行!何况小小的修改密码的操作。
cd ~
或者 cd
回到自己的家目录cd ..
回到当前目录的上一级目录cd /root
cd ../root
(用户在/home目录下)cd ..
cd ~
mkdir /home/dog
mkdir -p /home/animal/tiger
rmdir /home/dog
[前提 /home/dog 是空目录]rm -rf 要删除的目录
touch hello.txt
touch hello.txt haha.txt
/home/aaa.txt
拷贝到 /home/bbb/
目录下 cp /home/aaa.txt /home/bbb/
/home/
整个目录拷贝到 /opt/
目录下 cp -r /home/ /opt/
\cp
/
表示的是根目录,/home/
和/home
都表示的是根目录下的home目录,但是建议home目录写成home/
会更专业,这样避免出现歧义。即xxx目录
最好写成xxx/
,正斜杠最好别省略!强烈推荐多使用绝对路径,少用相对路径!脑海中要有清晰的Linux目录树结构图。/home/aaa.txt
删除 rm /home/aaa.txt
/home/bbb/
命令 rm –r /home/bbb/
rm –rf /home/bbb/
/home/aaa.txt文件
重新命名为 pig.txt
,前提:aaa.txt文件先存在,才是重命名。/home/pig.txt文件
移动到 /root/
目录下,前提:/root/
目录下没有改文件,是移动。/ect/profile文件
内容,并显示行号。命令:cat -n /etc/profile | more
| more
cat xxx.txt
输出结果交给 more
处理),如下图所示:文本过滤器
,它以全屏幕的方式按页显示
文本文件的内容。more /etc/profile文件
并不是一次将整个文件加载之后才显示
,而是根据显示需要加载内容,对于显示大型文件具有较高的效率
。大型日志文件
。> 输出重定向
和>> 追加
/home/
目录下的文件列表写入到 /home/info.txt
中ls –l /home/ > /home/info.txt
[如果文件不存在,则会自动创建后再写入]/home/mycal
文件中date >> /home/mydate
或者 cal >> /home/mycal
tail -f logs/catalina.out
/home/
目录下创建一个软连接,名为 linkToRoot,连接到 /root/
目录ln -s /root/ linkToRoot
rm –rf linkToRoot
history
history 10
/home/
目录下的 hello.txt文件find /home/ -name hello.txt
find /opt/ -user nobody
find / -size +10M
(注意:k要小写,M要大写)管理员必须定期更新locate时刻
。updatedb
// 创建locate的数据库locate hello.txt
cat /etc/profile | grep -n if
[在/etc/profile 中查找 if ,并显示行,区别大小写]cat /etc/profile | grep -ni if
[在/etc/profile 中查找 if ,并显示行,不区别大小写]zip -r mypackage.zip /home/
unzip –d /opt/tmp/ mypackage.zip
[如果/opt/tmp/ 目录不存在,会自动创建]tar -zcvf a.tar.gz a1.txt a2.txt
tar -zcvf myhome.tar.gz /home/
tar -zxvf a.tar.gz
tar -zxvf myhome.tar.gz -C /opt/tmp2/
我的GitHub地址:https://github.com/heizemingjun
我的博客园地址:https://www.cnblogs.com/chenmingjun
我的蚂蚁笔记博客地址:https://blog.leanote.com/chenmingjun
Copyright ©2018~2019 黑泽君
【转载文章务必保留出处和署名,谢谢!】