Linux简介(操作系统)
Linux发展史(了解)
Linux出现于1991年,是由芬兰赫尔辛基大学学生李纳斯·托瓦兹(Linus Torvalds)偶然发现的,他当时是为了方便下载学校网站的一些视频与新闻资料,自己开发的一套程序,后来加入美国自由软件基金组织协会,和众多爱好者共同开发完成 。
Linux介绍 (了解)
(1)Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux发行版本,但它们都使用了Linux内核。
(2)Linux内核网站:www.kernel.org
(3)基于内核,再增加一些桌面,应用程序,就可以发行,称为开发版。
Linux两大阵营:
(1)Redhat系列 redhat,suse,CentOS,Fedora等
(2)Debian系列 debian,ubuntu等
区别: 命令细微的区别, 安装方式
Linux应用领域(了解)
(1)Linux企业服务器
(2)嵌入式系统:Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、智能家电等嵌入式系统。
(3)电影娱乐行业:电影后期特效处理。
Linux特点(掌握)
(1)开源
源代码开放,多用户,多任务,丰富的网络功能,良好的可移植性,具有标准兼容性,良好的用户界面,出色的速度性能
(2)安全
服务器不使用图形化界面:
图形化占用资源
机房部署方便,无需配置操作界面
(3)稳定
一般不会出现蓝屏,死机,卡机的现象
(4)免费
最主要的特点
CentOS 社区版(了解)
主流:目前的Linux操作系统主要应用于生产环境,主流企业级Linux系统仍旧是CentOS(大多数使用)或者RedHat
免费:RedHat 和CentOS差别不大,CentOS是一个基于Red Hat ,Linux 提供的可自由使用源代码的企业级Linux发行版本
更新方便:CentOS独有的yum命令支持在线升级,可以即时更新系统,不像RedHat 那样需要花钱购买支持服务!
CentOS官网:http://www.centos.org/
1 Linux安装
安装环境:Windows7/win10 , VMware Workstation14, CentOS 6.7
VMware
VMware是一个虚拟PC的软件,可以在现有的操作系统上虚拟出一个新的硬件环境,相当于模拟出一台新的PC ,以此来实现在一台机器上真正同时运行多个独立的操作系统 。
VMware主要特点:
1、不需要分区或重新开机就能在同一台PC上使用两种以上的操作系统
2、本机系统可以与虚拟机系统网络通信
3、可以设定并且随时修改虚拟机操作系统的硬件环境
2 Linux目录结构(掌握)
/bin: (binaries) 存放系统命令的目录,所有用户都可以执行。
/sbin : (super user binaries) 保存和系统环境设置相关的命令,只有超级用户可以使用这些命令,有些命令可以允许普通用户查看。(root)
/root: 存放root用户的相关文件,root用户的家目录。宿主目录 超级用户
/home:用户缺省宿主目录 eg:/home/spark /home/pengfei
/tmp:(temporary)存放临时文件
/etc:(etcetera)系统配置文件 profile
/usr:(unix software resource)系统软件共享资源目录,存放所有命令、库、手册页等
/boot:系统启动目录
/dev:(devices)存放设备文件
/lib:存放系统程序运行所需的共享库 jar包
/var:(variable) 动态数据保存位置,包含经常发生变动的文件,如邮件、日志文件、计划任务等
3 Linux常用命令(熟练)
cd
英文:change directory 执行权限:所有用户
作用: 切换目录
语法:cd [目录]
/ 切换到根目录
.. 回到上一级目录
. 当前目录
绝对路径与相对路径的区别
ls 与ll
英文:list 执行权限:所有用户
作用:显示目录文件 语法:ls [-alrRt]
-a all 显示所有文件,注意隐藏文件,特殊目录
-l(long) 显示详细信息
-R(recursive) 递归显示当前目录下所有目录
-r (reverse) 逆序排序
-t(time) 按修改时间排序(降序)
ll 相当于 ls –l (一般常用命令)
pwd
英文:print working directory 执行权限:所有用户
作用:显示当前工作目录的路径
语法:pwd
mkdir
英文:make directories 执行权限:所有用户
作用:创建新目录
语法:mkdir [-p] 目录名
-p 父目录不存在情况下先生成父目录,递归创建 (parents)
touch
执行权限:所有用户
作用:创建空文件或更新已存在文件的时间
语法:touch 文件名
创建一个空文件: touch a.txt
同时创建多个文件: touch a.txt b.txt 或者 touch {a.txt,b.txt}
注意:生产环境中,文件名,一定不要加空格
rm
英文:remove 执行权限:所有用户
作用:删除文件
语法: rm [-rf] 文件或目录
-r (recursive)删除目录,同时删除该目录下的所有文件
-f(force) 强制删除文件或目录 即使原档案属性设为唯读,直接删除,不需要逐一确认(不需要输入yes或者y)
注意:工作中,谨慎使用rm –rf 命令。
mv
英文:move 执行权限:所有用户
作用:移动文件或目录、文件或目录改名
语法:mv 源文件或目录 目的目录
cp
英文:copy 执行权限:所有用户
作用:复制文件或目录
语法:cp [–rp] 源文件或目录 目的目录
-r 递归处理,复制目录
-p 保留文件属性 (原文件的时间不变)
cat
英文:concatenate 执行权限:所有用户
作用:显示文件内容
语法:cat [-n] [文件名]
-n 显示行号
head
执行权限:所有用户
作用:查看文件前几行(默认10行)
语法:head -n 指定行数 [文件名]
tail
执行权限:所有用户
作用:查看文件的后几行(默认10行)
语法:tail -n 指定行数 [文件名]
追加数据 > 或者 >>
获取一个大文件的部分文件,可使用head或tail命令
head -n 100 原文件名 > 目标文件
help帮助命令
help 查看shell内置命令的帮助信息
内置命令,使用whereis,which,man都不能查看
文件搜索命令
find
执行权限:所有用户 作用:查找文件或目录
语法:find [搜索路径] [匹配条件]
如果没有指定搜索路径,默认从当前目录查找
find命令选项
-name 按名称查找 精准查找
find 目录 -name “a.txt” 在目录中查找文件a.txt
find查找中的字符匹配:
?:匹配单个字符
*:匹配所有(模糊匹配)
find /root -name “a.???” 在目录/root中查找以a.开头的,且后面有三位的文件
find /root –name “a*”
find查找的基本原则:
占用最少的系统资源,即查询范围最小,查询条件最精准
如果明确知道查找的文件在哪一个目录,就直接对指定目录查找,不查找根目录
grep命令
执行权限:所有用户 作用:在文件中搜寻字串匹配的行并输出
语法:grep [-cinv] '搜寻字符串' filename
选项与参数:
-c :输出匹配行的次数(是以行为单位,不是以出现次数为单位)
-i :忽略大小写,所以大小写视为相同
-n :显示匹配行及行号
grep -c“hadoop”/root /wc.txt 显示在wc.txt文件中,hadoop匹配了多少次
grep -ic“hadoop”/root/wc.txt 显示在wc.txt文件中,hadoop (忽略大小写)匹配了多少次
grep -n “hadoop” /root/wc.txt 显示在wc.txt文件中,hadoop匹配行及行号
which
执行权限:所有用户 作用:显示系统命令所在目录(绝对路径及别名)
which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令
# which ls
alias ls='ls --color=auto'
/bin/ls
whereis
执行权限:所有用户
作用:搜索命令所在目录 配置文件所在目录
which mkdir 和 whereis mkdir
压缩解压缩命令
gzip
英文:GNU zip 执行权限:所有用户
作用:压缩(解压)文件,压缩文件后缀为.gz
gzip只能压缩文件,不能压缩目录,不保留原文件
语法:gzip 文件名
-d将压缩文件解压(decompress)
解压使用gzip –d
zip
执行权限:所有用户
作用:压缩(解压)文件,压缩文件后缀为.zip
语法:zip 选项[-r] [压缩后文件名称] [文件或目录]
-r压缩目录
zip wc.zip /root 压缩文件;
zip -r test.zip /root 压缩目录
如果不加-r选项,压缩后的文件没有数据。
解压使用unzip
tar (最常用的解压命令)
source.tar.gz:源码包
tar.gz
执行权限:所有用户
作用:文件、目录打(解)包
语法:tar [-zxcvf] 压缩后文件名 文件或目录
-c 建立一个压缩文件的参数指令(create),后缀是.tar
-x 解开一个压缩文件的参数指令(extract)
-z 以gzip命令压缩/解压缩
-v 压缩的过程中显示文件(verbose)
-f file 指定文件名,必选项
tar –zcvf 压缩 -C /指定的压缩路径
tar –zxvf 解压 -C /指定的解压路径
tar –zxvf jdk1.8.0_102 –C /usr/local/
系统关机命令
shutdown [选项] 时间
选项: -r: 重启
-h: 关机
shutdown -h now 立即关机 shutdown -h 20:30 定时关机
其他关机命令 poweroff
其他重启命令 reboot
6 VIM文本编辑器
vim/vi是Unix / Linux上最常用的文本编辑器而且功能非常强大。
VI工作模式
插入命令
命令 |
作用 |
a |
在光标后附加文本 |
A(shift + a) |
在本行行末附加文本 行尾 |
i |
在光标前插入文本 |
I(shift+i) |
在本行开始插入文本 行首 |
o |
在光标下插入新行 |
O(shift+o) |
在光标上插入新行 |
定位命令
命令 |
作用 |
:set nu |
设置行号 |
:set nonu |
取消行号 |
gg G |
到第一行 到最后一行 |
nG |
到第n行 |
:n |
到第n行 |
保存和退出命令
命令 |
作用 |
:w |
保存修改 |
:w new_filename |
另存为指定文件 |
:w >> a.txt |
内容追加到a.txt文件中 文件需存在 |
:wq |
保存修改并退出 |
shift+zz(ZZ) |
快捷键,保存修改并退出 |
:q! |
不保存修改退出 |
:wq! |
保存修改并退出(文件所有者可忽略文件的只读属性) |
不保存并退出:
1, 有修改,但是修改后的内容是不保存的
2, 有突发情况,导致窗口退出。修改文件之后,直接删除同名的.swp文件
删除命令
命令 |
作用 |
x |
删除光标所在处字符 nx 删除光标所在处后n个字符 |
dd |
删除光标所在行,ndd删除n行 |
:n1,n2d |
删除指定范围的行(eg :1,3d 删除了123这三行) |
dG |
删除光标所在行到末尾的内容 |
D |
删除从光标所在处到行尾 |
复制和剪切命令
命令 |
作用 |
yy、Y |
复制当前行 |
nyy、nY |
复制当前行以下n行 |
dd |
剪切当前行 |
ndd |
剪切当前行以下n行 |
p、P |
粘贴在当前光标所在行下 或行上 |
替换和取消命令
命令 |
作用 |
r |
取代光标所在处字符 |
R(shift + r) |
从光标所在处开始替换字符,按Esc结束 |
u |
undo,取消上一步操作 |
ctrl+r |
redo,返回到undo之前 |
搜索和替换命令
命令 |
作用 |
/string |
向后搜索指定字符串 搜索时忽略大小写 :set ic |
?string |
向前搜索指定字符串 |
N |
搜索字符串的下一个出现位置,与搜索顺序相同 |
N(Shift + n) |
搜索字符串的上一个出现位置,与搜索顺序相反 |
:%s/old/new/g |
全文替换指定字符串 |
:n1,n2s/old/new/g |
在一定范围内替换指定字符串 |
% 指全文,s 指开始,g 指全局替换
网络通信命令
ifconfig
英文:interface configure 执行权限:root
作用:查看和设置网卡网络配置
语法:ifconfig -a:显示所有网卡信息
ping
执行权限:所有用户
作用:测试网络的连通性
语法:ping 选项 IP地址
-c 指定发送次数
ping 命令使用的是icmp协议,不占用端口
ping -c 3 127.0.0.1
netstat
查询端口号占用情况
英文:network statistics 执行权限:所有用户
作用:主要用于检测主机的网络配置和状况
-a all显示所有连接和监听端口
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 使用数字方式显示地址和端口号
-l (listening) 显示监控中的服务器的socket
netstat -tlnu 查看本机监听的端口
进程管理命令
进程和程序的区别:
1、程序是静态概念,本身作为一种软件资源长期保存;而进程是程序的执行过程,它是动态概念,有一定的生命期,是动态产生和消亡的。
2、程序和进程无 一 一 对应关系。一个程序可以由多个进程共用;另一方面,一个进程在活动中有可顺序地执行若干个程序。
进程和线程的区别:
进程: 就是正在执行的程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。
线程: 轻量级的进程;进程有独立的地址空间,线程没有;线程不能独立存在,它由进程创建;相对讲,线程耗费的cpu和内存要小于进程。
进程管理的作用?
判断服务器的健康状态
查看系统所有的进程
杀死进程
ps命令
作用:查看系统中的进程信息
语法:ps [-auxle]
常用选项
a:显示所有用户的进程
u:显示用户名和启动时间
x:显示没有控制终端的进程
e:显示所有进程,包括没有控制终端的进程
l:长格式显示
查看系统中所有进程(jps)
# ps -ef #查看系统中所有进程,使用Linux标准命令格式
ps应用实例
# ps -ef | grep init 查看指定进程信息
pstree
作用:查看当前进程树
语法:pstree [选项]
-p 显示进程PID
-u 显示进程的所属用户
kill
作用:关闭进程
语法:kill [-选项] pId
kill -9 进程号(强行关闭) 常用
用户管理命令
useradd
添加用户
语法:useradd [选项] 用户名
passwd
修改密码命令
语法:passwd [选项] [用户名]
用户密码:生产环境中,用户密码长度8位以上,设置大小写加数字加特殊字符,要定期更换密码。
userdel(user delete)
删除用户 userdel 用户名
再次创建时,汇报异常,需要递归删除 –r
-r 删除账号时同时删除宿主目录(remove)
组管理命令
groupadd
添加组
语法:groupadd [选项]组名
groupdel
删除组
语法:groupdel [选项] 组名
创建用户时直接指定组
Useradd 用户名 –g 组名
查看组 cat /etc/group
磁盘空间命令(了解)
df命令
作用:用于查看Linux文件系统的状态信息,显示各个分区的容量、已使用量、未使用量及挂载点等信息。看剩余空间
语法:df [-hkam] [挂载点]
-h(human-readable)根据磁盘空间和使用情况 以易读的方式显示 KB,MB,GB等
-k 以KB 为单位显示各分区的信息,默认
-M 以MB为单位显示信息
-a 显示所有分区包括大小为0 的分区
du命令
作用:用于查看文件或目录的大小(磁盘使用空间)
语法:du [-abhs] [文件名目录]
-a 显示子文件的大小
-h以易读的方式显示 KB,MB,GB等
-s summarize 统计总占有量
eg:
du -a(all) /home 显示/home 目录下每个子文件的大小,默认单位为kb
du -b /home 以bytes为单位显示/home 目录下各个子目录的大小
du -h /home 以K,M,G为单位显示/home 文件夹下各个子目录的大小
du -sh /home 以常用单位(K,M,G)为单位显示/home 目录的总大小 -s summarize
df命令和du命令的区别:
df命令是从文件系统考虑的,不仅考虑文件占用的空间,还要统计被命令或者程序占用的空间。
du命令面向文件,只计算文件或目录占用的空间。
#df –h /
#du –sh /
free
作用:查看内存及交换空间使用状态
语法: free [-kmg]
选项:
-k: 以KB为单位显示,默认就是以KB为单位显示
-m: 以MB为单位显示
-g: 以GB为单位显示
防火墙
查看防火墙
Service iptables status
开启防火墙(不用)
Service iptables start
临时关闭防火墙(下次重新启动linux,防火墙开启)
Service iptables stop
永久关闭防火墙(建议全部永久关闭)
Chkconfig iptables off