linux常用命令

一、命令的基本格式

[用户名@主机名 ~]$ 命令 -参数选项 参数值

二、与文件有关的处理命令

命令:cd 目录

常规:
cd / 切换到根目录(系统目录)
cd /usr 切换到根目录下的usr目录
cd .. 切换到上一级目录
cd ~ 切换到当前用户的home目录(/root或/home/用户名)
cd - 切换到上次访问的目录
关联命令:pwd 显示当前所在目录的完整路径

命令:ls [-al]

常规:
ls 查看当前目录下的所有目录和文件
ls -a 查看当前目录下的所有目录和文件(包括带”.”前缀的隐藏文件)
ls -l 或 ll 列表查看当前目录下的所有目录和文件(列表查看,显示更多信息)
ls /dir 查看指定目录下的所有目录和文件 如:ls /usr

命令:rm [-rf] 目录

常规:
rm 文件 删除当前目录下的文件
rm -r aaa 递归删除当前目录下的aaa目录
rm -rf aaa 递归删除当前目录下的aaa目录(不询问)
rm -rf * 将当前目录下的所有目录和文件全部删除
【[root@localhost /]# rm -rf 等同于著名的自杀命令rm -rf /】
注意:建议执行rm命令要使用当前目录”./“约束并且尽量避免”
“模糊匹配,例如rm -rf ./[具体文件名],减少误删

命令:mv 目录或文件 新目录或新文件名

常规:
mv /usr/tmp/aaa /usr/ 将/usr/tmp目录下的aaa移动到/usr目录下
mv /usr/tmp/aaa /usr/bbb 将/usr/tmp目录下的aaa移动到/usr目录下并重命名为bbb
注意:建议生产环境执行磁盘清理任务时第一步先创建临时清理目录,将待删除的文件mv到临时清理目录,保留一段时间后再rm临时清理目录

命令:find 目录 参数 文件名称

常规:
find /usr/tmp -name ‘a*’ 查找/usr/tmp目录下的所有以a开头的目录或文件
类似命令:locate 文件名称 从系统数据库查找文件,相比find从硬盘查找而言效率更高,但文件增删非即时入库,查找结果不如find准确

命令:cat 文件

常规:
cat /etc/sudo.conf 使用cat查看/etc/sudo.conf文件

命令:tail 文件

常规:
tail -10 /etc/sudo.conf 查看/etc/sudo.conf文件的后10行
tail -f catalina.out 实时查看控制台输出日志,Ctrl+C退出查看
关联命令:head 文件 正序查看,tail为倒序

三、与进程有关的操作命令

命令:ps -ef 查看所有正在运行的进程

常规:
ps -ef | grep 关键词 根据关键词查询运行中的指定进程
注意:查询结果第一位是进程运行用户,第二位是进程号(pid) ,第三位是关联的上级父进程号

命令:jps -v 查看所有正在运行的java进程

常规:
jps -v | grep 关键词 根据关键词查询运行中的指定java进程
注意:查询结果第一位就是进程号(pid)

命令:kill pid

常规:
kill -9 pid 根据前两个命令查询出的进程号强制杀死进程
注意:jboss中间件关闭时经常出现残余进程僵尸进程,建议配合jps -v检查kill执行结果

命令:shutdown [-hr] 时间

常规:
shutdown -h now 立刻关机
shutdown -r 5 5分钟后重启
shutdown -r 12:00 预定12点执行重启
注意:定时以后如果想要取消,可以在当前会话执行Ctrl+C,或新开一个会话执行shutdown -c

四、网络连通性检查

命令:ping [-c] 目标IP/域名

常规:
ping ip 持续 ping 目标IP(默认无限发包)
ping -c 4 ip 仅发送4个包后停止 ping
注意:网络不通时可结合 traceroute(Linux)/tracert(Windows)定位丢包节点

命令:ifconfig/ip addr

常规:
ifconfig 查看所有网卡IP、MAC、收发包信息
ip addr 新版Linux查看网卡及IP配置
注意:无输出或IP为127.0.0.1说明网卡未启用或未获取IP

命令:netstat/ss

常规:
netstat -anp 查看所有端口、连接及对应进程
ss -lntup 查看监听端口(效率高于netstat)
注意:端口未LISTEN说明服务未启动或端口配置错误

命令:traceroute/tracert

常规:
traceroute ip Linux路由追踪,定位网络断点
tracert ip Windows路由追踪
注意:* * * 表示节点禁ping,不代表完全不通

命令:telnet/nc

常规:
telnet ip 端口 测试目标端口是否开放
nc -zv ip 端口 更精准测试端口连通性
注意:连接失败说明端口未开、防火墙拦截或服务未启动

命令:curl/wget

常规:
curl url 测试HTTP/HTTPS服务可达性
wget url 下载测试,验证服务连通与带宽
注意:返回非200状态码说明服务异常或权限问题

命令:firewall-cmd/iptables

常规:
firewall-cmd –list-all 查看防火墙开放规则
firewall-cmd –query-port=端口/tcp 查询端口是否放行
iptables -L -n 查看 iptables 策略
注意:端口未放行需执行 firewall-cmd –add-port=端口/tcp –permanent 并重载

命令:nslookup/dig

常规:
nslookup 域名 解析域名对应IP(检查DNS)
dig 域名 详细DNS解析信息(Linux常用)
注意:解析失败或IP异常说明DNS配置错误或污染

命令:route/ip route

常规:
route -n 查看路由表(网关、子网)
ip route 新版查看路由信息
ip route add 网段 via 网关 添加静态路由
注意:无默认网关会导致外网不通,需配置 default via 网关

五、信息查询与权限设置

命令:id

常规:
id 查看当前用户UID、GID、所属组
id 用户名 查看指定用户信息
注意:UID=0 为 root 用户,拥有最高系统权限

命令:whoami/who

常规:
whoami 显示当前登录用户名
who 查看所有登录用户及终端信息
注意:多用户操作时可确认当前操作身份

命令:ls -l

常规:
ls -l 查看文件/目录权限、属主、属组、大小
ls -ld 目录 查看目录本身属性
注意:权限字段 rwx 分别对应读、写、执行,前3位属主,中3位属组,后3位其他用户

命令:chmod

常规:
chmod 755 文件/目录 设置权限 rwxr-xr-x
chmod +x 文件 给文件增加执行权限
注意:目录必须有执行权限才能进入,敏感文件建议 600/700 防止越权访问

命令:chown

常规:
chown 用户名 文件 修改文件属主
chown 用户名:组名 文件 同时修改属主与属组
chown -R 用户名 目录 递归修改目录下所有文件属主
注意:普通用户只能修改自己拥有的文件,root 可修改所有

命令:ps -ef/ps aux

常规:
ps -ef 全格式查看所有进程
ps aux 查看进程占用CPU、内存
注意:可结合 grep 定位服务进程,确认运行用户与权限

命令:df -h

常规:
df -h 以可读格式查看磁盘使用率、挂载点
注意:使用率 100% 会导致服务无法写入、启动失败

命令:free -h

常规:
free -h 查看内存、swap 使用情况
注意:swap 频繁使用说明物理内存不足,可能导致服务卡顿

六、文本编辑器的使用

vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:

  1. 命令行模式
    控制屏幕光标的移动,字符、字或行的删除,查找,移动复制某区段及进入Insert mode下,或者到 last line mode。
    命令行模式下的常用命令:
    控制光标移动:↑,↓,j
    删除当前行:dd
    向前查找:?关键字
    向后查找:/关键字
    进入编辑模式:i o a
    进入底行模式::
  2. 编辑模式
    只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
    编辑模式下常用命令:
    ESC 退出编辑模式到命令行模式
  3. 底行模式(last line mode)
    将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
    底行模式下常用命令:
    退出编辑: :q
    强制退出: :q!
    保存并退出::wq

七、运维常用命令(持续追加)

磁盘清理

控制台输出日志清理, 用/dev/null(特殊设备-黑洞,内容为空)覆盖控制台输出日志的内容,清空out文件内容但保留文件本身,常用对正在运行的进程输出动态清理
cat /dev/null > catalina.out
删除七天前的临时文件(文件已永久存储在ftp上),适用于V4之前的标准版产品,uploadDir根据实际目录名修改
find /java/uploadDir -mtime +7 -exec rm -rf {} \;

系统时间设置

查看和修改系统时间
date
date -s "20191107 14:48:50"
查看和修改硬件时间
hwclock --show
hwclock --set --date "20191107 14:48:50"
以系统时间为基准修改硬件时间(当系统时间准确时)
hwclock --systohc
以硬件时间为基准修改系统时间(当硬件时间准确时)
hwclock --hctosys

服务器内存清理

top命令查看是否内存耗尽已开始使用swap交换区
写入系统缓冲
sync
查看内存情况
free -m
释放缓存,3表示释放pagecache(1)和dentries&inodes(2)
echo 3 > /proc/sys/vm/drop_caches
再次查看内存情况,如果swap仍未释放,手动释放一下
swapoff -a
swapon -a

进程前台执行转后台

Ctrl+Z挂起当前任务
转为后台
bg
通常只有一个被挂起的任务在等待队列里,所以bg不带参数视为执行编号1的任务,可通过jobs -l查看并替换编号1
bg %1 [1]+ command &

top常用参数
显示完整命令 1分核显示 M按内存 P按CPU
top + c
根据进程号分线程显示
top -Hp [pid]

运维关机前踢人下线

查看需要踢掉的终端号
w
who
杀掉对应本地或远程终端
pkill -kill -t tty1
pkill -9 -t pts/0

便捷文件操作

文件dos格式转unix格式,常用于运维本地Windows编辑脚本上传Linux后报不兼容
vi [文件名].sh
:set ff?
返回fileformat=dos
:set ff=unix
修改文件编码格式为utf8
:set fileencoding
返回非utf8格式
:set fileencoding=utf-8
控制台输出截取指定时间段并打印到指定文件
sed -n ‘/2019-10-22 09:00:00/,/2019-10-22 09:15:00/p’ catalina.out >> out19102209.log

cp -r file/dir1 dir2 拷贝文件或目录到dir2 当dir2中已经存在该文件或目录时,将覆盖
du -h –max-depth=1 查看各文件夹大小
du -h * –max-depth=1 查看当前目录所有文件夹及文件大小

Ctrl +Z停止进出放入后台 挂起状态 fg bg 可重新启动
Ctrl+C 强制中断程序的执行
jobs 显示当前暂停的进程
bg %N 使第N个任务在后台进行
fg %N 使第N个任务在前台运行 默认bg,fg不带%N时表示对最后一个进程操作

上传下载文件

scp -r root@ip:dir dir

关闭进程

Linux

$ps -ef | grep firefox | grep -v grep | cut -c 9-15 | xargs kill -s 9
说明:
“grep firefox”的输出结果是,所有含有关键字“firefox”的进程。
“grep -v grep”是在列出的进程中去除含有关键字“grep”的进程。
“cut -c 9-15”是截取输入行的第9个字符到第15个字符,而这正好是进程号PID。
“xargs kill -s 9”中的xargs命令是用来把前面命令的输出结果(PID)作为“kill -s 9”命令的参数,并执行该命令。“kill -s 9”会强行杀掉指定进程。

Windows

1.tasklist
2.强制杀死映像名称为imagename的进程,映像名称可通过任务管理器或tasklist命令查看
  taskkill /im imagename -f
3.强制杀死PID为processid的进程,PID可通过tasklist查看
  taskkill /pid processid -f

压缩和解压缩命令

打包和压缩。打包是指将一大堆文件或目录什么的变成一个总的文件,压缩则是将一个大的文件通过一些压缩算法变成一个小文件
tar
解包:tar zxvf filename.tar
打包:tar czvf filename.tar dirname
gz命令
解压1:gunzip filename.gz
解压2:gzip -d filename.gz
压缩:gzip filename
.tar.gz 和 .tgz
解压:tar zxvf filename.tar.gz
压缩:tar zcvf filename.tar.gz dirname
压缩多个文件:tar zcvf filename.tar.gz dirname1 dirname2 dirname3…..
bz2命令
解压1:bzip2 -d filename.bz2
解压2:bunzip2 filename.bz2
压缩:bzip2 -z filename

   .tar.bz2
   解压:tar jxvf filename.tar.bz2
   压缩:tar jcvf filename.tar.bz2 dirname

bz命令
解压1:bzip2 -d filename.bz
解压2:bunzip2 filename.bz
.tar.bz
解压:tar jxvf filename.tar.bz
z命令
解压:uncompress filename.z
压缩:compress filename
.tar.z
解压:tar zxvf filename.tar.z
压缩:tar zcvf filename.tar.z dirname
zip命令

解压:unzip filename.zip
压缩:zip filename.zip dirname

CentOS6防火墙操作

servic iptables status 查看防火墙状态

service iptables stop 关闭防火墙
service iptables restart 重启防火墙
    为防火墙添加映射端口
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80-j ACCEPT
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80-j ACCEPT

CentOS7防火墙操作

1、firewalld的基本使用
    启动: systemctl start firewalld
    关闭: systemctl stop firewalld
    查看状态: systemctl status firewalld 
    开机禁用  : systemctl disable firewalld
    开机启用  : systemctl enable firewalld
 
 
2.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。
    启动一个服务:systemctl start firewalld.service
    关闭一个服务:systemctl stop firewalld.service
    重启一个服务:systemctl restart firewalld.service
    显示一个服务的状态:systemctl status firewalld.service
    在开机时启用一个服务:systemctl enable firewalld.service
    在开机时禁用一个服务:systemctl disable firewalld.service
    查看服务是否开机启动:systemctl is-enabled firewalld.service
    查看已启动的服务列表:systemctl list-unit-files|grep enabled
    查看启动失败的服务列表:systemctl --failed

3.配置firewalld-cmd

    查看版本: firewall-cmd --version
    查看帮助: firewall-cmd --help
    显示状态: firewall-cmd --state
    查看所有打开的端口: firewall-cmd --zone=public --list-ports
    更新防火墙规则: firewall-cmd --reload
    查看区域信息:  firewall-cmd --get-active-zones
    查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
    拒绝所有包:firewall-cmd --panic-on
    取消拒绝状态: firewall-cmd --panic-off
    查看是否拒绝: firewall-cmd --query-panic
 
那怎么开启一个端口呢
    添加
        firewall-cmd --zone=public --add-port=80/tcp --permanent    (--permanent永久生效,没有此参数重启后失效)
    重新载入
        firewall-cmd --reload
    查看
        firewall-cmd --zone= public --query-port=80/tcp
    删除
        firewall-cmd --zone= public --remove-port=80/tcp --permanent

cat 拆分合分压缩包命令cat/copy

cat workspace_20150624230059.tar.gz | split -b 2G - workspace_20150624230059.tar.gz.
workspace_20150624230059.tar.gz.a*
copy /B xx.zip.001+xx.zip.002 xx.zip

Linux拆分         cat filename | split -b NG - filename.
Windows合分      copy /B filename1+filename2+..  newName

守护进程

3.1. 启动supervisord
$supervisord -c /etc/supervisor/supervisord.conf
3.2. 关闭supervisord
supervisorctl shutdown
3.3. 重新载入配置
supervisorctl reload
3.4.更新新的配置到supervisord
supervisorctl update
3.5.启动某个进程(program_name=你配置中写的程序名称)
supervisorctl start program_name
3.6.查看正在守候的进程
supervisorctl
3.7.停止某一进程 (program_name=你配置中写的程序名称)
supervisorctl stop program_name webcore1
3.8.重启某一进程 (program_name=你配置中写的程序名称)
supervisorctl restart program_name
3.9.停止全部进程
supervisorctl stop all


linux常用命令
https://blog.zhaosn.top/pen/linux_freqcmd/
作者
Zhao SN
发布于
2026年3月23日
更新于
2026年4月9日
许可协议