目录
1.文件建立及删除
Linux的特性
Linux的特性====>一切皆是文件
在Linux中对系统管理归根到底就是对文件进行管理====>对文件实施增删查改
Linux下对文件、目录的建立
文件的建立
touch ##通常在系统中用于新建文件但是命令本身也可以修改文件的时间戳
touch file1 file2
时间戳--->access查看 modify 内容修改 change属性和内容
- 建立文件,并且监控
- 通过查看文件,改变时间戳access
- 通过修改文件权限更改时间戳change
- 通过修改文件权限更改时间戳modify
目录的建立
mkdir directory ##建立目录
mkdir -p dir1/dir2/dir3 ##建立dir1目录,并在该目录之下建立dir2,且在dir2目录之下建立dir3,p--->parents
mkdir -p weseos/linux redhat ##在westos目录里面建立一个linux目录,在当前位置建立一个redhat目录
mkdir -p westos/{linux,redhat} ##在westos目录里面建立一个linux目录,并在该目录之下建立linux,redhat目录
删除操作
文件 rm -f xiaozhang ##删除xiaozhang文件
目录 rm -fr xiaozhang ##删除xiaozhang目录,f--->force 强制 ,r--->表示递归
alias 命令对应查看命令的全部形式 rm=rm -i
2.文件编辑
Linux文本编辑方式
gedit ##图形的文本编辑,只有在图形开始时可用
vim ##linux中常用的文本编辑工具
Vim是全球著名的两大文本编辑器之一,另一个是emacs
vim的基本用法
vim file
i 进入插入模式; esc退出插入模式 ; :wq 保存退出
在命令模式下
:set 参数信息,比如
:set nu
vim 永久设置—全局设置
vim /etc/vimrc ##设置set参数信息 [全局级别设置参数]
vim ~/.vimrc ##设置set参数信息 [用户级别设置参数]
- 编写一个文件,设置用户的vimrc文件,并检验试验成果
vim中字符的搜索
/关键字 | 高亮显示关键字 |
---|---|
:noh | 撤销高亮 |
检索关键字 | n向下匹配 N向上匹配 |
Vim的分屏功能
Ctrl+w 再按 s ###上下分屏
Ctrl+w 再按 v ###左右分屏
Ctrl+w 再按 c ###关闭光标当前所在屏幕
Ctrl+w 再按 上下左右箭头 ###光标移动到指定屏幕
:sp file2 ##同时编辑当前文件和file2
VIM中的字符管理
复制
yl | 复制一个字符 |
---|---|
yw | 复制一个单词 |
yy | 复制一行 |
删除
dl | 删除一个字符 |
---|---|
dw | 删除一个单词 |
dd | 删除一行 |
剪切
cl | 剪掉一个字符 |
---|---|
cw | 剪掉一个单词 |
cc | 剪掉一行 |
剪切操作会进入插入模式
其他操作
p | 粘贴 |
---|---|
u | 撤销 |
ctrl+R | 恢复 |
VIM可视化服务
处理字符区域
• 在命令模式下按【ctrl+v】进入可视化模式
• 键盘上下左右可以移动选择区域
处理字符区域
• ctrl + v 选中要加入字符所在的列
• 按大写的【I】
• 加入字符
• 按【esc】
vim中字符的替换
:%s/原字符/替换后字符/g
• %s表示全文所有的行
• g表示全文所出现原字符的列
example
• :%s/ /@/g ##替换全文的空格为@
• :1,5s/ /@/g ##替换1-5行的空格为@
• :/adm/,/halt/s/ /@/g ##替换adm到halt之间的空格为@
在命令模式下光标的移动
|gg|光标移动到文件的第一行 |
|–|--|
| G| 光标移动到文件的最后
:数字|光标移动到指定的行
vim的编写模式进入
i | 光标所在位置插入 |
---|---|
I | 光标所在行行首插入 |
o | 光标所在行下一行插入 |
O | 光标所在行的上一行插入 |
a | 光标所在字符的下一个字符插入 |
A | 光标所在行的行尾插入 |
s | 光标所在字符删除并插入 |
S | 光标所在行删除并插入 |
vim的退出模式
:q | 退出,在文件内容没有被改变时使用 |
---|---|
:wq | 退出保存 |
:q! | 强制退出不保存,在改变文件后不想保存时使用 |
:wq! | 强制退出保存 在对只读文件编写时使用,注意,所编辑的只读文件必须时 |
vim的异常退出
vim异常退出
当vim还没保存编写内容而被强制关闭时
.文件名称.swp
文件内保存没有写入部分的数据,此文件如果被手动删掉vim恢复正常工作
快捷键说明
[O]pen Read-Only 只读打开 |
---|
(E)dit anyway 继续编辑 |
( R)ecover 恢复数据 |
(D)elete it 删除[.swp]文件 |
(Q)uit 退出 |
(A)bort退出 |
- 只读模式
- 编辑
- 恢复
3.文件的查看
cat
cat file | 显示文件的所有内容 |
---|---|
cat -b file | 显示文件的内容和行号,但不统计空行 |
cat -n file | 显示文件内容和行号,统计空行 |
显示的行号不会被保存在文件中
less
当文件内容比较长时使用less分页浏览
上/下 | 逐行移动 |
---|---|
pageup/pagedown | 逐页移动 |
/关键字 | 高亮显示关键字,n向下匹配,N向上匹配 |
v | 进入vim模式 在vim模式中按:wq 退回到less模式 |
q | 退出 |
head & tai
head
显示文件前多少行
head file 默认显示文件前10行
head –n 3 file显示文件前3行
tail
显示文件后多少行
tail file 默认显示文件后10行
tail –n 3 file 显示文件后3行
tail –f file 监控文件后10行变化,通常用于监控系统日志
4.文件的复制与移动
文件复制
cp 源文件 目的地文件 | 复制文件,当目的地文件存在会有询问 |
---|---|
cp -r 源文目录 目的地目录 | 复制目录到目录中 |
cp 源文件1 源文件2 目的地目录 | 复制多个文件到一个目录中,注意:目的地目录必须存在 |
cp -r 源目录1 源目录2 目的地目录 | 复制多个目录或文件到一个目录中,注意目的地目录必须存在 |
复制是按照模板新建的过程
文件移动
mv 源文件 目的地文件 | 重命名,当目的地文件存在会被覆盖 |
---|---|
mv 源目录 目的地目录 | 不许要加任何参数,直接移动即可 |
1.相同分区的移动是重命名的过程,不同分区的移动是复制删除过程
2.同一设备,重命名,没有数据变化
3.不同设备,即不同磁盘分区,复制再删除
5.文件统计
file
文件的名称不能代表文件的类型,例如 file.mp3不能从文件名称后缀来确定文件类型
file filename ##可以查看文件的真实类型是什么
wc
wc | 用于统计文件的字数,字符数,行数 |
---|---|
wc –l file | 文件的行数 |
wc –w file | 文件字数 |
wc –m file | 文件字符数 |
wc –c file | 文件字节数 |
6.Linux系统中的根文件系统的层级结构
/ 根目录
根目录,系统中的顶级目录
/bin&/sbin
/bin ## binaries
所有用户可执行的命令程序文件
/sbin ##system binaries
系统管理命令程序,通常只有root用户可以执行
/boot
系统启动引导过程中加载的文件存放目录
/dev
Device files
系统设备文件存放路径
字符设备 线性设备 ---->键盘输入
块设备 随机设备 ---->优盘设备
/etc
系统程序的配置文件
/home&/root
/home普通用户家目录集合
• 此目录中的子目录通常被设定为用户家目录,是可选目录,此目录不是基本系统目录
• 普通用户在登录后默认被设定进入此目录中的相应子目录中,比如说对于student用户来说,他将被设定在/home/student这个目录之下
/root超级用户家目录
• 超级用户登录系统后默认进入的系统目录
/lib&/lib64
/lib系统启动程序和根下应用程序(/bin,/sbin等)提供共享库
• libc.so. ##动态链接c库
• modules ##内核模块
/lib6464位系统存放64位库的路径*
/media&/mnt
/media 临时设备挂载点
• cdrom
• usb
/mnt 系统磁盘的临时挂载点
/opt
系统默认第三方软件安装的位置
/proc&/sys
/proc 进程和内核相关参数信息
/sys 内核参数目录
/srv&/var
/srv 当前主机位系统服务提供的数据
/var 经常变化的系统数据
/var 中重要的目录
/tmp
Temporary files
系统临时文件存放目录
• 系统中的所有用户都会用到所以要对所有用户可写
/usr
Universal Shared Resource
全局共享只读资源
除/目录以外系统最总要的目录
/usr的层级
• bin sbin 命令
• lib lib64 库文件
• include c语言头文件
• share 程序文档说明
• src 程序源码(可选)
• local 第三方程序安装路径(当前比较流行)
/run
当前运行进程相关数据
此目录中的文件通常被程序自动调用
7.Linux系统中文件寻址
相对路径:
• 相对与当前系统所在目录的一个文件名称的简写
• 此名称省略了系统当前所在目录的名称
• 此名称不以“/”开头
• 此名称在命令执行时会自动在操作对象前加入“pwd”所显示的值
绝对路径:
• 绝对路径是文件在系统的真实位置
• 此命令是以“/”开头的
• 此命令在命执行时系统不会考虑现在所在位置的信息
注意:
• 当操作对象是 对象1 空格 对象2 时
• 这两个对象之间没有任何关系
8.Linux系统中文件寻址相关命令
显示路径 | pwd |
---|---|
切换路径 | cd 目录名称 ## 进入到指定目录中; cd - ##当前目录和当前目录值前所在目录之间进行来回切换 ;cd … ##进入当前目录的上级目录 |
文件信息查看
ls -l file | 文件属性 |
---|---|
ls dir | 目录中包含的内容 |
ls -d dir | 目录本身 |
ls -a dir | 所有文件包含隐藏的 |
ls -S dir | 查看并且按照大小排序 |
ls -s file | dir |
9.Linux系统中文件批处理
系统中的通用配置符号
? | 匹配单个字符 |
---|---|
[[:alpha:]] | 单个字母 |
[[:lower:]] | 单个小写字母 |
[[:upper:]] | 单个大写字母 |
[[:digit:]] | 单个数字 |
[[:punct:]] | 单个符号 |
[[:space:]] | 单个空格 |
[[:alnum:]] | 单个数字或字母 |
[[:punct:][:upper:]] | 单个个符号或单个大写字母 |
精确匹配
• {} 用于精确匹配内容
• {1..3} 3个,1 2 3
• {1,4,7} 3个1,4,7这三个数
模糊匹配
• [] 用于模糊匹配内容
• [1-9] 1位,这位是1-9的任意数字
• [!3-5] 1位,不是3-5的数字
• [^3-5] 1位,不是3-5的数字
• [a-z] 1位,a-z的任意字母
~ ##• 当前用户家目录
~username ##• 指定用户的家目录
~+ ##• 当前目录.
~- ##• 进入当前目录之前所在目录(olddir)cd - 中的"-"