Linux指令练习与程序练习 2024.8.30

练习一

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。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值