前言
我们的应用一般都部署到Linux上,这就免不了学习Linux的命令,来进行解决问题。根据经验,常用命令基本上在遗忘之前就会再次使用,所以记住的很自然,偶尔使用的命令在下次使用时依然有印象,经过几次也能记住,更重要的还是命令行还是有规律可循的。现在将常用命令行记录一下,以备今后翻阅,以及加深印象。
日志相关命令
折叠语法貌似有问题,答案放在了后面
1.查看日志大小
2.查看即时之后的日志
3.查询从1000行开始之后的日志
4.查询日志文件中的头10行日志
5.查询日志文件除了最后10行的其他所有日志
6.查看某两个时间段日志的命令(注意:时间不存在,则会失效,斜杠需要转义)
7.将文件传至闲置服务器
答案
1.ls -lh text.log
2.tail -f text.log
3.tail -n -1000 text.log
4.head -n 10 text.log
5.head -n -10 text.log
6.sed -n '/2021-06-04 14:05/,/2021-06-04 14:06/p' test.log
7.scp test.log root@192.168.1.100:/home/
增加文件权限
chmod u+x *.sh
1. u 代表所有者;
2. + 表示增加权限;
3. x 代表执行权限;
4. r 代表读取权限
5. w 代表写入权限
6. *.sh 表示当前目录下所有 .sh 文件。
进程网络端口相关
ss相较于netstat性能更好
查看tcp状态
- netstat -napt
查看服务端口
- netstat -anlp | grep 进程号
查询服务的进程
- ps -ef | grep 服务名
查看网络配置
- ip -s addr show dev eth0
socket信息 查看
ss -nlp
- -n 表示不显示名字,而是以数字方式显示ip和端口
- -l 表示只显示LISTEN状态的socket
- -p 表示显示进程信息
ss -ltnp
- -l 表示只显示LISTEN状态的socket
- -t 表示只显示tcp连接
- -n 表示不显示名字,而是以数字方式显示ip和端口
- -p 表示显示进程信息
协议栈统计信息
- ss -s
网络吞吐率和PPS查看
sar -n DEV,显示网口统计数据
IFACE:LAN接口 rxpck/s:每秒钟接收的数据包 txpck/s:每秒钟发送的数据包 rxbyt/s:每秒钟接收的字节数 txbyt/s:每秒钟发送的字节数 rxcmp/s:每秒钟接收的压缩数据包 txcmp/s:每秒钟发送的压缩数据包 rxmcst/s:每秒钟接收的多播数据包
sar -n EDEV,显示关于网络错误的统计数据
IFACE:LAN接口 rxerr/s:每秒钟接收的坏数据包 txerr/s:每秒钟发送的坏数据包 coll/s:每秒冲突数 rxdrop/s:因为缓冲充满,每秒钟丢弃的已接收数据包数 txdrop/s:因为缓冲充满,每秒钟丢弃的已发送数据包数 txcarr/s:发送数据包时,每秒载波错误数 rxfram/s:每秒接收数据包的帧对齐错误数 rxfifo/s:接收的数据包每秒FIFO过速的错误数 txfifo/s:发送的数据包每秒FIFO过速的错误数
- sar -n TCP,显示TCP的统计数据
带宽查看
- ethtool eth0 | grep Speed
测试本机与www.baidu.com连通性和延时
- ping www.baidu.com -c 5
文件挂载
linux系统NFS服务端配置方法如下
(1)修改 /etc/exports,增加共享目录
/export/home/sunky 10.140.133.23(rw) /export/home/sunky1 *(rw) /export/home/sunky2 linux-client(rw)
注:/export/home/目录下的sunky、sunky1、sunky2是准备共享的目录,10.140.133.23、*、
linux-client是被允许挂接此共享linux客户机的IP地址或主机名。如果要使用主机名linux-client必须在服务端主机
/etc/hosts文件里增加linux-client主机ip定义。格式如下:10.140.133.23 linux-client
(2)启动与停止NFS服务
/etc/rc.d/init.d/portmap start (在REDHAT中PORTMAP是默认启动的) /etc/rc.d/init.d/nfs start 启动NFS服务 /etc/rc.d/init.d/nfs stop 停止NFS服务
注:若修改/etc/export文件增加新的共享,应先停止NFS服务,再启动NFS服务方能使新增加的共享起作用。
使用命令exportfs -rv也可以达到同样的效果。linux客户端挂接(mount)其他linux系统或UNIX系统的NFS共享
# mkdir –p /mnt/nfs
注:建立一个目录用来作挂接点(mount point)
#mount -t nfs -o rw 10.140.133.9:/export/home/sunky /mnt/nfs
注:这里我们假设10.140.133.9是NFS服务端的主机IP地址,当然这里也可以使用主机名,但必须在本机/etc/hosts文件里增加服务端ip定义。/export/home/sunky为服务端共享的目录。
如此就可以在linux客户端通过/mnt/nfs来访问其它linux系统或UNIX系统以NFS方式共享出来的文件了。
以上操作在 redhat as server 3、redflag server4.1、suse server 9以及Solaris 7、Solaris 8、Solaris 9 for x86&sparc环境下测试通过。查看磁盘使用情况与挂载点
df -h
Filesystem指的是系统上的硬件设备文件 Size指的是硬盘或者分区的总大小。 Used表示已经使用的大小 Avail表示可以使用的大小。 Use%表示已经使用的空间所占的百分比。 mounted on表示硬盘挂载到哪个目录下。
top命令的使用
top
top - 系统当前时间 up 系统已开机多长时间 user 当前用户数 load average cpu平均负载,三个数值分别为,1分钟,5分钟,15分钟 Tasks 系统当前进程数,total:总进程数,running:正在运行的进程数,sleeping:睡眠的进程数,stopped:停止的进程数,zombie:僵尸进程数 %Cpu(s) cpu使用率,us:用户使用cpu百分百,sy:系统内核使用cpu百分百,id:剩余的cpu百分百 Mem 内存使用信息,total:总内存大小,free:空闲的内存,used:已使用的内存,buff/cache:缓存的内存大小 Swap 虚拟内存信息 PID 进程id USER 进程所有者 PR 优先级 NI nice值,负值表示高优先级,正值表示低优先级 VIRT 进程使用的虚拟内存总量 RES 进程使用的物理内存大小 SHR 共享内存大小 S 进程状态,D:不可中断的睡眠状态,R:运行,S:睡眠,T:跟踪/停止,Z:僵尸进程 %CPU 进程使用的CPU占用百分比 %MEM 进程使用的物理内存百分比 TIME+ 进程使用的CPU时间总计 COMMAND 命令名
查看进程中的线程情况:
top -Hp pid
find命令
find + 目录 + 条件 + 条件值
在/home下查找所有以 .txt 结尾的文件: find /home -name “*.txt" -type 为类型参数 f 表示文件 d 表示目录 c 表示字符设备 b 表示块设备 s 表示套接字 l 表示链接 查找/mnt下的子目录:find /mnt -type d
配置环境变量
在
/etc/profile
或者用户目录下的.profile
文件中配置环境变量export GOROOT=/usr/local/go export GOPATH=/home/william/goProject export GOBIN=$GOPATH/bin export PATH=$PATH:$GOROOT/bin export PATH=$PATH:$GOPATH/bin
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。