【端午作业6.24】c高级

整理grep、find、cut、tar、apt-get、dpkg、ln、ln-s指令

  1. grep 查找字符串
    grep 字符串 文件名
    -w:按单词查找
    -R:实现递归查找,主要用于路径是目录的情况
    -i:不区分大小写
    -n:显示行号

  2. find
    find 查找的路径 -name 文件名 ----->在指定路径下,以文件名为条件查找文件
    find -name 文件名 ----->在当前路径下,查找文件
    find -name *.c ---->find可以进行模糊查找,不建议使用

  3. cut 截取字符串
    cut -d “分隔符” -f “域” 文件名
    分隔符:要截取的内容以什么作为分隔
    域:截分隔后的哪一块
    -f后面可以跟的格式
    “3”,“3,4”,“3-5”

  4. tar 归档/打包和拆包 tar
    归档/打包和拆包后,源文件仍然存在
    打包:就是把多个文件合并成一个文件
    tar -cvf 打包后的文件名.tar 打包的文件
    -v:显示指令执行的过程
    -c:实现打包功能的
    -f:file -f参数后面一定要跟文件名
    打包并压缩
    tar -cvjf 文件名.tar.bz2 要归档压缩的文件
    tar -cvJf 文件名.tar.xz 要归档压缩的文件
    tar -cvzf 文件名.tar.gz 要归档压缩的文件
    压缩工具的参数和文件的后缀,必须严格对应,如果不对应,不会报错,但是生成的不是压缩包
    拆包和解压缩
    tar -xvf 要拆包的文件名 ---->万能的拆包解压缩指令,既能完成拆包,也能解压缩
    -x:拆包和解压缩

  5. apt-get
    sudo apt-get install 软件名 安装软件,权限不够加sudo
    sudo apt-get remove 软件名 不完全卸载,不删除配置文件
    sudo apt-get remove --purge 软件名 完全卸载,包括配置文件
    sudo apt-get download 软件名 下载软件包但不安装
    sudo apt-get source 软件名 下载源码
    sudo apt-get clean 清空默认下载位置的安装包

  6. dpkg 离线安装软件
    离线安装不会检查依赖,也不会安装依赖软件
    sudo dpkg -i 软件包名 安装软件,要求:执行指令的路径下,一定有软件包
    sudo dpkg -r 软件名 不完全卸载
    sudo dpkg -P 软件名 完全卸载
    sudo dpkg -l 软件名 查看软件的安装列表
    sudo dpkg -L 软件名 查看软件的安装路径

  7. ln 创建硬链接文件
    ln 被链接文件的路径 创建的硬链接文件的路径
    1、硬链接文件和源文件有相同的inode号(ls -i)
    #inode号,表示文件存储的扇区,有相同的inode号意味着占用同一片空间,硬链接文件是源文件的别名/保存了一个副本
    2、硬链接文件的修改会影响到源文件,源文件的修改也会影响硬链接文件
    3、ls显示的文件的描述信息中链接文件的个数,指的是硬链接文件的个数
    4、只有硬链接文件个数为0时,文件才被删除

  8. ln -s 创建软链接文件
    ln -s 被链接文件的绝对路径 软链接文件的绝对路径
    1、创建软链接文件时,使用绝对路径
    2、软链接文件可以理解为快捷方式
    3、软链接文件的文件类型是l,他不会增加文件描述中的链接文件个数
    4、软链接文件,如果源文件被删除,链接会断开,软链接文件会失效,如果重新创建一个同名的源文件,软链接文件会重新链接,并且链接到新创建的文件
    5、软链接文件的修改会影响到源文件,源文件的修改也会影响软链接文件
    6、wins下不支持软链接文件,Linux下的压缩包不要放到主机下解压

在这里插入图片描述

#include <myhead.h>
#define maxsize 1024

int main(int argc, const char *argv[])
{
	int a[maxsize][maxsize];
	int m,n;
	int max = 0;
	int res = 1;
	//输入两个整数,分别是行号和列号
	printf("请输入数组的行数 列数:");
	scanf("%d %d",&m,&n);

	//输入数组
	printf("请输入数组:");
	for(int i = 0;i<m;i++)
		for(int j = 0;j<n;j++)
			scanf("%d",&a[i][j]);
	/*//输出数组
	for(int i = 0;i<m;i++){
		for(int j = 0;j<n;j++){
			printf("%d\t",a[i][j]);
		}
		printf("\n");
	}*/
	//循环找MAX(x[i,j]),要找m*n次
	for(int i = 0;i<m;i++){
		for(int j = 0;j<n;j++){
			//求x[i,j]
			//1.a[i,j]所在列连乘
			res = 1;
			for(int k = 0;k<m;k++)
				res *= a[k][j];
			//2.连乘a[i,j]所在行
			for(int l = 0;l<n;l++)
				res *= a[i][l];
			//3.a[i,j]多乘2次 除去得到x[i,j]
			res = res/a[i][j]/a[i][j];
			//如果比max大就覆盖max
			if(res>max)
				max = res;
		}
	}
	printf("%d\n",max);
	return 0;
}

输出:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值