1、Linux终端

1.1、终端组成部分

[root@localhost ~]#

1、root:表示当前终端登录的用户名
2、@:表示在
3、localhost:当前登录的主机名
4、~:当前终端的工作目录
5、#:表示身份标识符

1.2、Linux关机命令

1、shoutdown -h now:正常关机
2、halt:关闭内存
3、init 0:关机,和shoutdon -h一样。只不过shutdown可以通过 -r now重启

2、Linux系统与文件

2.1、Linux文件系统

在 Linux 系统中有一个重要的概念:一切都是文件

/bin: 存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里
/sbin: 存放二进制可执行文件,只有root才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如ifconfig等
/etc: 存放系统管理和配置文件
/home: 存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示
/usr : (Unix System Resources)系统级的目录,可以理解为C:/Windows/
/usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下
/opt: /opt目录用来安装附加软件包,是用户级的程序目录,可以理解为D:/Software
/dev: 用于存放设备文件(网卡,光驱,键盘等)
/boot: 存放用于系统引导时使用的各种文件;
/lib : 存放着和系统运行相关的库文件
/tmp: 用于存放各种临时文件,是公用的临时文件存储点
/var: 存放程序/系统的日志文件的目录

3、Linux的基本指令

3.1、基础指令

1、ls

ls:列出当前目录所有文件
ls 路径:列出指定路径下的文件
ls -l:详细列表形式展示 (简写ll)

2、pwd

pwd:打印当前工作路径

3、mkdir

mkdir 路径:创建目录
mkdir -p 路径:一次性创建多个不存在的目录
mkdir 路径1 路径2 路径3 …:一次性创建多个目录

4、touch

touch 文件路径:创建文件
touch 文件1 文件2:当前路径下创建多个文件

5、cp

cp 被复制的文档路径 文档被复制到的路径:复制一个文件
cp -r 被复制的文档路径 文档被复制到的路径:递归复制

6、mv

mv 需要移动的文档 需要保存的位置:移动文档到新的位置(可以用来重命名)

7、rm

rm 文件名:不带选项,需要频繁输入y或n
rm -f 文件名:强制删除,不提示是否删除
rm -r 文件名:递归删除
rm 部分名字 * : * 为通配符,删除某些字段开头的文件

8、输出重定向*

正常执行的指令 >/>> 文件的输出路径:输出结果到指定的地方

  • :覆盖输出,会覆盖掉原来文件的内容

  • :追加输出,在原始内容末尾继续添加

1
2
3
4
# ls命令的结果输出到file.txt文件中
ls > file.txt
# 将grep命令的结果追加到file.txt文件末尾
grep keyword file.txt >> result.txt

9、cat

cat 文件的路径:cat有直接打开一个文件的功能
cat 待合并的文件路径1 待合并的文件路径2… > 合并之后的文件路径:合并若干个文件并存到一个文件中,配合输出重定向使用

3.2、进阶指令

1、df

查看磁盘空间

2、free

free -m:表示以Mb为单位查看剩余内存

3、head

head -n 文件路径:查看一个文件的前n行,默认n为10

4、tail

tail -n 文件路径:查看一个文件的最后的n行,默认n为10
tail -F 文件的路径:查看一个文件的动态变化

5、less

less 需要查看的文件路径:查看文件,以较少的内容进行输出,用辅助功键(空格翻页、上下键/回车一行行查看、数字+空格指定行)能查看更多

6、wc

wc 选项 文件的路径:统计文件内容信息(行数、单词数、字节数)
wc -l:行数
wc -w:单词数
wc -c:字节数

7、date

date:表示操作时间日期(读取、设置)
date +%F:输出形式为yyyy-MM-dd
date +”%F %T”:引号表示年月日与时分秒成为一个整体,输出形式 yyyy-MM-dd HH:mm:ss
date -d “-1 day”:获取之前或者之后的某个时间(备份)

8、cal

cal:直接输出当前月份的日历
cal -3:输出上月、本月、下月的日历
cal -y 年份:输出整年的月份

9、clear

clear:清除终端中已经存在的命令和结果(信息)

按下ctrl+L指令,也能达到同样的效果

3.3、高阶指令

1、管道

在Linux中,管道(Pipe)是一种用于将一个进程的输出连接到另一个进程的输入的机制。它允许将多个命令组合在一起,以便它们可以协同工作并产生更复杂的结果。在命令行中,管道使用竖线符号(|)表示。它将一个命令的输出传递给下一个命令的输入。这样,第一个命令的输出成为第二个命令的输入,第二个命令的输出成为第三个命令的输入,依此类推。

2、hostname

hostname:输出完整主机名
hostname -f:输出当前主机名中的FQDN(全限定域名)

3、id

id:默认显示当前执行该命令的用户的基本信息
id 用户名:显示指定用户的基本信息

4、whoami

whoami:一般用于shell脚本,用于获取当前操作的用户名方便记录日志

5、ps

ps -ef:查看服务器的进程信息

-e:等价于“-A”表示列出全部的进程
-f:显示全部的列(显示全字段)

ps -ef|grep 进程名称:在ps的结果中过滤出想要查看的进程状态

6、top

top:查看服务器进程占用资源

运行top的时候,可以按下快捷键:
M:表示将奖结果按照内存(MEM)从高到低进行降序排序
P:表示将结果按照CPU的使用率从高到低进行降序排序
1:当服务器拥有多个CPU的时候可以使用“1”快捷键来切换是否显示各个CPU的详细情信息

7、du

du -sh 目录路径:查看目录的真实大小
-s:summaries,只显示汇总的大小
-h:以高可读的形式显示

8、find

find 路径范围 选项 选项的值:用于查找文件

选项:
-name:按照文档名称进行搜索
-type:按照文档的类型进行搜索
文档类型:“-”表示文件(用“f”来代替),“d”表示文件夹

9、service

service 服务名 start/stop/restart:用于控制一些软件的服务启动/停止/重启

10、kill

kill 进程PID:杀死进程
kill all 进程名称:与kill相似

11、ifconfig

ifconfig:获取网卡信息
inet addr就是网卡的IP地址

12、reboot

reboot:重新启动计算机
reboot -w:模拟重启(实际不重启)

13、shutdown

shutdown -h now “关机提示”或者shutdown -h 指定时间 “关机提示”:关机

取消关机:
centos7.x之前的版本:Ctrl+c
centos7.x之后的版本 shutdown -c

14、uptime

uptime:输出计算机从开机到现在的时间

15、uname

uname:获取操作系统的类型
uname -a:获取全部的系统信息(类型、全部主机名、内核版本、发布时间、开源计划)

16、netstat

netstat -tnlp:查看网络的连接状态

-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服务状态
-p 显示建立相关链接的程序名

1
2
3
4
# 查看服务
netstat -antp | grep ssh
# 查看端口
netstat -antp | grep 22

17、man

man 命令:手册

4、Linux权限管理

Linux系统一般将文件可存/取访问的身份分为3个类别:owner、group、others,且3种身份各有read、write、execute等权限。

4.1、权限介绍

查看文件ll:

drwxr-x—

r:可读 w:可写 e:可执行 -:没有对应的权限

十位字符表示的含义:

第1位:表示文档类型,常见的值有 d:表示文件夹,-:表示文件,l表示软连接,s表示套接字等等
第2-4位:表示文档所有者的权限情况。
第5-7位:表示与所有者同在一个组的用户的权限情况
第8-10位:表示其它用户的权限情况

4.2、权限设置

语法:chmod [对谁操作] [操作符] [赋予的权限] 文件名

操作对象:u:所有者 g:所属的用户组 o:其他用户other a:所有用户all

操作符:+ 添加权限   -  减少权限   =直接给定一个权限

十进制数字表示:r:4 w:2 x:1

1
2
3
4
5
6
# 取消所有者写权限
chmod u-w 1.txt
# 设置所有者读写执行权限,所属组读和执行权限,其它没有任何权限
chmod 750 1.txt
# 设置所有用户读写执行权限
chmod a=rwx 1.txt

4.3、属主与属组设置

chown -R username 文档路径:更改文档的所属用户
chgrp -R groupname 文档的路径:更改文档所属的用户组
chown -R username:groupname 文档路径:更改所属的用户以及用户组

5、vi编辑器

5.1、命令模式

在该模式下不能对文件直接编辑,可以输入快捷键进行一些操作(删除行,复制行,移动光标,粘贴等)(打开文件后默认进入的模式)

1、光标移动
移动到行首:^
移动到行尾:$
移动到首行:gg
移动到末行:G
翻屏:PageUp/PageDown

2、复制粘贴
复制光标所在行:yy
向下复制指定行数:数字yy
粘贴:p
剪切/删除所在行:dd
向下剪切/删除指定行:数字dd

5.2、编辑模式

编辑模式:在该模式下对文件内容进行编辑

进入:
a:光标前插入
i:光标后插入

退出:
按下esc

5.3、末行模式

末行模式:可以在末行输入命令来对文件进行操作

保存:w
另存为:w + 路径
退出:q
保存并退出:wq
强制退出但不保存:q!
搜索:输入/ + 关键字,通过按键选择上一个(N)下一个(n)
替换光标所在行第一处符合条件的内容:s/搜索的关键词/新的内容
替换光标所在行所有符合条件的内容:s/搜索的关键词/新的内容/g
替换整个文档每行第一个符合条件的内容:%s/搜索的内容/新的内容
替换整个文档符合条件的内容:%s/搜索的关键词/新的内容/g

%表示整个文件
g表示全局

显示行号:set nu
取消显示行号:set nonu

5.4、三种模式之间的切换

image.png

6、防火墙服务

6.1、常用命令

1
2
3
4
5
6
7
8
9
10
# 查看防火墙状态
systemctl status firewalld
# 开启防火墙
systemctl start firewalld
# 查看所有开启的端口(启动防火墙后,默认没有开启任何端口,需要手动开启端口)
firewall-cmd --list-ports
# 防火墙开启端口访问(--permanent 永久生效,没有此参数重启后失效)
firewall-cmd --zone=public --add-port=80/tcp --permanent
# 重启防火墙
firewall-cmd --reload