目录
目录结构
linux以单根的方式操作文件:/
文件管理
创建文件
touch 1.txt //创建命为1.txt的一个文本文件
touch 2.txt 3.txt 4.txt //批量创建文件
创建目录
mkdir dir1 //创建命为dir1的目录
linux中所有东西都可视为文件,就像是java中都可视为对象。计算机是靠文件名和后缀识别文件的。而目录,可以粗劣的理解为window中的文件夹
复制
cp 1.txt dir1 //将1.txt复制到dir1目录
cp -r dir1 dir2 //将dir1目录全部复制到dir2目录 //-r:强制执行
cp 1.txt dir1 //如果再次执行一样的命令,会提示是否覆盖文件。
移动
mv 1.txt dir1 //将1.txt移动到dir1目录下,和cp复制不同,源地址文件消失
mv 1.txt dir1 //再次执行会提示找不到文件
删除
rm 1.txt //会详细询问删除过程
rm -f 1.txt //不询问细节,但有些文件删不了。
rm -rf 1.txt //强制删除,(危险操作,小心谨慎)。
建议可使用移动代替删除,移动可撤销(ctrl+c),删除不可撤销
查找文件
命令文件查找
查找ls命令的位置
which ls 或者 whereis vim
任意文件查找
loacte 文件名
find
查看文件
查看文件夹
ls
ls 文件路径 //只能看到文件名
查看文件内容
cat
cat 文件路径 //查看文件内容 特点是将所有文件全部显示,适合小文件
more
more 文件路径
//特点是单独在一个页面显示内容,下方会百分比(显示的文件进度),按回车继续一行,按空格继续一页。内容只能向下查看,不能回退。
less
less 文件路径 //和more相似,但可以动态调整,上下查看内容。
head
head - n 文件路径 //打印文件前n行内容 默认10行
tail
tail -n 文件路径 //打印文件的后n行内容,默认10行
管道符
把管道符左边的结果,作为管道符右边命令的输入参数
查看文件/etc/profile的15到20行内容:head -20/etc/profile |tail -6
grep 过滤关键字
grep '1' 1 //只查关键字
常用选项
*修改文件内容
vi
-
命令模式:即查看模式,一般仅用于查看,有部分命令可以进行修改,进入vi编辑器,默认会在命令模式,命令模式可以进入输入模式,也可以进入末行模式,在另两个模式中按ESC键可以退回到命令模式。
-
由命令模式进入输入模式,a (在光标后方插入),i(insert,在光标前方插入),o(在光标下一行插入)A (在光标行尾插入),l(在光标行首插入),o(在光标上一行插入)
-
由命令模式进入末行模式:冒号(:),斜杠(/),问号(?)
-
命令模式下的快捷键
快速跳转:gg(首行),G(末行),ngg(第n行),n+Enter键(向下n行)
快速复制:yy(复制当前行),nyy(复制一下n行),p(粘贴)
快速剪切:dd(剪切当前行),ndd(剪切以下n行) 可用于删除
快速撤销:u(撤销上一次操作),ctrl+r(重做上次操作)
快速替换:r(替换光标所在处的字符),R(替换光标向后的字符,直到停止)
输入模式:一般用于输入文字,ctrl+u用于撤销上一次操作
末行模式常见操作:
设置行号:
:set nu 取消行号: :set nonu
向下查找:
/关键字 向上查找: ?关键字
查找时,按n继续查找下一个,按N继续查找上一个
替换: :s1,$/Hi//g 从第一行到最后一行,查找Hi关键字,替换为空字符(删除),g代表全局
常见替换:
批量注释:1,$s/^/#/g
批量加行尾:1,$s/$/!/g
只有保存退出 wq才会完成文件更改
光标移动
复制,粘贴,删除
文件内容查找
撤销编辑及保存退出
保存文件及退出vi编辑器
打开新文件或读入其他文件内容
文件内容替换
另存为
:w 2.txt //另存为名为2.txt
设置行号
set mu //设置行号
set nonu //取消设置行号
set list //显示控制字符,;例如隐藏的回车符$
统计文件内容
修改文件路径
pwd:显示当前路径
cd 绝对路径
目标路径:分为绝对路径(根目录起始)和相对路径(当前目录起始)
特殊路径: ~代表家目录(当前用户的用户目录,root用户的家目录为/root,普通用户的家目录为/home/用户名);-代表上一次执行的目录;.代表当前目录;..代表上一级目录。只执行cd,而没有参数,相当于cd
文件链接
软链接
创建一个文件并写入内容
echo 111 > /file1
创建一个软链接
ln -s /file1 /home/file2
观察软链接
ll /home/file2
观察软链接文件
ll /file1 /home/file2
删除源文件,软连接闪烁,不可用
硬链接
创建一个文件
echo 111 > /file1
创建一个硬链接
ln /file1 /home/file2
只能在同一分区创建,不同分区会失败
硬链接删除源文件,依然可用
硬链接不可指向目录