Linux文件系统
一切皆文件
就连硬件设备也是作为文件出现
Linux目录结构
Linux目录作用
- /bin : binary 目录,即可执行文件的目录
- /sbin: System Binary: 超级管理员可用的可执行文件目录
- /lib: Library 库目录,系统和应用需要的一些库文件
- /lib: Library 64位目录,64位系统的库文件
- /usr: user目录,用户级别所有的应用程序和所需要的文件与数据
- /boot:引导启动所需要的各种文件
- /dev: device 设备管理目录
- /etc: 系统管理所需要的配置文件与子目录
- /home : 每一个用户对应所有的目录(普通用户)
- /root: root用户的用户目录
- /opt: optional 可选目录,给第三方软件包专门留下的位置
- /media: 识别可移动媒体设备
- /mnt: mount(挂载)目录,将外部设备挂载到这里
- /proc: process 进程目录
- /run:运行目录,当前系统运行信息
- /srv: service 系统服务
- /sys: system 系统硬件信息相关文件
- /tmp: temporary 临时目录,临时存放
- /var :可变目录,经常需要修改的东西,一般是各种log,日志
VI / VIM编辑器
文本编辑器
# 启动vim编辑器打开文件
$ vim 文件名
vim编辑器模式
通过vim 文件
进入文件后默认是一般模式,能够使用的主要操作:删除复制粘贴
之后按 i 、a 、o 任意一个进入编辑模式,可以对文本进行编辑,注意,编辑后需要退出编辑模式,进入命令模式使用:write
保存编辑的内容
回退改变可以在一般模式按u
便会撤回修改,但是并没有保存,仍然需要到命令模式进行一次保存,才能还原更改
语法
一般模式下
语法 | 功能描述 |
---|---|
yy | 复制光标当前一行 |
y 数字 y | 复制光标及以下一共 n(数字)行 |
p | 粘贴到光标行之下 |
数字 p | 将将复制的内容粘贴 数字 次 |
dd | 删除光标行 |
数字 dd | 删除光标及以下一共 数字行 |
y$ | 复制光标位置到该行结束的内容 |
y^ | 复制该行开头到光标位置的内容 |
d$ | 删除光标位置到该行结束的内容 |
d^ | 删除该行开头到光标位置的内容 |
yw | 复制光标当前所处位置到该单词末尾,会顺便帮你把单词后的空格也复制 |
dw | 删除光标当前所处位置到该单词末尾,会顺便帮你把单词后的空格也删掉 |
x | 剪切光标所在位置的单个字符 |
X | 剪切光标之前的单个字符 |
r | 更改当前光标的单个字符 |
R | 依次替换光标后的每个字符 |
^ | 移动光标到行首 |
$ | 移动光标到行尾 |
w | 移动光标到下一个单词(词头位置) |
e | 移动光标到当前词尾 |
数字N G | 移动到目标行 |
gg | 移动到文件开头 |
G | 移动到文件结尾 |
L | 移动到当前页页尾开头 |
H | 移动到当前页也首开头 |
u | 撤销上一步操作,但不会保存,需要手动保存 |
编辑模式
进入编辑模式
语法 | 功能描述 |
---|---|
i | 直接进入编辑模式 |
a | 进入编辑模式,光标后移一位 |
o | 进入编辑模式,光标下移一行(建立新行) |
cc 或 C | 删除当前行并进入编辑模式 |
I | 进入编辑模式,光标回到当前行首 |
A | 进入编辑模式,光标跳到当前行尾 |
O | 进入编辑模式,光标上移一行(建立新行) |
退出编辑模式
esc
命令模式下
:set nu
显示所有行号
:set nonu
隐藏所有行号
基本语法
命令 | 功能 |
---|---|
:w | 保存 |
:q | 退出 |
:wq | 保存并退出 |
:q! | 不保存强制退出 |
/要查找的词 | 按n 查找下一个,按N往上查找 |
:noh | 取消高亮显示 |
:set nu | 显示行号 |
:set nonu | 关闭行号 |
😒/old/new | 替换当前行匹配到的第一个 old 为 new |
😒/old/new/g | 替换当前行匹配到的所有 old为new |
:%s/old/new | 替换文档中每一行匹配到的第一个old为new |
:%s/old/new/g | 替换文档中匹配到的所有old为new |
网络配置和系统管理操作
查看网络IP和网关
ifconfig
(Interface Config)
$ ifconfig
VMware提供了三种网络连接模式:
桥接模式:
虚拟机直接连接外部物理网络的模式,主机起到了网桥的作用。这种模式下,虚拟机可以直接访问外部网络,并且对外部网络是可见的。
NAT 模式:
虚拟机和主机构建一个专用网络,并通过虚拟网络地址转换(NAT)设备对IP进行转唤。虚拟机通过共享主机IP可以访问外部网络,但外部网络无法访问虚拟机。
仅主机模式:
虚拟机只与主机共享一个专用网络,与外部网络无法通信。
修改静态ip
ip如果是动态分配的话,每次连接时都需要知道现在的ip到底是多少,十分麻烦,但是如果我们直接静态分配给它一个ip,之后就只用连接静态ip就好了
在CentOS中可以直接在图形化界面设置里的网络IPv4里修改静态ip
这里使用控制台修改
vim /etc/sysconfig/network-scripts/ifcfg-ens33
# ens33是安装Linux时,显示的网络名称
# 修改 BOOTPROTO="dhcp" 的 dhcp 改成 static
# 添加如下内容,其中,202这部分要看给虚拟机NAT分配的子网是多少,100正好和Linux的名字linux100对应上,算是好记吧
# 粘贴的快捷键是ctrl+shift+v
#IP地址
IPADDR=192.168.202.100
#网关
GATEWAY=192.168.202.2
#域名解析器
DNS1=192.168.202.2
DHCP: 动态主机控制协议
之后重启网络服务
service network restart
修改ip地址后可能会遇到的问题
-
物理机能ping通虚拟机,但是虚拟机ping不通物理机,一般 都是因为物理机的防火墙问题,把防火墙关闭就行
-
虚拟机能Ping通物理机,但是虚拟机Ping不通外网,一般都是因为DNS的设置有问题
-
虚拟机Ping www. baidu. com 显示域名未知等信息,一般查看GATEWAY和DNS设置是否正确
-
如果以上全部设置完还是不行,需要关闭network服务
➢systemctl stop network 关闭
➢systemctl disable network 禁用
关闭后执行
systemctl restart NetworkManager
网络便会重新连接 -
如果检查发现systemctl status network 有问题需要检查ifcfg-ens33
配置主机名
# 查询当前主机名
hostname
修改主机名
# 到这里修改主机名配置文件
vim /etc/hostname
# 之后重启主机便会更改
# 如果不想重启,可以用下面的命令修改实时生效
hostnamectl set-hostname 新主机名
修改hosts映射文件
# 到这里修改hosts
vim /etc/hosts
# 添加如下
192.168.31.100 linux100
192.168.31.101 linux101
修改windows的hosts文件,到C:\Windows\System32\drivers\etc
目录下找到hosts文件
将
192.168.31.100 linux100
192.168.31.101 linux101
直接添加到hosts文件中,不需要前面加#
另存到其地方,然后替换掉原文件
之后用cmd ping linux100时,可以直接
ping linux100
远程登录
通过ssh进行远程登录
ssh root@linux100
# 第一次登录会出现如下提示
# The authenticity of host 'linux100(192.168.31.100)' can't be established.
# ECDSA key fingerprint is XXXXXXXXXXXXXXXXXXXXXX
# Are you sure you want to continue connecting (yes/no/[figerprint])?
# 这时打出yes,然后输入密码(输入过程中密码一个字符都不会显示)就能登录进去了
# 之后就相当于进入了Linux的终端界面,操作也一致
其他远程登录工具:Xshell,SSH Secure Shell 等
系统管理
Linux中的进程和服务
计算机中,一个正在执行的程序或命令,被叫做 “进程” (process)
启动之后,一直存在,常驻内存的进程,一般被称作“服务”(service)
service服务管理
基本语法(CentOS 6 版本)
service 服务名 start|stop|restart|status