Linux相关命令

更新时间 🔔🕙 2024年3月27日

查看系统版本信息

#电脑以及操作系统的相关信息
uname -a
#正在运行的内核版本
cat /proc/version
#发行版本信息
cat /etc/redhat-release
#发行版本信息(centos6)
cat /etc/issue
#发行版本信息(centos7)
cat /etc/os-release
#(适用于所有的linux,包括Redhat、SuSE、Debian等发行版,但是在debian下要安装lsb,centos7不适用)
lsb_release -a
# 查看系统是32位还是64位
uname -m
getconf LONG_BIT
echo $HOSTTYPE

查看物理CPU个数、核数、逻辑CPU个数

# 总核数 = 物理CPU个数 X 每颗物理CPU的核数
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数

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

# 查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq

# 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l

# 查看CPU信息(型号)
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

# 查看内 存信息
cat /proc/meminfo
# 查看单条内存信息
dmidecode |grep -A16 "Memory Device$"

查看开机自启动项目

#显示开机可以自动启动的服务
chkconfig --list

#添加开机自动启动***服务
chkconfig --add ***

#删除开机自动启动***服务
chkconfig --del ***

#配置mysqld开机自启动
chkconfig mysqld on

#配置mysqld开机不启动
chkconfig mysqld off

查看磁盘空间和文件夹大小

#查看磁盘空间
df -lh

#查看某个文件夹大小
du -h --max-depth=1 /home

查看hosts文件、主机名

#查看hosts文件
cat /etc/hosts

#查看hostname
hostname -f
#修改hostname
vi /etc/sysconfig/network
#HOSTNAME=fully.qualified.domain.name
vi /etc/hosts
#增加127.0.0.1 fully.qualified.domain.name
#修改之后,重启network即可
service network restart

当前系统最大的文件打开数

#查看当前系统最大的文件打开数
ulimit -a

#修改允许最大打开文件数【临时修改】
#在【/etc/rc.local】中,增加下面的代码
ulimit -n 4000

#修改允许最大打开文件数【永久修改】
#在【/etc/security/limits.conf】中,增加下面的代码
* soft nofile 65536
* hard nofile 65536

#查看系统允许的最大句柄文件数
cat /proc/sys/fs/file-max

#查看进程已经打开的文件数
lsof |wc -l

修改时区

#查看当前时区
命令 : "date -R"

#修改设置Linux服务器时区
方法 A
命令 : "tzselect"

方法 B 仅限于RedHat Linux 和 CentOS
命令 : "timeconfig"

方法 C 适用于Debian
命令 : "dpkg-reconfigure tzdata"

#复制相应的时区文件,替换系统时区文件;或者创建链接文件
cp /usr/share/zoneinfo/

次时区 /etc/localtime
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

修改时间

#将系统日期设定成2009年11月3日的命令
命令 : "date -s 11/03/2009"

#将系统时间设定成下午5点55分55秒的命令
命令 : "date -s 17:55:55"

#将当前时间和日期写入BIOS,避免重启后失效
命令 : "hwclock -w"

注:
date
不加参数可以直接看到当前日期时间

cal
不加参数可以直接看到本月月历

#date命令的功能是显示和设置系统日期和时间。
该命令的一般格式为: date [选项] 显示时间格式(以+开头,后面接格式)
date 设置时间格式
命令中各选项的含义分别为:
-d datestr, --date datestr 显示由datestr描述的日期
-s datestr, --set datestr 设置datestr 描述的日期
-u, --universal 显示或设置通用时间 时间域
% H 小时(00..23)
% I 小时(01..12)
% k 小时(0..23)
% l 小时(1..12)
% M 分(00..59)
% p 显示出AM或PM
% r 时间(hh:mm:ss AM或PM),12小时
% s 从1970年1月1日00:00:00到目前经历的秒数
% S 秒(00..59)
% T 时间(24小时制)(hh:mm:ss)
% X 显示时间的格式(%H:%M:%S)
% Z 时区 日期域
% a 星期几的简称( Sun..Sat)
% A 星期几的全称( Sunday..Saturday)
% b 月的简称(Jan..Dec)
% B 月的全称(January..December)
% c 日期和时间( Mon Nov 8 14:12:46 CST 1999)
% d 一个月的第几天(01..31)
% D 日期(mm/dd/yy)
% h 和%b选项相同
% j 一年的第几天(001..366)
% m 月(01..12)
% w 一个星期的第几天(0代表星期天)
% W 一年的第几个星期(00..53,星期一为第一天)
% x 显示日期的格式(mm/dd/yy)
% y 年的最后两个数字( 1999则是99)
% Y 年(例如:1970,1996等)
需要特别说明的是,只有超级用户才能用date命令设置时间,一般用户只能用date命令显示时间

定时同步时间

crontab -e

0 12 * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1

开启dns服务

cd /etc
vim hosts
service dnsmasq restart

dns查询

# 利用本机默认dns服务器地址解析URL域名
nslookup www.apple.com
# 利用指定的dns服务器地址解析URL域名
nslookup www.apple.com 202.96.209.133

查看端口占用

#查看tomcat进程
ps -aux | grep tomcat

#查看8080端口是否被占用
netstat -tunlp | grep 8080

路由相关

#添加路由
route add -net 192.168.0.0/24 gw 192.168.0.1
route add -host 192.168.1.1 dev 192.168.0.1
#删除路由
route del -net 192.168.0.0/24 gw 192.168.0.1

#add 增加路由
#del 删除路由
#-net 设置到某个网段的路由
#-host 设置到某台主机的路由
#gw 出口网关 IP地址
#dev 出口网关 物理设备名

#增加默认路由,默认路由一条就够了
route add default gw 192.168.0.1

#查看路由表
route -n

添加EPEL repo

#添加EPEL源
yum install epel-release

查看进程的执行路径

#19120为想要查看的进程
ll /proc/19120/exe
#查看进程19120的更多信息
ll /proc/19120

linux登录提示有软件需要更新

#ubuntu经常登录后提示下面的消息:
#159 packages can be updated.
#80 updates are security updates.
#执行下面的操作即可
sudo apt-get update
sudo apt-get dist-upgrade

linux全局proxy设置

# 全局proxy设置
export https_proxy=http://192.168.0.1:7891
export http_proxy=http://192.168.0.1:7891
export all_proxy=socks5://192.168.0.1:7891

# 也可以直接加入到启动脚本中【/etc/profile.d】下的sh文件中

curl和wget命令行使用proxy

wget -e "http_proxy=https://proxy.xxx.com:3128" "https://objects.xxx.com/xxx.zip" -O "cc.tar.gz"

curl -x http://proxy.xxx.com:3128 -i https://www.baidu.com

linux的shell中弹出对话框选择

# 信息框
whiptail --title "信息" --msgbox "这是一个信息框。" 10 50
# 确认框
whiptail --title "确认" --yesno "您确定吗?" 10 50
# 输入框
whiptail --title "输入" --inputbox "请输入一些文本:" 10 50 3>&1 1>&2 2>&3

# 需要安装软件
sudo apt-get install dialog
转载请备注引用地址:编程记忆 » Linux相关命令