一.linux的文件与Windows系统的文件保存形式
在Windows系统中可以从内存中分出D,E.......等等等等的盘,但在linux系统中只有一个根目录
“/” 所有的文件都是“/”的“孩子”
因为linux主要使用字符描述文件,写命令行调取文件时“/”是一定要带上的
在Windows中路径之间的层级关系用:\表示(向右)
在Linux系统中路径之间层级关系用:/表示(向左)(第一个/表示根目录,后面的/表示层次关系)
Windows例如:D:\data\work\hello.txt
Linux系统例如:/usr/local/hello.txt
二.linux命令基础
学习Linux本质上是在命令行下(终端)熟练使用Linux的各类命令
命令行:本质上是终端黑框框,在命令行中输入命令,操作系统实现功能;
命令:即Linux程序,一个命令就是一个Linux的程序,在命令行中收到命令反馈;
命令有通用的格式-----------例:commard [-opyions] [parameter]
commard----命令本身
-opyions控制命令的行为细节[根据需求自行决定写不写]
paramter--命令参数,多数用于命令指向目标
一个命令的基础包括:命令本体,(可选)(非必须)选项,{可选)(非必须)参数;
三.ls命令入门
第一个命令ls
直接在finalshell命令行中打出命令ls表示:以平铺形式,列出当前工作目录的内容
可以看到蓝字就是我们的输入反馈
这里指的工作目录默认指的是Linux系统的home 的目录,认为当前当前登录用户的home 目录是工作目录
这是在虚拟机中操作的,可以看出home文件与输入反馈一一对应,与finalshell反馈相同
home目录的一般路径是/home/用户名
四.ls命令的选项与参数
上一节知道当ls不使用参数表示以平铺的形式打开工作目录(home )目录
这节探讨加上选项和参数都会有什么不同
ls [-a -l -h](选项) [linux路径](参数)
如果加上参数例如:ls /(注意ls和/之间有个空格)
选择路径以平铺形式打开/根目录
使用finalshell验证同样的结果
ls参数的表示指定Linux路径,列出指定路径的内容
ls的选项有
1.-a:表示all,列出所有的文件,包括带.的隐藏文件
如图
-l:以列表形式列出文件,展示更多内容
-h:表示以易于阅读的形式列出文件大小 (单位byte)![](https://i-blog.csdnimg.cn/direct/cc32ad5c67174a6ab3392c68518158ec.png)
PS:请不要忘记在命令本体,选项,参数之间有空格!!!
-ls表示以列表形式显示文件并显示内存大小单位(xx.K)
-h要搭配-l一起使用,否则无效,如上图
选项可以互相搭配,-la(所有文件以列表形式显示)
也可以-lah,表示所有文件以列表形式人性化展开(顺序无所谓,也可-a-l-h)
五.命令cd,pwd
cd(命令本体)(无选项)(有参数)
表示把工作目录切换至参数处;
在之前的学习中我们知道工作目录默认为home目录
ls命令可以针对当前工作目录操作
pwd:表示输出当前工作目录
与ls 的区别是ls可添加参数,选项,指定目标,可输出多种文件
pwd无法添加参数,选项;
只能输出当前工作目录,需要通过cd命令调整当前工作目录
六.相对路径,绝对路径,特殊路径符
绝对路径:一级一级写,以根目录/为起点,描述绝对路径时一定以根目录开头
这里以home目录中的Desktop文件举例,用绝对路径实现
用cd命令设置当前工作目录为home目录
cd /home/liuhaizhu/Desktop将工作目录转移
PS:文件是大写就得写大写
相对路径:只写文件名
因为相对简便,以后尽量都用这个
特殊路径符:
. (一个点) :表示当前目录;
当前工作目录是home,用.代替
.. (两个点) :表示当前目录回退一层的结果;
~ :表示home目录;
七.创建目录命令
mkdir命令:表示创建新的目录(文件夹)
mkdir [-p](可选)linux路径(必写)(表示在哪里创建)
如果没有从根目录开始,则会从当前工作目录开始创建,可用特殊路径符进行操作
-p表示创建一连串文件,例如mkdir -p ~/itcast/good/666
那么在home文件里就创建了一个itcast文件
八.读取文件
touth linux路径
用于创建文件,可用绝对路径,相对路径,特殊路径符
这里我创建了一个test.txt文件
创建文件test.txt后打开,存入一段任意文字
保存点save;
cat命令:
cat linux路径
表示读取哪个文件,可用绝对路径,相对路径,特殊路径符(课上老师可以用相对路径写,但我只有用绝对路径才能显示);
more命令:
more linux路径
查看文件内容,与cat 的区别是cat是一次性查看文件,morex显示大量内容时可以翻页;
linux有一个内置文件,路径是/etc/services 可以分别用cat 和more试一下
这里用cat 命令可以看到非常的大
more命令
下面有一个more 0%,摁空格可以查看下一页;
摁q可以退出查看,继续输入命令
九操作文件文件夹
cp命令;
cp 【-r】 Linux路径1 linux路径2 表示复制文件1到文件2中,
-r:复制文件夹
mv命令:
mv Linux路径1 Linux路径2
将文件(文件夹)1的内容转移到文件(文件夹)2 中,如果文件2 不存在则把文件1的名字改成文件2
划掉的地方是输入了一个该文件夹不存在的文件,报错找不到,希望大家不要犯
移动文件
第二张图是把Templates文件移回home中,实验证明,如果确定文件存在的情况下,Linux路径2加不加/都行
如果路径不存在,文件会被改成对应的名字,加斜杠会提示不是目录(某些情况下可作为更名操作)
此处为test3改名为test4过程
rm命令:
删除文件,文件夹
rm【-r -f 】linux1 linux2 linux3......
-r:删除文件夹;
-f:表示强制删除;
linux表示要删除的文件或文件夹路径
如图是关于删除文件和文件夹的操作
re命令之-----通配符*
例如 test* 表示任意以test开头的内容
*test表示任意以test结尾的内容
*test*表示任意含有test的文件或文件名
创建文件test1,test2;文件夹test3——显示验证——删除前缀为test的文件,显示test3为文件夹无法删除,加上选项-r——ls验证
后缀与*test*相同,不再演示
危险选项-f
表示强制删除文件或文件夹;
普通用户用不到,当切换为root(超级管理员身份时可用)
在命令行中输入su - root(记得每个参数之间空格)切换为管理员模式
如果没加-f 会弹出提示是否删除,确定填y,取消填n
玩完一定要退出管理员模式输入exit
rm命令很危险尤其是在管理员状态下,例如rm -rf / 或rm -rf /*;结合前面的内容你应该知道是什么意思,这种操作等同于格式化C盘
which命令:
查找命令的程序文件(我们在命令行敲入的命令可以视为一个程序的进程,在linux系统中,万物皆文件,硬盘,U盘,键盘,鼠标,显示器,软件程序等等,因此Linux在处理文件和程序时有极高的灵活性和一致性)
which linux路径 which命令就是查找程序(以文件存放)在哪里
find命令
查找指定的文件
方法1:
按文件名查找 : find 初始查找范围(例如/) -name 被查找文件名
为了查找时有较多的文件显示表现的更明显,建议切换到root模式
命令:su - root 后查找
可结合前面说过的通配符查找;
方法2:
按文件大小查找。find 初始查找范围(例如/) -size -或+n【单位】(选填,但为了查找精确建议写)
-或+表示小于或大于n的文件
k(小写):例:+10k 大于10kb的文件,-10k 小于10kb的文件
M(大写) ;G(大写) ;
PS:中间输错了几次,黑框上一条才是对的,意义是展开文件验证内存是否满足查找条件
echo命令
用于在命令行中输出内容,类似print。
当输出内容物有空格或/时,建议加双引号,否则可能会被识别为第二个参数出现如下情况
反引号:在esc键下面,1的左边,
被括住的内容表示执行该命令
要与echo 搭配使用否则弹出
可以看到命令成功执行
大家也可以试试别的命令,多动手
重定向符:> >>
>:将左侧命令的结果覆盖在右侧文件中
>>:将左侧命令结果接在右侧文件中
目前使用搭配echo 使用
也可以用反引号在文件内填入命令输出的结果
记得在写完双引号后与>有一个空格,否则无法输出正确结果,如上图
tail命令
tail 【-数字】(不填默认为10)查看文件尾部10行内容
下面我们输入find / -size -10k >test10086.txt
这个命令的结果太长我没法截图
再echo "wifi:8888888" >>~/test10086.txt
然后tail -5 ~/test10086.txt
在文件中显示了刚刚通过echo添加进的内容
tail【-f】Linux路径,表示持续追踪该文件内容,
抱歉,因为我的finalshell不能正常运行,这部分没办法演示
grep 命令
grep【-n】关键字 被过滤的文件路径,可以从文件中过滤文件行,仅用于文件,-n表示显示含有关键词的行的行数
如果关键字含有空格或/则用“”括起来
可以看到,查找的关键词被标红显示出来,加上-n后被筛选出的单词的行数也显示出来
后面将配合其他指令使用
wc命令
wc 统计文件的行数,单词数量
wc 【-c】统计bytes数量
wc 【-m】统计字符数量
wc 【-l】统计行数
wc 【-w】统计单词数量
如果只有wc 文件路径
则会全部显示
!!!!!!!!重点内容管道符!!!!
管道符 |
将管道符左边的输出结果给到右边的路径
这里配合前面的有点不好懂,多看看
再比如在众多文件夹中筛选某一个文件夹
因为grep命令只能查找文件
可以把和grep配合的管道符想象成一个临时储存文件名的文件,再用grep过滤筛选
绿色文件是/usr/bin, 是文件夹,如果要统计文件夹中有多少文件可以用管道符配合,如上图
vi vim 命令
意义是编辑文件或创建并编辑文件
vim兼容了vi命令的所有功能并拓展
vi/vim编辑器的三种工作 模式
初始进入vim编辑器时进入的是命令模式
格式: vim 路径文件
如果此文件不存在则会显示
“一个新的文件”
此时是命令模式,不可以对文件进行编辑
输入i或o或a都可以装换成输入模式
底部会出现 insert,这时可以输入
输入模式和底部命令模式不能互通
针对/演示一下
这是用grep筛选,对比下来的话,筛选并写入vim方便,只筛选的话还是grep方便些
set paste可以保证从外部复制的样子完整的粘贴到文件中,不会发生格式的错乱
粘贴模式
三种模式的指令表都列出来了,建议大家自己也试试