Linux实验(二)

Ls  显示当前目录下的文件
Ls -l
Ls -a 显示所以文件包括隐藏文件
Touch hello.c 创建文件
Cat hello.c    查看文件内容
Rm hello.c    删除文件
Rm -f hello.c  强制删除文件
Cd Desktop   进入目录
Cd ..         返回上一目录
Cd /         返回根目录
Cd /home/kk  进入根目录下的home目录下的kk目录
Mkdir 0420  创建一个目录
Rmdir 0420  删除空目录
Rm -r 0420  强制删除目录
Cp hello.c 0420  拷贝文件
Cp -r mm 0420  拷贝目录
Mv hello.c  0420 剪贴文件
Mv mm  mml   重命名
Pwd    查看当前的绝对地址
Reboot 重启
Vim编译器
  按i进入插入模式
  按esc进入命令模式
  按shift 和:  进入低行模式
  W保存,q退出,q!强制退出
Gcc 预处理(也称预编译,Preprocessing)、编译(Compilation)、汇编 (Assembly)和连接(Linking)。
  gcc -E test.c -o test.i 或 gcc -E test.c   进行到预处理阶段
  Gcc -s test.i   进行到编译阶段
  Gcc -c test.s   进行到汇编阶段
  Gcc test.o -o test 链接其他目标文件
  ./test   执行可执行文件
Makefile
make命令运行时,须要一个 Makefile 文件,以告诉make命令须要怎么样的去编译和链接程序。
Makefile内容的核心是一系列的规则,这些规则告诉make程序要做的事以及做这件事所依赖的条件。规则的基本格式是:
target: dependency
(Tab字符)command
 target(目标): 通常是要产生的文件的名称
 dependency(依赖): 指用来输入从而产生目标的文件
 command(命令): 是make执行的动作,一个规则可以有多条命令,每个命令占一行。命令行的第一个字符是Tab。     

GDB
    GDB是GNU的调试工具,它可以跟踪被调试的程序,进行设置断点、单步执行等操作。当程序暂停执行时,可以使用命令查看程序中的变量值、CPU的寄存器值、内存的值以及函数调用栈等信息。
    被调试的应用程序在编译时最好使用-g参数将调试信息编入目标文件中:
gcc -g app.c -o app
用以下命令启动对程序app的调试:
gdb app






int reserve(int array[],int length)
{
int temp;
int left = 0;
int right = length-1;

while(left < right)
{
        temp = array[left];
        array[left] = array[right];
        array[right] = temp;
        left++;
        right--;
}

return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、 实验目的 1、 通过实验了解和熟悉Linux文件系统 2、 掌握文件操作命令 3、 了解文件与目录的默认权限,掌握文件权限的设置 4、 掌握文件的链接 、 开发工具和运行环境 1、虚拟机VMware 2、Linux操作系统 三、 实验内容 1、了解和熟悉Linux文件系统 了解Linux文件系统、文件命名文件类型和常见目录:根目录(/)、 .bin、boot、dev、etc、home、Lib、lost+found、 opt、root、 usr、mnt、proc、sbin、 tmp、 var. 2、文件操作命令: (文件和目录名自拟、自行设计实验步骤) (1) 1s: 显示目录内容 -a显示指定目录下所有的目录与文件 -1以 长格式显示文件的详细信息。 -d显示目录本身信息 i显示索引号 (2) cd:改变当前工作目录 格式: cd [目录名] cd .. 上移- -层目录(注意,需要有空格) cd 移到自己的主目录 (3) cat: 查看文件信息命令 显示文件信息:格式: cat [选项]文件名 -n输出编号 建立文件: cat>新文件名ctrl+d 合并文件: cat 文件1文件2>新文件 (4) more: 逐屏显示文件内容 格式: more 文件名 (5) cp:复制命令 格式: cp [选项] 源文件或目录目标文件或目录 同可以复制多个文件 -f 出现覆盖情况不提示 -p复制后,保持原有属性。目标文件保持原有的生成日期和inode编号 -r 复制目录及目录下的文件 普通用户并不能进行这样的操作,只能切换到root用户然后进行-r的递归复制。 (6) rm: 删除文件与目录 格式: mv [选项] 文件名或目录名 -f删除不提示 -r 删除目录及目录下的文件(常用: -rf ) (7) mv: 文件移动及改名命令 格式: mv [选项]源文件或目录 目 标文件或目录 -f覆盖文件 不提示 (8) grep: 文件信息检索命令 格式: grep [选项]字符串 [文件 ... ] -i 不区分大小写 (9) sort: 排序命令 格式: sort [选项][文件列表] (10) mkdir 创建目录命令 格式: mkdir [选项] [目录名] 可以同创建多个目录 p :递归创建目录 -m:创建目录的候赋予权限 (11) rmdir删除“空”目录命令 格式: rmdir [选项] [目录名] 注意:目录为空才能删除;否则需采用rm - r来删除。 p :递归删除目录,删除子目录,其父目录为空,也同删除3、文件权限的设置: (文件和目录名自拟、自行设计实验步骤) 文件的属主与属组 (1) chown [选项] [所有者][:[组]] 文件列表 更改每个文件的所有者和/或所属组。 字母模式形式即“用户对象操作符号操作权限”,其命令格式为:(2) chmod [选项]模式[,模式]文件名 +:添加-:取消=:赋予并取消其他所有 数字形式即由三位八进制数字组成,其命令格式为: chmod八进制模式 文件文件的特殊权限: SUID、 SGID 和Sticky 4、文件的链接: (文件和目录名自拟、自行设计实验步骤) (1)硬链接:不带选项,ln命令创建硬链接。在另外的目录或本目录中增加目标文件的一个目录项,一个文件就登记在多个目录中 1n源文件目标文件 (2)软链接(符号链接):用“1n -s”命令建立符号链接,最好源文件用绝对路径名,这样可以在任何工作目录下进行符号链接。类似于Windows系统中的快捷方式。 In -s源文件目标文件
### 回答1: Linux实验进程管理主要涉及到进程的创建、终止、查看和管理等方面。在Linux系统中,进程是操作系统中最基本的执行单元,它是程序在执行过程中的一个实例。通过进程管理,我们可以控制和管理系统中的各个进程,从而保证系统的稳定性和安全性。 在Linux系统中,我们可以使用命令行工具来进行进程管理。其中,常用的命令包括ps、kill、top、nice等。通过这些命令,我们可以查看系统中正在运行的进程、终止指定的进程、调整进程的优先级等。 此外,Linux系统还提供了一些图形化的进程管理工具,如System Monitor、htop等。这些工具可以更直观地显示系统中的进程信息,并提供更丰富的操作选项。 总之,进程管理是Linux系统中非常重要的一部分,它对于系统的稳定性和安全性具有重要的影响。掌握进程管理的基本原理和常用命令,可以帮助我们更好地管理和维护Linux系统。 ### 回答2: Linux实验进程管理主要涉及了进程的创建、运行、退出等基本操作。在Linux系统中,进程是系统资源调度的基本单位,也是程序运行的基本单位。因此,在Linux操作系统中,对于进程管理的实现显得十分重要。 在实验中,我们学习了如何通过编程的方式进行进程的创建。首先,我们需要使用fork()函数来创建新的进程。这个函数会在调用的进程内部生成一个子进程,子进程会与父进程共享代码、数据、文件等资源,并且这两个进程的运行是相对独立的。在子进程中可以使用exec()函数来加载新的程序,从而实现一个新的进程。在实验中,我们尝试了几种不同的fork()和exec()函数的组合方式,例如:子进程执行一个程序,子进程替换成另一个程序等。这些不同的方式可以更加灵活地控制进程的创建和运行。 其次,我们学习了如何使用信号来管理进程。在Linux系统中,信号是一种异步的通知机制,它可以在运行中的进程之间进行通信,例如进程的退出通知等。我们使用signal()函数来安装信号处理程序,这个处理程序会在特定的信号到来执行。例如,我们尝试了在子进程中安装SIGINT信号处理程序,当在终端输入Ctrl+C,子进程会捕获到这个信号并调用处理程序。 另外,我们学习了如何使用管道来进行进程间通信。在Linux系统中,管道是进程间通信的一种常用方式。我们使用pipe()函数来创建管道,然后使用fork()函数创建子进程和父进程,两个进程之间可以通过管道来传输数据。在实验中,我们使用管道来实现父进程向子进程发送数据的过程,这个过程需要通过write()函数写入数据到管道中,子进程可以通过read()函数来读取管道中的数据。 综上所述,实验进程管理是一个非常实用的实验,我们通过实验学习了进程的创建、运行、退出等基本操作,学会了如何使用信号和管道进行进程通信,掌握了进程管理中一些常用的技巧和方法,这些技能对于我们后续的Linux系统学习和工作都是非常有帮助的。 ### 回答3: Linux实验进程管理是计算机操作系统课程中的一项实验任务,主要涉及如何创建、管理和控制进程。本实验要求学生在Linux操作系统下使用命令行工具,通过编写和运行C程序来实现进程的创建和管理。 在Linux中,进程是操作系统的基本单位,每个进程都拥有自己的资源和内存空间。管理进程的操作可以通过Linux系统内核提供的一系列命令和系统调用来完成。常用的进程管理命令包括ps、kill、top等,它们可以帮助用户查看进程列表、杀死进程或者查看进程的状态。 本实验要求使用C语言编写程序并通过命令行编译执行。首先要实现进程的创建,通过fork系统调用可以创建一个子进程。父进程调用fork会返回子进程的pid,而子进程返回0,可以通过判断返回值来确定当前程序是父进程还是子进程。子进程可以调用exec系统调用来执行其他程序,从而实现进程间的交互和通信。 在进程管理中,还需要对进程进行调度和控制。可以通过信号来控制进程的行为,kill命令可以向指定进程发送不同的信号,例如SIGTERM信号可以结束进程,SIGINT信号可以停止进程。另外还可以使用nice命令来调整进程的优先级,通过top命令可以查看进程的状态和占用的系统资源。 总的来说,Linux实验进程管理是一项非常重要的实验任务,通过学习和实践可以帮助学生更深入地理解进程管理的原理和技术,为以后的系统管理和开发打下坚实的基础。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值