目录
文件的建立和删除
Linux的特性
在Linux当中有一句十分重要的话:everything is file。什么都是文件。
在Linux中对系统管理归根到底就是对文件进行管理,对文件实施增删查改。
Linux下对文件的建立
touch filename #touch通常在系统中用于新建一个文件,但是命令本身也可以修改文件的时间
mkdir directory #用来新建一个文件夹
mkdir -p directory #用来新建多个文件夹包括他的子目录
Linux下文件的删除
rm -f file1 file2... #删除文件
rm -fr dir1 dir2... #删除目录
文件编辑
Linux文本编辑方式
gedit file #图形的文本编辑,只有在图形开始时可用.
vim file #Linux中常用的文本编辑工具.
- gedit file可以直接编辑文件,与Windows中的txt记事本操作类似.
- vim是全球著名的两大文本编辑器之一,另一个是emacs.
vim的基本用法
-
vim file
-
按I键进入插入模式
-
按ESC退出插入模式
-
输入:wq退出保存
vim共有三种工作模式 -
命令模式
-
插入模式
-
退出模式
VIM命令模式下调整工作参数
在命令模式下:
- :set 参数信息
- 例如 :set nu [^1]
- 此设定为临时设定,vim关闭后设定消失
vim永久设定:
- vim/etc/vimrc
- set 参数信息
设定单独用户的独立设定,编辑相应用户根目录下的独立设定文件
例如:
vim /root/.vimrc
表示设定root这个用户的单独vim设定,即只有在root用户打开vim时才会加载相应的设定.
vim中的字符搜索
关键字匹配 : [/关键字] 高亮显示关键字 [:noh]撤销高亮
检索关键字 : [n] 向下匹配 [N]向上匹配
vim中的字符管理
在命令模式中用上下左右进行光标选择
在相应的光标对应点按下相应的代码进行相应的功能
复制
- [yl] 复制一个字符
- [yw] 复制一个单词
- [yy] 复制一行
删除
- [rl] 删除一个字符
- [rw] 删除一个单词
- [rr] 删除一行
剪切
- [cl] 剪掉一个字符
- [cw] 减掉一个单词
- [cc] 剪掉一行
- 注意:执行剪切操作会立刻进入插入模式
粘贴
- p 粘贴
撤销
- u 撤销
恢复
- ctrl+R 恢复
vim可视化模式
在vim可视化模式中处理字符区域
- 在命令模式下按【ctrl+v】进入可视化模式
- 键盘上下左右可以移动选择区域
在可视化模式下批量添加字符
- ctrl + v 选中要加入字符所在的列
- 按大写的【i】
- 加入字符
- 按【esc】
vim中字符的替换
在命令模式输入以下内容
:%s/原字符/替换后字符/g
- %s表示全文所有的行
- g表示全文所出现原字符的列
替换实例
:%s/:/@/g #替换全文的:为@
:1,5s/:/@/g #替换1-5行的:为@
:/adm/,/halt/s/:/@/g #替换adm到halt之间的:为@
vim 的分屏功能
ctrl+w s • 上下分屏
ctrl+w v • 左右分屏
ctrl+w c • 关闭光标所在屏幕
ctrl+w 上下左右 • 光标移动到指定屏幕 :
sp file2 • 同时编辑当前文件和file2
在命令模式下光标的移动
gg • 光标移动到文件第一行
G • 光标移动到文件的最后
:数字 • 光标移动到到指定的行
vim的编写模式进入
i | • 光标所在位置插入 |
---|---|
I | • 光标所在行行首插入 |
o | • 光标所在行下一行插入 |
O | • 光标所在行的上一行插入 |
a | • 光标所在字符的下一个字符插入 |
A | • 光标所在行的行尾插入 |
s | • 光标所在字符删除并插入 |
S | • 光标所在行删除并插入 |
vim的退出模式
:q | •退出,在文件内容没有被改变时使用 |
---|---|
:wq | •退出保存 |
:q! | •强制退出不保存,在改变文件后不想保存时使用 |
:wq! | •强制退出保存 在对只读文件编写时使用,注意,所编辑的只读文件必须时 |
文件的查看
cat
cat file | 显示文件的所有内容 |
---|---|
cat -b file | 显示文件的内容并显示行号,但不统计空行 |
cat -n file | 显示文件的内容并显示行号,统计空行 |
less
less • 当文件内容比较长是使用less分页浏览
- 上|下 逐行移动
- pageup|pagedown 逐页移动
- /关键字 高亮显示关键字,n向下匹配,N向上匹配
- v 进入vim模式 在vim模式中按:wq 退回到less模式
- q 退出
head & tail
head | tail |
---|---|
显示文件前多少行 | 显示文件后多少行 |
head file 默认显示文件前10行 | tail file 默认显示文件后10行 |
head –n 3 file显示文件前3行 | tail –n 3 file 显示文件后3行 |
tail –ffile 监控文件后10行变化,通常用于监 控系统日志 |
文件复制及移动
文件复制
cp 源文件 目的地文件 #复制文件,当目的地文件存在会有询问
cp -r 源文目录 目的地目录 # 复制目录到目录中
cp 源文件1 源文件2 目的地目录 #复制多个文件到一个目录中,注意:目的地目录必须存在
cp -r 源目录1 源目录2 目的地目录 #复制多个目录或文件到一个目录中,注意目的地目录必须存在
文件移动
mv 源文件 目的地文件 #重命名,当目的地文件存在会被覆盖
mv 源目录 目的地目录 #不许要加任何参数,直接移动即可
注意:相同分区的移动是重命名的过程,不同分区的移动是复制删除过程
文件统计
file
file 文件名 #file可以查看文件的真 实类型是什么
文件的名称不能代表文 件的类型,例如 file.mp3不能从文件名称后缀来确定文件类型
wc
wc | 用于统计文件的字数,字符数,行数 |
---|---|
wc –l file | 文件的行数 |
wc –w file | 文件字数 |
wc –m file | 文件字符数 |
wc –c file | 文件字节数 |
Linux系统中的根文件系统的层级结构
FHS | 文件系统层级结构标准 |
---|---|
/ | 根目录,系统中的顶级目录 |
/bin | 所有用户可执行的命令程序文件 |
/sbin | 系统管理命令程序,通常只有root用户可以执行 |
/boot | 系统启动引导过程中加载的文件存放目录 |
/dev | 系统设备文件存放路径 |
/etc | 系统程序的配置文件 |
/home&/root | /home普通用户家目录集合 ,/root超级用户家目录 |
/lib&/lib64 | /lib系统启动程序和根下应用程序(/bin,/sbin等)提供共享库,/lib6464位系统存放64位库的路径 |
/media&/mnt | /media 临时设备挂载点,/mnt 系统磁盘的临时挂载点 |
/opt | 系统默认第三方软件安装的位置 |
/proc&/sys | /proc 进程和内核相关参数信息,/sys 内核参数目录 |
/srv&/var | /srv 当前主机位系统服务提供的数据,/var 经常变化的系统数据 |
/tmp | 系统临时文件存放目录 |
/usr | 全局共享只读资源除/目录以外系统最总要的目录 |
/run | 当前运行进程相关数据,此目录中的文件通常被程序自动调用 |
Linux系统中文件寻址
文件的地址
相对路径:
- 相对与当前系统所在目录的一个文件名称的简写
- 此名称省略了系统当前所在目录的名称
- 此名称不以“/”开头
- 此名称在命令执行时会自动在操作对象前加入“PWD”所显示的值
绝对路径:
- 绝对路径是文件在系统的真实位置
- 此命令是以“/”开头的
- 此命令在命执行时系统不会考虑现在所在位置的信息
Linux系统中文件寻址相关命令
关于路径的命令
pwd #显示路径
cd 目录名称 #到指定路径中
cd - #当前目录和当前目录值前所在目录之间的切换cdir---->odir
cd .. #进入当前目录的上级目录
ls -l #file 文件属性
ls dir #目录中保函的内容
ls -d dir #目录本身
ls -a dir #所有文件包含隐藏的
ls -S dir #查看并且按照大小排序
ls -s file|dir #查看文件大小
Linux系统中文件批处理
系统中的通用配置符号
? | 匹配单个字符 |
---|---|
[[:alpha:]] | 单个字母 |
[[:lower:]] | 单个小写字母 |
[[:upper:]] | 单个大写字母 |
[[:digit:]] | 单个数字 |
[[:punct:]] | 单个符号 |
[[:space:]] | 单个空格 |
[[:alnum:]] | 数字或字母 |
[[:punct:][:upper:]] | 单个符号或单个大写字母 |