【Linux之轨迹】Linux 笔记梳理(后台开发简洁版)

本文详细介绍了Linux操作系统的基础操作,包括目录结构、文件属性、权限管理、文件查看、链接类型、Vim编辑器的使用、进程管理、账号与用户组管理、防火墙与端口配置。此外,还涵盖了安装与配置软件的方法,以及一些常用的日常命令,是Linux系统管理员和开发者的重要参考资料。
摘要由CSDN通过智能技术生成


虚拟机
VMware 安装 CentOS7

云服务器
修改主机名:hostname <新名称>,然后重新连接
检测版本:cat /etc/redhat-release

0. 目录了解

/bin:即 binary,放置常用命令
/boot:放置启动 Linux 的核心文件,包括连接文件和镜像
/dev:即 device,放置 Linux 的外部设备,全都以文件的形式,可访问
/etc:放置系统管理需要的配置文件和子目录(如 Java、Redis,非常重要)
/home:用户的主目录,每个用户都有一个自己的目录
/lib:放置最基本的动态连接共享库,类似 Windows 中的 dll 文件
/lost+found:系统非法关机后,这里会出现一些文件,一般时空的
/media:放置识别到的 U 盘,光驱等
/mnt:放置用户临时挂载的文件系统,如光驱中的内容
/opt:放置额外安装的软件,如数据库等
/proc:放置系统内存的映射,可以通过它获取系统信息
/root:系统管理员的主目录
/sbin:即 super bin,放置系统管理员使用的系统管理程序
/srv:放置服务启动后需要提取的数据
/tmp:放置临时文件
/usr:放置用户的应用程序和文件,类似 Windows 中的 program files 目录
/var:放置经常被扩充的文件,如日志文件
/run:放置临时文件,存储系统启动以来的信息,系统重启时,目录下的文件会被清除

1. 最基本操作

  • ls: 列出目录
    • -a 表示全部文件包括隐藏文件
    • -l 列出所有文件包括属性
    • -R 里安童子目录一起列出来
    • -t 按照时间从近到远列出
    • 参数都可组合如 -al
  • cd:切换目录
    • cd … 表示返回上一级目录
    • cd ~ 表示回到当前用户目录,如 /root
  • pwd:显示目前的目录
    • 加上 -P 后会显示完整路径,否则只是显示快捷方式路径(如果有的话)
  • mkdir:创建一个新的目录
    • 创建多级目录使用 -p,如 mkdir -p aaa/bbb/ccc
    • 也可使用 -m 来为目录设置初始权限,如 -m 777 (见下方权限管理)
  • rmdir:删除一个空的目录
    • 删除多级目录可使用 -p,如 rmdir -p
  • cp: 复制文件或目录
    • 使用:cp <要复制的文件> <要复制的目录路径>
    • 若要复制的是文件夹,需加参数 -r,表示递归,将文件夹内容一同复制
    • 加上参数 -s 表示复制出来的为软连接(相当于快捷方式)
    • 加上参数 -l 表示复制出来的为硬链接(软硬链接在下面)
    • 加上参数 -a 能连同文件的属性一起复制过来(默认的话时间会变,组别可能也会变)
  • rm: 移除文件或目录
    • 目录不为空时,如果连带目录下所有东西一起删除,可加上 -r
  • mv: 移动文件与目录,或修改文件与目录的名称
    • 将 mv 后的多个文件(夹)移动到最后一个文件夹中

2. 属性认识与权限管理

在这里插入图片描述
① 第一列

  • 第一个字母为 l 的表示连接
    后边的 bin -> usr/bin 表示该前边的目录链接到后边的目录,类似于快捷方式
  • d 的表示文件夹
  • - 的表示文件

后边 9 个字母分为 3 部分
每部分由 r w x 组成,分别表示可读、可写与可执行
显示为 - 的表示无此权限
这 3 个部分依次表示 <属主权限> <属组权限> <其他用户权限>

② 第三、四列

第三列为属主,表示属于哪一个用户
第四列为属组,表示属于哪一个组别
可以对该文件(夹)进行哪些操作,由第一列决定

③ 更改权限

更改文件权限,使用 chmod ,有两种方法

一、 使用数字更改
其中 r=4, w=2, x=1
故权限 rwx=4+2+1=7, r-x=4+1=5, 以此类推
chmod 777 <文件(夹)>
表示将三个权限都设置为 rwx

二、 使用符号更改
其中 u=user, g=group, o=other, 代表了三个权限
chmod u=rwx, go=rx <文件(夹)>
表示属主有读写与执行的权限,而属组和其他用户只有读写权限

符号更改还可以针对某一权限进行,比如
chmod a+w <文件(夹)>,表数全部人可写,其他权限不变
chmod a-w <文件(夹)>,表示全部人不可写,其他权限不变

参数:在 chmod 后加 -R 可将目录下所有子目录与文件的权限更改

目录权限 x 解释: 用户对目录需要有 x 权限,才能使用 cd 进入该目录,仅有 r 权限最多只能得到文件夹中的文件名称,就算对里边的文件具备全部权限,由于文件夹进不去,也就无法对文件进行任何操作了

目录权限 w 解释: 只要用户对目录有 w 权限,那么即便用户对其中的文件没有任何权限,也能将其删除

④ 更改属主

chown <账号名称> <文件(夹)>
chown <账号名称:组名> <文件(夹)>

第二行表示两桶组名也一起更改,同样 chown 后夹 -R 有递归更改效果

⑤ 更改属组

chgrp <组别名称> <文件(夹)>

同样在chgrp 后夹 -R 有递归更改效果

3. 文件内容查看

  • cat:由第一行开始显示文件内容
    • -b 可列出非空白行的行号,-n 则连同空白行行号一起列出
  • tac:由最后一行开始显示文件内容
  • nl:带行号显示内容
  • more:分页显示内容
    • 其中空格代表翻页,回车代表读取下一行,:f 表示显示行号
  • less:也是分页显示内容,只不过它可以往前翻页
    • 其中空格代表翻页,上下键代表上下行滚动,q 表示退出,/<字符串> 表示要查询什么字符串(向下查询),?<字符串> 则表示向上查询
  • head:只看前面几行
    tail:只看后边几行
    这两个都可以接 -n <数字> 表示要看 前/后 多少行

4. 硬链接和软链接

硬链接: ln <文件1> <文件2>

特点:修改其中一个,另一个的内容随之变化,且任意删除一个,另一个依旧能访问到,可以使用硬链接备份重要文件

软连接: ln -s <文件1> <文件2>

特点:类似于快捷方式,同样是内容同步,但原文件被删除后,软链接出来的访问不了原文件内容


5. Vim 编辑器

① vim 键盘图:
在这里插入图片描述
② 基本操作:

文件不存在则为创建新文件,存在即为修改文件

vim <文件名>

之后将进入命令行模式
输入 i 进入输入模式
输入 x 删除光标所在处的字符
输入 : 进入底线命令模式
在以上三种模式下,按 Esc 键退出到命令行模式
在底线命令模式,输入 w 表示保存,q 表示退出,wq 表示保存并退出

③ 命令行模式操作
数字 + 空格:光标向后移动 n 个字符
数字 + 回车:光标向下移动 n 行

③ 底线命令行模式
set nu:设置行号(set nonu:取消显示行号)
ZZ:不保存直接退出
/<字符串>:表示寻找字符串,在其中按 n 表hi向下寻找,按 N 表示向上寻找


6. 管道

作用: 在命令之间使用管道符号 | 隔开,可实现前一个命令的结果被后一个命令接收并处理的效果
注意: 管道符号后出现的必须为命令,并且需要是能够接收结果的

管道符号常接命令: 过滤命令

grep <字符串>

作用:过滤处含有指定字符串的行
-v:反向选择,过滤掉出现指定字符串的行
-n:顺便输出行号
-c:统计指定字符串出现次数

7. 账号管理(通过 root 账号)

查看所有用户:cat /etc/passed

各项参数:
用户:密码:用户id:组id:注释性描述:主目录:登录Shell

用户id为 0 时,表示系统管理员,权限与 root 一样,可以设置多个系统管理员
其中密码不可见,使用 x 代替,真正的密码在加密后保存在 /etc/shadow 文件中
当登录Shell为 nologin 时,表示该用户不可以被登录
添加用户
useradd -选项 <用户名>
-m:自动创建用户家目录 /home/用户名(创建一般用户默认)
-M:不创建用户家目录(系统用户默认)
-r:创建系统账号(id 在 1000 以下)
注意:一般用户家目录创建后,权限为 700 ,也就是说只有该用户有进入家目录的权限

删除用户(-r 表示删除用户时将其目录一起删除掉)
userdel -r <用户名>

修改用户
usermod -选项 <用户名>
-l:后面接账号名称,表示修改账号名称(实质上修改了 /etc/passwd 的第一栏)
-L:锁定用户,使用户暂时无法登入(实质上是修改了 /etc/shadow 的密码行)
-U:解冻用户,实质上是将 /etc/shadow 密码行加上的 ! 拿掉

切换用户(使用 exit 可退回 root 账号)
su <用户名>

设置密码(后面不写用户名,就是修改自己的密码)
passwd <用户名>

锁定用户(l 为 lock 的意思,也可以使用 -d,为清空密码,密码为空也无法登录)
passwd -l <用户名>
查询用户情况
使用 w 或者 who ,查询当前有哪些童虎正在系统中
使用 lastlog ,查询每个章后最后登录的时间

8. 用户组管理

查看所有用户组:cat /etc/group

各项参数:
组名:组密码:组id:该组支持的账号名称

在第四个参数时,每个账号名称以逗号','隔开,如 root,bin 表示 root 和 bin 都加入了这个组
同样组密码不可见,保存在/etc/gshadow 中
查看用户所有加入的组
其中输出的第一个为有效群组,使用该用户创建文件时,文件所属的组为有效群组
groups

更改有效群组(能更改的只有用户已经加入了的群组)
newgrp <组名>
注意:当 root 账号使用 newgrp 后边的组名不是已加入的时,会自动加入该群组

创建用户组
groupadd -选项 <用户组名>
-r:创建系统群组(id 在 1000 以下)
-g:创建群组时指定群组 id(最好不要随意修改)

修改用户组
groupmod -选项 <用户组名>
-g:修改群组 id
-n:修改群组名字
	
删除用户组
groupdel <用户组名>
注意:要删除的群组必须没有用户将它设定为初始群组

9. 进程管理

获取当前进程信息
ps -选项
-l:列出较详细的进程信息
-a: 显示当前终端运行的所有进程信息
-u:以用户的格式显示进程信息
-x:显示后台进程运行的参数
aux:列出所有系统运作的进程信息

参数 -l 查出来的信息:
F:即 flags,表进程的权限,其中 4 为 root
S:即 stat,表进程的状态
	R(Running),正在运作
	S(Sleep),正在睡眠,但可以被唤醒(signal)
	D,不可唤醒的睡眠状态,可能正在等待 xxx(I/O)
	T,停止状态
	Z(Zombie):僵尸状态,已停止但无法被移除至内存外

参数 -aux 查出来的信息:

USERPID%CPU%MEMVSZRSSTTYSTAT
用户名进程idCPU占用内存占用虚拟内存占用物理内存使用的终端进程状态
结束进程
kill <进程 id>,可接 -9 表示强制结束
killall <进程名称>,可实现批量删除
动态监控进程
top -选项
-d:后接数字,指定刷新的秒数(默认每 3 秒刷新一次)

在此期间,还可以接收按键输入进行互动
按 u,输入用户名,可以查看指定用户的进程信息
按 k,输入进程id,可杀掉指定的进程
按 P,可按进程id排序
按 M,可按占用内存大小排序
按 q:结束本次查看
监控网络状态
netstat -选项
-an:按顺序输出
-p:显示那个进程在调用

10. 防火墙与端口管理

查看 firewall 服务状态
systemctl status firewalld

开启、重启与关闭 firewalld.service 服务
service firewalld start
service firewalld restart
service firewalld stop

查看防火墙规则
firewall-cmd --list-all		# 查看全部熊希
firewall-cmd --list-ports	# 只看端口信息

开启与关闭端口
开启:firewall-cmd --zone=public --add-port=80/tcp --permanent
关闭:firewall-cmd --zone=public --remove-port=80/tcp --permanent
--zone 表示作用域
--add-port 表示添加端口,格式为:端口、通讯协议
--permanent 表示永久生效,没有这个参数重启后会失效

开启端口后要重启或者重载防火墙才能生效,下面两者都可
重载:firewall-cmd --reload
重启:systemctl restart firewalld.service

11. 安装与配置

① 安装
三种方式:rpm,解压缩,yum 在线安装

rmp 方式:

通过 -q 进行查询
rpm -选项
-qa:列出所有已经安装的 rpm 包
-qi:后接软件名,查询安装的 rpm 包软件的信息
-ql:后接软件名,查看软件包安装到什么地方去了

可通过管道过滤对应包,如
rpm -qa|grep java

安装 rpmrpm -ivh xxx.rpm
-i:即 install 安装的意思
-v:查看更细致的安装信息画面
-h:以安装新系列显示安装进度

卸载 rpm 包(其中 nodeps 表示强制删除,xxx是由 -qa 查出来的包名)
rpm -e --nodeps xxx
解压缩方式:

解压压缩包
tar -zxvf xxx.tar.gz
yum 方式(需要网络)

安装命令(其中 -y 表示所有的提示都选 y 即 yes)
yum -y install <包名>

搜索有什么 yum 包
yum search xxx

② 配置
配置环境的地方在 /etc/profile
注意:rpm 方式不需要配置,解压缩方式需要

只需要在最后面添加即可,如 Java 环境

export JAVA_HOME= xxx
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
(也可以 export JAVA_HOME PATH CLASSPATH)

最后使配置文件生效 source /etc/profile




参考学习:狂神、鸟哥私房菜


12. 番外:日常命令收集

1) 查看各个目录的内存情况
df -hl

2) 查看各个文件的占用空间
ls -hl

冰河之上,伪装了暗流涌动(IceClean)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

寒冰小澈IceClean

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

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

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

打赏作者

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

抵扣说明:

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

余额充值