linu命令2
命令别名
alias:例如alias cls=‘clear’ 把clear命令改别名为cls,命令别名只能在当前sheel有效,若想永久有效,只能修改配置文件
unalias:例如unalia cls,把cls命令别名去掉
命令替换:把命令中的某个命令替换为其执行结果的过程
例如:echo ‘current $(pwd)’,输出现在的目录
touch file-$(date +%F-%H-%M-%S).txt,创建实时的时间为名的文件
bash支持的引号:
··:反引号,可以命令替换
“”:双引号,可以实现变量的替换
‘’:单引号,可以实现不完整变量替换
文件名通配
*:任意长度的任意字符 例如:*.txt
?:任意单个字符 例如:?.txt
[]:指定范围内的任意单个字符 例如:[abc],[a-z],[a-zA-Z],[0-9] [abc].txt
[^]:指定任意之外的单个字符 例如:[^abc].txt
[:apace:]:表示空白字符,使用要再加[],就是[[:apace:]]
[:punct:]:表示符号字符,使用要再加[],就是[[:punct:]]
[:lower:]:表示空小写字母,使用要再加[],就是[[:lower:]]
[:upper:]:表示空大写字母,使用要再加[],就是[[:upper:]]
[:alpha:]:表示大小写字母,使用要再加[],就是[[:alpha:]]
[:alnum:]:表示空数字和字母,使用要再加[],就是[[:alnum:]]
[:digit:]:表示空数字,使用要再加[],就是[[:digit:]]
权限:
r,w,x
0 000 ---无权限
1 001 --x执行
2 010 -w-写
3 011-wx写执行
4 100 r-- 读
5 101 r-x 读执行
6 110 rw-读写
7 111 rwx读写执行
755
用户:uid /etc/passwd
passwd文件7个字段:用户名:密码:用户id(uid):组id(gid):注释:家目录:用户默认sheel
组:gid /etc/group
group文件4个字段:用户名:密码:组id:附加组的用户列表
影子口令:
用户: /etc/shadow 包含用户密码
shadow文件7个字段:用户名:加密密码:1970到上次修改密码时间:密码最短使用期限:密码最长使用期限:密码还剩多少时间就过期:密码过期到密码禁用的时间:从1970年到密码禁用的天数
组:/etc/gshadow 包含组密码
用户类型
管理员 uid=0
普通用户:1-65535
系统用户 1-499
一般用户:500-60000
用户组类别
私有组:创建用户没分配组,默认会创建与用户同名的组
基本组:用户默认组
附加组:默认组以外的其他组
useradd:添加用户 例如:useradd tom
新增用户会在/etc/passwd,/etc/shadow ,/etc/group添加各添加1行内容,是通过/etc/default/useradd文件添加的
-u:指定uid
-g:指定gid(基本组)
-G:指定附加组,可以有多个,用逗号隔开
-c ”注释“:
-d:指定家目录
-s:指定shell,一定在/etc/shell/有对应的shell
-m:创建新用户后,若没有家目录,会新建家目录,并会把etc/skel/下的所有文件复制到家目录下(.bash_logout .bashrc .profile)例如:useradd tom -u 1001 -d /home/tom -c “tom” -s /bin/bash -m tom
-M :不为用户创建家目录 目录/etc/login.defs
-r:添加系统组
userdel 用户名:删除用户,但不会删除用户家目录
-r:同时删除用户家目录
usermod 用户名:修改用户属性,和useradd使用一样
-u:指定uid
-g:指定gid(基本组)
-a -G:指定附加组,可以有多个,用逗号隔开,若不使用-a,会覆盖之前的附加组
-c ”注释“:
-d -m:指定家目录,并把之前家目录下的所有文件复制到家目录下(.bash_logout .bashrc .profile)
-s:指定shell,一定在/etc/shell/有对应的shell
-l:更改用户名
-L:禁用用户
-U:解锁用户
passwd 用户:修改用户密码
--stdin:标准输入修改密码,与管道一起用
-n:密码使用最短时间
-x:密码使用最长时间
id 用户名:显示用户名的id
-u:显示uid
-g:显示gid
-G:显示基本组和附加组的id
-u -n:显示用户名
-g -n:显示组名
-G -n:显示所有基本组和附加组的组名
finger 用户名:显示用户名的信息
chsh 用户:更改用户shell
chfn 用户:更改用户注释信息
pwck: 检测用户的完整性
passwd:添加或修改密码 例如passwd tom
groupadd:添加组 例如groupadd mygroup
-g:指定gid
-r:添加系统组
groupmod 组名:修改组信息
-g:修改gid
-n:
groupdel 组名:删除用户组
gpasswd 组名:给组加密码
newgrp 组名:暂时修改用户组,用exit退出就改回原来组名
chage:改变用户密码信息
-d:最后一次修改时间
-E:过期时间
-I:非活动时间
-m:最短使用期限
-M:最长使用期限
-W:警告时间
chown:改变文件属主,属组(只有管理员才能改)
chown tom /user1/a.txt 把文件a.txt属主改为tom用户
chown tom roug 把目录roug的属主改为tom用户
-R:把目录及目录下的文件的属主都改变
chown -R tom roug 把roug目录及目录下文件属主改为tom用户
--reference=参考文件/目录 目标文件/目录
chown --reference=/user1/roug/igi.ini /user1/t.ini 把t.ini文件的属主改为和igi.ini的属主一样
chown -R tom2:tom2 /user1/roug把roug目录下的属组,属主都改为tom2
chgrp:改变文件权限/改变文件属组(只有管理员才能改)
chgrp tom /user/a.txt 把a.txt文件属组改为tom
chgrp tom roug把roug目录属组改为tom
-R:把目录及目录下文件属组改变
chgrp -R tom roug把roug目录及目录下文件属组改为tom
--reference=参考文件/目录 目标文件/目录
chgrp --reference=/user1/roug/igi.ini /user1/t.ini把t.ini文件的属组改为和igi.ini的属主一样
chmod:修改文件权限
修改三类用户权限
chmod 755 a.txt 把a.txt文件权限改为755
chmod -R 755 aoug 把目录及目录下文件权限改为755
修改某类用户或某些类用户权限
chmod u=rwx a1.txt修改a1.txt文件属主权限为rwx
chmod g=rw a1.txt修改a1.txt文件属组权限为rw
chmod o=rw a1.txt修改a1.txt文件其他组权限为rw
chmod ug=rw,o=r a2.txt修改a2.txt文件其他组权限为r,属主,属组权限为rw
修改某类用户的某些权限
chmod u-x a3.txt
chmod g+x a3.txt
chmod o+x a3.txt
chmod o-x,u+w a3.txt
umask:遮罩码
新建文件和目录权限是这样算出来的,新建目录和文件默认不能有执行权限,所以回+1
666-umash
777-umash
umask 027设置遮罩码,设置027后其他用户不能访问新建文件
bc:计算器
scale:保留小数如 echo ‘scale=2;3/4’ |bc
ibase:二进制转换十进制如 echo ‘ibase=2;111’
obase:十进制转二进制如 echo ‘obase=2;7’
openssl passwd -1 -salt “12345678”:以mh5加密方式指定杂码12345678,生成新密码
bash配置文件
全局配置
/etc/profile,/etc/profile.d/*.sh,/etc/bashrc
个人配置
/home/.bash_profile, /home/.bashrc
profile:设定环境变量,运行命令或脚本,
bashrc:设定本地变量,定义命令别名
登录式shell如何读取配置文件: /etc/profile-》/etc/profile.d/*.sh-》/home/.bash_profile-》/home/.bashrc-》/etc/bashrc
非登录式shell如何读取配置文件: /home/.bashrc-》/etc/bashrc-》/etc/profile.d/*.sh
总结:用户管理命令:useradd,usermod,userdel ,finger,passwd,chfn,chsh,change
用户组命令:groupadd,groupmod,groupdel,newgrp
权限命令:chown,chgrp,chmod,umask

浙公网安备 33010602011771号