常用的 Linux 命令

这篇博客详细总结了Linux系统操作,包括关机重启、查看系统信息、权限操作、文件操作等。内容涵盖系统版本查看、CPU信息、内存和硬盘大小、时间设置、用户管理、文件权限变更、文件创建、复制、移动、属性修改,以及文件大小查看、查找、内容浏览、编辑、对比等。此外,还讲解了压缩解压、进程管理、网络相关操作、yum命令和网络传输。对于日常Linux系统管理和运维工作极具参考价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

工作中常用 Linux 命令总结
不求装逼,只求不翻车

系统操作

关机重启
# 重新启动
reboot

# 马上关机(断电关机)
shutdown -h now

# 立刻关机(centos) (不断电关机)
halt
查看系统信息

1. 查看系统版本

# 查看系统的版本
cat /proc/version
cat /etc/*release

# 查看版本号
cat /etc/issue

在这里插入图片描述
2. 查看系统 CPU 信息

# 查看 CPU 信息
lscpu

在这里插入图片描述
3. 查看服务器运行内存

# 查看服务器运行内存大小
free -h

在这里插入图片描述
4. 查看服务器硬盘大小

# 查看服务器硬盘大小
df -h

在这里插入图片描述
5. 查看系统时间

# 查看服务器器系统时间
date
# 查看服务器硬件时钟的操作
hwclock --show
# 系统时间同步为硬件时间
hwclock --systohc
# 将系统时间同步为网络时间
ntpdate 192.168.0.1
ntpdate time.ntp.org
# 设置时区
timedatectl set-timezone Asia/Shanghai

6. 查看主机名称

# 查看 hostname
hostname
  
# 查看 hostname 详细信息
hostnamectl
  
# 修改hostname
vim /etc/hostname
  
# 重启生效
shutdown -r now
权限操作

1. 创建用户

# 创建名称为 'kyle' 用户
useradd kyle

# 设置 'kyle' 用户的密码
passwd kyle

# 删除 'kyle' 用户
userdel -r kyle

2. 权限说明

# r
对文件是指可读取内容 对目录是可以 ls
# w
对文件是指可修改文件内容,对目录是指可以在其中创建或删除子节点(目录或文件)
# x
对文件是指是否可以运行这个文件,对目录是指是否可以 cd 进入这个目录

在这里插入图片描述
在这里插入图片描述
3. 文件/文件夹权限变更

# 将 'a.txt' 的文件权限变更为 666
# 即属主可以读写、属组中的用户可以读写、其它用户可以读写
chmod 666 a.txt 

在这里插入图片描述
在这里插入图片描述

# 赋予属主对 'a.txt' 文件的可执行权限,其它权限不变
chmod u+x a.txt 

u 代表用户
g 代表用户组
o 代表其他
a 代表所有

在这里插入图片描述

# 赋予属主对 'a.txt' 文件的权限为 7 ,属组的权限为 6,其它用户为 1
chmod u=rwx,g=rw,o=x a.txt

在这里插入图片描述
3. 文件/文件夹属性变更

# 将文件 'a.txt' 的属主和属组变更为 clickhouse
chown -R clickhouse:clickhouse a.txt

在这里插入图片描述

文件操作命令

文件操作(增、删、移动、复制)

1. 创建一个文件

# 在 opt 目录下创建一个名称为 a.txt 的文件
touch /opt/a.txt

2. 创建文件夹

# 创建一个文件夹,如果目录不存在,会创建多级目录
mkdir -p /home/abc/temp

# 创建一个文件夹,如果父目录 '/home/abc' 不存在,会报错
mkdir /home/abc/temp

3. 创建文件并增加内容

# 第一种:在 opt 目录下创建一个名称为 a.txt 的文件,并且文件的内容为 1
echo 1 > /opt/a.txt

# 第二种:在 opt 目录下创建一个名称为 a.txt 的文件,wq 后才能保存文件
vim /opt/a.txt

4. 文件复制

注意:如果目标文件夹存在名称相同的文件,会提示是否覆盖,如果覆盖 输入 yes + 回车,不覆盖直接回车

# 第一种:将 '/home/a.txt' 文件复制到 '/opt/kafka/' 目录下,复制后在目标目录下文件名不变
cp /home/a.txt /opt/kafka/

# 第二种:将 '/home/a.txt' 文件复制到 '/opt/kafka/' 目录下,复制后的文件名称更改为 'b.txt'
cp /home/a.txt /opt/kafka/b.txt

5. 文件移动

# 第一种:将 '/home/a.txt' 文件移动到 '/opt/kafka/' 目录下,移动后在目标目录下文件名不变
# 注意:移动后 'a.txt' 文件在 '/home' 目录中就不存在了
mv /home/a.txt /opt/kafka/

# 第二种:移动并把文件名改为 'b.txt'
mv /home/a.txt /opt/kafka/b.txt
文件属性操作

1. 查看文件属性

# 查看文件 a.txt 的文件属性
lsattr a.txt

2. 编辑文件属性

# 给文件添加 i 属性
chattr +i a.txt

# 去除文件的 i 属性
chattr -i a.txt
查看文件大小

1. 查看文件夹大小

# 只显示某个文件夹的总大小
# 查看 'server' 文件夹的总大小
du -sh /opt/server/

在这里插入图片描述
2. 查看文件的大小

# 查看文件夹下的所有文件的大小(递归显示所有)
du /opt/server -h

# 设置展示的深度,只展示第一层,防止展示的太多
du -d 1 /opt/server -h 

# 显示当前目录下所有文件的大小(只显示一层)
du -sh *

在这里插入图片描述

文件查找

1. 按照文件名查找

# 查找 '/opt/server' 目录下以文件名 'kafka' 开头的文件 
find /opt/server -name 'kafka*' 

2. 按照文件名查找

# 查找 '/opt/server' 目录下文件大小大于 100M 的文件
find /opt/server -type f -size +100M

3. 在指定文件中查找关键词

# 在 'pom.xml' 文件中查找 'flink' 关键字
grep flink pom.xml

# 在 'pom.xml' 文件中查找 'flink' 关键字,高亮显示
grep flink pom.xml --color

# 在 'pom.xml' 文件中查找 'flink' 关键字,并将搜索结果导入到 temp.log 中
grep flink pom.xml > temp.log

4. 查找可执行文件的位置

# 查看 python 命令的执行文件在哪
which python
# 查看 java 命令的执行文件在哪
which java

5. 高性能文件查找

# 安装命令
yum install mlocate

# 更新数据库
updatedb

# 在根目录下查找所有的以“startUp”开头的文件
locate /startUp
# 搜索etc目录下,所有以m开头的文件
locate /etc/m
# 只列举前n个搜索结果
locate -n 3 /etc/m
文件内容浏览

1. 文件内容翻页查看

此命令装逼且实用,用了之后不想用其他的,利器!!!

# 翻页查看 '/opt/app.log' 文件中的内容,默认从头开始翻页
less /opt/app.log

# 下一页
空格

# 上一页
b

# 从文件末尾开始翻页
# 多次按,可以看到文件更新后的内容
shift + g

# 从当前页的位置向下搜索包含 'error' 关键字的内容,一般在文件头开始,向下搜索
# n:跳转到下个结果页  N:跳转到上一个结果页
/error

# 从当前页的位置向上搜索包含 'error' 关键字的内容,一般在文件末尾开始,向上搜索
# n:跳转到下个结果页  N:跳转到上一个结果页
?error

2. 实时浏览文件更新内容

注意:多用于启动日志的查看,会不断的显示文件末尾指定行数的内容

# 查看 'opt/app.log' 末尾 10 行的内容
# -f 循环读取
# -n 指定行数
tail -f -n 10 /opt/app.log
文件内容编辑

1. 编辑模式切换

# 编辑 '/opt/server.config' 的内容
vim /opt/server.config

# 按一下 'i' 进入编辑模式
i

# 编辑完成后按一下 'ESC' 退出编辑模式
ESC

# 按一下 ':' 进行后续操作
:

# 强制退出,编辑不生效 
q!

# 保存并退出,编辑生效
wq

# 如果是只读模式,不让编辑内容,则强制保存退出
wq!

2. 命令常用命令

命令功能
o在当前行后面插入一空行
O在当前行前面插入一空行
dd删除光标所在行
ndd从光标位置向下连续删除 n 行
yy复制光标所在行
nyy从光标位置向下连续复制n行
p粘贴
u撤销上一次命令
gg回到文件顶部
G回到文件末尾
/str查找str

2. 底行模式常用命令

命令功能
:w 文件另存为
:w保存(ctrl + s)
:q退出, 如果没有保存,不允许退出
:q!强行退出, 不保存退出
:wq保存并退出
:x保存并退出
:set nu设置行号
:%s/旧文本/新文本/g文本替换
文件内容对比

1. 简单对比文件内容差异

# 对比当前文件下的 'a.txt' 和 'words.txt' 的区别
diff ./a.txt ./words.txt 

在这里插入图片描述

文件列表查看

1. 简单查看

 # 列出文件列表,每页展示3条
 ll | more -5
 head 只看头几行
 tail 只看尾巴几行
 
 # 文件翻页
 ll | less

2. 显示文件树

# 查看当前目录的树状图
tree ./

# 只展示一层
tree -L 1 /opt/server

在这里插入图片描述

压缩和解压

解压 (多种格式)

1. .zip格式压缩包

# 把当前文件夹中的 'flink.zip' 解压到 '/opt/server/' 目录下
unzip flink.zip -d /opt/server/

2. .tar.gz 格式压缩包

注意:.tar.gztar 打包,gzip 程序压缩的文件

# 将当前文件夹中的 'sqoop.tar.gz' 解压到 '/opt/server/' 目录下
tar -zxvf sqoop.tar.gz -C /opt/server/
打包压缩 (多种格式)

1. 打包为 .zip格式包

# 将 '/opt/server/logs' 文件夹打包为 log.zip
zip -q -r log.zip /opt/server/logs

2. 打包为 .tar格式包

# 将 '/opt/server/logs' 文件夹打包为 log.tar,打包到当前的文件夹
tar -cvf log.tar /opt/server/logs

# 注意:此时解压时使用如下命令
# 使用 -zxvf 会报错 gzip: stdin: not in gzip format,意为:非 gzip 压缩文件
tar -xvf log.tar

3. 打包为 .tar格式包,并使用 gzip 压缩

# 将 '/opt/server/logs' 文件夹打包为 log.tar.gz,并使用 gzip 压缩,打包到当前的文件夹
tar -zcvf log.tar.gz /opt/server/logs

# 注意:此时解压是使用如下命令
tar -zxvf log.tar.gz

进程端口

进程操作

1. 根据应用名称查看进程

# 查看包含 'zookeeper' 关键字应用的进程信息
# 两种都行
ps -ef | grep zookeeper
ps aux | grep zookeeper

2. 查看 java 的进程

# 查看所有的 Java 进程,显示的详细
jps -l

# 查看所有的 Java 进程,显示的不详细
jps

# 查看包含 'zookeeper' 关键字应用的进程信息,并显示详细参数

# m:输出main method的参数
# -l:输出完全的包名,应用主类名,jar的完全路径名
# -v:输出jvm参数
# -V:输出通过flag文件传递到JVM中的参数(.hotspotrc文件或-XX:Flags=所指定的文件
jps -mlvV | grep zookeeper

3. 根据端口号查看进程

# 查看端口号为 2181 的进程
netstat -an | grep 2181

4. 根据进程号查看对应的应用目录

# 查看 27544 对应的应用目录
pwdx 27544

5. 杀进程

# 杀死进程
kill -9 4394

# 杀掉多个进程
kill -9 25718 25719 25811 25812
常用启停脚本

1. Windows: start.bat

@echo on
start java -jar example.jar --server.port=8080
pause

2. Windows: stop.bat

@echo off
taskkill -f -t -im javaw.exe
exit

3. Linux: start.sh

# 第一种:指定配置文件和堆内存
#!/bin/sh
java -Xms512M -Xmx2048M -XX:+HeapDumpOnOutOfMemoryError -DAsyncLogger.RingBufferSize=262144 -DAsyncLoggerConfig.RingBufferSize=262144 -Dlog4j2.AsyncQueueFullPolicy=Discard -jar xxx.jar jfile=config/application.properties

# 第二种:指定端口
#!/bin/sh
java -jar hsrcm-rcce-ui-tools-1.0.0-SNAPSHOT.jar --server.port=8083

4. Linux: stop.sh

#!/bin/sh
 PID=`ps axu | grep java | grep xxx |grep -v grep| awk '{printf $2}'`
 for i in $PID
 do
   kill -9 $i
 done

网络及服务

网络相关

1. 查看 IP 地址

# 查看本机 IP 地址
ifconfig

在这里插入图片描述
2. 防火墙操作

# 查看防火墙状态
systemctl status firewalld

# 关闭防火墙
systemctl disable firewalld

# 禁用防火墙
systemctl stop firewalld

# 启动防火墙
yum 操作

1. 查看 yum 相关信息

# 查看已经安装的应用
yum list installed

# 查看本地配置的 yum 源
yum repolist

# 更新 yum 命令
sudo yum update

2. yum 操作

# 通过 yum 安装 libtool 应用
yum install -y libtool

# 移除已经安装的 libtool 应用
yum remove libtool

3. 常用的 yum 应用

# 树状显示文件夹
yum install tree

# np 工具
yum install -y nc
nc -lk 9000

# SecureCRT 中可以使用 rz 和 sz 进行文件上传下载
yum install lrzsz -y
网络传输

1. 下载网络文件

# 下载指定文件到当前文件夹
wget http://test.com/testfile.zip

# 指定文件下载后的保存名字
wget -O wordpress.zip http://test.com/download

# 限制下载速度为300k
wget --limit-rate=300k http://www.linuxde.net/testfile.zip

# 断点续传
wget -c http://www.linuxde.net/testfile.zip

# 后台下载
wget -b http://www.linuxde.net/testfile.zip

2. 服务器文件互传

# 从指定的服务器中拉取指定的文件(远程到本地)
# 将 '192.168.0.0' 服务器中的 '/usr/lib/a.txt' 文件拉取到 '/opt/server' 目录下
scp -r root@192.168.0.0:/usr/lib/a.txt  /opt/server/

# 将本地文件发送到远程服务器(本地到远程)
# 将当前的 'b.txt' 文件发送到 '101.132.183.132' 的 '/usr/lib/' 目录下
# 会提示输入密码
scp -r /opt/server/b.txt root@101.132.183.132:/usr/lib/

在这里插入图片描述

高级命令

重定向命令

1. 重定向 >(覆盖)

Linux 允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中

注意:文件不存在则创建,文件存在则覆盖写入

# 将 'ls -a' 命令的执行结果保存到 'dir.txt' 中
ls -a /opt > dir.txt

2. 重定向 >>(追加)

注意:文件不存在则创建,文件存在则追加写入

# 将 'ls -a' 命令的执行结果保存到 'dir.txt' 中
ls -a /opt >> dir.txt
文件提取命令

1. 命令说明

cut 命令可以从一个文本文件或者文本流中提取文本列

2. 命令参数

参数解释
-b按字节选取忽略多字节字符边界
-c仅显示行中指定范围的字符
-d自定义分隔符,默认为制表符
-f-d 一起使用,指定显示哪个区域
-n与'-b'选项连用,不分割多字节字符
–complement补足被选择的字节、字符或字段
--out-delimiter=<字段分隔符>指定输出内容是的字段分割符
–help显示指令的帮助信息
–version显示指令的版本信息

3. 读取文件中指定的列

# student.scv 文件内容如下
01 Jackson 1990-01-01 男 
02 Harry 1990-12-21 男 
03 Ben 1990-05-20 男 
04 Jack 1990-08-06 男
05 Rose 1991-12-01 女 
06 Lisa 1992-03-01 女 
07 Lucy 1989-07-01 女 
08 Jim 1990-01-20 女
# 读取单列
# 读取 student.csv 文件,列的分隔符为空格,获取第 1 列
cut -d " " -f 1 student.csv

# 读取多列
# 读取 student.csv 文件,列的分隔符为空格,获取第 1 列
cut -d " " -f 1,2 student.csv

在这里插入图片描述
在这里插入图片描述

# 读取除提取指定字段之外的列
cut -d " " -f 1 --complement student.csv

在这里插入图片描述
4. 读取文件中指定的字符列

# 读取 1-5 个字符
cut -c 1-5 student.csv 

# 读取前 4 个字符
cut -c -4 student.csv 

# 读取第 4 到末尾的字符
cut -c 4- student.csv 

在这里插入图片描述

文件统计命令

1. 命令说明

wc 命令主要用来统计行数、单词数、字节数

注意:在默认的情况下,wc 将计算指定文件的行数、字数以及字节数

2. 常用参数

参数解释
-l统计行数
-c统计字节数
-w统计单词数
-m统计字符数

3. 使用示例

# 统计 student.csv 文件的行数、单词数、字节数
wc student.csv

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值