第一阶段:熟练操作Linux基本命令,包括文件操作(rm 、mkdir、chmod、chown);文件编辑工具使用(vi、vim);用户管理(useradd、userdel、usermod)等。
第二阶段:Linux的各种配置(环境变量配置、网络配置、服务配置等)。
第三阶段:Linux搭建对应语言的开发环境(JavaEE、Python、大数据等)。
第四阶段:能编写Shell脚本,对服务器进行维护。
第五阶段:能进行安全设置,防止攻击,保障服务器正常运行,能对系统调优。
第六阶段:深入理解Linux系统,熟练掌握大型网站应用架构组成,并熟悉各个环节的部署和维护方法。
Linux是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可,目前很多企业级的项目都会部署到Linux/Unix系统上。
常见的操作系统:Windows、Mac OS、IOS、Android、
Linux创始人: Linus Torvalds。
Linux主要的发行版:Ubuntu(乌班图)、RedHat(红帽)、CentOS、Debain(蝶变)、Fedora、SUSE、OpenSUSE。
Linux 是一个类似 Unix 的操作系统,Unix 要早于 Linux,Linux 的初衷就是要替代 UNIX,并在功能和用户体验上进行优化,所以 Linux 模仿了 UNIX(但并没有抄袭 UNIX 的源码),使得 Linux在外观和交互上与 UNIX 非常类似。
说模仿可能会被人喷,你也可以说微创新或者改进。
相比于 UNIX,Linux 最大的创新是开源免费,这是它能够蓬勃发展的最重要原因;而目前的 UNIX大部分都是收费的,小公司和个人都难以承受。
正是由于 Linux 和 UNIX 有着千丝万缕的联系,所以人们把 Linux 叫做 “类UNIX系统” 。
Linux的文件系统是采用层级式的树状目录结构,在此结构中的最顶层目录是根目录” / “,然后在此目录下再创建其他的目录。
在Linux世界里,一切皆文件。
目录结构示意图:
目录结构详解:
/bin [重点]( /usr/bin 、 /usr/local/bin ):Binary的缩写,此目录存放着最经常使用的命令。
/sbin ( /usr/sbin、/usr/local/sbin):s是Super User的意思,此目录存放着系统管理员使用的系统管理程序。
/home [重点] :存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录以用户的账号命名。
/root [重点] :该目录为系统管理员,也称作超级权限者的用户主目录。
/lib: 系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库。
/lost+found:此目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/etc [重点] :所有的系统管理所需要的配置文件和子目录。
/usr [重点] :这是一个非常重要的目录,用户的很多应用程序和文件都放在此目录下,类似于Windows的program files目录。
/boot [重点] :存放启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
/proc [一般不要动] :此目录是一个虚拟的目录,它是系统内存的映射,访问此目录来获取系统信息。
/srv [一般不要动] :service的缩写,此目录存放一些服务启动之后需要提取的数据。
/sys [一般不要动] :这是Linux2.6内核的一个很大的变化,此目录下安装了2.6内核中新出现的一个文件系统。
/tmp :此目录是用来存放一些临时文件的。
/dev :类似于Windows的设备管理器,把所有的硬件用文件的形式存储。
/media [重点] :Linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux会把识别的设备挂载到此目录下。
/mnt [重点] :系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在 /mnt 下,然后进入该目录就可以查看里面的内容了。/mnt 目录可以实现磁盘扩容。
/opt:这是给主机额外安装软件所摆放的目录,如安装Oracle数据库就可放到该目录下,默认为空。工作中,我们尽量将安装软件统一放到该目录下。
/usr/local [重点] :这是另一个给主机额外安装软件所安装的目录,一般是通过编译源码方式安装的程序。
/var [重点] :这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在此目录下,包括各种日志文件。
/selinux:SELinux是一种安全子系统,它能控制程序只能访问特定文件。类似360安全卫士,当有黑客入侵到服务器后,就会触发/selinux安全系统。
小结:
项目开发中,具体的情况如下:
示意图:
XShell是一个强大的安全终端模拟软件,它支持SSH1,SSH2,以及Microsoft Windows平台的TELNET协议。
XShell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。
Xftp:基于 MS windows平台的功能强大的SFTP、FTP文件传输软件。简单来说,通过这款软件你可以在你的电脑和云服务器之间传输文件。
Xftp是一个功能强大的SFTP、FTP 文件传输软件。使用了 Xftp 以后,MS Windows 用户能安全地在 UNIX/Linux 和 Windows PC 之间传输文件。Xftp 能同时适应初级用户和高级用户的需要。它采用了标准的 Windows 风格的向导,它简单的界面能与其他 Windows 应用程序紧密地协同工作,此外它还为高级用户提供了众多强劲的功能特性。
shutdown -h now 立刻进行关机
shutdown -h 1 1分钟后关机
shutdown -r now 立刻重启机器
halt 和上面作用一样
reboot 立刻重启机器
sync 把内存的数据同步到磁盘
注意:不管是重启还是关闭系统,首先要运行sync命令,把内存中的数据写到磁盘中。
登录时尽量少用root账号登录,因为它是系统管理员,最大的权限,避免操作失误,可以先用普通用户登录,登录后再用
su - 用户名
命令来切换成系统管理员身份。
在提示符下输入logout即可注销用户。
logout注销指令在图形运行级别无效,关于运行级别下面会讲。
运行级别0 :系统关机状态,系统默认运行级别不能设置为0,否则不能正常启动。
运行级别1 :单用户工作状态,root权限,用于系统维护,禁止远程登录。
运行级别2 :多用户状态,没有NFS。
运行级别3 :完全的多用户状态(有NFS),登录后进入控制台命令行模式。
运行级别4 :系统未使用,保留。
运行级别5 :X11控制台,登录后进入图形GUI模式。
运行级别6 :系统正常关闭并重启,默认运行级别不能设置为6,否则不能正常启动。
常用运行级别是3和5,要修改默认的运行级别可修改文件
/etc/inittab 的 id:5:initdefault 这一行中的数字;或使用命令 init [0123456]
。
在目录/etc/rc.d/init.d下有许多服务器脚本程序,一般称为服务(service)。
在/etc/rc.d下有7个名为rcN.d的目录,对应系统的7个运行级别。
rcN.d目录下都是一些符号链接文件,这些链接文件都指向init.d目录下的service脚本文件,命名规则为K+nn+服务名或S+nn+服务名,其中nn为两位数字。
系统会根据指定的运行级别进入对应的rcN.d目录,并按照文件名顺序检索目录下的链接文件。
查看运行级别用:runlevel
进入其它运行级别用:init N
另外init0为关机,init 6为重启系统
当对某个指令不熟悉时,可以使用Linux提供的帮助指令来了解这个指令的使用方法。
man
获得帮助信息 # 功能描述: 获得帮助信息
man [命令或配置文件]
help
指令 # 功能描述: 获得shell内置命令的帮助信息
help 命令
history命令:用于显示历史记录和执行过的指令命令。history命令读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件。该命令单独使用时,仅显示历史命令,在命令行中,可以使用符号!执行指定序号的历史命令。例如,要执行第2个历史命令,则输入!2。
history命令:是被保存在内存中的,当退出或者登录shell时,会自动保存或读取。在内存中,历史命令仅能够存储1000条历史命令,该数量是由环境变量 HISTSIZE进行控制。默认是不显示命令的执行时间,命令的执行时间,history 已经记录,只是没有显示。
history
显示所有的历史执行命令
显示最近使用过的10个指令
执行历史编号为5的指令
!5
.bash_history
文件,该文件记录了用户所使用的命令和历史信息。Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以该账号的身份进入系统。
useradd 用户名
useradd -d 指令目录 用户名
给新创建的用户指定home目录。 passwd 用户名
userdel 用户名
userdel
删除用户不会删除用户主目录。 id 用户名
在操作Linux时,如果当前用户的权限不够,可以通过
su -
指令切换到高权限用户,比如root。
su - 切换用户名
示例:从 root 切换到 tom, 再从 tom切换到 root
注意
whoami 或者 who am i
用户组类似于角色,系统可以对有共性的多个用户进行统一的管理。
groupadd 组名
groupdel 组名
useradd -g 组名 用户名
usermod -g 组名 用户名
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
组名:口令:组标识号:组内用户列表
pwd
ls [选项] [目录或是文件]
-a 显示当前目录的所有文件和目录,包括隐藏的。
-l 以列表的方式显示信息
cd [参数]
目录的绝对路径或相对路径
cd ~ 回到自己的家目录
cd .. 回到当前目录的上一级目录
mkdir [选项] 要创建的目录
-p 创建多级目录
rmdir [选项] 要创建的目录
rmdir
删除的是空目录,如果目录下有内容是无法删除的。rm -rf
要删除的目录。 touch 文件名称
vi / vim
文本编辑器 cp [选项] source dest
-r 递归复制整个文件夹
\cp
rm [选项] 要删除的文件或目录
-r 递归删除整个文件夹
-f 强制删除不提示
# 重命名
mv oldNameFile newNameFile
# 移动文件
mv /temp/file /targetFolder
cat
指令 cat [选项] 要查看的文件
-n 显示行号
| more
,例如 cat -n /etc/profile | more
。more
指令more指令是一个基于vi编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。
more 要查看的文件
操作 | 功能说明 |
---|---|
space 空格键 | 代表向下翻一页 |
enter | 代表向下翻一行 |
q | 代表立刻离开more ,不再显示该文件内容 |
ctrl+F | 向下滚动一屏 |
ctrl+B | 返回上一屏 |
= | 输出当前行的行号 |
:f | 输出文件名和当前行的行号 |
less
指令less 指令用来分屏查看文件内容,它的功能与more类似,但是比more指令更强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率,比如日志。
less 要查看的文件
>
、追加内容到文件指令 >>
ls -l > 文件
列表的内容写入到a.txt中,覆盖写ls -al >>文件
列表的内容追加到文件aa.txt的末尾cat file1 > file2
将文件1的内容覆盖到文件2echo "内容" >> file1
追加内容到文件1echo
指令echo 输出内容到控制台。
基本语法
echo [选项] [输出内容]
使用 echo 指令输出环境变量
使用 echo 指令输出 hello
head
指令head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容。
基本语法
# 查看文件前10行内容
head 文件
# 查看文件前 5 行内容
head -n 5 文件
tail
指令tail 用于输出文件中尾部的内容,默认情况下 tail 指令显示文件的后10行内容。
基本语法
# 查看文件后10行内容
tail 文件
# 查看文件后 5 行内容
tail -n 5 文件
# 实时追踪该文档的所有更新
tail -f 文件
ln
指令你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G
直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC
语法后生成一个完美的目录。
强调文本 强调文本
加粗文本 加粗文本
标记文本
删除文本
引用文本
H2O is是液体。
210 运算结果是 1024.
链接: link.
图片:
带尺寸的图片:
居中的图片:
居中并且带尺寸的图片:
当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。
去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片
.
// An highlighted block
var foo = 'bar';
一个简单的表格是这么创建的:
项目 | Value |
---|---|
电脑 | $1600 |
手机 | $12 |
导管 | $1 |
使用:---------:
居中
使用:----------
居左
使用----------:
居右
第一列 | 第二列 | 第三列 |
---|---|---|
第一列文本居中 | 第二列文本居右 | 第三列文本居左 |
SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:
TYPE | ASCII | HTML |
---|---|---|
Single backticks | 'Isn't this fun?' | ‘Isn’t this fun?’ |
Quotes | "Isn't this fun?" | “Isn’t this fun?” |
Dashes | -- is en-dash, --- is em-dash | – is en-dash, — is em-dash |
一个具有注脚的文本。2
Markdown将文本转换为 HTML。
您可以使用渲染LaTeX数学表达式 KaTeX:
Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n−1)!∀n∈N 是通过欧拉积分
Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫0∞tz−1e−tdt.
你可以找到更多关于的信息 LaTeX 数学表达式here.
可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:
这将产生一个流程图。:
我们依旧会支持flowchart的流程图:
如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。
如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。
注脚的解释 ↩︎