Linux下常用的shell命令记录

以下是我在学习linux系统时整理的常用或有用的系统级命令,包括软硬件查看、修改命令,有CPU、内存、硬盘、网络、系统管理等命令。

硬件篇

 CPU相关

  lscpu                           #查看的是cpu的统计信息。

  cat /proc/cpuinfo        #查看CPU信息详细信息,如每个CPU的型号,主频等

 内存相关

  free -m                          #概要查看内存情况  这里的单位是MB

  cat /proc/meminfo        #查看内存详细信息

 磁盘相关

  lsblk                             #查看硬盘和分区分布,显示很直观

  df -h                             #查看各分区使用情况

  cat /proc/partitions      #查看硬盘和分区

  mount | column -t        #查看挂接的分区状态

 网卡相关

  lspci | grep -i 'eth'       #查看网卡硬件信息

  ifconfig -a                   #查看系统的所有网络接口

  ethtool eth0                #如果要查看某个网络接口的详细信息,例如eth0的详细参数和指标

软件篇

 内核相关

  uname -a                         #查看版本当前操作系统内核信息)

     cat /proc/version              #查看当前操作系统版本信息

  cat /etc/issue                   #查看版本当前操作系统发行版信息

  cat /etc/redhat-release    #同上

  cat /etc/SuSE-release      #suse系统下才可使用

  lsb_release -a                  #用来查看linux兼容性的发行版信息

  lsmod                               #列出加载的内核模块

 网络

  ifconfig                             #查看所有网络接口的属性

  iptables -L                       #查看防火墙设置

  service iptables status #查看防火墙状态

  service iptables stop    #关闭防火墙

  route -n                            #查看路由

  netstat -lntp                     #查看所有监听端口

  netstat -antp                   #查看所有已经建立的连接

  netstat -s                         #查看网络统计信息进程

  netstat -at                        #列出所有tcp端口

  netstat -au                      #列出所有udp端口

  netstat -lt                        #只列出所有监听tcp端口

 系统管理

  top                                  #查看系统所有进程的详细信息,比如CPU、内存等,信息很多!

  df -lh                               #查看硬盘大小及使用率

  mount                             #挂接远程目录、NFS、本地共享目录到linux下

  hostname                       #查看/修改计算机名

  w                                      #查看活动用户

  id                                      #查看指定用户信息

  last                                   #查看用户登录日志

  cut -d: -f1 /etc/passwd   #查看系统所有用户

  cut -d: -f1 /etc/group      #查看系统所有组

  crontab -l                           #查看当前用户的计划任务服务

  chkconfig –list                   #列出所有系统服务

  chkconfig –list | grep on    #列出所有启动的系统服务程序

  rpm -qa                             #查看所有安装的软件包

  uptime                               #查看系统运行时间、用户数、负载

  /sbin/chkconfig --list          #查看系统自动启动列表

  /sbin/chkconfig –add mysql    #把MySQL添加到系统的启动服务组里面

 文件相关

  ls -lht                        #列出一个文件夹下所有文件及大小、访问权限

  du -sh <dir>             #查看指定目录的大小

  du -lh <dir>              #查看指定目录及各文件的大小

  ln -s                         #建立软链接

 进程相关

  pstree -p pid             #查看一个进程下的所有线程

  pstree  -a                  #显示所有进程的所有详细信息,遇到相同的进程名可以压缩显示。

  ps -ef                        #查看所有进程

  kill -9 pid                   #杀死进程

  kill all test                  #杀死进程

  kill -9 `pgrep test`      #杀死进程

  ./test.sh &                  #使程序在后台运行

  nohup ./test.sh &       #使程序在后台运行

      压缩解压缩

  zip -r dir.zip dir file     #将目录dir、文件file等压缩到zip包,

  zip -re dir.zip dir file   #创建zip包,且加密

  unzip dir.zip               #解压

  tar -zcvf dir.tar.gz dir file    #将目录dir、文件file等压缩到tar包

  tar -xf dir.tar.gz          #解压

  screen命令

  (screen命令组最大的好处就是当你的shell退出或关闭后,你运行的服务不会关系,也就是说,我们可以在screen里开启一组服务,且不受终端断开的影响。)

  screen -S test          #创建一个名字为test的screen

  screen -r test           #打开名字为test的screen

  screen -r pid            #打开进程号为pid的screen

  screen -ls                #列出所有的screen

  ctrl + a,d              #当在一个screen时,退出screen

  ctrl + a,n              #当在一个screen时,切换到下一个窗口

  ctrl + a,c              #当在一个screen时,创建一个新的窗口

  scp命令

  scp local_file remote_username@remote_ip:remote_dir    #拷贝本地文件到远程机器上

  scp -r local_dir remote_username@remote_ip:remote_dir  #拷贝本地整个目录到远程机器上

  软件包安装管理命令

  假设你想要安装的软件包叫做app,注意,这里的命令通常需要sudo或者root权限。

  //centos系统、redhat系统

  rpm -qa | grep app          #查找本机是否安装了app;

  rpm -ivh app.rpm            #假设你有app的rpm包,这样直接安装

  sudo yum install app      #否则就在线安装

  yum update app             #更新app

  rpm -e app                      #删除已安装的app包

  //suse、opensuse系统

  zypper search app        #查找本机是否安装了app;

  zypper install app         #安装

  zypper update app        #更新

  zypper remove app       #删除

  zypper lr                   #列出所有已定义的安装源。

  zypper    ar               #添加新安装源。

  zypper    rr               #删除指定的安装源

  zypper    mr             #修改指定的安装源

  //ubuntu系统

  apt-get install app            #安装

  apt-get update app          #更新

  apt-get remove app         #删除

  apt-cache search app    #搜索软件包

  dpkg -i app.deb               #假设你有app的deb包,这样直接安装


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章