Linux资料库
常用命令分类索引
常用命令分类整理(不包含详情)
用户及用户组管理
top命令的基本使用
命令大全示例
书籍学习笔记
菜鸟教程学习笔记
10个实用的shell脚本
linux服务器优化
监控应用服务端口并发量
记录正在执行的SQL
本文档使用 MrDoc 发布
-
+
首页
常用命令分类整理(不包含详情)
## 监控linux性能命令 ```bash top # cpu,内存资源运行情况,显示系统资源的实时使用情况和进程信息 dmesg # 查看系统日志 iostat -xz 1 # 磁盘IO情况监控 free -h # 内存使用情况 sar -n DEV 1 # 查看网络设备的吞吐率。可通过网络设备的吞吐量,判断网络设备是否已经饱和 vmstat 2 1 # 监控CPU使用率, 内存使用, 虚拟内存交互, IO读写。频率2秒 1表示只采集 uptime # 示系统的运行时间和负载情况 ``` ## 查看系统,CPU信息,开关机 ### 内核,主机、cpu、内存、磁盘 ```bash uname -a # 显示系统信息 查看系统内核信息 cat /proc/version # 查看系统内核版本 hostname # 显示或设置计算机的主机名 ``` - CPU ```bash cat /proc/cpuinfo #cpu详情 # 查看有几个逻辑cpu, 包括cpu型号 cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c # 查看有几颗cpu,每颗分别是几核 cat /proc/cpuinfo | grep physical | uniq -c # 查看当前CPU运行在32bit还是64bit模式下, 如果是运行在32bit下也不代表CPU不支持64bit getconf LONG_BIT # 结果大于0, 说明支持64bit计算. lm指long mode, 支持lm则是64bit cat /proc/cpuinfo | grep flags | grep ' lm ' | wc -l ``` - 内存 ```bash free -m # 以MB为单位显示内存使用情况 ``` - 磁盘 ```bash lsblk # 显示块设备信息 fdisk /dev/sdX # 打开磁盘分区工具 df -h # 查看磁盘分区信息,显示磁盘空间使用情况 du -h dir_name # 显示目录的磁盘使用情况 du -H -h # 查看磁盘分区信息,查看目录及子目录大小 du -sh * # 查看当前目录下各个文件, 文件夹占了多少空间, 不会递归 #==============mount/umount:挂载和卸载文件系统============== mount # 查看磁盘挂载情况 mount /dev/sdX1 /mnt # 挂载分区到指定目录 umount /mnt # 卸载挂载的文件系统 ``` ### 网络(端口、IP、连接) - 端口使用详情 lsof,ss,netstat ```bash lsof -i:port #查看什么进程使用了该端口 ss -l # 显示本地打开的所有端口 ss -pl # 显示每个进程具体打开的socket ss -t -a # 显示所有tcp socket ss -u -a # 显示所有的UDP socket # 显示所有已建立的SMTP连接 ss -o state established '( dport = :smtp or sport = :smtp )' # 显示所有已建立的HTTP连接 ss -o state established '( dport = :http or sport = :http )' # 找出所有连接X服务器的进程 ss -x src /tmp/.X11-unix/* # 列出当前socket统计信息 ss -s # 输出每个ip的连接数,以及总的各个状态的连接数 netstat -n | awk '/^tcp/ {n=split($(NF-1),array,":");if(n<=2)++S[array[(1)]];else++S[array[(4)]];++s[$NF];++N} END {for(a in S){printf("%-20s %s\n", a, S[a]);++I}printf("%-20s %s\n","TOTAL_IP",I);for(a in s) printf("%-20s %s\n",a, s[a]);printf("%-20s %s\n","TOTAL_LINK",N);}' # 查找较多time_wait连接 netstat -n|grep TIME_WAIT|awk '{print $5}'|sort|uniq -c|sort -rn|head -n20 ## 48. netstat/ss:显示网络连接信息 netstat -tuln # 显示所有TCP和UDP端口 ss -tuln # 使用Socket Stat查看网络连接 ``` - IP地址查看与设置 ```bash ifconfig # ifconfig/ip:查看和配置网络接口信息 ip addr show # ifconfig/ip:查看和配置网络接口信息 # 设置固定ip ifconfig em1 192.168.5.177 netmask 255.255.255.0 ``` - 网络连接 ```bash nc -vz host_name_or_ip port # 用于网络连接测试和数据传输,测试主机的端口是否可达 ping host_name_or_ip # ping:测试与主机的连通性 nmcli connection show # 用于管理网络连接的命令行工具,显示网络连接信息 ``` ### 进程管理 ```bash ps aux # 显示当前运行的进程 ps auwxf # 查看进程树找到服务器进程 ps eww -p XXXXX(进程号) #查看进程内加载的环境变量,也可以去 cd /proc 目录下查看 cd /proc/xxx(进程号) ls -all # cwd对应的是启动路径 kill process_id # kill:终止进程 # 强制关闭进程名包含xxx的所有进程 ps aux|grep xxx | grep -v grep | awk '{print $2}' | xargs kill -9 ``` ### 开关机 ```bash shutdown -h now # 立即关闭系统 reboot # 重新启动系统 ``` ## 常规命令 ```bash who ## 显示当前登录的用户信息 history ## 查看命令历史记录 tailf file_name ##实时追踪文件的末尾,类似于tail -f ln source_file link_name # 创建硬链接 ln -s source_file link_name # 创建符号链接 ``` ## 文本操作(查找、输出) ```bash ## 29. grep:在文本中搜索匹配的行,并可以使用正则表达式进行高级搜索 grep -r "pattern" /path/to/search ## 30. sed:流编辑器,用于文本处理和替换 sed 's/old_text/new_text/' file_name ## 31. awk:用于文本处理和数据提取的文本处理工具 awk '{print $1}' file_name # 提取文件中的第一列数据 ## 34. echo:将文本输出到标准输出 echo "Hello, World!" ## 59. dd:用于复制和转换文件 dd if=input_file of=output_file bs=block_size ``` ## 文件,目录管理 ```bash pwd # 显示当前工作目录的路径 ls # 列出当前目录中的文件和子目录 cd /path/to/directory # 切换工作目录 find /path/to/search -name "file_pattern" ## 在文件系统中查找文件和目录 grep search_term file_name # 在文件中搜索指定文本 cat file_name ## 10. cat:连接和显示文件内容 more file_name ## 11. more/less:逐页显示文本文件内容 less file_name ## 11. more/less:逐页显示文本文件内容 ## 12. head/tail:显示文件的前几行或后几行 head -n 10 file_name # 显示文件的前10行 tail -n 20 file_name # 显示文件的后20行 stat file_or_directory # 显示文件或目录的详细信息 #====================编辑创建=============== touch file_name # 创建空文件或更新文件的时间戳 vim file_name # 编辑文件 mkdir directory_name # mkdir:创建新目录 #====================拷贝移动===================== cp source_file destination # 复制文件或目录 cp -r source_directory destination # 复制递归目录及其内容 mv old_name new_name # 移动或重命名文件或目录 #======================删除======================= rm file_name # 删除文件或目录 rmdir directory_name # 删除空目录 rm -r directory_name # 删除递归目录及其内容 #======================压缩解压======================= ## 用于压缩和解压文件和目录 tar -czvf archive.tar.gz directory_name # 压缩目录 tar -xzvf archive.tar.gz # 解压文件 ## zip/unzip:用于压缩和解压ZIP文件 zip archive.zip file1 file2 # 压缩文件 unzip archive.zip # 解压ZIP文件 ``` ## 用户及用户组管理 ```bash useradd new_user # 添加用户 userdel username # 删除用户 passwd username # 更改用户密码 groupadd #添加组 groupmod #修改组 groupdel #删除组 ``` ## 权限管理(文件,用户、组) chmod/chown/chgrp ```bash chmod permissions file_name # 修改文件或目录的权限 chown owner:group file_name # 修改文件或目录的权限和所有者 # 示例 chmod 777 hello #修改文件夹hello的权限,改成最大权限 chmod u+w hello #给文件或者文件夹所属用户加上w权限 chmod g-r hello #给文件或者文件夹所属用户组去掉r权限 chmod a+x hello #给用户,组,其他都加上x权限 ### 添加用户, 配置sudo权限 vim /etc/sudoers # 修改文件里面的 # root ALL=(ALL) ALL # 用户名 ALL=(ALL) ALL ``` ## 包管理 rpm/wget/curl ```bash rpm -qa | grep 软件名 # 查看是否通过rpm安装了该软件 wget URL # wget/curl:从网络下载文件 curl -O URL # wget/curl:从网络下载文件 curl -X GET http://example.com # 39. curl:用于与网络资源进行交互,支持各种协议 ``` ## 远程连接、远程复制 ```bash ## ssh-keygen:生成SSH密钥对,用于身份验证远程服务器 ssh -keygen -t rsa # 创建sshkey ssh -keygen -t rsa -C your_email@example.com #id_rsa.pub 的内容拷贝到要控制的服务器的 home/username/.ssh/authorized_keys 中,如果没有则新建(.ssh权限为700, authorized_keys权限为600) ## 远程登录到其他计算机 ssh username@remote_host ## 安全地将文件从本地复制到远程主机,或从远程主机复制到本地 scp local_file remote_user@remote_host:/remote/directory ## 57.scp:安全地将文件从本地复制到远程主机,或从远程主机复制到本地 scp local_file remote_user@remote_host:/remote/directory # 从本地到远程 scp remote_user@remote_host:/remote/file local_directory # 从远程到本地 ## 58. rsync:用于在本地和远程系统之间同步文件和目录 rsync -avz source_directory/ remote_user@remote_host:/remote/directory/ ``` ## 时间管理 ```bash sudo ntpdate -u ntp.api.bz # 时间同步 date 显示或设置系统日期和时间 ``` ## 定时任务管理器 ```bash crontab -e # 编辑用户的定时任务 ``` ## 数据库管理 ```bash ## 24. psql/mysql:用于与PostgreSQL或MySQL数据库交互的命令行工具 psql -U username -d database_name # 连接到PostgreSQL数据库 mysql -u username -p # 连接到MySQL数据库 ``` ## 防火墙管理 ```bash ## 47. iptables/ufw:用于配置防火墙规则 iptables -A INPUT -p tcp --dport 80 -j ACCEPT # 允许HTTP流量 ufw enable # 启用Uncomplicated Firewall systemctl status firewalld # 查看防火墙状态是否被关闭 systemctl stop firewalld #关闭防火墙 systemctl disable firewalld # 禁止开机启动防火墙 ```
孙端己
2024年2月5日 17:10
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码