Linux常用命令记录

前言

我们的应用一般都部署到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

文件挂载

  1. 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也可以达到同样的效果。

  2. 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

你可能感兴趣的:(linux)