其他

github信息查看

https://api.github.com/users/名字

命令行编译

假设项目结构如下:

project_folder/
    src/
        file1.c
        file2.c
    include/
        header.h

编译命令

gcc -c -I../include file1.c -o file1.o
gcc -c -I../include file2.c -o file2.o
gcc file1.o file2.o -o my_executable

对拍

https://www.cnblogs.com/EdisonBa/p/13509379.html 一段出题代码

#include<bits/stdc++.h>
using namespace std;
const int N=100000;
int main()
{
	srand(time(NULL));
	int T=10;
	for(int i=1;i<=10;i++){
		string output_file=to_string(i)+".in";
		freopen(output_file.c_str(),"w",stdout);
		int n,m;
//		if(i<=3)
//			n=10,m=((rand()<<15)+rand())%(n*n)+1;
		n=1000,m=((rand()<<15)+rand())%(5*n)+1;
//		else n=100000,m=((rand()<<15)+rand())%N+1;
		printf("%d %d\n",n,m);
		for(int i=0;i<m;i++){
			int x=((rand()<<15)+rand())%n+1;
			int y=((rand()<<15)+rand())%n+1;
			printf("%d %d",x,y);
			if(i==m-1);
			else printf("\n");
		}
	}
	return 0;
}

linux命令

  1. 用户
adduser -M -d /dev/null -s /sbin/nologin testuser

adduser:这是添加新用户的命令。

-M:不为用户创建主目录。这意味着在添加用户时,不会在默认的 /home 目录下创建 testuser 的主目录。

-d /dev/null:指定用户的主目录为 /dev/null。由于 /dev/null 是一个特殊的设备文件,可以丢弃所有写入它的数据,这意味着 testuser 没有实际的主目录。

-s /sbin/nologin:指定用户的登录 shell 为 /sbin/nologin。这会阻止用户通过常规方式登录到系统。尝试登录时,系统会显示一条信息,表明登录被禁止。

testuser:这是要添加的用户的用户名。

adduser -d /home/user01 -m user01

-m:创建用户的主目录。如果指定的主目录不存在,-m 选项将创建它。

 tail -n 1 /etc/passwd
passwd -l user01 命令用于锁定用户账号 user01。以下是该命令的详细解释:

-l:表示锁定用户账号(lock)。 user01:!$6$abcdefgh$wqe7r8yK3QH.DRTfEr1:19000:0:99999:7::: /etc/passwd最后一行会多一个感叹号

passwd -u user01 # 解除锁定
usermod -l user02 user01 # 修改用户名,更改用户名不会自动更改用户的主目录名称。若要同时更改用户的主目录名称,需要使用 -d 选项
usermod -l user02 -d /home/user02 -m user01
groupadd student 
# 组名:密码:组ID:组成员
# developers:x:1001:alice,bob,charlie
tail -n 1 /etc/group
useradd -g student -G developers,wheel user02
# 这个命令会创建一个名为 user02 的新用户,默认组(初始组)为 student,并且还属于 developers 和 wheel 这两个附加组。
gpasswd student
gpasswd -d user02 student
usermod -a -G developers,admins user02 # 将现有用户添加到一个或多个附加组中,并且保留用户之前所属的组。如果不使用 -a 选项,用户将被从原有的附加组中删除,只保留在新指定的附加组中。

/etc/passwd
用户名:密码:UID:GID:用户信息:主目录:登录 shell
user01:x:1001:1001::/home/user01:/bin/bash

/etc/shadow
用户名:密码:上次更改日期:最小间隔天数:最大间隔天数:警告天数:禁用天数:账号过期日期:保留字段
user01:$6$abcdefg$….:19000:0:99999:7:::

所有用户对passwd文件均可读取,只有root用户对shadow文件可读,因此密码存放在shadow文件中更安全。

/etc/group 组名:密码:组ID:组成员 root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4:syslog users:x:100:alice,bob,charlie developers:x:101:alice,bob

/etc/gshadow 组名:组密码:管理员:组成员 root:!:root:daemon admins:!:alice,bob users::alice,bob,charlie

Licensed under CC BY-NC-SA 4.0