Linux介绍
Linux
前身:Unix
,刚开始用汇编语言开发,由于一致性不好,后期使用C语言重新开发。Unix
时间戳:从1970
年【诞生时间】一月一日0时0秒到现在经历的事件。Linux
为开源操作系统【GUN/Linux
】,即开放源代码。Linux
系统特点:开放性【开源】、多用户【多用户在登陆计算机操作系统,允许同时登陆多个用户进行操作】、多任务【允许用户同时进行多个操作任务】、良好的用户界面、优异的性能与稳定性。windows
特点:单用户多任务【测试:使用命令行mstsc
远程控制后目标主机机即被锁屏,只能是远程控制的主机操作】。Linux
分支:Ubuntu
、debian
、Centos
、suse
等等。
Linux系统安装
- 两种方式:真机安装、虚拟机安装【建议】。
Linux
的终端类似于windows
的cmd
命令行。- 备份方式:快照【侧重于短期备份,需要频繁备份,操作系统处于开启状态】、克隆【侧重于长期备份,操作系统处于必须关闭状态,克隆位置与新建虚拟机的位置相同】
Linux终端介绍
centos
:该位置表示当前终端登录的用户名;
@
:表示“在”;
localhost
:当前登录的主机名;
$
表示普通用户,#
表示超级管理员
关机命令
shutdown
—— 正常关机,支持定时关机
halt
—— 关闭内存init 0
—— 只在Centos6
中有用
Linux文件介绍
- Linux是一个基于文件形式表示的操作系统。
- Linux一切皆文件。
- 在
windows
是文件的,在Linux
下同样也是文件;在windows
不是文件的,在Linux
下也是以文件的形式存储的;
Linux文件目录结构
Bin
:全称binary
,含义是二进制。该目录中存储的都是一些二进制文件,文件都是可以被运行的。
Dev
:该目录中主要存放的是外接设备,例如移动硬盘、其他的光盘等。在其中的外接设备是不能直接被使用的,需要挂载(类似windows
下的分配盘符)。
Etc
:该目录主要存储一些配置文件。
Home
:表示“家”,表示除了root
用户以外其他用户的家目录,类似于windows
下的User/
用户目录。
Proc
:process
,表示进程,该目录中存储的是Linux
运行时候的进程。
Root
:该目录是root
用户自己的家目录。
Sbin
:全称super binary
,该目录也是存储一些可以被执行的二进制文件,但是必须得有super
【超级管理员】权限的用户才能执行。
Tmp
:表示“临时”的,当系统运行时候产生的临时文件会在这个目录存着。
Usr
:存放的是用户自己安装的软件。类似于windows
下的program files
。Var
:存放的程序/系统的日志文件的目录。
Mnt
:当外接设备需要挂载的时候,就需要挂载到mnt
目录下。
Linux指令与选项
- 在
Linux
终端(命令行)中输入的内容就称之为指令。 Linux
指令完整通用的格式:#指令主体(空格) [选项](空格) [操作对象]
例如:需要让张三同学帮忙去楼下小卖铺买一瓶农夫山泉水和清风餐巾纸,在这个指令中“买东西”是指令的主体,买的水和餐巾纸是操作的对象,农夫山泉、清风是操作的选项。
基础指令【重点】
ls指令
ls(list)
含义:列出当前工作目录下的所有文件/文件夹的名称
ls 路径
含义:列出指定路径下的所有文件/文件夹的名称
- 相对路径的写法:在相对路径中通常会用到2个符号
./
【表示当前目录下】、../
【上一级目录下】。 - 绝对路径:直接从根
/
开始寻找对应路径
ls 选项 路径
含义:在列出指定路径下的文件/文件夹的名称,并以指定的格式进行显示。
ls -l 路径
:-l
表示list,表示以详细列表的形式进行展示
上述列表中的第一列字符表示文档的类型,其中“-
”表示改行对应的文档类型为文件,“d
”表示文档类型为文件夹;第三列表示用户,第四列表示用户组;第五列表示大小,单位为字节Byte
。ls -la 路径
:-a
表示显示所有的文件/文件夹(包含了隐藏文件/文件夹)
在Linux
中隐藏文档一般都是以“.
”开头。
ls -lh 路径
含义:列出指定路径下的所有文件/文件夹的名称,以列表的形式并且在显示文档大小的时候以可读性较高的形式显示。
pwd指令
含义:打印当前工作目录
cd指令
-
含义:用于切换目录
-
cd 路径
案例1:当前在“/
”下,需要使用绝对路径切换到/usr/local
。
案例2:当前在
/usr/local
下,需要使用相对路径切换目录到home
目录下的Linux123
用户家目录中去。
-
在
Linux
中有一个特殊的符号“~
”,表示当前用户的家目录,切换的方式:cd ~
mkdir指令
含义:创建目录
mkdir 路径
【路径,可以是文件夹名称也可以是包含名称的一个完整路径】
ls
列出的结果颜色说明,其中蓝色的名称表示文件夹,黑色的表示文件,绿色的其权限为拥有所有权限。mkdir -p 路径
:当一次性创建多层不存在的目录的时候,添加-p
参数,否则会报错。
mkdir 路径1 路径2 路径3 ….
:一次性创建多个目录【不常见】
touch指令
touch 文件路径
【路径可以是直接的文件名也可以是路径】:创建文件,无法创建不存在的目录
cp指令
cp 被复制的文档路径 文档被复制到的路径
:复制文件/文件夹到指定位置
注意:Linux
在复制过程中是可以重新对新位置的文件进行重命名的,但是如果不是必须的需要,则建议保持前后名称一致。
注意:当使用cp
命令进行文件夹复制操作的时候需要添加选项“-r
”【-r
表示递归复制】,否则目录将被忽略
mv指令
mv 需要移动的文档路径 需要保存的位置路径
:移动文档到新的位置
rm指令
rm -f 需要移除的文档路径
:强制删除,不提示是否删除
rm -r 需要移除的文档路径
:表示递归
注意:删除一个目录的时候需要做递归删除,并且一般也不需要进行删除确认询问,所以移除目录的时候一般需要使用-rf
选项。
案例1:删除多个文档
案例2:要删除一个目录下有公共特性的文档,例如都以Linux
开头
其中*
称之为通配符,意思表示任意的字符,Linux*
则表示只要文件以Linux
开头,后续字符则不管。
vim指令
vim 文件的路径
:打开一个文件(可以不存在,也可以存在)- 退出打开的文件:在没有按下其他命令的时候,按下
shift+英文冒号
,输入q
,按下回车即可
输出重定向指令
-
一般命令的输出都会显示在终端中,有些时候需要将一些命令的执行结果想要保存到文件中进行后续的分析/统计,则这时候需要使用到的输出重定向技术。
-
覆盖输出
>
,会覆盖掉原先的文件内容
追加输出>>
,不会覆盖原始文件内容,会在原始内容末尾继续添加。 -
语法:
正常执行的指令 > / >> 文件的路径
案例:使用覆盖重定向,保存ls -la
的执行结果,保存到/gyy/gyy.txt
。
cat指令
cat 文件的路径
:直接打开文件
cat 待合并的文件路径1 待合并的文件路径2 …. 文件路径n > 合并之后的文件路径
:对文件进行合并
进阶指令【重点】
df指令
df -h
:查看磁盘空间【-h
表示以可读性较高的形式展示大小】
free指令
free -m
:查看内存使用情况【 -m
表示以MB
为单位查看】
Swap
:用于临时内存,当系统真实内存不够用的时候可以临时使用磁盘空间来充当内存。
head指令
head -n 文件路径
:查看一个文件的前n
行,如果不指定n
,则默认显示前10
行。【n
表示数字】
tail指令
tail -n 文件的路径
:查看一个文件的末n
行,如果n
不指定默认显示后10
行【n同样表示数字】
tail -f 文件路径
:可以通过tail
指令来查看一个文件的动态变化内容【变化的内容不能是用户手动增加的】,该命令一般用于查看系统的日志比较多。
less指令
less 需要查看的文件路径
:查看文件,以较少的内容进行输出,按下辅助功能键(数字+回车、空格键+上下方向键)查看更多
在退出的只需要按下q
键即可。
wc指令
wc -lwc 需要统计的文件路径
:统计文件内容信息(包含行数、单词数、字节数)
-l
:表示lines
,行数
-w
:表示words
,单词数 依照空格来判断单词数量
-c
:表示bytes
,字节数
date指令【重点】
含义:表示操作时间日期(读取、设置)
date
date +%F
【等价于date “+%Y-%m-%d”
】
date “+%F %T”
【引号表示让“年月日与时分秒”成为一个不可分割的整体;等价操作:date “+%Y-%m-%d %H:%M:%S”
】
注意:区分大小写!date -d “-1 day” “+%Y-%m-%d %H:%M:%S”
:获取之前或者之后的某个时间(备份)
符号的可选值:
+
(之后) 或者-
(之前)
单位的可选值:day
(天)、month
(月份)、year
(年)
%F
:表示完整的年月日
%T
:表示完整的时分秒
%Y
:表示四位年份
%m
:表示两位月份(带前导0)
%d
:表示日期(带前导0)
%H
:表示小时(带前导0)
%M
:表示分钟(带前导0)
%S
:表示秒数(带前导0)
cal指令
含义:用来操作日历
cal
:直接输出当前月份的日历【等价于cal -1
】
cal -3
:表示输出上一个月+本月+下个月的日历
cal -y 年份
:表示输出某一个年份的日历
清屏指令
clear/ctrl + L
:清除终端中已经存在的命令和结果(信息)。
注意:该命令并不是真的清除了之前的信息,而是把之前的信息的隐藏到了最上面,通过滚动条继续查看以前的信息。
管道符|【重要】
- 作用:管道一般可以用于“过滤”,“特殊”,“扩展处理”。
- 管道不能单独使用,必须需要配合前面所讲的一些指令来一起使用,其作用主要是辅助作用。
- 案例1:需要通过管道查询出根目录下包含“y”字母的文档名称。
ls /|grep y
①以管道作为分界线,前面的命令有个输出,后面需要先输入,然后再过滤,最后再输出,通俗的讲就是管道前面的输出就是后面指令的输入;
②grep
指令:主要用于过滤
- 通过管道的操作方法来实现less的等价效果:
cat 路径 | less
- 统计某个目录下的文档的总个数:
ls / | wc -l
高级指令
hostname指令
作用:操作服务器的主机名(读取、设置)
hostname
:输出完整的主机名
hostname -f
:表示输出当前主机名中的FQDN
(全限定域名)
id指令
作用:查看一个用户的一些基本信息(包含用户id,用户组id,附加组id…),该指令如果不指定用户则默认当前用户。
-
id:默认显示当前执行该命令的用户的基本信息、
验证用户信息:通过文件/etc/passwd
-
id 用户名
:显示指定用户的基本信息
验证用户组信息:通过文件/etc/group
whoami指令
whoami
:显示当前登录的用户名,一般用于shell
脚本,用于获取当前操作的用户名方便记录日志。
ps指令【重要】
含义:主要是查看服务器的进程信息
ps -e
:等价于“-A
”,表示列出全部的进程
ps -f
:显示全部的列(显示全字段)
列的含义:
UID
:该进程执行的用户id
;
PID
:进程id
;
PPID
:该进程的父级进程id
,如果一个程序的父级进程找不到,该程序的进程称之为僵尸进程;
C
:CPU
的占用率,其形式是百分数;
STIME
:该进程的启动时间;
TTY
:终端设备,发起该进程的设备识别符号,如果显示“?
”则表示该进程并不是由终端设备发起;
TIME
:进程的执行时间;
CMD
:该进程的名称或者对应的路径;
案例:ps
的结果中过滤出想要查看的进程状态 ps -ef | grep “进程名称”
top指令【重点】
作用:查看服务器的进程占的资源,动态显示(100%使用)
退出命令:按下q
键
表头含义:
PID
:进程id;
USER
:该进程对应的用户;
PR
:优先级;【任务管理器中的详细信息可设置优先级】
VIRT
:虚拟内存; 【申请了多少就是多少】
RES
:常驻内存; 【用了多少就是多少】
SHR
:共享内存;
计算一个进程实际使用的内存 = 常驻内存(RES)- 共享内存(SHR)
S
:表示进程的状态status
(sleeping,其中S
表示睡眠,R
表示运行);
%CPU
:表示CPU
的占用百分比;
%MEM
:表示内存的占用百分比;
TIME+
:执行的时间;
COMMAND
:进程的名称或者路径;
在运行top
的时候,可以按下方便的快捷键:
M
:表示将结果按照内存(MEM
)从高到低进行降序排列;
P
:表示将结果按照CPU
使用率从高到低进行降序排列;
1
:当服务器拥有多个cpu
的时候可以使用“1
”快捷键来切换是否展示显示各个cpu
的详细信息;
du指令
du -sh 目录路径
:查看目录的真实大小
选项含义:
-s
:summaries
,只显示汇总的大小
-h
:表示以高可读性的形式进行显示
find指令
find 路径范围 选项 选项的值
:用于查找文件(其参数有55
个之多)
-name
:按照文档名称进行搜索(支持模糊搜索)
-type
:按照文档的类型进行搜索
文档类型:“-
”表示文件(在使用find
的时候需要用f
来替换),“d
”表示文件夹- 案例:使用
find
在根目录搜索gyy.txt
文件
- 案例:使用
find
在/etc
目录下搜索所有后缀为conf
的文件
sevices指令【重点】
service 服务名 start/stop/restart
:用于控制一些软件的服务启动/停止/重启- 案例1:启动
apache
服务 :service httpd start
- 案例2:检查
apche
服务是否启动:ps -ef | grep httpd
kill指令【重点】
kill 进程PID
: 表示杀死进程【当遇到僵尸进程或者出于某些原因需要关闭进程的时候;语法需要配合ps
一起使用】- 案例:
kill
掉apche
进程
killall 进程名称/服务名称
:不需要再使用ps
来配合杀死进程
ifconfig指令【重要】
含义:用于操作网卡相关的指令。
- ifconfig:获取网卡信息【如下图3块网卡】
注意:inet 就是网卡的ip地址。
ens33
表示Linux
中的一个网卡,ens33
是其名称。
Lo
(loop
,本地回还网卡,其ip
地址一般都是127.0.0.1
)也是一个网卡名称。
reboot指令
作用:重新启动计算机
reboot
重启reboot -w
:模拟重启,但是不重启【只写关机与开机的日志信息】
shutdown指令(慎用)
-
shutdown -h now “关机提示”
或者shutdown -h 15:25 “关机提示”
如果想要取消关机计划的话,则可以按照以下方式去尝试:
①针对于centos7.x
之前的版本:ctrl+c
②针对于centos7.x
(包含)之后的版本:shutdown -c
-
除了
shutdown
关机以外,还有以下几个关机命令:
#init 0
#halt
#poweroff
uptime指令
uptime
:输出计算机的持续在线时间【计算机从开机到现在运行的时间】
uname指令
作用:获取计算机操作系统相关信息
uname
:获取操作系统的类型uname -a
:all
,表示获取全部的系统信息【类型、全部主机名、内核版本、发布时间、开源计划】
netstat 指令
-t
:表示只列出tcp
协议的连接;
-n
:表示将地址从字母组合转化成ip
地址,将协议转化成端口号来显示;
-l
:表示过滤出“state
(状态)”列中其值为LISTEN
(监听)的连接;
-p
:表示显示发起连接的进程pid
和进程名称;
man指令
-
man 命令
:manual
,手册(包含了Linux
中全部命令手册,英文) -
退出按下
q
键 -
案例:通过man命令查询
cp
指令的用法