centos / oracle Linux 常用运维命令讲解

目录

1.shell

linux常用目录:

2.命令格式

[3.man 帮助](#3.man 帮助)

4.提示符

5.echo输出字符串或变量值

6.date显示及设置系统的时间或日期

7.重启系统

8.关闭系统

9.登录注销

[10.wget 下载文件](#10.wget 下载文件)

[11.ps 查看系统的进程](#11.ps 查看系统的进程)

12.top动态监视进程信息和系统负载等信息

[13.lsof查询指定服务进程的 PID 值](#13.lsof查询指定服务进程的 PID 值)

[14.kill终止某个指定 PID 的服务进程](#14.kill终止某个指定 PID 的服务进程)

15.系统状态检测

[1 、 ifconfig用于获取网卡配置与网络状态](#1 、 ifconfig用于获取网卡配置与网络状态)

[2 、uname查看系统内核与系统版本等信息](#2 、uname查看系统内核与系统版本等信息)

3、free显示当前系统中内存的使用量信息

4、who查看当前登入主机的用户终端信息

[5、 history用于显示历史执行过的命令](#5、 history用于显示历史执行过的命令)

16.工作目录切换

[1、 pwd显示用户当前所处的工作目录例: pwd](#1、 pwd显示用户当前所处的工作目录例: pwd)

2、cd切换工作路径

[3、 ls显示目录中的文件信息](#3、 ls显示目录中的文件信息)

17.文本文件编辑

[1 、cat查看纯文本文件内容](#1 、cat查看纯文本文件内容)

[2 、more查看纯文本文件内容(逐屏)](#2 、more查看纯文本文件内容(逐屏))

[3 、head查看纯文本文档的前 N 行](#3 、head查看纯文本文档的前 N 行)

[4 、tail查看纯文本文档的后 N 行或持续刷新内容](#4 、tail查看纯文本文档的后 N 行或持续刷新内容)

[5 、wc用于统计指定文本的行数、字数、字节数](#5 、wc用于统计指定文本的行数、字数、字节数)

18.文件目录管理

[1 、touch用于创建空白文件或设置文件的时间](#1 、touch用于创建空白文件或设置文件的时间)

[2 、mkdir用于创建空白的目录](#2 、mkdir用于创建空白的目录)

[3 、cp用于复制文件或目录](#3 、cp用于复制文件或目录)

[4 、mv用于剪切文件或将文件重命名](#4 、mv用于剪切文件或将文件重命名)

[5 、rm删除文件或目录(空目录或非空目录)](#5 、rm删除文件或目录(空目录或非空目录))

[6 、dd按照指定大小和个数的数据块来复制文件或转换文件](#6 、dd按照指定大小和个数的数据块来复制文件或转换文件)

[7.linux 的文件类型](#7.linux 的文件类型)

19.打包压缩与搜索

1、tar于对文件进行打包压缩或解压

[2 、find按照指定条件来查找文件](#2 、find按照指定条件来查找文件)

20.配置网卡信息

[21.配置 Yum 软件仓库](#21.配置 Yum 软件仓库)

22.周期性的计划任务

23.用户身份及目录

[练习 1 :swap 分区扩展练习](#练习 1 :swap 分区扩展练习)

[练习 2 :本地 yum 的配置](#练习 2 :本地 yum 的配置)

[练习 3 :虚拟内存修改](#练习 3 :虚拟内存修改)


1 . shell

实际上 Shell 是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此, Shell 有自己的编程语言用于对命令的编辑,它允许用户编写由 shell 命令组成的程序。 Shell 编程语言具有普 通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的 Shell 程序与其他应用程序具有同样的效果。

linux常用目录:

root@oel7 \~# cat /etc/shells

/bin/sh

/bin/bash

/usr/bin/sh

/usr/bin/bash

/bin/tcsh

/bin/csh

root@oel7 \~# echo $SHELL

/bin/bash

2.命令格式

命令名称 参数 对象

注意:命令区分大小写

root@oel7 \~# cat /etc/redhat-release

Red Hat Enterprise Linux Server release 7.9 (Maipo)

root@oel7 \~# ls -l /boot

3.man 帮助

root@oel7 \~# man tail

其中空格为向下,/为下查找, n 为继续查找,?向上查找

4.提示符

root@oel7 \~# echo $PS1

\\u@\\h \\W\$

登录的用户名 +短主机名+当前打开的目录(此目录会改变),$表示登录用户是普通用户

假设我们需要设置的主机名为 server.jeames.wang, 那么段主机名为 server, 长主机名为 server.jeames.wang

vi /etc/hosts 中编辑

88.88.88.88 server.jeames.wang server

/etc/hostname 中编辑

server

hostnamectl set-hostname <newhostname>

注: hostname 为短主机名, hostname -f 为长主机名

5.echo输出字符串或变量值

在终端输出字符串或变量值

例:

echo how are you

echo $PATH

echo $SHELL

6.date显示及设置系统的时间或日期

root@oel7 \~# date -R

Wed, 15 Feb 2023 07:16:47 +0800

root@oel7 \~# date

Wed Feb 15 07:16:55 CST 2023

root@oel7 \~# date -s "14:32"

Wed Feb 15 14:32:00 CST 2023

root@oel7 \~# timedatectl

Local time: Wed 2023 -02-15 07:18:03 CST

Universal time: Tue 2023-02-14 23:18:03 UTC

RTC time: Tue 2023-02-14 23:18:01

Time zone: Asia/Shanghai (CST, +0800)

NTP enabled: no

NTP synchronized: no

RTC in local TZ: no

DST active: n/a

设置时区:timedatectl set -timezone UTC

了解 GMT,CST,UTC 是什么鬼?

  1. UTC(世界标准时间)

协调世界时,又称世界标准时间或世界协调时间,简称 UTC(从英文"Coordinated Universal Time"

/法文"Temps

Universel Coordonné" 而来),是最主要的世界时间标准,其以原子时秒长为基础,在时刻上尽 量接近于格林尼治标准时间。

2.GMT(格林尼治平时)

格林尼治 平时(又称格 林 尼治平均 时间或 格林尼 治 标准时间 ,旧译 格林威 治 标准时间 ;英语 : Greenwich MeanTime ,GMT )是指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本 初子午线被定义在通过那里的经线。由于地球每天的自转是有些不规则的,而且正在缓慢减速,因此 格林尼治时间已经不再被作为标准时间使用。现在的标准时间,是由原子钟报时的协调世界时( UTC )。

3.CST(北京时间)

北京时间,China Standard Time ,中国标准时间。在时区划分上,属东八区,比协调世界时早 8 小 时,记为 UTC+8。

7.重启系统

立即重启:reboot 、init 6 、shutdown -r now

14 :30 重启系统 shutdown -r 14:30

取消重启 shutdown -c

8.关闭系统

shutdown -h now

init 0

poweroff

halt

14 :30 关闭系统:shutdown -h 14:30

取消关闭:shutdown -c

9.登录注销

ctrl+alt+F2 可进入控制台,多用户多任务的系统

u1@oel7 \~$ whoami

u1

exit

logout

10.wget 下载文件

在终端中下载文件

例: wget 下载链接

11.ps 查看系统的进程

查看系统的进程:例: ps -aux、 ps -ef

12.top动态监视进程信息和系统负载等信息

q 退出 top

13.lsof查询指定服务进程的 PID 值

例: lsof -p pid值

14.kill终止某个指定 PID 的服务进程

终止某个指定 PID 的服务进程

kill 参数 进程 PID

例: kill -9 12363

killall 参数 进程名称

终止某个指定名称的服务所全部进程

例: killall httpd

15.系统状态检测

1 、 ifconfig用于获取网卡配置与网络状态

例: ifconfig

2 、uname查看系统内核与系统版本等信息

例: uname

查询内核版本号

uname -r

查看发行版的版本号

cat /etc/redhat-release

3、free显示当前系统中内存的使用量信息

例: free 、free -h

4、who查看当前登入主机的用户终端信息

例: who、w

last:查看所有系统的登录记录

5、 history用于显示历史执行过的命令

例: history

!20:重复使用命令,历史命令会被保存到用户家目录中的.bash_history 文件中, Linux 系统中以点 . 开头的文件均代表隐藏文件。

清空历史命令: history -c

16.工作目录切换

1、 pwd显示用户当前所处的工作目录

例: pwd

2、cd切换工作路径

例:

切换当前登录用户的家目录

cd

切换到 etc 目录

cd /etc/

切换到当前目录的父目录

cd ..

从当前目录切换到上二层目录下的 etc 目录

cd ../../etc

补充:

绝对路径:以根(/)目录开始的路径

例: cd /etc

cd /var/db/sudo/lectured

相对路径:不以根(/)目录开始的路径

例: cd ../../etc

特殊目录

切换到根目录

cd /

切换当前目录

cd .

切换到父目录

cd ..

切换到上一次操作过的目录

cd -

切换到登录用户的根目录

cd

切换到登录用户的根目录

cd ~

3、 ls显示目录中的文件信息

例:

显示当前目录中的文件信息

ls

显示/boot 目录中的文件信息

ls /boot

显示 tmp 目录中的文件信息

ls ../tmp

以长格式显示当前目录中的文件,包含隐藏文件

ls -al

显示当前目录中的文件,包含隐藏文件、当前目录及父目录

ls -a

显示当前目录中的文件,包含隐藏文件,不包含当前目录及父目录

ls -A

查看目录属性信息

ls -ld

显示当前目录中的文件,按时间升序排序

ls -ltr

显示当前目录中的文件,按文件大小升序排序

ls -lSr

显示当前目录中的文件,如果是目录后面加/

ls -F

17.文本文件编辑

1 、cat查看纯文本文件内容

例:

cat filename

cat initial -setup-ks.cfg

cat -ninitial-setup-ks.cfg

2 、more查看纯文本文件内容(逐屏)

例:

more filename

more initial -setup -ks.cfg

按空格显示下一屏信息

按回车一行一行信息向下显示

使用 q 退出 more

3 、head查看纯文本文档的前 N 行

例:

head initial -setup -ks.cfg

head -n 6initial-setup-ks.cfg

4 、tail查看纯文本文档的后 N 行或持续刷新内容

例:

tail initial -setup -ks.cfg

tail -n 5initial-setup-ks.cfg

举例:

第一个窗口

tail -f /root/initial -setup-ks.cfg

第二个窗口

echo how are you >>/root/initial -setup -ks.cfg

5 、wc用于统计指定文本的行数、字数、字节数

例:

wc initial -setup -ks.cfg

wc -l initial -setup -ks.cfg

wc -w initial -setup -ks.cfg

wc -cinitial-setup-ks.cfg

18.文件目录管理

1 、touch用于创建空白文件或设置文件的时间

例:

创建空文件

touch aa.txt

查看文件时间及设置文件时间

stat aa.txt

touch -d "2019-12-08 12:20:20"aa.txt

2 、mkdir用于创建空白的目录

例:

在当前目录创建 a1 目录

mkdir a1

在根目录创建 a1 目录

mkdir /a1

在/tmp 目录创建 a1 目录

mkdir /tmp/a1

创建多层目录

mkdir -p a/b/c/d

3 、cp用于复制文件或目录

例:

将当前目录下的 aa.txt 文件复制到/tmp 目录下

cp aa.txt /tmp

将当前目录下的 a 目录复制到/tmp 目录下

cp -r a /tmp

将当前目录下的 aa.txt 文件复制到/tmp 目录下, 并保留 aa.txt 文件的属性 cp -p aa.txt /tmp

4 、mv用于剪切文件或将文件重命名

例:

移动(剪切)

mv aa.txt /tmp

mv a /tmp

重命名

mv a.txtabc.txt

5 、rm删除文件或目录(空目录或非空目录)

例:

rm -rf abc

rm -f abc.txt

rmc.txt

6 、dd按照指定大小和个数的数据块来复制文件或转换文件

例:

利用 dd 创建一个 10M 文件

dd if=/dev/zero of=/root/size bs=1M count=10

du -h size

dd 命令来压制出光盘镜像文件

dd if=/dev/cdrom of=RHEL -server-7.0-x86_64-LinuxProbe.Com.iso

7.linux 的文件类型

1、普通文件 文本文件 二进制文件

ls -l

文件属性的第一个字符是 " - "

2、目录文件

ls -l

文件属性的第一个字符是 " d "

3、设备文件

字符设备文件

ls -l

文件属性的第一个字符是 " c "

例:

ls -l /dev/zero

块设备文件

ls -l

文件属性的第一个字符是 " b "

例:

ls -l /dev/sba

4、链接文件

ls -l

文件属性的第一个字符是 " l "

例:

ls -l /dev/rtc

19.打包压缩与搜索

1、tar于对文件进行打包压缩或解压

例:

anaconda -ks.cfg 和 initial-setup -ks.cfg 文件打包,包的名称为 a.tar

tar -cvf a.tar anaconda -ks.cfg initial -setup -ks.cfg

查看 a.tar 包中的文件

tar -tvf a.tar

解包

tar -xvf a.tar

打包并压缩

tar -zcvf b.tar.gz anaconda -ks.cfg initial -setup -ks.cfg

查看 b.tar.gz 包中的文件

tar -ztvf b.tar.gz

解包

tar -zxvf b.tar.gz

解包至指定位置

tar -zxvf b.tar.gz -C /tmp

tar -jcvf c.tar.bz2 initial -setup -ks.cfg anaconda -ks.cfg

tar -jtvf c.tar.bz2

tar -jxvf c.tar.bz2 -C /tmp/

2 、find按照指定条件来查找文件

例:

在/etc 目录下查找 passwd 文件

find /etc -name passwd

在/etc 目录下查找权限为 777 的文件

find /etc -perm 777

算数字表示法 764 、642 、153 、731 所对 应的字符表示法

764 rwxrw-r--

642 rw-r---w- 153 --xr-x -wx

731 rwx -wx --x

666 rw-rw-rw-

20.配置网卡信息

配置网络服务的工作其实就是在编辑网卡配置文件

vim /etc/sysconfig/network-scripts/ifcfg-ens33

➢ 设备类型: TYPE=Ethernet

➢ 地址分配模式: BOOTPROTO=static

➢ 网卡名称: NAME=eno16777736

➢ 是否启动: ONBOOT=yes

➢ IP 地址: IPADDR=192.168.10.10

➢ 子网掩码: NETMASK=255.255.255.0

➢ 网关地址: GATEWAY=192.168.10.1

➢ DNS 地址: DNS1=192.168.10.1

21.配置 Yum 软件仓库

cd /etc/yum.repos.d/

rm redhat.repo

vim /etc/yum.repos.d/server.repo

内容如下:

server

name=linux

baseurl=file:///run/media/root/RHEL -7.6%20Server.x86_64

enabled=1

gpgcheck=0

测试:

yum repolist

如果显示以下信息,表示 yum 搭建成功

repolist: 5,152

22.周期性的计划任务

我们希望 Linux 系统能够周期性地、有规律地执行某些具体的任务,那么 Linux 系统

中默认启用的 crond 服务简直再适合不过了创建、编辑计划任务的命令为 "crontab -e" ,查看当前计

划任务的命令为 "crontab -l"


例:

每周一、三、五的凌晨 3 点 25 分

25 3 * * 1,3,5

每周一至五的 1 点

0 1 * * 1-5

*/2 表示每隔 2 分钟

5 * * * * Command 每小时的第 5 分钟执行一次命令

30 18 * * * Command 指定每天下午的 6:30 执行一次命令

30 7 8 * * Command 指定每月 8 号的 7 :30 分执行一次命令

30 5 8 6 * Command 指定每年的 6 月 8 日 5 :30 执行一次命令

30 6 * * 0 Command 指定每星期日的 6:30 执行一次命令

每天的下午 4 点、 5 点、 6 点的 5 min、 15 min、25 min、 35 min、45 min、 55 min 时执行命 令。

5 ,15 ,25 ,35 ,45 ,55 16 ,17 ,18 * * * Command

23.用户身份及目

useradd 命令用于创建新的用户, 格式为 "useradd 选项 用户名" 。

userdel 命令用于删除用户,格式为 "userdel 选项 用户名" 。

可以使用 useradd 命令创建用户账户。使用该命令创建用户账户时,默认的用户家目录会

被存放在/home 目录中,默认的 Shell 解释器为/bin/bash,而且默认会创建一个与该用户 同名的基本用户组。

例:

useradd -d /home/user05 -s /bin/bash -u 9999 -N user05

groupadd 命令用于创建用户组, 格式为 "groupadd 选项 群组名" 。

为了能够更加高效地指派系统中各个用户的权限,在工作中常常会把几个用户加入到同 一个组里面,这样便可以针对一类用户统一安排权限

例: groupadd g1

练习 1 :swap 分区扩展练习

swap 分区间没有分配, 内存大于 32G ,swap 分区至少要有 16,此处我们分配 18G,方法如 下:

a.创建大小为 18G 的交换文件:

root@test /# dd if=/dev/zero of=/swapfile bs=1024 count=18874368

b.格式化 swaps 分区

root@test /# mkswap /swapfile

c.开启 swap 分区

root@test /# swapon /swapfile

d.再次查看 swap 空间

root@test /# free -m

root@test /# cat /proc/swaps

注意:要想开机也是增加后的大小, 编辑/etc/fstab 在末端添加如下行,这个一定要做

cat /etc/fstab

/swapfile swap swap defaults 0 0

练习 2 :本地 yum 的配置

root@test \~# mkdir /cdrom

root@test \~# mount -o loop /rhel -server-5.4-x86_64-dvd.iso /cdrom

vi /etc/yum.repos.d/dvd.repo

添加:

RHEL

name=RedHat

baseurl=file:///cdrom/Server

gpgcheck=0

gpgkey=file:///etc/pki/rpm-gpg/RPM -GPG-KEY-redhat-release

enabled=1

清空并重载yum

yum clean all

yum makecache

练习 3 :虚拟内存修改

/dev/shm 这个目录是 linux 下一个利用内存虚拟出来的一个目录,这个目录中的文件都是保存在 内存中,而不是磁盘上。其大小是非固定的,即不是预先分配好的内存来存储的。 /dev/shm 的容量默

认最大为内存的一半大小,使用 df -h 命令可以看到。但它并不会真正的占用这块内存,如果 /dev/shm/下没有任何文件,它占用的内存实际上就是 0 字节。

root@localhost \~# df -h /dev/shm/

文件系统 容量 已用 可用 已用% 挂载点

tmpfs 63G 0 63G 0% /dev/shm

此处修改共享内存大小

vi /etc/fstab 修改对应/dev/shm 项 defaults,size=86016M

tmpfs /dev/shm/ tmpfs defaults,size=86016M 0 0

##重新挂载

root@localhost \~# mount -o remount /dev/shm

root@localhost \~# cat /etc/fstab | grep shm

tmpfs /dev/shm/ tmpfs defaults,size=49152M 0 0

root@localhost \~# df -h /dev/shm/

文件系统 容量 已用 可用 已用% 挂载点

tmpfs 84G 0 84G 0% /dev/shm

相关推荐
用户9718356334665 小时前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪7 小时前
linux 拷贝文件或目录到指定的位置
linux
大树881 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠1 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质1 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush41 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5201 天前
Linux 11 动态监控指令top
linux
小宇宙Zz1 天前
Maven依赖冲突
java·服务器·maven
Inhand陈工1 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智1 天前
ARP代理--工作原理
运维·网络·arp·arp代理