Linux命令总结

基础命令:

root--表示用户

local host--主机名

~ --家目录(个性化配置)

#--管理员用户

$--普通用户

root ~--root的家目录

opt--opt目录

根目录下五个文件夹

etc:放配置文件 用户信息 密码信息 软件配置

dev:存放硬件设备(典型:磁盘 光驱 输入 输出设备)

boot:开机启动需要的文件,操作系统最重要的是内核文件 内核在boot文件夹中

opt:空文件夹

mnt:挂载点 空文件夹 经常用到mnt

快捷键

tab:自动补齐

ctrl+c:停止命令

ctrl+l:清屏

上下键:会看过打开的命令

\: 调整格式 强制换行

pwd:

显示当前所在目录的完整路径

cd:

切换目录

绝对路径:

相对路径:

● 开头表示隐藏文件

cd~:切换家目录

cd- 返回上一次的目录

通配符:

匹配文件中的名字

*代表任意长度的字符,不能显示隐藏文件

?代表任意一个字符

匹配以 p 开头 ls p*

匹配以 conf 结尾 ls *conf

中间包含conf ls *conf *

数字开头 ls [0-9]*

字母开头 ls[a-Z] ls{A-Z} ls{a-z}

\转义

正则表达式:

匹配文件中的行

选项:

.任意字符

^匹配文件一行的开头

$匹配文件一行的结尾

^$空行

案例:

grep "^root" passwd——》以root 开头

grep"root$" passwd——》以root结尾

grep"^$"passwd——》空行

grep -v "^$"passwd——》非空行

设置别名-alias:

通式:

alias 命令别名=命令

实例:

设置myls为ls-alh的别名

alias myls='ls-alh'

创建相关命令:

创建文件夹-mkdir:

通式:

makdir 创建文件夹的名字

-p 递归建立文件夹:

创建刷新文件-touch:

通式:

touch 创建文件名字

创建硬链接和软链接-ln:

硬链接通式:

ls 绝对路径源文件 硬连接位置

软链接:

软链接通式(一般使用):

ln -s 绝对路径的源文件 软连接位置

区别:

对比项硬链接软链接
本质本质是同一个文件本质不是同一个文件
inode(身份证号)相同不同
连接数创建新的硬链接,链接数会增加,删除硬链接,链接数减少删除,新建都不会改变
文件夹不支持支持
删除源文件只是链接数减一,但链接文件的访问不受影响无法访问连接文件
文件类型和源文件相同链接文件,和源文件无关
文件大小和源文件相同(指向硬盘上的同一个文件)源文件的路径的长度

基础操作命令:

复制-cp

通式:

cp 源文件 源文件夹 目的位置

-a 保留权限

要复制文件夹一定要加 -r

案例:

cp /mnt/lxc /opt/lc(将mnt目录下的lxc文件夹复制到opt目录下并改名lc)

移动 改名-mv

通式:

mv [选项] 源文件 目标文件

选项:

-f:强制覆盖

删除-rm

通式:

rm [选项] 要删除的文件

选项:

选项说明
-f删除文件或目录时不提醒,直接强制删除
-r表示递归删除整个目录树
-i删除文件或目录提醒用户确认(rm默认就进行提醒)

-rf:通用选项

查找相关命令:

查找-find

文件名使用

通式:

find 范围 查找条件 处理动作

查找条件:

*-name 按文件名字查找*

*-size 按文件大小查找*

*-user 按用户进行查找*

*-type 按照文件类型查找*   f d l s p b c

-mtime 按照时间前后查找

-inum 按照inode号查找

处理动作:

{} 用于引用查找到的文件名称自身

-ls 显示详细信息

-delete 删除

-ok 询问是否要操作

-exec 不询问直接操作

查看  命令 -which

查看命令存放的位置

通式:

which 命令或程序名

案例:

which cd

查看相关命令:

 查看文件目录ls:

ls命令代表列表显示目录内容(常用选项、可结合通配符);

通式:

ls--[选项] [文件或目录… ]

选项:

-l 长格式显示(显示文件属性)

-d 只显示文件夹

-a 显示全部及隐藏文件

-R 递归显示(从第一层到最后一层显示)

-r 倒序显示

-t 时间排序

-s 文件大小 排序

-j 显示文件inode号

查看文件内容 -cat:

通式:

cat 选项 文件名

选项:

-A :显示隐藏字符

-n:显示行号(包括空行)

统计文件-du:


du命令代表统计目录及文件空间占用情况

通式:

du [选项] [文件或目录]

选项:

  • -s 总大小

  • -a 每个文件的大小

  • -h 显示格式

  • -d 显示文件夹层级

查看文件开头-head

查看文件开头的一部分内容(默认为10行)

通式:

head -n 数字 文件名

选项:

-c # 指定获取前#字节

-n 正数前多少行 负数后多少行

-# 同上

查看文件的结尾-tail

tail 和head 相反,查看文件或标准输入的倒数行

通式:

tail -n 数字 文件名

案例:看tset文件的后2行

tail -n 2 文件名

tailf 实时查看后十行

重定向:

覆盖->

追加->>

横向合并-paste

上下合并-cat

把同一行内容逆向显示 -rev

倒序看-tac

扩展命令:

tr-对字符进行处理:

tr 命令用于字符转换、替换和删除,主要用于删除文件中的控制符或进行字符串转换等

-d 删除 -s 压缩 -c 补集

案例:

怎么把 A 文件的小写换成大写

tr '[a-z]' '[A-Z]' 文件名

cut  截取:

格式:

cut   选项   文件

选项:

-d:分隔符,按照指定分隔符分割列。与 -f 一起使用

-f:依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思(列号,提取第几列)

sort 排序:

选项:

  • -r: 降序排列,默认是升序
  • -n: 以数字排序,默认按字符排序
  • -k: 第N列

uniq  去重:

选项:

-c, --count        打印每行出现的次数

-d, --repeated        只打印重复出现的行

-D                        打印所有重复行

总结的问题:

如何从日志文件中找到访问量前十的IP地址?

cut -d" " -f1|sort -n | uniq -c | sort -nr |head

分页查看:

more:

结束会直接退出

回车  ———》一行

空格  ———》 一页

less: 

结束不会退出

/关键字  进行搜索,大小写敏感

n  ——》向下查看

N ——》 向上查看

q  ——》退出

统计文件行列内容-wc

格式:

wc 【选项】 目标文件

选项:

-l 只统计行

-w 只统计单词

-c 只统计单词

匹配指定文件内容-echo:

echo 要查找匹配的内容

过滤文件-grep:

介绍:文本搜索工具,根据用户指定的“模式(过滤条件)”对目标文本逐行进行匹配检查,打印匹配到的行

模式:由正则表达式的元字符及文本字符所编写出的过滤条件﹔

通式:

grep 选项 表达式

选项:

-i 忽略大小写

-v 反选

-o 只显示匹配的内容

-f 对比两个文件的相同行

-n 显示行号

-r 快速过滤文件下的字符

-c匹配的行数

案例:找出两个文件中相同的部分

答:grep -f a文件 b文件

管道符:

命令1 | 命令2 | 命令3 ...

压缩与解压:

tar-归档:

通式:

tar 选项 压缩包的名字 要压缩的文件

选项:

-C:解压时指定释放的目标文件夹

-c:创建(Create).tar 格式的包文件

-x:解压--解开.tar 格式的包文件

-f:表示使用归档文件(出现tar一定要带f

-p:打包时保留文件及目录的权限

-P:打包时保留文件及目录的绝对径

-t:列表查看包内的文件(要和f一起使用)

-v:输出详细信息(Verbose)

-z:调用 gzip 程序进行压缩或解压

-j:调用 bzip2 程序进行压缩或解压

gzip

制作的压缩文件默认的扩展名为“ .gz ”,生成压缩文件后,原始文件将不再保留

格式:

gzip  [-9]  文件名 :制作压缩文件

gzip -d .gz格式的压缩文件 :解开压缩文件

gunzip .gz格式的压缩文件 :解开压缩文件

选项“ -9 ”解释

vi文本编辑器

Linux中最经典的文本编辑器

vim是vi的加强版本

vim +10 直接跳动文件第十行

!vim 打开上一次文件

行间跳转:
100(数字) G  跳转到100(数字)行

首行  gg

末行 G

行内跳转:
End  行尾($)

0     开头(^)

一个单词一个单词跳(以冒号结尾)  w

o插入下一行

撤销:
u  撤销一次  ctrl + r 取消撤销

U  撤销全部

复制:
y  复制

yy  复制一行

yw  复制一个单词

10 yy 复制10行

光标在哪
p 贴在光标下面

P贴在光标上面

删除:
x  删除 删除一个字符  剪切

d   删除

dd 删除一行

10  dd 删除10行

dw  删一个单词

替换:
r  替换

R  替换模式

保存w

退出q

强制!

zz

分割文件-split

通式:

split 选项 选项内容 文件名

vim查找与替换:

先查找文件中的内容 然后换掉他

格式:

范围  s /文件中旧的内容/替换的内容/修饰符

范围:不写范围 光标当前行

% 全文

#号 行 #代表数字

2,5 2到5行

$ 最后一行

$-1 最后一行

2,$ 2到最后一行

修饰符:

g:全局替换

rpm: 

RPM可以实现几乎所有软件包的功能,新增,删除,更新等

格式: rpm  -q  [子选项]  软件名 

rpm  -q

查看软件是否安装

rpm  -ql  软件名查看某软件的所有安装目录
rpm  -qc  软件名查看软件的配置文件     
rpm -ivh 软件名安装
rpm -e 软件名卸载
rpm -qf 绝对路径软件名查找软件来自于哪个安装包
-i安装一个新的rpm软件包
-v显示软件安装过程中的详细信息
-h在安装或升级软件过程中,以“#”号显示安装进度
-e卸载指定名称的软件包
-U升级某个软件包,若未安装过,则进行安装
-F升级某个软件包,若未安装过,则放弃安装

yum:

 yum是RPM升级版本,解决rpm的弊端

yum [可选项] [要进行的操作] [安装包名...]

yum  -y  install 软件名安装升级软件包
yum  -y  remove  软件名卸载软件包,可自动解决其依赖关系
yum  -y  update  软件名 升级软件包  

 yum仓库编译安装:

 源码编译安装:

./configure     检测依赖环境 ,选择添加减少软件的功能

make         将人类使用的高级语言翻译成二进制 

make install    复制文件到硬盘

用户和组:

用户的类型:

普通用户——权限受限制的用户

程序用户——不是给人使用,是给程序使用的

超级管理员——权限最高的用户

uid号:

uid:系统靠uid来区分用户

超级管理员的uid为0

普通用户uid范围:1000-60000

程序用户的范围:1-999

重要文件:

/etc/passwd——存放用户信息

/etc/shadow——存放密码及规则的文件

/etc/fstab——自动挂载文件

/etc/hosts dns ——解析文件

/etc/hostname ——主机名

/etc/resolv.conf ——目前生效的 dns 服务器

/etc/redhat-release ——看系统版本

useradd-添加新用户

通式:

uesradd  选项  添加的新用户名

选项:

**-u 指定uid号**

**-M 不生成家目录**

**-s  指定shell类型**

 **-e 指定用户的失效时间**

-g 指定基本组

-G 指定附加组

passwd-密码管理:

通式:

passwd 选项 用户名

选项:

-l 锁定用户

-u 解锁永久

-S 查看用户状态

usermod-用户属性修改

通式:

usermod 选项 用户名

选项:

-L锁定用户

-U解锁用户

-l 修改用户名

userdel-删除用户:

通式:

 userdel 选项 用户

-r 把家目录(宿主目录)也删除

chmod -更改权限

通式:

chmod   对谁(所有者,所属组,其他)操作(+ - =)权限   文件

谁:u  属主   g  属组   o 其他人    a 所有人

操作:+ - =

权限:

r ——4     可以看文件内容

w ——2  可以修改文件内容

x ——1    可以运行文件

(普通权限对root无效)

-R :递归

第一个7 属主的权限

第二个7 属组的权限

第三个7 其他人权限

chmod 777 文件名

chown -更改属主 属组

通式:

chown -R 修改属主 属组

chown 属主:属组 文件或文件夹、

特殊权限:

umask 文件默认落地权限

sticky:只能自己和超级管理员可以删自己的文件(用t表示)

suid:把当前用户当成文件的所属主,可以进行任何操作

sgid

磁盘分区:

分区:

fdisk-查看设备信息

fdisk  -l   /dev/sda  只看sda设备

fdisk -l   看所有

通式:

fdisk 设备名        (会进入交互界面 进行分区)

选项:

n新建分区
p主分区
e扩展分区
w保存
p打印分区列表
t改变分区类型
q退出
d删除分区

lsblk:查看分区及磁盘情况

分区种类:

主分区: 可以直接使用 ,安装操作系统 存储文件 等,主分区的序号为 1-4。

扩展分区

不可以直接使用, 需要再 划分逻辑分区, 让分区超过4个

扩展分区不是用的,是用来 存储了逻辑分区的分区表

逻辑分区:可以直接使用, 存储文件。逻辑分区的序号 从5 开始

格式化——安装文件系统

MBR: 主引导记录, 是硬盘上的第一个扇区, 想要读数据得从这个扇区开始

MBR: 对2T 以下的硬盘分区 ——fdisk 管理MBR分区

GPT: 可以支持 2T 以上的硬盘分区——gdisk 管理GPT分区

分区通式:

mkfs -t 指定格式类型 设备名

mkfs.文件系统类型 设备名

例:创建文件类型为xfs:

mkfs.xfs  /dev/sdb 

磁盘命令

磁盘文件:

设备名:

/dev/sda1

s代表磁盘的接口类型

d——disk

a——第一块盘

1——第一块盘的第一个分区

df  -Th      ——查看文件系统

findmnt   设备    ——查看 设备的详细信息

/etc/fstab 自动挂载文件

UUID=e9364e9b-a85b-49d7-9652-3a56202e14c8 /boot xfs defaults 0 0

uuid 设备名可以用文件的形式不推荐, 一定要用uuid

/boot 挂载点

xfs 文件系统类型

defaults 代表权限

0 不备份

0 开机不检查

挂载与解挂载:

挂载:

将系统中的文件夹和磁盘做上关联,使用文件夹等于使用磁盘

只打mount 可以看到所有的 挂载信息

通式:

mount [ -t 类型 ] 存储设备 挂载点目录

mount -o loop ISO镜像文件 挂载点目录

mount  -a     刷新

解挂载-umount

通式:

umount    设备名    挂载点

重新挂载-remount

永久挂载:

需要 将文件写入 /etc/fstab

LVM:

1.先做物理卷

2.在做卷组

3.最后做逻辑卷

pvcreate-建立物理卷

pvcreate /dev/sdb1 /dev/sdc

vgcreate-建立卷组

vgcreate vg1 /dev/sdb1 /dev/sdc

建立卷组 取名vg1 并将/dev/sdb1 /dev/sdc 加入卷组

lvcreate-建立逻辑卷

lvcreate -n mysql -L +10G vg1(卷组)

建立逻辑卷 -n指定逻辑卷的名字 -L 指定大小 PE是vg1卷组中来的

扩容卷组-vgextend

通式:

vgextend 卷组名 设备名

vgextend vg1 /dev/sdb

扩容逻辑卷-lvextend

通式:

lvextend -L 指定大小 逻辑卷的名字

lvextend -L +5G /dev/名字/mysql

扩容根目录:

vgextend centos /dev/sdb

lvextend -L +15G /dev/centos/root -r

同步文件系统

xfs_growfs /mnt/

-r 立马同步文件系统

raid-磁盘阵列:

1u u代表服务器的高度

引导过程:

开机引导过程:

开机自检(bios) —》MBR引导 —》 GRUB菜单 —》 加载内核(kernel) —》init进程初始化

dd if=/dev/sda of=/opt/mbr.bak count=1 bs=512

#备份磁盘的第一个扇区

dd 复制

id 从哪里

of 复制到哪里去

count 次数

bs 一次复制多少

系统初始化进程:

init进程:

init进程是系统中第一个进程

init进程的PID(进程标记)号永远为1

Systemd:

systemd是linux操作系统的一种init软件

概括:

路径:/lib/systemd/system/*.service为结尾的文件

systemd能够识别并管理这些以.service为结尾的程序

运行级别:

 

runlevel  ——查看当前运行级别  

各个级别的作用:

0  关机

1  单用户   类似于windows的急救模式

2  字符界面   少些功能(nfs)

3  字符界面

4  字符界面  从来没用

5  图形界面

6  重启

init  0  关机

init   3  切换到字符界面

服务控制:

格式:

systemctl  控制类型  服务名称

常用控制类型:

类型 动作程序
systemctl start 程序名 启动程序
systemctl stop 程序名 停止程序
systemctl restart  程序名 重新启动
systemctl reload  程序名重新加载
systemctl status  程序名 查看服务状态
systemctl enable 程序名   开机自启
systemctl disable 程序名

开机不自启

systemctl enable --now 程序名开机自启并立即启动
systemctl diable --now 程序名开机不自启并立即关闭

开机自启: 

systemctl enable  服务名

开机自启,并立即启动

systemctl  enable  --now  服务名

开机不自启,并立即关闭

systemctl  disable  --now  服务名

问题:

为什么程序可以使用systemctl启动?

是因为程序在/usr/lib/systemd/system/*.service 文件

进程:

进程id——PID

init:第一个进程,从 CentOS7 以后为systemd

进程:都由其父进程创建

进程一般由程序、数据集合和进程控制块三部分组成。

管理进程 :

1.启动进程

2.查看进程状态

3.结束进程

进程状态 :

运行 R

睡眠 S

睡眠 D

僵尸 Z

停止 T

问题:

如何过滤僵尸进程?

ps aux | grep Z

以 cpu 利用率排序 倒序显示 ps aux k -%cpu|head

ps aux k -%mem|head 以内存排序

ps-静态查看进程

ps aux" 可以查看系统中所有的进程

a 所有终端

u 以用户 为主的格式输出

x 显示所有终端下的进程信息

ps -elf 命令输出信息

e 显示系统内的所有进程信息

l 长格式

f 使用完整的(Full)格式显示进程

top-动态查看进程

free-查看内存

-h以友好的方式显示内存的使用情况
-b以Byte为单位显示内存使用情况
-k以KB为单位显示内存使用情况
-m以MB为单位显示内存使用情况
-g以GB为单位显示内存使用情况

iostat-硬盘读写性能

选项说明
-c只显示CPU行
-d显示设备(磁盘)使用状态

iotop-监视磁盘I/O 

pgrep-查询进程PID信息

选项说明
-U指定用户
-l显示进程名

查看进程信息 ——prtstat

pmap :

查看进程占用 内存的详细信息

选项:

-x, --extended 显示扩展格式

 -d, --device 显示设备格式。

-XX 显示内核提供的所有内容。

dastat-系统资源统计

pstree命令进程树: 

以树形结构列出进程信息

lsof

列举系统中已经被打开的文件

vmstat-监控系统资源 虚拟 资源:

uptime 系统运行了多久时间:

显示CPU相关统计mpstat:

kill-结束进程

通式:

kill -9 进程id 强制结束

killall -9 程序名

pkill

crontab-计划任务

通式:

crontab  -e    编辑计划任务

crontab  -l     查看计划任务

crontab  -r     删除计划任务

crontab  -u    用户名   用来设定某个用户的crontab服务

crontab  -i   在删除用户的crontab文件时,给确认提示

编辑计划任务:

crontab  -e

格式:

*****   绝对路径

分 0-59

时 0-23

日 1-31

月 1-12

月 1-12

周 0-7

每两分钟 */2 * * * *

周一到周五 ****1-5

每月1号 ***1**

每两天 ***/2**

系统安全的加固:

  • 将用户设置为无法登录、

  • 锁定账户

  • 删除账户

  • 锁定账户密码 本质锁定

问题:中病毒怎么处理?

1.使用ps或top

查找到这个异常进程 通过进程pid找到proc exe找到文件的真实位置,把他删除

history:

查看历史命令,默认一千条

history -c 清空历史命令

su-切换用户

limit:

功能:在用户级别实现对其可使用的资源的限制

修改限制的实现方式——ulimit命令

配置文件:

/etc/security/limits.conf

sudo-提权操作:

grub-加密:

/etc/grub.d-目录

日志:

日志存放位置——/var/log/

/var/log/secure:系统安全信息

/var/log/messages :系统中大部分的信息

journalctl-查看日志

日志的配置文件:

/etc/systemd/journald.conf

通式:

journalctl [OPTIONS...] [MATCHES...]

关闭防火墙:

systemctl stop  firewalld
setenforce 0

网络接口的配置文件默认位于 /etc/sysconfig/network-scripts/ifcfg-ens33

sysctl:

sysctl命令被用于在内核运行时动态地修改内核的运行参数

  • 21
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值