Linux是一套免费使用和自由传播的类似Unix操作系统,一般的WEB项目都是部署都是放在Linux操作系统上面。 Linux是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Windows是微软开发的操作系统,民用操作系统,可用于娱乐、影音、上网。 Windows操作系统具有强大的日志记录系统和强大的桌面应用。好处是它可以帮我们实现非常多绚丽多彩的效果,可以非常方便去进行娱乐、影音、上网。
Linux的应用相对单纯很多,没有什么绚丽多彩的效果,因此Linux的性能是非常出色的,可以完全针对机器的配置有针对性的优化,
简单来说Windows适合普通用户进行娱乐办公使用,Linux适合软件开发部署。
Linux | Unix系统 |
---|---|
提供付费和免费分发。 | 不同级别的Unix使用不同的付费结构。 |
Linux主要使用带有可选命令行界面的GUI | Unix使用命令行界面 |
Linux OS是便携式的,可以在不同的硬盘中执行 | Unix OS不可移植。 |
Linux由全球Linux社区开发。 | Unix由AT&T开发人员开发。 |
Linux是免费的。它是在GNU许可下通过互联网下载的。 | 大多数类似Unix的操作系统不是免费的。 |
Linux用于家用PC,电话等。 | Unix用于服务器系统。 |
Bash是Brian Fox为GNU项目编写的Unix shell和命令处理器。它是免费软件,可以代替Bourne Shell。这是一个解释后的未编译过程,也可以在终端窗口中运行。这使用户可以编写命令并引起动作。Bash能够从Shell脚本读取命令。
1)BASH 命令区分大小写,而 DOS 命令则不区分;
2)在 BASH 下,/ character 是目录分隔符,\作为转义字符。在 DOS 下,/用作命令参数分隔符,\是目录分隔符
3)DOS 遵循命名文件中的约定,即 8 个字符的文件名后跟一个点,扩展名为 3 个字符。BASH 没有遵循这样的惯例。
图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。
图形用户界面是一种人与计算机通信的界面显示格式,允许用户使用鼠标等输入设备操纵屏幕上的图标或菜单选项,以选择命令、调用文件、启动程序或执行其它一些日常任务。与通过键盘输入文本或字符命令来完成例行任务的字符界面相比,图形用户界面有许多优点。
CLI是命令行界面(英语**:command-line interface**,缩写]),是在图形用户界面得到普及之前使用最为广泛的用户界面,它通常不支持鼠标。用户通过键盘输入指令,计算机接收到指令后,予以执行。也有人称之为字符用户界面(CUI)。
通常认为,命令行界面(CLI)没有图形用户界面(GUI)那么方便用户操作。因为,命令行界面的软件通常需要用户记忆操作的命令,但是,由于其本身的特点,命令行界面要较图形用户界面节约计算机系统的资源。在熟记命令的前提下,使用命令行界面往往要较使用图形用户界面的操作速度要快。所以,图形用户界面的操作系统中,都保留着可选的命令行界面。
开源允许你将软件(包括源代码)免费分发给任何感兴趣的人。然后,人们可以添加功能,甚至可以调试和更正源代码中的错误。它们甚至可以让它运行得更好,然后再次自由地重新分配这些增强的源代码。这最终使社区中的每个人受益。
内核:内核是操作系统的心脏。它充当软件和硬件之间的桥梁。如果软件请求硬件,则内核将在软件和硬件之间传递数据。例如,如果您想播放一首歌曲,则应启动默认播放器,它会请求内核播放一首歌曲。大多数Android手机使用Linux内核。
Shell:Shell是一个计算机程序,充当用户和内核之间的接口。用户可以通过在Shell上编写程序,命令和脚本来与内核进行通信。它接受人类可读的命令,并将其转换为内核可理解的语言。
GUI: 表示图形用户界面。它是一种人机界面,使用可以通过鼠标操作的窗口,图像,图标和菜单。电子产品中的大多数现代应用程序都通过GUI与用户通信。GUI是使用按钮,菜单,消息框等的图形和文本交互的组合。
系统实用程序:这些是允许用户管理计算机的软件功能。
应用程序:旨在执行一组任务的一组功能。
每个文件或目录都具有3个权限
Read--它是指只有他们可以读取该文件。
Write--这是指他们可以写入文件或修改目录的文件。
Execute--影响用户执行文件或查看目录文件的能力。
每个文件和目录都有三个基于用户的权限组。
所有者:所有者只需要访问文件或目录,就不会影响其他用户的操作。
组:这些权限仅适用于已分配给文件或目录的组。它们不会影响其他用户的操作。
所有用户:这些权限适用于系统上的所有用户。
ext,ext2,ext3,ext4,jfs,xfs,btrfs,ufs,autofs,devpts,ntfs和交换。
vi编辑器中有三种模式。他们是
● 命令模式/常规模式
● 插入模式/编辑模式。
● 防爆模式/更换模式。
Linux中的五个过程状态。他们是
新建/就绪:已创建一个新进程并准备运行。
正在运行:正在执行该进程。
阻止/等待:进程正在等待用户输入。
终止/完成:进程已完成执行或被操作系统终止。
僵尸:进程已删除,但仍在进程表中存在有关该进程的信息。
管道(pipe)、流管道(s_pipe)、有名管道(FIFO)
信号(signal)
消息队列
共享内存
信号量
套接字(socket)
root 帐户就像一个系统管理员帐户,允许你完全控制系统。你可以在此处创建和维护用户帐户,为每个帐户分配不同的权限。每次安装 Linux 时都是默认帐户。
● /bin:存放二进制可执行文件(ls,cat,mkdir 等),常用命令一般都在这里;
● /boot:存放用于系统引导时使用的各种文件;
● /dev:用于存放设备文件;
● /etc:存放系统管理和配置文件;
● /home:存放所有用户文件的根目录,是用户主目录的基点,比如用户 user 的主目录就是/home/user,可以用~user 表示;
● /lib :存放着和系统运行相关的库文件 ;
● /lost+found:这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows 下叫什么.chk)就在这里。
● /mnt:系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂载其他的文件系统;
● /proc:虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息;
● /root:超级用户(系统管理员)的主目录(特权阶级 o);
● /sbin: 存放二进制可执行文件,只有 root 才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如 ifconfig 等;
● /tmp:用于存放各种临时文件,是公用的临时文件存储点;
● /usr:用于存放系统应用程序/opt:额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把 tomcat 等都安装到这里;
● /var:用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的日志文件(系统启动日志等。)等;
功能:显示用户当前所在的目录
格式:pwd
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息
格式:ls [选项] [目录或文件]
常用选项表:
选项 | 说明 |
---|---|
-a | 查看当前目录下的文件,包括隐藏文件 |
-l | 长格式显示文件 |
-lh | 以方便阅读的长格式显示 |
功能:改变工作目录。将当前工作目录改变到指定的目录下
格式:cd 目录名
常用命令:
命令 | 说明 |
---|---|
cd .. | 返回上一级目录 |
cd ../.. | 返回上两级目录 |
cd ~ | 切换到家目录 |
cd / | 切换到根目录 |
cd /home/lx/linux1/ | 绝对路径:从家目录出发,直到想要去的目录 |
cd …/lx/ | 相对路径:从当前目录出发,直到想去的目录 |
Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是man
格式:man 其他命令
功能:用于查找文件里符合条件的字符串
格式:grep [选项] '查找字符串' 文件名
常用选项:
选项 | 说明 |
---|---|
-a | 将binary文件以text文件的方式查找数据 |
-c | 计算找到 ‘查找字符串’ 的次数 |
-i | 忽略大小写的区别,即把大小写视为相同 |
-v | 反向选择,即显示出没有 ‘查找字符串’ 内容的那一行 |
功能:用来在指定目录下查找文件
格式:find [路径] [选项] 操作
常用选项:
选项 | 说明 |
---|---|
-name test | 查询指定目录下,命名为test的文件 |
-size +100k | 查询指定目录下,文件大于100K的文件 |
-ctime n | 查询指定目录下,在过去n天内被修改过的文件 |
功能:用来列出系统中当前正在运行的那些进程,类似于 windows 的任务管理器。
格式:ps [选项]
常用选项:
选项 | 说明 |
---|---|
-A | 列出所有的进程 (重要) |
-ef | 查看全格式的全部进程 (重要) |
-w | 显示加宽可以显示较多的资讯 |
-au | 显示较详细的资讯 |
-aux | 显示所有包含其他使用者的行程 |
功能:用于删除执行中的程序或工作
格式:kill [选项]/[信号] 进程号
常用选项:
选项 | 说明 |
---|---|
-l | force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖 |
-s | 若目标文件 (destination) 已经存在时,就会询问是否覆盖 |
常用信号:
信号 | 说明 |
---|---|
-1(HUP) | 重新加载进程 |
-9(KILL) | 杀死一个进程。(重点) |
-15(TERM) | 正常停止一个进程。 |
功能:查看测试项目的日志
说明:一般测试的项目里面,有个logs的目录文件,会存放日志文件,有个xxx.out的文件,可以用tail -f 动态实时查看后端日志
格式:tail [选项] 文件名
常用选项:
选项 | 说明 |
---|---|
-f | 实时读取 |
-1000 | 查看最近1000行日志 |
功能:查看端口
格式:netstat -anp | grep 端口号
功能:用于查看和更改网络接口的地址和参数,包括IP地址、网络掩码、广播地址,使用权限是超级用户。
功能:检测是否与主机连通
格式:ping 地址
tar -zxvf redis-3.2.8.tar.gz ;解压到当前文件夹
tar -zxvf redis-3.2.8.tar.gz -C /opt/java/ ;-C指解压到指定目录
tar -zcvf redis-3.2.8.tar.gz redis-3.2.8/ ;语法 tar -zcvf 压缩后的名称 要压缩的文件
tar -zcvf 压缩后的文件(可指定目录) 要压缩的文件(可指定目录)
1.man 命令名
2.命令名 – help
3.info cat 命令名 (查看命令的功能,来源,选项等)
4.whatis 命令名
5.通过网络途径
关机命令:shutdown -h 【now | 10(分钟) | 20:25】
重启命令:reboot
列出已经安装的包: yum list installed
安装软件: yum install package_name
更新软件: yum update package_name
卸载软件:yum remove package_name //只删除软件包保留数据文件和配置文件
可以执行:yum erase package_name
功能:创建空目录
格式:mkdir [选项] [路径] 文件名
常用选项表:
选项 | 说明 |
---|---|
-p | 层级创建 |
-v | 显示创建顺序 |
功能:删除空目录 不能删除非空目录,不能删除文件
格式:rmdir [-p] [路径] 目录名
常用选项表:
选项 | 说明 |
---|---|
-p | 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除 |
功能:新建空文件
格式:touch [路径] 文件名 (可以多个)
功能:删除文件或目录
格式:rm [选项] 文件名
常用选项表:
选项 | 说明 |
---|---|
-f | 强制删除 |
-r | 多级删除 |
-rf | 强制删除给定目录下所有文件和目录 |
rm 和 rmdir 的区别:
rm 有选项, rmdir 没有选项
rmdir 只能删除空目录,不能删文件
rm 带上选项-r可以删除非空目录
功能:mv命令是move的缩写,可以用来移动文件或者将文件改名(move(rename)files),是Linux系统下常用的命令,经常用来备份文件或者目录。
格式:mv [选项] [路径] 旧文件名 [新路径][新文件名]
常用选项:
选项 | 说明 |
---|---|
-f | force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖 |
-i | 若目标文件 (destination) 已经存在时,就会询问是否覆盖 |
注意:
如果只移动不改名字,新名字可以不写
如果移动的同时改名字,新名字一定要写
功能: 复制文件或目录
说明:cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息
格式:cp [选项] [路径] 旧文件名 [新路径][新文件名]
常用选项表:
选项 | 说明 |
---|---|
-f 或 --force | 强行复制文件或目录, 不论目的文件或目录是否已经存在 |
-i 或 --interactive |
覆盖文件之前先询问用户 |
-r | 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理 |
-R 或 --recursive | 递归处理,将指定目录下的文件及子目录一并处理 |
功能: 查看目标文件的内容
格式:cat [选项] 文件名
常用选项表:
选项 | 说明 |
---|---|
-b | 对非空输出行编号 |
-n | 对输出的所有行编号 |
-s | 不输出多行空行 |
基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Lastline mode)。
常用的几个命令:
i 切换到输入模式,以输入字符。
: 切换到底线命令模式,以在最底一行输入命令。
ESC:退出输入模式,切换到命令模式
q 退出程序
w 保存文件
chmod命令主要用于修改、设置文件权限,chmod 修改文件权限主要有两种方式: 字母法与数字法
1)字母法
u user 表示该文件的所有者
g group 表示与该文件的所有者属于同一组( group )者,即用户组
o other 表示其它用户组
a all 表示这三者皆是
-------------------------------
+增加权限
- 撤销权限
= 设定权限
-----------------------------
r read 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。
w write 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。
x excute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。
-------------------------
用法:chmod + 设置模式 + 文件名
中间的设置模式,要分别对u(user), g(group), o(other)设置权限。
chmod u+rwx, g+rwx, o+rwx filename 改命令说明对filename文件, 赋予user、group、other均有read、write、excute的权限。
2)数字法
数字法是基于字母法的表示,如果字母法懂了,数字法就好懂,并且易于使用。
r (read) ----------------> 4
w (write) ----------------> 2
x (excute) ----------------> 1
如:数字法:chmod 777 文件名 <-----------对应--------------> 字母法: chmod u+rwx, g+rwx, o+rwx 文件名
第一个数字7:代表用户 u 的权限 rwx, 4 ® + 2 (w) + 1 (x) = 7
第二个数字7:代表用户 g 的权限 rwx, 4 ® + 2 (w) + 1 (x) = 7
第三个数字7:代表用户 o 的权限 rwx, 4 ® + 2 (w) + 1 (x) = 7
再次举例说明:
数字法:chmod 755 filename 对应 字母法: chmod u+rwx, g+rx, o+rx filename
数字法:chmod 751 filename 对应 字母法: chmod u+rwx, g+rx, o+x filename
数字法:chmod 765 filename 对应 字母法: chmod u+rwx, g+rw, o+rx filename