我是「猿码天地」,一个热爱技术、热爱编程的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 将会显示该主机订阅的所有多播网络。
你多学一样本事,就少说一句求人的话,现在的努力,是为了以后的不求别人,实力是最强的底气。记住,活着不是靠泪水博得同情,而是靠汗水赢得掌声。——《写给程序员朋友》
点赞&在看是最大的支持