linux运维工作常用命令

一、基本常用命令: 

命令 --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)

linux运维工作常用命令_第1张图片

二、文本常用命令:

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 的末尾。

 

三、vim 常用命令


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 的内容插入到当前文件中。

四、sed常用命令

(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 选项在每一

你可能感兴趣的:(Linux,运维,linux,服务器,防火墙)