LInux学习笔记

Linux基础指令学习

开关机

  • shutdown -h -now 立刻进行关机
  • shudown -h 1 一分钟之后就会关机
  • shutdown -r -now 重新启动计算机
  • halt 关机
  • reboot 现在重新启计算机
  • sync 把内存的数据同步到磁盘中

Vim 一些基本命令

  • vim + '文件名' 用vim编辑器打开文件
  • 默认模式下的命令 | 序号 | 执行方法 | 作用 | |------|-------------|--------| | 1 | {num}dd | 删除行 | | 2 | {num}yy | 复制行| | 3 | P|粘贴| | 4 | GG | 跳转尾行| | 5 | gg | 跳到首行| | 6 | '/{string}'|寻找字符串 再按n不区分大小写寻找| | 7 | i /I |进入编辑模式| | 8 | u |撤销编辑|
  • 基本保存命令
  • :wq 保存并且关闭 :q退出 :q!强制退出

用户操作基本指令

| 序号 | 执行方法 | 作用 | |------|-------------|--------| | 1 | useradd {username} | 添加用户 | | 2 | useradd -d {文件目录} {username} | 添加用户+指定文件夹 | | 3 | passwd {username} | 修改用户密码 | | 4 | userdel {username} | 删除用户但是留下了home下面的加目录 | | 5 | userdel -r {username} | 删除用户+删除home的家目录 | | 6 | su {username} | 切换用户名 | | 7 | who i am | 当前登陆是谁 su 之后不改变who i am 结果 | | 8 | exit/logout | 退出登录 |

用户组

| 序号 | 执行方法 | 作用 | |------|-------------|--------| | 1 | groupadd {groupname} | 添加用户组 | | 2 | groupdel {groupname} | 删除用户组 | | 3 | usermod -g {groupname} {username} | 将用户移入用户组 | | 4 | useradd -g {groupname} {username} | 添加用户进用户组 | * /etc/passwd文件

  • 用户配置的文件记录用户的各种信息 每行含义:用户名:口令:用户标识号:标组识号L注释性描述:主目录:登陆shell

  • /etc/passwd文件

  • 口令的配置文件登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

  • /etc/group文件

  • 组的配置文件,记录Linux包含的组的信息每组的含义 组名:口令:组标识号:组内用户列表

运行级别

  1. 0 关机
  2. 1 单用户 【找回丢失的密码】
  3. 2 多用户状态没有网络服务
  4. 3 多用户状态有网络服务
  5. 4 系统未使用保留给用户
  6. 5 图像界面
  7. 6 系统重启
  8. 运行方法 init[0-6] 常用运行级别3和5 Centos7 后的运行级别说明(之前的在/etc/inittab中)
  9. multi-user.target:analogous to level 3
  10. graphical.target:analogous to level 5 设置默认启动模式systemctl set-default {Target.target} 得用得用root执行

如何找回root密码

1.进入系统按E找到 linux16字样 进入到这一段的最后加一个空格init/bin/sh 再按ctrl+x 2.输入 mount -o remount,rw /回车 3.输入 passwd Enter 4.输入你想要的密码 5.输入touch / .autorelabel回车 6.输入exec / sbin/init回车

Linux帮助指令

  • man 或者 help
  • Linux中.开头的文件是隐藏文件

Linxu 文件操作类

| 序号 | 执行方法 | 作用 | |------|-------------|--------| | 1 | mkdir {path/name} | 默认创建一个目录 | | 2 | mkdir -p {path/name} | 可以创建多级目录 | | 3 | rmdir {path/name} | 可以删除一个空目录 | | 4 | rm -rf {path/name} | 强制递归删除(warning) | | 5 | touch {dcname} | 创建一个文件 | | 6 | cp {文件名} 目录\ | 复制文件到目录 | | 7 | cp -r {目录名} 目标目录\ | 复制目录到目标目录 | | 8 | \cp -r {目录名} 目标目录\ | 加斜杠强制复制+覆盖 | | 9 | mv {同目录文件} {同目录文件} | 可以修改文件名如 mv xiaoyu.txt xiaodao.txt | | 10 | mv {目录} {目标目录} | 文件转移 | | 11 | cat | 查看文件内容不带修改功能(使用时可以搭配/more或者less进行组合)| | 12 | echo |输出到控制台| |13| head +文件名 | 默认显示前10行 | |14| tail +文件名 | 默认显示后10行 | |13| head -n 5 文件名 | 默认显示前5行 | |14| tail -n 5 文件名 | 默认显示后5行 | |15| tail -f 文件名 | 监控文件的实时变动 | |16| > |覆盖原文件的内容| |17| >> |追加内容| |18|cat 文件1 > 文件2|复制文件1的内容写到文件2中| |19|ln -s 目录 快捷方式位置加名字|快捷方式位置加名字中创建一个lnk软连接| | 20 | history |查看命令| | 21 | !{num}|在history执行后可以用这个命令直接执行对应指令| rm {}删除文件 rm -r 是删除文件夹 rm -f是不提示直接强制删除 rm -rf就是危险指令

  • more使用说明 (more 会将文件全部加载再显示)
  • command more
  • less使用说明(按需加载)
  • command less

Linux 日期

  1. date
  2. date +%Y
  3. date +%m
  4. date +%d
  5. date "+%Y-%m-%d %H:%M:%S"
  6. cal 日历指令
  7. cal 年份 显示指定年份日历

设置系统时间指令

date -s说人话就是 date 空格 '一段时间'

查找指令 find

find [搜索范围] -查找类型'name/user/size' 条件 size 后 +n 是大于n -小于n n是等于 ls -lh罗列的显示会更好看的 find

搜寻查找类locate

使用locate会自己先创建一个locate数据库所以使用前必须要先updatedb否则会查找不到文件 使用方法就是locate 文件 which 指令可以查询指令属于哪个文件目录

grep 检索文件内容 和 | 管道符号连用

grep "文本" 可以查找文件中的内容 使用案例cat -n /home/xiaoyu.txt | grep 'yes' 使用案例2grep -n 'yes' /home/xiaoyu.txt grep指令中 -n 显示匹配行及行号,-i忽略字母大小写 作用xiaoyu.txt中的yes 在第几行

压缩和解压类

  • gzip/gunzip指令(此命令不带指定文件目录的功能)
  • gzip用于压缩文件/gunzip用于解压文件
  • zip/unzip指令(较为强大)
  • zip -r myhome.zip /home/ [将home文件夹压缩成myhome.zip]
  • unzip -d /opt/tmp/ /home/myhome.zip 将myhome.zip解压到opt/tmp下面
  • tar命令
  • -v 显示详细信息(可以不写)
  • -c 产生.tar打包文件
  • -f 指定压缩后的文件名这个f一定要加不管是解压还是压缩
  • -z 打包同时压缩
  • -x 解包.tar文件
  • -C 指定目录
  • 压缩多个文件为more.tar.gz tar -zcvf more.tar.gz 文件1 文件2 .......记得加空格
  • 压缩文件夹 tar -zcvf 指定压缩名 压缩对象目录
  • 解压文件到当前目录tar -zxvf 压缩包
  • 解压到指定目录 tar -zxvf 压缩包 -C 目标目录

Linux 文件组

Linux每一个用户必须属于一个组 不能独立于组外。每一个文件都拥有所有者 所有组 其他组三个选项。 | 序号 | 执行方法 | 作用 | |------|-------------|--------| |1|ls -alh|查看文件所有者| |2|chown 用户名 文件|更改文件所有者| |3|chgrp 组名 文件名|修改文件所在的组| |4|usermod -g 新组名 用户名|改变用户所在的组| |5|usermod -d 目录名 用户名|改变该用户登陆的初始目录(用户需要有进入新目录的权限否则将失败)| |6|cat /etc/group|查看所有组|

Linux基本权限

-rwxrw-r-- 9位字符(0开始) 0位: d 是目录就是文件夹的意思 l 是链接相当于Windows link c 是输入设备 鼠标键盘 b 储存设备块设备 硬盘之类的 * - 是普通文件 1-3位 文件所有者拥有该文件的权限 ---User 4-6位 确定所属组(所属组的用户)对文件的权限----Group 7-9 去 确定其他用户拥有对该文件的权限 --- Other

rwx作用到文件

  1. r 代表read 可以读取查看
  2. w 代表write 可以修改,但是不代表可以删除该文件,删除一个文件需要拥有此文件所对因的目录的write权限
  3. x execute 可执行

rwx作用到目录

  1. r 代表可以read 可以读取
  2. w 代表 可以修改对目录内能进行create del update rename
  3. x execute 可以进入该目录

权限可以用数字来命名

可以用数字来表示权限 r = 4 w = 2 x = 1 rwx = 7

修改权限-chmod

方法一 用 + - = 来变更权限 u:所有者 q:所有组 o:其他人 a:所有人 1 chmod u=rwx,q=rx,o=x 文件/目录名给文件或者目录赋予用户有7权限 组有读和执行权其他人有执行权 2 chmod o+w 文件/目录名 其他人有写权 3 chmod a-x 剥夺所有人的执行权 给abc的所有者读写执行 给所组读写权限 给其他组都执行权限 chmod u=rwx,g=rx,o=rx abc 给abc所有者去除执行权限 增加组写的权限 chmod u-x,g+w abc 给abc文件的素有用户添加读的权限 chmod a+r abc PS:Linux绿色的文件说明拥有可执行权限 方法二 用 数字 来变更权限chmod u=rwx,g=rx,o=x abc = chmod 751 abc·

修改文件目录所在组 修改文件所属用户

批量修改文件夹以及子目录文件所有者指令 chown -R 新用户 文件夹 批量修改文件夹以及子目录文件所有组指令 chgrp -R 新组 文件夹

Linux 权限个人细则总结

x权限是保证你能进入这个文件夹但是没办法ls读取目录但是可以对文件操作 r 只有无法进入文件夹 只有r+x才能进入并且浏览文件

Linux任务调度 crond

crontab 进行定时任务的设置 | 序号 | 指令 | 作用 | |0|-e|编辑定时任务| |1| -l| 查询定时任务| |2|-r|删除当前用户所有crontab任务|

简单演示

1.crontab -e 2.*/1 * * * * ls -l /etc/ > /tmp/to.txt 意思是说 每小时每分钟执行 一次命令

| 项目 | 含义 | 范围 | | ---- | ---- | ---- | | 第一个* | 一个小时中的第几分钟 | 0-59 | | 第二个* | 一天当中的第几个小时 | 0-23 | | 第三个* | 一个月当中的第几天 | 1-31 | | 第四个* | 一年当中的第几月 | 1-12 | | 第五个* | 一周当中的周几 | 0-7 | 特殊符号说明 特殊案例说明

案例测试

每隔一分钟就将当前的日期追加到/tmp/mydate 文件中 */1 * * * * date >> /tmp/mydate 每隔一分钟就将当前的日期和日历追加到/tmp/mycal 文件中 1. 写法一 创建sh脚本 vim my.sh 写入代码date >> /home/mycal;cal >> /home/mycal 第二步就是chmod u+x my.sh赋予其执行权 然后crontab -e */1 * * * * /home/./my.sh

crond相关指令

  • conrtab -r 终止任务调度
  • crontab -l 列出当前有哪些任务调度
  • service crond restart 重启任务调度

at定时任务(一次性任务在使用的适合一定要保持atd进程在运行)

at 定时任务搞定的是job队列的任务执行一次就会移除队列。 ps -ef | grep atd 查看进程atd是否在进行 at [ 选项 ] [ 时间 ] 然后输入job队列结束的适合ctrl+D结束at命令输入

at定时任务时间格式

  1. 接受在当天的hh:mm ( 小时:分钟)式的时间指定。假如该时间已过去,那么就放在第二天执行。例如: 04:00
  2. 使用midnight (深夜),noon (中午),teatime (饮茶时间,一般是下午4点)等比较模糊的词语来指定时间。
  3. 采用12小时计时制,即在时间后面加上AM (. 上午)或PM (下午)来说明是上午还是下午。 例如: 12pm
  4. 指定命令执行的具体日期,指定格式为monthday (月日)或mm/dd/yy (月/日/年)或dd.mm.yy (日.月.年),指定的日期必须跟在指定时间的后面。例如: 04:00 2021-03-12
  5. 使用相对计时法。指定格式为:now+counttime-units,now就是当前时间,time-units是时间单位,这里能够是minutes
  6. (分钟)、hours (小时)、days (天)、weeks (星期)。count是时间的数量,几天,几小时。例如: now + 5 minutes
  7. 直接使用today (今天)、tomorrow (明天)来指定完成命令的时间。
版权声明:若无特殊注明,本文为《周小雨》原创,转载请保留文章出处。
本文链接:https://zxyy.me/post-192.html
正文到此结束

热门推荐

管理员已关闭本篇文章评论!