面试官:你工作中用到了哪些linux命令

4 篇文章 0 订阅
3 篇文章 0 订阅
本文是IT猿「猿码天地」的技术分享,详细列举了各种常用的Linux命令,包括文件操作、进程查看、网络检查、数据库交互、防火墙设置等,旨在帮助读者提升Linux系统的管理和运维能力。通过学习,读者可以更好地掌握Linux环境下的日常维护工作。
摘要由CSDN通过智能技术生成

 

我是「猿码天地」,一个热爱技术、热爱编程的IT猿。技术是开源的,知识是共享的!

写作是对自己学习的总结和记录,如果您对 Java、分布式、微服务、中间件、Spring Boot、Spring Cloud等技术感兴趣,可以关注我的动态,我们一起学习,一起成长!

用知识改变命运,让家人过上更好的生活,互联网人一家亲!

Java知识学堂https://gitee.com/zhangbw666/it-knowledge

常用命令

  • ls 查看目录中的文件

  • cd /home 进入 ‘/ home’ 目录;cd .. 返回上一级目录;cd ../.. 返回上两级目录

  • mkdir dir1 创建一个叫做 ‘dir1’ 的目录

  • rmdir dir1 删除一个叫做 ‘dir1’ 的目录 (只能删除空目录)

  • rm -f file1 删除一个叫做 ‘file1’ 的文件’,-f 参数,忽略不存在的文件,从不给出提示。

  • rm -rf /mulu  删除目录下面文件以及子目录下文件

  • cp /test1/file1 /test3/file2   如将/test1目录下的file1复制到/test3目录,并将文件名改为file2

  • mv /test1/file1 /test3/file2  如将/test1目录下的file1移动到/test3 目录,并将文件名改为file2

  • mv * ../ Linux当前目录所有文件移动到上一级目录

  • ps -ef|grep xxx 显示进程pid

  • kill  使用kill命令来终结进程。先使用ps命令找到进程id,使用kill -9命令,终止进程。

  • tar –xvf file.tar  解压 tar包

  • unzip file.zip 解压zip 8 unrar e file.rar 解压rar

  • free -m  查看服务器内存使用情况

查看日志

  • tail -f xx.log 动态实时查看后端日志

  • tail -1000 xx.log 查看最近1000行日志

查看端口

  • netstat  -anp  | grep   端口号(查看某个端口是否被占用)

图中主要看监控状态为LISTEN表示已经被占用,最后一列显示被服务mysqld占用,查看具体端口号,只要有如图这一行就表示被占用了。

  • netstat  -anp  |grep  82 (查看82端口的使用情况)

可以看出并没有LISTEN那一行,所以就表示没有被占用。此处注意,图中显示的LISTENING并不表示端口被占用,不要和LISTEN混淆哦,查看具体端口时候,必须要看到tcp,端口号,LISTEN那一行,才表示端口被占用了。
  • netstat   -nultp(此处不用加端口号)(查看当前所有已经使用的端口情况)

文件系统

  • 重启系统 reboot、shutdown -r now、init6

  • 创建文件夹 mkdir

  • 创建文件 touch

  • 删除文件 rm -rf

  • 查看当前路径 pwd

  • 列出所有的系统服务 chkconfig --list

  • 查看安装包 rpm -qa|grep 名称(例如:查看nfs包  rpm -qa|grep nfs)

  • 强制安装rpm包 rpm -ivh *.rpm --nodeps --force

  • 查看历史命令 history

  • 查看磁盘大小 fdisk -l

  • 查看文件系统占用磁盘情况 df -h

  • Linux文件(夹)对比 diff [options] file1 file2

  • linux文件系统常用操作 mkdir/cd/touch/echo/cat/chmod/chown/mv/ln/rm

  • 复制远程服务器文件到本地 scp -r root@172.16.60.108:/root/nginx.conf /root/

  • 查找文件 whereis tomcat7

  • 打包ZIP zip -r -q -o work.zip work

  • 启动Tomcat并查看日志 ./bin/startup.sh ;tail -f ./logs/catalina.out

  • 统计文件个数 ls -l |grep "^-"|wc -l

  • 统计文件大小 du -h

  • find . -type f -size +100M (查找超过100M的文件)

  • find / -name httpd.conf  #在根目录下查找文件httpd.conf,表示在整个硬盘查找

  • find /etc -name httpd.conf  #在/etc目录下文件httpd.conf

  • find /etc -name ‘srm‘  #使用通配符(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘srm’的文件

  • find . -name ‘srm‘   #表示当前目录下查找文件名开头是字符串‘srm’的文件

查看文件

  • cat 由第一行开始显示内容,并将所有内容输出(不常用)

  • tac 从最后一行倒序显示内容,并将所有内容输出(不常用)

  • more 根据窗口大小,一页一页的现实文件内容(常用)

  • less 和more类似,但其优点可以往前翻页(常用)

less还有一个功能,可以在文件中进行搜索你想找的内容,假设你想在passwd文件中查找有没有weblogic字符串,那么你可以这样来做:[root@redhat etc]# less passwd
然后输入:/weblogic
回车
此时如果有weblogic字符串,linux会把该字符已高亮方式显示。
退出查看页面,请按“q”键。

  • head 只显示头几行

  • tail 只显示最后几行

  • nl 类似于cat -n,显示时输出行号

  • tailf 类似于tail -f

数据库

  • 进入数据库 mysql -u root -p

  • 连接远程数据库 mysql -h 10.0.0.1 -uroot -p 123

  • 显示数据库 show databases;

  • 使用数据库 use 数据库名称

  • 显示数据库表 show tables;

  • 显示数据库表的结构 describe 表名;

  • 显示表中的记录 select * from 表名;

  • 创建数据库 create database 数据库名;

  • 创建数据库表 create table 表名 (字段设定列表);

  • 删库和删表 drop database 库名; drop table 表名;

  • 备份数据库 mysqldump -u root -p --opt 数据库名 > 备份的数据库名

  • 使脚本具有执行权限 chmod +x ./test.sh

  • 查看mysql版本信息 select version();(进入到mysql命令)

防火墙开关

  • 重启后生效 开启:chkconfig iptables on 关闭:chkconfig iptables off

  • 即时生效,重启后失效 开启:service iptables start 关闭:service iptables stop

进程

  • 查看端口号占用情况 netstat -apn|grep 端口号(会看到端口所对应的进程,例如:6426)

  • 查看进程详细信息 ps -aux|grep 6426

  • 杀死进程 kill -9 6426

  • 查看端口是否被监听 netstat -an | grep 80(Linux)/ netstat -aon | findstr :80(windows)

  • 查看tcp/udp进程 netstat -tupln

  • Linux查看端口占用情况 lsof -i:80

  • 查看端口是否有进程守护 netstat -nalp |grep 8080

  • 查看端口被哪个进程占用 lsof -i:8088

  • kill掉进程 kill -9 进程号

  • 软连接 ln -s 源文件(夹) 目标文件(夹)

  • 网络工具 curl -I 127.0.0.1:8080  curl -i 127.0.0.1:8080

操作系统

  • 查看Linux系统版本 cat /etc/redhat-release

  • 查看Linux内存 cat /proc/meminfo 或者 free -m

  • 查看Linux cpu cat /proc/cpuinfo

  • 查看Linux版本 lsb_release -a

  • yum安装rpm打包环境 yum -y install rpm-build

  • 查看主板信息 dmidecode --help、dmidecode -t 1/2/3

  • 查看内存条型号 dmidecode | grep -A16 "Memory Device"

nohup命令

nohup java -jar /xxx/xxx/xxx.jar >/dev/null 2>&1 &
关键在于最后的 >/dev/null 2>&1 部分,/dev/null是一个虚拟的空设备(类似物理中的黑洞),任何输出信息被重定向到该设备后,将会石沉大海。

而>/dev/null 表示将标准输出信息重定向到"黑洞"。

2>&1 表示将标准错误重定向到标准输出(由于标准输出已经定向到“黑洞”了,即:标准输出此时也是"黑洞",再将标准错误输出定向到标准输出,相当于错误输出也被定向至“黑洞”)

网络命令

  • hostname

hostname 没有选项,显示主机名字
hostname –d 显示机器所属域名
hostname –f 显示完整的主机名和域名
hostname –i 显示当前机器的 ip 地址
  • ping

用来确认网络连接是畅通的。
  • ifconfig

查看用户网络配置。它显示当前网络设备配置。对于需要接收或者发送数据错误查找,这个工具极为好用。

补充:Windows 用的 ipconfig
  • traceroute

一个方便的工具。可用来查看数据包在提交到远程系统或者网站时候所经过的路由器的 IP 地址、跳数和响应时间。同样你必须链接到互联网才能使用这个命令。
  • telnet

通过 telnet 协议连接目标主机,如果 telnet 连接可以在任一端口上完成即代表着两台主机间的连接良好。
telnet hostname port – 使用指定的端口 telnet 主机名。这通常用来测试主机是否在线或者网络是否正常。

补充:此命令在 Windows 下同样适用。
  • netstat

发现主机连接最有用最通用的 Linux 命令。你可以使用”netstat -g”查询该主机订阅的所有多播组(网络)

netstat -nap | grep port 将会显示使用该端口的应用程序的进程 id

netstat -a or netstat –all 将会显示包括 TCP 和 UDP 的所有连接

netstat –tcp or netstat –t 将会显示 TCP 连接

netstat –udp or netstat –u 将会显示 UDP 连接

netstat -g 将会显示该主机订阅的所有多播网络。

你多学一样本事,就少说一句求人的话,现在的努力,是为了以后的不求别人,实力是最强的底气。记住,活着不是靠泪水博得同情,而是靠汗水赢得掌声。——《写给程序员朋友》 

点赞&在看是最大的支持
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猿码天地

相互学习,谢谢您的打赏。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值