链接: linux常用软件
查看应用进程号
ps aux | grep nginx ps -ef | grep nginx
查看端口对应的进程号
lsof -i:
lsof参数:
-a:列出打开文件存在的进程;
-c<进程名>:列出指定进程所打开的文件;
-g:列出GID号进程详情;
-d<文件号>:列出占用该文件号的进程;
+d<目录>:列出目录下被打开的文件;
+D<目录>:递归列出目录下被打开的文件;
-n<目录>:列出使用NFS的文件;
-i<条件>:列出符合条件的进程。(、、协议、:端口、 @ip )
-p<进程号>:列出指定进程号所打开的文件;
-u:列出UID号进程详情;
-h:显示帮助信息;
-v:显示版本信息。
根据进程号查看对应的信息
netstat -anop | grep PID
iftop流量监控
安装:
apt install iftop -y
查看流量占用情况:
iftop -i eth1 -P
-P 参数会将请求服务的端口显示出来,也就是说是通过服务器哪个端口建立的连接,看内网流量执行 iftop -i eth0 -P 命令。 (默认情况下 eth0 为内网网卡,eth1 为外网网卡)
知道IP如何查看MAC地址
先ping 已知的IP地址,然后查看arp缓存表
ping 192.168.1.252
cat /proc/net/arp
ln 软连接
软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息,
软链接就是ln -s ** **,它会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。
ln -s 源文件 目标文件
比如:
ln -s /usr/local/php/bin/php /usr/bin/php
swap交换分区的手动清除和刷新
物理内存接近饱和时,系统会自动将不常用的内存文件转储到SWAP中,但SWAP使用率达30%的时候对系统性能可能有一定影响。
关闭swap swapoff -a 开启swap swapon -a
刷新就是执行上述的先关闭再打开的两命令(关闭/重启swap),去刷新一次SWAP(将SWAP里的数据转储回内存,并清空SWAP里的数据)
sudo swapoff -a && sudo swapon -a
格式U盘与修改磁盘卷标名称
先查询介质序号
sudo fdisk -l
取消挂载
sudo umount /dev/sdb*
格式化:
sudo mkfs.ntfs /dev/sdb*
sudo mkfs.ext4 /dev/sdb*
sudo mkfs.vfat -F /dev/sdb*
当格式化为NTFS时,要先安装"ntfs-3g",不过系统一般都是自带(Ubuntu14.04之后衍生)
修改磁盘卷标名称
sudo ntfslabel /dev/sdb* user_change_title
shell中的竖线(|)管道符号
管道符号,是unix一个很强大的功能,符号为一条竖线:"|"。
用法: command 1 | command 2 他的功能是把第一个命令command 1执行的结果作为command 2的输入传给command 2
例如:
cat /etc/passwd
root:x:::root:/root:/bin/bash
daemon:x:::daemon:/usr/sbin:/usr/sbin/nologin
bin:x:::bin:/bin:/usr/sbin/nologin
sys:x:::sys:/dev:/usr/sbin/nologin
sync:x:::sync:/bin:/bin/sync
games:x:::games:/usr/games:/usr/sbin/nologin
man:x:::man:/var/cache/man:/usr/sbin/nologin
lp:x:::lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:::mail:/var/mail:/usr/sbin/nologin
news:x:::news:/var/spool/news:/usr/sbin/nologin
uucp:x:::uucp:/var/spool/uucp:/usr/sbin/nologin
加上|head -n1 之后
cat /etc/passwd|head -n1
root:x:::root:/root:/bin/bash
awk命令
awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入(stdin)、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk有很多内建的功能,比如数组、函数等,这是它和C语言的相同之处,灵活性是awk最大的优势。
更多详情:http://man.linuxde.net/awk
awk脚本基本结构
awk 'BEGIN{ print "start" } pattern{ commands } END{ print "end" }' file
一个awk脚本通常由:BEGIN语句块、能够使用模式匹配的通用语句块、END语句块3部分组成,这三个部分是可选的。任意一个部分都可以不出现在脚本中,脚本通常是被单引号或双引号中,例如:
awk 'BEGIN{ i=0 } { i++ } END{ print i }' filename
awk "BEGIN{ i=0 } { i++ } END{ print i }" filename
{ }类似一个循环体,会对文件中的每一行进行迭代,通常变量初始化语句(如:i=0)以及打印文件头部的语句放入BEGIN语句块中,将打印的结果等语句放在END语句块中。
打印每一行的第二和第三个字段:
awk '{ print $2,$3 }' filename
kill掉特定端口的进程
应用到了以面的losf、管道符号、awk等命令
依8080端口为例:
kill ` lsof -i: | awk '{print $2}' `
清空文件
需要清空某个文件的时候使用
cat /dev/null > file.log
/dev/null 是一个特殊的设备,放入里面的任何文件、文件夹都被丢弃。如果要获取return的值,永远是true。
tail -f 跟踪文件的变化
打印日志文件的最后100行,监控文件变化,当有新记录产生时。refresh
tail -f -n /logs/apache.log
关闭时间同步
因需要修改本地时间满足web需求,问题是每次修改完时间,系统又自动会同步时间。此时关闭NTP服务即可,Network Time Protocol(网络时间协议)
timedatectl set-ntp off # 关闭时间同步
timedatectl set-ntp on # 开启时间同步
nmap命令 端口扫描1-65535
计算机共有端口65535个,其中;
公认端口(Well Known Ports):0-1023,系统自身用
注册端口(Registered Ports):1024-49151,松散的绑定了一些服务
动态/私有:49152-65535,不为服务分配这些端口
nmap -sT -sV -Pn -v 127.0.0.1 -p -
sT:表示扫描用的是Tcp扫描
sV:表示显示服务版本号
Pn:表示被扫描的机器与本机的三次握手
-v: 表示详细信息
【127.0.0.1】: 被扫描IP
-p:代表要扫描端口号
扫描某IP结果:
PORT STATE SERVICE VERSION
/tcp open ssh OpenSSH .6p1 Ubuntu 4ubuntu0. (Ubuntu Linux; protocol 2.0)
/tcp open http nginx
/tcp open mysql MySQL 5.6.-0ubuntu0.14.04.
/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2. (Ubuntu Linux; protocol 2.0)
/tcp open vnc VNC (protocol 3.8)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kerne
当前目录文件大小
du -h -d # 显示当前目录下所有一级子目录的大小
du -sh #显示当前目录的总大小