linux常用命令汇总

1、linux系统基础操作命令

  • 基础命令
    命令 作用
    lscpu 显示cpu架构信息
    uname -a 查看系统信息
    cat /proc/cpuinfo 查看CPU详细信息
    free -m 内存使用情况
    lsblk 列出块设备,其中,TYPE=disk表示硬盘。
    df 查看硬盘使用情况
    df -i 硬盘inode使用情况
    cat /proc/version Linux查看当前操作系统版本信息
    lsb_release -a 查看系统版本信息的命令
    ifconfig
    or ip addr
    查看ip
    crontab -e 查看编辑定时脚本
    nohup ./rsync.sh & nohup 的用途就是让提交的命令忽略 hangup 信号,标准输出和标准错误缺省会被重定向到 nohup.out 文件中。。一般我们可在结尾加上”&”来将命令同时放入后台运行,也可用” > log.out 2>&1”来更改缺省的重定向文件名。
    du -ahskm 文件或者目录名 查看文件大小
    参数:
    -a : 列出所有的文件与目录容量,因为默认仅统计目录的容量而已
    -h: 以人们较易读的容量格式呈现(G/M/K)显示,自动选择显示的单位大小
    -s : 列出总量而已,而不列出每个个别的目录占用容量
    -k : 以KB为单位进行显示
    -m : 以MB为单位进行显示常用命令参考
    wc -clmw 输入流 可用于统计行数,字节数和字符数等,而用于统计命令执行结果的数量的时候非常有效。
    参数:
    -c 统计字节数。
    -l 统计行数。
    -m 统计字符数。这个标志不能与 -c 标志一起使用。
    -w 统计字数。注意,这里的字指的是由空格,换行符等分隔的字符串。

2、tar压缩和解压文件

  • 基础命令
    命令 作用
    tar -zcvf test.tar.gz ./test/ 压缩当前文件夹下的文件夹test,压缩后缀名为test.tar.gz
    tar -cvf test.tar ./test/ 压缩当前文件夹下的文件夹test,压缩后缀名为test.tar
    tar -xzvf test.tar.gz 把后缀为.tar.gz的文件解压到当前文件夹下。
    tar -xzvf test.tar.gz -C /home/test/ 将后缀为.tar.gz的文件夹解压到/home/test/文件夹下
    tar -xvf test.tar 把后缀为.tar的文件解压到当前文件夹下。
    tar -xvf test.tar -C /home/test/ 将后缀为.tar的文件夹解压到/home/test/文件夹下

3、ubuntu安装软件apt工具命令

  • 基础命令
    命令 作用
    apt update 从软件源服务器获取最新的软件信息并缓存到本地。因为很多apt的其他命令都是要通过比对版本信息来进行操作的,如果每次都去对比线上的版本信息效率肯定不理想,也没必要,所以做了一个缓存的机制。
    apt upgrade 从本地仓库中对比系统中所有已安装的软件,如果有新版本的话则进行升级
    apt list 列出本地仓库中所有的软件包名
    apt list [package] 从本地仓库中查找指定的包名,支持通配符,比如”apt list zlib*”就能列出以zlib开头的所有包名
    apt list –installed 列出系统中所有已安装的包名
    apt search [key] 与list类似,通过给出的关键字进行搜索,列出所有的包和其描述
    apt show [package] 列出指定包的详细情况,包名要填写完整。
    apt install [package] 安装指定的包,并同时安装其依赖的其他包。
    apt remove [package] 卸载包,但不删除相关配置文件。包名支持通配符
    apt autoremove 卸载因安装软件自动安装的依赖,而现在又不需要的依赖包
    apt purge [package] 卸载包,同时删除相关配置文件。包名支持通配符
    apt clean 删除所有已下载的软件包
    apt autoclean 类似clean,但删除的是过期的包(即已不能下载或者是无用的包)

4、ps查看进程运行状态

  • 基础命令

    属性 作用
    -A 显示所有进程(等价于-e)(utility)
    -a 显示一个终端的所有进程,除了会话引线
    -N 忽略选择。
    -d 显示所有进程,但省略所有的会话引线(utility)
    -x 显示没有控制终端的进程,同时显示各个命令的具体路径。dx不可合用。(utility)
    -p pid 进程使用cpu的时间
    -u uid or username 选择有效的用户id或者是用户名
    -g gid or groupname 显示组的所有进程。
    U username 显示该用户下的所有进程,且显示各个命令的详细路径。如:ps U zhang;(utility)
    -f 全部列出,通常和其他选项联用。如:ps -fa or ps -fx and so on.
    -l 长格式(有F,wchan,C 等字段)
    -j 作业格式
    -o 用户自定义格式。
    v 以虚拟存储器格式显示
    s 以信号格式显示
    -m 显示所有的线程
    -H 显示进程的层次(和其它的命令合用,如:ps -Ha)(utility)
    e 命令之后显示环境(如:ps -d e; ps -a e)(utility)
    h 不显示第一行
  • 组合命令使用技巧

    • 查看应用程序的启动用户
      ps aux | grep "nginx: worker process" | awk '{print $1}'

5、netstat查看网络连接状态

  • 基础命令

    属性 作用
    -a 或–all 显示所有连线中的Socket。
    -A <网络类型>或–<网络类型> 列出该网络类型连线中的相关地址。
    -c 或–continuous 持续列出网络状态。
    -C 或–cache 显示路由器配置的快取信息。
    -e 或–extend 显示网络其他相关信息。
    -F 或 –fib 显示FIB。
    -g 或–groups 显示多重广播功能群组组员名单。
    -h 或–help 在线帮助。
    -i 或–interfaces 显示网络界面信息表单。
    -l 或–listening 显示监控中的服务器的Socket。
    -M 或–masquerade 显示伪装的网络连线。
    -n 或–numeric 直接使用IP地址,而不通过域名服务器。
    -N 或–netlink或–symbolic 显示网络硬件外围设备的符号连接名称。
    -o 或–timers 显示计时器。
    -p 或–programs 显示正在使用Socket的程序识别码和程序名称。
    -r 或–route 显示 Routing Table。
    -s 或–statistice 显示网络工作信息统计表。
    -t 或–tcp 显示TCP 传输协议的连线状况。
    -u或–udp 显示UDP传输协议的连线状况。
    -v或–verbose 显示指令执行过程。
    -V 或–version 显示版本信息。
    -w或–raw 显示RAW传输协议的连线状况。
    -x或–unix 此参数的效果和指定”-A unix”参数相同。
    –ip或–inet 此参数的效果和指定”-A inet”参数相同。
  • 组合命令使用技巧

    • 清除陷入CLOSE_WAIT的进程
      netstat -nap |grep :1024|grep appname|grep CLOSE_WAIT | awk '{print $7}'|awk -F"\/" '{print $1}' |awk '!a[$1]++' |xargs kill

6、防火墙操作命令

  • 基础命令
    命令 作用
    firewall-cmd –state
    or systemctl status firewalld.service
    查看防火墙运行状态
    systemctl stop firewalld.service 关闭防火墙
    systemctl start firewalld.service 开启防火墙
    systemctl restart firewalld.service 重启防火墙
    systemctl enable firewalld.service 在开机时启动一个服务(这里启动防火墙)
    systemctl disable firewalld.service 在开机时禁止一个服务(这里禁止防火墙)
    systemctl is-enabled firewalld.service;echo $? 查看一个服务是否开机启动
    systemctl list-unit-files |grep enable 查看已启动的服务列表
    systemctl status 服务名称 显示一个服务的状态
    firewall-cmd –zone=public –list-ports 查看开启了哪些端口
    firewall-cmd –list-services 查看开启了哪些服务
    firewall-cmd –zone=public –remove-port=80/tcp –permanent 删除端口
    firewall-cmd –zone=public –add-port=8080/tcp –permanent 添加端口外部访问权限
    firewall-cmd –reload 重新载入,添加端口后重新载入才能起作用
    firewall-cmd –get-services 查看还有哪些服务可以打开

7、服务器性能监测

  • 基础命令
    命令 使用
    top 能够实时监控系统的运行状态,并且可以按照cpu及内存等进行排序;
    参数
    -p:监控指定的进程,当监控多个进程是,进程ID以逗号隔开
    监控时指令
    M:按内存使用率排序
    P:按CPU使用率排序
    z:彩色/黑白显示
    属性意义
    load average:系统的运行队列的平均利用率,也可以认为是可运行进程的平均数。三个值分别表示在最后1分钟、5分钟、15分钟的平均负载值;
    us:user
    sy:system
    id:idle 空闲
    Mem:内存
    Swap:虚拟内存
    vmstat 可以监控操作系统的进程状态、内存、虚拟内存、磁盘IO、cpu;
    语法
    vmstat -a -n -S unit delay count
    -S:使用指定单位显示。参数有k、K、m、M、分别表示1000、1024、1000000、1048576字节(byte)。默认单位为K(1024bytes)
    vmstat num1 num2
    内存、cpu的动态监控:第1个参数:时间间隔 第2个参数:显示次数
    mpstat mpstat最大的特点:可以查看多核心cpu中每个计算核心的统计数据;当没有参数时,mpstat则显示系统启动以后所有信息的平均值;有internal时,第一行的信息来自系统启动以来的平均信息;从第二行开始,输出为前一个internal时间段的平均信息;
    语法
    mpstat -p num internal count
    -P 标识监控哪个CPU,cpu在[0,cpu个数-1]中取值
    -A 监控所有cpu,分开显示
    internal:相邻的两次采样的间隔时间
    count:采样的次数,count只能和delay一起
    使用案例
    mpstat -P 0 (监控cpu 0)
    mpstat 1 5 (间隔1秒,监控5次)
    free 能够监控系统的内存使用状态。其中,total:总计物理内存的大小;
    语法
    free:统计的单位是K
    free -m:统计出的单位是M
    属性意义
    Used:已使用多大
    Free:可用有多少
    shared:多个进程共享的内存总额
    buffers/cached:磁盘缓存的大小

8、用户管理操作

  • 基础命令
    命令 使用
    useradd username 使用root账户创建新用户
    passwd username 修改新增的用户的密码
    userdel username 删除用户
    usermod –l user username 将用户 username的登录名改为user
    usermod –g users user 将用户user加入到 users组中
    usermod –d /users/user username 将username的用户目录改为/users/user
    id user 查看一个用户的UID和GID
    finger user 查看用户的主目录、启动shell、用户名、地址、电话等信息
    groupadd –g 888 users 创建用户组
    gpasswd –a user users 把 user1加入users组
    gpasswd –d user users 把 user1退出users组
    groupmod –n user users 修改组名user为users
    groupdel users 删除组users
    useradd genpe -g users 创建genpe用户并添加到users组中

9、配置环境变量

  • 打开文件profile:vim /etc/profile
  • 在profile文件中添加环境变量
    1
    2
    3
    4
    export JAVA_HOME=/home/software/jdk1.8.0_65
    export JRE_HOME=/home/software/jdk1.8.0_65/jre
    export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
    export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
  • 使环境变量生效:source /etc/profile
  • 查看环境变量信息:echo $PATH

最后更新: 2021年01月30日 11:33

原始链接: http://genpe.top/2020/09/22/Linux/linux%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4/