本文是98个 Linux 常用命令大全(上)的下篇。
46 useradd [-u UID] [-g 初始群组] [-G 次要群组] [-c 说明栏] [-d 家
目录绝对路径] [-s shell] 使用者账号名 | 新增用户
-M 不建立用户家目录!(系统账号默认值)
-m 建立用户家目录!(一般账号默认值)
-r 建立一个系统的账号,这个账号的 UID 会有限制
-e 账号失效日期,格式为『YYYY-MM-DD』
-D 查看useradd的各项默认值
47 passwd | 修改密码
-l 使密码失效
-u 与-l相对,用户解锁
-S 列出登陆用户passwd文件内的相关参数
-n 后面接天数,shadow 的第 4 字段,多久不可修改密码天数
-x 后面接天数,shadow 的第 5 字段,多久内必须要更动密码
-w 后面接天数,shadow 的第 6 字段,密码过期前的警告天数
-i 后面接『日期』,shadow 的第 7 字段,密码失效日期
使用管道刘设置密码:echo "zeng" | passwd --stdin zenghao
48 userdel 删除用户
-r 用户文件一并删除
49 chage [-ldEImMW] 账号名 | 修改用户密码的相关属性
-l 列出该账号的详细密码参数;
-d 后面接日期,修改 shadow 第三字段(最近一次更改密码的日期),格式YYYY-MM-DD
-E 后面接日期,修改 shadow 第八字段(账号失效日),格式 YYYY-MM-DD
-I 后面接天数,修改 shadow 第七字段(密码失效日期)
-m 后面接天数,修改 shadow 第四字段(密码最短保留天数)
-M 后面接天数,修改 shadow 第五字段(密码多久需要进行变更)
-W 后面接天数,修改 shadow 第六字段(密码过期前警告日期)
50 usermod [-cdegGlsuLU] username | 修改用户的相关属性
-c 后面接账号的说明,即 /etc/passwd 第五栏的说明栏,可以加入一些账号的说明。
-d 后面接账号的家目录,即修改 /etc/passwd 的第六栏;
-e 后面接日期,格式是 YYYY-MM-DD 也就是在 /etc/shadow 内的第八个字段数据啦!
-f 后面接天数为 shadow 的第七字段。
-g 后面接初始群组,修改 /etc/passwd 的第四个字段,亦即是GID的字段!
-G 后面接次要群组,修改这个使用者能够支持的群组
-l 后面接账号名称。亦即是修改账号名称, /etc/passwd 的第一栏!
-s 后面接 Shell 的实际档案,例如 /bin/bash 或 /bin/csh 等等。
-u 后面接 UID 数字啦!即 /etc/passwd 第三栏的资料;
-L 冻结密码
-U 解冻密码
51 id [username] | 查看用户相关的id信息,还可以用来判断用户是否存在
52 groups 查看登陆用户支持的群组, 第一个输出的群组为有效群组
53 newgrp 切换有效群组
54 groupadd [-g gid] 组名 | 添加组
-g 设定添加组的特定组id
55 groupmod [-g gid] [-n group_name] 群组名 | 修改组信息
-g 修改既有的 GID 数字
-n 修改既有的组名
56 groupdel [groupname] | 删除群组
57 gpasswd | 群组管理员功能
root管理员动作:
-gpasswd groupname 设定密码
-gpasswd [-A user1,...] [-M user3,...] groupname
-A 将 groupname 的主控权交由后面的使用者管理(该群组的管理员)
-M 将某些账号加入这个群组当中
-gpasswd [-r] groupname
-r 将 groupname 的密码移除
群组管理员动作:
- gpasswd [-ad] user groupname
-a 将某位使用者加入到 groupname 这个群组当中
-d 将某位使用者移除出 groupname 这个群组当中
58 chfn修改个人信息
59 mount [-t vfstype] [-o options] device dir
-ro 采用只读方式挂接设备
-rw 采用读写方式挂接设备
eg:mount /home/mydisk.iso /tmp/mnt 通过mnt访问mydisk内的内容
60 umount 取消挂载
61 cut
-b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
-c :以字符为单位进行分割。
-d :自定义分隔符,默认为制表符。
-f :与-d一起使用,指定显示哪个区域。
62 sort
-n 依照数值的大小排序。
-o 将排序后的结果存入指定的文件。
-r 以相反的顺序来排序。
-t 指定排序时所用的栏位分隔字符。
-k 选择以哪个区间进行排序。
63 wc 统计指定文件中的字节数、字数、行数, 并将统计结果显示输出
-l filename 报告行数
-c filename 报告字节数
-m filename 报告字符数
-w filename 报告单词数
64 uniq 去除文件中相邻的重复行
清空/新建文件,将内容重定向输入进去
&> 正确、错误都重定向过去
后面追加
65 set 显示环境变量和普通变量
66 env 显示环境变量
67 export 把普通变量变成环境变量
68 unset 删除一个环境变量
aaa(){} 定义函数
69 read
-p 接提示字符
-t 接等待的秒数
70 declare、typeset
-i 声明为整数
-a 声明为数组
-f 声明为函数
-r 声明为只读
71 ulimit 限制使用者的某些系统资源
-f 此 shell 可以建立的最大档案容量 (一般可能设定为 2GB)单位为 Kbytes eg: ulimit -f 1024
限制使用者仅能建立 1MBytes 以下的容量的档案
72 df [选项] [文件] | 显示指定磁盘文件的可用空间,如果没有文件名被指定,则所有当前被挂载
的文件系统的可用空间将被显示
-a 显示全部文件系统
-h 文件大小友好显示
-l 只显示本地文件系统
-i 显示inode信息
-T 显示文件系统类型
73 du [选项] [文件] | 显示每个文件和目录的磁盘使用空间
-h 方便阅读的方式
-s 只显示总和的大小
74 ln [参数] [源文件或目录] [目标文件或目录] | 某一个文件在另外一个位置建立一个同步的链接
-s 建立软连接
-v 显示详细的处理过程
75 diff [参数] [文件1或目录1] [文件2或目录2] | 比较单个文件或者目录内容
-b 不检查空格字符的不同。
-B 不检查空白行。
-i 不检查大小写
-q 仅显示差异而不显示详细信息
eg: diff a b > parch.log 比较两个文件的不同并产生补丁
76 date [参数]… [+格式] | 显示或设定系统的日期与时间
%H 小时(以00-23来表示)。
%M 分钟(以00-59来表示)。
%P AM或PM。
%D 日期(含年月日)
%U 该年中的周数。
date -s “2015-10-17 01:01:01″ //时间设定
date +%Y%m%d //显示前天年月日
date +%Y%m%d --date="+1 day/month/year" //显示前一天/月/年的日期
date +%Y%m%d --date="-1 day/month/year" //显示后一天/月/年的日期
date -d '2 weeks' 2周后的日期
77 cal [参数] 月份] [年份] | 查看日历
-1 显示当月的月历
-3 显示前、当、后一个月的日历
-m 显示星期一为一个星期的第一天
-s (默认)星期天为第一天
-j 显示当月是一年中的第几天的日历
-y 显示当前年份的日历
78 ps | 列出当前进程的快照
a 显示所有的进程
-a 显示同一终端下的所有程序
e 显示环境变量
f 显示进程间的关系
-H 显示树状结构
r 显示当前终端的程序
T 显示当前终端的所有程序
-au 显示更详细的信息
-aux 显示所有包含其他使用者的行程
-u 指定用户的所有进程
79 top [参数] | 显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等
80 kill [参数] [进程号] | 杀死进程
81 free [参数] | 显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer
82 vmstat | 对操作系统的虚拟内存、进程、CPU活动进行监控
83 iostat [参数] [时间t] [次数n](每隔t时间刷新一次,最多刷新n次)| 对系统的磁盘操作活动
进行监视,汇报磁盘活动统计情况,同时也会汇报出CPU使用情况
-p[磁盘] 显示磁盘和分区的情况
84 watch [参数] [命令] |重复执行某一命令以观察变化
-n 时隔多少秒刷新
-d 高亮显示动态变化
85 at [参数] [时间] | 在一个指定的时间执行一个指定任务,只能执行一次
HH:MM[am|pm] + number [minutes|hours|days|weeks] 强制在某年某月某日的某时刻进行该项任务
atq 查看系统未执行的任务
atrm n 删除编号为n的任务
at -c n 显示编号为n的任务的内容
86 file 载入crontab
-e 编辑某个用户的crontab文件内容
-l 显示某个用户的crontab文件内容
-r 删除某个用户的crontab文件
87ifconfig [网络设备] [参数] | 查看和配置网络设备
88 route | 显示和操作IP路由表
89 ping [参数] [主机名或IP地址] | 测试与目标主机的连通性
-q 只显示最后的结果
90 netstat | 显示与IP、TCP、UDP和ICMP协议相关的统计数据
91 telnet [参数] [主机] | 用于远程登录,采用明文传送报文,安全性不好
92 rcp [参数] [源文件] [目标文件] | 远程文件拷贝
-r 递归复制
-p 保留源文件的属性
usage: rcp –r remote_hostname:remote_dir local_dir
93 wget [参数] [URL地址] | 直接从网络上下载文件
-o FILE 把记录写到FILE文件中 eg : wget -O a.txt URL
wget --limit-rate=300k URL 限速下载
94 awk
-F 分隔符 以分隔符分隔内容
{} 要执行的脚本内容 eg:cat /etc/passwd |awk -F ':' '{print $1"\t"$7}'
95 sed 对数据行进行替换、删除、新增、选取等操作
a 新增,在新的下一行出现
c 取代,取代 n1,n2 之间的行 eg: sed '1,2c Hi' ab
d 删除
i 插入,在新的上一行出现
96 paste 合并文件,需确保合并的两文件行数相同
-d 指定不同于空格或tab键的域分隔符
-s 按行合并,单独一个文件为一行
97 su [参数] user | 切换登陆
-l 切换时连同环境变量、工作目录一起改变
-c command 执行command变回原来的使用者
98 sudo | 以特定用户的权限执行特定命令
-l 列出当前用户可执行的命令
-u username#uid 以指定用户执行命令