Linxu自学笔记
一 Vi和Vim编译器
三种模式
正常模式
用 vim XXX 可以进入一个文件的vim正常模式
这个模式下可以用正常的命令
编辑模式
一般来说 按i进入编辑模式 (也有很多其他的快捷键)
命令行模式
在这个模式下 我们完成读取,存盘,退出vim编译器
vim的快捷键
1. 拷贝当前行 yy
拷贝当前光标向下的五行 5yy 粘贴 p
2. 删除当前行 dd
删除当前光标向下的五行 5dd
3.在文件中查找某一个单词
/单词名称 回车 查找 输入n就是查找下一个
4. 设置行号 取消行号 :set nu :set nonu
5.到文件的最上端和最下端 首行【gg】 末行【G】
6.撤销动作 u
7.把光标移动到目标行的位置
显示行号 》 输入目标行的数 》 shift+g
----------------------------------------------------------------------------------------------------------------------------------------------
二 开机重启、登录和注销
基本命令
shutdown -h now 立即关机
shutdown -h 1 表示一分钟后关机
shutdown -r now 立即重启
halt 直接使用 相当于关机
reboot 重启
sync 把内存的内容同步到磁盘上
当我们在关机时 一般都先执行一次sync 防止数据丢失
基本介绍
root是系统的最高级权限登录
为了避免操作失误一般用普通用户登录 然后用 su - 用户名 来切换到管理员
注销登录: logout 这个命令在图形化界面上无效
三 用户管理
基本介绍
linux的用户必须向管理员申请账号 才能登录
而且每个用户必须属于一个组
添加用户
useradd [ -d 家目录位置] 用户名
不指定家目录就是默认到 home/用户名 的家目录中
给用户指定密码
passwd 用户名 之后就可以指定密码了
删除用户
userdel 用户(保留家目录)
userdel -r 用户 (不保留家目录)
一般在删除用户的时候不会删除家目录
查询用户信息
id 用户名
如果用户不存在 会返回无此用户
切换用户
su - 用户名
当权限高的用户切换到权限低的用户时 不需要用密码 反之需要
退出切换返回用户时 exit
四 组管理
简单介绍
和用户差不多 每个用户归到一个组中
增加组 删除组
groupadd 组名 groupdel 组名
添加用户时 直接加上组
useradd -g 用户组 用户名
修改用户组
usermod -g 用户组 用户名
/etc/passwd 文件
user的配置文件 记录用户的各种信息
/etc/shadow 文件
记录用户名 密码 最后一次修改时间 警告最长不操作时间等
/etc/group 文件
记录组的配置信息
五 实用命令
运行级别
0关机
1 单用户【找回丢失密码】
2.多用户状态 没有网络服务
3.多用户 有网络
4.系统未使用保留给用户
5. 图形化界面
6. 重启
/etc/inittab 的id:5:initdefault 数字 直接关系到运行级别
基本语法
init[0123456]
六 文件目录
1.pwd
显示当前工作目录的绝对路径
2.ls
显示当前目录的内容信息
基本语法: ls 【选项】 【目录或者是文件夹】
常用选项: -a :显示当前目录中所有文件和目录 包括隐藏的
-l 以列表的形式显示
3.cd
切换到指定目录
基本用法 cd 【参数】
常用参数: 绝对路径和相对路径
cd ~ 或者 cd : 回到自己的家目录
cd .. 回到上一级目录
4.mkdir
创建目录
基本用法: mkdir【选项】 目录名
常用选项: -p: 创建多级目录
例子: mkdir /home/aaa
mkdir -p /home/aaa/bbb
5.rmdir
删除目录
基本语法: rmdir 【选项】 目录名
常用选项 -rf 删除非空目录
6.touch
创建空文件
基本语法 touch 文件名称
7. cp
拷贝文件到指定目录
基本语法: cp 【选项】 source dest
常用选项 : -r 递归复制整个文件夹
例子: cp aa.text bb/ 将aaa.text 复制到 bb文件夹下
注:如果目标位置就名称相同的文件 系统会提示是否覆盖
\cp 无视提示 直接覆盖
8. rm
移除文件或者目录
基本语法: rm 【选项】 要删除的文件或者目录
常用选项: -r 递归删除整个文件夹
-f 强制删除 不提示
9 mv
移动文件/目录 或者重命名
基本语法: mv oldNameFile newNameFile (重命名)
mv 原文件位置 新文件位置
10 cat
查看文件内容 只读不可修改
基本语法 cat 【选项】 要查看的文件
常用选项 -n 显示行号
cat 文件名 | more 分页查看
11 more
more是一个基于vi编译器的文本过滤器 按页显示文件内容,而且more自身也有一套快捷键
基本语法: more 要查看的文件
快捷键:
操作 | 功能说明 |
空格 | 向下翻一页 |
回车 | 向下翻一行 |
q | 退出more |
ctrl+F |
向下滚动一屏 |
ctrl+B |
返回上一屏 |
= |
输入当前行号 |
:f | 输出文件名和当前行的行号 |
12. less
less指令用来分屏查看文件内容 (懒加载)
操作 | 功能说明 |
空格 | 向下翻一页 |
pagedown | 向下翻一页 |
pageup | 向上翻一页 |
/字符 |
向下搜寻字符串 n:向下查找 N:向上查找 |
?字符 |
向上搜寻字符串 n:向上查找 N:向下查找 |
q | 离开当前less |
13, > 和>>
>输出重定向: 将原来的文件内容覆盖
>>追加 不会覆盖原来文件的内容 而是追加到文件的尾部
ls -l>文件 (将列表的内容写入到文件中去)
ls -l>>文件 (将列表的内容添加到文件的末尾去)
cat 文件 >>文件
echo "内容" >>文件
14 echo
输入内容到控制台上
echo 【选项】 【输出内容】
例子: 输出环境变量 echo $PATH
15.head
用于显示文件开头部分内容,默认情况下显示前10行内容
基本用法 :haed 文件
head -n 5 文件(显示前5行)
16. tail
用于输出文件尾部的内容 默认情况下10行
tail 文件
tail -n 5 文件 (后5行内容)
[重要] tail -f 文件 (实时追踪文档的所有更新 经常使用)
17.ln
符号链接 类似于windows的快捷方式
基本语法 ln -s 【原文件或者目录】 【软连接名】
细节说明: 在我们使用pwd查看的位置的时候 位置仍然是ln的位置
18 history
查看已经执行过的命令 也可以执行历史命令
基本语法
history (查看已经执行过的历史命令)
!【行号】 (执行历史命令)
七 时间日期类
1 显示时间data
1)date (当前时间)
2)date+%Y 当前年份
3)date+%m 当前月份
4)date+%d 当天哪一天
5)%H %M %S
2设置时间data -s
date -s "YYYY-MM-SS HH:MM:SS"
3显示日历cal
cal 显示当前月日历
cal 2020 显示2020年日历
八 搜索查找
1.find
find 【搜索范围】【选项】
-name 按文件名
find /opt -name hello.txt 查找opt文件下hello的文件
-user 按拥有者
find /opt -user root 查找opt文件夹下拥有者是root的文件
-size 按大小
find / -size 20M 查找大于20M的文件
2 locate
快速读取 使用之前updatedb
3grep 管道符
选项 -n 显示匹配行号
-i 忽略字母大小写
九 解压缩
1.gzip/gunzip 指令
gzip 文件 将文件压缩成 .gz文件
gunzip 文件.gz 解压缩文件
2.zip unzip指令
zip [选项] XXX.zip 压缩文件
unzip [选项] xxx。zip 解压缩
zip选项: -r 递归压缩目录
zip -r aaa.zip /home/ 把home文件夹压缩到aaa.zip
unzip选项:-d 指定解压目标目录
将aaa.zip 解压到 home目录下
unzip -d /home/ aaa.zip
3tar指令
打包指令 最后打包的文件是 .tar.gz的文件
tar [选项] XXX.tar.gz 打包的内容
-z 打包同时压缩 -c 产生.tar打包文件 -v 显示详细信息 -f 指定压缩后的文件名 -x 解包.tar文件
十 权限
基本概念
所有者 所在组 其他组
修改文件所有人chown
chown 用户名 文件名
修改文件所在组chgrp
chgrp 组名 文件名
例子: chgrp aaa bbb.txt 把bbb.txt修改到 aaa组
rwx 可读 可写 可执行(文件是可执行 文件夹是可进入到目录)
共十位 第一位是文件类型
234 是 所有者权限
567 是所在组权限
8910 是其他组权限
4 2 1 相对应的数字
修改权限chmod
u 是所有人 g所在组 o其他组
两种方式
(1)用 + - =
(2)用数字
chmod u=rwx g+w o-r 所有人读写运行都有 所在组加上写功能 其他组减去读功能
chmod u=7 g=5 o=1 所有人读写运行都有 所在组 读和运行 其他组只能运行
十一 任务调度crontab
语法 crontab 【选项】
-e 编辑crontab定时任务
-l 查看crontab定时任务
-r 删除crontab定时任务
项目 | 含义 | 范围 |
第一个* | 一小时当中第几分钟 | 0-59 |
第二个* | 一天当中第几小时 | 0-23 |
第三个* | 一个月当中第几天 | 1-31 |
第四个* | 一年当中的第几个月 | 1-12 |
第五个* | 一周当中的星期几 | 0-7(07都代表周日) |
特殊符号 | 含义 |
* | 任何时间 比如第一个*就代表一小时中每分钟都执行一次 |
, | 代表不连续的时间 比如0 8,10,13 * * * 代表每天的8点0分 10点0分 13点0分的时候执行 |
- | 连续的时间范围比如 0 8-10 * * * 代表每天的8点到10点的0分执行 |
*/n | 代表每隔多久执行一次 比如 */10 * * * 1 代表每周一每10分钟执行一次 |
tip:注意星期和日期最好不要同时出现
过程:
1)编写脚本文件 XXX.sh
2)给脚本文件一个执行权限
3)crontab -e
4) */1 * * * * XXX..sh
5)每一分钟执行一次
service crond restart [重启任务调度]