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

相关推荐
PyAIGCMaster20 分钟前
ubuntu装P104
服务器·网络·ubuntu
云云3211 小时前
云手机服务器如何做到群控多台手机的?
服务器·线性代数·安全·智能手机·矩阵
梁萌2 小时前
Linux安装Docker
linux·运维·docker·helloworld·容器化部署
翱翔-蓝天2 小时前
在 CentOS 系统上安装 ClickHouse
运维·docker·容器
彩虹糖_haha3 小时前
Linux高并发服务器开发 第五天(压缩解压缩/vim编辑器/查找替换/分屏操作/vim的配置)
linux·运维·服务器
旺仔学IT3 小时前
Centos7中使用yum命令时候报错 “Could not resolve host: mirrorlist.centos.org; 未知的错误“
linux·运维·centos
qq_433618444 小时前
shell 编程(五)
linux·运维·服务器
VVVVWeiYee4 小时前
项目2路由交换
运维·服务器·网络·网络协议·信息与通信
lifeng43215 小时前
Jenkins集成部署(图文教程、超级详细)
运维·jenkins
白手小弟6 小时前
python wxauto库实现微信自动化发送信息、回复、添加好友等
运维·自动化