Linux中的思想:everything is file (一切皆文件)
在Linux中对系统管理实质上是对文件的管理(增删改查)。
2.1 文件建立与删除
1)文件的建立
touch filename1 filename2 ...
touch通常用于新建文件,但是命令本身也可以更改文件的时间戳。
mkdir (-p) directory1 directory2 ...
此命令用于新建文件夹,其中-p的作用为自动建立不存在的上级目录
2)文件的删除
rm (-f) file1 file2 ...
用于删除文件,-f的作用为不经过确认直接删除
rm -r -f dir1 dir2 ...
用于删除文件夹,-f的作用同上,-r是指向下递归,不管有多少级目录,一并删除。
2.2 文件编辑
1)gedit
gedit file
直接编辑文件,与windows中的txt记事本操作类似
2)vim
vim 的工作模式有命令模式、插入模式和退出模式三种。
打开vim是命令模式,进入插入模式的方法与区别如下:
| i | 光标所在位置插入 |
| I | 光标所在行行首插入 |
| a | 光标所在字符的下一个字符插入 |
| A | 光标所在行行尾插入 |
| s | 光标所在字符删除并插入 |
| S | 光标所在行删除并插入 |
| o | 光标所在行下一行插入 |
| O | 光标所在行上一行插入 |
按下ESC键退出插入模式,重新进入命令模式。
在命令模式下可进行一下操作:
set 参数信息
可进行当前vim下的设置
set nu 显示行数 set ai 设置自动缩进 set ts=n 设置tab键跳跃字符数
如要进行永久设置,在 vim/etc/vimrc下在最后加入set 参数信息可进行永久设置。
/ 关键字 可高亮显示关键字。:noh 可取消高亮显示。
在高亮显示下,n为向下匹配,N为向上匹配。
yl 复制一个字符 dl 删除一个字符 cl 剪切一个字符
yw 复制一个单词 dw 删除一个单词 cw 剪切一个单词
yy 复制一行 dd 删除一行 cc 剪切一行
yny 复制n行 dnd 删除n行 cnc 剪切n行
p 为粘贴 u 为撤销 crl +r 为恢复
crl +v 进入可视化模式
在此模式下,可批量添加字符,步骤为:
crl+v选中要添加字符所在的列
按下大写的I
键入字符
按ESC结束
vim中字符的替换:
:%s/原内容/结果内容/g 替换全文
:m,ns/原内容/结果内容/g 替换第m到n行的内容
:/a/,/b/s/原内容/结果内容/g 替换关键字a到关键字b之间的内容
其中g表示全文所出现原内容的列
vim的分屏:
crl+w s 上下分屏
crl+w v 左右分屏
crl+w c 关闭光标所在屏幕
crl+w 上下左右 光标移动到指定屏幕
:sp file2 同时编辑当前文件和file2
在命令模式下光标的移动:
gg 光标移动到文件的第一行
G 光标移动到文件的最后
:数字 光标移动到指定的行
vim的退出:
:q 退出,文件没有被改变时使用
:wq 保存并退出
:q ! 强制退出不保存
:wq! 强制退出保存,在对只读文件编辑时使用
2.3 文件的查看
1)cat
cat (-b) (-n) file
显示文件所有内容,-b 表示并显示行号,但不统计空行:-n表示显示行号,统计空行。
2)less
文件过长时用less浏览
上/下 逐行移动
pageup/pagedown 逐页移动
/关键字 高亮显示关键字,n 向下匹配,N向上匹配
v 进入vim模式
q 退出
3)head
head 默认显示文件的前10行
head -n 3 file 示文件前3行
4)tail
tail 默认显示文件的后10行
tail -n 3 file 显示文件后3行
tail -f file 监控文件的后10行变化,通常用于监视系统日志
2.4 文件复制及移动
1)文件复制
复制是按照模板新建的过程
cp (-r) 源文件1/源文目录1 源文件2/源文目录2 ... 目的地文件/目的地目录
复制文件或目录到新目录中时,新目录必须存在。
2)文件移动
mv 源文件/源文件目录 目的地文件/目的地目录
当目的地文件存在会被覆盖
注:相同分区的移动是重命名的过程,不同分区的移动是删除复制的过程。
2.5 文件统计
1) file
file 可以查看文件的真是类型
2)wc
wc 统计文件字数、字符数、行数
wc -l file 文件的行数
wc -w file 文件字数
wc -m file 文件字符数
wc -c file 文件字节数
2.6 Linux系统中根文件系统的层级结构
FHS 文件系统层级结构标准
/ 根目录,系统中的顶级目录
/bin 所有用户可执行的命令程序文件
/sbin 系统管理命令文件,通常只有root用户可以执行
/boot 系统启动引导过程中加载的文件存放目录
/dev 设备文件
/etc 系统程序的配置文件
/home 普通用户家目录集合
/root 超级用户家目录
/lib 系统启动程序和根下应用程序提供共享库
/lib64 64位系统存放64位库的路径
/media 临时设备挂载点
/mnt 系统磁盘的临时挂载点
/opt 系统默认第三方软件安装位置
/proc 进程和内核相关参数信息
/sys 内核参数目录
/srv 当前主机位系统服务提供的数据
/var 经常变化的系统数据
/tmp 系统临时文件存放目录
/usr 全局共享只读资源,除/目录外系统最重要的目录
/run 当前运行进程相关数据
2.7 文件寻址
1)文件地址有相对地址与绝对地址
2)文件寻址相关命来
pwd 显示路径
cd 目录名称 进入到指定目录中
cd - 进入当前目录之前所在的目录
cd .. 进入当前目录的上级目录
3)文件信息查看
ls -l file 文件属性
ls dir 目录中包含的内容
ls -d dir 目录本身
ls -a dir 所有文件包含隐藏的
ls -S dir 查看并且按照大小排序
ls -s file/dir 查看文件大小
2.8 Linux系统中文件批处理
1)通用配置符号
| ? | 匹配单个字符 |
| [[:alpha:]] | 单个字母 |
| [[:lower:]] | 单个小写字母 |
| [[:upper:]] | 单个大写字母 |
| [[:digit:]] | 单个数字 |
| [[:punct:]] | 单个符号 |
| [[:space:]] | 单个空格 |
| [[:alnum:]] | 单个数字或字母 |
| [[:punct:]][[:upper:]] | 单个符号或单个大写字母 |
2)字符集合
精确匹配
{} {1..3} {1,4,7}
模糊匹配
[] [1-9] [!3-5] [^3-5] [a-z]
3)~ 应用汇总
~ 当前用户家目录
~ usename 指定用户的家目录
~+ 当前目录
~- 进入当前目录之前所在目录
本文深入解析Linux操作系统的核心理念“一切皆文件”,并详细介绍了文件的创建、删除、编辑、复制、移动等操作,以及文件查看、统计、寻址等实用命令。通过本文,读者将全面了解Linux文件系统的层级结构和批处理技巧。
12万+

被折叠的 条评论
为什么被折叠?



