linux总结
2024-01-04 08:54:19 0 举报
AI智能生成
Linux是一种开源、稳定且高度可定制的操作系统,主要应用于服务器、嵌入式设备和个人电脑。它基于UNIX设计理念,使用C语言开发,提供了丰富的命令行工具和强大Shell环境。Linux由Linux内核和众多开源软件组成,支持多种文件系统、网络协议和硬件设备。它具有高度的模块化和稳定性,支持多用户、多任务处理和强大的安全性。Linux系统分为桌面版和服务器版,桌面版如Ubuntu、Fedora、Mint等,服务器版如RHEL、CentOS、Debian等。使用Linux需要具备一定的命令行操作和系统管理知识。
作者其他创作
大纲/内容
操作系统 (简称 os)是管理和控制计算机硬件与软件资源的计算机程序 是和控制计算机硬件与软件资源的计算机程序 是直接运行在裸机上的最基本的系统软件 任何其他软件都必须在操作系统的支持下才能运行
操作系统的概念
是一套开放源代码
什么是linux系统
基本思想 包括硬件 每个软件都有特定的用途 多用户 多任务 各个用户对于自己的文件有自己的权利 多个程序同时并独立的运行良好的画面 同时具有 字符界面 和 图形化界面 支持多种平台可以运行在多种硬件平台上 如 x86,680x0 SPARC Alpha 等处理器的平台
linux系统主要特征
linux 内核 内核是操作系统的核心 提供了很多基本功能 存储管理 进程管理 文件系统 设备管理 shell 提供了用户与内核进行交互操作的一种接口 命令解释器 shell也是一种编程 文件系统 是文件存放在磁盘等 存储设备上的组织方式 linux 系统支持多种目前流行的文件系统 如 EXT3 EXT4 xfs等应用程序 标准的linux 系统一般都有 一套应用程序集 它包括文本编辑器 编程语言 xwindow 办公套件 internet 工具和数据库等
linux系统组成
linux基础初探
命令 [参数选项] 文件或路径有空格root@host - # 当前用户 主机名 当前路径 命令行结尾提示符 # root 超级管理员 对应的符号 &普通用户
linux 命令行概述与命令操作语法
tap补全 相对路径 是从当前目录开始的 绝对目录是从 根目录开始的
事项
cd 从当前目录切换到其他目录cd ~ 跟 cd 一样 回到当前用户的家目录 cd .. 切换到当前目录的上一级 cd - 切换到当前用户上一次所在目录路径 cd / 直接切换到根
cd 切换目录
ls 列出目录内容及内容属性信息 ls -l 使用长格式列出文件信息 及目录信息ls -a 目录下所有文件 包括隐藏的文件ls -i 显示文件大小 节点 信息ls --full-time 以完整的时间格式输出 ls -h 人类友好显示
ls 列出目录内容及内容属性信息
mkdir 创建目录mkdir -p 递归创建目录
mkdir 创建目录
touch 创建文件 touch -t 设置文件的时间属性 时间格式为(年月日分秒 )
touch 创建文件
tree 以树形结构列出指定目录下的所有内容tree -d 只显示目录 tree -f 编辑文件类型 为不同的文件形式
tree 以树形结构列出指定目录下的所有内容
pwd 显示当前工作目录的绝对路经
rm 删除一个或多个文件rm -r 删文件 必须加 -r 递归删除目录及内容rm -f 强制删除 rm-i 再删除前需要确认
rm 删除一个或多个文件
cp 复制文件或目录cp -r递归复制目录 即复制目录下的所有层次的子目录
cp 复制文件或目录
mv 剪切 mv -f 若目标文件已存在 不会询问而直接覆盖mv -i 若目标文件已存在 就会询问是否覆盖mv -n 不覆盖已存在的文件
mv 剪切
man 帮助 q退出
help 帮助 命令 --help
info 帮助
man 帮助 help 帮助 info 帮助
普通模式下光标定位Hjkl 光标上下左右移动0¥跳到光标所在行的行首和行尾gg G跳到首行和尾行
文本编辑y 复制 yy以行为单位复制d 删除 dd以行为单位p粘贴 u撤销
纯文本编辑器的使用 ctrl + v 进入可视模式 v进入可视模式 V可视行模式 选择块 i 插入字符 esc 块修改 选择块 r 输入替换的字符块删除 选择块,d 块复制 选择块 y
Vim 编辑器三种模式 普通模式 插入模式 末行模式文件编辑器 vi vim
1. Vim file 光标置于第一行首位2. Vim fike +N 光标位于第n行3. Vim file + 光标位于末尾行首4. Vim file + /pattern 光标置于与pattern 匹配的字符串处 pattern 为任意字符串
Vim模式有哪些? 如何切换?普通模式 换插入模式 aios四种方式 esc键返回输入:键 若末行模式下 末输入内容 一次esc键即可 若有内容 连续次esc键
Vim 编辑器
cat 查看文件内容 编辑新文件 非交互式地编辑追加内容到文件尾部把多个文件 合成一个清空文件内容cat -n 从1开始对所有输出文件开始编号 不忽略空格白行cat -b 忽略显示空白行 只显示有内容的行cat > text1.txt << EOF 编辑新文件 cat >> text.txt << EOF 追加文件合并 cat text1 text2 text3 > 文件合并的新名称清空 cat /dev /null > text1.txt 清空文件内容
cat 查看文件内容
more 后面不接任何参数more /etc/profile more -5 /etc/profile 定义屏幕上显示的行数 more +5 /etc/profile从指定的行数开始显示ls /etc/ |more -10 分页显示目录下的内容 第一个命令的结果 通过管道传递给下一个命令
more 后面不接任何参数
less分页查看文件内容less -i 搜索时忽略大小写less -N 在每行输出行号less -P 后面跟被搜索的字符案例less -ip 搜索的字符 目录 不区分大小写搜索 字母a 的同时显示行号less -N -p a /etc/yum.conf分页显示目录下的内容 ls /etc / |less
less分页查看文件内容
head -n 显示行数 head -5 目录 前五行head -n -10 最后10行不输出
head 显示前几行
tail -n行数 -F 实时输出文件变化后追加的数据
tail
/var/log/messages //系统主日志文件/var/log/secure //认证、安全/var/log/ maillog //跟邮件postfix 相关 /var/log/cron // crind at 进程产生的/var/log/dmesg // 和系统启动相关/var/log/yum.log //yum /var/log/mysql // MYSQL/var/log/lastlog 所有用户的登录情况
常见的日志文件log
常用选项说明:Z //有gzip属性的c //创建新的tar包V //显示详细的tar命令执行过程 f //指定压缩文件的名字x //解压tar包c //指定解压的目录路径--exclude=PATTERN //打包时排除不需要处理的文件或目录常用tar -cvf jpg.tar * *.jpg 将目录里所有jpg文件打包成 jpg .tar\\tar -czf jpg.taz.gz *.jpg 将目录里所jpg文件打成jpg.taz.gz zip -r agan .zip text1.txt //把text.txt 压缩名称为agan.zip文件文件解压缩 tar -xvf jpg.tar 解压tar包tar -xzvf jpg.tar.gz 解压taz.gz 包tar -xvf jpg.tar -C /agan 解压到指定路径unzip 解压zip文件
tar 压缩与解压
-v 显示不匹配的行或者说排除某些行 -n 显示匹配行及行号-c 只统计匹配的行数-i不分大小写-E 使用扩展的egrep 的命令使用方法 grep 要过滤的内容 文件名 //过滤想要的内容gerp -E \"agan|lisi\" test.txt egrep \"agan|lisi\" test.txt 也行
grep
~ 匹配正则表达式!~匹配正则表达式后取反==等于!=不等于<小于>大于
1.显示文件中的第5行awk'NR==5' agan.txt2.显示文件中第2-6行,并打印行号awk'NR==2NR==6(print NRSOlagan.txt备注:$0表示整行3,:显示文件的第1列、第3列、最后一列awk -F\
awk
sed 是一个流处理编辑器 是操作、过滤和转换文本内容的强大工具
sed 参数 -n 取消默认的sed的输出-i直接修改文件内容 而不是输出到终端 内置命令字符 种类 解释p 打印相关的行,配合n选项使用 a 在行后面另起一行新蹭行i 在行的前面另起一行插入行c 替换指定行d 删除指定的行s 替换匹配的字符串
sed高级命令 {} 支持多个sed命令({command1;command2},n 读取下一个输入行 & 与符号,替换固定的字符串()替换某种(部分)字符串r/w 复制指定文件插入到匹配行/复制匹配行拷贝到指定文件里q 退出 sed
sed
查询三剑客grepawksed
find 在哪里查找 文件类型 是什么 要查找的文件或者目录 名字是什么 用双引号引起来find / 目录 -type 文件类型 -name \",\"名字\" 文件类型 f 普通文件 i符号连接d 目录 c 字符设备b 块设备s 套接字-size 文件大小-mtime 时间 -user 用户-group 组
find 查询
netstat 查看端口 命令参数常用参数-anput -a 显示所有活动的连接以及本机侦听的TCPUDP 端口 -l 显示监听的eserver port -n 直接使用ip地址 不通过域名服务器-p正在使用socket的程序PID 名称 -r 显示路由器-t显示tcp传输协议的连接状态-u 显示udp传输协议的连接状况-w 显示RAW传输协议的连线状况
netstat 查看端口
ss(socket)常用参数和netstat 类似 如-anp-a 显示所有的sockets -i显示正在监听的-n显示数字ip端口 不通过域名服务器-p 显示使用socket 的对应的程序-t 只显示TCP sockets-u 只显示UDP sockets-4 -6 只显示v4 或v6 版本的搜socket-s 打印出统计信息 这个选项不能解析 从各种源获得的socket。对于解析/proc/nettop 大量的socketc 计数很有效-0 只显示PACKET sockets-w 只显示RAW sockets-x 只显示 unix 域 sockets -r尝试进行域名解析地址端口
ss(socket)
ln 硬链接ln-s软链接
ln
useradd 参数创建用户 选项 -n 不创建以用户名为名的组-c 创建用户时 添加个人信息 -u 用户ID 值 必须是唯一的 -s 用户登录后使用的shell-g 指定用户对应的组 对应的组必须在系统中存在
useradd 参数创建用户
-c 修改用户的个人信息 与useradd -c 差不多-g 修改用户对应的用户组 同 useradd 的-d 功能 -s 修改用户登录后使用的shell名称 同useradd 的-s-u 修改用户的uid 同useradd 的-u功能 *-l 修改用户的名称
usermod 修改系统 已经存在的 用户信息
userdel 删除用户选项 -f 强制删除用户-r 删除用户的同时 删除用户相关的所有文件
userdel 删除用户
passwd 修改用户密码选项--stdin 从标准输入读取密码字符串
passwd修改密码
选项 -g gir 指定 用户组的GID唯一不能成为负数 -f 新增一个组 强制覆盖一个已存在的组, GID、组成员不会改变
groupadd创建组
gpasswd 将以存在的用户加入到组中的命令选项-a 添加一个用户到组 可以追加到组-M 添加多个用户到组 覆盖之前的组成员-d 从组删除用户
gpasswd 将以存在的用户加入到组中的命令
groupmod修改组的信息选项-n 修改组名-g 修改 GID
groupmod修改组的信息
groupdel 删除组的命令 加组名
id 命令查看用户的 uid gid
su 切换用户su -
su 切换用户
chown用法chown 所属的用户或组 目录或文件 chown 的用法仅有三种 (三种方法根据需求使用)chown 用户名 文件名或目录名 修改文件或目录的所属用户chown :组名 文件名或目录名 修改文件或目录的所属组chown 用户名:组名 文件名或目录名 修改文件或目录的用户和组只要需要把父项权限或父项所属主或所属组的传递时,都可以使用-R 参数实现传递 -R (传递 权限所属的主和组) 只能用于目录
chmod给谁赋予什么权限 权限赋给的对象
ps 查看进程ps -aux 查看所有进程-u 显示进程的详细信息 包括cpu和内存的使用率-a 显示终端上的所有进程 包括其他用户的进程-x 显示没有控制终端的进程
ps -aux | grep httpd 查看指定的一个进程 例如 httpd
ps 查看进程
rpm 参数说明 -i 安装软件 -v 表示在安装过程中显示详细信息 -h表示显示水平进度条-U 升级安装 -e 表示删除 -a 显示所有的软件包 --nomd5 不检验软件软件包的签名 --force 强制安装软件包 --nodeps 忽略依赖关系 软件包的卸载 rmp -e rmp 包文件名 rmp -e ntfs -3g --nodeps 软件包查询 rmp -qa 查询单个的软件包 rmp -qa 包名 rpm -qa | wc -l 统计软件包 的安装个数
rpm 包安装
fdisk -l 查看现有的磁盘分区分区工具fdisk用法介绍 命令参数介绍 -p 打印-n新建一个分区-q退出不保存 -w 把分区写进分区表 保存退出
mrb分区管理步骤 fdisk /dev/sd* 要分区的磁盘linux 下正常文件系统 Ext4,XFS格式化 mkfs. 文件系统 具体的磁盘 例如 mkfs.ext4 /dev/sdc1挂载与卸载磁盘mount /dev/sdc1 /mnt/disk1mount 挂载的信息umount /dev/sdc1 卸载查看磁盘使用情况 df -h 查看磁盘使用情况 文件系统 容量 已用 可用 已用% 挂载点 查看某个目录的大小 du -hs /home查看目录下所有目录的大小并按大小降序排列 du -sm /etc/* | sort -nr |less查看磁盘使用情况 文件系统的使用情况 :df -h 备注 sort 命令是帮我们依据不同的数据类型进行排序-n 依照数值的大小排序 -r 以相反的顺序来排序
fdisk -l 查看现有的磁盘分区
df 查看磁盘分区的使用情况状况-l 仅显示本地磁盘 -a 显示所有文件系统的磁盘使用情况 包含比如 /proc/ (0字节的分区)-h 以1024进制计算机并以最合适的单位显示磁盘容量-H 以1000进制计算并以最合适的单位显示磁盘容量-T 显示磁盘分区类型 -t 显示指定类型文件系统的磁盘分区-x 不显示指定类型文件系统的磁盘分区
df 查看磁盘分区的使用情况状况
du 统计磁盘上的文件大小 -b 以bype为单位统计文件-k以kb 为单位统计文件-m 以mb为单位统计文件 -h 以1024进制计算机并以最合适的单位显示磁盘容量-H 以1000进制计算并以最合适的单位显示磁盘容量-s 指定统计目标 比如统计某个指定的文件夹
du统计磁盘上的文件大小
sz 从服务器里把文件下载到本地
rz 命令本地上传文件到服务器
uname 内核信息获取-v 内核版本的编译版本-r 内核的release 发行号
username内核信息获取
lsmod 列出内核模块
linux 命令
1 一切从根开始,“/”是所有目录的起点(顶点),根下面的目录是一个有层次的树形结构 2.访问根目录,也可能访问完全不同的分区或不同的磁盘 ;分区或磁盘是挂载在根上的备注 如果不挂载是看不到入口的,是不被正常使用的 如果要访问设备 就必须为设备开一个入口 这个入口就是挂载点 ,挂载点实质就是一个目录,开入口的过程 就是将挂载点和磁盘设备关联 3.相对路径与绝对路径 绝对路径 绝对路径是指以根开始为起点的 列如 :/tmp 相对路径是指相对于非根路径,路径开头没有“/\" 列如etc/sysconfig
/bin/ /sbin/ 存放的都是平常使用的命令 如ls tree man等 PATH /sbin/目录下一般是root 用户使用的普通用户没有使用权限 普通用户用bin下面的 root用户也是可以的/boot/ 存放系统启动相关的文件不能删除/dev/ 是linux特有的设备文件 比如驱动 硬盘 鼠标等等etc /存放系统配置文件目录的/home/ 普通用户的家目录 /lib / lib64/ 存放系统库文件的目录 很多命令都是依赖库文件 比如ls久以来的一些库文件 有点像windwos 里面的.dll 文件/medai/媒介目录 默认为空 插入u盘会自动存放在/mnt/下用/opt/默认为空 会把orade 安装在这个目录下 /proc/存放系统启动的一些进程 他会生成一个pid文件 ;如果工作的发现某个进程不太熟悉 我们可以找到这个进程的pid 通过pid去查看进程的具体在哪里运行的/root/ root的家目录 存放一些管理员 用户配置文件和管理内容 比如/root/.ssh/authorized_keys 如果一个普通用户要存放公钥 他必须在普通用户的家目录建一个.ssh/authorized_keys /run/ 进程产生的临时文件所以一重启就会消失/src/ 默认为空服务 产生的一些文件/sys /存放一些内核相关的文件/tmp/ 系统饿临时文件目录 权限很大 任何一个用户都能操作 但是他有一个特殊权限 用户只能操作用户自己的文件和目录 /usr/ 存放用户的一些文件/var /存放系统产生的一些日志 系统进程 服务 一些临时文件等 /var/log/messages : 系统的总日志文件
系统目录结构
常见后缀名 代表意义.rmp 系统二进制软件包文件.tar.gz 压缩包文件 .sh shell 脚本文件通过shell语音开发的程序.conf 系统服务的配置文件 linux系统中一切皆为文件 文件类型包含普通文件 、目录、字符设备文件 、块折本文件 、符合、软链接文件 、管道符 - 普通文件 包含纯文本 二进制文件 数据文件 d 代表目录 c 代表字符设备b 代表块设备文件 列如硬盘 光驱s 代表套接 字文件 进程p 代表管道文件了解即可
文件类型与文件属性
linux系统分为三类1.管理员用户默认是root用户 ,他的UID和GiP均为0 系统安装完成后自动生成 默认通过它登录系统 拥有最高权限2.普通用户由系统管理员root创建的 创建完成后可以登录系统但默认无法创建 修改和删除任何管理员下的文件 真只能在家目 录创建 修改删除 修改文件 UID 从1000-65535 都是普通用户3.系统用户(或虚拟用户)安装系统后默认生成的用户,大多数不能登录系统 但他们是烯烃正常运行不可缺少的 ,他们的存在主要是方便系统管理 满足相应的系统文件 所属用户的要求UID 从 1-999
etc/passwd 存储 用户信息 每一行代表一个用户信息 有多少行就多少个root :x : 0 :0 :root :/root : /bin/bash1.用户名 2.密码 3.用户标识号UID: 4.组标识号GID 5.个人资料6.主目录 7.命令解释器/etc/shadow 存储用户密码信息文件 agan :!!:17749: 0 :99999 :7: : :1.用户名2.密码 3.最近改动的密码的日期 4.密码不可被2改动天数 5.密码需要重新变更天数6.密码需要变更期限前的警告期限 7.密码过期的怒限时间 8.账号失效日期 9. 保留 /etc/skel 此目录用来存放新用户需要的所有基础环境变量文件的目录rm -f .bash* 删除用户家目录下的环境变量后-bash -4.1$ 重新登陆出现故障
组的特点 linux系统中的用户组就是具有相同特征的用户的集合有时我们需要让多个用户有相同的权限 就要创建组一个用户可以加入多个组组的配置 /etc/group 主要存储组相关信息的文件agan :x :500 : 1.组名 2.组密码3.组ID 4.组成员 /etc/gshadow 主要用来存储组的密码信息:agan:!: :1. 组名 2.组密码 3.组管理员 4.用户组成员
权限问题在企业中需要让普通用户具备指定的权限 不会轻易把管理员权限随意赋予 所以为普通用户权限就特别重要 使用sudo 命令为普通用户提权 , sudo 作用通过配置文件来限制用户的权限,可以让普通用户在执行指定命令或程序时 拥有超级用户的权限
用户组管理知识
UDO权限详解什么是UDO权限Linux系统常见的权限为 r w x r读 4w修改 2x执行 1给谁赋予权限 u 普通用户g 组 o 其他人 =UGO如何赋予权限?权限的赋予有两种 字符型(r w x) 和数字型(4 2 1)赋予权限的命令 chmod 查看UGO 权限的命令 ll
ACL权限详解 ACL设置基本的权限:可以是多个用户 多个组和其他人 赋予ACL权限使用 setfacl 命令 查看ACL权限使用
特殊的权限 有t和s 权限 t权限是最高权限时,也不能删除我的文件,只有说属主的主人可以删除我的文件 t权限仅能给目录赋予 s权限是通过修改的二进制文件 更改普通用户的权限 s权限只能赋予系统的二进制文件实列让普通用户默认不能修改自己的密码 Chmod u-s /usr/bin/passwd
Linux文件权限详解
什么是进程?进程就是已启动的可执行程序的运行实例,进程有以组成部分已分配的内存的地址空间;安全属性;程序代码的一个或多个执行线程,多个线程可以执行构成一个进程 多个进程构成一个程序;进程状态程序 :二进制文件 例如 /usr/sbin/https 进程:是程序运行的过程 是动态的 有生命周期运行状态进程与程序是有区别的 进程不是程序,虽然它由程序产生 程序知识一个静态的命令合集 而进程是一个随时都有可能变化的 动态的 使用系统运行资源的程序 而是一个程序可以启动多个进程
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND1.USER进程所有者 2.PID进程号 3.%cpu占用的cpu使用率4.%MEN占用的内存的使用率5.VSz占用的虚拟机内存大小6.RSS占用的内存大小7.TTY终端的次设备号码8.STAT该进程的状态 D不可中断的休眠(通常表示该进程正在进行I/O动作) R正在执行中 S休眠状态 T暂停状态 Z不存在但暂时无法消除 W没有足够的内存分页可分配 <高优先顺序的进程 N低优先顺序的进程 L有内存分页分配并锁在内存内9.START 进程开始时间 10 TIME 执行的时间 11.COMNAND 所执行的命令
动态查看进程 top top -u user1
kill 特殊标记 9 杀死程序
软件包概述 三种格式的包 : rmp格式 二进制格式 源码格式 rmp格式 例 一个.rmp的后缀的文件包 rmp 格式很好区分 使用rmp yum 命令进行安装 二进制包 一个tar.gz 的包二进制格式的包名字很长 有版本号 适应平台 适应的硬件类型等 已编译好 解压后可使用 不需要安装 源码包 : php 5.2.14.tar.gz 而源码格式仅仅就是一个版本号的tar包 源码安装步骤 解压 ./configure make make install 备注源码包严格来讲是三大步骤 分别为2/3/4注 ./configure 用来检查环境变量及配置编译选项的;mask用来将源代码编译成二进制的 ;而make install 则会将 make 编译出来的文件安装到指定位置rmp包默认安装路径如图所示 rmp包默认安装路径/etc/ 配置文件安装目录/usr/bin/ 可执行的命令安装目录 /usr/lib 程序所使用的函数库保存位置/usr/share/doc 基本的软件使用手册保存的位置/usr/share/man 帮助文件保存位置源码包安装在指定位置中 一搬是/usr/local/软件名
进程管理与软件管理
计划任务相当于闹钟 什么时候需要使用定时任务 企业工作中需要将某些命令或脚本放入计划任务中自动执行 企业中需要定期执行服务器之间的数据同步操作linux中怎样使用计划任务在linux中有两种使用方法:1) 一次性at计划任务2)周期性执行cron计划任务;常用的为周期性计划任务计划任务的使用方法crontab 命令作业周期性执行任务 (crontab -l ) 查询任务crontab -r 删除任务 crontab数据列格式 分钟 1~59 每分钟用*或*/1表示(*/5)小时 1-23 0表示0点日期 1-31月份 1-12 星期 表示0-6 0表示星期天 要执行的命令
计划任务
磁盘分区概述磁盘分区为两种形式 MRB GPT MBR分区限制:只支持四个分区 总分区不能超过15个只支持2TB以下的硬盘 不支持数据的扩容 GPT分区的限制没有主分区的限制 支持2tB以上的硬盘 支持数据的扩容 linux系统下磁盘管理步骤 : 分区 格式化 挂载 查看新设备是否发现 ll /dev/sd* 查看kernel 识别到硬件设备
性能检测检测CPUcat /proc/cpuinfo 显示出主机CPU详细参数 如内核频率 型号等 cat /proc/meminfo查看主机内存信息 如内存大小 交换空间 高速缓存等
数据存储管理与性能测试
外框
linux总结
收藏
收藏
0 条评论
下一页