linux创建⽤户和⽤户组
Linux创建⽤户、⽤户组及删除
在创建⽤户时,需要为新建⽤户指定⼀⽤户组,如果不指定其⽤户所属的⼯作组,⾃动会⽣成⼀个与⽤户名同名的⼯作组。创建⽤户user1的时候指定其所属⼯作组users,例:useradd –g users user1
⼀、创建⽤户:
1、使⽤命令 useradd
例:useradd user1——创建⽤户user1
useradd –e 12/30/2009 user2——创建user2,指定有效期2009-12-30到期
⽤户的缺省UID从500向后顺序增加,500以下作为系统保留账号,可以指定UID,
例:useradd –u 600 user3
2、使⽤ passwd 命令为新建⽤户设置密码
例:passwd user1
注意:没有设置密码的⽤户不能使⽤。
3、命令 usermod 修改⽤户账户
例:将⽤户 user1的登录名改为 u1,
usermod –l u1 user1
例:将⽤户 user1 加⼊到 users组中,
usermod –g users user1
例:将⽤户 user1 ⽬录改为/users/us1
usermod –d /users/us1 user1
4、使⽤命令 userdel 删除⽤户账户
例:删除⽤户user2
userdel user2
例:删除⽤户 user3,同时删除他的⼯作⽬录
userdel –r user3
5、查看⽤户信息
id命令查看⼀个⽤户的UID和GID, 例:查看user4的id
id user4
finger命令 ——可以查看⽤户的主⽬录、启动shell、⽤户名、地址、电话等信息
例:finger user4
⼆、⽤户组:
6、命令 groupadd创建⽤户组
groupadd –g 888 users
创建⼀个组users,其GID为888
7、命令 gpasswd为组添加⽤户
只有root和组管理员能够改变组的成员:
例:把 user1加⼊users组
gpasswd –a user1 users
例:把 user1退出users组
gpasswd –d user1 users
8、命令groupmod修改组
groupmod –n user users 修改组名user为users
9、groupdel删除组
groupdel users 删除组users
查看端⼝命令:netstat -tunlp
chmod命令:
第2~10个字符当中的每3个为⼀组,左边三个字符表⽰所有者权限,中间3个字符表⽰与所有者同⼀组的⽤户的权限,右边3个字符是其他⽤户的权限。
读:4,写:2,执⾏:1。
set、env、export、declare
set ⽤来显⽰本地变量
env ⽤来显⽰环境变量
export ⽤来显⽰和设置环境变量
declare 同set
linux中shell条件判断if中的-a到-z的意思:
[ -a FILE ] 如果 FILE 存在则为真。
[ -b FILE ] 如果 FILE 存在且是⼀个块特殊⽂件则为真。
[ -c FILE ] 如果 FILE 存在且是⼀个字特殊⽂件则为真。
[ -d FILE ] 如果 FILE 存在且是⼀个⽬录则为真。
[ -e FILE ] 如果 FILE 存在则为真。
[ -f FILE ] 如果 FILE 存在且是⼀个普通⽂件则为真。
[ -g FILE ] 如果 FILE 存在且已经设置了SGID则为真。
[ -h FILE ] 如果 FILE 存在且是⼀个符号连接则为真。
[ -k FILE ] 如果 FILE 存在且已经设置了粘制位则为真。
[ -p FILE ] 如果 FILE 存在且是⼀个名字管道(F如果O)则为真。
[ -r FILE ] 如果 FILE 存在且是可读的则为真。
[ -s FILE ] 如果 FILE 存在且⼤⼩不为o则为真。
[ -t FD ] 如果⽂件描述符 FD 打开且指向⼀个终端则为真。
[ -u FILE ] 如果 FILE 存在且设置了SUID (set user ID)则为真。
[ -w FILE ] 如果 FILE 如果 FILE 存在且是可写的则为真。
[ -x FILE ] 如果 FILE 存在且是可执⾏的则为真。
[ -O FILE ] 如果 FILE 存在且属有效⽤户ID则为真。
[ -G FILE ] 如果 FILE 存在且属有效⽤户组则为真。
[ -L FILE ] 如果 FILE 存在且是⼀个符号连接则为真。
[ -N FILE ] 如果 FILE 存在 and has been mod如果ied since it was last read则为真。
[ -S FILE ] 如果 FILE 存在且是⼀个套接字则为真。
[ FILE1 -nt FILE2 ] 如果 FILE1 has been changed more recently than FILE2, or 如果 FILE1 exists and FILE2 does not则为真。
[ FILE1 -ot FILE2 ] 如果 FILE1 ⽐ FILE2 要⽼, 或者 FILE2 存在且 FILE1 不存在则为真。
[ FILE1 -ef FILE2 ] 如果 FILE1 和 FILE2 指向相同的设备和节点号则为真。
[ -o OPTIONNAME ] 如果 shell选项 “OPTIONNAME” 开启则为真。
[ -z STRING ] “STRING” 的长度为零则为真。
[ -n STRING ] or [ STRING ] “STRING” 的长度为⾮零 non-zero则为真。
[ STRING1 == STRING2 ] 如果2个字符串相同。 “=” may be used instead of “==” for strict POSIX compliance则为真。
[ STRING1 != STRING2 ] 如果字符串不相等则为真。
[ STRING1 < STRING2 ] 如果 “STRING1” sorts before “STRING2” lexicographically in the current locale则为真。
[ STRING1 > STRING2 ] 如果 “STRING1” sorts after “STRING2” lexicographically in the current locale则为真。
[ ARG1 OP ARG2 ] “OP” is one of -eq, -ne, -lt, -le, -gt or -ge. These arithmetic binary operators return true if “ARG1” is equal to, not equal to, less than, less than or equal to, greater than, or greater than or equal to “ARG2”, respectively. “ARG1” and “ARG2” are integers.
查看内存:df -h
cat /proc/cpuinfo
查看某⽬录占⽤空间命令:
# du -sh DirPath
查看cpu和内存:
# 总核数 = 物理CPU个数 X 每颗物理CPU的核数
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
# 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
# 查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq
# 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l
查看CPU信息(型号)
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
查看内存信息
# cat /proc/meminfo
⽤ 'top -i' 看看有多少进程处于 Running 状态,可能存在内存或 I/O 瓶颈,⽤ free 看看系统内存使⽤情况,swap 是否被占⽤很多,⽤ iostat 看看 I/O 负载情况...
还有⼀种办法是 ps -ef | sort -k7 ,将进程按运⾏时间排序,看哪个进程消耗的cpu时间最多。
top:
主要参数
d:指定更新的间隔,以秒计算。
q:没有任何延迟的更新。如果使⽤者有超级⽤户,则top命令将会以最⾼的优先序执⾏。
c:显⽰进程完整的路径与名称。
S:累积模式,会将⼰完成或消失的⼦⾏程的CPU时间累积起来。
s:安全模式。
i:不显⽰任何闲置(Idle)或⽆⽤(Zombie)的⾏程。
n:显⽰更新的次数,完成后将会退出to
显⽰参数:
PID(Process ID):进程标⽰号。
USER:进程所有者的⽤户名。
PR:进程的优先级别。
NI:进程的优先级别数值。
VIRT:进程占⽤的虚拟内存值。
RES:进程占⽤的物理内存值。
SHR:进程使⽤的共享内存值。
S:进程的状态,其中S表⽰休眠,R表⽰正在运⾏,Z表⽰僵死状态,N表⽰该进程优先值是负数。
%CPU:该进程占⽤的CPU使⽤率。
%MEM:该进程占⽤的物理内存和总内存的百分⽐。
TIME+:该进程启动后占⽤的总的CPU时间。
Command:进程启动的启动命令名称,如果这⼀⾏显⽰不下,进程会有⼀个完整的命令⾏。
top命令使⽤过程中,还可以使⽤⼀些交互的命令来完成其它参数的功能。这些命令是通过快捷键启动的。
<;空格>:⽴刻刷新。
P:根据CPU使⽤⼤⼩进⾏排序。
T:根据时间、累计时间排序。
q:退出top命令。
m:切换显⽰内存信息。
t:切换显⽰进程和CPU状态信息。
c:切换显⽰命令名称和完整命令⾏。
M:根据使⽤内存⼤⼩进⾏排序。
W:将当前设置写⼊~/.toprc⽂件中。这是写top配置⽂件的推荐⽅法。
free
free命令⽤来显⽰内存的使⽤情况,使⽤权限是所有⽤户。
2.格式
free [-b-k-m] [-o] [-s delay] [-t] [-V]
3.主要参数
-b -k -m:分别以字节(KB、MB)为单位显⽰内存使⽤情况。
-s delay:显⽰每隔多少秒数来显⽰⼀次内存使⽤情况。
-t:显⽰内存总和列。
-o:不显⽰缓冲区调节列。
uptime
18:59:15 up 25 min, 2 users, load average: 1.23, 1.32, 1.21
现在的时间
系统开机运转到现在经过的时间
连线的使⽤者数量
最近⼀分钟,五分钟和⼗五分钟的系统负载
参数: -V 显⽰版本资讯。
vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 1 24980 10792 8296 47316 5 19 205 52 1161 698 26 3 1 70
1 观察磁盘活动情况
磁盘活动情况主要从以下⼏个指标了解:
bi:表⽰从磁盘每秒读取的块数(blocks/s)。数字越⼤,表⽰读磁盘的活动越多。
bo:表⽰每秒写到磁盘的块数(blocks/s)。数字越⼤,表⽰写磁盘的活动越多。
wa:cpu等待磁盘I/O(未决的磁盘IO)的时间⽐例。数字越⼤,表⽰⽂件系统活动阻碍cpu的情况越
严重,因为cpu在等待慢速的磁盘系统提供数据。wa为0是最理想的。如果wa经常⼤于10,可能⽂件系统就需要进⾏性能调整了。
2 观察cpu活动情况
vmstat⽐top更能反映出cpu的使⽤情况:
us:⽤户程序使⽤cpu的时间⽐例。这个数字越⼤,表⽰⽤户进程越繁忙。
sy:系统调⽤使⽤cpu的时间⽐例。注意,NFS由于是在内核⾥⾯运⾏的,所以NFS活动所占⽤的cpu时间反映在sy⾥⾯。这个数字经常很⼤的话,就需要注意是否某个内核进程,⽐如NFS任务⽐较繁重。如果us和sy同时都⽐较⼤的话,就需要考虑将某些⽤户程序分离到另外的服务器上⾯,以免互相影响。
id:cpu空闲的时间⽐例。
wa:cpu等待未决的磁盘IO的时间⽐例。
iostat
⽤于统计CPU的使⽤情况及tty设备、硬盘和CD-ROM的I/0量
参数:
-c 只显⽰CPU⾏
-d 显⽰磁盘⾏
-k 以千字节为单位显⽰磁盘输出
-t 在输出中包括时间戳
-x 在输出中包括扩展的磁盘指标
avg-cpu: %user %nice %sys %iowait %idle
20.25 0.18 2.61 76.39 0.57
%iowait 等待本地I/O时CPU空闲时间的百分⽐
%idle 未等待本地I/O时CPU空闲时间的百分⽐
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
hda 9.86 284.34 84.48 685407 2036
每秒传输数(tps)、每秒512字节块读取数(Blk_read/s)、每秒512字节块写⼊数(Blk_wrtn/s)和512字节块读取(Blk_read)和写⼊(Blk_wrtn)的总数量。
系统
# uname -a # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue # 查看操作系统版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # 列出加载的内核模块
# env # 查看环境变量
资源
# free -m # 查看内存使⽤量和交换区使⽤量
# df -h # 查看各分区使⽤情况
# du -sh # 查看指定⽬录的⼤⼩
# grep MemTotal /proc/meminfo # 查看内存总量
# grep MemFree /proc/meminfo # 查看空闲内存量
# uptime # 查看系统运⾏时间、⽤户数、负载
# cat /proc/loadavg # 查看系统负载
磁盘和分区
# mount | column -t # 查看挂接的分区状态
# fdisk -l # 查看所有分区
# swapon -s # 查看所有交换分区
# hdparm -i /dev/hda # 查看磁盘参数(仅适⽤于IDE设备)
# dmesg | grep IDE # 查看启动时IDE设备检测状况
⽹络
# ifconfig # 查看所有⽹络接⼝的属性
# iptables -L # 查看防⽕墙设置
# route -n # 查看路由表
# netstat -lntp # 查看所有监听端⼝
# netstat -antp # 查看所有已经建⽴的连接
# netstat -s # 查看⽹络统计信息
进程
# ps -ef # 查看所有进程
# top # 实时显⽰进程状态
⽤户
# w # 查看活动⽤户
# id # 查看指定⽤户信息
# last # 查看⽤户登录⽇志
# cut -d: -f1 /etc/passwd # 查看系统所有⽤户
# cut -d: -f1 /etc/group # 查看系统所有组
# crontab -l # 查看当前⽤户的计划任务
服务
# chkconfig --list # 列出所有系统服务
# chkconfig --list | grep on # 列出所有启动的系统服务
程序
# rpm -qa # 查看所有安装的软件包
创建定时任务:
⼀、脚本:
#!/bin/sh
echo "mv the "
mv /home/zhangbin/instancesBak/newBak/* /home/zhangbin/instancesBak/lastBak/
echo "starting backup the file ..."
for dirName in `ls -l /home/zhangbin/instances/webapps/ |grep '^d'|awk '{print $8}'`
do
echo " zip $dirName"
zip -r /home/zhangbin/instancesBak/newBak/$dirName.zip /home/zhangbin/instances/webapps/$dirName/ done
⼆、添加任务:
A:vi /etc/crontab
退出grep命令添加任务
进⼊/etc/
init.d/crond restart
B:crontab -e
添加任务
crontab -l查询
三、查询定时器⽇志
tail -300f /var/spool/mail/⽤户名
或tail -300f /var/mail/⽤户名
查看进程创建时间:ps -eo pid,lstart|grep 1267
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论