98个 Linux 常用命令大全(下)-林小屋博客

                     本文是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文件

 

87  ifconfig [网络设备] [参数] | 查看和配置网络设备

 

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 以指定用户执行命令