目录
Vi、vim 编辑器
安装vim:yum install vim
○ vim 与 vi 都是系统中常用的文本编辑器
vim 比 vi 更加强大
• Vim 的一般模式:
○ vim 文件名 :一般模式
○ yy:复制光标当前一行
○ p:箭头移动到目的地粘贴
○ y数字y:复制一段(多少行)
○ u : 撤销上一步
○ dd:删除
○ d数字d:删除多少行
○ x:向后删字母
○ X :向前删字母
○ yw:复制一个词
○ dw:删除一个词
○ Shift + n:移动到行头
○ Shift +$ : 移动到行尾
○ gg:到页头
○ G :到页尾
○ 数字+G:到指定行
• 编辑模式:
○ i:光标前
○ I:行头
○ a:光标后
○ A:光标行尾
○ o:光标下一行
○ O :光标上一行
• 指定模式:
○ :w :保存
○ :q :退出
○ :! :强制执行
○ / 要查找的词 :n 查找下一个, N 查找上一个
○ ?要查找的词 :n 查找上一个,N 查找上一个
○ :set nu:显示行号
○ :set nonu :关闭行号
○ zz/(shift+zz):保存退出
三个模式之间切换:
命令行 #vim --> 一般模式 --(i,o,a)--> 编辑模式
一般模式 <-- (esc)----- 编辑模式
一般模式 --(: / ?)--> 指令模式
一般模式 <-- (esc)----- 指令模式
一般模式 :命令行 (:wq 、q、q!)
网络配置
重启网络:syatemctl restart network
启动服务:syatemctl start 服务名
停止服务:systemctl stop 服务名
查看服务:systemctl status 服务名
开机自动启动服务:syatemctl enable 服务名
开机自动关闭服务:systemctl disable 服务名
Ip addr :查看虚拟机ip
修改主机名:hostnamectl set-hostname 名字
查看主机名:hostname
防火墙:firewalld
• Systemctl status firewalld
○ active(running):开启状态
• Ststemctl disable firewalld
○ 永久禁用
立马关机:shutdown -not/halt
重启:reboot
帮助命令
Linux:如何判断是不是内置命令:
§ 用which 来查看,如果有路径,就是内建命令。
• man:通过man 可以查看指令帮助,配置文件帮助,除bash 内建命令之外的帮助信息。
• help:用户显示bash 内建命令的帮助信息。
• ·常用快捷键:
• Ctrl+c:停止进程
• Ctrl+l / +l :清屏
• reset:彻底清屏
• Ctrl+q:退出
• Tab:补全
• 上下键:查找执行过的命令
• Ctrl +alt :linux+windows 之间的切换
• 关于强制退出编辑模式
• Ls+a:查看隐藏文件
• rm -rf:删除那个文件
• o:以只读的方式打开
• E:直接编译
• R:恢复
• D:删除
• Q :退出
• A :中止
文件目录操作类
- 蓝色:代表正常目录
- 浅蓝色:代表软连接
- 绿色:代表拥有所有权限,可以任意修改
- pwd:显示当前用户工作的绝对路径
- ls:用来显示目录列表
- Ls -a:显示隐藏文件
- Ls -a:显示隐藏文件,“.”和".." 以外所有文件
- Ls -l/ll : 长字符串列出,包含文件属性,权限
- Ls -C:默认,同 ls
- Ls -R:递归显示文件夹
- Ls -s:以块为单位,显示文件大小
- cd:切换当前目录到指定目录
- cd绝对路径:切换路径
- cd相对路径:切换路径
- cd ~ 或者 cd :回家目录
- cd -p:跳转到实际物理路径,而非快捷方式
- mkdir:创建新目录
- mkdir -p:创建多层目录
- mkdir -pv:显示创建多级目录的过程
- rmdir:删除空目录
- rmdir -p:用递归的方式删除空目录
- rmdir -pv:显示过程
- touch:创建空文件
- rename:为空文件批量更改名称
- cp:用来将一个或者多个源文件或者目录复制到指定文件或目录
- cp -r:以递归的方式操作子文件
- cp 指令一次可以复制多个源文件,但要求最后一个参数必须为目录
- rm:用于删除给定的文件夹或目录
- rm -r:递归删除目录中所有内容
- rm -f:强制删除操作
- rm -i:以交互的方式进行删除,n 不删,y 删除 ,v 显示过程
- mv:移动文件与目录,或重命名
- 同一文件目录下,会改名
- cat:查看文件的内容,从第一行开始
- cat -b:在非空行前显示行号
- cat -n:显示所有行号,包括空行
- cat -s:压缩空行,多个空行连续出现时只显示一行
- more:文件内容分屏查看器
- 空格:代表向下翻一页
- Enter :向下翻一行
- q:代表离开more
- Ctrl+F:行向下滚动一屏
- Ctrl+B:返回上一屏
- = :输出当前行的行号
- :f :输出文件名和当前行号
- less:分屏显示文件内容(比more 强大,可以自定义搜索)
- / 字符串:向下搜索,n 向下找 , N 向上找
- ?字符串:向上搜索,n 向上找, N 向下找
- q:离开
- echo:用于输出字符串,类似于println(打印)
- echo -e:支持反斜线的字符转换
- \\:输出本身
- \n:换行
- \t:制表
- head:用于显示文件开头内容
- head -n 5:表示显示文件开头5行(5,可任意)
- tail:用于输出文件尾部内容:(默认10行)
- tail -n 文件 数字:加数字表示后几行内容
- tail -f 文件 :实时监测文件内容
- echo -e:支持反斜线的字符转换
- > 和 >> :
- >:覆盖
- >>:追加
- ll > 文件 :把文件的内容覆盖掉
- ll >> 文件:追加到末尾
- Cat 文件1 > 文件2 (将文件1 覆盖到文件2)
- echo“内容”>> 文件
- Ln :软(硬)链接也称为符号链接,类似于快捷方式、
- Ln -s:创建软链接
- Ln :硬链接(拷贝)
- 软硬连接区别:
- 1:硬链接只能链接文件,不能连接目录,软连接无限制
- 2:删除源文件,硬链接没影响,软链接无法查看
- 3:硬链接类似于复制粘贴文件,软链接类似于快捷方式
- 4:硬链接直接ln ,软链接加 s
- 软硬连接区别:
- history:用于显示指定数目的指令
- history n:显示指定数目的命令
搜索查找类操作
• find:查找文件或目录
○ Find / -name (查询方式)
§ 按照指定文件名模式查找
○ Find / -user (用户名)
§ 查找用户名所有文件
○ Find / -size(文件大小)
§ 按照文件大小来查
○ Find / -empty
§ 查找空文件
○ Find / type(文件类型)
§ d:只查目录
§ l:查链接
§ f:查文件
• grep:过滤查找,在文件中搜索匹配的行,(管道符“|”表示将前面命令的查询结果传递给后面)
○ Grep -n :显示匹配行及行号
○ Grep -i:忽略大小写
○ Grep -r :搜索不包含字符的行
○ 注意:通常不能单独使用
• which:用于查找给定命令的路径
• whereis:显示指定及相关文件的路径
用户管理类操作
- 为普通用户添加root操作
- Vim /etc/sudoers
- Sudu+操作命令
- Yzq ALL=(ALL) NOPASSWD:ALL
- Vim /etc/sudoers
- 用户组管理操作
- groupadd:创建工作组
- groupdel:删除工作组
- 注意:用户存在时,无法删除
- groupmod:修改工作组信息
- -n 新组名 旧组名
- -g 新组id 组名
- 用户管理类操作
- useradd:添加新用户
- -g:指定用户的主要组,默认情况下组名与用户名同名
- -d:设置用户的宿主目录,默认为“/home/”目录下与用户名同名的目录
- -u:指定用户的id号
- passwd:设置用户密码
- id:查看用户是否存在
- Id+用户名
- Cat /etc/passwd:查看创建的用户
- su:切换用户
- Su+用户名
- who:查看登录用户信息
- whoami:显示自身用户名称
- Who am I :显示登陆用户的用户名
- userdel:删除用户及相关文件
- -r:删除用户的同时,删除与用户相关的所有文件
- -f:强制删除用户
- 常用 -rf
- usermod:用于修改用户的基本信息
- -g:修改用户的初始登陆组,给定的组必须存在
- -c:修改用户的注释信息
- -d:修改用户的宿主目录
- useradd:添加新用户
文件权限类操作
- 文件属性:
- 0 :首位表示类型
- -:代表文件
- d:代表目录
- i:连接文档
- 第1-3位确定属主(该文件的所有者,拥有给文件权限,user)
- 第4-6位属组(所有者的同组用户 group)
- 第7-9位为其他用户拥有该文件的权限
- r:代表可读(可以读取,查看)
- w:代表可写(可以修改,但不代表可已删除,删除这个文件的前提是对这个文件的所在目录有写的权限,才能删除该文件)
- x:代表可执行,可以被系统执行
- chmod:改变权限
- u:所有者
- g:所有组
- o:其他人
- chown:改变文件或目录所有者
- -r:递归操作
- chown:选项 最终用户 文件或目录
- chgrp:改变所属组
- Chgrp 最终组 文件或目录
时间日期类操作
- date:显示当前时间
- Date+%Y:显示当前年份
- Date+%m:显示当前月份
- Date+%d:显示当前哪一天
- Date+“%Y-%m-%d—%H:%M:%s”年月日时分秒
- Date -d “1 days ago ”显示前一天时间
- Date -d “-1 days ago ”显示明天时间
- Date -s: 字符串时间
- Cal :查看日历
- 不加年份:显示本月
- 加年份:显示年份日历
压缩和解压类操作
- Gzip/gunzip:压缩与解压
- 只能压缩文件,不能压缩目录
- 压缩后源文件消失,解压后压缩包消失
- Zip/unzip:压缩与解压
- -r:递归压缩
- -d 目录 指定解压后的文件存放目录
- Tar :打包备份
- Tar 选项 xx.tar.gz 将打包文件放进去
- 选项
- -z:打包同时压缩
- -c:产生 .tar 打包文件
- -v:显示详细信息
- -f:指定压缩后的文件名
- -x:解压 .tar文件
- 注意:
- Tar 指令的三个主选项 c ,x ,只能使用一个不能同时使用,否则会导致命令报错
进程管理类操作(任务管理器)
- Ps :查看当前系统进程状态
- Ps -aux:
- -a:选择所有进程
- -u:显示所有用户的所有进程
- -x:显示后台的运行参数
- %MEM :
- 该进程占用物理内存的百分比,占用越高,越费资源
- VSZ:
- 该进程占用虚拟内存的大小,单位kb
- RSS:
- 该进程占用物理内存的大小,单位kb
- TTY:
- 该进程在哪个终端运行的,其中tty1-tty7 代表本地的控制台终端,tty1-tty6是本地字符界面终端,tty7 是图形终端
- Pts/0-255:代表虚拟机终端
- stat:进程状态
- r:运行
- s:睡眠
- t:停止进程
- s:包含子进程
- +:位于后台
- start:
- 该进程的启动时间
- Time :
- 该进程占用cpu 的运算时间,注意,不是系统时间
- command:
- 产生此进程的命令名
- Ps -ef | grep
- 查看之父进程之间的关系
- 如果想查看cpu 占有率和内存占有率可以使用aux
- 如果想查看进程的父进程和id使用ef
- kill:
- 终止进程
- Kill -9 进程号
- 表示强迫进程立即停止
- Killall 进程名称
- 通过名称杀死进程
- pstree:
- 查看进程树
- -p:显示进程的pid
- -u:显示进程的所属用户
- 查看进程树
- 性能监控
- Top:实时报告系统整体性能情况
- 选项
- -d:秒数,每隔几秒更新,默认是3
- -i:使top 不显示闲置的进程
- -p:指定监控进程id 来监控某个进程
- 实例操作(大写)
- P:以cpu使用率排序(默认)
- M:以内存使用率排序
- N:以PID排序
- q(小写):退出
- k:根据进程id,杀灭进程
- free:显示内存使用情况
- -b:以字节为单位显示
- -k:以千字节为单位显示
- -m:以兆字节为单位显示
- -t:显示汇总结果
- -s:秒数:以指定间隔秒数,显示内存使用情况
- netstat:显示网络统计网络系统的状态信息和端口占用情况
- 选项
- -n:使用数字形式的id 端口 用户 id 协议 用户名等信息
- -L:仅列出有listen(监听)的服务状态
- -p:显示哪个进程在调用
- -a:显示处于监听和处于非监听状态的socket信息
- -u:查看udp连接信息
- -t:查看tcp 连接信息
- Netstat -anp | grep 进程号
- 查看该进程网络信息
- Netstat -nlp | grep 进程号
- 查看网络端口占用情况
- (如有占用,不重要可消失)
- 选项
磁盘分区操作
- df:查看磁盘空间使用情况(列出文件的整个磁盘使用量,显示磁盘分区上可用的空间)
- -h:以人们较为理解的阅读 GBytes,MBytes,KBytes,等格式自行显示
- du:显示每个文件和目录的磁盘使用情况
- 语法 du 选项 目录
- -s :指定目录占用大小汇总
- -h:带计量单位
- -a:含文件
- --max -dept=1 :子目录深度
- -c:列出明细的同时,增加汇总量
- 语法 du 选项 目录
- fdisk:查看磁盘使用情况和磁盘分区
- 语法:fdisk 选项 参数
- Fdisk -L:详细查看,帮助挂载,列出分区表
- 步骤
- 1,Fdisk -L :查看磁盘是否生效
- 2,Fdisk 分区路径 进行操作
- a:设置引导扇区
- b:编辑图标
- c:切换到Dos兼容标志
- d:删除一个分区
- I:列出已知分区类型
- m:显示该菜单
- n:添加一个新分区
- o:创建一个新的空分区表
- p:显示分区表
- q:保存不退出
- s:创建一个新的sun标识
- t:修该分区类型
- u:更改显示/输入单元
- v:验证分区表
- w:写入磁盘退出分区程序
- x:额外的功能(专家)
- 3,输入n新建分区
- 4,输入p打印分区
- 5,回车…(输入m 帮助)
- 6,输入w保存
- 7,使用mkfs.ext4 格式化(xfs格式)
- 8,创建date目录,将sdb1挂载到date
- Mount/dev/sdb1/date/
- 9,永久挂载:vim/etc/fstab
- /dev/sdb1 /data ext4(xfs) 默认
- 取消挂载:umount /data
- 语法:fdisk 选项 参数
- 工作中常用指令
- 统计root 目录下的文件个数
- Ll /root | grep "^n" | wc -L
- 统计root 目录下的文件个数
软件包管理操作
- RPM:
- RedHat 软件包管理工具类似于windows 里的setup.exe,是linux 这系列操作系统里面的打包工具
- Rpm -qa :查询安装的所有rpm 软件包
- Rpm -qi:查询软件安装包的详细内容,依赖
- 注:由于安装包过多,通常使用grep过滤
- Rpm 卸载
- Rpm -e 文件 卸载安装包
- --nodes 卸载软件时,不检查依赖,那些使用该软件安装包的软件在此后不能工作
- Rpm 安装
- Rpm -ivh 软件包(--nodes)
- 选项:
- -i:install 安装
- -v:verbose 显示详细信息
- -h:hash 进度条
- --nodeps 不检测依赖进度
- 选项:
- Rpm -ivh 软件包(--nodes)
- Rpm -e 文件 卸载安装包
- Yum :
- 前端软件包管理器,可以从指定服务器自动下载rpm 包并安装,可以自动处理依赖关系并且一次安装所有的依赖的软件包,无需繁琐一次次下载安装
- 类似于Java 的maven 工具,可以从镜像网站上下载应用程序并安装
- 选项
- -y:对所有提问都回答yes
- 参数:
- install 安装rmp软件包
- Update 更新
- Check-update:检查是否有可用的更新rmp 软件包
- remove:删除指定的rmp 软件包
- list:显示软件包信息
- clean:清理yum过期的缓存
- deplist:显示yum软件包的依赖关系
定时任务操作(crond tab)
- Systemctl status crond :查看服务是否开启
- Syatemctl start crond:开启服务
- 选项
- -e: 编辑crondtab 定时任务
- -l:显示待执行任务里列表
- -r:删除当前用户所有的coundtab任务
- -i:删除用户的计划任务,要求用户进行确认
- 介绍
- Crondtab 是命令crondtab的简写
- *****
- 1,代表一小时当中第几分钟 0-59
- 2,代表一天当中第几个小时 0-23
- 3,代表一个月当中第几天 1-31
- 4,代表一年当中第几月 1-12
- 5,代表一周当中星期几 0-7
- 特殊符号
- *:代表任何时间
- ,:代表不连续的时间
- -:代表连续的时间范围
- */n:代表每隔多久执行一次,*/10:代表每10分钟执行一次