编辑文本
vi/vim
vim和 vi 他们的语法几乎是一致的而vim关键字颜色显示
常用的指令:
- 有三种模式:
+ 一般模式
+ 编辑模式 按 a/insert/g进入 esc键退出。 本模式下才能修改
+ 命令模式 :或者 / 这两个键进入
- 在命令模式下
+ wq 保存当前文本
+ q 退出
+ q! 不保存并强制退出
+ set nu 显示行数
+ set nonu 不显示当前行号
- 输入/ 关键词 能够搜索文本 n 查找下一处 N 查找上一处
- (x)yy 赋值当前行 p 粘贴
- (x) dd 删除当前行
- u 撤销
- G 到文件末尾 gg 到文件首部
系统指令
1)关机或者重启
- shutdown -h now 立即关机
- shutdown -h 1 一分钟后关机
- halt 关机
- reboot重启
- sync 吧内存的数据保存到磁盘 建议在关机或者重启之前先执行
2) 用户管理(root)
- useradd 用户名 创建用户
- passwd 用户名 为指定用户指定密码
- userdel 用户名 删除用户
- userdel 用户名 -r 删除用户不保存家目录(不建议)
3) 组管理 (为权限相同的用户开辟相同的权限)
- groupadd 组名
- groupdel 组名 删除用户组
- usermod -g 用户组 用户名 把某个用户添加到那个组内 usermod -d 目录 用户名 指定用户的家目录
- useradd -g 组名 用户 (创建用户的时候指定组)
- 改变文件的组拥护者 chgrp 组名 文件名
4) 指定用户级别
* 0:关机
* 1:单用户(用户找回root密码)
* 3:多网络状态有网络服务(公司服务器)
* 5:有图形界面
* 6:重启
* 级别 3:muti-user.target 级别5 graphical.target
* 修改默认级别 systemctl set-default 级别
文件目录
- 创建一级目录
mkdir /home/dog - 创建多级目录
mkdir -p /home/anmail/tiger - 移除目录 (删除的空目录)
- rmdir /home/dog
- 删除非空的文件夹 rm -rf /home/animal
- rm 【-f】文件 删除文件 带-f不提示删除
- 创建空文件
touch /home/hello.txt - 拷贝指令
- cp -r source dest 【目标】(递归复制当前文件夹)
- cp source target (复制当前文件)
- \cp -r source target 强制copy文件夹如果在目标目录已经存在强制覆盖不提示
6) mv指令移动指令 - mv oldNamefile newNameFile 在同一目录就是重命名
- mv 不在同一目录 移动指令
- mv /opt/bbb /home/
- mv /opt/bbb /home/aaa 意思时将bbb文件夹移动到/home文件夹下 并改名成aaa
- cat只能查看不能修改 -n显示行号
- cat -n 文件 |more
7)more指令 - more 文件名
- 空格翻屏
- 回车下一行
- q退出
- n显示当前行数
8)less指令 - less 加文件名
- 空格 向下翻页
- /子串 向下搜寻字串的功能
- q离开
9) echo指令 - 输出内容到控制台
- echo $PATH 输出环境变量
10) echo是终端的意思 - echo “hello" > 文件 输出到文件 这个是覆盖
- echo “hello” >> 文件 追加
- ln 软连接(快捷方式)
In -s myroot root
cd myroot 相当于cd root - 文件所有者改变
- ls -ahl 查看所有文件及文件拥有者
- 改变文件的所有这 chown [接收者] 文件名
查找指令
- find 指令
find [搜索范围] [选项]
- find /home -name
- find -size + 大于 -小于
- find -size +200M
- ls -lh 按人舒服的方法显示
2)locate 指令 - 第一次执行的时候 必须使用updatedb指令创建locate数据库
- 他是从数据库找的
- which指令可以查看某个指令在那个目录存放
- whiich ls
权限使用
1)文件的意义
- rw-r–r--. 1 root root 1288 7月 16 21:08 dump.rdb
- 0 - 9 位的说明
- 第0位确定文件类型
- l是链接, 相当于windows的快捷方式
- d是目录, 相当于windows的文件夹
- c是字符设备的文件, 鼠标, 硬盘
- b是块设备
- ’-‘ 是普通文件
- 第1-3位确定所有者的权限 --user
- [r]代表可读 作用目录 ls可以查看目录内容
- [w]代表可写 不代表可以删除本文件删除一个文件的前提是对该文件的目录有写权限才能删除该文件 作用在目录 可以修改, 对目录内创建 删除重命名
- root 后面是文件拥有者
- root 在后面是文件所在的组’
- 1 : 表示的这个是一个文件如果是一个目录的话代表 子目录数
- [ x] 代表作用在文件可执行 作用在目录可以进入该目录
- 第4-6位确定所属组拥有该文件的权限 --group
- 第7-9位确定其他用户拥有该文件的权限 --other
2)修改权限 chmod + 、- 、= 变更权限
- u:所有者 q:所有组 o: 其他人 a: 所有人
- chmod u = rwx ,g-rx, o=x 文件或者目录名
- chmod o +w 文件/目录名
- chmod a-x 文件/目录名
- 通过数字变更权限
- u: 4 w: 2 x :1 可以组合
3) 修改文件所有者 - chown newowner 文件/目录 改变所有者
- -R 递归有效
- 将/home/kkk目录下的所有文件和目录的所有者都改成tom
- chown -R tom /home/kkk
- 修改文件/目录 所有在组 chgrp
- chgrp newgroup 文件/目录
任务调度
1)基本语法: crontab [选项]
- -e 编辑crontab定时任务
- -l 查询crontab任务
- -r 删除当前用户所有的crontab任务
- 如: 每一天每分钟执行 ls -l /etc/
-
2) at定时任务
- at命令是一次性定时计划任务, 执行完一个任务后不在执行此任务了
- 前提是atd进程已经启动
- at [选项] 时间
- atrm 删除任务
- atq查看列表
拓展磁盘
- 首先先给其分配磁盘 然后重启
- 给存盘空间分区 fdisk /dev/sdb
- 进行分区 分配好一定要执行 w指令
- 格式化刚才的分区得到UUID标识 mkfs -t ext4 /dev/sdb1
- mount 设备名称 挂载目录
- 设置自动挂载 vim /etc/fstab
- umount 设备名称 或者挂载目录
- df -h 查看磁盘分区
- du -h 目录 查看目录的磁盘情况
- 统计opt目录下文件的个数 ls -l /opt | grep “^-” | wc -l
- 统计opt目录下文件目录的个数 ls -l /opt | grep “^d” | wc -l
- 统计opt目录包括子目录的个数 ls -lR /opt | grep “^-” | wc -l
- 统计opt目录下文件目录的个数 ls -lR /opt | grep “^d” | wc -l
- 以树状显示目录结构 tree /opt 注意没有tree 使用 yum install tree
修改网络配置
1、 vim /etc/sysconfig/network-scripts/ifcfg-ens33
2、 将BOOTROTO改为 static
3、 将ipADDR = 192.168.x.y
4、 将GATEWAY=92.168.x.2 : x字段要跟上面一直配置默认网关
5、 将DNS1=192.168.X.2与上面一致
6、在虚拟机VMware中编辑网络配置将子网ip改为 192.168…x.0
7、重启网络服务或者重启电脑
修改主机名
- 查看命令hostname
- 修改vim /etc/hostname 重启reboot
- 如果想外部通过主机名来访问linux就得配置hosts映射
进程管理
- 查看系统正在执行的进程
- ps [选项]
- -r 显示当前终端的所有进程信息
- -u 以用户的格式显示进程信息
- -x 显示后台运行的参数
- PID 指 进程号
- 父进程: 当前进程创建子进程
- 以全格式显示所有的进程, 查看进程的父进程
- ps -ef 以全格式显示所有进程
- 终止进程
- kill [选项] 进程号
- killall 进程名 (所有子进程也会被终止)
- -9是强制终止 例如终止终端 kill -9 bash
服务管理
- chkconfig 指令
- 能改设置每个服务的各个运行级别(开机自启)
- systemctl 指令
- systemctl enable 服务名 设置为开机自启
- systemctl disable 服务名 设置为关闭
- systemctl is-enabled 服务名
- systemctl list-unit-files |grep 服务名
- systemctl status 服务名
- 防火墙开放端口指令
- 打开端口 firewall -cmd --permanent --add-port = 端口号/协议
- 关闭端口 firewall -cmd --permanent --remove-port=端口号/协议
- 重新载入才能生效 firewall-cmd-reload
- 查新端口是否开放 firewall-cmd --query-port=端口/协议
- 永久开放 --permanent