目录
Linux系统组成
Linux内核:运行程序和管理硬件的核心程序
Linux Shell:用户交互接口
Linux 文件系统
Linux 应用程序
用户类型
超级用户:“#”
普通用户:“$”
Linux严格区分大小写!!!
获得命令帮助
获得命令帮助的方法
命令 | 说明 | 举例 |
help 内置命令 | 查看指定内置命令使用方法 | help cd |
命令名 --help | 查看命令用法摘要和参数列表 | ls --help |
whatis 命令名 | 查看命令功能描述 | whatis history |
man 命令名 | 查看指定命令手册,按q退出 | man ls |
info/pinfo 命令名 | 查看命令的GNU项目文档 | info ls |
man -k <关键字> apropos <关键字> | 列出与关键字匹配的手册页 | man -k selinux apropos systemd |
获取系统基本信息
获取LInux系统信息
分类 | 功能 | 命令 |
硬件 | 通过DMI获取系统硬件信息 | dmidecode 或lshw |
显示PCI或USB接口信息 | lspci/lsusb | |
显示CPU信息 | lscpu/cat/proc/cpuinfo | |
检查硬件虚拟化支持 | egrep --color "vmx|svm"/proc/cupinfo | |
显示物理内存大小 | free -m | |
系统 | 查看系统发发行版本 | cat /etc/system-relaease |
查看系统内核版本 | uname -r | |
显示机器体系结构 | arch | |
显示机器加载的内核模块 | lsmod | |
查看系统启动消息 | dmesg | |
存储 | 显示系统中的块设备 | lsblk |
显示磁盘分区 | fdisk -l或gdisk -l或parted -l | |
显示物理卷/卷组/逻辑卷 信息 | pvs/vgs/lvs | |
查看已挂装的文件系统 | findmnt | |
显示磁盘剩余空间 | df -Ph | |
查看所有交换空间 | swapon -s | |
本地化 | 查看日期和时间 | timedatectl或date |
查看语言支持和键盘设置 | localectl | |
软件 | 查看已启用的软件更新源 | yum repolist |
查看已安装的所有软件 | rpm -qa或yum list installed | |
检查是否有可用的软件包更新 | yum check-update或yum list updates | |
网络 | 显示主机名 | hostnameectl或hostname |
显示网络接口参数 | ip addr show或ifconfig | |
显示路由信息 | ip route show或route | |
显示网络状态信息 | ss或netstat | |
显示防火墙规则 | firewall --list-all 或iptables -nvL |
![](https://i-blog.csdnimg.cn/blog_migrate/47d5871d9b799361e9e38970373776f9.png)
关机与重新启动
关机 | 停机 | 重启 |
systemctl poweroff | systemctl halt | systemctl reboot |
poweroff | halt | reboot |
shutdown -h now | shutdown -H now | shutdown -r now |
Shell和命令基础
命令解释器是Shell最重要的功能,Linux系统中所有可执行文件都可以作为Shell命令来执行。
Linux上可执行文件
类别 | 说明 |
Linux命令 | 在/bin、/sbin目录下 |
内置命令 | 出于效率考虑,将一些常用命令的解释程序构造在Shell内部 |
实用程序 | 存放在/usr/bin、/usr/sbin、/usr/local/sbin等目录下的实用程序 |
用户程序 | 用户程序经过编译生成可执行文件后可作为Shell命令执行 |
Shell脚本 | 由Shell语言编写的批处理文件 |
命令格式和通配符
cmd [-options] [arguments]
通配符 | 说明 |
* | 匹配任何字符和任何数目的字符 |
? | 匹配任何单字符 |
[...] | 匹配任何包含在括号里的单字符 |
[!...] | 匹配任何不包含在括号里的单字符 |
ls *.c //列出当前目录下所以*.c文件
ls /home/*/*.c //列出home所有子目录中的所有*.c文件
ls n*.conf //列出当前目录下所有n开头的conf文件
ls test?.dat //列出当前目录下以test开始加一个任意字符的dat文件
ls [abc]* //列出当前目录下首字符是a或b或c的所有文件
ls [abc]* //列出当前目录下首字符不是a或b或c的所有文件
ls [a-zA-Z]* //列出当前目录下首字符是字母的所有文件
文件及Linux目录结构
在Linux系统上,文件被看作是字节序列。这种概念使得所有的系统资源有了统一的标识,这些资源包括普通文件或目录、磁盘设备、控制台(键盘、显示器)、打印机等。对这些资源的访问和处理都是通过字节序列的方式实现的。
普通文件
普通文件就是字节序列,Linux并没有对其内容规定任何的结构。可以是程序源代码(C、C++、 Python、 Perl 等)、可执行文件(文件编辑器、数据库系统、出版工具、绘图工具等)、图片、声音、图像等。Linux不会区别对待这些文件,只有处理这些文件的应用程序才会根据文件的内容为它们赋予相应的含义。
目录和硬链接
目录文件由一组目录项组成,目录项可以是对其他文件的指向也可以是对其下的子目录指向。
实际上,一个文件的名称是存储在其父目录中,而非同文件内容本身存储在一起。
将两个文件名指向硬盘上的一个存储空间,对两个文件中的任何一个的内容进行修改都会影响另一个文件,这种链接称为硬链接。由ln命令建立。
符号链接
符号链接又称软链接,是指将一个文件指向另一个文件的的文件名。由ln -s命令建立。
设备文件
Linux下可以向访问普通文件一样对设备进行读写访问。
套接字和命名管道
套接字和命名管道是Linux环境下实现进程间通信(IPC)的机制。
命名管道(FIFO) 文件允许运行在同一台计算机上的两个进程之间进行通信。套接字( socket) 允许运行在不同计算机上的进程之间相互通信。
文件目录结构
![](https://i-blog.csdnimg.cn/blog_migrate/feccf3bd9abbec68f6150a6f6c16795b.png)