Linux 常用运维命令讲解

目录

1.shell

linux常用目录:

2.命令格式

3.man 帮助

4.提示符

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

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

7.重启系统

8.关闭系统

9.登录注销

10.wget 下载文件

11.ps 查看系统的进程

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

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

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

15.系统状态检测

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

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

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

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

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

16.工作目录切换

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

2、cd切换工作路径

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

17.文本文件编辑

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

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

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

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

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

18.文件目录管理

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

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

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

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

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

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

7.linux 的文件类型

19.打包压缩与搜索

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

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

20.配置网卡信息

21.配置 Yum 软件仓库

22.周期性的计划任务

23.用户身份及目录

练习 1 :swap 分区扩展练习

练习 2 :本地 yum 的配置

练习 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查看当前登入主机的用户终端信息

例: whow

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

it技术分享just_free

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值