Linux文件
Linux系统中一切皆文件
Linux目录结构
/bin
- 是Binary的缩写,这个目录存放着最经常使用的命令
/sbin
-
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程
序。
/home
-
存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般
该目录名是以用户的账号命名的。
/root
- 该目录为系统管理员,也称作超级权限者的用户主目录。
/lib
-
系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的
DLL文件。几乎所有的应用程序都需要用到这些共享库。
lost+found
- 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/etc
- 所有的系统管理所需要的配置文件和子目录。
/usr
-
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录
下,类似于windows下的program files目录。
/boot
-
这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及
镜像文件,自己的安装别放这里。
/proc
-
这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访
问这个目录来获取系统信息。
/srv
- service缩写,该目录存放一些服务启动之后需要提取的数据。
/sys
-
这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的
一个文件系统sysfs 。
/tmp
- 这个目录是用来存放一些临时文件的。
/media(CentOS6)
-
linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux
会把识别的设备挂载到这个目录下。
-
CentOS7迁移到/run/media
/mnt
-
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部
的存储挂载在/mntl上,然后进入该目录就可以查看里的内容
/opt
-
这是给主机额外安装软件所摆放的目录。比如你安装一个mysql数据库则
就可以放到这个目录下。默认是空的。
/var
-
这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目
录放在这个目录下。包括各种日志文件。
第 4 章 VI/VIM 编辑器(重要)
VI 是 Unix 操作系统和类 Unix 操作系统中最通用的文本编辑器。
VIM 编辑器是从 VI 发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜 色辨别语法的正确性,方便程序设计。VIM 与 VI 编辑器完全兼容
一般模式
以 vi 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可 以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档 案内容, 也可以使用『复制、粘贴』来处理你的文件数据
b上一个词
e下一个词
R替换模式
r替换一个
x剪切后一个
X剪切前一个
G最后一行,L也是
gg第一行开头
3+G第三行
:set nu 列出行号
:set no nu 取消行号
编辑模式
在一般模式中可以进行删除、复制、粘贴等的动作,但是却无法编辑文件内容的!要 等到你按下『i, I, o, O, a, A』等任何一个字母之后才会进入编辑模式。 注意了!通常在Linux中,按下这些按键时,在画面的左下方会出现『INSERT或 REPLACE』的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下 『Esc』这个按键即可退出编辑模式
按『Esc』键 退出编辑模式,之后所在的模式为一般模式
指令模式
在一般模式当中,输入『 : / ?』3个中的任何一个按钮,就可以将光标移动到最底下那 一行。 在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、 离开 vi 、显示行号等动作是在此模式中达成的
(1)强制保存退出 :wq
/boot查找boot,n跳转到下一个,N上一个
:noh,不高亮
:s/boot/booot替换光标当前的行的第一个匹配
:s/boot/booot/g全局当前行
网络配置和系统管理操作
查看网络IP和网关
查看虚拟网络编辑器
查看主机的ip
点详细信息就可以得到
或者
win+r->cmd->ipconfig
linux里ifconfig
VMware提供了三种网络连接模式:
桥接模式
- 虚拟机直接连接外部物理网络的模式,主机起到了网桥的作用。这种模式下,虚拟机以直接访问外部网络,并且对外部网络是可见的。
NAT模式
- 虚拟机和主机构建一个专用网络,并通过虚拟网络地址转换(NAT)设备对IP进行换。虚拟机通过共享主机I可以访问外部网络,但外部网络无法访问虚拟机。
仅主机模式
- 虚拟机只与主机共享一个专用网络,与外部网络无法通信。
桥接模式
NAT模式
VMnet8,虚拟的网卡
仅主机模式
因为一般是虚拟机连主机,所以只需要设置虚拟机的静态ip
所有的配置在etc下
vim /etc/sysconfig/network-scripts/ifcfg-ens33
移动光标到BOOTPROTO然后dw,删除,i进入编辑模式输入static
TYPE="Ethernet" #网络类型(通常是 Ethemet)
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static" #IP 的配置方法[none|static|bootp|dhcp](引导
时不 使用协议|静态分配 IP|BOOTP 协议|DHCP 协议)
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="e83804c1-3257-4584-81bb-660665ac22f6" #随机 id
DEVICE="ens33" #接口名(设备,网卡)
ONBOOT="yes" #系统启动的时候网络接口是否有效(yes/no)
#IP 地址
IPADDR=192.168.111.100
#网关
GATEWAY=192.168.111.2
#域名解析器
DNS1=192.168.111.2
子网掩码c类地址默认
:wq退出并保存
重启网络服务
service network restart
发现DNS1=192.168.1111.2我多打了个1,改成111之后再次重启网络服务后ping bilibili成功
可能遇到的问题
- 物理机能 ping 通虚拟机,但是虚拟机 ping 不通物理机,一般都是因为物理机的 防火墙问题,把防火墙关闭就行
- 虚拟机能 Ping 通物理机,但是虚拟机 Ping 不通外网,一般都是因为 DNS 的设置有问题
- 虚拟机 Ping www.baidu.com 显示域名未知等信息,一般查看 GATEWAY 和 DNS 设 置是否正确
- 如果以上全部设置完还是不行,需要关闭 NetworkManager 服务
- systemctl stop NetworkManager 关闭
- systemctl disable NetworkManager 禁用
- 如果检查发现 systemctl status network 有问题 需要检查 ifcfg-ens33
配置主机名
1) 基本语法 hostname (功能描述:查看当前服务器的主机名称)
vim /etc/hostname
hostnamectl set-hostname jinx101
修改hosts映射文件
vim /etc/hosts
修改主机的hosts
192.168.111.100 jinx100
192.168.111.101 jinx101
192.168.111.102 jinx102
192.168.111.103 jinx103
192.168.111.104 jinx104
可以拷贝到桌面然后复制到对应目录替换
远程登录
通常在工作过程中,公司中使用的真实服务器或者是云服务器,都不允许除运维人员 之外的员工直接接触,因此就需要通过远程登录的方式来操作。所以,远程登录工具就是 必不可缺的,目前,比较主流的有 Xshell, SSH Secure Shell, SecureCRT,FinalShell 等,同学 们可以根据自己的习惯自行选择
SSH登录
ssh root@jinx100
系统管理
Linux中的进程和服务
计算机中,一个正在执行的程序或命令,被叫做“进程”(process)。
启动之后一只存在、常驻内存的进程,一般被称作“服务”(service)。
service服务管理(CentOS6)
基本语法 service 服务名 start | stop | restart | status
经验技巧
查看服务的方法:/etc/init.d/服务名 ,发现只有两个服务保留在 serv
守护进程daemon
systemctl(CentOS7)
基本语法 systemctl start | stop | restart | status 服务名
经验技巧 查看服务的方法:/usr/lib/systemd/system
停掉network
systemctl stop network
重启NetworkManager
systemctl restart NetworkManager
setup进入设置开机自启
查看防火墙服务的状态 [root@hadoop100 桌面]# systemctl status firewalld
停止防火墙服务 [root@hadoop100 桌面]# systemctl stop firewalld
启动防火墙服务 [root@hadoop100 桌面]# systemctl start firewalld
重启防火墙服务 [root@hadoop100 桌面]# systemctl restart firewall
systemctl 设置后台服务的自启配置
systemctl list-unit-files (功能描述:查看服务开机启动状态)
systemctl disable service_name (功能描述:关掉指定服务的自动启动)
systemctl enable service_name (功能描述:开启指定服务的自动启动
开启/关闭 iptables(防火墙)服务的自动启动
[root@hadoop100 桌面]# systemctl enable firewalld.service
[root@hadoop100 桌面]# systemctl disable
CentOS6
查看默认级别:vi /etc/inittab
Linux系统有7种运行级别(runlevel):常用的是级别3和5
运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有NFS),不支持网络
运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
CentOS7的运行级别简化为:
multi-user.target 等价于原运行级别3(多用户有网,无图形界面)graphical.target等价于原运行级别5(多用户有网,有图形界面)
查看当前运行级别:
systemctl get-default
CentOS6需要查看文件
修改当前运行级别
systemctl set-default TARGET.target (这里 TARGET 取 multi-user 或者 graphical)
关闭防火墙
临时关闭防火墙
查看防火墙状态 systemctl status firewalld
临时关闭防火墙 systemctl stop firewalld
开机启动时关闭防火墙
设置开机时打开防火墙 systemctl enable firewalld.service
设置开机时关闭防火墙 systemctl disable firewalld.service
ctrl+alt+f2进入命令行/init3
ctrl+alt+f1进入图形化/init5
chkconfig --list
该输出结果只显示 SysV 服务,并不包含原生 systemd 服务。SysV 配置数据可能被原生 systemd 配置覆盖。
开机自启
chkconfig network off关闭
chkconfig network on打开
chkconfig --level 3 network on 3运行级别开
systemctl disable NetworkManager关闭开机自启
systemctl enable NetworkManager开机自启
systemctl list-unit-files查看所有
关机重启
shutdown
shutdown -c 取消
shutdown now立刻关机
shutdown 3 3分钟关机
shutdown 15:28 定时关机
sync
基本语法
sync (功能描述:将数据由内存同步到硬盘中)
halt (功能描述:停机,关闭系统,但不断电)
poweroff (功能描述:关机,断电)
reboot (功能描述:就是重启,等同于 shutdown -r now)
shutdown [选项] 时间
Linux系统中为了提高磁盘的读写效率,对磁盘采取了“预读迟写”操作方式。当用户保存文件时,Linux核心并不一定立即将保存数据写入物理磁盘中,而是将数据保存在缓冲区中,等缓冲区满时再写入磁盘,这种方式可以极大的提高磁盘写入数据的效率。但是,也带来了安全隐患,如果数据还未写入磁盘时,系统掉电或者其他严重问题出现,则将导致数据丢失。使用sync指令可以立即将缓冲区的数据写入磁盘。
将数据由内存同步到硬盘中
sync
重启
reboot
停机(不断电)
halt
计算机将在 1 分钟后关机,并且会显示在登录用户的当前屏幕中
shutdown -h 1 ‘This server will shutdown after 1 mins’
立马关机(等同于 poweroff)
shutdown -h now
系统立马重启(等同于 reboot)
shutdown -r no