Linux(八)其他日常命令

Linux(八)其他日常命令 文章目录前言一、data重点二、cal三、history重点四、scp五、rsync六、ssh七、nohup八、reboot九、shutdown十、free命令重点10.1 free命令功能10.2 free典型应用场景10.3 free高级技巧10.3.1 查看内存使用趋势10.3.2 使用 free 监控系统健康状态十一、ping十二、ip addr十三、ip link十四、ip route十五、ifconfig命令十六、netstat 工具十七、traceroute十八、mtr命令十九、ss二十、telnet二十一、nslookup二十二、dig二十三、route二十四、lsof二十五、uname二十六、uptime总结前言Linux 系统以其强大的命令行工具而闻名掌握这些工具不仅能提高工作效率还能帮助用户更深入地理解系统的工作原理。本文档详细介绍了 Linux 中一些常用命令的功能、用法及实际案例包括 date、cal、history、scp、rsync、ssh、nohup、reboot、shutdown 和 free 等。一、data重点date 命令用于显示当前的系统日期和时间可以指定不同的输出格式或用它来设置系统的日期和时间。显示当前系统时间date自定义时间格式date%Y-%m-%d %H:%M:%S#显示当前时间按自定义格式不可以修改时间设置系统时间date-s2026-07-14 17:00#自定义时间需要添加 -s ,这会将系统日期设置为 2026年7月14日17点。恢复系统时间选一个就可以ntpdate ntp.aliyun.com ntpdate time1.aliyun.com ntpdate ntp.tencent.com ntpdate cn.ntp.org.cn显示当前时间的时间戳从1970年1月1日以来的秒数data %s二、calcal 命令用来显示当前月份或指定月份的日历。可以方便地查看日期。查看当前月份的日历cal#输出2026年7月14日查看指定年份和月份的日历cal102026#查看2026年10月份的日历显示一整年的日历cal-y2026#显示2026一整年的日历三、history重点history 命令用来查看当前用户的历史命令。这个命令可以帮助你快速找到之前运行的命令。查看历史命令history查看历史命令中的特定条目history|grepdate#查看历史命令中所有包含 date 的命令。执行历史命令!40#执行编号为40的命令四、scpscp 命令用于通过 SSH 协议在本地和远程服务器之间安全地复制文件或目录。它加密了数据传输因此更加安全。将本地文件复制到远程服务器scp[本地文件][用户][IP地址或主机名]:[远程主机的绝对路径]scpfile.txt root10.8.0.102:/opt/src#将当前目录的file.txt拷贝到目标服务器的/opt/src目录下将本地目录复制到远程服务器scp-r/opt root192.168.10.123:/opt/backup#将/opt拷贝到目标服务器的/opt/backup目录下-r是递归将远程文件复制到本地scproot10.8.0.102:/opt/backup/file.txt /opt从远程服务器复制整个目录到本地scp-rroot10.8.0.102:/opt/backup /opt五、rsyncrsync 是一个非常强大的文件同步工具支持增量同步减少了文件传输的时间和带宽消耗。它可以同步文件和目录不仅可以在本地计算机之间同步也支持远程同步。参数说明-a归档模式表示保持文件的所有属性如权限、时间戳等。-v详细模式显示传输过程中的文件。-z启用压缩传输。将本地目录同步到远程服务器rsync-avz/opt root10.8.0.102:/opt/backup将远程目录同步到本地rsync-avzroot10.8.0.102:/opt/src /opt同步文件时排除某些文件仅同步文件变化1查看两个文件原本情况2创建新文件并开始进行同步rsync-avz--lgnore-existing /opt/wj root10.8.0.102:/opt/backup六、sshsshSecure Shell命令用于通过加密连接远程登录到计算机。它使得你可以安全地访问远程机器并执行命令。登录到远端服务器sshroot10.8.0.102使用不同端口登录systemctl stop firewalld#关闭防火墙setenforce0#关闭SELinuxgetenforce#查看SELinux状态Permissive为关vim/etc/ssh/sshd_config#检查文件找到Port 22这一行取消注释并添加一行Port 2222systemctl restart sshd#重启SSH服务ss -tulnp|grep2222#检查是否监听2222端口ssh-p2222root10.8.0.102#使用指定端口登录。-p是指定端口通过SSH执行远程命令sshroot10.8.0.102ls -l /home/可能遇到的问题ssh: connect to host 10.8.0.102 port 2222: Connection refused问题描述SSH 客户端无法连接到目标服务器的指定端口关键检查点配置错误 grep Port /etc/ssh/sshd_config 修改 /etc/ssh/sshd_config 文件|端口占用 sudo ss -tulnp | grep :2222 如果有占用终止占用进程或更换端口SELinux 限制 sudo semanage port -l 将 2222 端口加入允许列表七、nohupnohup 命令用于让某个进程在后台运行并且使其在关闭终端后依然保持运行。nohup 会将标准输出和错误输出重定向到 nohup.out 文件中。nohup ./ww 与./ww 区别1、./ww 普通后台运行后台运行 让脚本在后台执行不占用当前终端。终端关闭时进程会收到 SIGHUP挂断信号并 终止。输出脚本的 stdout/stderr 默认仍打印到终端可能干扰当前会话。适用场景临时后台任务且终端会话不会关闭。2、nohup ./ww 无视挂断的后台运行忽略 SIGHUPnohup 使进程忽略终端关闭时的挂断信号终端退出后仍继续运行。输出重定向默认将 stdout/stderr 重定向到 nohup.out 文件避免干扰终端。适用场景需要长期运行的任务如通过 SSH 启动服务。vimww#编写一个shell脚本#!/bin/bashcount0whiletrue;docount$((count1))current_time$(date%Y-%m-%d %H:%M:%S)echo[$current_time] 第$count次运行进程 ID:$$sleep3donechmodax ww#给ww文件授权nohup./ww#因为已经在ww所在目录所以需要用./表示当前目录若未在ww所在目录则需要输入绝对路径表示在后台运行tail-fnohup.out#查看后台任务输出这会实时查看后台任务的输出八、rebootreboot 命令用于重启计算机。在一些场景中需要重新启动计算机以应用更新或其他操作。重启计算机sudorebootsudoreboot5#重启并延迟5分钟九、shutdownshutdown 命令用于关闭计算机。它可以指定一个延迟时间或者立即关闭系统。shutdown-h20#20分钟后关闭计算机shutdown-c#取消延迟关机十、free命令重点用于显示系统的内存使用情况包括物理内存RAM、交换空间swap和内核缓冲区。它是 Linux 系统中非常常用的一个命令用于查看内存的总体状态。10.1 free命令功能总内存total物理内存的总量。已用内存use已经被系统或应用程序使用的内存。空闲内存free没有被使用的内存。共享内存shared不同进程之间共享的内存空间。 缓存内存buff/cache操作系统用作缓存的数据。系统可用的内存available这个值并不是单纯的空闲内存而是指经过系统缓存和缓冲区回收后的可以使用的内存。交换内存Swap当物理内存不足时系统使用磁盘上的空间作为虚拟内存交换空间。 total总交换空间大小。used已使用的交换空间。free剩余的交换空间。常用选项-h以人类可读的方式显示自动选择合适的单位如 KB, MB, GB。-m以 MB 为单位显示内存。-g以 GB 为单位显示内存。-t显示内存的总和即总内存 总交换空间。-s以秒为单位指定显示刷新时间间隔。-l显示低内存和高内存的详细信息。解释total总内存。used已用内存。free空闲内存。shared被多个进程共享的内存。buff/cache系统缓冲区和缓存使用的内存。available可以用来启动新应用程序的内存考虑了缓存和缓冲的回收。以人类可读的方式显示以 MB 为单位显示内存显示内存和交换空间的总和这会每3秒钟更新一次内存的使用情况直到手动终止按 CtrlC10.2 free典型应用场景检查内存使用情况你可以通过 free 命令快速了解当前系统的内存使用情况帮助你判断是否有内存不足的情况或者是否需要调整交换空间。监控内存和交换空间使用情况如果系统经常使用大量的交换空间可能意味着系统内存不足可能需要增加物理内存或调整系统配置。检查缓冲区和缓存的影响通过 buff/cache 和 available 字段你可以了解系统缓存占用了多少内存以及哪些内存是可以被回收利用的。10.3 free高级技巧10.3.1 查看内存使用趋势需要实时监控内存使用情况并保存到文件中可以结合 free 和 watch 命令每秒刷新一次显示内存使用情况。watch-n1free-h10.3.2 使用 free 监控系统健康状态监控内存是否充足。判断是否有大量的缓存内存导致可用内存减少。如果交换空间使用量较大考虑优化内存使用或增加物理内存。十一、pingping 命令用于测试网络连接是否畅通。通过发送ICMP回显请求报文并等待响应来确认网络连通性。测试到某个主机是否可达pingbaidu.com指定发送次数ping-c4baidu.com十二、ip addrip addr 命令用于查看和管理IP地址。查看所有网络接口的IP地址信息ipaddr show查看特定接口如ens33的IP地址ipaddr show ens33十三、ip linkip link 命令用于显示或修改网络接口的状态。显示所有网络接口的状态iplinkshow启用或禁用接口iplinksetens33 up#启动iplinksetens33 down#关闭十四、ip routeip route 命令用于查看和管理路由表查看当前的路由表iproute show添加一条静态路由iprouteadd10.8.0.50/16 via10.8.0.2十五、ifconfig命令ifconfig命令用于查看和配置网络接口的参数查看所有网络接口的配置ifconfigens33 down#关闭ifconfigens33 up#开启ifconfigens33配置一个IP地址ifconfigens3310.8.0.30/16十六、netstat 工具netstat 命令用于显示网络连接、路由表、接口统计信息等。选项含义-tTCP协议连接相关信息-uUDP协议相关的链接信息-l显示监听端口状态-n以数字形式显示ip地址端口号-p显示进程PID号显示当前所有的TCP和UDP连接netstat-tuln|grep:22查看本地端口使用情况netstat-tulnp十七、traceroutetraceroute命令用于追踪数据包经过的路由路径跟踪到baidu的路径traceroutebaidu.com十八、mtr命令mtr是结合了ping和traceroute的网络诊断工具提供实时的网络路径追踪和丢包情况。实时追踪到baidu的网络路径mtrbaidu.com十九、ssss命令用于显示和分析套接字网络连接比netstat更快速和高效。显示TCP和UDP连接ss-tuln查看特定端口的连接ss-tuln:80二十、telnettelnet命令用于与远程主机建立文本模式的通信连接常用于远程登录和测试端口连接到远程的某个端口telnet baidu.com80二十一、nslookupnslookup 命令用于查询域名系统DNS记录查询域名的IP地址nslookupbaidu.com二十二、digdig命令也是一个DNS查询工具比nslookup更强大提供更多的功能和选项。查询某个域名的A记录digbaidu.com A二十三、routeroute命令用于查看和配置网络路由表查看当前路由表route-n二十四、lsoflsof命令用于列出当前系统中打开的所有文件及其相关信息。它可以显示哪些进程正在使用特定的文件。查看哪个进程在使用某个文件lsof/var/log/messages查看当前系统中所有打开的网络连接lsof-i二十五、unameuname命令用于显示系统信息如内核版本、操作系统类型等查看操作系统信息uname-a二十六、uptimeuptime命令用于查看系统的运行时间及当前的负载情况。查看系统的运行时间和负载情况uptime总结以上命令聚焦于网络管理与故障排查以及日常运维中高频率使用的命令。1时间与日期管理的命令date、cal2远程连接与文件传输的命令ssh、scp、rsync、telnet3系统状态与资源查看的命令free、uptime、uname、history、lsof4网络连通性测试与路径追踪的命令ping、traceroute、mtr5 网络配置IP/路由/端口的命令ip addr、ip link、ip route、ss、ifconfig、route -n、netstat6DNS解析查询的命令nslookup、dig7后台任务与系统开关机nohup、shutdown、reboot