Linux一些指令
Linux部分编辑和操作指令
一般模式下
- yy:复制
- dd:删除
- p:黏贴
- u:类似ctrl+z
- ^:行头
- $:行尾
- gg:页头
- G:页尾
- x/X:向后/前删除
编辑模式下
- i/a:在前/后插入
- o/O:下/上一行插入
- I/A:在光标所在行前/后
命令模式
- w:保存
- q:退出
- %s/旧字符/新字符:批量替换
- / 或者? :查找词
服务管理
临时后台服务管理
systemctl start 服务名 (功能描述:开启服务)
systemctl stop 服务名 (功能描述:关闭服务)
systemctl restart 服务名 (功能描述:重新启动服务)
systemctl status 服务名 (功能描述:查看服务状态)
systemctl --type service (功能描述:查看正在运行的服务)
设置后台服务的自启配置
systemctl list-unit-files (功能描述:查看所有服务器自启配置)
systemctl disable 服务名 (功能描述:关掉指定服务的自动启动)
systemctl enable 服务名 (功能描述:开启指定服务的自动启动)
systemctl is-enabled 服务名(功能描述:查看服务开机启动状态)
关机
-
sync (功能描述:将数据由内存同步到硬盘中)
-
poweroff (功能描述:关闭系统,等同于shutdown -h now)
-
reboot (功能描述:就是重启,等同于 shutdown -r now)
-
shutdown [选项] 时间
- 选项参数:-h 关机
- 选项参数:-r 重启
- 时间参数:now
- 时间参数:n 数字,表示n分钟后
帮助命令
- help
- man
文件目录类
- pwd:你猜
- cd:你猜
- cd - :回到上次所在路径
- ls:你猜
- mkdir:建立文件夹
- -p:多级目录
- rmdir:删除空目录,只能删除空目录
- -p:多级目录
- touch:新建空文件
- cp:复制文件或文件夹
- -r 递归复制
- 强制覆盖不提示选择的方法/cp
- rm:删除文件或文件夹
- -r:递归删除
- -f:强制删除,不需手动确认
- -v:显示详细过程
- mv:移动文件或目录
- mv 目标 目的地
- cat:输出文件内容
- -n 显示行号
- more:文件内容分屏查看器
- Ctrl+B:滚到上一屏
- less 分屏显示文件内容
- /字串:向下搜寻『字串』的功能;n:向下查找;N:向上查找;
- ?字串:向上搜寻『字串』的功能;n:向上查找;N:向下查找;
- [pagedown]/[pageup]:向下/上翻动一页
- echo:输出内容到控制台
- -e:支持 \ 控制字符转义
- head 显示文件头部内容
- -n x:输出多少行,x为行数
- tail 输出文件尾部内容
- -n x:输出多少行,x为行数
- -f:实时追踪该文档的所有更新
文件权限类
文件属性
- 代表文件
d 代表目录
l 链接文档(link file);
chmod 改变权限
常用的:chmod 777 文件名 单一文件
chmod -R 777 文件夹 批量,文件夹
chown 改变所有者
chown [选项] [最终用户] [文件或目录] (功能描述:改变文件或者目录的所有者)
选项 -R:递归操作
最终用户处可以同时填写 用户和组 即同时修改文件所有者和文件所有组
chgrp 改变所属组
chgrp [最终用户组] [文件或目录] (功能描述:改变文件或者目录的所属组)
搜索查找类
find 查找文件或者目录
find [搜索范围] [选项]
选项(筛选条件) -name<查询方式> 按照指定的文件名查找模式查找文件
-user<用户名> 查找属于指定用户名所有文件
-size<文件大小> 按照指定的文件大小查找文件。
grep 过滤查找及“|”管道符
管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理
grep 选项 查找内容 源文件
选项 -n 显示匹配的行号和所在行
压缩和解压类
tar 打包
基本语法: tar [选项] XXX.tar.gz 将要打包进去的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)打包内容可以有多个。
选项 -z 用gzip对存档进行压缩或解压
-c 产生.tar打包文件 (打包就写这个)
-v 显示详细信息
-f 指定被处理的档案名
-x 解包.tar文件(解压就写这个)
进程线程类
ps -aux | grep xxx 查看系统中所有的进程
ps -ef | grep xxx 查看子父进程之间的关系
参数
- -a 选择所有进程
- -u 显示所有用户的所有进程
- -x 显示没有终端的进程
kill 选项 进程号
选项 -9 强制
killall 进程名称
pstree 查看进程树 -p 显示进程PID -u 显示进程所属用户
top【选项】
- -d 指定top命令隔几秒刷新
- -i 使top不显示任何闲置或者僵死进程
- -p 通过指定监控进程ID来监控某个进程的状态
netstat 显示网络统计信息和端口占用情况
- netstat -anp |grep 进程号 (功能描述:查看该进程网络信息)
- netstat -nlp | grep 端口号 (功能描述:查看网络端口号占用情况)
选项 | 功能 |
---|---|
-n | 拒绝显示别名,能显示数字的全部转化成数字 |
-l | 仅列出有在listen(监听)的服务状态 |
-p | 表示显示哪个进程在调用 |
用户和组管理命令
这个一般学习阶段较多,实际中较少。
-
useradd 添加新用户
useradd 用户名 (功能描述:添加新用户)
useradd -g 组名 用户名 (功能描述:添加新用户到某个组)
-
passwd设置用户密码
passwd 用户名 (功能描述:设置用户密码)
-
id 用户名 查看用户是否存在
su 用户名 切换用户 注意:这个切换只能获得执行权限,不改变执行环境
- su - 用户名 这个就切换用户同时改变执行环境
-
userdel 删除用户
userdel 用户名 删除用户但会保存用户主目录
userdel -r 用户名 这个牛逼,斩草除根
-
who 查看登录用户信息
whoami 显示自身用户名称
who am i 显示登录用户名称
-
usermod 修改用户
usermod -g 用户组 用户名
修改用户的初始登录组
ps:还有个指令是adduser,这个其实算是个脚本,类似win系统下的安装,会给一些对话。
用户组管理命令
-
groupadd 新增组
groupadd 组名
-
groupdel 删除组
groupdel 组名
-
groupmod 修改组
groupmod -n 新组名 老组名
crond 系统定时任务
systemctl restart crond
crontab [选项]
选项 | 功能 |
---|---|
-e | 编辑crontab定时任务 |
-l | 查询crontab任务 |
-r | 删除当前用户所有的crontab任务 |
RPM
rpm -qa 查询所安装的所有RPM软件包
rpm -e RPM软件包 -e 卸载软件包
rpm -e --nodeps 软件包 卸载软件时不检查依赖,不顾及其他软件是否使用该依赖,直接卸载,可能会导致部分软件无法使用
安装
rpm -ivh RPM 包全名
选项 | 功能 |
---|---|
-i | -i=install,安装 |
-v | -v=verbose,显示详细信息 |
-h | -h=hash,进度条 |
--nodeps | --nodeps,不检测依赖进度 |
yum
yum [选项] [参数]
选项 -y 对所有选择都回答yes
参数 | 功能 |
---|---|
install 最常用 | 安装rpm软件包 |
update | 更新rpm软件包 |
check-update | 检查是否有可用的更新rpm软件包 |
remove | 删除指定的rpm软件包 |
list | 显示软件包信息 |
clean | 清理yum过期的缓存 |
deplist | 显示yum软件包的所有依赖关系 |
日期和时间
时间日期类
date [选项]... [+FORMAT]
-d 显示指定的时间字符串,非当前时间
-s 设置系统日期时间
显示当前时间
- 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 【选项】 选项填写年份