一,Linux的基本操作/常识 正则表达式 * [] $ . {} ^ 定向输入输出符号 < << > >> 2> 2>> history n ---- n! 转义符号 '' "" / 逻辑符号 && || ! 帮助文档 man --命令名 命令名 --help 关机以及重启命令 halt init0 init6 reboot shutdown(root用户权限,参数有-t -h等) vim文档编辑 有三种模式,末行模式,命令模式,编辑模式 命令模式--->编辑模式(按i, a, o) 编辑模式--->命令模式(按esc键) 命令模式--->末行模式(按:键即可) 注意:::其中不能直接从编辑模式到末行模式 命令模式: 位置移动: 0回到本行开头 $回到本行末尾 ngg去第n行开头 gg回到第一行开头 G回到最后一行开头 nG回到某行开头 增删改查: u表示撤销上一步 x表示往后删,X表示往前删 p表示往后粘贴,P表示往前粘贴 yy表示复制整行 dd表示剪切 搜索功能: /字符串 自上而下搜索 ?字符串 自下而下搜索 N/n 向上或者向下移动 末行模式: set nu 表示显示行号 set nonu 不显示行号 wq 保存退出 q! 强制退出 s/字符串1/字符串2 表示将本行第一个字符串1换成字符串2 s/字符串1/字符串2/g 表示将本行中所有字符串1换成字符串2 %s/字符串1/字符串2/g 表示将文件中所有字符串1换成字符串2 二,用户和用户组管理 用户管理 用户信息存储文件分别式/etc/passwd 和 /etc/shadow 拿passwd文件来举例子::: 用户名:密码:用户id:组id:注释信息:账号文件所在路径:终端解释器 常用命令 useradd [-degGsu] 账号名 表示添加账号 usermod [-lLU] 账号名 表示修改账号信息,其中-n表示修改账号名字, -L表示锁定账号, -U表示解锁账号 userdel [-r] 账号名 表示删除账号,其中-r表示彻底删除账号有关文件 passwd [-dluS] 账号名 表示修改账号密码,其中-d表示删除密码, -l表示锁定账号, -u表示解锁账号, -S表示查询用户账号 用户组管理 用户组信息存储文件分别式/etc/group 和 /etc/gshadow 常用命令 groupadd [-g] 组名 表示添加用户组 groupmod [-ng] 组名 表示修改用户组信息 groupdel 组名 表示删除组信息 gpasswd [-ad] 用户名 组名 -a表示添加用户 -d 表示删除用户 查看用户和用户组状态 常用命令 who/w 查看登录到主机的用户信息 whoami 查看当前操作的用户信息 id 查看用户id 和 组id groups 查看用户所属组 sudo [-bul] 命令名 表示设置-u执行者, -b表示设置后台执行, -l表示显示执行者权限 前提visudo编辑配置文件 用户名 ALL=(ALL) ALL su - 用户名 切换账号 三,文件管理 目录操作 mkdir [-p] 目录名字 表示创建目录,-p表示同时允许创建多级目录,如果需要同时创建多个目录可以{},或者用空格来分开多个目录 rmdir [-r] 目录名字 表示删除文件夹,-r表示递归删除目录 pwd 表示显示工作目录绝对路径 cd 表示切换目录,其中../表示父目录,../../表示爷目录,/表示根目录, 空格表示回到主目录 ls [-aldR] 显示文件或目录信息 文件操作 touch [-d] 文件名 表示创建文件,用法和创建目录用法类似,-d表示文件读取时间 rm [-rfi] 文件名 表示删除文件, -r表示递归删除整个目录树,-f表示强制删除,-i表示询问用户是否删除 mv [-fi] 源文件 目标文件 表示将源文件移动到目标文件,如果在同一目录下就是重命名 cp [-rfipd] 源文件 目标文件 -r表示递归复制整个目录树,-f表示强制覆盖, -i表示询问是否覆盖, -p表示文件属性一起复制,-d表示复制文件链接属性 file 文件名 表示查看文件类型 which 命令名 表示查看命令路径 find [-name -type -size -user -group] 表示查找文件 ln [-s] 路径1 路径2 表示将路径2在路径1建立链接,其中-s表示建立软链接 压缩文件 gzip [-drv] 待/压缩文件 压缩文件或解压缩文件(-d), 压缩包后缀.gz bzip2 [-drv] 待/压缩文件 压缩文件或解压缩文件(-d), 压缩包后缀.bz tar [-xcpfvzj] 待打包文件 打包文件 文件权限管理 文件类型 普通文件(-),目录文件(d),链接文件(-l),设备文件(c,b),管道文件(p) 文件权限表示方法 字符表示法r w x 数字表示法4 2 1 文件权限设置 chmod [-R] u/g/o/a +/-/= rwx 文件名 表示授予对于账户读写执行的权限 chmod nnn 文件名 表示授予用户,用户组,其他用户什么权限 文件所有者/所属组设置 chown [-R] 用户:用户组 文件名 表示将文件所有者/组修改 chgrp [-R] 用户组 文件名 表示将文件所有组修改 文件权限掩码设置 umask nnn 设置权限掩码,么有nnn表示查看当前权限掩码 文件隐藏权限设置 chattr [+-=acisu] 文件名 表示给文件设置什么隐藏权限,a表示不能删除修改数据,c表示自动压缩保存,i表示不能删除,重命名,写入,s表示彻底删除,u相反 lsattr [Rad] 文件名 表示查看文件隐藏权限,-R表示递归显示子目录,-a显示所有文件,-d表示显示目录本生 四,磁盘和文件系统管理 磁盘就是一种存储介质,硬盘是一种常见的磁盘 一般磁盘上会有逻辑分区,主要是四个主分区,然后有一个用来做扩展分区(最后一个),主分区前面会有一个MBR主引导记录(存储分区信息) 一般磁盘分区命名::: /dev/sda1 其中sd表示设备类型,a表示第一个磁盘,1表示第一个主分区 磁盘管理命令 fidisk [-l] 磁盘名 -l表示查看磁盘信息 如果没有-l参数的话,我就要进入交互模式了 n 表示创建分区 p 表示查看分区信息 d 表示删除分区 t 表示变更分区类型 w 保存分区设置退出 q 不保存退出 m help 限制用户的磁盘配额一般有两种,一种是硬限制,一种是软限制;一般从两方面限制,一是限制最大创建文件数,一是最大使用内存 启动文件系统的磁盘配额功能 设置用户和用户组的磁盘配额 启动磁盘配额限制 xfs_quota [-xc] limter '' 设备名 用户名 edquota [-ugtp] 磁盘分区名 设置磁盘配额 quotaon [-aug] 磁盘分区名 启动磁盘配额功能 quotaoff [-aug] 磁盘分区名 关闭磁盘配额功能 quota [-ug] 用户名 查看磁盘配额信息 repquota [-aug] 磁盘分区名 查看文件系统磁盘配额 文件系统 存储和管理文件的方法 常见类型有ext2,ext3,ext4, xfs, swap 文件系统操作 mkfs -t 文件系统类型 磁盘设备名 表示创建文件系统 mount [-trwa] 磁盘设备名 挂载点 表示挂载文件系统 mount -a 表示自动挂载(在此之前要先编辑/etc/fstab文件)格式如下: 设备名 挂载点 文件系统类型 default 0 0 umount 挂载点 表示卸载文件系统 逻辑卷管理 创建物理卷(pv)----》创建卷组(vg)----》创建逻辑卷(lv)----》创建文件系统-----》挂载文件系统 常用命令 pvcreate/vgcreate/lvcreate 创建 pvdisplay/vgdisplay/lvdisplay 显示 vgreduce/lvreduce/vgextend/lvextend 缩小/放大 lvremove/vgremove/pvremove 删除 五,软件包与进程管理 软件包管理 rpm操作 rpm -q[a] 软件包名 表示查看是否安装软件包,-a表示是否下载软件包 rpm -qf 文件 查询文件属于那个rpm软件包 rpm -qp 软件包名 查看系统种没有安装的软件包名 rpm -qR 软件包名 参看软件包有关依赖 rpm [-ivhUF] 软件包名 表示安装软件包 rpm [-evh] 软件包名 表示卸载软件包 yum操作 yum [-hyq] list/info/search/install/reinstall/update/check-update/remove/clean all 软件包名 源码包安装方式 下载及解压源码包---》配置---》编译---》安装 wget ./configure --profile make make install 进程管理 进程是一次动态执行的过程 程序是一个静态的指令集合,可以长期保存,而进程是一个程序的动态执行过程,有生命周期,会动态产生和消亡 进程是系统资源分配和调度的基本单元 程序和进程不存在一一对应关系 常用命令 jobs [-irs] -i表示显示所有后台任务,-r表示显示后台运行任务, -s表示显示后台暂停任务 kill/killall 进程号 fg 进程号 表示将后台进程恢复到前台运行 ps/top/pstree 查看进程 ctrl+Z 表示将当前进程停止调入后台 nice -n 数字 进程号 调整进程的优先级,数字的范围是[-19,20] 六,服务管理和任务定制 Linux操作系统的启动 BIOS初始化---》系统引导程序(Boot Loader)---》加载系统内核---》内核初始化和启动初始化进程 target代替运行级 服务管理常用指令 systemclt start/restart/stop/reload/status/enable/disable/is-enabled/list-unit-files 服务名.service 任务定制 一次性任务定制 at [-ld] [n] [HH:MM] [YYYY-MM-DD] 其中-l表示显示待执行任务列表,-d表示删除任务编号任务 ,ctrl + D 表示提交任务 atq 查询任务 atm 删除任务 周期性任务定制 crontab [-elru] 其中-e表示创建周期性任务,-l表示查看当前周期性任务,-r表示删除某条周期性任务,-u表示指定某用户执行 任务定制格式: 分钟 小时 日期 月份 星期 命令 特殊符号:* , - / 其中*表示范围内任意时间,-表示连续时间范围,,表示多个不连续时间点,/表示执行任务的间隔时间 七,shell简易编程 #!/bin/bash 可以使用 echo $SHELL打印当前终端解释器 创建shell脚本 vim test.sh 执行shell脚本 ./test.sh 这个要权限 bash test.sh 编程 变量 用户变量 变量名=字符串/数字 注意等号附近不要有空格,数字不做变量名开头,变量名由数字,字母,下划线组成,用readonly设置制度不允许修改 位置变量 bash test.sh one two 在文件后面的都是位置变量,在文件里面使用$1, $2就可以使用 内部变量 $# $? $0 $* 分别表示参数数量,脚本返回值,脚本名称,所有参数 条件测试语句 test 或者 [] 文件测试语句 -efdrwx 是否存在,是否普通,是否目录,是否可读/写/执行 逻辑测试语句 && || ! 整数比较语句 -lt -gt -eq -ne -le -ge 字符比较语句 = != -z -n 字符串是否为空,是由不为空 if语句 单分支语句 if 条件表达式 then 命令列表 fi 双分支语句 if 条件表达式 then 命令列表 else 命令列表 fi 多分支语句 if 条件表达式 then 命令列表 elif 条件表达式 then 命令列表 else 命令列表 fi case语句 case 变量值 in 字符串1) 命令 字符串2) 命令 *) 命令 esac 条件循环语句 while语句 while 条件表达式 do 命令列表 done for语句 for 变量名 in 取值列表 do 命令列表 done until语句 until 条件表达式 do 命令列表 done
Linux期末复习重点
于 2024-12-03 20:24:19 首次发布