Linux入门及基础指令
一、极简发展史
1、发历史
1. UNIX 起源
1968 年 Multics 项目诞生;1969 贝尔实验室开发 UNIX,分化出 System V、BSD 两大分支,TCP/IP 协议源自 BSD,后衍生 Solaris、AIX 等商用 Unix 系统。
2. Linux 开源奇迹
1991 年芬兰学生 Linus 发布 Linux 内核 0.02,1994 年推出正式 1.0 版本。Linux 仅为内核,搭配 GNU 工具链构成完整系统,遵循 GPL 开源协议,允许自由修改分发,衍生产品必须公开源码。
3. Windows 对比
Windows 闭源图形化,分桌面、服务器 NT 两条产品线;Linux 以命令行服务端为主,开源稳定,二者应用场景区分明显。
2、Linux 应用领域
服务器(75% 市场):政企、云服务器标配,稳定低负载
嵌入式 / 移动端:Android 底层基于 Linux,路由器、智能设备均在用
云计算大数据(86% 企业):Hadoop、云平台底层核心
桌面:Ubuntu、深度、中标麒麟,软件生态弱于 Windows
3、主流发行版选型
Ubuntu:新手友好,Debian 衍生,桌面 / 服务器通用
CentOS/RHEL:企业服务器稳定版本,Fedora 为红帽测试版
4、内核与 Shell 基础
层级逻辑
硬件→驱动→内核(管理内存 / 进程 / 文件)→Shell(命令翻译器,bash 最常用)→用户
生产环境不用图形界面,资源开销大,统一使用 XShell 远程操作。
二 、高频基础指令
1. 目录操作
1.1 ls 查看目录文件
语法:ls [选项] [文件 / 目录]
常用选项:
-a:显示全部文件,含隐藏文件(.开头)
-l:展示文件详细权限、大小、时间
-d:仅展示目录本身,不列出内部文件
-R:递归展示所有子目录内容
-t:按修改时间排序
-F:文件后标注类型(/ 目录、* 可执行)
-i:输出 inode 节点号
1.2pwd 查看当前路径
无额外选项,直接执行输出完整绝对路径
cd 切换目录
无复杂选项,特殊跳转语法:
cd .. 上级目录 | cd ~ 回到个人家目录
cd - 切回上一次访问目录
1.3 mkdir 创建目录
语法:mkdir [选项] 目录名
常用选项:
-p:递归创建多层不存在的目录
1.4 rmdir 删除空目录
语法:rmdir [选项] 目录名
常用选项:
-p:删除空目录后,同步删除上级空目录
2. 文件创建删除
2.1 touch 创建 / 修改文件时间
语法:touch [选项] 文件名
常用选项:
-a:仅修改访问时间
-m:仅修改修改时间
2.2 rm 删除文件 / 目录
语法:rm [选项] 文件 / 目录
常用选项:
-r:递归删除目录及内部所有内容
-f:强制删除只读文件,无提示
-i:删除前逐一确认询问
3. 文件复制移动
3.1 cp 复制
语法:cp [选项] 源 目标
常用选项:
-r:递归复制文件夹
-f:强制覆盖目标文件
-i:覆盖前弹窗确认
3.2 mv 移动 / 重命名
语法:mv [选项] 源 目标
常用选项:
-f:强制覆盖同名文件
-i:覆盖前询问确认
4. 文件内容查看
4.1 cat 读取小文件全部内容
语法:cat [选项] 文件
常用选项:
-n:所有行打印行号
-b:仅非空行编号
-s:压缩连续多行空行为一行
4.2 more 分页浏览(仅向下翻)
语法:more [选项] 文件
常用选项:
-n:每页显示指定行数
操作:空格翻页,q 退出
4.3 less 高级分页(支持上下翻、搜索)
语法:less [选项] 文件
常用选项:
-N:显示行号
-i:搜索忽略大小写
操作:/关键词向下搜、?关键词向上搜,q 退出
4.4 head 查看文件头部
语法:head [选项] 文件
常用选项:
-n num:指定输出前 num 行(默认 10 行)
4.5 tail 查看文件尾部(日志神器)
语法:tail [选项] 文件
常用选项:
-n num:输出末尾 num 行
-f:实时追踪文件新增内容,监控日志
组合示例:head -200 test.txt | tail -20 查看 180~200 行
5. 文件检索、历史命令与帮助
5.1 man 查看命令手册
语法:man [章节] 命令
常用选项:
-k:按关键字搜索手册
手册章节:1 普通命令、2 系统调用、3C 库函数、8 管理员命令
5.2grep 文本关键词检索
语法:grep [选项] 关键词 文件
常用选项:
-i:忽略大小写匹配
-n:输出匹配内容的行号
-v:反向匹配,输出不含关键词的行
5.3 find 全盘搜索文件
语法:find 检索路径 -name 文件名
常用选项:-name 按文件名匹配
which 查询命令存放路径
无复杂选项,直接查询指令二进制位置
5.4 alias 自定义命令别名
示例:alias ll='ls -al'
5.5 history 查看全部历史命令
Linux 系统会自动记录终端所有执行过的指令,配套快捷键可快速调取历史命令,对应指令为history
语法:history [选项]
常用选项:
-c:清空当前全部历史命令记录
!序号:快速执行对应编号的历史命令,例!120执行第 120 条指令
!关键词:执行最近一条匹配关键词的命令,例!scp执行上一次 scp 传输命令
history # 列出所有历史命令,带编号 history -c # 清空历史记录 !36 # 重新执行编号36的命令 !rz # 快速执行最近一次rz上传命令6. 压缩打包 tar(核心)
语法:tar [参数] 压缩包 源文件
核心参数:
-c:创建压缩包
-x:解压包
-t:查看包内文件,不解压
-z:gzip 压缩格式(.tar.gz/.tgz)
-j:bzip2 压缩格式(.tar.bz2)
-v:打印打包 / 解压过程
-f:指定压缩包名称(必须放最后)
-C:指定解压目标目录
# 打包压缩 tar -zcvf etc.tar.gz /etc # 解压到/tmp tar -zxvf etc.tar.gz -C /tmpzip/unzip 简易压缩
zip -r test.zip 目录:递归压缩文件夹
unzip test.zip -d /tmp:解压到指定目录
7. 系统、时间指令
date 时间操作
常用格式参数:
+%Y-%m-%d 年月日、+%H:%M:%S 时分秒、+%s 时间戳
root 可用-s 修改系统时间
cal 日历查看
常用选项:
-3:展示上月、本月、下月
-y:展示全年日历
top 进程监控
常用参数:
-d 1:1 秒刷新一次
-n 5:刷新 5 次后退出,q 终止界面
uname 系统内核信息
常用选项:
-a:输出内核、硬件、系统完整信息
三 xsell快捷键
Tab:命令、文件、路径自动补全,输入一半按 Tab 一键补全,连续按两次 Tab 列出所有匹配项
Ctrl+C:强制终止当前运行、卡死、异常阻塞的程序 / 命令
上下方向键 ↑ ↓:快速逐条翻阅执行过的历史命令
Ctrl+R:模糊搜索历史命令,按下后输入关键词,自动匹配对应历史指令
Ctrl+D:退出当前终端会话、结束输入
Ctrl+L:清空当前终端屏幕(等价 clear 命令)
四、Linux 权限体系
1. 用户区分
root(# 提示符,全权限)、普通用户($,受限,sudo 临时提权)
2. 三类身份
u 所有者、g 同组用户、o 其他用户
3. 权限数值
r=4 读、w=2 写、x=1 执行
文件 x:可运行程序;目录 x:可 cd 进入目录
4. 权限修改指令
chmod 修改权限
字符:chmod u+x test.sh
chown 修改文件所有者
chown -R user1 test,-R 递归修改
chgrp 修改所属用户组
chgrp users test
补充1:用户创建和切换
1. whoami:查看当前登录用户
语法:whoami
无额外参数,直接执行,输出当前终端操作用户名。
whoami # 普通用户输出 whb,root用户输出 root2. su 切换用户(不加横线)
仅切换用户身份,不加载目标用户环境变量、不跳转家目录
切换后当前工作目录保持切换前路径(例:在/home/whb执行 su,切 root 后 pwd 依旧是/home/whb)
部分系统环境变量不会重置,容易出现命令路径异常问题
3. su - 完整切换用户(推荐使用,带横线)
语法:su - 用户名,省略用户名默认切 root
核心特点(截图对比):
完全切换:切换身份 + 加载目标用户完整环境变量 + 自动进入目标用户家目录
示例:whb用户执行su -切 root,pwd 直接变为 root 专属目录/root
环境完整,所有 root 专属命令、环境配置全部生效,运维标准用法
# 完整切换root,重置环境、进入/root目录 su - # 输入root密码 # 切换到指定普通用户whb su - whb创建用户:adduser 用户名
passwd 用户名
删除用户:userdel -r 用户名
补充2: 本地 Windows ↔ Linux 服务器文件互传
1.rz 本地 Windows 上传文件到 Linux
语法:rz [选项]
常用选项:
-y:覆盖服务器已存在同名文件,不弹窗询问
-E:跳过服务器已存在的同名文件,不覆盖
-b:二进制模式传输(传输压缩包、程序必加,避免文件损坏)
用法:直接输入rz回车,弹出 Windows 文件选择框,选中文件即可上传至当前目录
2. sz Linux 下载文件到本地 Windows
语法:sz [选项] 文件名 / 文件列表
常用选项:
-y:本地存在同名文件直接覆盖
-b:二进制传输,压缩包、安装包推荐携带
-a:文本模式,仅传输 txt、日志等纯文本文件
3. scp 服务器 ↔ 服务器(Linux 互传文件)
基于 ssh 加密传输,无需额外安装软件,所有 Linux 系统原生支持,分本地传远程、远程拉取到本地、远程互传三种场景。
语法:scp [选项] 源路径 目标路径
常用选项
-r:递归传输文件夹(传输目录必须带此参数)
-P:指定远程服务器 ssh 端口(非 22 端口时必填,大写 P)
-p:保留文件原有权限、修改时间
-C:传输时开启压缩,大文件提速
-q:静默传输,不打印进度信息
# 本地test.tgz 传到 8.137.19.140服务器whb用户的/home/whb/tar_test目录 scp test.tgz whb@8.137.19.140:/home/whb/tar_test