命令 --help //可以快速查看命令的用法及其各种选项
sudo yum update -y //CentOS 7 和 RHEL 7 系统更新命令
sudo dnf update -y //CentOS 8 或 RHEL 8 及更高版本系统更新命令
sudo yum install -y epel-release //安装 EPEL仓库
sudo yum clean all //#清除缓存
sudo yum makecache //更新仓库的缓存信息
uname -a //显示内核版本和系统架构。
cat /etc/redhat-release //显示操作系统版本。
hostnamectl //显示主机名和操作系统信息。
history //查看历史命令记录
sudo shutdown -h now //关机 init 0 也可以关闭系统
sudo shutdown -h +10 //10分钟后关机
sudo reboot //重启 init 6 也可以重启系统
sudo systemctl poweroff //立即关机
sudo systemctl reboot //立即重启
whoami //查看当前用户
cat /etc/passwd //查看所有用户
who //查看已登录用户
groups //查看当前用户所属的组
cat /etc/group //查看所有用户组
sudo useradd 用户名 //创建用户
sudo passwd 用户名 //给用户设置密码
sudo groupadd 用户组名 //创建用户组
sudo userdel 用户名 //删除用户
sudo groupdel 用户组 //删除用户组
vim /etc/sudoers //给用户添加sudo权限 在文件里面加上
用户名 ALL=(ALL) NOPASSWD: ALL
sudo usermod -aG root test //将用户test加入到root组 或者gpasswd -a test root
gpasswd -d test root //将用户test从root组中移出
sudo usermod -g 用户组 用户名 //修改用户的用户组
ls //查看当前目录下的文件
ls -i //显示每个文件或目录的 inode 号码
ls -a //包括隐藏文件
cat //查看文件内容
cat -n //显示行号排序
find //用于在文件系统中查找文件和目录
sudo realpath file //查看file文件目录路径
sudo find / -name file //从根目录开始进行搜索查找名为file 的文件所在位置
free //用于显示系统内存的使用情况
free -h //以人类可读的格式显示内存使用情况
less //分页查看文件内容。
less file //使用分页器查看文件
head //显示文件开头的若干行。
head -n 10 file //显示前 10 行
tail // 显示文件末尾的若干行。
tail -n 10 file //显示最后 10 行
cp -r //递归复制目录及其内容。
cp -n //复制文件但不覆盖目标文件
mv //移动文件,移动时可以重命名文件
mv -i //移动文件时提示是否确认覆盖
mv -n //移动文件但不覆盖目标文件
pwd //显示当前文件目录的路径
tree
//显示目录结构的图形化命令
which //查找并显示命令的完整路径,例如,运行 which python 会显示 python 执行文件的路径。
mkdir -p //递增创建目录
touch //创建文档
rm -r //递归删除文件
rm -rf //强制删除目录及其内容 > 文件名 重新定向
ln //创建硬链接
ln -s //创建软连接
ps //显示当前进程。
ps aux // 显示所有进程
top //实时显示系统进程和资源使用情况。
df // 显示文件系统的磁盘空间使用情况。
df -h //以人类可读的格式显示磁盘使用情况
du //显示目录的磁盘使用情况。
du -sh dir //显示目录文件的总大小
ifconfig 或 ip //查看和配置网络接口。
ifconfig //查看网络接口信息
ip addr show 或者ip add //使用 ip 命令查看网络接口信息
ping //测试网络连接。
ping example.com //测试与指定主机的网络连接,或者用ping www.baidu.com
grep //在给定文件中查找与设定条件相符字符串的命令
chmod //修改文件权限。
chmod 755 file //设置file文件的权限为 755
ll //查看目录权限和所有者
ls -l file //查看file文件下所有文件和文档的权限和所有者
#文件权限表示的示例:
drwxr-xr--
d:表示这是一个目录。
rwx:表示目录所有者(User)拥有读、写和执行权限。
r-x:表示组用户(Group)拥有读和执行权限,但没有写权限。
r--:表示其他用户(Other)只有读权限。
总结:以 d 开头的条目表示一个目录,而以 - 开头的条目则表示一个普通文件。
#权限 数字
无权限 0
执行权限 1
写权限 2
读权限 4
读+写权限 6
读+执行权限 5
写+执行权限 3
读+写+执行权限 7
chmod ug+rwx 文件名 添加所有者和所有组的读取、写入和执行权限
lsof | grep 文件名 //查找某一文件被哪个进程打开
chown root:root file //更改file文件所有者和组,所有者为root 组为root
sudo //以超级用户权限运行命令。
nmcli dev show | grep DNS //查看DNS服务和端口
sudo netstat -nultp | grep 8080 //监听端口8080上任何网络连接
sudo docker ps | grep 8080 //监听docker容器上端口为8080的进程
curl ip.me //查看IP地址
cat docker-compose.yml //查看docker启动文件
sudo docker exec -it my_tomcat bash //进入docker容器my_tomcat进程里面
ps -aux | grep 1542 //查找端口1542的进程
ps -ef | grep java //查找java进程
curl 127.0.0.1:3000 //查看本地网站地址,端口为3000的
netstat -tuln //监听端口 查看所有端口
cd webapps //进入web前端文件里面
route -n或者netstat -nr //查看默认网关
traceroute //可以帮助网络管理员和普通用户分析网络连接问题,定位延迟或路由故障的根本原因。举例:traceroute www.baidu.com
tail -f /var/log/messages //实时查看系统日志文件的最新内容
netstat –tunlp //查看服务程序占用的所有端口的命令
df -h //磁盘使用情况
ps //查看系统活跃进程命令
sudo docker ps //列出所有正在运行的 Docker 容器
kill id //终止进程
kill -9 id //强制终止进程
chmod 777 mode //给mode文件赋予所有用户所有权限
arp –a //查看 ARP 缓存记录的命令
systemctl restart network //重启网络命令
cat /proc/cpuinfo //查看CPU的详细信息,包括型号、核心数、频率等。
top //显示系统的实时进程信息,包括CPU利用率、内存利用率等。
mpstat //显示多个CPU的详细统计信息,包括每个CPU的利用率和其他性能指标。
file /bin/ls //查看系统是64位还是32位
getconf LONG_BIT //可以用这个命令再确认一下是64位还是32位
setenforce 0 //设置临时关闭selinux
vim /etc/sysconfig/selinux //设置永久关闭selinux
将第7行内容修改为:SELINUX=disabled
tail -f /var/log/messages //实时查看系统日志
cat /etc/docker/daemon.json //查看docker 配置文件
cat /etc/sysctl.conf //系统配置文件,用于设置 Linux 操作系统的内核参数。
sudo journalctl -u docker.service -f //查看 Docker 的详细日志信息
crontab -e //编辑crontab文件,设置定时任务的配置。
crontab -l //查看当前用户的 crontab 文件的内容
命令格式
* * * * * /sbin/shutdown -r now
- - - - -
| | | | |
| | | | +----- 星期几 (0 - 7) (周日为0或7)
| | | +------- 月份 (1 - 12)
| | +--------- 日期 (1 - 31)
| +----------- 小时 (0 - 23)
+------------- 分钟 (0 - 59)
sed - 用于流编辑和文本替换。例如:sed 's/old/new/g' file.txt 替换文件中的所有 old 为 new。
awk - 用于模式扫描和处理。比如:awk '{gsub(/old/, "new"); print}' file.txt 替换所有 old 为 new。
perl - 用于复杂的文本处理。比如:perl -pi -e 's/old/new/g' file.txt 替换所有 old 为 new。
vi/vim - 文本编辑器,使用 :%s/old/new/g 进行全局替换。
nano - 另一个文本编辑器,支持手动编辑和替换。
举例:
sed -i 's@12@123456@g' /root/gao/1.txt //解释:将/root/gao/1.txt 文件里面所有的12替换为123456
sed -i 's/12/123456/g' /root/gao/1.txt //解释:将/root/gao/1.txt 文件里面所有的12替换为123456
-i:表示直接修改文件内容,s@12@123456@g:s 表示替换操作,@ 是分隔符(也可以使用 /、| 等),12 是要被替换的字符串,123456 是替换成的新字符串,g 表示全局替换(即替换行中所有匹配的内容)。
echo [选项] [字符串或变量] //用于打印文本内容或者变量的值,举例:echo "练习" >>/root/gao/1.txt 将练习打印到1.txt 文档的末尾。
列如 echo "/usr/local/mysql/lib/" >> /etc/ld.so.conf.d/mysql.conf 这条命令的作用是将 "/usr/local/mysql/lib/" 这个路径添加到 /etc/ld.so.conf.d/mysql.conf 文件的末尾。
echo 用于在终端输出文本。你可以使用它将文本追加到文件中。基本用法如下:
输出到终端:
echo "Hello, World!"
set +H(如果报错执行此命令)
追加文本到文件:
echo "Hello, World!" >> filename.txt
覆盖文件内容:
echo "Hello, World!" > filename.txt
多行追加:
echo -e "Line 1\nLine 2" >> filename.txt
将 "Line 1\nLine 2" 追加到末尾 Line 1为第一行 Line 2 为第二行。
-e 选项允许解释反斜杠转义字符(如 \n)。
printf 命令
printf "123098\n" >> 5.txt
这将直接将 "123098" 追加到 5.txt 的末尾。
1、基本操作
启动和退出:
vim filename:打开或创建文件 filename。
:w:保存当前文件。
:wq 或 :x:保存并退出。
:q:退出(如果没有保存更改则会提示)。
:q!:强制退出而不保存更改。
:wq! 强制保存并退出。
切换模式:
i:进入插入模式(在光标前插入文本)。
I:在行首插入文本。
a:进入插入模式(在光标后插入文本)。
A:在行尾插入文本。
Esc:返回普通模式。
2、编辑命令(ESC 普通模式)
删除
x:删除光标下的字符。
dd:删除当前行。
d2d:删除当前行及下一行(数字 2 表示删除 2 行)。
D:删除从光标到行尾的所有内容。
3、复制和粘贴(ESC 普通模式)
yy:复制当前行。
y2y:复制当前行及下一行。
(小写)p:粘贴到光标后。
(大写)P:粘贴到光标前。
4、撤销和重做(ESC 普通模式)
u:撤销上一个操作。
Ctrl + r:重做上一个撤销的操作。
5、查找和替换(ESC 普通模式):冒号后面进行
/pattern:查找 pattern。
n:查找下一个匹配项。
N:查找上一个匹配项。
:s/old/new/g 在当前行替换所有 old 为 new。
:%s/old/new/g 在整个文件中替换所有 old 为 new。
6、光标移动(ESC 普通模式)
行内移动
h:左移一个字符。
j:下移一行。
k:上移一行。
l:右移一个字符。
按单词和行移动
w:移动到下一个单词的开头。
b:移动到当前单词的开头。
e:移动到当前单词的结尾。
跳转到行首或行尾 (i 编辑模式里面进行 )
0:移动到行首。
$:移动到行尾。
7、文件和行操作(ESC 普通模式)
行号和文件
:linenumber:跳转到指定行号。例如 :12 跳转到12行
gg:跳转到文件的第一行。
G:跳转到文件的最后一行。
文件操作:(ESC 普通模式):冒号后面进行。
:e filename:打开另一个文件进行编辑。
:w filename:将文件保存为 filename。
:r filename:将 filename 的内容插入到当前文件中。
(Stream Editor)是一个功能强大的文本处理工具,用于在文本流中执行各种操作。
下面是一些常见的 sed 选项及其含义:
-e:指定要执行的脚本
sed -e 's/old/new/g' file.txt
允许指定多个脚本或命令。
-n:禁止自动打印行
sed -n '2p' file.txt
只打印符合条件的行,默认情况下 sed 会打印所有行。
-f FILE:从文件中读取脚本
sed -f script.sed file.txt
从指定的文件 script.sed 中读取 sed 命令。
-r 或 --regexp-extended:使用扩展的正则表达式
sed -r 's/[0-9]+/NUMBER/g' file.txt
允许使用扩展的正则表达式(ERE),无需对特殊字符进行转义。
-E:与 -r 选项相同,启用扩展正则表达式
sed -E 's/[0-9]+/NUMBER/g' file.txt
-i[SUFFIX]:直接修改文件(-i 选项后面可以跟一个可选的后缀来创建备份)
sed -i 's/old/new/g' file.txt # 不创建备份
sed -i.bak 's/old/new/g' file.txt # 创建备份,备份文件名为 file.txt.bak
mv file.txt.bak file.txt #还原 你只需将备份文件替换为原始文件,可以使用 mv 命令来完成这个操作。
-i:指定要修改的文件
sed -i 's/old/new/g' file.txt
在 sed 命令执行时直接修改文件,用 new 替换 file.txt 文件中所有出现的 old 字符串。
-l LENGTH:设置打印行宽
sed -l 80 's/old/new/g' file.txt
设置每行的最大长度为 80 个字符
-u:使用无缓冲模式(通常用于逐行处理数据)
sed -u 's/old/new/g' file.txt
-g:在 sed 命令中指定全局替换
sed 's/old/new/g' file.txt
g 选项在每一