1、目录结构
-
启动目录
/etc:配置文件目录(极其重要),后续所有服务的配置文件都在这个目录中- /etc/sysconfig/network-scripts/ifcfg-: 网络配置文件。
- /etc/hostname: 主机名。
- /etc/resolv.conf: 更改DNS,优先级小于网络配置文件中的DNS
-
系统文件目录
- `/usr: 相当于C:\Windows
/usr/local:通常用于存放用户自行编译安装的软件,相当于C:\Program File。- /usr/bin: 普通用户使用的应用程序(重要)
- /usr/sbin: 超级管理员使用的应用程序(重要)
- /usr/lib: 库文件Glibc 32bit。若删除可能导致命令不可用
- /usr/lib64: 库文件Glibc 64bit。若删除可能导致命令不可用。
- `/usr: 相当于C:\Windows
-
可变项目与临时目录
var: 非常重要的目录(日志文件、临时文件)tmp: 存储临时文件。这些文件通常是应用程序在运行期间创建的临时文件或缓存文件run: 一个临时目录,用于存放应用程序在运行期间需要的一些短暂存在的文件,比如socket和pid文件
-
命令相关目录
- bin: 普通用户使用的命令。例如: /bin/ls; /bin/date;
- sbin: 超级管理员使用的命令。例如: /sbin/service; /sbin/useradd;
-
用户相关目录
- /root: 超级管理员
root的目录 - /home: 普通用户的目录
- /root: 超级管理员
-
设备目录文件
/dev: 存放设备文件。比如硬盘、分区、光驱、会话终端等- /dev/sd: 硬盘分区及硬盘分区。例如sda sdb sdc等。
- /dev/null: 黑洞设备,只进不出。
- /dev/zero: 源源不断的产生数据。
- /dev/random: 生产随机数的设备。
-
虚拟的文件系统
- proc: 反应当前系统正在运行的进程实时状态
-
软连接形式目录
- 在
CentOS7中/bin,/sbin,/lib,/lib64都是以软链接的形式连接到/usr目录下
- 在
-
其他目录
- /media: 提供设备的挂载点。
- /mnt: 提供设备的挂载点。
/opt: 一个可选的软件安装目录,可以用于存放第三方软件。这个目录是用户级的程序目录,可以理解为D:/Software
2、目录文件操作
-
通用操作
ls: 列出目录- ls -l # 列出所有的文件,包含文件的属性和权限
- ls -a # 查看全部的文件,包括隐藏文件
- cd:切换目录
- 使用绝对路径/,
- 也可以使用./相对路径
- 回到上级目录cd ..
- cp: 复制文件或目录
- cp source target
- mv: 移动文件与目录
- mv source target
- mv -f 强制移动
- mv -u 只替换更新后的文件
- rm: 移除文件或目录
- rm -f 强制删除!
- rm -r 递归删除
- rm -rf 强制递归删除
-
文件操作
- touch:命令来创建文件
- touch textdIr
- echo:命令往文件里面写入内容
- echo "hello" >> readme.txt
- cat:用来查看文件内的内容
- cat textdIr
- more:命令来查看显示长文件内容
- touch:命令来创建文件
-
文件夹操作
- pwd:显示目前的目录
- mkdir:创建一个新的目录
- mkdir textDIr
- rmdir:删除一个空的目录
-
tar -zxvf tar.gz 解压命令
3、管理系统服务的命令:service VSsystemctl
-
配置文件位置不同:
- service 命令使用 /etc/init.d/ 目录下的脚本文件
- systemctl 命令使用 /lib/systemd/system/ 目录下的 unit 文件。
-
状态信息不同:
- service 命令通过执行脚本来获取服务状态信息
- systemctl 命令通过 systemd 的状态管理功能来获取状态信息(更详细和准确)
-
命令选项不同:
- service 命令只有 start、stop、restart、reload 等简单选项
- systemctl 命令更多 enable、disable、status、is-active、is-enabled 等
-
兼容性不同:
- 一些较老的服务可能只能通过 service 命令启动或停止
- systemctl 命令并不支持。
4、防火墙 - Linux 中有两种防火墙软件
- ConterOS7.0以上使用的是 firewall
- ConterOS7.0以下使用的是 iptables
Firewall
systemctl 操作命令
systemctl status firewalld # 查看防火墙状态
systemctl start firewalld # 开启防火墙
systemctl stop firewalld # 关闭防火墙
systemctl enable firewalld # 开机启动
systemctl disable firewalld # 禁用开机启动
firewall-cmd --reload # 重启防火墙
firewall-cmd --zone=public --add-port=8080/tcp --permanent # 开放端口、重启防火墙
firewall-cmd --zone=public --remove-port=8080/tcp --permanent # 关闭端口、重启防火墙
firewall-cmd --list-ports # 查看开放的端口
service 操作命令
# 防火墙
systemctl status firewalld # 查看状态
service firewalld start # 开启
service firewalld restart # 重启
service firewalld stop # 关闭
Iptables(需要安装)
- 由于 CenterOS7.0 以上版本并没有预装 Iptables
- systemctl stop firewalld # 先关闭防火墙
- yum install iptables # 安装 iptables
- yum install iptables-services # 安装 iptables-services
systemctl start iptables.service # 开启防火墙
systemctl stop iptables.service # 关闭防火墙
systemctl status iptables.service # 查看防火墙状态
systemctl enable iptables.service # 设置开机启动
systemctl disable iptables.service # 禁用开机启动
iptables -L -n # INPUT链可以看出开放了哪些端口
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT # 开放8080端口
5、网络链接
-
本地连接服务器
- ssh -p 22 root@192.168.339.128
- 22 :端口号
- root:用哪个用户登录
- 输入登录密码
- ssh -p 22 root@192.168.339.128
-
查看网络 netstat
- -a:列出所有的网络连接
- -n:不使用域名与服务名,而使用IP地址和端口号
- -p:列出所对应的进程信息
- -l:仅列出在监听状态网络服务
- -t:列出TCP协议端口
- -u:列出UDP协议端口
- grep :用来筛选,过滤后面的条件
- 当使用 netstat | more进行滚屏,ctrl+f/b进行翻上/下页
-
查看端口的占用情况
- netstat -anpl | grep 22
- tcp 0 0 0.0.0.0:22 .... 60098/sshd
- $kill -s 9 1827:结束进程
- netstat -anpl | grep 22