学习目标:
1.Linux下文件的建立
2.Linux下文件的删除
3.文件复制移动
4.Linux下文本的编辑方式
5.文件的查看
6.文件的统计
7.Linux中文件系统层级结构FHS
8.Linux中文件寻址
9.Linux系统中文件寻址相关命令
10.Linux系统中文件批处理
一、Linux下文件的建立
1.文件的创建
1.1.1touch 创建文件 更改文件保存时间
1.1.2文件内容的修改时间(mtime)
文件权限或属性的更改的更改时间(ctime)
文件读取时间的更改(atime)
1.1.3查看文件westos 的所有时间
[root@workstation Desktop]#stat westos
[root@workstation Desktop]# watch -n 1 stat westos
文件在打开后不修改内容和权限的状态下,第二次进入文件不会修改读取时间(atime)
1.1.5修改文件内容
在不打开文件的情况下利用命令把内容输出到文件中
[root@workstation Desktop]# echo westos > westos
文件的ctime和mtime时间都发生更改
1.1.6修改文件权限时间
1.1.7修改文件时间
更改的时文件读取的内容修改时间文件权限时间不更改
1.1.8目录的创建
1.2.1mkdir dir 创建一个目录
1.2.2mkdir dir1 dir2 创建多个个目录
[root@workstation Desktop]# mkdir westos westos1
1.2.3mkdir – p dir1/dir2/dir3 创建一个具有嵌套关系的目录需要增加-p参数
[root@workstation Desktop]# mkdir -p westos/westos2/westos3
二、Linux下文件的删除
文件的删除
2.1 rm -r file 询问是否删除文件
[root@workstation Desktop]# touch file
rm -rf file 强制删除不询问
[root@workstation Desktop]# rm -rf file
[root@workstation Desktop]# rm -rf a
rm -fr dir1 dir2 删除目录(-r递归删除目录)
查看层级目录:ls -R dir (此时会显示dir 下的层级目录清单)
[root@workstation Desktop]# ls -R a
三、文件复制移动
3.1复制是按照模板新建的过程
cp 源文件 目的地文件
file 文件不存在
[root@workstation Desktop]# touch westos
[root@workstation Desktop]# cp westos file
当file文件存在时则询问是否覆盖,此时同意复制会覆盖了file文件的内容
3.2复制目录到目录中
cp 源文目录 目的地目录
[root@workstation Desktop]# cp -r westos linux
[root@workstation Desktop]# cp westos file linux
cp -r 复制多个目录或文件到一个目录中,注意目的地目录必须存在
[root@workstation Desktop]# cp -r westos{1..3} linux
mv 源文件 目的地文件
重命名,当目的地文件存在会被覆盖
相同分区的移动是重命名的过程,文件inode编号并没有改变
mv 源目录 目的地目录
不许要加任何参数,直接移动即可,移动的目录会直接到目的地目录下面
不同分区的移动是复制删除过程
四、Linux下文本的编辑方式
gedit 图形的文本编辑,只有在图形开始时可用
vim Linux中常用文本编辑工具
4.1VIM用法:
进入编辑文件:vim file
按【i】键进入插入模式
按【ESC】退出插入模式
按【:wq】保存退出
进入vim按 i 进入插入模式 左下角为 – INSERT –
按esc 退出编辑模式后 按:wq 退出并保存
4.2.VIM命令模式下调整工作参数
按:set nu添加行号
按 :set nonu取消行号
按 set ai 下行自动对齐
当前设置的参数只针对于当前打开的文件,关闭后设置的信息不会保留
永久设定set 参数信息
vim ~/.vimrc root的只对root生效,不对student生效
再次进入行号显示
vim /etc/vimrc 全局变量 只在超级用户下更改有效普通用户内无法更改
4.3. vim中字符的搜索
高亮显示关键字 /关键字
撤销高亮 :noh
检索关键字 【n】向下匹配 【N】向上匹配
复制
【yl】 复制一个字符
【yw】 复制一个单词
【yy】 复制一行
删除
【dl】 删除一个字符
【dw】 删除一个单词
【dd】 删除一整行
剪切
【cl】 剪掉一个字符
【cw】 一个单词
【cc】一行
注意:剪切操作会进入插入模式
p 粘贴
u 撤销
ctrl+R 恢复
操作时会有提示 注意插入模式下不可以进行操作,剪切会直接进入插入模式
4.5在vim可视化模式中处理字符区域
批量添加字符:
1.在命令模式下按【ctrl+v】进入可视化模式
2.键盘上下左右可以移动选择区域
3.按大写的【I】加入字符
4.按 esc 退出 完成批量添加字符
按大写I进入插入字符模式 按delete会删除选中字符
插入字符dd后按esc退出插入模式随即显示批量插入的字符dd
4.6vim中字符的替换
%s表示全文所有的行
g表示全文所出现原字符的列
%s/ : / ?/g 替换全文的 :为 ?
1,5s/ : /?/g 替换1-5行的 :为 ?
/adm/,/halt/s/: /?/g 替换adm到halt之间的 :为 ?
1.把全文的dd替换qq
2.替换1-5行的c为h
3.替换以ni开头到tx开头的所有aa为oo
4.6vim 的分屏功能
1.ctrl+w s 上下分屏
2.ctrl+w v 左右分屏
3.ctrl+w c 关闭光标所在屏幕
4.ctrl+w 上下左右光标移动到指定屏幕
5.:sp file2 同时编辑当前文件和file
上下/左右的分平,同时同步编辑
:wq westos1 退出保存
按:sp westos1 会同时分别编辑两个文件,不同步录入字符
4.7在命令模式下光标的移动
gg 光标移动到文件的第一行
G 光标移动到文件的最后
:数字 光标移动到到指定的行
:数字 光标移动到指定行
gg 全文首行第一个字符
G光标移动到最后一行首字符
4.8vim的编写模式进入
i 光标所在位置插入
I 光标所在行行首插入
o 光标所在行下一行插入
O 光标所在行的上一行插入
a 光标所在字符的下一个字符插入
A 光标所在行的行尾插入
s 光标所在字符删除并插入
S 光标所在行删除并插入
4.9vim的退出模式
:W 保存
:q 退出,在文件内容没有被改变时使用
:wq 退出保存
:q! 强制退出不保存,在改变文件后不想保存时使用
:wq! 强制退出保存 在对只读文件编写时使用,注意,所编辑的只读文件针对于超级用户或自己文件
4.10Vim异常退出
异常退出:没保存编写内容而被手动强制关闭
异常文件名 .swp
快捷说明
O(open Read-Only) 只读打开
E (dit anyway) 继续编辑
R (ecover) 恢复数据
D (elete it) 删除{.swp}文件
Q (uit) 退出
A (bort) 恢复退出
进入westos文件输入内容后直接强制退出 (内容为第二行aaaaaaaaa) 会有异常文件.swp存在
再次进入文件会有提示选择
点击桌面设置显示隐藏文件显示(点击Show Hidden files) westos.swp 文件已经在桌面显示
按o只读,不做任何更改 并 q!强制退出
按E 继续编辑内容
按下R恢复退出前正在编辑的内容
:wq 退出保存后.swp 文件依然存在
如要vim 进入westos文件正常则要在提示选择界面按D删除.swp文件,在wq保存退出 此时.swp文件删除
五、文件内容的查看
5.1 cat
cat file 显示文件的所有内容
cat -b file 显示文件的内容并显示行号,但不统计空行
cat -n file 显示文件的内容并显示行号,统计空行
tac file 文件内容倒着显示
显示的行号不会保存在文件内
less file 当文件内容比较长是使用less分页浏览
上|下 逐行移动
pageup | pagedown 逐页移动
/关键字 高亮显示关键字,n向下匹配,N向上匹配
v 进入vim模式 在vim模式中按:wq 退回到less模式
q 退出less模式
[root@workstation Desktop]# less /etc/passwd 分页浏览,上下建逐行
高亮字显示直接按/sbin
按v 进入vim 模式 按:q 退出vim 模式 再次按q 退出浏览模式
5.3 head & tail
head
显示文件前多少行
head file 默认显示文件前10行
head –n 3 file 显示文件前3行
tail
显示文件后多少行
tail file 默认显示文件后10行
tail –n 3 file 显示文件后3行
tail –f file 监控文件后10行变化,通常用于监控系统日志状态
file
file——文件的名称不能代表文件的类型
例如
file.mp3不能从文件名称后缀来确定文件类型
file可以查看文件的真实类型 列如空文本与输入内容的文本
wc
wc 用于统计文件的字数,字符数,行数
wc –l file 文件的行数
wc –w file 文件字数
wc –m file 文件字符数
wc –c file 文件字节数
清空westos里面英文输入妈妈结果如下
一个英文是一个字节一个中文三个字节
七、Linux中文件系统层级结构FHS(Filesystem Hierarchy Standard)
7.1 / 根目录,系统中的顶级目录
7.2 /bin&/sbin
/bin: binaries 所有用户可执行的命令程序文
/sbin: system binaries 系统管理命令程序,通常只有root用户可以执行/boot
7.3 /boot
系统启动引导过程中加载的文件存放目录
7.4 /dev
系统设备文件存放路径
字符设备 线性设备
块设备 随机设备
7.5 /etc
系统程序的配置文件
7.8 /home & /root
/home 普通用户家目录集合
此目录中的子目录通常被设定为用户家目录,是可选目录,此目录不是基本系统目录
普通用户在登录后默认被设定进入此目录中的相应子目录中
/root 超级用户家目录
超级用户登录系统后默认进入的系统目录/lib&/lib64
7.9 /lib & /lib64
/lib 系统启动程序和根下应用程序(/bin,/sbin等)提供共享库
libc.so. 动态链接c库
modules 内核模块
/lib64 64位系统存放64位库的路径/media&/mnt
7.10 /media & /mnt
/media 临时设备挂载点
cdrom
usb
/mnt 系统磁盘的临时挂载点
7.11 /opt
/opt 系统默认第三方软件安装的位置
7.12 /proc & /sys
/proc 进程和内核相关参数信息
/sys 内核参数目录
7.13 /srv&/var
/srv 当前主机位系统服务提供的数据
/var 经常变化的系统数据
/var 中重要的目录:
cache 缓存
log 系统日志
lib 程序固定数据信息
spool 程序队列数据,用户邮件等
tmp 系统关机后依然需要保存的临时文件
7.14 /tmp
Temporary files 系统临时文件存放目录-系统中的所有用户都会用到所以要对所有用户可写
7.15 /usr
Universal Shared Resource
全局共享只读资源
除/目录以外系统最总要的目录
/usr的层级:
bin sbin 命令
lib lib64 库文件
include c语言头文件
share 程序文档说明
src 程序源码(可选)
local 第三方程序安装路径(当前比较流行)
7.16 /run
/run 当前运行进程相关数据
此目录中的文件通常被程序自动
以上linux中的二级目录
八、linux中文件寻址
相对路径
相对与当前系统所在目录的一个文件名称的简写
此名称省略了系统当前所在目录的名称
此名称不以“/”开头
此名称在命令执行时会自动在操作对象前加入“PWD”所显示的值
绝对路径
文件在系统的真实位置
此命令是以“/”开头的
此命令在命执行时系统不会考虑现在所在位置的信息
注意:当操作对象是 对象1 空格 对象2 时 ,这两个对象之间没有任何关系
九、Linux系统中文件寻址相关命令
9.1切换路径
pwd显示路径
cd 目录名称 进入到指定目录中
cd - 当前目录和当前目录值前所在目录之间的切换cdir---->odir
cd .. 进入当前目录的上级目录
cd ~ 切换到当前用户家目录
cd / 进入根目录
cd ~username 切换到其他用户的家目录
ls -l file 文件属性
ls -i 文件id
ls dir 目录中保函的内容
ls -ld 查看目录属性
ls -a dir 所有文件包含隐藏的
ls -S dir 查看并且按照大小排序
ls -s file|dir 查看文件或目录大小
十、Linux系统中文件批处理
10.1系统中的通用配置符号
? • 匹配单个字符
[[:alpha:]] 单个字母
[[:lower:]] 单个小写字母
[[:upper:]] 单个大写字母
[[:digit:]] 单个数字
[[:punct:]] 单个符号
[[:space:]] 单个空格
[[:alnum:]] 单个数字或字母
[[:punct:]][[:upper:]]单个个符号或单个大写字母
10.2字符集合
10.2.1精确匹配
{} 用于精确匹配内容
{1..3} 3个1 2 3
{1,4,7} 3个 1,4,7这三个数
10.2.2模糊匹配
[] 用于模糊匹配内容
[1-9] 1位, 这位是1-9的任意数字
[!3-5] 1位, 不是3-5的数字
[^3-5]1位, 不是3-5的数字
[a-z] 1位, a-z的任意字
精确匹配{ }大括号内部的内容执行,精确匹配无反选
模糊匹配[ ]中括号内部的内容 符合条件的被选择操作,创建文件时,不能用[ ]
'"~" 当前用户家目录
~username 指定用户的家目录
~+ 当前目录.
~- 进入当前目录之前所在目录(olddir)cd - 中的