Skip to content

不要关注

Linux常用命令

文件目录基本操作

ls 列出目录文件

cat 查看文件

cd 切换目录

cp 复制文件目录

mv 移动文件

rm 删除文件目录

pwd 查看当前目录

mkdir 创建目录

touch 创建文件

系统信息

  • uname 查看系统信息
  • hostname 查看主机名
  • cat /proc/cpuinfo 查看 CPU 信息
  • lsmod 查看已加载的系统模块
  • top 查看系统使用情况
  • df 查看磁盘使用情况
  • fdisk 查看磁盘分区
  • du 查看目录使用情况
  • iostat 查看 I / O 使用情况
  • free 显示系统内存情况
  • 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 / awk 文本处理
  • vim 文本编辑

程序相关

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

网络相关

  • ifconfig 查看网络属性
  • netstat 查看网络状态
  • iptables 查看 iptables 规则

其他

  • date 显示系统时间

  • cal 显示日历

  • history 显示与操作历史

  • help 帮助

  • alias 别名

用户管理

  • 用户
  • 用户组
  • ACL 权限管理
  • 用户切换
  • 管理员

文件管理

  • 文件操作
    • 创建
    • 修改
    • 复制
    • 移动
    • 删除
  • 文件浏览
  • 文件搜索
  • 文件权限
  • 软硬链接
  • 压缩 / 解压

文本操作

  • 正则表达式
  • grep
  • sed
  • awk

VIM 编辑器

  • 基本操作

  • 模式

  • 快捷键

  • VIM 定制

  • 插件增强

送张 VIM 键盘图:

磁盘管理

  • 使用情况查询
  • 磁盘分区
  • 挂载

驱动管理

  • 驱动加载
  • 驱动更新
  • 网卡
  • 显卡

进程管理

  • 启动进程
  • 杀死进程
  • 查看进程
  • 前台 / 后台任务
  • 进程监控

计划任务

  • crond 服务
  • crontab 命令

网络管理

  • IP
  • 端口
  • 主机名
  • hosts
  • 网络配置
  • 网络状态
  • 网络监控

系统管理

  • 系统设置

    • 日期时间
    • 语言
    • 字符集
  • 系统服务

  • 环境变量

  • 日志

  • 系统关机 / 重启

  • 数据备份与恢复

服务管理

  • 服务查看
  • 启动服务
  • 禁用服务
  • 删除服务
  • 开机自启

软件管理

  • 软件包管理器

    • ⭐ rpm
    • ⭐ yum
    • apt
    • apt-get
    • dpkg
  • 软件安装

  • 软件更新

  • 软件卸载

  • 源码安装

常用软件 / 服务搭建

  • HTTP

  • Mail

  • NFS

  • DNS

  • FTP

  • mysql

  • LVS + Keepalived

  • Apache

  • Nginx

  • Redis

  • 日志服务

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

常用命令列表

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:查看系统版本
  • ls /etc/*release:查看发行版的版本号
  • lsb_release -a:⭐查询系统版本

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

公钥信任

bash
# 生成公钥
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登录

bash
# 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显示当前 bash 所有变量,包括其内奸环境,用户自定义变量及到处的环境变量
env显示与当前用户相关的环境变量,还可以让命令在指定环境中运行
export显示从 bash 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变量

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

bash
export NODE_ENV=production
echo $NODE_ENV
# production

立即让他生效

bash
source .zshrc

永久生效

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

bash
ls -a

搜索文件

whereis,which,find,locate

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

  • locate 快而全

  • which 小而精

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

  • find 精而细

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

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

bash
sudo apt-get update
sudo apt-get install cmatrix

场景应用

后台开启任务

bash
nohup xxx &
# 例如 nohup xeyes &

杀掉进程

bash
sudo kill -9 501

Ubuntu 的apt install 和卸载正确姿势

先说下使用apt installl 安装的包的卸载:

apt-get remove: 卸载软件 apt-get purge: 卸载软件和配置文件 apt-get autoremove: 移除没有使用的依赖 apt-get clean: 删除/var/cache/apt/archives/下的所有deb包 apt-get autoclean: 删除/var/cache/apt/archives/下的过期deb包

https://www.myfreax.com/how-to-use-apt-command/

如何在Ubuntu创建sudo用户

https://www.myfreax.com/how-to-create-a-sudo-user-on-ubuntu/

Linux source 命令

https://www.myfreax.com/bash-source-command/

更新系统

bash
apt update
apt list --upgradable
apt upgrade -y

Linux 命令

服务器硬件资源信息

  • 内存:free -m
  • 硬盘:df -h
  • 负债:w/top
  • cpu 个数和核数

文件操作命令

  • Linux 文件的目录结构

  • 文件基本操作

  • 文本编辑神器 Vim

  • 文件权限 421

  • 文件搜索,查找,读取

  • 文件压缩与解压

Liunx 文件目录结构
  • 根目录 /
  • 家目录 /home
  • 临时目录 /tmp
  • 配置目录 /etc
  • 用户程序目录 /usr
文件操作基本命令
命令解释
ls查看目录下的文件
touch新建文件
mkdir新建文件夹mkdir -p imooc_dir/test1/test2 层级创建
cd进入目录
rm删除文件和目录
cp复制
mv移动
pwd显示路径

文件搜索,查找,读取

命令解释
less可控分页
grep搜索关键字
find查找文件
wc统计个数
tail从文件尾部开始读
head从文件头部读
cat读取整个文件
more分页读取

文件解压缩

  • tar 命令

系统用户操作命令

命令解释
useradd添加用户
adduser添加用户
userdel删除用户
passwd设置密码

参考资料