导图社区 《Linux命令行与shell脚本编程大全》-第3章-基本的Bash Shell命令
这是一篇关于基本的Bash Shell命令的思维导图,主要内容包括:查看文件内容,处理目录,移除文件,移动文件,处理文件,文件和目录列表,浏览文件系统,基本知识。
编辑于2024-11-21 09:55:37说明,元素、元素的属性、属性的值使用文字的颜色进行区分。黑色文字表示元素的名称、元素节点下的属性用红色文字表示、属性下的蓝色节点表示该属性可取的值。很精简,也很抽象,理解了就可以查的很快。
这是一篇关于docker的思维导图,主要内容包括:volume,plugin,network,container,image。
这是一篇关于Python基础的思维导图,主要内容包括:11-测试代码,10-文件和异常,9-类,8-函数,7-用户输入和while,6-字典,5-if语句,4-操作列表,3-列表简介,2-变量及数据类型,1-起步。
社区模板帮助中心,点此进入>>
说明,元素、元素的属性、属性的值使用文字的颜色进行区分。黑色文字表示元素的名称、元素节点下的属性用红色文字表示、属性下的蓝色节点表示该属性可取的值。很精简,也很抽象,理解了就可以查的很快。
这是一篇关于docker的思维导图,主要内容包括:volume,plugin,network,container,image。
这是一篇关于Python基础的思维导图,主要内容包括:11-测试代码,10-文件和异常,9-类,8-函数,7-用户输入和while,6-字典,5-if语句,4-操作列表,3-列表简介,2-变量及数据类型,1-起步。
基本的Bash Shell命令
基本知识
启动Shell
GNU bash shell是普通程序,在用户登录终端时运行
/etc/passwd文件包含了用户的基本信息
Shell提示符
$:表示当前登录的是普通用户
#:表示当前登录的是超级用户root
~:表示当前在home目录下
@:'@'前表示当前登录用户,@后为主机名
Linux命令提示符通过环境变量PS1控制
Bash手册
man命令访问存储在系统上的手册
man [instruction]:访问该指令的手册页面
man -k [keyword]:搜索与关键词相关的手册
man N [instruction]:查看该命令在手册页中的第N部分
用来查询,而不是用来学习
浏览文件系统
Linux的目录
Linux是虚拟目录,路径本身不包含任何物理信息
Linux会在根目录上创建一些被称为挂载点的特殊目录,用以分配外部存储设备
一般有有一块硬盘与/关联起来,剩下的磁盘可挂载到虚拟目录中的任意位置
登录系统后从主目录(/home)开始
常见Linux目录名称
遵循Filesystem Hierarchy Standard标准
/:虚拟根目录,一般不放文件
/root:root用户主目录
/bin:二进制目录,放了用户级GNU工具
/boot:启动目录,存放了启动文件
/dev:设备目录,linux在这里创建设备节点
/etc:系统配置文件目录
/lib:库目录,存放系统和应用程序的库文件
/media:媒体目录,可移动媒体设备的常用挂载点
/mnt:挂载目录,另一个可移动媒体设备的常用挂载点
/opt:可选目录,常用于存放第三方软件包和数据文件
/proc:进程目录,存放现有硬件及当前进程的相关信息
/sbin:系统二进制目录,存放管理员级GNU工具
/run:运行目录,存放系统运行时的运行时数据
/srv:服务目录,存放本地服务相关文件
/sys:系统目录,存放系统硬件相关信息
/tmp:临时目录,创建和删除临时工作文件
/usr:用户二进制目录,存放大量用户级的GNU工具和数据文件
/var:可变目录,用以存放经常变化的文件,如日志文件
遍历目录
cd
cd [路径全名]:切换至绝对路径所指向的目录
cd [相对路径]
不以'/'开头,直接输入当前目录下的目录名
./:表示当前目录
../:表示当前目录的父目录
可以混合使用./../.././符号索引
pwd
打印当前工作目录
切换目录后用pwd来确认当前在正确的目录
文件和目录列表
基本列表功能
ls [option] [keyword]命令中的参数(option)可以组合成字符串使用,例如:ls -alF [keyword]
ls:显示当前目录下的文件,用颜色区别文件类型
ls -F:显示当前目录下的文件,用'/','*',...字符区分文件类型
ls -a:显示所有文件(包括隐藏文件)
ls -F -R:递归显示子目录,用字符表示文件类型
如果子目录很多,回显就会很长
ls -l:列表方式展示文件更多信息
文件类型
目录(d)
文件(-)
字符型文件(c)
块设备(b)
文件权限
文件硬连接总数
属主的用户名
属主的组名
文件的大小
文件名和目录名
文件上次修改的时间
ls -i:显示文件inode编号
inode编号是Linux系统分配给文件系统中的每一个对象的唯一识别编号.
过滤输出列表
ls [option] [keyword]:只展示含有关键词的文件或目录
[keyword]中可以使用标准通配符
?:代表一个字符
*:代表任意个字符(包括0个)
[a-i],[ai]:指定字符范围a-i,a或i
!:将字符排除在外,如[!a-i]
处理文件
创建文件
touch [filename]:[filename]不存在,新建一个空文件
touch [filename]:[filename]存在,更新文件修改日期,不改变内容
touch -a [filename]:更新文件的访问时间
cp -i [source] [destination]:复制文件,并且询问是否覆盖已存在文件
推荐使用 touch -i [s] [d] 命令,防止误操作
复制文件
cp [source] [destination]:复制源文件到目标地址
cp指令复制相当于在目标位置新建了一个与源文件相同的文件,有新的修改时间. 若目的地址不存在,则会新建目的地址的目录.
链接文件
ln -s [source] [destination]:创建一个指向[source]的符号链接文件
符号链接是一个文件
符号链接仅仅指向数据,与数据是两个不同的文件(有不同的inode编号)
不要随意为软链接创建软链接,易造成链接链混乱.
使用ls -l展示 数据源->符号链接
ln [source] [destination]:创建一个硬链接
要创建硬链接,原始文件也必须存在
引用硬链接等同于引用源文件
复制硬链接等同于复制文件,得到的是源文件的一个副本.
带有硬链接的文件共享inode编号
只能为处于同一存储媒体的文件创建硬链接
移动文件
mv [source] [destination]:将[source]移动至[destination]
mv命令不改变文件的inode编号
不改变时间戳
mv [name1] [name2]:将[name1]重命名为[name2]
Linux中重命名被称为moving
可以使用mv命令对文件重命名
mv指令只改变文件名
mv -i [source] [destination]:增加-i参数,会询问是否覆盖重名文件
移除文件
rm [filename]:移除文件[filename]
Linux中删除被称为移除
Linux中没有回收站
rm命令中的[filename]中可以使用通配符
谨慎使用
会移除所有符合条件的文件
rm -i [file*ame]:移除时依次询问是否确认移除
建议使用
rm -f [file*ame]:强制删除所有符合条件的文件,且不提示
谨慎使用
rm -r [direction]:移除目录及目录下的文件
rm -rf [direction]是一个十分危险的命令,谨慎使用
处理目录
创建目录
mkdir [newdir]:当前目录下创建[newdir]目录
mkdir -p [direction]:
创建子目录
补全父目录
删除目录
rmdir [direction]:移除[direction]目录
rmdir -p [direction]:如果移除子目录后,该目录为空目录,则该目录及其子目录一并删除
rmdir -i [direction]:移除前询问
rm -r [direction]:移除目录中的文件后移除目录自身
查看文件内容
查看文件类型
file [filename]:探测[filename]文件内部,决定文件类型
查看整个文件
cat
cat [filename]:显示文本文件内容
cat -n [filename]:带行号显示文本内容
cat -b [filename]:给非空行添加行号打印文本内容
cat -T [filename]:用"^I"替换显示制表符
more
more [filename]:打印一页的文本内容
q:退出
more是一个分页工具
less
与more命令相似
支持识别上下键以及翻页键
查看部分文件
tail -n [N] [filename]:显示文本最后[N]行内容
head -n [N] [filename]:显示文本开头[N]行内容