linux系统与shell 笔记
Linux 系统
Linux 是一种开源的操作系统内核,基于 Unix 设计,具有多用户、多任务、高稳定性和安全性的特点。它广泛应用于服务器、嵌入式设备和个人计算机领域。Linux 系统的核心组件包括内核、系统库、工具链和用户界面(如命令行或图形界面)。
Linux 系统的常见发行版包括:
- Ubuntu:适合初学者,社区支持丰富。
- CentOS:企业级稳定版本,常用于服务器。
- Debian:以稳定性和自由软件著称。
- Arch Linux:高度定制化,适合高级用户。
- Fedora:前沿技术试验田,由 Red Hat 支持。
Shell 环境
Shell 是用户与 Linux 内核交互的接口,负责解析用户输入的命令并调用系统功能。常见的 Shell 类型包括:
- Bash(Bourne-Again Shell):Linux 默认 Shell,功能丰富,支持脚本编程。
- Zsh:扩展性强的 Shell,支持插件和主题(如 Oh My Zsh)。
- Fish:用户友好,提供自动建议和语法高亮。
Shell 常用操作
# 查看当前 Shell
echo $SHELL# 切换 Shell(如切换到 Zsh)
chsh -s /bin/zsh# 查看系统支持的 Shell
cat /etc/shells
Shell 脚本示例
#!/bin/bash
# 示例脚本:输出系统信息
echo "当前用户:$(whoami)"
echo "系统时间:$(date)"
echo "磁盘使用:"
df -h
环境变量
环境变量是 Shell 中用于存储系统或用户配置的键值对,常用于配置程序行为或路径。
# 查看所有环境变量
env# 设置临时环境变量
export PATH=$PATH:/custom/path# 永久生效(写入 ~/.bashrc 或 ~/.zshrc)
echo 'export PATH=$PATH:/custom/path' >> ~/.bashrc
source ~/.bashrc
文件权限与管理
Linux 文件权限分为读(r)、写(w)、执行(x),分为用户、组和其他三类。
# 修改文件权限(用户可读写执行,组和其他可读执行)
chmod 755 filename# 修改文件所有者
chown user:group filename
系统服务管理
通过 Shell 可以管理系统服务(如启动、停止或重启)。
# 使用 systemd(现代 Linux 发行版)
systemctl start nginx
systemctl enable nginx# 使用 SysVinit(旧版系统)
service nginx start
chkconfig nginx on