常用命令

命令的具体用法可直接在手册中(https://www.linuxcool.com/open in new window )查询

常用命令列表

ps:查看进程

  • ps -ef 是否有进程
  • ps -ef | grep xxx:管道筛选相应进程

grep:管道

  • ps -ef | grep redis:查看启动的 redis 进程
  • ps -ef | grep nginx:查看启动的 nginx 进程
  • ps -ef | grep node:查看启动的 node 进程

pwd:查看所在目录位置

ifconfig:查看网络设备信息

free:检查内存

  • free -h:查看内存,显示单位

df -lh:查看磁盘空间

mkdir:新建目录

du:查看占用空间

  • du -sh *:查看目录下的各个文件所占内存

uname:查看是什么系统

  • uname -a:查看系统全部信息
  • uname -r:查看系统版本

yum:安装

which:查看安装位置

wget:下载安装包

tar:解压

  • tar -zxvf xxxx.tar.gz:解压文件

help:帮助手册

find:查找

  • find -name '*.jar'
  • find / -name redis.conf

cp:复制

mv:改名

  • mv code-react-app app

nohup:后台启动程序

  • nohup xxx &:后台启动程序

jobs:查看后台程序

netstat:

  • netstat -ntlp:查看占用的端口

tail:

  • tail -n 10:查看最新的10行日志

sz:下载

  • sz error.log:下载日志到本地

kill:杀掉进程

  • kill -9 xx(进程号)
  • 通过 ps -ef 来查找进程

chmod:提高文件权限

  • chmod 600 start.sh

安装软件

yum(Ubuntu apt)安装软件

apt-get:centos

公钥信任

# 生成公钥
ssh-keygen -t rsa -P ''

[johan@iZuf61fxudjflq5eqyrnwpZ ~]:~$ ssh-keygen
...
The key fingerprint is:
SHA256:IeFPfrcQ3hhP64SRTAFzGIHl2ROcopl5HotRi2XNOGk [johan@iZuf61fxudjflq5eqyrnwpZ ~]
The key's randomart image is:
+---[RSA 2048]----+
|      .o*@=o     |
|     ..oEB=o     |
|      o@=+O .    |
|      B=+o @ .   |
|       =So* *    |
|      . o. = .   |
|            o    |
|                 |
|                 |
+----[SHA256]-----+

# 查看公钥
cat .ssh/id_rsa.pub 

# 将公钥拷贝到服务器
scp ~/.ssh/id_rsa.pub root@47.102.152.XXX:/root

# 将公钥加入信任列表
cat id_dsa.pub >> ~/.ssh/authorized_keys

SSH登录

# root 为用户名
# ip地址
ssh root@47.102.152.XXX

系统信息

  • uname:查看系统细心
  • hostname:查看主机名
  • cat /proc/cpuinfo:查看 CPU 信息
  • lsmod:查看已加载的系统模块
  • top:查看系统使用情况
  • df:查看系统使用情况
  • fdisk:查看磁盘分区
  • du:查看目录使用情况
  • iostat:查看 I/O 使用情况
  • env:查看环境变量
  • uptime:查看系统运行时间、用户数、负载

系统操作

  • shutdown:关机
  • reboot:重启
  • mount:挂载设备
  • umount:卸载设备

用户相关

  • su:切换用户
  • sudo:以管理员身份执行
  • who:查看当前用户名
  • ssh:远程连接
  • logout:注销
  • useradd:创建用户
  • userdel:删除用户
  • usermod:修改用户
  • groupadd:创建用户组
  • groupdel:删除用户组
  • groupmod:修改用户组
  • passwd:修改密码
  • last:显示用户或终端的登录情况

文件相关

  • cd:切换目录
  • ls:查看目录列表
  • tree:打印目录数
  • mkdir:创建目录
  • rm:删除目录
  • touch:新建文件
  • cp:复制文件
  • mv:移动文件
  • ln:创建文件链接
  • find:搜索文件
  • locate:定位文件
  • whereis:查看可执行文件路径
  • which:在 PATH 指定的路径中,搜索某系统命令的位置
  • chmod:设置目录权限
  • cat/more/less:查看文件
  • tac:倒叙查看文件
  • head/tail:查看文件开头/ 结尾
  • paste:合并文件
  • zip/tar/gzip:压缩文件
  • unzip/tar/gunzip:解压文件
  • grep/sed/awd:文本处理
  • vim:文本编辑

程序相关

  • cronab:计划任务
  • nohup:后台运行程序
  • jobs:查看i系统任务
  • ps:查看进程
  • kill:杀死进程
  • rpm/yum/apt/apt-get/dpkg:软件包管理
  • service/systemctl:服务管理

网络相关

  • ifconfig:查看网络属性

  • netstat:查看网络状态

    • 常用命令:netstat -ntlp
  • iptables:查看 iptables 规则

其他

  • date 显示系统时间
  • cal 显示日历
  • history 显示与操作历史
  • help 帮助
  • alias 别名

系统工作命令

echo命令

echo命令用于在终端设备上输出字符串或变量提取后的值,语法格式为「echo [字符串] [$变量]」

ps命令

ps命令用于查看系统中的进程状态,英文全称为“processes”,语法格式为「ps [参数]」

  • ps -ef | gref nginx

系统状态检测命令

ifconfig

ifconfig命令用于获取网卡配置与网络状态等信息,英文全称为“interface config”,语法格式为「ifconfig [参数] [网络设备]」

uname

uname命令用于查看系统内核版本与系统架构等信息,英文全称为“unix name”,语法格式为「uname [-a]」

uptime

uptime命令用于查看系统的负载信息,输入该命令后按回车键执行即可

free

free命令用于显示当前系统中内存的使用量信息,语法格式为「free [-h]」

who

who命令用于查看当前登入主机的用户终端信息,输入该命令后按回车键执行即可

last

last命令用于调取主机的被访记录,输入该命令后按回车键执行即可

ping

ping命令用于测试主机之间的网络连通性,语法格式为「ping [参数] 主机地址」

tracepath

tracepath命令用于显示数据包到达目的主机时途中经过的所有路由信息,语法格式为「tracepath [参数] 域名」

netstat

netstat命令用于显示如网络连接、路由表、接口状态等的网络相关信息,英文全称为“network status”,语法格式为「netstat [参数]」

history

history命令用于显示执行过的命令历史,语法格式为「history [-c]」

查找定位文件命令

grep命令

grep命令用于按行提取文本内容,语法格式为「grep [参数] 文件名称」

环境变量

命令说明
set显示当前 Shell 所有变量,包括其内奸环境,用户自定义变量及到处的环境变量
env显示与当前用户相关的环境变量,还可以让命令在指定环境中运行
export显示从 Shell 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变量

临时生效:使用 export 命令行声明即可,变量在关闭 shell 时失效

export NODE_ENV=production
echo $NODE_ENV
# production

立即让他生效

source .zshrc

永久生效

这里介绍两个重要文件 /etc/bashrc(有的 Linux 没有这个文件) 和 /etc/profile ,它们分别存放的是 shell 变量和环境变量。还有要注意区别的是每个用户目录下的一个隐藏文件

ls -a

搜索文件

whereis,which,find,locate

whereis 只能搜索二进制文件(-b),man 帮助文件(-m)和源代码文件(-s)。如果想要获得更全面的搜索结果可以使用 locate 命令

  • locate 快而全

  • which 小而精

which 本身是 Shell 内建的一个命令,我们通常使用 which 来确定是否安装了某个指定的程序,因为它只从 PATH 环境变量指定的路径中去搜索命令并且返回第一个搜索到的结果。也就是说,我们可以看到某个系统命令是否存在以及执行的到底是哪一个地方的命令。

  • find 精而细

find 应该是这几个命令中最强大的了,它不但可以通过文件类型、文件名进行查找而且可以根据文件的属性(如文件的时间戳,文件的权限等)进行搜索。find 命令强大到,要把它讲明白至少需要单独好几节课程才行,我们这里只介绍一些常用的内容。

《黑客帝国》电影里满屏幕代码的“数字雨”,在 Linux 里面你也可以轻松实现这样的效果,你只需要一个命令 cmatrix

sudo apt-get update
sudo apt-get install cmatrix

场景应用

后台开启任务

nohup xxx &
# 例如 nohup xeyes &

杀掉进程

sudo kill -9 501

参考资料

Last Updated:
Contributors: johan