# Linux
# 文件目录结构及用途
/sys 系统文件 /boot 启动文件 /dev 设备 终端、网卡、内存、CPU、磁盘、光驱等 /lib 库文件 /etc 服务配置文件,如用户账号密码(/etc/passwd)、用户组、网卡配置 /media 音频设备 /mnt 即mount,挂载点,挂载磁盘、光驱等 /proc 进程管理,数字即进程id /run 运行时文件 /usr 应用程序配置、模板文件、库文件 /root 超级管理员的家目录 /sbin 超级权限拥有的特殊权限 /home 每个用户自己的目录 /bin 可执行文件,普通用户的权限 /srv 存放对外的数据 /opt 应用程序目录 /var 日志文件等,系统日志,应用日志 /tmp 临时缓存目录,程序运行时缓存文件
# 指令
# 文件目录管理
# 查看
- cd
- pwd
- ls
- cat
- more: 空格下一页 b上一页
- tree 查看文件树
- head -n file 查看文件前n行
- tail -n file 查看文件后n行
# 操作
- touch
- mkdir
- vim
- cp
- mv
- vim
# vim
# 指令
- i 开始编辑
- o 下一行开始编辑
- yy 复制行
- p 粘贴
- nyy 复制多行(如:复制两行 2yy)
- u 撤销
- dd 删除单行
- dG 删除当前行到末行
- dgg 删除当前行到首行
- G 光标切换到末行
- gg 光标切换到首航
# 组合键
- ctrl + v 批量选择
# 冒号指令
:set nu 显示行号
:set nonu 显示行号
:n 光标到n行(如 :6 到第六行)
:%s/abc/def/g 将abc替换为def
/abc 查找abc,n往下找,N网上找
# 权限管理
# 权限查看
d rwx r-x r-x:
- 第一位: d为目录 -为文件
- 第一部分: 用户权限
- 第二部分: 组权限
- 第三部分: 其他人权限
授权:
- r: 读,模式数4
- w: 写,模式数2
- x: 执行,模式数1
# 授权
# 集体授权
- chmod 777 1.txt 任何人都可读写执行删除操作
# 单独授权
- chmod u+x 1.txt 给用户赋予执行权限
- chmod g+x 1.txt 给用户组赋予执行权限
- chmod o+x 1.txt 给其他人赋予执行权限
- chmod u-x 1.txt 撤销用户的执行权限
# 递归授权
- chmod 777 a -R 将a目录及目录下所有文件集体授权
# 文件归属
- chown [用户名]:[用户组] [文件名] 更改文件所属用户和组
- chown :[用户组] [文件名] 更改文件所属组
# 用户管理
# 用户登录
[root@myserver~]#: 用户名称@主机名称(可用hostname查看)
- ~ 代表宿主目录,即用户的家目录
- # 代表超级管理员用户
- $ 代表普通用户
# 用户信息
# id
# 指令: id
uid=0(root) gid=0(root) groups=0(root)
- uid 用户的id
- gid 用户所属的组id
- groups 创建用户时自动生成的与用户同名的组
# 指令
- whoami: 返回的是用户的名称
# 创建用户
useradd 课指定用户名称、home目录、用户组、gid等
josh❌1000:1000::/home/josh:/bin/bash:
- 用户名:密码:用户id:组id::宿主目录:shell
- /bin/bash 是默认分配给用户使用的
- /sbin/nologin 去禁止用户登录,如: useradd josh -s /sbin/nologin 创建用户并禁止登录
# 删除用户
userdel [name]
# 切换用户
- su [用户名]: 切换到用户
- exit: 退出当前用户
- su - [name]: 切换用户并切换到对应环境变量
# 修改用户属性
usermod
- usermod josh -L 锁定账号,禁止登录,-U解锁
# 磁盘管理
# 指令
- fdisk: 磁盘分区
- mkfs: 磁盘格式化 -mount: 挂载磁盘,将/dev目录下的磁盘,挂载到指定目录,如: mount /dev/sdb1 /data/sdb1
- unmount: 卸载磁盘
- df: 磁盘查看 -h 带单位
# 安装包
# 工具
- rpm
- yum
# rpm
适用于安装不依赖其他软件的单一软件
- rpm -qa: 获取已安装的包列表
- rpm -ivh xxx.rpm: 安装xxx.rpm
- rpm -e xxx: 卸载xxx
- rpm -Uvh xxx.rpm: 更新xxx.rpm
# yum
适用于安装带依赖的软件
- /etc/yum.repos.d yum源
- yum remove [包名]
- yum install [包名] -y
- yum update [包名]
- yum repolist 仓库列表
- yum clean all 清空源缓存
[base] # 源名称
name=CentOS-$releasever - Base # 仓库描述
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra # 源地址 源地址内要有/repodata/repomd.xml
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1 # 证书验证
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
# dnf
比yum新的安装工具
- dnf list installed 列出已安装包
- dnf check-update 检查更新
- dnf repolist all 查看源
- dnf search 查找包
- dnf install 安装包
- dnf reinstall 重装包
- dnf download 下载包
- dnf remove 卸载包
- dnf clean all 清除缓存
# 文件处理
# 归档
- tar cf xxx.tar file1 file2 创建归档
- tar xf xxx.tar -C /root/dist 创建归档
- tar zxf xxx.tar.gz -C /root/dist 解压归档
# 下载文件
- wget 下载链接文件
# 网络管理
- IP: 全球唯一的机器标识
- DNS: 域名服务,解析域名为ip
- Gateway: 路由器网关
- ipv4: 网络地址为4 * 8 = 32位
- 子网掩码: 255.255.255.0简写为/24,192.168.123.1/24 意味着该32位的ip可分配的地址为32 - 24 = 8 位,即最大可分配256个IP地址
- NAT: 虚拟机通过宿主机IP进行数据传输
- 桥接: 虚拟机与宿主机共享一个局域网,获取与宿主机相同网段的IP地址
# 网卡操作
- /etc/sysconfig/network-scripts 网卡配置文件
- /etc/sysconfig/network-scripts/ifcfg-eth0 即eth0的网卡配置文件
- ifconfig 查看网卡信息
- ip addr 查看网卡信息
- systemctl restart network 重启网卡
- nmcli connection reload 重启网卡
- nmcli connection up xxx 启动某网卡
- ifdown xxx 断开xxx网卡
- ifup xxx 连上xxx网卡
DEVICE=lo
IPADDR=127.0.0.1 # IP地址
NETMASK=255.0.0.0 # 子网掩码
NETWORK=127.0.0.0
BROADCAST=127.255.255.255
BOOTPROTO="none" # none static静态 dhcp 动态
UUID="xxxxxxx" # 网卡UUID
ONBOOT=yes # 开机自动打开网卡
NAME=loopback # 网卡名称
# 查看端口进程
- lsof -i:port
# VNC远程连接
- dnf install tigervnc-server tigervnc-server-module -y 安装VNC服务
- vncpassword 修改vnc密码
- systemctl deamon-reload 重新加载服务
- systemctl start vncserver 启动vnc服务
# SSH
- systemctl status sshd 查看ssh状态