操作系统学习笔记(1)常用Linux命令_文件目录类命令

目录

前言:

正文:

1. 命令格式

2. 文件目录类命令

        1、ls命令

        2、pwd命令

3. 目录操作类命令

        1、cd命令

        2、mkdir命令

        3、rmdir命令

4. 浏览文件类命令

        1、cat命令

        2、more命令

        3、less命令

        4、head命令

        5、tail命令

5. 文件操作类命令

        1、cp命令

        2、rm命令

        3、find命令

        4、grep命令

        5、tar命令

后记:


前言:

        在这个笔记中,我把大多数代码都加了注释,我的一些想法和注解用蓝色字体标记了出来,重点和需要关注的地方用红色字体标记了出来。

        这一部分的笔记是以电子科技大学慕课《Linux操作系统编程》为基础写的。

        在这一篇文章中,我们主要介绍一些常用的Linux命令。

正文:

1. 命令格式

        命令名称 -选项 参数

        如:ls -la /etc

2. 文件目录类命令

        1、ls命令

        命令名称:ls

        命令英文原意:list(啊,就是缩写嘛)

        功能描述:显示目录文件

        语法:ls 选项[-a -l -d] [文件或目录]

        -a:显示所有文件,包括隐藏文件

        -l:详细信息显示

        -d:查看目录属性

        示例:

        如图是我的文件夹:

        如图是4种方法输出的结果:(如图所示 .vscode这个文件是隐藏文件,ls -a显示出来了)

        2、pwd命令

        命令名称:pwd

        命令英文原意:print working directory

        语法:pwd

        功能描述:显示当前所在的工作目录

        示例:

        同样以刚才那个文件夹为例:

3. 目录操作类命令

        1、cd命令

        命令名称:cd

        命令英文原意:change directory

        语法:cd [目录]

        功能描述:切换目录

        示例:

        $ cd / 切换到根目录

        $ cd .. 回到上一级目录

        如图,我从test文件夹中用cd ..回到了上一个文件夹,再用cd /回到了根目录

        2、mkdir命令

        命令名称:mkdir

        命令英文原意:make directory

        语法:mkdir [目录]

        功能描述:创建新目录

        示例:

        $ mkdir newdir

        如图,输入指令后多了个叫“newdir”的文件夹

        3、rmdir命令

        命令名称:rmdir

        命令英文原意:remove directory

        语法:rmdir [目录名]

        功能描述:删除空目录

        示例:

        $ rmdir newdir

        如图,输入后我亲爱的newdir被删除了

        那么问题来了,如果不是空目录会发生什么呢?

        我重新建立了newdir,然后将里面放入了一些文件

        此时执行rmdir指令,删除失败

4. 浏览文件类命令

        1、cat命令

        命令名称:cat

        命令英文原意:concatenate and display files

        功能描述:连接文件并打印到标准输出设备上

        选项:

        -E 在每一行的末尾显示$

        -n 为显示行添加行号

        参数:指定要连接的文件列表

        示例:

        cat m1(在屏幕上显示m1的内容)

        cat m1 m2(同时显示文件m1和m2的内容)

        如图,其中1~7行是1.cpp的内容,8~19行是2.c的内容,同时也使用了-E和-n这两个选项

        2、more命令

        命令名称:more

        语法:more [文件名]

        操作:

        (空格)或f: 显示下一页

        (Enter): 显示下一行

        q或Q: 退出

        功能描述:分页显示文件内容

        示例:

        我在vscode里写了一个很长的114514.cpp,如图所示,一眼望不到头。

        此时在终端输入more 114514.cpp,可以看见没有完全显示出来。

        此时我敲了下回车键,多输出了一行(虽然基本看不出来)

        敲了下空格后,则是完完整整显示出来了

        敲击q键之后就回到了终端的输入了

        3、less命令

        less命令与more命令用法类似,也可以用来浏览超过一页的文件。不同的是less命令除了可以按空格键向下显示文件外,还可以利用上下键来卷动文件。

        4、head命令

        命令名称:more

        语法:head [参数] <文件名>

        参数:

        -n:显示前n行,不指定此参数默认显示前10行

        示例:

        如图所示,简单易懂

        5、tail命令

        命令名称:tail

        语法:tail [参数] <文件名>

        参数:

        -n:显示后n行,不指定此参数默认显示前10行

        +n:从第n行显示到文件尾

        -F:用于跟踪显示不断增长的文件结尾内容(通常用于显示日志文件)

        示例:

        我从50行开始显示114514.cpp

5. 文件操作类命令

        1、cp命令

        命令名称:cp

        命令英文原意:copy

        功能描述:可以将文件从一处复制到另一处,一般在使用cp命令时将一个文件复制成另一个文件或复制到某目录时,需要指定源文件名与目标文件名或目录

        语法:cp [参数] <源文件路径> <目标文件路径>

        参数:

        -p:连同文件的属性一起复制,而非使用默认方式,常用于备份

        -i:若目标文件已经存在时,在覆盖时会先询问操作的进行

        -r:递归持续复制,用于目录的复制行为

        -u:目标文件与源文件有差异时才会复制

        示例:

        如图,目录内有m1和m2两个文件夹,两个都是空的文件夹。

        执行命令(-r可以忽视了,这里因为m1里面没有其他东西,所以-r没有用)

        后可以看见m2内出现了m1

        再执行↓

        可以看见m1里面出现了m2,而m2打开之后里面又有m1

        如果执行↓,可以看见略过了目录m2

        其他的参数就不尝试了,可以自己去试一试~

        2、rm命令

        命令名称:rm

        命令英文原意:remove

        功能描述:删除文件和目录

        语法:cp [参数] <目标文件路径>

        参数:

        -f:就是force的意思,忽略不存在的文件,不会出现警告信息

        -i:互动模式,在删除前会询问用户是否操作

        -r:递归删除,最常用于目录删除,它是一个非常危险的操作(老师ppt都这样说了,看得我非常想去尝试rm -rf /*了,啊,要不要再整一个虚拟机去试一试呢嘿嘿嘿)

        操作:

        删除某个文件:rm [文件名]

        删除当前目录下的所有文件:rm *

        递归删除某个目录:rm -r [目录名]

        强制删除所有后缀名为txt的文件:rm -f *.txt

        删除当前目录下的所有文件(询问):rm -i *

        示例:

        m2里面还有之前的m1文件夹,果然不能直接删除m2,必须-r才能删除。

        然后做第二个测试:我在m1中放入了114514.cpp,1.cpp,main.cpp三个文件,然后执行

        我只在第一个敲了y,后面都是敲的回车,结果只删除了114514.cpp。

        经过测试,似乎在首字母是y的情况下都能成功删除,下面三种情况都成功了

        3、find命令

        命令名称:find

        功能描述:用来寻找文件和目录

        语法:find <路径> [参数]

        参数:

        -name filename:找出文件名为filename的文件

        -size [+-] s:找出比s要大(+)或小(-)的文件

        -type t:查找文件类型为t的文件,t的值主要有:一般文件(f)、设备文件(b、c)、目录(d)、连接文件(i)、socket(s)、FIFO管道文件(p)

        -perm mode:查找文件权限刚好等于mode的文件,mode用数字表示,如0755

        示例:

        在网上搜索了之后发现find的用法挺复杂挺多的,这里就只给这样一个简单的例子了,详细的用法可以参照他人的博客,这里就不深入展开了

        4、grep命令

        命令名称:grep

        命令英文原意:Globally search a Regular Expression and Print

        功能描述:在文件中搜索匹配的字符并进行输出

        语法:grep [参数] <要找的字串> <寻找字串的源文件>

        参数:

        -a:将binary文件以text文件的方式查找数据

        -c:计算找到“查找字符串”的次数

        -i:忽略大小写的区别,即把大小写视为相同

        -v:反向选择,即显示出不包含“查找字符串”内容的那一行

        示例:

        如下图,我在114514.cpp里面计算找到114514这个字符串的个数,结果找到了22个。

        至于反选之后,就输出了如下的结果(太长了就不完全截图了),反正里面一个114514都没有。

        5、tar命令

        命令名称:tar

        命令英文原意:tape archive

        功能描述:将用户指定的文件或目录打包成一个文件,也可以通过指定参数开启压缩/解压缩功能

        语法:tar [参数] <文件>

        参数:

        -c:新建打包文件

        -t:查看打包文件的内容含有哪些文件名

        -x:解打包或解压缩的功能,可以搭配-C(大写)指定解压的目录,注意-c,-t,-x不能同时出现在同一条命令中

        -j:通过bzip2的支持进行压缩/解压缩

        -z:通过gzip2的支持进行压缩/解压缩

        -v:在压缩/解压缩过程中,将正在处理的文件名显示出来

        -f filename:filename为要处理的文件

        -C dir:指定压缩/解压缩的目录dir

        示例:

        将当前目录的所有文件打包成test.tar(太长了就不截完了)

        tar -cvf test.tar *

        将当前目录的所有文件打包成test.tar,再用gzip命令压缩

        tar -czvf test.tar *

 

        查看test.tar中包含了哪些文件:(也不完全截图了)

        tar -tf test.tar

        将test.tar解打包:

        tar -xvf test.tar

        将test.tar.gz解压缩并解打包:

        tar -xzvf test.tar.gz

        顺带一提,可以很明显的看出gz是压缩过的。(空话)

 

后记:

        老师上课的时候说:“万一哪一天,人类的图形界面用不了了,还能用命令行来写代码(指vim编辑器),你们一定一定要适应终端编程!”我:人类都堕落到这种程度了,估计我也救不了了(小声)

        结果没想到终端的功能这么丰富,所以我还是乖乖用图形界面干活吧。

        谢谢大家读到这里~

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值