liunx指令的介绍(2)

此次核心介绍新的指令

1.rm 删文件

2.man查指令使用

3.cp 拷贝文件内容

4.cat 打印文件内容

5.mv 剪切内容

6.less 一页一页的打印文件内容

7.date 查时间

1.rm删文件

rmdir:只能删空目录

复制代码
ubuntu@VM-0-2-ubuntu:~/lesson3$ ll
total 12
drwxrwxr-x  3 ubuntu ubuntu 4096 Mar 21 17:12 ./
drwxr-x--- 12 ubuntu ubuntu 4096 Mar 21 17:11 ../
drwxrwxr-x  2 ubuntu ubuntu 4096 Mar 21 17:12 text/
ubuntu@VM-0-2-ubuntu:~/lesson3$ rmdir text
ubuntu@VM-0-2-ubuntu:~/lesson3$ ll
total 8
drwxrwxr-x  2 ubuntu ubuntu 4096 Mar 21 17:12 ./
drwxr-x--- 12 ubuntu ubuntu 4096 Mar 21 17:11 ../

rm:默认只能删普通文件

复制代码
drwxrwxr-x  3 ubuntu ubuntu 4096 Mar 21 17:14 ./
drwxr-x--- 12 ubuntu ubuntu 4096 Mar 21 17:11 ../
-rw-rw-r--  1 ubuntu ubuntu    0 Mar 21 17:12 dd
drwxrwxr-x  2 ubuntu ubuntu 4096 Mar 21 17:14 text/
ubuntu@VM-0-2-ubuntu:~/lesson3$ 
ubuntu@VM-0-2-ubuntu:~/lesson3$ rm dd
ubuntu@VM-0-2-ubuntu:~/lesson3$ ll
total 12
drwxrwxr-x  3 ubuntu ubuntu 4096 Mar 21 17:14 ./
drwxr-x--- 12 ubuntu ubuntu 4096 Mar 21 17:11 ../
drwxrwxr-x  2 ubuntu ubuntu 4096 Mar 21 17:14 text/
ubuntu@VM-0-2-ubuntu:~/lesson3$ rm text
rm: cannot remove 'text': Is a directory

-f root用户时强制删除文件,不用同意

rm -r r是递归的意思,也就是递归删除所指目录及其后续的所有文件。

*代表所有内容

复制代码
ubuntu@VM-0-2-ubuntu:~/lesson3$ ls
gal  teet  test3  test3.dd
ubuntu@VM-0-2-ubuntu:~/lesson3$ rm -r te*
ubuntu@VM-0-2-ubuntu:~/lesson3$ ls
gal
//所有te开头的文件都被删了

ls -*就是ls。

-r是默认不删隐藏文件的

复制代码
ubuntu@VM-0-2-ubuntu:~/lesson3$ ls -a
.  ..  .gal  .galgame  test
ubuntu@VM-0-2-ubuntu:~/lesson3$ rm -r gal*
rm: cannot remove 'gal*': No such file or directory
//正常是找不到的
ubuntu@VM-0-2-ubuntu:~/lesson3$ rm -r .gal*
ubuntu@VM-0-2-ubuntu:~/lesson3$ ls -a
.  ..  test
//指定了隐藏文件后就可以了

2.man的使用

此处查找printf的用途,可以发现指令中自带printf,但此printf与c语言的printf完全没有关系。(点Q退出查阅)

对man进行man后发现man有9个库,目前只有前三个有点用(第三个是c语言的库)

man会优先从第一个库开始找,然后再到下一个库直到找到或走遍为止。

3.cp拷贝文件内容

只能拷贝普通文件的内容。

复制代码
ubuntu@VM-0-2-ubuntu:~/lesson3$ ls
love  test  test.cpp
ubuntu@VM-0-2-ubuntu:~/lesson3$ cp love gal
ubuntu@VM-0-2-ubuntu:~/lesson3$ ls
gal  love  test  test.cpp
//拷贝一个文件的内容到另一个不存在的文件中
//另一个文件在同一个目录中创建
ubuntu@VM-0-2-ubuntu:~/lesson3$ cp love /home/ubuntu/lesson2
ubuntu@VM-0-2-ubuntu:~/lesson3$ ls /home/ubuntu/lesson2
a  gal1  gal.love  love  test.bpp  test.cpp  test.vpp
//拷贝一个文件的内容到其他目录中,会在其他目录中生成一个与该文件名相同的文件
ubuntu@VM-0-2-ubuntu:~/lesson3$ cp love /home/ubuntu/lesson2/lovegalgame
ubuntu@VM-0-2-ubuntu:~/lesson3$ ls /home/ubuntu/lesson2
a  gal1  gal.love  love  lovegalgame  test.bpp  test.cpp  test.vpp
//如果最后一个文件名不存在,视为新创建文件名的名字,前面的都视为路径。

如果是非空目录的拷贝就加上-r,其他用法都不变。

如果对应的目录下已有同名文件,使用-f就能进行同名覆盖。(同一目录下不允许有两个同名文件)

4.cat打印文件中的内容

echo将后面的数据以字符串的形式打印出来

复制代码
ubuntu@VM-0-2-ubuntu:~/lesson3$ echo galgame love
galgame love

cat 将文件中的内容打印出来

复制代码
ubuntu@VM-0-2-ubuntu:~/lesson3$ cat love
int main()
{
int a = 10;
int b = 20;
return 0;
}

tac 反向打印

复制代码
ubuntu@VM-0-2-ubuntu:~/lesson3$ tac love
}
return 0;
int b = 20;
int a = 10;
{
int main()

5.原则性认识

linux系统下,一切都是文件

如:自己创建的文件,硬盘,显示器,printf,scanf,cout,等,这些的本质都是文件,函数操作的本质就是文件操作。

文件操作前必须要先打开文件,函数是调用时内部打开的,设备是系统帮我们打开的。

程序在启动时就默认帮我们打开了stdin,stdout,stderr三个流。(是通过调用一堆接口打开的)用于方便用户使用。

重定向操作(想显示器打印的本质是向显示器文件写入)

> 转向某个目录(输出重定向)

复制代码
ubuntu@VM-0-2-ubuntu:~/lesson3$ echo galgame-love > heoo.txt
ubuntu@VM-0-2-ubuntu:~/lesson3$ cat heoo.txt
galgame-love

如上面echo默认是向显示器写入的,>后就变变向heoo.txt写入了。

如过后面的文件不存在,就在同一个目录下创建一个新的在写入,存在就清空再写入。

根据此特性就能用于创建新的文件或清空旧文件了。

复制代码
ubuntu@VM-0-2-ubuntu:~/lesson3$ ls
gal  heoo.txt  lesson2  love  test  test.cpp
ubuntu@VM-0-2-ubuntu:~/lesson3$ > galagme
ubuntu@VM-0-2-ubuntu:~/lesson3$ ls
gal  galagme  heoo.txt  lesson2  love  test  test.cpp
ubuntu@VM-0-2-ubuntu:~/lesson3$ > heoo.txt
ubuntu@VM-0-2-ubuntu:~/lesson3$ cat heoo.txt
//清空了

< 将目录的内容给出去(输入重定向)

echo 本来是从键盘读入,可以用<来对文件读入

复制代码
ubuntu@VM-0-2-ubuntu:~/lesson3$ echo < test.cpp

//读了,只是为空

6.设备文件的存放地址

一般存在:/dev/pts

复制代码
ubuntu@VM-0-2-ubuntu:~/lesson3$ ll /dev/pts
total 0
drwxr-xr-x  2 root   root      0 Mar 19 12:27 ./
drwxr-xr-x 19 root   root   3960 Mar 19 12:27 ../
crw--w----  1 ubuntu tty  136, 0 Mar 21 16:13 0
crw--w----  1 ubuntu tty  136, 1 Mar 21 18:17 1
c---------  1 root   root   5, 2 Mar 19 12:27 ptmx

c是字符文件。0,1是终端,也就是用户和管理员,这里说明了终端的本质也是一个文件。

linux下的文件类型

-:普通文件

a:字符文件(键盘等硬件)(名字原因:输入的数据有顺序性)

b:块设备文件(磁盘)

i:连接文件

p:管道文件

linux系统不关心文件后缀,但在内部调用工具,这个工具在不在乎后缀是不知道的。

7.mv剪切文件

普通文件或目录都可以剪切

复制代码
ubuntu@VM-0-2-ubuntu:~/lesson3$ mv gal_love /home/ubuntu/lesson2
ubuntu@VM-0-2-ubuntu:~/lesson3$ ls /home/ubuntu/lesson2
a  gal1  gal.love  gal_love  lesson2  love  lovegalgame  test.bpp  test.cpp  test.vpp
//gal_love中有文件的

mv还可以用于重命名

复制代码
ubuntu@VM-0-2-ubuntu:~/lesson2$ ls
a  gal1  gal.love  gal_love  lesson2  love  lovegalgame  test.bpp  test.cpp  test.vpp
ubuntu@VM-0-2-ubuntu:~/lesson2$ mv gal_love gal_very_love
ubuntu@VM-0-2-ubuntu:~/lesson2$ ls
a  gal1  gal.love  gal_very_love  lesson2  love  lovegalgame  test.bpp  test.cpp  test.vpp

后面的文件不存在时就是重命名,是目录就剪切进去,是普通文件且同目录下没有相同名字是就是重命名,否就error。

8.日志

/var/log/messages就是日志说在的地方

cat 可以打印,more也可以,但他只能用于下翻,less也可以还支持上翻。

| 这个叫管道,两边都是指令,可以将左侧命令的结果给右边的命令(后续细讲)

9.date

查时间的。

复制代码
ubuntu@VM-0-2-ubuntu:~/lesson2$ date
Sat Mar 21 06:40:58 PM CST 2026

10.查找

which 去指定目录下查找指令。

whereis 在系统指定路径下查找指令的路径。

find 自己定义查找路径的起始点查找文件并打印路径。(不演示因为查找过程也打印了)

find /开始的路径 要找的文件名

相关推荐
claider2 小时前
Vim User Manual 阅读笔记 usr_25.txt Editing formatted text 编辑有格式的文本
linux·笔记·vim
AC赳赳老秦2 小时前
使用OpenClaw tavily-search技能高效撰写工作报告:以人工智能在医疗行业的应用为例
运维·人工智能·python·flask·自动化·deepseek·openclaw
yiwenrong2 小时前
系统初始化
linux
逸Y 仙X2 小时前
文章八:ElasticSearch特殊数据字段类型解读
java·大数据·linux·运维·elasticsearch·搜索引擎
脱脱克克2 小时前
云端 OpenClaw 远程执行本地进程原理机制详解:Gateway、approvals 与 system.run 到底谁在判定、谁在执行?
linux·gateway·openclaw
行者..................2 小时前
第2课:恢复出厂、掌握 Linux 基础命令并完成首次 GCC 编译
linux·qt·driver
竹之却2 小时前
国内外主流大模型全面解析(2026版)
服务器·大模型·国内外主流大模型·openclaw·云养虾
源远流长jerry2 小时前
RDMA Memory Region (MR) 机制详解:地址转换与内存保护
linux·服务器·网络·tcp/ip·架构·mr
c++逐梦人2 小时前
Linux进程信号
linux·服务器