«

Linux_相關指令

Paladin 发布于 阅读:251 Linux


Linux 设置时区和修改时间

GMT、UTC、CST、DST 时间
(1) UTC
整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC, Universal Time Coordinated)。
(2) GMT
格林威治标准时间 (Greenwich Mean Time)指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。(UTC与GMT时间基本相同,本文中不做区分)
(3) CST
中国标准时间 (China Standard Time)
(4) DST
夏令时(Daylight Saving Time) 指在夏天太阳升起的比较早时,将时钟拨快一小时,以提早日光的使用。(中国不使用)
GMT + 8 = UTC + 8 = CST

timedatectl set-timezone Asia/Shanghai    #服务器时区设置
date -s "2020-12-20 16:34:50"    #服务器时间设置
#需要修改时间为24小时,可以修改/etc/default/locale,默认没有LC_TIME这个变量,在文件中增加一行:
LC_TIME=en_DK.UTF-8
tzselect #在这里我们选择亚洲 Asia,确认之后选择中国(China),最后选择北京(Beijing),选择1
cp /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime #复制文件到/etc目录下
date -R #查看时间
hwclock --systohc #将系统时间同步到硬件时间
timedatectl #等同于 timedatectl status
timedatectl list-timezones #列出所有时区
timedatectl set-timezone Asia/Shanghai #设置时区
timedatectl set-ntp yes #yes或者no是否NTP服务器同步
timedatectl set-local-rtc 1 #将硬件时钟调整为与本地时钟一致

yum源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
                                          http://mirrors.163.com/.help/CentOS7-Base-163.repo
yum clean all #清空缓存
yum makecache #生成缓存

RPM

wget http://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-3.4.3-168.el7.centos.noarch.rpm
wget http://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
wget http://mirrors.aliyun.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-54.el7_8.noarch.rpm
- rpm -qi centos-release  #查询服务器的系统版本
- cat /etc/redhat-release #查看对应系统yum包
- file /bin/ls #查看系統位數
- rpm -qa|grep yum #查看已安装的yum
- rpm -aq|grep yum|xargs rpm -e --nodeps #删除已有的yum
- rpm -ivh *.rpm #安裝指定rpm
- rpm -qa|grep yum #查看系統已安裝的yum
- rpm -e yum* #卸載yum

Centos修改ip

vim /etc/sysconfig/network-scripts/ifcfg-ens1
BOOTPROTO=static
IPADDR=192.168.1.100 #IPADDR=新的IP地址
NETMASK=255.255.255.0 #NETMASK=新的子网掩码
GATEWAY=192.168.0.1 #GATEWAY=新的网关
DNS1=8.8.8.8 #DNS1=新的域名服务器1
DNS2=8.8.4.4 #DNS2=新的域名服务器2(可选)
ONBOOT=yes
- systemctl restart network

DNS2=新的域名服务器2(可选)

Ubuntu Server 20.04 安装桌面(图形界面)

# 安装 Gnome
sudo apt update
sudo apt-get upgrade
sudo apt install ubuntu-desktop
#安装 Xfce
sudo apt update
sudo apt-get upgrade
sudo apt install xubuntu-desktop

安装 Xrdp

sudo apt install xrdp
sudo systemctl status xrdp

设置root密码

sudo passwd root

vim

#命令模式
#以下是常用的几个命令:
-(1)i 切换到输入模式,以输入字符。输入模式也叫编辑模式,可编辑文档(最常用)
-(2)x 删除当前光标所在处的字符。
-(3): 切换到底线命令模式,以在最底一行输入命令。
#在输入模式中,可以使用以下按键:
- 字符按键以及Shift组合,输入字符
- ENTER,回车键,换行
- BACK SPACE,退格键,删除光标前一个字符
- DEL,删除键,删除光标后一个字符
- 方向键,在文本中移动光标
- HOME/END,移动光标到行首/行尾
- Page Up/Page Down,上/下翻页
- Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
- ESC,退出输入模式(编辑模式),切换到命令模式
#底线命令模式:
- 在命令模式下按下:(英文冒号)就进入了底线命令模式。
- 底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
- 在底线命令模式中,基本的命令有(已经省略了冒号):
- q 退出程序
- w 保存文件
- 按ESC键可随时退出底线命令模式。
# 保存文件修改
- :w      #按【:w】 保存文件
- :w!     #按【:w!】 若文件为只读,强制保存文件
# 退出文件
- :q      #按【:q】 离开vi/vim
- :q!     #按【:q!】 不保存强制离开vi
# 保存并退出
- :wq     #按【:wq】 保存后离开
- :wq!    #按【:wq!】 强制保存后离开

添加用户到sudo,并允许不输入密码执行sudo操纵

vi /etc/sudoers
# your_username ALL=(ALL) NOPASSWD: ALL

查看CPU

- cat /proc/cpuinfo #在Linux服务器上查看CPU详细信息
输出项 含义
processor 系统中逻辑处理核的编号。对于单核处理器,则可认为是其CPU编号,对于多核处理器则可以是物理核、或者使用超线程技术虚拟的逻辑核
vendor_id CPU制造商
cpu family CPU产品系列代号
model CPU属于其系列中的哪一代的代号
model name CPU属于的名字及其编号、标称主频
stepping CPU属于制作更新版本
cpu MHz CPU的实际使用主频
cache size CPU二级缓存大小
physical id 单个CPU的标号
siblings 单个CPU逻辑物理核数
core id 当前物理核在其所处CPU中的编号,这个编号不一定连续
cpu cores 该逻辑核所处CPU的物理核数
apicid 用来区分不同逻辑核的编号,系统中每个逻辑核的此编号必然不同,此编号不一定连续
fpu 是否具有浮点运算单元(Floating Point Unit)
fpu_exception 是否支持浮点计算异常
cpuid level 执行cpuid指令前,eax寄存器中的值,根据不同的值cpuid指令会返回不同的内容
wp 表明当前CPU是否在内核态支持对用户空间的写保护(Write Protection)
flags 当前CPU支持的功能
bogomips 在系统内核启动时粗略测算的CPU速度(Million Instructions Per Second)
clflush size 每次刷新缓存的大小单位
cache_alignment 缓存地址对齐单位
address sizes 可访问地址空间位数

查看内存信息

- dmidecode #查看共有多少个槽位
- cat /proc/meminfo #在Linux服务器上查看內存详细信息

CURL

- curl -d #-d 后面是要发送的数据,例子中发送的是 JSON 格式的数据
- curl -X #X 后面是指定 HTTP 的方法,例子中指定的是 POST 方法;
- curl -H #-H 是指定自定义的请求头,例子中由于发送的是 JSON 数据,所以内容类型指定了 JSON
- curl http: #查看网页源码
- curl -o filename.ext http://example.com/file.ext #下载文件并保存到本地
- curl -X POST -d "param1=value1&param2=value2" http://example.com/api #发送POST请求 这在与API交互时非常有用。使用-X POST设置请求方法,并用-d发送数据
- curl -u username:password http://protected.site #使用HTTP认证 用于向服务器发送 HTTP 请求时指定用户名和密码。这个选项通常用于需要基本认证(Basic Authentication)的场合,比如访问需要认证的 Web 页面或 API 接口

常用

- df 
    - Filesystem:代表该文件系统时哪个分区,所以列出的是设备名称。
    - 1K-blocks:说明下面的数字单位是1KB,可利用-h或-m来改变单位大小,也可以用-B来设置。
    - Used:已经使用的空间大小。Available:剩余的空间大小。
    - Use%:磁盘使用率。如果使用率在90%以上时,就需要注意了,避免磁盘容量不足出现系统问题,尤其是对于文件内容增加较快的情况
    - Mounted on:磁盘挂载的目录,即该磁盘挂载到了哪个目录下面。
- top  #查看动态进程
    - 第一行:
    - 20:45:37— 当前系统时间
    - 1:08 — 系统已经运行时间(在这期间没有重启过)
    - 4 users — 当前有4个用户登录系统
    - load average: 00, 00, 00 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。
    - load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。
    - 第二行:
    - Tasks — 任务(进程)共有144个进程,运行中的有1个,139个在休眠(sleep),stoped状态的有4个,zombie状态(僵尸)的有0个。
    - 第三行:cpu状态
    - 6.7% us — 用户空间占用CPU的百分比。
    - 0.4% sy — 内核空间占用CPU的百分比。
    - 0.0% ni — 改变过优先级的进程占用CPU的百分比
    - 92.9% id — 空闲CPU百分比
    - 0.0% wa — IO等待占用CPU的百分比
    - 0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比
    - 0.0% si — 软中断(Software Interrupts)占用CPU的百分比
    - 第四行:内存状态
    - 1030528 total — 物理内存总量(10GB)
    - 386032k used — 使用中的内存总量(3.86GB)
    - 4496k free — 空闲内存总量(6.44)
    - buffers — 缓存的内存量
    - 第五行:swap交换分区
    - total — 交换区总量
    - used — 使用的交换区总量
    - free — 空闲交换区总量
    - cached — 缓冲的交换区总量(4GB)
    - 六行是空行
    - 第七行以下:各进程(任务)的状态监控
    - PID — 进程id
    - USER — 进程所有者
    - PR — 进程优先级
    - NI — nice值。负值表示高优先级,正值表示低优先级
    - VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
    - RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
    - SHR — 共享内存大小,单位kb
    - S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
    - %CPU — 上次更新到现在的CPU时间占用百分比
    - %MEM — 进程使用的物理内存百分比
    - TIME+ — 进程使用的CPU时间总计,单位1/100秒
    - COMMAND — 进程名称(命令名/命令行)
    - top 退出ctrl +z或ctrl+c
- top -d #秒数 设定间隔时间查看资源使用情况
- free     #查看内存使用情况
    - Men:内存的使用情况
    - Swap:交换空间的使用情况
    - total:总内存
    - used:已经使用的内存
    - shared:共享内存(主要被tmpfs使用的内存)
    - buff/cache:buff和cache的和
    - available:启动新进程时可用的内存
- ps  #查看进程命令
- ps aux  #查看所有用户的进程
    - a表示 所有进程
    - u   表示用户
    - x   执行
    - USER:该进程属于那个使用者账号。
    - PID :该进程的进程ID号。
    - %CPU:该进程使用掉的 CPU 资源百分比;
    - %MEM:该进程所占用的物理内存百分比;
    - VSZ :该进程使用掉的虚拟内存量 (Kbytes)
    - RSS :该进程占用的固定的内存量 (Kbytes)
    - TTY :该进程是在那个终端机上面运作,若与终端机无关,则显示 ?。另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
    - STAT:该程序目前的状态,主要的状态有:
    - R :该程序目前正在运作,或者是可被运作;
    - S :该程序目前正在睡眠当中,但可被某些讯号(signal) 唤醒。
    - T :该程序目前正在侦测或者是停止了;
    - Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态
    - START:该进程被触发启动的时间;
    - TIME :该进程实际使用 CPU 运作的时间。
    - COMMAND:该程序的实际指令。
- ps  -ef|grep   服务名称 #ps -ef|grep 服务名称 查看一个服务状(重点)
- kill  #杀死进程
- kill -9  #强制杀死进程
- netstat  -nltp   #查看所有已经开启的端口
- lsof  -i  :端口号 
- hostname  #查看主机名称
- du -sh  #查看当前文件大小
- alias  别名= 命令
- alias if=ifconfig
- unalias   简称别名 #取消别名
- service  network start   #开启网卡(建议不操作)
- service  network stop #关闭 网卡
- service  network restart  #重启网卡
- service  network status  #查看网卡状态
- ln  -s #软连接
- ln  -s 源文件   目标文件
    - 以路径的形式存在
    - 可以跨文件系统,硬连接不可以
    - 可以对目录进行连接
- ln    源文件名  硬连接文件名 # 硬链接
- df -h #带单位显示磁盘使用情况
- sz/rz #文件互传
- nmcli device show #查看网卡mac地址 
- systemctl start NetworkManager # 執行nmcli device show过程中可能会报错“Error: NetworkManager is not running”,執行解決
- ls -l /dev/tty* #查看tty端口,识别使用的端口
- ssh user@ip #远程登录
- scp #把一台机器上的文件传输给另一台机器
- ifconfig #查看本地网络状态
- netstat #看目前本机的网络使用情况
- netstat -t #看 TCP 连接的网络信息
- netstat -u #看 UDP 的网络信息
- host #DNS 查询命令
- dig #dig 显示的更加详细DNS
- shutdown #安全地将系统关机
- shutdown -r now #馬上關機
- shutdown -r 10 #10秒後關機
- shutdown -r 20:35 #定時關機
    - [-t] 在改变到其它runlevel之前,告诉init多久以后关机。
    - [-r] 重启计算器。
    - [-k] 并不真正关机,只是送警告信号给每位登录者〔login〕。
    - [-h] 关机后关闭电源〔halt〕
    - [-n] 不用init﹐而是自己来关机。不鼓励使用这个选项,而且该选项所产生的后果往往不总是你所预期得到的。
    - [-c] cancel current process取消目前正在执行的关机程序。所以这个选项当然没有时间参数,但是可以输入一个用来解释的讯息而这信息将会送到每位使用者。
    - [-f] 在重启计算器〔reboot〕时忽略fsck。
    - [-F] 在重启计算器〔reboot〕时强迫fsck。
    - [-time] 设定关机〔shutdown〕前的时间。
- halt #其实halt就是调用shutdown -h
    - [-n] 防止sync系统调用﹐它用在用fsck修补根分区之后﹐以阻止内核用老版本的超级块〔superblock〕覆盖修补过的超级块。
    - [-w] 并不是真正的重启或关机﹐只是写wtmp〔/var/log/wtmp〕纪录。
    - [-d] 不写wtmp纪录〔已包含在选项[-n]中〕。
    - [-f] 没有调用shutdown而强制关机或重启。
    - [-i] 关机〔或重启〕前﹐关掉所有的网络接口。
    - [-p] 该选项为缺省选项。就是关机时调用poweroff。
- reboot #重啟
    -b:不执行相关脚本而直接进入单用户模式;
    -s:切换到单用户模式。
    0 停机(千万不能把initdefault 设置为0)
    1 单用户模式
    2 多用户,没有 NFS(和级别3相似,会停止部分服务)
    3 完全多用户模式
    4 没有用到
    5 x11(Xwindow)
    6 重新启动(千万不要把initdefault 设置为6)

更新软件源为阿里源并用它更新软件

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak_`date "+%y_%m_%d"`
sudo sed -i 's/http:\/\/.*.ubuntu.com/https:\/\/mirrors.aliyun.com/g' /etc/apt/sources.list
sudo apt update
sudo apt upgrade

Linux