Linux操作系统(基础篇)
一、Linux基础概念与特点
-
开源和免费:
Linux操作系统是开源的,这意味着任何人都可以查看、修改和分发其源代码。这种开放性不仅使得Linux成为学习和研究的理想平台,还促进了全球范围内的合作和创新。同时,由于Linux是免费的,用户无需支付任何许可费用,大大降低了使用成本。 -
稳定性和安全性高:
Linux操作系统经过严格的测试和验证,具有极高的稳定性和可靠性。它采用了多种安全机制,如用户权限管理、文件访问控制等,有效地保护了系统的安全。因此,Linux广泛应用于对稳定性和安全性要求较高的领域,如服务器、嵌入式系统等。 -
强大的网络功能:
Linux天生具有强大的网络功能,支持各种网络协议和服务。无论是作为服务器还是客户端,Linux都能提供高效、稳定的网络性能。此外,Linux还内置了许多网络管理工具和命令,使得用户可以方便地配置和管理网络。 -
良好的可定制性和扩展性:
Linux的模块化设计使得用户可以根据自己的需求定制系统,只安装必要的组件和服务。同时,Linux还支持各种硬件平台,包括x86、ARM等,具有良好的硬件兼容性。此外,由于Linux的开源性,用户可以轻松地为其添加新的功能和特性。 -
丰富的软件资源:
Linux拥有庞大的软件生态系统,包括各种开源和商业软件。无论是开发工具、数据库、Web服务器还是办公软件,Linux都能提供丰富的选择。这使得用户可以在Linux上完成各种复杂的任务和工作。 -
跨平台兼容性:
Linux可以在多种硬件和架构上运行,从个人电脑到大型服务器,从x86到ARM,都有相应的Linux发行版可供选择。这种跨平台兼容性使得Linux能够适应各种应用场景和需求。
二、Linux基础概念与特点
1. 文件和目录操作
- ls: 列出目录内容。
ls -l
:以长格式显示。ls -a
:显示所有文件,包括隐藏文件。
- cd: 改变当前目录。
cd ..
:返回上一级目录。cd -
:返回前一个目录。
- pwd: 显示当前工作目录的路径。
- mkdir: 创建新目录。
mkdir -p dir1/dir2
:递归创建目录。
- rmdir: 删除空目录。
- cp: 复制文件或目录。
cp -r src dest
:递归复制目录。
- mv: 移动或重命名文件或目录。
- rm: 删除文件或目录。
rm -r dir
:递归删除目录。rm -f file
:强制删除文件,不提示。
- touch: 创建空文件或更新文件时间戳。
2. 文件内容查看
- cat: 显示文件内容。
- more 和 less: 分页查看文件内容。
- head 和 tail: 查看文件的开头或结尾部分。
head -n 10 file
:查看文件前 10 行。tail -f file
:实时查看文件末尾内容。
- grep: 搜索文件中的文本。
grep "pattern" file
:在文件中搜索特定模式。
3. 权限和用户管理
- chmod: 更改文件或目录的权限。
chmod u+x file
:给文件所有者增加执行权限。
- chown: 更改文件或目录的所有者和所属组。
chown user:group file
:更改文件的所有者和所属组。
- useradd 和 adduser: 添加新用户。
- userdel: 删除用户。
- passwd: 更改用户密码。
4. 系统信息查询
- df: 显示磁盘使用情况。
- du: 显示目录或文件的磁盘使用情况。
- free: 显示内存使用情况。
- top 和 htop: 显示系统进程信息。
- uname: 显示系统信息。
- hostname: 显示或设置主机名。
5. 网络操作
- ping: 测试网络连接。
- ifconfig 或 ip addr: 显示或配置网络接口信息。
- netstat: 显示网络连接、路由表、接口统计等。
- ssh: 安全地远程登录到其他计算机。
- scp: 在本地和远程主机之间复制文件。
6. 压缩和解压缩
- tar: 打包或解包文件。
tar -czvf archive.tar.gz dir
:打包目录为 gzip 压缩的 tar 文件。tar -xzvf archive.tar.gz
:解压 gzip 压缩的 tar 文件。
- gzip 和 gunzip: gzip 压缩和解压缩。
- bzip2 和 bunzip2: bzip2 压缩和解压缩。
7. 其他常用命令
- man: 显示命令的手册页。
- history: 显示命令历史。
- alias: 设置或显示命令别名。
- find: 在目录树中查找文件。
- locate: 快速查找文件,基于数据库。
- ln: 创建硬链接或符号链接。
- sync: 强制将内存中的数据写入磁盘。
三、Linux文件系统与权限管理
1. Linux文件系统
Linux文件系统是操作系统用于组织和存储文件和目录的层次结构。它采用树形结构,以根目录(/
)为起点,包含各种子目录和文件。
主要目录介绍:
/bin
:存放常用命令的二进制文件。/etc
:存放系统配置文件。/home
:存放普通用户的家目录。/usr
:存放用户安装的软件和应用程序。/var
:存放经常变动的文件,如日志文件。/tmp
:存放临时文件。/dev
:存放设备文件,代表系统的硬件设备。/proc
:虚拟文件系统,包含内核和进程信息。
文件类型:
在Linux中,ls -l
命令可以显示文件的类型和权限。文件类型包括:
-
:普通文件。d
:目录。l
:符号链接(软链接)。c
:字符设备文件。b
:块设备文件。s
:套接字文件。p
:命名管道文件。
2. 权限管理
Linux权限管理是为了确保每个用户只能访问和操作其被授权的文件和目录。权限分为三种:读(r)、写(w)和执行(x)。
权限表示:
r
:可读,数字表示为4。w
:可写,数字表示为2。x
:可执行,数字表示为1。
权限设置:
- 文件所有者权限:文件的所有者可以对该文件执行读、写和执行操作。
- 文件所属组权限:与文件所有者属于同一用户组的用户可以对该文件执行读、写和执行操作(取决于权限设置)。
- 其他用户权限:系统上的其他用户可以对该文件执行读、写和执行操作(取决于权限设置)。
权限查看与修改:
- 使用
ls -l
命令查看文件或目录的权限。 - 使用
chmod
命令修改文件或目录的权限。例如,chmod u+x file
会给文件所有者添加执行权限。
所有者与所属组管理:
chown
命令用于更改文件或目录的所有者和所属组。例如,chown user:group file
会更改文件的所有者和所属组。
特殊权限:
setuid
:当执行文件时,进程以文件所有者的身份运行。setgid
:当执行文件时,进程以文件所属组的身份运行,或目录中的新文件继承其所属组。sticky
:仅对目录有效,限制用户只能删除或重命名自己创建的文件。
这些特殊权限可以通过chmod
命令进行设置,例如chmod u+s file
会给文件添加setuid权限。
3. 文件和目录的默认权限
新创建的文件和目录会遵循系统的默认权限设置。这些默认权限可以通过umask命令查看和修改。umask命令用于设置文件创建时的默认权限掩码。