Linux 查询及编辑用户及用户组
查询当前所有用户
compgen -u
查询当前所有用户组
compgen -g
添加一个用户到某个组
sudo usermod -a -G groupName userName
newgrp groupName
删除一个用户从某个组
sudo usermod -G groupName userName
newgrp groupName
用户和组对文件的权限管理参考:chown 和 chmod 管理文件权限
compgen -u
compgen -g
sudo usermod -a -G groupName userName
newgrp groupName
sudo usermod -G groupName userName
newgrp groupName
用户和组对文件的权限管理参考:chown 和 chmod 管理文件权限
安装好 openwrt 后默认有一个 root 用户,需要添加新用户也很简单,只需要在 /etc/passwd
文件最后按照格式增加一个用户即可,然后可以修改这个新用户的密码。
下面使用一条命令快速添加新用户:
grep -qw new_user /etc/passwd || echo "new_user:x:0:23333:::" >> /etc/passwd
命令先检查是否在文件中存在需要添加的用户名,如果不存在则在文件最后一行添加用户。
其中 new_user 是用户名,0 是 uid,23333 是 gid。
如果需要修改这个新用户的密码,执行命令即可:
passwd new_user
以上就是创建新用户简单方法。
执行下面命令即可获取本地网关所有的 ip 段地址:
$ ip address | grep -w inet | awk '{print $2}'
127.0.0.1/8
192.168.122.2/24
172.18.0.1/16
172.17.0.1/16
172.19.0.1/16
一般系统默认创建的都是指向某个文件绝对路径的快捷方式,如果移动原始文件位置后,快捷方式就失效了。
可以自己修改快捷方式的属性来建立一个以快捷方式所在地址为准的指向一个相对路径的文件。这样适用于需要同时移动原始文件与快捷方式的情况。
首先右键创建一个文件的快捷方式,然后右键选择快捷方式的属性,将目标位置地址改为:explorer.exe path/to/file.exe
。注意 explorer.exe 后面的空格:
后面的路径就是相对于快捷方式地址的相对路径。
确认后默认快捷方式图标会变成资源管理器的图标,可以在属性里修改为其他图标。
enum 类型的 dut 可以定义一组属性及其值,调用的时候可以方便的通过写其属性名称得到属性的值,也可以获取到属性本身的名称。
下面举一个例子说明:
{attribute 'qualified_only'} // 必须先写类型名称再写属性名称 (例如 eColor.Red)
// {attribute 'strict'} //取消 'strict' 以允许转换 UDINT 数据类型
{attribute 'to_string'} // 运行字符串转换 (例如 TO_STRING(eColor.Red) = 'Red')
TYPE eColor :
(
Red := 16#FFFF0000,
Green := 16#FF00FF00,
Blue := 16#FF0000FF
Yellow := 16#FFFFFF00,
) UDINT; // 声明 UDINT 作为 int 整形类型
END_TYPE
// 定义一些变量
ColorVar1 : eColor;
ColorVar2 : eColor;
ColorName : STRING;
ColorValue : UDINT;
ColorVar1 := eColor.Green; // ColorVar1 = 16#FF00FF00
ColorName := TO_STRING(ColorVar1); // ColorName = 'Green';
ColorValue := TO_UDINT(ColorVar1); // ColorValue = 16#FF00FF00
ColorVar2 := 16#FF00FF00; // ColorVar2.Green
ColorName := TO_STRING(ColorVar2); // ColorName = 'Green';
ColorValue := TO_UDINT(ColorVar2); // ColorValue = 16#FF00FF00
ColorVar1 := ColorVar2 OR eColor.Red; // 按位相与得到 Yellow=16#FFFFFF00
ColorName := TO_STRING(ColorVar1); // ColorName = 'Yellow';
ColorValue := TO_UDINT(ColorVar1); // ColorValue = 16#FFFFFF00
以上示例列举了常用的 enum 类型可进行的数据交互方式。
eColor.Green
可以获取enum类型属性的值,并可以赋值给其他对应 enum 实例TO_STRING(ColorVar1)
可以转换获取 enum 实例当前值对应属性名称字符串