mirror of
https://github.com/dunwu/linux-tutorial.git
synced 2024-04-15 19:55:24 +08:00
📝 Writing docs.
This commit is contained in:
parent
a6d3a3fbf8
commit
19294bf8e0
16
README.md
16
README.md
@ -6,14 +6,12 @@
|
|||||||
|
|
||||||
- [查看 Linux 命令帮助信息](docs/linux/01.查看Linux命令帮助信息.md) - 关键词:`help`, `whatis`, `info`, `which`, `whereis`, `man`
|
- [查看 Linux 命令帮助信息](docs/linux/01.查看Linux命令帮助信息.md) - 关键词:`help`, `whatis`, `info`, `which`, `whereis`, `man`
|
||||||
- [Linux 文件目录管理](docs/linux/02.Linux文件目录管理.md) - 关键词:`cd`, `ls`, `pwd`, `mkdir`, `rmdir`, `tree`, `touch`, `ln`, `rename`, `stat`, `file`, `chmod`, `chown`, `locate`, `find`, `cp`, `mv`, `rm`
|
- [Linux 文件目录管理](docs/linux/02.Linux文件目录管理.md) - 关键词:`cd`, `ls`, `pwd`, `mkdir`, `rmdir`, `tree`, `touch`, `ln`, `rename`, `stat`, `file`, `chmod`, `chown`, `locate`, `find`, `cp`, `mv`, `rm`
|
||||||
- [Linux 文件内容查看命令](docs/linux/03.Linux文件内容查看编辑.md) - 关键词:`cat`, `head`, `tail`, `more`, `less`
|
- [Linux 文件内容查看命令](docs/linux/03.Linux文件内容查看编辑.md) - 关键词:`cat`, `head`, `tail`, `more`, `less`, `sed`, `vi`, `grep`
|
||||||
- [Linux 文件压缩与解压命令](docs/linux/Linux文件压缩与解压命令.md) - 关键词:`tar`, `gzip`, `zip`, `unzip`
|
- [Linux 文件压缩和解压](docs/linux/04.Linux文件压缩和解压.md) - 关键词:`tar`, `gzip`, `zip`, `unzip`
|
||||||
- [Linux 用户管理命令](docs/linux/Linux用户管理命令.md) - 关键词:`groupadd`, `groupdel`, `groupmod`, `useradd`, `userdel`, `usermod`, `passwd`, `su`, `sudo`
|
- [Linux 用户管理](docs/linux/05.Linux用户管理.md) - 关键词:`groupadd`, `groupdel`, `groupmod`, `useradd`, `userdel`, `usermod`, `passwd`, `su`, `sudo`
|
||||||
- [Linux 系统管理命令](docs/linux/Linux系统管理命令.md) - 关键词:`reboot`, `exit`, `shutdown`, `date`, `mount`, `umount`
|
- [Linux 系统管理](docs/linux/06.Linux系统管理.md) - 关键词:`reboot`, `exit`, `shutdown`, `date`, `mount`, `umount`, `ps`, `kill`, `systemctl`, `service`, `crontab`
|
||||||
- [Linux 性能管理命令](docs/linux/Linux性能管理命令.md) - 关键词:`df`, `du`, `top`, `free`, `iotop`
|
- [Linux 性能管理](docs/linux/07.Linux性能管理.md) - 关键词:`df`, `du`, `top`, `free`, `iotop`
|
||||||
- [Linux 进程管理命令](docs/linux/Linux进程管理命令.md) - 关键词:`ps`, `kill`, `systemctl`, `service`, `crontab`
|
- [Linux 网络应用](docs/linux/08.Linux网络应用.md) - 关键词:关键词:`curl`, `wget`, `telnet`, `ip`, `hostname`, `ifconfig`, `route`, `ssh`, `ssh-keygen`, `firewalld`, `iptables`, `host`, `nslookup`, `nc`/`netcat`, `ping`, `traceroute`, `netstat`
|
||||||
- [Linux 网络应用命令](docs/linux/Linux网络应用命令.md) - 关键词:`curl`, `wget`, `telnet`, `ip`, `hostname`, `ifconfig`, `route`, `ssh`, `ssh-keygen`, `iptables`
|
|
||||||
- [Linux 网络测试命令](docs/linux/Linux网络测试命令.md) - 关键词:`host`, `nslookup`, `nc`/`netcat`, `dig`, `ping`, `traceroute`, `netstat`
|
|
||||||
- [yum 命令](docs/linux/yum.md)
|
- [yum 命令](docs/linux/yum.md)
|
||||||
- [linux 监控](docs/linux/linux监控.md)
|
- [linux 监控](docs/linux/linux监控.md)
|
||||||
- [samba 使用详解](docs/linux/samba使用详解.md)
|
- [samba 使用详解](docs/linux/samba使用详解.md)
|
||||||
@ -23,7 +21,7 @@
|
|||||||
|
|
||||||
### [Python](docs/python.md)
|
### [Python](docs/python.md)
|
||||||
|
|
||||||
### [Vim](docs/vim/README.md)
|
### [Vim](docs/vim.md)
|
||||||
|
|
||||||
### [Git](docs/git/README.md)
|
### [Git](docs/git/README.md)
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ tags:
|
|||||||
|
|
||||||
# Linux 系统管理
|
# Linux 系统管理
|
||||||
|
|
||||||
> 关键词:`reboot`, `exit`, `shutdown`, `date`, `mount`, `umount`
|
> 关键词:`reboot`, `exit`, `shutdown`, `date`, `mount`, `umount`, `ps`, `kill`, `systemctl`, `service`, `crontab`
|
||||||
|
|
||||||
<!-- TOC depthFrom:2 depthTo:3 -->
|
<!-- TOC depthFrom:2 depthTo:3 -->
|
||||||
|
|
||||||
@ -22,6 +22,11 @@ tags:
|
|||||||
- [date](#date)
|
- [date](#date)
|
||||||
- [mount](#mount)
|
- [mount](#mount)
|
||||||
- [umount](#umount)
|
- [umount](#umount)
|
||||||
|
- [ps](#ps)
|
||||||
|
- [kill](#kill)
|
||||||
|
- [systemctl](#systemctl)
|
||||||
|
- [service](#service)
|
||||||
|
- [crontab](#crontab)
|
||||||
|
|
||||||
<!-- /TOC -->
|
<!-- /TOC -->
|
||||||
|
|
||||||
@ -33,6 +38,11 @@ tags:
|
|||||||
- 查看或设置系统时间与日期 - 使用 [date](#date)
|
- 查看或设置系统时间与日期 - 使用 [date](#date)
|
||||||
- 挂载文件系统 - 使用 [mount](#mount)
|
- 挂载文件系统 - 使用 [mount](#mount)
|
||||||
- 取消挂载文件系统 - 使用 [umount](#umount)
|
- 取消挂载文件系统 - 使用 [umount](#umount)
|
||||||
|
- 查看系统当前进程状态 - 使用 [ps](#ps)
|
||||||
|
- 删除当前正在运行的进程 - 使用 [kill](#kill)
|
||||||
|
- 启动、停止、重启、关闭、显示系统服务(Centos7),使用 [systemctl](#systemctl)
|
||||||
|
- 启动、停止、重启、关闭、显示系统服务(Centos7 以前),使用 [service](#service)
|
||||||
|
- 管理需要周期性执行的任务,使用 [crontab](#crontab)
|
||||||
|
|
||||||
## 命令常见用法
|
## 命令常见用法
|
||||||
|
|
||||||
@ -201,3 +211,171 @@ umount -v /dev/sda1
|
|||||||
umount -v /mnt/mymount/
|
umount -v /mnt/mymount/
|
||||||
/tmp/diskboot.img umounted
|
/tmp/diskboot.img umounted
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### ps
|
||||||
|
|
||||||
|
> ps 命令用于报告当前系统的进程状态。可以搭配 kill 指令随时中断、删除不必要的程序。ps 命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。
|
||||||
|
>
|
||||||
|
> 参考:http://man.linuxde.net/ps
|
||||||
|
|
||||||
|
示例:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# 按内存资源的使用量对进程进行排序
|
||||||
|
ps aux | sort -rnk 4
|
||||||
|
|
||||||
|
# 按 CPU 资源的使用量对进程进行排序
|
||||||
|
ps aux | sort -nk 3
|
||||||
|
```
|
||||||
|
|
||||||
|
### kill
|
||||||
|
|
||||||
|
> kill 命令用来删除执行中的程序或工作。kill 可将指定的信息送至程序。预设的信息为 SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用 SIGKILL(9) 信息尝试强制删除程序。程序或工作的编号可利用 ps 指令或 job 指令查看。
|
||||||
|
>
|
||||||
|
> 参考:http://man.linuxde.net/kill
|
||||||
|
|
||||||
|
示例:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# 列出所有信号名称
|
||||||
|
kill -l
|
||||||
|
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
|
||||||
|
5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE
|
||||||
|
9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
|
||||||
|
13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT
|
||||||
|
17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
|
||||||
|
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU
|
||||||
|
25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH
|
||||||
|
29) SIGIO 30) SIGPWR 31) SIGSYS 34) SIGRTMIN
|
||||||
|
35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4
|
||||||
|
39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
|
||||||
|
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12
|
||||||
|
47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14
|
||||||
|
51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10
|
||||||
|
55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6
|
||||||
|
59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
|
||||||
|
63) SIGRTMAX-1 64) SIGRTMAX
|
||||||
|
|
||||||
|
# 先用 ps 查找进程,然后用 kill 杀掉
|
||||||
|
ps -ef | grep vim
|
||||||
|
root 3268 2884 0 16:21 pts/1 00:00:00 vim install.log
|
||||||
|
root 3370 2822 0 16:21 pts/0 00:00:00 grep vim
|
||||||
|
|
||||||
|
kill 3268
|
||||||
|
kill 3268
|
||||||
|
-bash: kill: (3268) - 没有那个进程
|
||||||
|
```
|
||||||
|
|
||||||
|
### systemctl
|
||||||
|
|
||||||
|
> systemctl 命令是系统服务管理器指令,它实际上将 service 和 chkconfig 这两个命令组合到一起。
|
||||||
|
>
|
||||||
|
> 参考:http://man.linuxde.net/systemctl
|
||||||
|
|
||||||
|
示例:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# 1.启动 nfs 服务
|
||||||
|
systemctl start nfs-server.service
|
||||||
|
|
||||||
|
# 2.设置开机自启动
|
||||||
|
systemctl enable nfs-server.service
|
||||||
|
|
||||||
|
# 3.停止开机自启动
|
||||||
|
systemctl disable nfs-server.service
|
||||||
|
|
||||||
|
# 4.查看服务当前状态
|
||||||
|
systemctl status nfs-server.service
|
||||||
|
|
||||||
|
# 5.重新启动某服务
|
||||||
|
systemctl restart nfs-server.service
|
||||||
|
|
||||||
|
# 6.查看所有已启动的服务
|
||||||
|
systemctl list -units --type=service
|
||||||
|
|
||||||
|
# 7. 开启防火墙 22 端口
|
||||||
|
iptables -I INPUT -p tcp --dport 22 -j accept
|
||||||
|
|
||||||
|
# 8. 彻底关闭防火墙
|
||||||
|
sudo systemctl status firewalld.service
|
||||||
|
sudo systemctl stop firewalld.service
|
||||||
|
sudo systemctl disable firewalld.service
|
||||||
|
```
|
||||||
|
|
||||||
|
### service
|
||||||
|
|
||||||
|
> service 命令是 Redhat Linux 兼容的发行版中用来控制系统服务的实用工具,它以启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务的当前状态。
|
||||||
|
>
|
||||||
|
> 参考:http://man.linuxde.net/service
|
||||||
|
|
||||||
|
示例:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
service network status
|
||||||
|
配置设备:
|
||||||
|
lo eth0
|
||||||
|
当前的活跃设备:
|
||||||
|
lo eth0
|
||||||
|
|
||||||
|
service network restart
|
||||||
|
正在关闭接口 eth0: [ 确定 ]
|
||||||
|
关闭环回接口: [ 确定 ]
|
||||||
|
设置网络参数: [ 确定 ]
|
||||||
|
弹出环回接口: [ 确定 ]
|
||||||
|
弹出界面 eth0: [ 确定 ]
|
||||||
|
```
|
||||||
|
|
||||||
|
### crontab
|
||||||
|
|
||||||
|
> crontab 命令被用来提交和管理用户的需要周期性执行的任务,与 windows 下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动 crond 进程,crond 进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。
|
||||||
|
>
|
||||||
|
> 参考:http://man.linuxde.net/crontab
|
||||||
|
|
||||||
|
示例:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# 每 1 分钟执行一次 command
|
||||||
|
* * * * * command
|
||||||
|
|
||||||
|
# 每小时的第 3 和第 15 分钟执行
|
||||||
|
3,15 * * * * command
|
||||||
|
|
||||||
|
# 在上午 8 点到 11 点的第 3 和第 15 分钟执行
|
||||||
|
3,15 8-11 * * * command
|
||||||
|
|
||||||
|
# 每隔两天的上午 8 点到 11 点的第 3 和第 15 分钟执行
|
||||||
|
3,15 8-11 */2 * * command
|
||||||
|
|
||||||
|
# 每个星期一的上午 8 点到 11 点的第 3 和第 15 分钟执行
|
||||||
|
3,15 8-11 * * 1 command
|
||||||
|
|
||||||
|
# 每晚的 21:30 重启 smb
|
||||||
|
30 21 * * * /etc/init.d/smb restart
|
||||||
|
|
||||||
|
# 每月 1、10、22 日的 4 : 45 重启 smb
|
||||||
|
45 4 1,10,22 * * /etc/init.d/smb restart
|
||||||
|
|
||||||
|
# 每周六、周日的 1:10 重启 smb
|
||||||
|
10 1 * * 6,0 /etc/init.d/smb restart
|
||||||
|
|
||||||
|
# 每天 18 : 00 至 23 : 00 之间每隔 30 分钟重启 smb
|
||||||
|
0,30 18-23 * * * /etc/init.d/smb restart
|
||||||
|
|
||||||
|
# 每星期六的晚上 11:00 pm 重启 smb
|
||||||
|
0 23 * * 6 /etc/init.d/smb restart
|
||||||
|
|
||||||
|
# 每一小时重启 smb
|
||||||
|
* */1 * * * /etc/init.d/smb restart
|
||||||
|
|
||||||
|
# 晚上 11 点到早上 7 点之间,每隔一小时重启 smb
|
||||||
|
* 23-7/1 * * * /etc/init.d/smb restart
|
||||||
|
|
||||||
|
# 每月的 4 号与每周一到周三的 11 点重启 smb
|
||||||
|
0 11 4 * mon-wed /etc/init.d/smb restart
|
||||||
|
|
||||||
|
# 一月一号的 4 点重启 smb
|
||||||
|
0 4 1 jan * /etc/init.d/smb restart
|
||||||
|
|
||||||
|
# 每小时执行`/etc/cron.hourly`目录内的脚本
|
||||||
|
01 * * * * root run-parts /etc/cron.hourly
|
||||||
|
```
|
||||||
|
460
docs/linux/08.Linux网络应用.md
Normal file
460
docs/linux/08.Linux网络应用.md
Normal file
@ -0,0 +1,460 @@
|
|||||||
|
---
|
||||||
|
title: Linux 网络应用
|
||||||
|
date: 2018/02/27
|
||||||
|
categories:
|
||||||
|
- linux
|
||||||
|
tags:
|
||||||
|
- linux
|
||||||
|
- command
|
||||||
|
---
|
||||||
|
|
||||||
|
# Linux 网络应用
|
||||||
|
|
||||||
|
> 关键词:`curl`, `wget`, `telnet`, `ip`, `hostname`, `ifconfig`, `route`, `ssh`, `ssh-keygen`, `firewalld`, `iptables`, `host`, `nslookup`, `nc`/`netcat`, `ping`, `traceroute`, `netstat`
|
||||||
|
|
||||||
|
<!-- TOC depthFrom:2 depthTo:3 -->
|
||||||
|
|
||||||
|
- [Linux 网络应用要点](#linux-网络应用要点)
|
||||||
|
- [命令常见用法](#命令常见用法)
|
||||||
|
- [curl](#curl)
|
||||||
|
- [wget](#wget)
|
||||||
|
- [telnet](#telnet)
|
||||||
|
- [ip](#ip)
|
||||||
|
- [hostname](#hostname)
|
||||||
|
- [ifconfig](#ifconfig)
|
||||||
|
- [route](#route)
|
||||||
|
- [ssh](#ssh)
|
||||||
|
- [ssh-keygen](#ssh-keygen)
|
||||||
|
- [firewalld](#firewalld)
|
||||||
|
- [iptables](#iptables)
|
||||||
|
- [host](#host)
|
||||||
|
- [nslookup](#nslookup)
|
||||||
|
- [nc/netcat](#ncnetcat)
|
||||||
|
- [ping](#ping)
|
||||||
|
- [traceroute](#traceroute)
|
||||||
|
- [netstat](#netstat)
|
||||||
|
|
||||||
|
<!-- /TOC -->
|
||||||
|
|
||||||
|
## Linux 网络应用要点
|
||||||
|
|
||||||
|
- 下载文件 - 使用 [curl](#curl)、[wget](#wget)
|
||||||
|
- telnet 方式登录远程主机,对远程主机进行管理 - 使用 [telnet](#telnet)
|
||||||
|
- 查看或操纵 Linux 主机的路由、网络设备、策略路由和隧道 - 使用 [ip](#ip)
|
||||||
|
- 查看和设置系统的主机名 - 使用 [hostname](#hostname)
|
||||||
|
- 查看和配置 Linux 内核中网络接口的网络参数 - 使用 [ifconfig](#ifconfig)
|
||||||
|
- 查看和设置 Linux 内核中的网络路由表 - 使用 [route](#route)
|
||||||
|
- ssh 方式连接远程主机 - 使用 ssh
|
||||||
|
- 为 ssh 生成、管理和转换认证密钥 - 使用 [ssh-keygen](#ssh-keygen)
|
||||||
|
- 查看、设置防火墙(Centos7),使用 [firewalld](#firewalld)
|
||||||
|
- 查看、设置防火墙(Centos7 以前),使用 [iptables](#iptables)
|
||||||
|
- 查看域名信息 - 使用 [host](#host), [nslookup](#nslookup)
|
||||||
|
- 设置路由 - 使用 [nc/netcat](#ncnetcat)
|
||||||
|
- 测试主机之间网络是否连通 - 使用 [ping](#ping)
|
||||||
|
- 追踪数据在网络上的传输时的全部路径 - 使用 [traceroute](#traceroute)
|
||||||
|
- 查看当前工作的端口信息 - 使用 [netstat](#netstat)
|
||||||
|
|
||||||
|
## 命令常见用法
|
||||||
|
|
||||||
|
### curl
|
||||||
|
|
||||||
|
> curl 命令是一个利用 URL 规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称 curl 为下载工具。作为一款强力工具,curl 支持包括 HTTP、HTTPS、ftp 等众多协议,还支持 POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。做网页处理流程和数据检索自动化,curl 可以祝一臂之力。
|
||||||
|
>
|
||||||
|
> 参考:http://man.linuxde.net/curl
|
||||||
|
|
||||||
|
示例:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# 下载文件
|
||||||
|
$ curl http://man.linuxde.net/text.iso --silent
|
||||||
|
|
||||||
|
# 下载文件,指定下载路径,并查看进度
|
||||||
|
$ curl http://man.linuxde.net/test.iso -o filename.iso --progress
|
||||||
|
########################################## 100.0%
|
||||||
|
```
|
||||||
|
|
||||||
|
### wget
|
||||||
|
|
||||||
|
> wget 命令用来从指定的 URL 下载文件。
|
||||||
|
>
|
||||||
|
> 参考:http://man.linuxde.net/wget
|
||||||
|
|
||||||
|
示例:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# 使用 wget 下载单个文件
|
||||||
|
$ wget http://www.linuxde.net/testfile.zip
|
||||||
|
```
|
||||||
|
|
||||||
|
### telnet
|
||||||
|
|
||||||
|
> telnet 命令用于登录远程主机,对远程主机进行管理。
|
||||||
|
>
|
||||||
|
> 参考:http://man.linuxde.net/telnet
|
||||||
|
|
||||||
|
示例:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
telnet 192.168.2.10
|
||||||
|
Trying 192.168.2.10...
|
||||||
|
Connected to 192.168.2.10 (192.168.2.10).
|
||||||
|
Escape character is '^]'.
|
||||||
|
|
||||||
|
localhost (Linux release 2.6.18-274.18.1.el5 #1 SMP Thu Feb 9 12:45:44 EST 2012) (1)
|
||||||
|
|
||||||
|
login: root
|
||||||
|
Password:
|
||||||
|
Login incorrect
|
||||||
|
```
|
||||||
|
|
||||||
|
### ip
|
||||||
|
|
||||||
|
> ip 命令用来查看或操纵 Linux 主机的路由、网络设备、策略路由和隧道,是 Linux 下较新的功能强大的网络配置工具。
|
||||||
|
>
|
||||||
|
> 参考:http://man.linuxde.net/ip
|
||||||
|
|
||||||
|
示例:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
$ ip link show # 查看网络接口信息
|
||||||
|
$ ip link set eth0 upi # 开启网卡
|
||||||
|
$ ip link set eth0 down # 关闭网卡
|
||||||
|
$ ip link set eth0 promisc on # 开启网卡的混合模式
|
||||||
|
$ ip link set eth0 promisc offi # 关闭网卡的混个模式
|
||||||
|
$ ip link set eth0 txqueuelen 1200 # 设置网卡队列长度
|
||||||
|
$ ip link set eth0 mtu 1400 # 设置网卡最大传输单元
|
||||||
|
$ ip addr show # 查看网卡IP信息
|
||||||
|
$ ip addr add 192.168.0.1/24 dev eth0 # 设置eth0网卡IP地址192.168.0.1
|
||||||
|
$ ip addr del 192.168.0.1/24 dev eth0 # 删除eth0网卡IP地址
|
||||||
|
|
||||||
|
$ ip route show # 查看系统路由
|
||||||
|
$ ip route add default via 192.168.1.254 # 设置系统默认路由
|
||||||
|
$ ip route list # 查看路由信息
|
||||||
|
$ ip route add 192.168.4.0/24 via 192.168.0.254 dev eth0 # 设置192.168.4.0网段的网关为192.168.0.254,数据走eth0接口
|
||||||
|
$ ip route add default via 192.168.0.254 dev eth0 # 设置默认网关为192.168.0.254
|
||||||
|
$ ip route del 192.168.4.0/24 # 删除192.168.4.0网段的网关
|
||||||
|
$ ip route del default # 删除默认路由
|
||||||
|
$ ip route delete 192.168.1.0/24 dev eth0 # 删除路由
|
||||||
|
```
|
||||||
|
|
||||||
|
### hostname
|
||||||
|
|
||||||
|
> hostname 命令用于查看和设置系统的主机名称。环境变量 HOSTNAME 也保存了当前的主机名。在使用 hostname 命令设置主机名后,系统并不会永久保存新的主机名,重新启动机器之后还是原来的主机名。如果需要永久修改主机名,需要同时修改 `/etc/hosts` 和 `/etc/sysconfig/network` 的相关内容。
|
||||||
|
>
|
||||||
|
> 参考:http://man.linuxde.net/hostname
|
||||||
|
|
||||||
|
示例:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
$ hostname
|
||||||
|
AY1307311912260196fcZ
|
||||||
|
```
|
||||||
|
|
||||||
|
### ifconfig
|
||||||
|
|
||||||
|
> ifconfig 命令被用于查看和配置 Linux 内核中网络接口的网络参数。用 ifconfig 命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。
|
||||||
|
>
|
||||||
|
> 参考:http://man.linuxde.net/ifconfig
|
||||||
|
|
||||||
|
示例:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# 查看网络设备信息(激活状态的)
|
||||||
|
[root@localhost ~]# ifconfig
|
||||||
|
eth0 Link encap:Ethernet HWaddr 00:16:3E:00:1E:51
|
||||||
|
inet addr:10.160.7.81 Bcast:10.160.15.255 Mask:255.255.240.0
|
||||||
|
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
||||||
|
RX packets:61430830 errors:0 dropped:0 overruns:0 frame:0
|
||||||
|
TX packets:88534 errors:0 dropped:0 overruns:0 carrier:0
|
||||||
|
collisions:0 txqueuelen:1000
|
||||||
|
RX bytes:3607197869 (3.3 GiB) TX bytes:6115042 (5.8 MiB)
|
||||||
|
|
||||||
|
lo Link encap:Local Loopback
|
||||||
|
inet addr:127.0.0.1 Mask:255.0.0.0
|
||||||
|
UP LOOPBACK RUNNING MTU:16436 Metric:1
|
||||||
|
RX packets:56103 errors:0 dropped:0 overruns:0 frame:0
|
||||||
|
TX packets:56103 errors:0 dropped:0 overruns:0 carrier:0
|
||||||
|
collisions:0 txqueuelen:0
|
||||||
|
RX bytes:5079451 (4.8 MiB) TX bytes:5079451 (4.8 MiB)
|
||||||
|
```
|
||||||
|
|
||||||
|
### route
|
||||||
|
|
||||||
|
> route 命令用来查看和设置 Linux 内核中的网络路由表,route 命令设置的路由主要是静态路由。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。
|
||||||
|
>
|
||||||
|
> 参考:http://man.linuxde.net/route
|
||||||
|
|
||||||
|
示例:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# 查看当前路由
|
||||||
|
route
|
||||||
|
Kernel IP routing table
|
||||||
|
Destination Gateway Genmask Flags Metric Ref Use Iface
|
||||||
|
112.124.12.0 * 255.255.252.0 U 0 0 0 eth1
|
||||||
|
10.160.0.0 * 255.255.240.0 U 0 0 0 eth0
|
||||||
|
192.168.0.0 10.160.15.247 255.255.0.0 UG 0 0 0 eth0
|
||||||
|
172.16.0.0 10.160.15.247 255.240.0.0 UG 0 0 0 eth0
|
||||||
|
10.0.0.0 10.160.15.247 255.0.0.0 UG 0 0 0 eth0
|
||||||
|
default 112.124.15.247 0.0.0.0 UG 0 0 0 eth1
|
||||||
|
|
||||||
|
route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0 # 添加网关/设置网关
|
||||||
|
route add -net 224.0.0.0 netmask 240.0.0.0 reject # 屏蔽一条路由
|
||||||
|
route del -net 224.0.0.0 netmask 240.0.0.0 # 删除路由记录
|
||||||
|
route add default gw 192.168.120.240 # 添加默认网关
|
||||||
|
route del default gw 192.168.120.240 # 删除默认网关
|
||||||
|
```
|
||||||
|
|
||||||
|
### ssh
|
||||||
|
|
||||||
|
> ssh 命令是 openssh 套件中的客户端连接工具,可以给予 ssh 加密协议实现安全的远程登录服务器。
|
||||||
|
>
|
||||||
|
> 参考:http://man.linuxde.net/ssh
|
||||||
|
|
||||||
|
示例:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# ssh 用户名@远程服务器地址
|
||||||
|
ssh user1@172.24.210.101
|
||||||
|
# 指定端口
|
||||||
|
ssh -p 2211 root@140.206.185.170
|
||||||
|
```
|
||||||
|
|
||||||
|
引申阅读:[ssh 背后的故事](https://linux.cn/article-8476-1.html)
|
||||||
|
|
||||||
|
### ssh-keygen
|
||||||
|
|
||||||
|
> ssh-keygen 命令用于为 ssh 生成、管理和转换认证密钥,它支持 RSA 和 DSA 两种认证密钥。
|
||||||
|
>
|
||||||
|
> 参考:http://man.linuxde.net/ssh-keygen
|
||||||
|
|
||||||
|
### firewalld
|
||||||
|
|
||||||
|
> firewalld 命令是 Linux 上的防火墙软件(Centos7 默认防火墙)。
|
||||||
|
>
|
||||||
|
> 参考:https://www.cnblogs.com/moxiaoan/p/5683743.html
|
||||||
|
|
||||||
|
#### firewalld 的基本使用
|
||||||
|
|
||||||
|
- 启动 - systemctl start firewalld
|
||||||
|
- 关闭 - systemctl stop firewalld
|
||||||
|
- 查看状态 - systemctl status firewalld
|
||||||
|
- 开机禁用 - systemctl disable firewalld
|
||||||
|
- 开机启用 - systemctl enable firewalld
|
||||||
|
|
||||||
|
#### 使用 systemctl 管理 firewalld 服务
|
||||||
|
|
||||||
|
systemctl 是 CentOS7 的服务管理工具中主要的工具,它融合之前 service 和 chkconfig 的功能于一体。
|
||||||
|
|
||||||
|
- 启动一个服务 - systemctl start firewalld.service
|
||||||
|
- 关闭一个服务 - systemctl stop firewalld.service
|
||||||
|
- 重启一个服务 - systemctl restart firewalld.service
|
||||||
|
- 显示一个服务的状态 - systemctl status firewalld.service
|
||||||
|
- 在开机时启用一个服务 - systemctl enable firewalld.service
|
||||||
|
- 在开机时禁用一个服务 - systemctl disable firewalld.service
|
||||||
|
- 查看服务是否开机启动 - systemctl is-enabled firewalld.service
|
||||||
|
- 查看已启动的服务列表 - systemctl list-unit-files|grep enabled
|
||||||
|
- 查看启动失败的服务列表 - systemctl --failed
|
||||||
|
|
||||||
|
#### 配置 firewalld-cmd
|
||||||
|
|
||||||
|
- 查看版本 - firewall-cmd --version
|
||||||
|
- 查看帮助 - firewall-cmd --help
|
||||||
|
- 显示状态 - firewall-cmd --state
|
||||||
|
- 查看所有打开的端口 - firewall-cmd --zone=public --list-ports
|
||||||
|
- 更新防火墙规则 - firewall-cmd --reload
|
||||||
|
- 查看区域信息: firewall-cmd --get-active-zones
|
||||||
|
- 查看指定接口所属区域 - firewall-cmd --get-zone-of-interface=eth0
|
||||||
|
- 拒绝所有包:firewall-cmd --panic-on
|
||||||
|
- 取消拒绝状态 - firewall-cmd --panic-off
|
||||||
|
- 查看是否拒绝 - firewall-cmd --query-panic
|
||||||
|
|
||||||
|
#### 在防火墙中开放一个端口
|
||||||
|
|
||||||
|
- 添加(--permanent 永久生效,没有此参数重启后失效) - firewall-cmd --zone=public --add-port=80/tcp --permanent
|
||||||
|
- 重新载入 - firewall-cmd --reload
|
||||||
|
- 查看 - firewall-cmd --zone= public --query-port=80/tcp
|
||||||
|
- 删除 - firewall-cmd --zone= public --remove-port=80/tcp --permanent
|
||||||
|
|
||||||
|
### iptables
|
||||||
|
|
||||||
|
> iptables 命令是 Linux 上常用的防火墙软件,是 netfilter 项目的一部分。可以直接配置,也可以通过许多前端和图形界面配置。
|
||||||
|
>
|
||||||
|
> 参考:http://man.linuxde.net/iptables
|
||||||
|
|
||||||
|
示例:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# 开放指定的端口
|
||||||
|
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT #允许本地回环接口(即运行本机访问本机)
|
||||||
|
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #允许已建立的或相关连的通行
|
||||||
|
iptables -A OUTPUT -j ACCEPT #允许所有本机向外的访问
|
||||||
|
iptables -A INPUT -p tcp --dport 22 -j ACCEPT #允许访问22端口
|
||||||
|
iptables -A INPUT -p tcp --dport 80 -j ACCEPT #允许访问80端口
|
||||||
|
iptables -A INPUT -p tcp --dport 21 -j ACCEPT #允许ftp服务的21端口
|
||||||
|
iptables -A INPUT -p tcp --dport 20 -j ACCEPT #允许FTP服务的20端口
|
||||||
|
iptables -A INPUT -j reject #禁止其他未允许的规则访问
|
||||||
|
iptables -A FORWARD -j REJECT #禁止其他未允许的规则访问
|
||||||
|
|
||||||
|
# 屏蔽IP
|
||||||
|
iptables -I INPUT -s 123.45.6.7 -j DROP #屏蔽单个IP的命令
|
||||||
|
iptables -I INPUT -s 123.0.0.0/8 -j DROP #封整个段即从123.0.0.1到123.255.255.254的命令
|
||||||
|
iptables -I INPUT -s 124.45.0.0/16 -j DROP #封IP段即从123.45.0.1到123.45.255.254的命令
|
||||||
|
iptables -I INPUT -s 123.45.6.0/24 -j DROP #封IP段即从123.45.6.1到123.45.6.254的命令是
|
||||||
|
|
||||||
|
# 查看已添加的iptables规则
|
||||||
|
iptables -L -n -v
|
||||||
|
Chain INPUT (policy DROP 48106 packets, 2690K bytes)
|
||||||
|
pkts bytes target prot opt in out source destination
|
||||||
|
5075 589K ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
|
||||||
|
191K 90M ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
|
||||||
|
1499K 133M ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
|
||||||
|
4364K 6351M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
|
||||||
|
6256 327K ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0
|
||||||
|
|
||||||
|
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
|
||||||
|
pkts bytes target prot opt in out source destination
|
||||||
|
|
||||||
|
Chain OUTPUT (policy ACCEPT 3382K packets, 1819M bytes)
|
||||||
|
pkts bytes target prot opt in out source destination
|
||||||
|
5075 589K ACCEPT all -- * lo 0.0.0.0/0 0.0.0.0/0
|
||||||
|
```
|
||||||
|
|
||||||
|
### host
|
||||||
|
|
||||||
|
> host 命令是常用的分析域名查询工具,可以用来测试域名系统工作是否正常。
|
||||||
|
>
|
||||||
|
> 参考:http://man.linuxde.net/host
|
||||||
|
|
||||||
|
示例:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
[root@localhost ~]# host www.jsdig.com
|
||||||
|
www.jsdig.com is an alias for host.1.jsdig.com.
|
||||||
|
host.1.jsdig.com has address 100.42.212.8
|
||||||
|
|
||||||
|
[root@localhost ~]# host -a www.jsdig.com
|
||||||
|
Trying "www.jsdig.com"
|
||||||
|
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34671
|
||||||
|
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
|
||||||
|
|
||||||
|
;; QUESTION SECTION:
|
||||||
|
;www.jsdig.com. IN ANY
|
||||||
|
|
||||||
|
;; ANSWER SECTION:
|
||||||
|
www.jsdig.com. 463 IN CNAME host.1.jsdig.com.
|
||||||
|
|
||||||
|
Received 54 bytes from 202.96.104.15#53 in 0 ms
|
||||||
|
```
|
||||||
|
|
||||||
|
### nslookup
|
||||||
|
|
||||||
|
> nslookup 命令是常用域名查询工具,就是查 DNS 信息用的命令。
|
||||||
|
>
|
||||||
|
> 参考:http://man.linuxde.net/nslookup
|
||||||
|
|
||||||
|
示例:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
[root@localhost ~]# nslookup www.jsdig.com
|
||||||
|
Server: 202.96.104.15
|
||||||
|
Address: 202.96.104.15#53
|
||||||
|
|
||||||
|
Non-authoritative answer:
|
||||||
|
www.jsdig.com canonical name = host.1.jsdig.com.
|
||||||
|
Name: host.1.jsdig.com
|
||||||
|
Address: 100.42.212.8
|
||||||
|
```
|
||||||
|
|
||||||
|
### nc/netcat
|
||||||
|
|
||||||
|
> nc 命令是 netcat 命令的简称,都是用来设置路由器。
|
||||||
|
>
|
||||||
|
> 参考:http://man.linuxde.net/nc_netcat
|
||||||
|
|
||||||
|
示例:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# TCP 端口扫描
|
||||||
|
[root@localhost ~]# nc -v -z -w2 192.168.0.3 1-100
|
||||||
|
192.168.0.3: inverse host lookup failed: Unknown host
|
||||||
|
(UNKNOWN) [192.168.0.3] 80 (http) open
|
||||||
|
(UNKNOWN) [192.168.0.3] 23 (telnet) open
|
||||||
|
(UNKNOWN) [192.168.0.3] 22 (ssh) open
|
||||||
|
|
||||||
|
# UDP 端口扫描
|
||||||
|
[root@localhost ~]# nc -u -z -w2 192.168.0.1 1-1000 # 扫描192.168.0.3 的端口 范围是 1-1000
|
||||||
|
```
|
||||||
|
|
||||||
|
### ping
|
||||||
|
|
||||||
|
> ping 命令用来测试主机之间网络的连通性。执行 ping 指令会使用 ICMP 传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
|
||||||
|
>
|
||||||
|
> 参考:http://man.linuxde.net/ping
|
||||||
|
|
||||||
|
示例:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
[root@AY1307311912260196fcZ ~]# ping www.jsdig.com
|
||||||
|
PING host.1.jsdig.com (100.42.212.8) 56(84) bytes of data.
|
||||||
|
64 bytes from 100-42-212-8.static.webnx.com (100.42.212.8): icmp_seq=1 ttl=50 time=177 ms
|
||||||
|
64 bytes from 100-42-212-8.static.webnx.com (100.42.212.8): icmp_seq=2 ttl=50 time=178 ms
|
||||||
|
64 bytes from 100-42-212-8.static.webnx.com (100.42.212.8): icmp_seq=3 ttl=50 time=174 ms
|
||||||
|
64 bytes from 100-42-212-8.static.webnx.com (100.42.212.8): icmp_seq=4 ttl=50 time=177 ms
|
||||||
|
...按Ctrl+C结束
|
||||||
|
|
||||||
|
--- host.1.jsdig.com ping statistics ---
|
||||||
|
4 packets transmitted, 4 received, 0% packet loss, time 2998ms
|
||||||
|
rtt min/avg/max/mdev = 174.068/176.916/178.182/1.683 ms
|
||||||
|
```
|
||||||
|
|
||||||
|
### traceroute
|
||||||
|
|
||||||
|
> traceroute 命令用于追踪数据包在网络上的传输时的全部路径,它默认发送的数据包大小是 40 字节。
|
||||||
|
>
|
||||||
|
> 参考:http://man.linuxde.net/traceroute
|
||||||
|
|
||||||
|
示例:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
traceroute www.58.com
|
||||||
|
traceroute to www.58.com (211.151.111.30), 30 hops max, 40 byte packets
|
||||||
|
1 unknown (192.168.2.1) 3.453 ms 3.801 ms 3.937 ms
|
||||||
|
2 221.6.45.33 (221.6.45.33) 7.768 ms 7.816 ms 7.840 ms
|
||||||
|
3 221.6.0.233 (221.6.0.233) 13.784 ms 13.827 ms 221.6.9.81 (221.6.9.81) 9.758 ms
|
||||||
|
4 221.6.2.169 (221.6.2.169) 11.777 ms 122.96.66.13 (122.96.66.13) 34.952 ms 221.6.2.53 (221.6.2.53) 41.372 ms
|
||||||
|
5 219.158.96.149 (219.158.96.149) 39.167 ms 39.210 ms 39.238 ms
|
||||||
|
6 123.126.0.194 (123.126.0.194) 37.270 ms 123.126.0.66 (123.126.0.66) 37.163 ms 37.441 ms
|
||||||
|
7 124.65.57.26 (124.65.57.26) 42.787 ms 42.799 ms 42.809 ms
|
||||||
|
8 61.148.146.210 (61.148.146.210) 30.176 ms 61.148.154.98 (61.148.154.98) 32.613 ms 32.675 ms
|
||||||
|
9 202.106.42.102 (202.106.42.102) 44.563 ms 44.600 ms 44.627 ms
|
||||||
|
10 210.77.139.150 (210.77.139.150) 53.302 ms 53.233 ms 53.032 ms
|
||||||
|
11 211.151.104.6 (211.151.104.6) 39.585 ms 39.502 ms 39.598 ms
|
||||||
|
12 211.151.111.30 (211.151.111.30) 35.161 ms 35.938 ms 36.005 ms
|
||||||
|
```
|
||||||
|
|
||||||
|
### netstat
|
||||||
|
|
||||||
|
> netstat 命令用来打印 Linux 中网络系统的状态信息,可让你得知整个 Linux 系统的网络情况。
|
||||||
|
>
|
||||||
|
> 参考:http://man.linuxde.net/netstat
|
||||||
|
|
||||||
|
示例:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# 列出所有端口 (包括监听和未监听的)
|
||||||
|
netstat -a #列出所有端口
|
||||||
|
netstat -at #列出所有tcp端口
|
||||||
|
netstat -au #列出所有udp端口
|
||||||
|
|
||||||
|
# 列出所有处于监听状态的 Sockets
|
||||||
|
netstat -l #只显示监听端口
|
||||||
|
netstat -lt #只列出所有监听 tcp 端口
|
||||||
|
netstat -lu #只列出所有监听 udp 端口
|
||||||
|
netstat -lx #只列出所有监听 UNIX 端口
|
||||||
|
|
||||||
|
# 显示每个协议的统计信息
|
||||||
|
netstat -s 显示所有端口的统计信息
|
||||||
|
netstat -st 显示TCP端口的统计信息
|
||||||
|
netstat -su 显示UDP端口的统计信息
|
||||||
|
```
|
@ -1,254 +0,0 @@
|
|||||||
---
|
|
||||||
title: Linux 网络应用命令
|
|
||||||
date: 2018/02/27
|
|
||||||
categories:
|
|
||||||
- linux
|
|
||||||
tags:
|
|
||||||
- linux
|
|
||||||
- command
|
|
||||||
---
|
|
||||||
|
|
||||||
# Linux 网络应用命令
|
|
||||||
|
|
||||||
> 关键词:`curl`, `wget`, `telnet`, `ip`, `hostname`, `ifconfig`, `route`, `ssh`, `ssh-keygen`, `iptables`
|
|
||||||
|
|
||||||
<!-- TOC depthFrom:2 depthTo:2 -->
|
|
||||||
|
|
||||||
- [curl](#curl)
|
|
||||||
- [wget](#wget)
|
|
||||||
- [telnet](#telnet)
|
|
||||||
- [ip](#ip)
|
|
||||||
- [hostname](#hostname)
|
|
||||||
- [ifconfig](#ifconfig)
|
|
||||||
- [route](#route)
|
|
||||||
- [ssh](#ssh)
|
|
||||||
- [ssh-keygen](#ssh-keygen)
|
|
||||||
- [iptables](#iptables)
|
|
||||||
|
|
||||||
<!-- /TOC -->
|
|
||||||
|
|
||||||
## curl
|
|
||||||
|
|
||||||
> curl 命令是一个利用 URL 规则在命令行下工作的文件传输工具。
|
|
||||||
>
|
|
||||||
> 参考:http://man.linuxde.net/curl
|
|
||||||
|
|
||||||
curl 命令支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称 curl 为下载工具。作为一款强力工具,curl 支持包括 HTTP、HTTPS、ftp 等众多协议,还支持 POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。做网页处理流程和数据检索自动化,curl 可以祝一臂之力。
|
|
||||||
|
|
||||||
示例:
|
|
||||||
|
|
||||||
下载文件
|
|
||||||
|
|
||||||
```sh
|
|
||||||
curl http://man.linuxde.net/text.iso --silent
|
|
||||||
```
|
|
||||||
|
|
||||||
下载文件,指定下载路径,并显示进度
|
|
||||||
|
|
||||||
```sh
|
|
||||||
curl http://man.linuxde.net/test.iso -o filename.iso --progress
|
|
||||||
######################################### 100.0%
|
|
||||||
```
|
|
||||||
|
|
||||||
## wget
|
|
||||||
|
|
||||||
> wget 命令用来从指定的 URL 下载文件。
|
|
||||||
>
|
|
||||||
> 参考:http://man.linuxde.net/wget
|
|
||||||
|
|
||||||
示例:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
# 使用 wget 下载单个文件
|
|
||||||
wget http://www.linuxde.net/testfile.zip
|
|
||||||
```
|
|
||||||
|
|
||||||
## telnet
|
|
||||||
|
|
||||||
> telnet 命令用于登录远程主机,对远程主机进行管理。
|
|
||||||
>
|
|
||||||
> 参考:http://man.linuxde.net/telnet
|
|
||||||
|
|
||||||
示例:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
telnet 192.168.2.10
|
|
||||||
Trying 192.168.2.10...
|
|
||||||
Connected to 192.168.2.10 (192.168.2.10).
|
|
||||||
Escape character is '^]'.
|
|
||||||
|
|
||||||
localhost (Linux release 2.6.18-274.18.1.el5 #1 SMP Thu Feb 9 12:45:44 EST 2012) (1)
|
|
||||||
|
|
||||||
login: root
|
|
||||||
Password:
|
|
||||||
Login incorrect
|
|
||||||
```
|
|
||||||
|
|
||||||
## ip
|
|
||||||
|
|
||||||
> ip 命令用来显示或操纵 Linux 主机的路由、网络设备、策略路由和隧道,是 Linux 下较新的功能强大的网络配置工具。
|
|
||||||
>
|
|
||||||
> 参考:http://man.linuxde.net/ip
|
|
||||||
|
|
||||||
示例:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
ip link show # 显示网络接口信息
|
|
||||||
ip link set eth0 upi # 开启网卡
|
|
||||||
ip link set eth0 down # 关闭网卡
|
|
||||||
ip link set eth0 promisc on # 开启网卡的混合模式
|
|
||||||
ip link set eth0 promisc offi # 关闭网卡的混个模式
|
|
||||||
ip link set eth0 txqueuelen 1200 # 设置网卡队列长度
|
|
||||||
ip link set eth0 mtu 1400 # 设置网卡最大传输单元
|
|
||||||
ip addr show # 显示网卡IP信息
|
|
||||||
ip addr add 192.168.0.1/24 dev eth0 # 设置eth0网卡IP地址192.168.0.1
|
|
||||||
ip addr del 192.168.0.1/24 dev eth0 # 删除eth0网卡IP地址
|
|
||||||
|
|
||||||
ip route show # 显示系统路由
|
|
||||||
ip route add default via 192.168.1.254 # 设置系统默认路由
|
|
||||||
ip route list # 查看路由信息
|
|
||||||
ip route add 192.168.4.0/24 via 192.168.0.254 dev eth0 # 设置192.168.4.0网段的网关为192.168.0.254,数据走eth0接口
|
|
||||||
ip route add default via 192.168.0.254 dev eth0 # 设置默认网关为192.168.0.254
|
|
||||||
ip route del 192.168.4.0/24 # 删除192.168.4.0网段的网关
|
|
||||||
ip route del default # 删除默认路由
|
|
||||||
ip route delete 192.168.1.0/24 dev eth0 # 删除路由
|
|
||||||
```
|
|
||||||
|
|
||||||
## hostname
|
|
||||||
|
|
||||||
> hostname 命令用于显示和设置系统的主机名称。环境变量 HOSTNAME 也保存了当前的主机名。在使用 hostname 命令设置主机名后,系统并不会永久保存新的主机名,重新启动机器之后还是原来的主机名。如果需要永久修改主机名,需要同时修改 `/etc/hosts` 和 `/etc/sysconfig/network` 的相关内容。
|
|
||||||
>
|
|
||||||
> 参考:http://man.linuxde.net/hostname
|
|
||||||
|
|
||||||
示例:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
[root@AY1307311912260196fcZ ~]# hostname
|
|
||||||
AY1307311912260196fcZ
|
|
||||||
```
|
|
||||||
|
|
||||||
## ifconfig
|
|
||||||
|
|
||||||
> ifconfig 命令被用于配置和显示 Linux 内核中网络接口的网络参数。用 ifconfig 命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。
|
|
||||||
>
|
|
||||||
> 参考:http://man.linuxde.net/ifconfig
|
|
||||||
|
|
||||||
示例:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
# 显示网络设备信息(激活状态的)
|
|
||||||
[root@localhost ~]# ifconfig
|
|
||||||
eth0 Link encap:Ethernet HWaddr 00:16:3E:00:1E:51
|
|
||||||
inet addr:10.160.7.81 Bcast:10.160.15.255 Mask:255.255.240.0
|
|
||||||
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
|
||||||
RX packets:61430830 errors:0 dropped:0 overruns:0 frame:0
|
|
||||||
TX packets:88534 errors:0 dropped:0 overruns:0 carrier:0
|
|
||||||
collisions:0 txqueuelen:1000
|
|
||||||
RX bytes:3607197869 (3.3 GiB) TX bytes:6115042 (5.8 MiB)
|
|
||||||
|
|
||||||
lo Link encap:Local Loopback
|
|
||||||
inet addr:127.0.0.1 Mask:255.0.0.0
|
|
||||||
UP LOOPBACK RUNNING MTU:16436 Metric:1
|
|
||||||
RX packets:56103 errors:0 dropped:0 overruns:0 frame:0
|
|
||||||
TX packets:56103 errors:0 dropped:0 overruns:0 carrier:0
|
|
||||||
collisions:0 txqueuelen:0
|
|
||||||
RX bytes:5079451 (4.8 MiB) TX bytes:5079451 (4.8 MiB)
|
|
||||||
```
|
|
||||||
|
|
||||||
## route
|
|
||||||
|
|
||||||
> route 命令用来显示并设置 Linux 内核中的网络路由表,route 命令设置的路由主要是静态路由。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。
|
|
||||||
>
|
|
||||||
> 参考:http://man.linuxde.net/route
|
|
||||||
|
|
||||||
示例:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
# 显示当前路由
|
|
||||||
route
|
|
||||||
Kernel IP routing table
|
|
||||||
Destination Gateway Genmask Flags Metric Ref Use Iface
|
|
||||||
112.124.12.0 * 255.255.252.0 U 0 0 0 eth1
|
|
||||||
10.160.0.0 * 255.255.240.0 U 0 0 0 eth0
|
|
||||||
192.168.0.0 10.160.15.247 255.255.0.0 UG 0 0 0 eth0
|
|
||||||
172.16.0.0 10.160.15.247 255.240.0.0 UG 0 0 0 eth0
|
|
||||||
10.0.0.0 10.160.15.247 255.0.0.0 UG 0 0 0 eth0
|
|
||||||
default 112.124.15.247 0.0.0.0 UG 0 0 0 eth1
|
|
||||||
|
|
||||||
route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0 # 添加网关/设置网关
|
|
||||||
route add -net 224.0.0.0 netmask 240.0.0.0 reject # 屏蔽一条路由
|
|
||||||
route del -net 224.0.0.0 netmask 240.0.0.0 # 删除路由记录
|
|
||||||
route add default gw 192.168.120.240 # 添加默认网关
|
|
||||||
route del default gw 192.168.120.240 # 删除默认网关
|
|
||||||
```
|
|
||||||
|
|
||||||
## ssh
|
|
||||||
|
|
||||||
> ssh 命令是 openssh 套件中的客户端连接工具,可以给予 ssh 加密协议实现安全的远程登录服务器。
|
|
||||||
>
|
|
||||||
> 参考:http://man.linuxde.net/ssh
|
|
||||||
|
|
||||||
示例:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# ssh 用户名@远程服务器地址
|
|
||||||
ssh user1@172.24.210.101
|
|
||||||
# 指定端口
|
|
||||||
ssh -p 2211 root@140.206.185.170
|
|
||||||
```
|
|
||||||
|
|
||||||
引申阅读:[ssh 背后的故事](https://linux.cn/article-8476-1.html)
|
|
||||||
|
|
||||||
## ssh-keygen
|
|
||||||
|
|
||||||
> ssh-keygen 命令用于为 ssh 生成、管理和转换认证密钥,它支持 RSA 和 DSA 两种认证密钥。
|
|
||||||
>
|
|
||||||
> 参考:http://man.linuxde.net/ssh-keygen
|
|
||||||
|
|
||||||
为 ssh 生成、管理和转换认证密钥
|
|
||||||
|
|
||||||
## iptables
|
|
||||||
|
|
||||||
> iptables 命令是 Linux 上常用的防火墙软件,是 netfilter 项目的一部分。可以直接配置,也可以通过许多前端和图形界面配置。
|
|
||||||
>
|
|
||||||
> 参考:http://man.linuxde.net/iptables
|
|
||||||
|
|
||||||
为 ssh 生成、管理和转换认证密钥
|
|
||||||
|
|
||||||
示例:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
# 开放指定的端口
|
|
||||||
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT #允许本地回环接口(即运行本机访问本机)
|
|
||||||
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #允许已建立的或相关连的通行
|
|
||||||
iptables -A OUTPUT -j ACCEPT #允许所有本机向外的访问
|
|
||||||
iptables -A INPUT -p tcp --dport 22 -j ACCEPT #允许访问22端口
|
|
||||||
iptables -A INPUT -p tcp --dport 80 -j ACCEPT #允许访问80端口
|
|
||||||
iptables -A INPUT -p tcp --dport 21 -j ACCEPT #允许ftp服务的21端口
|
|
||||||
iptables -A INPUT -p tcp --dport 20 -j ACCEPT #允许FTP服务的20端口
|
|
||||||
iptables -A INPUT -j reject #禁止其他未允许的规则访问
|
|
||||||
iptables -A FORWARD -j REJECT #禁止其他未允许的规则访问
|
|
||||||
|
|
||||||
# 屏蔽IP
|
|
||||||
iptables -I INPUT -s 123.45.6.7 -j DROP #屏蔽单个IP的命令
|
|
||||||
iptables -I INPUT -s 123.0.0.0/8 -j DROP #封整个段即从123.0.0.1到123.255.255.254的命令
|
|
||||||
iptables -I INPUT -s 124.45.0.0/16 -j DROP #封IP段即从123.45.0.1到123.45.255.254的命令
|
|
||||||
iptables -I INPUT -s 123.45.6.0/24 -j DROP #封IP段即从123.45.6.1到123.45.6.254的命令是
|
|
||||||
|
|
||||||
# 查看已添加的iptables规则
|
|
||||||
iptables -L -n -v
|
|
||||||
Chain INPUT (policy DROP 48106 packets, 2690K bytes)
|
|
||||||
pkts bytes target prot opt in out source destination
|
|
||||||
5075 589K ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
|
|
||||||
191K 90M ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
|
|
||||||
1499K 133M ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
|
|
||||||
4364K 6351M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
|
|
||||||
6256 327K ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0
|
|
||||||
|
|
||||||
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
|
|
||||||
pkts bytes target prot opt in out source destination
|
|
||||||
|
|
||||||
Chain OUTPUT (policy ACCEPT 3382K packets, 1819M bytes)
|
|
||||||
pkts bytes target prot opt in out source destination
|
|
||||||
5075 589K ACCEPT all -- * lo 0.0.0.0/0 0.0.0.0/0
|
|
||||||
```
|
|
@ -1,198 +0,0 @@
|
|||||||
---
|
|
||||||
title: Linux 网络测试命令
|
|
||||||
date: 2018/02/28
|
|
||||||
categories:
|
|
||||||
- linux
|
|
||||||
tags:
|
|
||||||
- linux
|
|
||||||
- command
|
|
||||||
---
|
|
||||||
|
|
||||||
# Linux 网络测试命令
|
|
||||||
|
|
||||||
> 关键词:`host`, `nslookup`, `nc`/`netcat`, `dig`, `ping`, `traceroute`, `netstat`
|
|
||||||
|
|
||||||
<!-- TOC depthFrom:2 depthTo:2 -->
|
|
||||||
|
|
||||||
- [host](#host)
|
|
||||||
- [nslookup](#nslookup)
|
|
||||||
- [nc/netcat](#ncnetcat)
|
|
||||||
- [dig](#dig)
|
|
||||||
- [ping](#ping)
|
|
||||||
- [traceroute](#traceroute)
|
|
||||||
- [netstat](#netstat)
|
|
||||||
|
|
||||||
<!-- /TOC -->
|
|
||||||
|
|
||||||
## host
|
|
||||||
|
|
||||||
> host 命令是常用的分析域名查询工具,可以用来测试域名系统工作是否正常。
|
|
||||||
>
|
|
||||||
> 参考:http://man.linuxde.net/host
|
|
||||||
|
|
||||||
示例:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
[root@localhost ~]# host www.jsdig.com
|
|
||||||
www.jsdig.com is an alias for host.1.jsdig.com.
|
|
||||||
host.1.jsdig.com has address 100.42.212.8
|
|
||||||
|
|
||||||
[root@localhost ~]# host -a www.jsdig.com
|
|
||||||
Trying "www.jsdig.com"
|
|
||||||
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34671
|
|
||||||
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
|
|
||||||
|
|
||||||
;; QUESTION SECTION:
|
|
||||||
;www.jsdig.com. IN ANY
|
|
||||||
|
|
||||||
;; ANSWER SECTION:
|
|
||||||
www.jsdig.com. 463 IN CNAME host.1.jsdig.com.
|
|
||||||
|
|
||||||
Received 54 bytes from 202.96.104.15#53 in 0 ms
|
|
||||||
```
|
|
||||||
|
|
||||||
## nslookup
|
|
||||||
|
|
||||||
> nslookup 命令是常用域名查询工具,就是查 DNS 信息用的命令。
|
|
||||||
>
|
|
||||||
> 参考:http://man.linuxde.net/nslookup
|
|
||||||
|
|
||||||
示例:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
[root@localhost ~]# nslookup www.jsdig.com
|
|
||||||
Server: 202.96.104.15
|
|
||||||
Address: 202.96.104.15#53
|
|
||||||
|
|
||||||
Non-authoritative answer:
|
|
||||||
www.jsdig.com canonical name = host.1.jsdig.com.
|
|
||||||
Name: host.1.jsdig.com
|
|
||||||
Address: 100.42.212.8
|
|
||||||
```
|
|
||||||
|
|
||||||
## nc/netcat
|
|
||||||
|
|
||||||
> nc 命令是 netcat 命令的简称,都是用来设置路由器。
|
|
||||||
>
|
|
||||||
> 参考:http://man.linuxde.net/nc_netcat
|
|
||||||
|
|
||||||
示例:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
# TCP 端口扫描
|
|
||||||
[root@localhost ~]# nc -v -z -w2 192.168.0.3 1-100
|
|
||||||
192.168.0.3: inverse host lookup failed: Unknown host
|
|
||||||
(UNKNOWN) [192.168.0.3] 80 (http) open
|
|
||||||
(UNKNOWN) [192.168.0.3] 23 (telnet) open
|
|
||||||
(UNKNOWN) [192.168.0.3] 22 (ssh) open
|
|
||||||
|
|
||||||
# UDP 端口扫描
|
|
||||||
[root@localhost ~]# nc -u -z -w2 192.168.0.1 1-1000 # 扫描192.168.0.3 的端口 范围是 1-1000
|
|
||||||
```
|
|
||||||
|
|
||||||
## dig
|
|
||||||
|
|
||||||
> dig 命令是常用的域名查询工具,可以用来测试域名系统工作是否正常。
|
|
||||||
>
|
|
||||||
> 参考:http://man.linuxde.net/dig
|
|
||||||
|
|
||||||
示例:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
[root@localhost ~]# dig www.jsdig.com
|
|
||||||
|
|
||||||
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-20.P1.el5_8.1 <<>> www.jsdig.com
|
|
||||||
;; global options: printcmd
|
|
||||||
;; Got answer:
|
|
||||||
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2115
|
|
||||||
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 0
|
|
||||||
|
|
||||||
;; QUESTION SECTION:
|
|
||||||
;www.jsdig.com. IN A
|
|
||||||
|
|
||||||
;; ANSWER SECTION:
|
|
||||||
www.jsdig.com. 0 IN CNAME host.1.jsdig.com.
|
|
||||||
host.1.jsdig.com. 0 IN A 100.42.212.8
|
|
||||||
|
|
||||||
;; AUTHORITY SECTION:
|
|
||||||
jsdig.com. 8 IN NS f1g1ns2.dnspod.net.
|
|
||||||
jsdig.com. 8 IN NS f1g1ns1.dnspod.net.
|
|
||||||
|
|
||||||
;; Query time: 0 msec
|
|
||||||
;; SERVER: 202.96.104.15#53(202.96.104.15)
|
|
||||||
;; WHEN: Thu Dec 26 11:14:37 2013
|
|
||||||
;; MSG SIZE rcvd: 121
|
|
||||||
```
|
|
||||||
|
|
||||||
## ping
|
|
||||||
|
|
||||||
> ping 命令用来测试主机之间网络的连通性。执行 ping 指令会使用 ICMP 传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
|
|
||||||
>
|
|
||||||
> 参考:http://man.linuxde.net/ping
|
|
||||||
|
|
||||||
示例:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
[root@AY1307311912260196fcZ ~]# ping www.jsdig.com
|
|
||||||
PING host.1.jsdig.com (100.42.212.8) 56(84) bytes of data.
|
|
||||||
64 bytes from 100-42-212-8.static.webnx.com (100.42.212.8): icmp_seq=1 ttl=50 time=177 ms
|
|
||||||
64 bytes from 100-42-212-8.static.webnx.com (100.42.212.8): icmp_seq=2 ttl=50 time=178 ms
|
|
||||||
64 bytes from 100-42-212-8.static.webnx.com (100.42.212.8): icmp_seq=3 ttl=50 time=174 ms
|
|
||||||
64 bytes from 100-42-212-8.static.webnx.com (100.42.212.8): icmp_seq=4 ttl=50 time=177 ms
|
|
||||||
...按Ctrl+C结束
|
|
||||||
|
|
||||||
--- host.1.jsdig.com ping statistics ---
|
|
||||||
4 packets transmitted, 4 received, 0% packet loss, time 2998ms
|
|
||||||
rtt min/avg/max/mdev = 174.068/176.916/178.182/1.683 ms
|
|
||||||
```
|
|
||||||
|
|
||||||
## traceroute
|
|
||||||
|
|
||||||
> traceroute 命令用于追踪数据包在网络上的传输时的全部路径,它默认发送的数据包大小是 40 字节。
|
|
||||||
>
|
|
||||||
> 参考:http://man.linuxde.net/traceroute
|
|
||||||
|
|
||||||
示例:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
traceroute www.58.com
|
|
||||||
traceroute to www.58.com (211.151.111.30), 30 hops max, 40 byte packets
|
|
||||||
1 unknown (192.168.2.1) 3.453 ms 3.801 ms 3.937 ms
|
|
||||||
2 221.6.45.33 (221.6.45.33) 7.768 ms 7.816 ms 7.840 ms
|
|
||||||
3 221.6.0.233 (221.6.0.233) 13.784 ms 13.827 ms 221.6.9.81 (221.6.9.81) 9.758 ms
|
|
||||||
4 221.6.2.169 (221.6.2.169) 11.777 ms 122.96.66.13 (122.96.66.13) 34.952 ms 221.6.2.53 (221.6.2.53) 41.372 ms
|
|
||||||
5 219.158.96.149 (219.158.96.149) 39.167 ms 39.210 ms 39.238 ms
|
|
||||||
6 123.126.0.194 (123.126.0.194) 37.270 ms 123.126.0.66 (123.126.0.66) 37.163 ms 37.441 ms
|
|
||||||
7 124.65.57.26 (124.65.57.26) 42.787 ms 42.799 ms 42.809 ms
|
|
||||||
8 61.148.146.210 (61.148.146.210) 30.176 ms 61.148.154.98 (61.148.154.98) 32.613 ms 32.675 ms
|
|
||||||
9 202.106.42.102 (202.106.42.102) 44.563 ms 44.600 ms 44.627 ms
|
|
||||||
10 210.77.139.150 (210.77.139.150) 53.302 ms 53.233 ms 53.032 ms
|
|
||||||
11 211.151.104.6 (211.151.104.6) 39.585 ms 39.502 ms 39.598 ms
|
|
||||||
12 211.151.111.30 (211.151.111.30) 35.161 ms 35.938 ms 36.005 ms
|
|
||||||
```
|
|
||||||
|
|
||||||
## netstat
|
|
||||||
|
|
||||||
> netstat 命令用来打印 Linux 中网络系统的状态信息,可让你得知整个 Linux 系统的网络情况。
|
|
||||||
>
|
|
||||||
> 参考:http://man.linuxde.net/netstat
|
|
||||||
|
|
||||||
示例:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
# 列出所有端口 (包括监听和未监听的)
|
|
||||||
netstat -a #列出所有端口
|
|
||||||
netstat -at #列出所有tcp端口
|
|
||||||
netstat -au #列出所有udp端口
|
|
||||||
|
|
||||||
# 列出所有处于监听状态的 Sockets
|
|
||||||
netstat -l #只显示监听端口
|
|
||||||
netstat -lt #只列出所有监听 tcp 端口
|
|
||||||
netstat -lu #只列出所有监听 udp 端口
|
|
||||||
netstat -lx #只列出所有监听 UNIX 端口
|
|
||||||
|
|
||||||
# 显示每个协议的统计信息
|
|
||||||
netstat -s 显示所有端口的统计信息
|
|
||||||
netstat -st 显示TCP端口的统计信息
|
|
||||||
netstat -su 显示UDP端口的统计信息
|
|
||||||
```
|
|
@ -1,193 +0,0 @@
|
|||||||
---
|
|
||||||
title: Linux 进程管理命令
|
|
||||||
date: 2018/02/28
|
|
||||||
categories:
|
|
||||||
- linux
|
|
||||||
tags:
|
|
||||||
- linux
|
|
||||||
- command
|
|
||||||
---
|
|
||||||
|
|
||||||
# Linux 进程管理命令
|
|
||||||
|
|
||||||
> 关键词:`ps`, `kill`, `systemctl`, `service`, `crontab`
|
|
||||||
|
|
||||||
<!-- TOC depthFrom:2 depthTo:2 -->
|
|
||||||
|
|
||||||
- [ps](#ps)
|
|
||||||
- [kill](#kill)
|
|
||||||
- [systemctl](#systemctl)
|
|
||||||
- [service](#service)
|
|
||||||
- [crontab](#crontab)
|
|
||||||
|
|
||||||
<!-- /TOC -->
|
|
||||||
|
|
||||||
## ps
|
|
||||||
|
|
||||||
> ps 命令用于报告当前系统的进程状态。可以搭配 kill 指令随时中断、删除不必要的程序。ps 命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。
|
|
||||||
>
|
|
||||||
> 参考:http://man.linuxde.net/ps
|
|
||||||
|
|
||||||
示例:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
# 按内存资源的使用量对进程进行排序
|
|
||||||
ps aux | sort -rnk 4
|
|
||||||
|
|
||||||
# 按 CPU 资源的使用量对进程进行排序
|
|
||||||
ps aux | sort -nk 3
|
|
||||||
```
|
|
||||||
|
|
||||||
## kill
|
|
||||||
|
|
||||||
> kill 命令用来删除执行中的程序或工作。kill 可将指定的信息送至程序。预设的信息为 SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用 SIGKILL(9) 信息尝试强制删除程序。程序或工作的编号可利用 ps 指令或 job 指令查看。
|
|
||||||
>
|
|
||||||
> 参考:http://man.linuxde.net/kill
|
|
||||||
|
|
||||||
示例:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
# 列出所有信号名称
|
|
||||||
kill -l
|
|
||||||
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
|
|
||||||
5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE
|
|
||||||
9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
|
|
||||||
13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT
|
|
||||||
17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
|
|
||||||
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU
|
|
||||||
25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH
|
|
||||||
29) SIGIO 30) SIGPWR 31) SIGSYS 34) SIGRTMIN
|
|
||||||
35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4
|
|
||||||
39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
|
|
||||||
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12
|
|
||||||
47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14
|
|
||||||
51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10
|
|
||||||
55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6
|
|
||||||
59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
|
|
||||||
63) SIGRTMAX-1 64) SIGRTMAX
|
|
||||||
|
|
||||||
# 先用 ps 查找进程,然后用 kill 杀掉
|
|
||||||
ps -ef | grep vim
|
|
||||||
root 3268 2884 0 16:21 pts/1 00:00:00 vim install.log
|
|
||||||
root 3370 2822 0 16:21 pts/0 00:00:00 grep vim
|
|
||||||
|
|
||||||
kill 3268
|
|
||||||
kill 3268
|
|
||||||
-bash: kill: (3268) - 没有那个进程
|
|
||||||
```
|
|
||||||
|
|
||||||
## systemctl
|
|
||||||
|
|
||||||
> systemctl 命令是系统服务管理器指令,它实际上将 service 和 chkconfig 这两个命令组合到一起。
|
|
||||||
>
|
|
||||||
> 参考:http://man.linuxde.net/systemctl
|
|
||||||
|
|
||||||
示例:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
# 1.启动 nfs 服务
|
|
||||||
systemctl start nfs-server.service
|
|
||||||
|
|
||||||
# 2.设置开机自启动
|
|
||||||
systemctl enable nfs-server.service
|
|
||||||
|
|
||||||
# 3.停止开机自启动
|
|
||||||
systemctl disable nfs-server.service
|
|
||||||
|
|
||||||
# 4.查看服务当前状态
|
|
||||||
systemctl status nfs-server.service
|
|
||||||
|
|
||||||
# 5.重新启动某服务
|
|
||||||
systemctl restart nfs-server.service
|
|
||||||
|
|
||||||
# 6.查看所有已启动的服务
|
|
||||||
systemctl list -units --type=service
|
|
||||||
|
|
||||||
# 7. 开启防火墙 22 端口
|
|
||||||
iptables -I INPUT -p tcp --dport 22 -j accept
|
|
||||||
|
|
||||||
# 8. 彻底关闭防火墙
|
|
||||||
sudo systemctl status firewalld.service
|
|
||||||
sudo systemctl stop firewalld.service
|
|
||||||
sudo systemctl disable firewalld.service
|
|
||||||
```
|
|
||||||
|
|
||||||
## service
|
|
||||||
|
|
||||||
> service 命令是 Redhat Linux 兼容的发行版中用来控制系统服务的实用工具,它以启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务的当前状态。
|
|
||||||
>
|
|
||||||
> 参考:http://man.linuxde.net/service
|
|
||||||
|
|
||||||
示例:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
service network status
|
|
||||||
配置设备:
|
|
||||||
lo eth0
|
|
||||||
当前的活跃设备:
|
|
||||||
lo eth0
|
|
||||||
|
|
||||||
service network restart
|
|
||||||
正在关闭接口 eth0: [ 确定 ]
|
|
||||||
关闭环回接口: [ 确定 ]
|
|
||||||
设置网络参数: [ 确定 ]
|
|
||||||
弹出环回接口: [ 确定 ]
|
|
||||||
弹出界面 eth0: [ 确定 ]
|
|
||||||
```
|
|
||||||
|
|
||||||
## crontab
|
|
||||||
|
|
||||||
> crontab 命令被用来提交和管理用户的需要周期性执行的任务,与 windows 下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动 crond 进程,crond 进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。
|
|
||||||
>
|
|
||||||
> 参考:http://man.linuxde.net/crontab
|
|
||||||
|
|
||||||
示例:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
```sh
|
|
||||||
# 每 1 分钟执行一次 command
|
|
||||||
* * * * * command
|
|
||||||
|
|
||||||
# 每小时的第 3 和第 15 分钟执行
|
|
||||||
3,15 * * * * command
|
|
||||||
|
|
||||||
# 在上午 8 点到 11 点的第 3 和第 15 分钟执行
|
|
||||||
3,15 8-11 * * * command
|
|
||||||
|
|
||||||
# 每隔两天的上午 8 点到 11 点的第 3 和第 15 分钟执行
|
|
||||||
3,15 8-11 */2 * * command
|
|
||||||
|
|
||||||
# 每个星期一的上午 8 点到 11 点的第 3 和第 15 分钟执行
|
|
||||||
3,15 8-11 * * 1 command
|
|
||||||
|
|
||||||
# 每晚的 21:30 重启 smb
|
|
||||||
30 21 * * * /etc/init.d/smb restart
|
|
||||||
|
|
||||||
# 每月 1、10、22 日的 4 : 45 重启 smb
|
|
||||||
45 4 1,10,22 * * /etc/init.d/smb restart
|
|
||||||
|
|
||||||
# 每周六、周日的 1:10 重启 smb
|
|
||||||
10 1 * * 6,0 /etc/init.d/smb restart
|
|
||||||
|
|
||||||
# 每天 18 : 00 至 23 : 00 之间每隔 30 分钟重启 smb
|
|
||||||
0,30 18-23 * * * /etc/init.d/smb restart
|
|
||||||
|
|
||||||
# 每星期六的晚上 11:00 pm 重启 smb
|
|
||||||
0 23 * * 6 /etc/init.d/smb restart
|
|
||||||
|
|
||||||
# 每一小时重启 smb
|
|
||||||
* */1 * * * /etc/init.d/smb restart
|
|
||||||
|
|
||||||
# 晚上 11 点到早上 7 点之间,每隔一小时重启 smb
|
|
||||||
* 23-7/1 * * * /etc/init.d/smb restart
|
|
||||||
|
|
||||||
# 每月的 4 号与每周一到周三的 11 点重启 smb
|
|
||||||
0 11 4 * mon-wed /etc/init.d/smb restart
|
|
||||||
|
|
||||||
# 一月一号的 4 点重启 smb
|
|
||||||
0 4 1 jan * /etc/init.d/smb restart
|
|
||||||
|
|
||||||
# 每小时执行`/etc/cron.hourly`目录内的脚本
|
|
||||||
01 * * * * root run-parts /etc/cron.hourly
|
|
||||||
```
|
|
@ -7,11 +7,9 @@
|
|||||||
- [Linux 文件内容查看命令](03.Linux文件内容查看编辑.md) - 关键词:`cat`, `head`, `tail`, `more`, `less`, `sed`, `vi`, `grep`
|
- [Linux 文件内容查看命令](03.Linux文件内容查看编辑.md) - 关键词:`cat`, `head`, `tail`, `more`, `less`, `sed`, `vi`, `grep`
|
||||||
- [Linux 文件压缩和解压](04.Linux文件压缩和解压.md) - 关键词:`tar`, `gzip`, `zip`, `unzip`
|
- [Linux 文件压缩和解压](04.Linux文件压缩和解压.md) - 关键词:`tar`, `gzip`, `zip`, `unzip`
|
||||||
- [Linux 用户管理](05.Linux用户管理.md) - 关键词:`groupadd`, `groupdel`, `groupmod`, `useradd`, `userdel`, `usermod`, `passwd`, `su`, `sudo`
|
- [Linux 用户管理](05.Linux用户管理.md) - 关键词:`groupadd`, `groupdel`, `groupmod`, `useradd`, `userdel`, `usermod`, `passwd`, `su`, `sudo`
|
||||||
- [Linux 系统管理](06.Linux系统管理.md) - 关键词:`reboot`, `exit`, `shutdown`, `date`, `mount`, `umount`
|
- [Linux 系统管理](06.Linux系统管理.md) - 关键词:`reboot`, `exit`, `shutdown`, `date`, `mount`, `umount`, `ps`, `kill`, `systemctl`, `service`, `crontab`
|
||||||
- [Linux 性能管理](07.Linux性能管理.md) - 关键词:`df`, `du`, `top`, `free`, `iotop`
|
- [Linux 性能管理](07.Linux性能管理.md) - 关键词:`df`, `du`, `top`, `free`, `iotop`
|
||||||
- [Linux 进程管理命令](Linux进程管理命令.md) - 关键词:`ps`, `kill`, `systemctl`, `service`, `crontab`
|
- [Linux 网络应用](08.Linux网络应用.md) - 关键词:关键词:`curl`, `wget`, `telnet`, `ip`, `hostname`, `ifconfig`, `route`, `ssh`, `ssh-keygen`, `firewalld`, `iptables`, `host`, `nslookup`, `nc`/`netcat`, `ping`, `traceroute`, `netstat`
|
||||||
- [Linux 网络应用命令](Linux网络应用命令.md) - 关键词:`curl`, `wget`, `telnet`, `ip`, `hostname`, `ifconfig`, `route`, `ssh`, `ssh-keygen`, `iptables`
|
|
||||||
- [Linux 网络测试命令](Linux网络测试命令.md) - 关键词:`host`, `nslookup`, `nc`/`netcat`, `dig`, `ping`, `traceroute`, `netstat`
|
|
||||||
- [yum 命令](yum.md)
|
- [yum 命令](yum.md)
|
||||||
- [linux 监控](linux监控.md)
|
- [linux 监控](linux监控.md)
|
||||||
- [samba 使用详解](samba使用详解.md)
|
- [samba 使用详解](samba使用详解.md)
|
||||||
|
Loading…
Reference in New Issue
Block a user