linux服务器常用命令

177 阅读5分钟

说点废话

一些常用linux命令,其实没使用,慢慢就不太记得了。所以觉得有必要记录下,也是方便自己后续查找。我还是觉得局部性原理,在知识层面也是相通的。比如,在公司,常用的一些命令可能就那些。尽管一些书上列的比较全,很多都是没有用到的。我也不太建议说去背,敲多了,就熟悉了。实在不记得,翻看过去笔记,复制粘贴也是好的。

常用命令

文件目录

scp

# 跨服务器文件复制
# scp -p 源 目标
scp -p File.cfg linuxprobe@192.168.10.10:/Dir

cp

# 将packageA文件夹中的内容复制到packageB文件夹之下
cp -r /home/packageA/* /home/cp/packageB/ 

参考资料:https://blog.csdn.net/m0_67401746/article/details/126434138

mv

# 移动或更改名称
mv  /A/read.me  /data/B/
# 将A目录下文件read.me移到目录/data/B/中

mv read.me read_20240331.me
# 将rede.me的名称更改为read_20240331.me

mkdir

# 创建一个名为web-data的文件夹 
mkdir web-data

cat

# 创建一个文件 
cat > sample.txt 
1)在终端提示符下键入以上命令,按Enter。 
2)按Enter后,不会返回到终端提示符。 而是将光标放在下一行,可以直接在终端上输入文本。 在每行之后按Enter。 
3)完成后,按Ctrl + D退出文本文件的修改并返回提示。(注意D为大写) 
参考资料:https://blog.csdn.net/qq_50637636/article/details/119418242

ls

# 统计某文件夹中文件个数 
ls /data/ftp/202108 | wc -l

du

# 查看文件大小 
du -sh 文件名

df

# 查看系统的硬盘占用情况(单位,G) 
df -h 
# (显示内容如下) 
文件系统   容量  已用  可用  已用%  挂载点 
devtmpfs  126G  0    126G  0%    /dev

zip

# 解压zip文件 
unzip data.zip
参考资料,https://blog.csdn.net/m0_67392931/article/details/123771700

# 若压缩包中存在中文命名的文件,则解压会出现乱码,设置解压编码格式
#指定GBK GB18030编码也是可以的
unzip -O CP936 data.zip

https://blog.csdn.net/lakelise/article/details/121517075

# 压缩文件为zip格式

zip -r fileName.zip 文件夹名
例,zip -r a.zip a

grep

# 这个命令用的确实多,找到相应进程并关掉
ps -ef| grep apache-tomcat-8.5.64 


# 说明
# 如果有,就kill 
kill -9 pid 

# pid 为相应的进程号 例如:
kill -9 5144 
# 5144就是pid

软连接

ln -s target source
# 说明
# ln -s:表示创建一个软连接;
# target:表示目标文件(夹),即源文件。[真正存放文件的位置]
# source:表示当前目录的软连接名,即被创建出来的软连接名称以及放置在何处。可理解为windows中的超链接


# 示例
ln -s /run/media/admin/file /usr/local/tomcat/apache-tomcat-8.5.84/bin/dem
# 效果,打开dem中的文件,可以看到里面的文件内容,真正存放在/run/media/admin/file中


参考资料,https://blog.csdn.net/K_520_W/article/details/124114863

网络相关

traceroute

# traceroute 命令来自英文词组 trace router 的拼写,其功能是追踪网络数据包的传输路径 
traceroute XXX.XXX.XXX.XXX

ping

# 查看网络是否与某服务器连通 
ping XXX.XXX.XXX.XXX

telnet

# 查看某服务器端口是否能连通 
telnet XXX.XXX.XXX.XXX 8080 

进入之后,使用ctl + ],而后使用quit退出 


# 若提示找不到这个命令,可以使用以下方式进行安装
# 安装telnet,具体步骤 
# 1)查看是否安装了telnet-server服务 
[root@hadoop6 hbase]# rpm -qa telnet-server 
# 2)若没有安装,则先安装telnet-server服务 
[root@hadoop6 hbase]# yum install telnet-server 
# 3)再安装telnet 
[root@hadoop6 hbase]# yum install telnet 

参考资料,原文链接:https://blog.csdn.net/u013810234/article/details/123302038

netstat

# 显示网络状态
# 可查看具体某个端口号使用情况 
# 若网络正常,说明可以搜到
netstat -nalp|grep 8095 
netstat -nalp|grep 6379

lsof

# 查看端口是否在使用 
lsof -i:8080

curl

# 查看某网页是否能正常访问 
# 若可正常访问,则输出对应的html内容 
curl http://www.baidu.com 

参考资料:https://blog.csdn.net/manongxianfeng/article/details/114585848

服务器系统相关

cup数

# CPU个数 
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

核心数

# 每个CPU的核心数 
grep 'core id' /proc/cpuinfo | sort -u | wc -l

线程数

# 线程数 
grep 'processor' /proc/cpuinfo | sort -u | wc -l 
# 说明,当前测试的服务器参数 CPU数为2; 每个CPU核心数为14; 能处理的线程数56;
(每个核能处理2个线程,2 = 56/14/2)

防火墙

查看防火墙状态 systemctl status firewalld 
开启防火墙 systemctl start firewalld 
关闭防火墙 systemctl stop firewalld 
开启防火墙 service firewalld start 

若遇到无法开启 
先用:systemctl unmask firewalld.service 
然后:systemctl start firewalld.service 

查看已经开通的端口号,firewall-cmd --zone=public --list-ports 
查看想开的端口是否已开:firewall-cmd --query-port=6379/tcp 
添加指定需要开放的端口:firewall-cmd --add-port=6379/tcp --permanent 
重载入添加的端口:firewall-cmd --reload 
查询指定端口是否开启成功:firewall-cmd --query-port=123/tcp 
移除指定端口:firewall-cmd --permanent --remove-port=123/tcp 

参考资料:https://blog.csdn.net/wufaqidong1/article/details/126612203

推荐书籍

最近发现了一本Linux命令书籍,还是蛮全面的,可以对自己经常使用到的命令进行标注,方便后续的使用。

图片.png

最后再说点

其实目前一些命令已经能处理我工作的大部分问题,其它其实也有很多没在这里列出来。可能用的比较少,或者没想到用。

PS,突然想到曾经面试,遇到一个面试官。问我怎么修改服务器密码。把我问的一愣一愣的。我不清楚是恶心人,还是啥情况。这种少见的操作,我也只能寻求互联网了。也不知道为啥,过了这么久,写到linux相关命令时,居然还能想到这个事情。