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
公钥信任
# 生成公钥
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 | 显示当前 bash 所有变量,包括其内奸环境,用户自定义变量及到处的环境变量 |
env | 显示与当前用户相关的环境变量,还可以让命令在指定环境中运行 |
export | 显示从 bash 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变量 |
临时生效:使用 export 命令行声明即可,变量在关闭 bash 时失效
export NODE_ENV=production
echo $NODE_ENV
# production
立即让他生效
source .zshrc
永久生效
这里介绍两个重要文件 /etc/bashrc
(有的 Linux 没有这个文件) 和 /etc/profile
,它们分别存放的是 bash 变量和环境变量。还有要注意区别的是每个用户目录下的一个隐藏文件
ls -a
搜索文件
whereis,which,find,locate
whereis
只能搜索二进制文件(-b
),man 帮助文件(-m
)和源代码文件(-s
)。如果想要获得更全面的搜索结果可以使用 locate
命令
locate 快而全
which
小而精
which
本身是 bash 内建的一个命令,我们通常使用 which
来确定是否安装了某个指定的程序,因为它只从 PATH
环境变量指定的路径中去搜索命令并且返回第一个搜索到的结果。也就是说,我们可以看到某个系统命令是否存在以及执行的到底是哪一个地方的命令。
find
精而细
find
应该是这几个命令中最强大的了,它不但可以通过文件类型、文件名进行查找而且可以根据文件的属性(如文件的时间戳,文件的权限等)进行搜索。find
命令强大到,要把它讲明白至少需要单独好几节课程才行,我们这里只介绍一些常用的内容。
《黑客帝国》电影里满屏幕代码的“数字雨”,在 Linux 里面你也可以轻松实现这样的效果,你只需要一个命令 cmatrix
sudo apt-get update
sudo apt-get install cmatrix
场景应用
后台开启任务
nohup xxx &
# 例如 nohup xeyes &
杀掉进程
sudo kill -9 501
先说下使用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/
更新系统
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 | 设置密码 |