Linux基础指令
引言
Linux作为开源操作系统的代表,凭借其稳定性、安全性和灵活性,广泛应用于服务器、云计算、嵌入式开发等领域。无论是开发者、运维工程师还是技术爱好者,掌握Linux基础指令都是必备技能。本文将系统讲解Linux的核心指令、权限管理、目录结构及实用工具,帮助读者快速上手。
一、Linux发展简史
1. Unix的诞生
-
1969年:贝尔实验室的Ken Thompson和Dennis Ritchie开发了Unix,奠定了多用户、多任务操作系统的基石。
-
BSD与System V:衍生出两大分支,影响了后续Linux的设计。
2. Linux的崛起
-
1991年:Linus Torvalds发布了Linux内核,结合GNU工具链,形成完整的开源操作系统。
-
开源精神:遵循GPL协议,允许自由修改和分发,推动全球开发者协作。
3. 企业应用现状
-
服务器领域:占据75%市场份额,支撑互联网基础设施。
-
移动与嵌入式:Android系统基于Linux内核,覆盖84.6%的智能手机。
-
云计算/大数据:86%的企业使用Linux构建云平台。
二、Linux发行版简介
发行版 | 特点 |
---|---|
Debian | 稳定性高,适合服务器;学习曲线较陡峭。 |
Ubuntu | 用户友好,社区活跃,适合新手和桌面环境。 |
CentOS | 基于Red Hat Enterprise Linux(RHEL)的免费版本,企业级应用首选。 |
Kali | 专为渗透测试设计,内置大量安全工具。 |
Fedora | 前沿技术试验场,适合开发者尝鲜。 |
三、基础指令详解
1. 文件与目录操作
ls
:列出目录内容
ls -l # 显示详细信息(权限、所有者、大小)
ls -a # 显示隐藏文件(以`.`开头)
ls -R # 递归列出子目录内容
cd
:切换目录
cd ~ # 返回家目录
cd .. # 返回上级目录
cd /var/log # 绝对路径跳转
mkdir
/rmdir
:创建/删除目录
mkdir -p dir1/dir2/dir3 # 递归创建多层目录
rmdir dir # 删除空目录
touch
:创建文件或更新时间戳
touch file.txt # 创建空文件
touch -a file.txt # 仅更新访问时间
cp
/mv
/rm
:复制、移动、删除
cp -r dir1 dir2 # 递归复制目录
mv old.txt new.txt # 重命名文件
rm -rf dir # 强制递归删除目录
2. 文件查看与编辑
cat
:查看文件内容
cat -n file.txt # 显示行号
more
/less
:分页查看
more -10 file.txt # 显示前10行
less file.txt # 支持上下翻页和搜索(按`/`输入关键词)
head
/tail
:查看文件首尾
head -n 5 file.txt # 显示前5行
tail -f log.txt # 实时追踪日志变化
3. 权限管理
权限表示
-
字符形式:
drwxr-xr--
-
d:目录;r读;w写;x执行。
-
-
数字形式:
755
(用户:7=rwx,组:5=r-x,其他:5=r-x)
chmod
:修改权限
chmod u+x script.sh # 为用户添加执行权限
chmod 644 file.txt # 设置权限为rw-r--r--
chown
/chgrp
:修改所有者与组
chown user:group file # 同时修改所有者和组
chgrp devteam project # 修改文件所属组
粘滞位(Sticky Bit)
chmod +t /shared_dir # 防止用户删除他人文件
四、Linux目录结构
目录 | 用途 |
---|---|
/bin | 存放基础命令(如ls , cp )。 |
/etc | 系统配置文件(如网络配置、用户信息)。 |
/home | 普通用户的家目录。 |
/var | 存放日志、缓存等动态文件。 |
/tmp | 临时文件,重启后清空。 |
五、实用工具与技巧
1. 远程登录:XShell
-
安装:从官网下载免费版,使用
ssh user@ip
连接服务器。 -
复制粘贴:
Ctrl+Insert
复制,Shift+Insert
粘贴。
2. 压缩与解压
tar -czvf backup.tar.gz dir/ # 打包并压缩为gzip格式
tar -xzvf backup.tar.gz -C /tmp # 解压到指定目录
3. 查找与过滤
find /home -name "*.log" # 按名称查找文件
grep -i "error" log.txt # 忽略大小写搜索关键词
4. 系统信息
date +"%Y-%m-%d %H:%M:%S" # 格式化显示时间
uname -a # 查看内核版本和系统信息
六、总结
Linux的学习需要理论与实践结合。通过掌握基础指令、理解权限机制、熟悉目录结构,读者可以逐步解锁更高级的系统管理任务。建议在日常工作中多使用命令行工具,并结合man
手册(如man ls
)深入学习每个命令的细节。记住:熟练来自重复,精通源于探索。