Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix
的多用户
、多任务
、支持多线程和多CPU的操作系统
。伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持
。它除了在服务器操作系统
方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。目前Linux存在着许多不同的Linux发行版本,但它们都使用了Linux内核
。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机。
20世纪80年代,计算机硬件的性能不断提高,PC的市场不断扩大,当时可供计算机选用的操作系统主要有Unix、DOS和MacOS这几种。Unix价格昂贵,不能运行于PC。DOS显得简陋,且源代码被软件厂商严格保密;
MacOS是一种专门用于苹果计算机的操作系统。此时,计算机科学领域迫切需要一个更加完善、强大、廉价和完全开放的操作系统。由于供教学使用的典型操作系统很少,因此当时在荷兰当教授的美国人AndrewS.Tanenbaum编写了一个操作系统,名为MINIX,为了向学生讲述操作系统内部工作原理。MINIX虽然很好,但只是一个用于教学目的的简单操作系统,而不是一个强有力的实用操作系统,然而最大的好处就是公开源代码。全世界学计算机的学生都通过钻研MINIX源代码来了解电脑里运行的MINIX操作系统,芬兰赫尔辛基大学大学二年级的学生Linus Torvalds就是其中一个,在吸收了MINIX精华的基础上,Linus于1991年写出了属于自己的Linux操作系统,版本为Linux0.01,是Linux时代开始的标志。他利用Unix的核心,去除繁杂的核心程序,改写成适用于一般计算机的x86系统,并放在网络上供大家下载,1994年推出完整的核心Version1.0,至此,Linux逐渐成为功能完善、稳定的操作系统,并被广泛使用。
Linux出现于1991年,是由芬兰赫尔辛基大学学生,Linus Torvalds和后来加入的众多爱好者共同开发完成。
Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。
Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行,丰富的网络功能,可靠的系统安全,良好的可移植性,具有标准兼容性,出色的速度性能。
CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器,)以CentOS替代商业版的Red Hat、Enterprise Linux使用。两者的不同,在于CentOS完全开源。
目前的Linux操作系统主要应用于生产环境,主流企业的Linux系统仍旧是RedHat或者CentOS
,他们出自于同样的源代码,但centos完全免费。其独有的yum命令支持在线升级,可以即时更新系统,不像RedHat 那样需要花钱购买支持服务!
命令 -选项 参数
如: ls -l /usr
ls(list)命令用于显示文件和目录列表
ls -l
简写就是ll
。文件类型 文件权限 链接数 属主 属组 大小 日期 时间 文件名
d rwxr -xr -x 8 xiaolin root 4096 Apr 22 09:42 jdk11
第一个信息(第一位):
第二个信息(后面9位):
第三个信息(再后面1位):表示文件链接数。
第四个信息:链接数后面的表示当前文件的创建者。
第五个信息:当前文件创建者后面表示当前文件创建者所在的组是哪个组。
第六个信息:所在组后面表示当前文件占用的空间大小。
第七个信息:文件最后一次修改的时间。
第八个信息:文件名或者目录名。
cd命令用来切换目录。可以随意切换到想要的目录。
显示当前工作目录
创建空文件
创建目录,他有一个参数:-p(parents),表示如果父目录不存在的话先生成父目录。
cp 文件名 目录:复制文件到指定目录中
cp -r(recursive) 目录名 目录:复制指定目录到指定目录中,-r表示递归处理,将指定目录下的文件与子目录一并拷贝。
移动文件或目录、文件或目录改名
mv 文件名 新文件名:表示文件改名
mv 文件名 目录名: 表示文件移动
mv 目录名 不存在目录名:表示目录改名
他有几个常用的参数
-r:同时删除该目录下的所有文件(recursive)
-f:强制删除文件或目录(force)
经常使用组合命令是:rm -rf
删除空目录,如果不是空目录会提示报错。
显示文本文件内容,用来展示少量内容,仅限一个屏幕
查看文本中开头或结尾部分的内容
# 查看a.log文件的前5行
head -n 5 a.log
# 循环读取(fellow,实时展示文件的内容变化)
tail -f b.log
输出命令
# 用来向屏幕输出一句话
echo I love baby
# 将这段内容输入到 aa.txt文件中,运行两次就是追加
echo I Love baby >> aa.txt
查看IP地址,简化写法为:ip a
测试网络连通性
tar命令相当于windows的好压,用于解压或者压缩文件。
# 打包命令
tar -cvf 打包文件名 源文件
他有几个参数:
通常使用的组合命令:
他用于查看服务的状态。
# 查看某个服务的运行状态
systemctl status 服务名
# 启动某个服务
systemctl start 服务名
# 重启某个服务
systemctl restart 服务名
# 停止某个服务
systemctl stop 服务名
查询在当前控制台上运行的进程。
# 查询系统中所有运行的进程,包括后台进程,其中参数a是所有进程,参数x包括不占用控制台的进程,参数u显示用户。
ps -aux
# 查询系统中所有运行的进程,包括后台进程,而且可以显示出每个进程的父进程号。
ps -ef
ps -aux|grep 进程 服务名
动态显示系统进程
杀死进程,
# 上述命令中1314是进程号;一般在执行kill命令之前,先用ps或pstree来查询一下将要被杀掉的进程的进程号。
kill 1314
# 强制终止1314号进程的运行,其中参数-9代表强制的意思,实际上kill命令是向该进程发送信号,该进程接到信号后决定是否停止运行,有些守护进程必须要收到参数9才终止运行。
kill -9 1314
vi / vim是Unix / Linux上最常用的文本编辑器而且功能非常强大。
vi编辑器有三种模式:
模式之间可以互相转换:
编辑模式–>输入模式:
(1). i:在光标所在字符前开始插入。
(2). a:在光标所在字符后开始插入。
(3). o:在光标所在行的下面另起一新行插入。
(4). s:删除光标所在的字符并开始插入。
(5). I:在光标所在行的行首开始插入 如果行首有空格则在空格之后插入。
(6).A:在光标所在你行的行尾开始插入。
(7).O:在光标所在行的上面另起一行开始插入。
(8).S:删除光标所在行并开始插入。
输入模式–>编辑模式:ESC(键盘左上方的按键)。
编辑模式—>末行模式:输入:
。
末行模式:–>编辑模式:ESC(键盘左上方的按键)(一次或者多次)
i:在光标前插入。
I:在光标当前行开始插入。
a:在光标后插入。
A:在光标当前行末尾插入。
o:在光标当前行的下一行插入新行。
O:在光标当前行的上一行插入新行。
:set nu:显示行号。
:set nonu:取消行号。
gg:到文本的第一行。
G:到文本的最后一行。
:n:到文本的第n行。
u:undo,取消上一步操作。
Ctrl + r:redo,返回到undo之前。
:wq:保存退出。
Shift+ zz:保存退出,与“:wq”作用相同。
:wq!:强制保存退出
:q:退出不保存。
:q!:强制退出不保存。
yy:复制光标所在行 (编辑模式)。
2yy 从光标行开始复制2行(编辑模式)。
p::粘贴命令。
u:撤销(编辑模式)。
1,$d:全部删除(末行模式)。
/s
?s
RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括RedHat、CentOS、SUSE等Linux的分发版本都有采用,可以算是公认的行业标准了。RPM文件在Linux系统中的安装最为简便,
rpm命令常用的参数:
# 显示进度安装 gcc-c++-4.4.7-3.el6.x86_64.rpm
rmp -ivh gcc-c++-4.4.7-3.el6.x86_64.rpm
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。使用YUM命令必须连接外部网络
用户的定义是一类用户具有访问某个资源或服务的能力。
用户组(存放一些列用户的容器),同时用户组还拥有具有访问某个资源的权限
-g
,指定组名称,如果创建用户的时候,不指定组名,那么系统会自动创建一个和用户名一样的组名。 权限的定义是某一个特定的人资源或者服务的访问能力。
Linux文件有三种
典型的权限,即r读权限、w写权限和x执行权限
。在长格式输出中在文件类型的后面有9列权限位,实际上这是针对不同用户而设定的。r=4,w=2,x=1
。
r(read):表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。
w(write):表表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。
x(excute):表表示可写入,表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。
whereis ls
which ls
# 不区分大小写
find /root -iname install.log
基本格式为:grep [选项] 字符串 文件名。
可选项为:
find命令:在系统中搜索符合条件的文件名。
grep命令:在文件中搜索符合条件的字符串。
centos7的防火墙程序服务名为:firewalld,他的相关命令如下: