练习一
1. 在用户的家目录下创建 目录文件 dir1 和 普通文件file1
创建目录文件dir1
ubuntu@ubuntu:~$ cd ~ //cd ~ 切换到家目录
ubuntu@ubuntu:~$ mkdir dir1 //mkdir 创建dir1目录
ubuntu@ubuntu:~$ ls //查看dir1是否创建成功
24081C 公共的 模板 视频 图片 文档 下载 音乐 桌面 dir1 snap
创建普通文件file1
ubuntu@ubuntu:~$ touch file1 // touch 创建file1普通文件
ubuntu@ubuntu:~$ ls //查看是否创建成功
24081C 公共的 模板 视频 图片 文档 下载 音乐 桌面 dir1 file1 snap
重点:这里需要注意mkdir 用来创建目录文件,touch用于创建普通文件。
2.在家目录下给dir1目录嵌套创建 dir1/dir2/dir3/dir4/dir5
ubuntu@ubuntu:~$ cd ~ //cd 切换路径 回到家目录 ~
ubuntu@ubuntu:~$ mkdir -p dir1/dir2/dir3/dir4/dir5 //利用 mkdir -p 对其要求进行嵌套
ubuntu@ubuntu:~$ cd dir1 //切换到dir1目录
ubuntu@ubuntu:~/dir1$ tree //tree 查看dir1下的所有文件及子文件 是否嵌套成功
.
└── dir2
└── dir3
└── dir4
└── dir5
4 directories, 0 files
3.在家目录下直接一步进入到 dir4 里面
ubuntu@ubuntu:~/dir1$ cd ~ //切换到家目录
ubuntu@ubuntu:~$ cd dir1/dir2/dir3/dir4 //用cd 从家目录到dir4 中间路径由/隔开
ubuntu@ubuntu:~/dir1/dir2/dir3/dir4$
重点:找到dir4的具体路径中间的路径需要用/隔开
4.在dir4目录中将家目录下的file1 移动到上一级的dir3中
ubuntu@ubuntu:~/dir1/dir2/dir3/dir4$ mv ~/file1 ../ //mv 剪切 ~/file1 家目录下的file1
ubuntu@ubuntu:~/dir1/dir2/dir3/dir4$ tree ../ ../ 上一级目录 dir4上一级为dir3
├── dir4 通过tree ../ 查看
│ └── dir5
└── file1
2 directories, 1 file
重点:我们想要将家目录下的fiel1文件移动到dir3 我们需要先找到家目录下的file1,不然会找不到文件的状态,从而利用 mv指令剪切不了file1。
5.在dir4目录下创建一个目录文件 test
ubuntu@ubuntu:~/dir1/dir2/dir3/dir4$ touch test
ubuntu@ubuntu:~/dir1/dir2/dir3/dir4$ ls
dir5 test
ubuntu@ubuntu:~/dir1/dir2/dir3/dir4$
6.将test 复制到上一级的dir3中
ubuntu@ubuntu:~/dir1/dir2/dir3/dir4$ touch test //创建普通文件 test
ubuntu@ubuntu:~/dir1/dir2/dir3/dir4$ ls //是否创建成功
dir5 test
ubuntu@ubuntu:~/dir1/dir2/dir3/dir4$ cp test ../ //cp 复制粘贴 源文件保留
ubuntu@ubuntu:~/dir1/dir2/dir3/dir4$ tree ../ // 查看 在dir3中也有 test文件
../
├── dir4
│ ├── dir5
│ └── test
├── file1
└── test
2 directories, 3 files
重点:cp指令复制粘贴后,原来的文件位置不动,内容不动。若是dir3中存在test我们将test复制过去后将覆盖原来的test文件。
7.在dir4中直接查看dir3中有哪些文件
ubuntu@ubuntu:~/dir1/dir2/dir3/dir4$ tree ../ // ../是上一级 利用tree指令 我们可以查看dir3
../ 的内容。
├── dir4
│ ├── dir5
│ └── test
├── file1
└── test
2 directories, 3 files
重点:../ 上一级 我们利用tree ../ 查看上一级的文件的内容, 这里我们也可以用ls ../ 同样可以查看
ubuntu@ubuntu:~/dir1/dir2/dir3/dir4$ ls ../
dir4 file1 test
8.在dir4中直接回到家目录 删除刚才创建的目录 dir1
ubuntu@ubuntu:~/dir1/dir2/dir3/dir4$ cd ~ //回到家目录
ubuntu@ubuntu:~$ rm -rf dir1 //利用 rm -rf 强制删除
ubuntu@ubuntu:~$ ls //查看是否删除成功
24081C 公共的 模板 视频 图片 文档 下载 音乐 桌面 snap
重点:rm -rf 指令删除是强制删除,无论目录文件下方是否有文件都会被强制删除(不询问意见)。
练习二
1. 创建目录24081C,在该目录下创建目录dir1 dir2 文件file1
ubuntu@ubuntu:~$ mkdir 24081c //创建24081c目录文件
ubuntu@ubuntu:~$ ls //查看是否成功 由于个人电脑存在问题 多的24081c 删除不了
24081c 24081C 公共的 模板 视频 图片 文档 下载 音乐 桌面 snap
ubuntu@ubuntu:~$ cd 24081c //切换到24081c路径
ubuntu@ubuntu:~/24081c$ mkdir dir1 dir2 //按要求创建 3个文件 并查看了文件是否存在
ubuntu@ubuntu:~/24081c$ ls
dir1 dir2
ubuntu@ubuntu:~/24081c$ touch file1
ubuntu@ubuntu:~/24081c$ tree
.
├── dir1
├── dir2
└── file1
2 directories, 1 file
2. 使用echo在file1中打印一首古诗【执行调整格式】
ubuntu@ubuntu:~/24081c$ echo -e "\t\t床前明月光,\n""\t\t疑是地上霜。\n""\t\t举 头望明月,\n""\t\t低头思故乡。\n" > file1 //使用 echo指令显示输出 -e 能使 \t \n 之类的转移字符现
床前明月光, 现。所以这里使用echo -e 指令 最后加的 > file1
疑是地上霜。 是将内容加入到file1中
举头望明月,
低头思故乡。
ubuntu@ubuntu:~/24081c$
重点:echo 指令:回显字符串
echo 字符串 echo '字符串' echo "字符串"
ehco后面的字符串的单引号和双引号可以不加,意义一样没有任何区别,但是为了美观和个人习惯旋转加上。
echo -e 能使 \t \n 之类的转移字符现现。所以这里使用echo -e 指令
echo -n 让字符串不独占一行
echo "字符串" > file1 将字符串追加到file1 也可以在后方加入 >> file1
echo > file1 和 echo >> file1 的区别是前者若执行多次只保留最后一次 ,而后者是一直在
3. 复制file1给file2
ubuntu@ubuntu:~/24081c$ cp file1 file2 //复制file1给file2
ubuntu@ubuntu:~/24081c$ tree //查看是否成功
.
├── dir1
├── dir2
├── file1
└── file2
2 directories, 2 files
重点:cp file1 file2 当目录下没有file2 文件 就可以直接复制 。若file2 已经存在复制的file1非file2里的内容将会是 file1 的内容,并且更新时间戳。
4. 将file1移动到dir1
ubuntu@ubuntu:~/24081c$ mv ~/24081c/file1 ~/24081c/dir1 //用mv指令移动
ubuntu@ubuntu:~/24081c$ tree //查看是否移动成功
.
├── dir1
│ └── file1
├── dir2
└── file2
2 directories, 2 files
ubuntu@ubuntu:~/24081c$
重点:两个平级移动时我们需要将每个文件的路径添加并写的正确。
5. 将file2移动到dir2
ubuntu@ubuntu:~/24081c$ tree
.
├── dir1
│ └── file1
└── dir2
└── file2
2 directories, 2 files
同上一步操作一样。
6. 在file1后面追加一行语句“我爱C语言”
7. 查看file1内容
ubuntu@ubuntu:~/24081c/dir1$ echo -e "\t\t我爱C语言。\n" >> file1
ubuntu@ubuntu:~/24081c/dir1$ cat file1
床前明月光,
疑是地上霜。
举头望明月,
低头思故乡。
我爱C语言。
ubuntu@ubuntu:~/24081c/dir1$ ^C
重点:echo "字符串" > file1 将字符串追加到file1 也可以在后方加入 >> file1
echo > file1 和 echo >> file1 的区别是前者若执行多次只保留最后一次 ,而后者是一直在。
ubuntu@ubuntu:~/24081c/dir1$ cat file1
床前明月光,
疑是地上霜。
举头望明月,
低头思故乡。
我爱C语言。
重点:cat 指令 查看文件内容
练习三
⦁ 使用gcc 程序编译生成可执行文件的步骤分为___预处理_____、___编译_____、____汇编____、___链接_____ (鲁科安全)
⦁ GCC编译器中 -S 选项完成的工作是__编译工作______ (鲁科安全)
⦁ 写出gcc分步编译的详细步骤。
xxx:某文件名 例如 file
1.预处理 gcc -E XXX.c -o XXX.i
2.编译 gcc -S XXX.i -o XXX.s
3.汇编 gcc -c XXX.s -o XXX.o
4.链接 gcc XXX.o -o exe
exe就是执行文件 只需要 输入 ./exe 就能看到输出结果
⦁ C语言的程序的入口函数是什么,请写出全称?(山东丁一)
main
⦁ 用户编写了一个文本文件a.txt,想要得到一个名为txt.a的该文件,可以使用哪些指令呢?
① echo a.txt > txt.a
② cat a.txt > txt.a
cp a.txt txt.a
mv a.txt txt.a
⦁ 分析一下#include <stdio.h>的意思
#表示:#是预处理命令, include 表示:包含 stdio.h 表示:输入输出流头文件 .h表示:头文件
整个意思就是预处理一下包含的输入输出的头文件。
include表示:包含
stdio.h表示:输入输出的头文件
<>可以改为””吗?二者的区别是什么?
可以改。
二者区别是: < > 是 直接从库文件找 /usr/include/stdio.h。"" 则是在当前目录 找/usr/include/stdio.h,找不到再去库文件找/usr/include/stdio.h。