一、Linux的优势
- 一切都是一个文件。(包括硬件,文本,二进制,源代码)
- 系统中拥有小型,单一用途的程序。(一个程序只负责做好自己的本职工作)
- 当遇到复杂任务,通过不同功能用途的程序组合起来完成。
- 避免令人困惑的用户界面就是没有复杂的图形界面。
- 连配置文件都存储在文本中,方便增删改查。
- 不在乎后缀名,有没有都无所谓,不是通过后缀名来定义文件的类型。
二、简述shell
1、shell的概念
shell是Linux系统中后台运行的一种特殊程序也可以理解成一种特殊的软件,提供了用户与内核进行交互操作的一种接口。
2、shell的内、外部命令
(1) shell 分为内部命令 和外部命令,一般先执行内部命令,再执行外部命令(别名最大)
内部命令 | 外部命令 |
---|---|
集成于Shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
属于Shell的一部分 | 属于Shell解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由Shell加载后才能执行 |
三、命令简述
1、命令行格式
格式
命令字 空格 [选项] 空格 [参数]
解释命令字 选项 参数各自的意思及具体使用方法
- 命令字
是整条命令中最关键的一部分
唯一确定 - 选项
短格式选项:使用“-”符号引导 通常 一个字母
长格式选项:使用“--”符号引导 通常完整的单词 - 参数
命令字的处理对象
可以是文件名、目录(路径)名或用户名等内容
个数可以是零到多个
;可以隔开命令,执行多个命令
2、命令快捷键
快捷键 | 功能 |
---|---|
Tab 键 | 自动补齐(两次可以显示所有选项) |
反斜杠“\” | 强制换行或转义 |
Ctrl+a | 光标移到最前 |
Ctrl+e end 键 | 光标移到最后 |
Ctrl+U | 清空至行首不包括当前光标处的 字符 |
Ctrl+K | 清空至行尾包括当前光标处的字符 |
Ctrl+w | 从当前光标删除到开头 |
ALT+d | 从当前光标删除末尾 |
Ctrl+l | 清屏 |
Ctrl+c | 取消本次命令编辑 |
Ctrl+s/Ctrl+q | 锁屏/解锁 |
向上下箭头 | 回看执行过的命令 |
3、获得命令帮助
3.1、help和–help
help 查看内部命令
–help 查看外部命令
3.2、man手册的使用
linux的命令手册大全
用法:man cd
4、查看当前工作目录:pwd
[root@localhost ~]# pwd
/root
5、切换工作目录:cd
命令 | 效果 |
---|---|
cd cd ~ | 若不指定目标位置,切换到当前用户的宿主目录(家目录) |
cd - | 到前一次目录 |
一个点号“.”开头 | 表示以当前的工作目录作为起点(已点开头的是) |
两个点号“..”开头 | 表示以当前目录的上一级目录(父目录)作为起点 |
“~用户名”形式开头 | 表示以指定用户的宿主目录(家目录)作为起点 |
"."开头文件 | 表示隐藏文件 |
6、ls命令
ls [选项] [文件或目录… ]
- -l 已长格式显示文件和目录列表 ll=ls -l
- -a 显示全部包括隐藏文件
- -A 显示全部文件或隐藏文件,但不包括 . 和..
- -d 只显示当前目录
- -h 友好显示文件大小
- -R 递归显示该目录及该目录的子目录下的所有内容
- --color 显示颜色
- -S 按从大到小排序
颜色表示的文件类型:
- 黑色数据文件 TXT
- 绿色 可执行文件
- 黄色 块设备文件
- 红色 压缩包
- 蓝色 文件夹
- 天蓝色 连接文件(快捷方式)
7、通配符
符号 | 效果 |
---|---|
? | 匹配一个字符 f?.txt |
* | 匹配所有非隐藏的字符无论多长多短,但不匹配 "." 开头的文件,即隐藏文件 |
1到10 | |
a b c ...z | |
A B C .....Z | |
[123] | 取其中之一有就显示没有也无所谓 |
[a-z] | 范围需要注意 |
[0-9] | 匹配数字范围(0123456789) |
\ | 转义符,表示原来的意思 |
[[:lower:]] | 小写字母表示 a-z |
[[:upper:]] | 大写字母表示 A-Z |
[^zhou] | 匹配列表中的所有字符以外的字符 |
[[:digit:]] | 任意数字,相当于0-9 |
1、利用通配符{1..12}快速创建12个文件
2、利用通配符[123]取其中之一显示
3、利用通配符{a..z}快速创建文件
4、利用通配符{A..Z}快速创建文件
5、利用通配符[a-d]来显示文件
6、利用通配符[2-7]来显示文件
7、[[:lower:]]匹配小写字母
8、[[:upper:]]匹配大写字母
9、?匹配一个字符
10、*匹配所有非隐藏字符,但不匹配 "." 开头的文件,即隐藏文件
8、alias命令
补充:别名>内部>hash>外部命令(先查找别名在查找内部命令,缓存最后外部)
9、du命令
du [选项] [文件或目录… ]
选项 | 说明 |
---|---|
-a | 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录 |
-h | 以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果 |
-s | 只统计所占用空间总的(Summary)大小,而不是统计每个子目录、文件的大小 |
--max-depth=n (-d 1) | 最大显示到第n层 |
注意a s无法同时使用
du --exclude=*.txt 排除TXT文件
10、创建
-
文件名最长255个字节
-
包括路径在内文件名称最长4095个字节
-
除了斜杠和NULL,所有字符都有效.但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引号来引用
11、 创建目录mkdir和touch
mkdir
tree命令展示
要先输入命令 yum -y install tree添加tree命令
12、硬链接与软链接
软连接 类似于windows里快捷方式,软连接,符号连接
ln(link)
ln [-s] 源文件或目录… 链接文件或目标位置
加s是软连接 符号连接
对比项 | 硬连接 | 软连接 |
---|---|---|
本质 | 本质是同一个文件 | 本质不是同一个文件 |
inode | 相同 | 不同 |
连接数 | 创建新的硬链接,链接数会增加,删除硬链接,链接数减少 | 删除新建不会改变 |
文件夹 | 不支持 | 支持 |
删除源文件 | 只是链接数减一,但链接文件的访问不受影响 | 无法访问连接文件 |
文件类型 | 和源文件相同 | 链接文件,和源文件无关 |
文件大小 | 和源文件相同 | 源文件的路径的长度 |
硬链接
软链接
13、复制:CP命令
-
cp [选项]… 源文件 目标 相当改名复制
-
cp [选项]... 源文件... 文件夹 多个源文件只能复制到文件夹
选项 说明 -f 覆盖目标同名文件或目录时不进行提醒,直接强制复制 -i 覆盖目标同名文件或目录时提醒用户确认 -p 复制时保持源文件的权限、属主及时间标记等属性不变 -r 复制目录时必须使用此选项,表示递归复制所有文件及子目录 -a 完整保留所有的信息 -v 可视化 -u 相当于增备,差异备份(只对文件夹起作用) -b 先备份(只保留最近)
如果对同一个文件连续复制三次,第一次复制可以改名;第二次复制将变成改名后的子目录,第三次复制问是否覆盖。
14、移动:mv命令
移动
重命名: 如果目标位置与源位置相同,则相当于执行重命名操作
15、批量改名:rename命令
16、删除:rm命令
rm [选项] 要删除的文件或目录
- -f、强制
- -i、交互
- -r 递归(删除目录需要)
17、查找文件:find命令
查找类型 | 关键字 | 说明 |
---|---|---|
按名称查找 | -name | 根据目标文件的名称进行查找,允许使用“*”及“?”通配符 |
按文件大小查找 | -size | 根据目标文件的大小进行查找一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件常用的容量单位包括 kB(注意 k 是小写)、MB、GB |
按文件属主查找 | -user | 根据文件是否属于目标用户进行查找 |
按文件类型查找 | -type | 根据文件的类型进行查找文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等 |
最大搜索目录深度 | -maxdepth level | 将你的文件以分级的形式查找 |
最小搜索目录深度 | -mindepth level | 将你的文件以分级的形式查找 |
-exec COMMAND {} ; 对查找到的每个文件执行由COMMAND指定的命令
{}: 用于引用查找到的文件名称自身
-ok COMMAND {} ; 对查找到的每个文件执行由COMMAND指定的命令,对于每个文件执行命令之前,都会交互式要求用户确认
思考 1024M 和 1G 一样么?
1024M 代表 1023M - 1024M 不包括1023
1G 表示 0G -1G 不包括0G
-size 10k 表示9k 到10k 且不包括9k
-size -10k 表示9k 以内 包括9k
-size +10k 表示10k 以上 不包括 10k
18、多条件查找
-a:并且
-o:或者
[root@localhost ~]# find /mnt -user root -a -size +5m
[root@localhost ~]# find /mnt -user root -o -size +5m
四、总结
主要认识了什么是shell,什么是内部命令和外部命令,绝对路径和相对路径如何辨析,Linux辅助行的一些快捷操作、两个基础命令(help、man手册、pwd、cd)、十一个常见目录和管理命令(ls、alias、du、mkdir 、touch、ln 、cp 、 rm 、mv、 which 、find )
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南