首页 > 系统相关 >Linux常用命令练习二

Linux常用命令练习二

时间:2024-08-30 19:22:28浏览次数:7  
标签:dir3 dir2 file1 练习 dir4 ubuntu dir1 常用命令 Linux

目录

练习一

练习二

练习三


练习一

1.在用户的家目录下创建 目录文件 dir1 和 普通文件file1

2.在家目录下给dir1目录嵌套创建 dir1/dir2/dir3/dir4/dir5

3.在家目录下直接一步进入到 dir4 里面

4.在dir4目录中将家目录下的file1 移动到上一级的dir3中

5.在dir4目录下创建一个目录文件 test

6.将test 复制到上一级的dir3中

7.在dir4中直接查看dir3中有哪些文件

8.在dir4中直接回到家目录 删除刚才创建的目录 dir1

  • 在用户的家目录下创建 目录文件 dir1 和 普通文件file1

  • ubuntu@ubuntu:~$ mkdir dir1

    ubuntu@ubuntu:~$ touch file1

    ubuntu@ubuntu:~$ ls

在家目录下给dir1目录嵌套创建 dir1/dir2/dir3/dir4/dir5

ubuntu@ubuntu:~$ mkdir -p dir1/dir2/dir3/dir4/dir5
ubuntu@ubuntu:~$ tree dir1
dir1
└── dir2
    └── dir3
        └── dir4
            └── dir5

在家目录下直接一步进入到 dir4 里面

ubuntu@ubuntu:~$ cd dir1/dir2/dir3/dir4
ubuntu@ubuntu:~/dir1/dir2/dir3/dir4$ \

在dir4目录中将家目录下的file1 移动到上一级的dir3中

ubuntu@ubuntu:~/dir1/dir2/dir3/dir4$ mv ~/file1 ../
ubuntu@ubuntu:~/dir1/dir2/dir3/dir4$ ls ../

dir4  file1

在dir4目录下创建一个目录文件 test

ubuntu@ubuntu:~/dir1/dir2/dir3/dir4$ mkdir test
ubuntu@ubuntu:~/dir1/dir2/dir3/dir4$ ls
dir5  test

将test 复制到上一级的dir3中

ubuntu@ubuntu:~/dir1/dir2/dir3/dir4$ cp -r test ../

在dir4中直接查看dir3中有哪些文件

ubuntu@ubuntu:~/dir1/dir2/dir3/dir4$ ls ../
dir4  file1  test

在dir4中直接回到家目录 删除刚才创建的目录 dir1

ubuntu@ubuntu:~/dir1/dir2/dir3/dir4$ cd ~
ubuntu@ubuntu:~$ rm -rf dir1
ubuntu@ubuntu:~$ tree dir1
dir1 [error opening dir]

0 directories, 0 files

练习二

1.创建目录24081C,在该目录下创建目录dir1 dir2 文件file1

2.使用echo在file1中打印一首古诗【执行调整格式】

3.复制file1给file2

4.将file1移动到dir1

5.将file2移动到dir2

6.在file1后面追加一行语句“我爱C语言”

7.查看file1内容

创建目录24081C,在该目录下创建目录dir1 dir2 文件file1

ubuntu@ubuntu:~$ mkdir -p 24081C/dir1

ubuntu@ubuntu:~$ cd 24081C

ubuntu@ubuntu:~/24081C$ mkdir dir2
ubuntu@ubuntu:~/24081C$ touch file1

ubuntu@ubuntu:~/24081C$ ls
dir1  dir2  file1

使用echo在file1中打印一首古诗【执行调整格式】

ubuntu@ubuntu:~/24081C$ echo -e "\t\t\t停车坐爱枫林晚,\n\t\t\t霜叶红于二 月花" >> file1
ubuntu@ubuntu:~/24081C$ cat file1 
            停车坐爱枫林晚,
            霜叶红于二月花

复制file1给file2

ubuntu@ubuntu:~/24081C$ cp file1 file2
ubuntu@ubuntu:~/24081C$ ls
dir1  dir2  file1  file2
ubuntu@ubuntu:~/24081C$ cat file2
            停车坐爱枫林晚,
            霜叶红于二月花

将file2移动到dir2

ubuntu@ubuntu:~/24081C$ mv file2 dir2
ubuntu@ubuntu:~/24081C$ ls
dir1  dir2  file1
ubuntu@ubuntu:~/24081C$ cd dir2
ubuntu@ubuntu:~/24081C/dir2$ ls
file2

在file1后面追加一行语句“我爱C语言”

ubuntu@ubuntu:~/24081C$ echo "我爱C语言" >>file1

查看file1内容

ubuntu@ubuntu:~/24081C$ cat file1 
            停车坐爱枫林晚,
            霜叶红于二月花
我爱C语言

练习三

1.使用gcc 程序编译生成可执行文件的步骤分为________、________、________、________ 。

预处理、编译、汇编、链接

2.GCC编译器中 -S 选项完成的工作是________ 。

编译

3写出gcc分步编译的详细步骤。

gcc分为四个步骤:预处理,编译,汇编和链接

  1. 预处理(Preprocessing)

    • 调用预处理器(cpp),处理C源代码中的预处理指令,如宏定义(#define)、条件编译指令(#ifdef, #ifndef, #endif等)、文件包含(#include)等。
    • 展开所有被#include指令包含的头文件,并进行宏替换,即将宏变量替换成具体的数值或表达式。
    • 去除源代码中的所有注释。
    • 预处理完成后,生成一个预处理后的文件(通常以.i为后缀)。例如,使用命令gcc -E hello.c -o hello.i来生成预处理文件hello.i。
  2. 编译(Compilation)

    • 调用编译器(cc1),检查预处理后的代码是否符合C语言的语法规则。
    • 将C代码转换成汇编语言代码。如果只想生成汇编代码而不进行后续的汇编和链接,可以使用-S选项,如gcc -S hello.i -o hello.s
    • 生成的汇编代码文件(通常以.s为后缀)包含了程序的汇编指令。
  3. 汇编(Assembly)

    • 调用汇编器(as),将汇编语言代码转换成机器码(即二进制代码)。
    • 将汇编文件转换成目标文件(object file),这些文件包含了程序的目标代码(通常以.o为后缀)。例如,使用命令gcc -c hello.s -o hello.o来生成目标文件hello.o。
  4. 链接(Linking)

    • 调用链接器(ld),将程序中的目标文件以及程序需要的库文件(如标准C库libc.so.6)合并成一个可执行文件。
    • 链接过程中,链接器会解决目标文件之间的外部引用(即函数调用和变量引用),生成最终的可执行文件(在Linux下默认生成a.out,但可以使用-o选项指定输出文件名)。例如,使用命令gcc hello.o -o hello来生成可执行文件hello。

1.C语言的程序的入口函数是什么,请写出全称?(山东丁一)

int main(int argc, char *argv[]){

        return 0;

}

2.用户编写了一个文本文件a.txt,想要得到一个名为txt.a的该文件,可以使用哪些指令呢?

1.mv a.txt txt.a (a.txt会消失,变成txt.a)

2.cp a.txt txt.a    (复制,所以a.txt不会消失)

3.cat a.txt>txt.a (同时出现a.txt和txt.a)

3.分析一下#include <stdio.h>的意思

#表示:# 是一个预处理指令的标识符。

include表示:include 是预处理指令之一,用于指示预处理器在当前文件中包含(插入)另一个文件的内容。

stdio.h表示:stdio.h 是标准输入输出库的头文件,它是C语言标准库的一部分。这个头文件中定义了进行输入和输出操作的函数,比如 printfscanffopenfclose 等。

<>可以改为””吗?二者的区别是什么?

<> 直接从库文件找 /usr/include/stdio.h。

"" 先在当前目录找,找不到再去库文件找。

标签:dir3,dir2,file1,练习,dir4,ubuntu,dir1,常用命令,Linux
From: https://blog.csdn.net/qq_53841892/article/details/141724741

相关文章

  • 【Linux】开源的系统监控和故障排除工具Sysdig:用于系统监控、故障排除和安全审计,从下
    Sysdig是一个开源的系统监控和故障排除工具,可以捕获和分析系统调用,帮助你深入了解系统的运行状态。无论是开发人员、运维工程师还是安全专家,Sysdig都是进行系统监控、故障排除和安全审计的理想工具。本文将详细介绍Sysdig的安装、基本使用方法以及一些高级用法,并通过具......
  • Linux驱动(一):环境搭建及介绍
    目录前言一、硬件配置及SDK包1.硬件核心芯片2.瑞芯微原厂SDK包二、环境镜像文件的获取1.镜像文件的组成及启动流程2.获取环境所需的镜像文件2.1uboot.img2.2boot.img2.3rootfs.img2.4整体编译三、镜像文件烧录前言  自用自用自用,晚上睡觉前复盘用。当然,也......
  • Linux操作文件和文件夹的常用基础命令
    文件和文件夹的查看ls:列出当前目录中的文件和文件夹。ls-l:以长格式列出文件信息,包括权限、所有者、大小、修改时间等。ls-a:显示隐藏文件(以.开头的文件)。ls-h:以人类可读的格式显示文件大小。文件和文件夹的创建touchfilename:创建一个新的空文件。mkdirdirname:......
  • 运维系列&AI系列&Lenovo-G双系统系列(前传-装之前搜索的):Ubuntu Linux开机黑屏的永久解
    UbuntuLinux开机黑屏的永久解决办法UbuntuLinux开机黑屏的永久解决办法问题:开机之后,没有图形界面,也无法使用命令窗口界面。解决办法1解决办法2:永久解决它底下评论问题一:请问黑屏了进不去,要怎样才能输入你说的这些呢作者回答其他人回答其他人回答问题二:我是能听见进到......
  • Linux之shell脚本变量
    变量是脚本种的一种重要的属性,它可以存储值,这就大大的增加了脚本的灵活性使得脚本的应用更为广泛。自定义变量变量名=值(等号两边不能有空格)在linux内可以定义变量然后用$引用如果要在调用后面加字符之类的则可以使用${变量名}字符环境变量系统帮你定义好的变量例如US......
  • Linux 高可用仲裁设备配置
    RedHatEnterpriseLinux7.4完全支持配置作为集群的第三方设备的独立仲裁设备。它的主要用途是允许集群保持比标准仲裁规则允许更多的节点故障。建议在具有偶数节点的集群中使用仲裁设备。对于双节点群集,使用仲裁设备可以更好地决定在脑裂情况下保留哪些节点。在配置仲裁设备,......
  • Linux
    1.用户管理1.1用户管理指令增加1)增加useradduseradd选项说明-u指定用户uid-s指定命令解释器,默认是/bin/bash-M不创建家目录[root@hmk888~]#useradd-u1314-s/sbin/nologin-Mmysqlpasswd修改密码passwd选项说明--stdin非交互设......
  • Linux驱动学习之PWM
    PWM介绍他就是一个总周期不变占空比可调制的方波!PWM的基础知识占空比:有效电平/周期周期:周期不用多说,高中正弦,余弦波都学过。分辨率:最小占空比(如把周期分为10份,那分辨率就是10%)Linux下的pwmLinux内核已经集成了pwm底层部分初始化,我们所要做的就是利用他给的接口,设置......
  • Linux驱动学习之input子系统
    简介input子系统就是管理输入的子系统,和pinctrl、gpio子系统一样,都是Linux内核针对某一类设备而创建的框架。按键、鼠标、键盘、触摸屏等都属于输入设备,linux内核为此专门做了一个叫做input子系统的框架来处理输入事件。输入设备本质上还是字符设备,只是在此基础上套上了......
  • Adb 常用命令汇总
    打印依赖树:chmod+xgradlew&&./gradlew-q:app:dependencies>depend.txt查看顶层Activity信息:adbshelldumpsysactivitytop打印Log日志并过滤:adblogcat|grepcom.tencent.mm设备内文件导入MAC电脑指定路径下:adbpull/sdcard/aaa//Users/admin/Desktop卸载安......