Skip to content

Commit d6c3e6d

Browse files
committed
📝 Writing docs.
1 parent 426e34d commit d6c3e6d

10 files changed

Lines changed: 559 additions & 1768 deletions

docs/linux/README.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,10 @@
1616
- [linux 常用命令-文件权限属性设置](commands/文件目录管理/文件权限属性设置.md)
1717
- [linux 常用命令-文件查找和比较](commands/文件目录管理/文件查找和比较.md)
1818
- [linux 常用命令-目录基本操作](commands/文件目录管理/目录基本操作.md)
19-
- [linux 常用命令-系统管理](commands/系统管理/README.md)
20-
- [linux 常用命令-系统操作](commands/系统管理/系统操作.md)
21-
- [linux 常用命令-系统设置](commands/系统管理/系统设置.md)
22-
- [linux 常用命令-用户和工作组管理](commands/系统管理/用户和工作组管理.md)
23-
- [linux 常用命令-进程和作业管理](commands/系统管理/进程和作业管理.md)
24-
- [linux 常用命令-系统性能管理](commands/系统管理/系统性能管理.md)
19+
- [Linux 用户管理命令](commands/Linux用户管理命令.md) - 关键词:`groupadd`, `groupdel`, `groupmod`, `useradd`, `userdel`, `usermod`, `passwd`, `su`, `sudo`
20+
- [Linux 系统管理命令](commands/Linux系统管理命令.md) - 关键词:`reboot`, `exit`, `shutdown`, `date`, `mount`, `umount`
21+
- [Linux 性能管理命令](commands/Linux性能管理命令.md) - 关键词:`df`, `du`, `top`, `free`, `iotop`
22+
- [linux 常用命令-进程和作业管理](commands/进程和作业管理.md)
2523
- [Linux 网络应用命令](commands/Linux网络应用命令.md) - 关键词:`curl`, `wget`, `telnet`, `ip`, `hostname`, `ifconfig`, `route`, `ssh`, `ssh-keygen`, `iptables`
2624
- [Linux 网络测试命令](commands/Linux网络测试命令.md) - 关键词:`host`, `nslookup`, `nc`/`netcat`, `dig`, `ping`, `traceroute`, `netstat`
2725
- [yum 命令](yum.md)
@@ -32,3 +30,4 @@
3230
- [awesome-linux-software](https://github.com/LewisVo/Awesome-Linux-Software)
3331
- [linux-tutorial](https://github.com/judasn/Linux-Tutorial)
3432
- [菜鸟教程-Linux](http://www.runoob.com/linux/linux-tutorial.html)
33+
- [Linux Tools Quick Tutorial](https://linuxtools-rst.readthedocs.io/zh_CN/latest/base/index.html)
Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
1+
---
2+
title: Linux 性能管理命令
3+
date: 2018/02/27
4+
categories:
5+
- linux
6+
tags:
7+
- linux
8+
- command
9+
---
10+
11+
# Linux 性能管理命令
12+
13+
> 关键词:`df`, `du`, `top`, `free`, `iotop`
14+
15+
<!-- TOC depthFrom:2 depthTo:2 -->
16+
17+
- [df](#df)
18+
- [du](#du)
19+
- [top](#top)
20+
- [free](#free)
21+
- [iotop](#iotop)
22+
23+
<!-- /TOC -->
24+
25+
## df
26+
27+
> df 命令用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为 KB。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
28+
>
29+
> 参考:http://man.linuxde.net/df
30+
31+
示例:
32+
33+
```sh
34+
# 查看系统磁盘设备,默认是 KB 为单位
35+
[root@LinServ-1 ~]# df
36+
文件系统 1K-块 已用 可用 已用% 挂载点
37+
/dev/sda2 146294492 28244432 110498708 21% /
38+
/dev/sda1 1019208 62360 904240 7% /boot
39+
tmpfs 1032204 0 1032204 0% /dev/shm
40+
/dev/sdb1 2884284108 218826068 2518944764 8% /data1
41+
42+
# 使用 -h 选项以 KB 以上的单位来显示,可读性高
43+
[root@LinServ-1 ~]# df -h
44+
文件系统 容量 已用 可用 已用% 挂载点
45+
/dev/sda2 140G 27G 106G 21% /
46+
/dev/sda1 996M 61M 884M 7% /boot
47+
tmpfs 1009M 0 1009M 0% /dev/shm
48+
/dev/sdb1 2.7T 209G 2.4T 8% /data1
49+
50+
# 查看全部文件系统
51+
[root@LinServ-1 ~]# df -a
52+
文件系统 1K-块 已用 可用 已用% 挂载点
53+
/dev/sda2 146294492 28244432 110498708 21% /
54+
proc 0 0 0 - /proc
55+
sysfs 0 0 0 - /sys
56+
devpts 0 0 0 - /dev/pts
57+
/dev/sda1 1019208 62360 904240 7% /boot
58+
tmpfs 1032204 0 1032204 0% /dev/shm
59+
/dev/sdb1 2884284108 218826068 2518944764 8% /data1
60+
none 0 0 0 - /proc/sys/fs/binfmt_misc
61+
```
62+
63+
## du
64+
65+
> du 命令也是查看使用空间的,但是与 df 命令不同的是:du 命令是对文件和目录磁盘使用的空间的查看,还是和 df 命令有一些区别的。
66+
>
67+
> 参考:http://man.linuxde.net/du
68+
69+
示例:
70+
71+
```sh
72+
# 显示目录或者文件所占空间
73+
root@localhost [test]# du
74+
608 ./test6
75+
308 ./test4
76+
4 ./scf/lib
77+
4 ./scf/service/deploy/product
78+
4 ./scf/service/deploy/info
79+
12 ./scf/service/deploy
80+
16 ./scf/service
81+
4 ./scf/doc
82+
4 ./scf/bin
83+
32 ./scf
84+
8 ./test3
85+
1288 .
86+
87+
# 显示指定文件所占空间
88+
[root@localhost test]# du log2012.log
89+
300 log2012.log
90+
91+
# 查看指定目录的所占空间
92+
[root@localhost test]# du scf
93+
4 scf/lib
94+
4 scf/service/deploy/product
95+
4 scf/service/deploy/info
96+
12 scf/service/deploy
97+
16 scf/service
98+
4 scf/doc
99+
4 scf/bin
100+
32 scf
101+
102+
# 显示多个文件所占空间
103+
[root@localhost test]# du log30.tar.gz log31.tar.gz
104+
4 log30.tar.gz
105+
4 log31.tar.gz
106+
107+
# 只显示总和的大小
108+
[root@localhost test]# du -s
109+
1288 .
110+
111+
[root@localhost test]# du -s scf
112+
32 scf
113+
```
114+
115+
## top
116+
117+
> top 命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。通过 top 命令所提供的互动式界面,用热键可以管理。
118+
>
119+
> 参考:http://man.linuxde.net/top
120+
121+
## free
122+
123+
> free 命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。
124+
>
125+
> 参考:http://man.linuxde.net/free
126+
127+
示例:
128+
129+
```sh
130+
free -t # 以总和的形式显示内存的使用信息
131+
free -s 10 # 周期性的查询内存使用信息,每10s 执行一次命令
132+
133+
# 显示内存使用情况
134+
135+
free -m
136+
total used free shared buffers cached
137+
Mem: 2016 1973 42 0 163 1497
138+
-/+ buffers/cache: 312 1703
139+
Swap: 4094 0 4094
140+
```
141+
142+
## iotop
143+
144+
> iotop 命令是一个用来监视磁盘 I/O 使用状况的 top 类工具。iotop 具有与 top 相似的 UI,其中包括 PID、用户、I/O、进程等相关信息。Linux 下的 IO 统计工具如 iostat,nmon 等大多数是只能统计到 per 设备的读写情况,如果你想知道每个进程是如何使用 IO 的就比较麻烦,使用 iotop 命令可以很方便的查看。
145+
>
146+
> 参考:http://man.linuxde.net/iotop
147+
148+
示例:
149+
150+
```sh
151+
Total DISK read: 0.00 B/s | Total DISK write: 0.00 B/s
152+
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> command
153+
1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % init [3]
154+
2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]
155+
3 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/0]
156+
4 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0]
157+
5 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/0]
158+
6 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/1]
159+
7 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/1]
160+
8 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/1]
161+
9 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [events/0]
162+
10 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [events/1]
163+
11 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [khelper]
164+
2572 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [bluetooth]
165+
```
Lines changed: 193 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,193 @@
1+
---
2+
title: Linux 用户管理命令
3+
date: 2018/02/27
4+
categories:
5+
- linux
6+
tags:
7+
- linux
8+
- command
9+
---
10+
11+
# Linux 用户管理命令
12+
13+
> 关键词:`groupadd`, `groupdel`, `groupmod`, `useradd`, `userdel`, `usermod`, `passwd`, `su`, `sudo`
14+
15+
<!-- TOC depthFrom:2 depthTo:2 -->
16+
17+
- [groupadd](#groupadd)
18+
- [groupdel](#groupdel)
19+
- [groupmod](#groupmod)
20+
- [useradd](#useradd)
21+
- [userdel](#userdel)
22+
- [usermod](#usermod)
23+
- [passwd](#passwd)
24+
- [su](#su)
25+
- [sudo](#sudo)
26+
27+
<!-- /TOC -->
28+
29+
## groupadd
30+
31+
> groupadd 命令用于创建一个新的工作组,新工作组的信息将被添加到系统文件中。
32+
>
33+
> 参考:http://man.linuxde.net/groupadd
34+
35+
示例:
36+
37+
```sh
38+
# 建立一个新组,并设置组 ID 加入系统
39+
groupadd -g 344 jsdigname
40+
```
41+
42+
## groupdel
43+
44+
> groupdel 命令用于删除指定的工作组,本命令要修改的系统文件包括 `/ect/group``/ect/gshadow`。若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组。
45+
>
46+
> 参考:http://man.linuxde.net/groupdel
47+
48+
示例:
49+
50+
```sh
51+
groupadd damon # 创建damon工作组
52+
groupdel damon # 删除这个工作组
53+
```
54+
55+
## groupmod
56+
57+
> groupmod 命令更改群组识别码或名称。需要更改群组的识别码或名称时,可用 groupmod 指令来完成这项工作。
58+
>
59+
> 参考:http://man.linuxde.net/groupmod
60+
61+
## useradd
62+
63+
> useradd 命令用于 Linux 中创建的新的系统用户。useradd 可用来建立用户帐号。帐号建好之后,再用 passwd 设定帐号的密码.而可用 userdel 删除帐号。使用 useradd 指令所建立的帐号,实际上是保存在 `/etc/passwd` 文本文件中。
64+
>
65+
> 参考:http://man.linuxde.net/useradd
66+
67+
示例:
68+
69+
```sh
70+
# 新建用户加入组
71+
useradd –g sales jack –G company,employees # -g:加入主要组、-G:加入次要组
72+
73+
# 建立一个新用户账户,并设置 ID
74+
useradd caojh -u 544
75+
```
76+
77+
## userdel
78+
79+
> userdel 命令用于删除给定的用户,以及与用户相关的文件。若不加选项,则仅删除用户帐号,而不删除相关文件。
80+
>
81+
> 参考:http://man.linuxde.net/userdel
82+
83+
示例:
84+
85+
userdel 命令很简单,比如我们现在有个用户 linuxde,其家目录位于`/var`目录中,现在我们来删除这个用户:
86+
87+
```sh
88+
userdel linuxde # 删除用户linuxde,但不删除其家目录及文件;
89+
userdel -r linuxde # 删除用户linuxde,其家目录及文件一并删除;
90+
```
91+
92+
## usermod
93+
94+
> usermod 命令用于修改用户的基本信息。usermod 命令不允许你改变正在线上的使用者帐号名称。当 usermod 命令用来改变 user id,必须确认这名 user 没在电脑上执行任何程序。你需手动更改使用者的 crontab 档。也需手动更改使用者的 at 工作档。采用 NIS server 须在 server 上更动相关的 NIS 设定。
95+
>
96+
> 参考:http://man.linuxde.net/usermod
97+
98+
示例:
99+
100+
```sh
101+
# 将 newuser2 添加到组 staff 中
102+
usermod -G staff newuser2
103+
104+
# 修改 newuser 的用户名为 newuser1
105+
usermod -l newuser1 newuser
106+
107+
# 锁定账号 newuser1
108+
usermod -L newuser1
109+
110+
# 解除对 newuser1 的锁定
111+
usermod -U newuser1
112+
```
113+
114+
## passwd
115+
116+
> passwd 命令用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。
117+
>
118+
> 参考:http://man.linuxde.net/passwd
119+
120+
示例:
121+
122+
```sh
123+
# 如果是普通用户执行 passwd 只能修改自己的密码。
124+
# 如果新建用户后,要为新用户创建密码,则用 passwd 用户名,注意要以 root 用户的权限来创建。
125+
[root@localhost ~]# passwd linuxde # 更改或创建linuxde用户的密码;
126+
Changing password for user linuxde.
127+
New UNIX password: # 请输入新密码;
128+
Retype new UNIX password: # 再输入一次;
129+
passwd: all authentication tokens updated successfully. # 成功;
130+
131+
# 普通用户如果想更改自己的密码,直接运行 passwd 即可,比如当前操作的用户是 linuxde。
132+
[linuxde@localhost ~]$ passwd
133+
Changing password for user linuxde. # 更改linuxde用户的密码;
134+
(current) UNIX password: # 请输入当前密码;
135+
New UNIX password: # 请输入新密码;
136+
Retype new UNIX password: # 确认新密码;
137+
passwd: all authentication tokens updated successfully. # 更改成功;
138+
139+
# 比如我们让某个用户不能修改密码,可以用`-l`选项来锁定:
140+
[root@localhost ~]# passwd -l linuxde # 锁定用户linuxde不能更改密码;
141+
Locking password for user linuxde.
142+
passwd: Success # 锁定成功;
143+
144+
[linuxde@localhost ~]# su linuxde # 通过su切换到linuxde用户;
145+
[linuxde@localhost ~]$ passwd # linuxde来更改密码;
146+
Changing password for user linuxde.
147+
Changing password for linuxde
148+
(current) UNIX password: # 输入linuxde的当前密码;
149+
passwd: Authentication token manipulation error # 失败,不能更改密码;
150+
151+
[root@localhost ~]# passwd -d linuxde # 清除linuxde用户密码;
152+
Removing password for user linuxde.
153+
passwd: Success # 清除成功;
154+
155+
[root@localhost ~]# passwd -S linuxde # 查询linuxde用户密码状态;
156+
Empty password. # 空密码,也就是没有密码;
157+
```
158+
159+
## su
160+
161+
> su 命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。
162+
>
163+
> 参考:http://man.linuxde.net/su
164+
165+
示例:
166+
167+
```sh
168+
# 变更帐号为 root 并在执行 ls 指令后退出变回原使用者:
169+
su -c ls root
170+
171+
# 变更帐号为 root 并传入`-f`选项给新执行的 shell:
172+
su root -f
173+
174+
# 变更帐号为 test 并改变工作目录至 test 的家目录:
175+
su -test
176+
```
177+
178+
## sudo
179+
180+
> sudo 命令用来以其他身份来执行命令,预设的身份为 root。在 `/etc/sudoers` 中设置了可执行 sudo 指令的用户。若其未经授权的用户企图使用 sudo,则会发出警告的邮件给管理员。用户使用 sudo 时,必须先输入密码,之后有 5 分钟的有效期限,超过期限则必须重新输入密码。
181+
>
182+
> 参考:http://man.linuxde.net/sudo
183+
184+
示例:
185+
186+
```sh
187+
# 指定用户执行命令
188+
sudo -u userb ls -l
189+
# 列出目前的权限
190+
sudo -l
191+
# 显示sudo设置
192+
sudo -L
193+
```

0 commit comments

Comments
 (0)