Linux命令大全

基础命令

系统

命令 说明
reboot 重启系统
shutdown -r now 重启系统
shutdown -c 取消重启
halt 立刻关机
poweroff 立刻关机
shutdown -h now 立刻关机(root用户使用)
shutdown -h 10 10分钟后自动关机
yum update 升级Linux,升级所有包同时也升级软件和系统内核
yum upgrade 升级Linux,只升级所有包,不升级软件和系统内核
cat /proc/version 查看内核版本
uname -a 查看内核版本
lsb_release -a 查看系统版本
cat /etc/issue 查看系统版本
cat /etc/redhat-release 查看系统版本(适合Redhat系)
cat /etc/*-release 查看系统版本(适合SUSE系)
getconf LONG_BIT 查看系统位数
cat /proc/cpuinfo 查看CPU型号
top 查看实时CPU使用率
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head 查看占用CPU最多的10个进程。head默认取前10行,自定义K行时,在后面跟-K即可
free -m 查看内存
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head 查看占用内存最多的10个进程。head默认取前10行,自定义K行时,在后面跟-K即可
fdisk -l 查看硬盘,可查看未分区和格式化的数据盘
df -h 查看硬盘空间情况
du -sh ./* 查看当前目录下各文件/文件夹的大小
jps 查看当前所有Java进程pid的命令
kill 删除执行中的程序或工作
kill -9 强制终止执行中的程序或工作
passwd 修改用户密码,命令后跟用户名即可
vim /etc/HOSTNAME 修改主机名字
hostname -F /etc/HOSTNAME 使修改立刻生效
cat /var/log/secure 安全和身份日志,记录用户和工作组变化情况、用户登陆认证情况 ,可以查看ssh登录的情况
lastlog 记录用户最后一次成功登陆的时间、登陆IP等信息。使用lastlog命令查看,root为管理员用户,admin为普通用户,其他为系统用户,系统用户没有权限登录,所以显示为never logged in
lastb 记录失败的登录尝试信息
last 记录登陆过系统的所有用户信息

文件

命令 说明
cd 改变目录到
cd ~ 回到家目录
pwd 查看当前路径
mkdir 创建文件夹
touch 创建文件
echo -n “ “ > 清空文件内容,如:echo -n “ “ >logs/error.log
rm 删除文件
rm -r 删除文件夹
rm -fr 直接删除,无需确认
cp 复制
mv 移动、重命名文件或文件夹
find 查找
which 查找
cat 查看文本内容
head 查看文本前十行
tail 查看文本后十行
tail -f 实时查看文本最新内容
more 让文件内容一屏一屏的显示
cat XXX | more 管道:将cat显示出来的内容重新输出给more命令
> 重定向:将文件内容输出到指定的文件或位置。如cat /etc/services > a.txt
ls -i 使用ls -i命令找到文件或文件夹的节点编号
find -inum 2243223 -delete 使用find命令查询并且删除乱码文件或文件夹
rm -rf fileA 删除文件或文件夹fileA的软链接
ln -s fileB fileA 设置软链接用快捷方式fileB代替fileA
ln fileB fileA 建立硬链接,相当于一个文件存储在两个位置,可以有效防止误删
删除指定文件夹下后缀名相同的文件:
find 目录 -name ‘*.abc’ | xargs rm 命令危险,可先执行前半段进行查看, 确认后再整条执行
find . -name ‘*.exe’ -type f -print -exec rm -rf {} ; 1) “.”表示从当前目录开始递归查找
2) “-name ‘*.exe’”根据名称来查找所有以.exe结尾的文件夹或者文件
3) “-type f”查找的类型为文件
4) “-print”输出查找的文件目录名
5) “-exec”后边跟要执行的命令,表示将find出来的文件或目录执行该命令
最后是一对{},一个空格和一个\,一个分号
ll -lh 查看当前目录下文件的大小
du -sh * 查看当前目录下文件或文件夹的大小

网络

命令 说明
netstat -apn 查看所有的进程和端口使用情况
netstat -nptl 查看端口使用情况
lsof 查看端口使用情况(openSUSE Leap 15.0),如 lsof -i:80
nc -vz IP地址或域名 端口 检测远程服务器端口

在命令行中配置IP地址

这里用Suse Linux举例:

1
2
ifconfig eth0 1.1.10.42 netmask 255.255.255.0 up
route add default gw 1.1.10.11

systemctl命令的使用

命令 说明
systemctl list-units 列出当前系统服务的状态
systemctl list-units –type=service 查看所有已启动的服务
systemctl list-unit-files 列出服务的开机状态
systemctl status sshd 查看指定服务的状态
systemctl stop sshd 关闭指定服务
systemctl start sshd 开启指定服务
systemctl restart sshd 从新启动服务
systemctl is-enabled servicename.service 查询服务是否开机启动
systemctl enable sshd 设定指定服务开机开启
systemctl disable sshd 设定指定服务开机关闭
systemctl reload sshd 使指定服务从新加载配置
systemctl list-dependencies sshd 查看指定服务的倚赖关系
systemctl mask sshd 冻结指定服务
systemctl unmask sshd 启用服务
systemctl set-default multi-user.target 开机不开启图形
systemctl set-default graphical.target 开机启动图形
systemctl —failed 显示启动失败的服务
setterm 文本界面设定color
服务状态 状态说明
————— :—————
loaded 系统服务已经初始化完成,加载过配置
active(running) 正有一个或多个程序正在系统中执行, vsftpd就是这种模式
atcive(exited) 仅执行一次就正常結束的服務, 目前並沒有任何程序在系統中執行
atcive(waiting) 正在執行當中,不過還再等待其他的事件才能继续处理
inactive 服务关闭
enbaled 服务开机启动
disabled 服务开机不自启
static 服务开机启动项不可被管理
failed 系统配置错误

防火墙(SUSE Linux Enterprise Server 12)

命令 说明
vim /etc/sysconfig/SuSEfirewall2 编辑防火墙设置,FW_SERVICES_EXT_TCP=”22”
rcSuSEfirewall2 restart 重启防火墙使生效
rcSuSEfirewall2 status 查看防火墙状态
systemctl stop SuSEfirewall2.service 关闭防火墙
systemctl start SuSEfirewall2.service 开启防火墙
systemctl enable SuSEfirewall2.service 开机启动防火墙
systemctl disable SuSEfirewall2.service 取消开机启动防火墙

防火墙(openSUSE Leap 15.0)

命令 说明
firewall-cmd --permanent --zone=public --add-service=ssh 添加永久的服务
firewall-cmd --permanent --zone=public --add-port=8080-8081/tcp 添加永久的端口
firewall-cmd --permanent --zone=public --remove-port=80/tcp 删除端口
firewall-cmd --zone=public --add-port=8080-8081/tcp 添加临时的端口
firewall-cmd --permanent --zone=public --list-ports 查看开启的端口
firewall-cmd --permanent --zone=public --list-services 查看开启的服务
firewall-cmd --reload 重新加载配置(重启加载后才能生效)
firewall-cmd --state 查看防火墙运行状态
firewall-cmd --query-service ssh
firewall-cmd --query-service ftp
firewall-cmd --query-service http
firewall-cmd --query-service https
firewall-cmd --list-all 显示当前区域的网卡配置参数、资源、端口以及服务等信息
service firewalld stop 关闭防火墙
service firewalld start 开户防火墙

防火墙(CentOS8)

命令 说明
systemctl status firewalld.service 查看服务状态
systemctl start firewalld.service 打开防火墙
systemctl stop firewalld.service 关闭防火墙
systemctl enable firewalld.service 开启防火墙
systemctl disable firewalld.service 禁用防火墙
————— :—————
firewall-cmd –list-all 查看已经开放的端口
firewall-cmd –add-port=8848/tcp –permanent 增加目标端口
firewall-cmd –reload 重启防火墙