• 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库
没有结果
查看所有结果
  • 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库
没有结果
查看所有结果
没有结果
查看所有结果

Linux(二)vi编辑器、用户和用户组管理、文件权限操作、计划任务、硬链接、软连接、Shell脚本

Mr.Lee 由 Mr.Lee
2018年5月19日
在 Linux, 基本操作
0
Linux(三) 搭建 LAMP SSH、FTP、SCP、Rmp&Yum、挂载、阿里云、常用命令、关闭指定软件
0
分享
1
浏览

Linux2

复习

什么是Linux:就是一个操作系统

文件夹命名

创建文件夹:mkdir -p 路径及目录名

移动文件:mv 旧文件/目录 新文件/目录

复制文件:cp -r 旧文件/目录 新文件/目录

删除文件: rm -rf 路径及文件

文件命令:

查看文件

cat 路径及文件名

less

more

创建文件

方法1:touch 路径及文件名

方法2:vi 路径及文件名(注:按【i】键输入,按【:wq】保存并退出)

重定向

echo 内容 > 路径文件名

echo 内容 >> 路径文件名

ctrl + c【强制退出】

ctrl + a【光标回到行首】

ctrl + e【光标回到行尾】

vi编辑器【重要】

1、介绍

vi是linux下一款强大的编辑器,相当于win下的记事本,但是功能比记事本强大N倍

初体验

  • 需求:通过vi创建/php.txt文件,写入“张三i李四”
  • 语法:vi 路径及文件名
  • 说明:文件存在-修改,不存在-创建

步骤1:vi /php.txt

步骤2:按【i】键盘,最下角会出现insert则可以输入内容

步骤3:输入完毕后按【esc】键这时候最下角insert消失,再按【:wq】保存并退出即可

vi三种模式

使用vi操作

1)尾行模式(按esc返回到该模式)

  • 退出 和 强制退出 (:q 和 :q!) quit css中(!important)
  • 保存并退出 (:wq)
  • 查找 并继续向下查找 (/搜索的内容 按回车进行搜索,搜索更多按n键) next
  • 显示行号 和 隐藏行号 (set nu 和 set nonu)set number 和 set nonumber
  • 跳转指定行 (:数字)
  • 跳转行首行位 (:0 和 :$) 正则表达式$

命令行模式

  • 复制(yy) copy

数字+yy 当前光标向下复制n行

  • 粘贴(p)
  • 撤销(u)
  • 删除(dd) delete

数字+yy 当前光标向下删除n行

编辑模式

【a】:光标后一位

【A】:光标最后

【i】:插入(光标签一位)

【I】:最前插入

【o】:下另一起行

【O】:上另一起行

5、打开文件

  • 【vi 路径及文件名】打开文件(文件存在则修改,不存在则创建)
  • 【vi + 路径及文件名】打开文件,把光标定位到最后一行。
  • 【vi +数字 路径及文件名】打开文件,把光标定位到第n行。
  • 【vi /搜索内容 路径及文件名】打开文件,把光标定位到string 字符串所在的行

︴vim的扩展补充

什么是VIM

vim同vi都是linux下的编辑器,但是功能比vi强大,如:代码高亮或补全代码等

使用

命令:vim 路径及文件名

说明:除了将vi关键词替换成vim其他命令都一样


二、用户和用户组管理【重要】

1、说明

Linux通过配置文件管理用户和用户组

存储用户配置文件:/etc/passwd

php: x: 500: 500: itcast: /home/php: /bin/bash

用户名 密码占位 用户编号 用户组编号 备注 用户家目录路径 shell

存储用户组配置文件:/etc/group

php: x: 500:

组名 组编号

2. 用户管理

1)添加用户 (user add)

  • 语法: useradd 参数 用户名
  • 参数:
  • -g 设置所属用户组(group) 注:创建用户默认也会创建同名用户组
  • -d 设置用户家目录(dir) 注:默认创建用户会在/home下创建同名文件夹
  • -c 设置用户备注(comment)

#需求:创建php1用户

useradd php1

#需求:创建php2用户并设置用户备注(php12)

useradd -c php12 php2



2)修改用户 (modify)

  • 语法:usermod 参数 用户名
  • 参数:
  • -g 设置所属用户组(group)
  • -d 设置用户家目录(dir) 注:默认创建用户会在/home下创建同名文件夹
  • -c 设置用户备注(comment)
  • -l 更改用户名(login_name)

#将php1更改为php1_update 并且修改备注为【66】

usermod -l php1_update -c 66 php1



3)删除用户 (delete)

语法:userdel 参数 用户名

注意:-r 表示同时删除家目录(注:默认不删家目录)

3、用户组管理

1)添加用户组 (add)

  • 语法:groupadd 参数 组名
  • 参数:
  • -g 设置用户组编号


2)修改用户组信息


  • 语法:groupmod 参数 组名
  • 参数:
  • -g 设置用户组编号
  • -n 更改用户组名(name)

需求:将php3组更名为php3_update 并且用户组编号为503

groupmod -g 503 -n php3_update php3



3)删除用户组

语法:groupdel 组名

说明:如果用户组下有用户则不能删除

4. 用户管理(补充)

1)密码管理

  • 语法:passwd 参数 用户名
  • 参数:
  • 不加参数直接回车则设置用户密码
  • -S 查看用户状态
  • -l 冻结用户不能登录(lock)
  • -u 解冻(unlock)

创建php1用户并设置密码123

useradd php1

passwd php1 回车

︴案例1

新建一个songjiang用户,初始组为liangshan组,

并设置密码为 songjiang123

步骤1:创建lianshan组

groupadd lianshan

步骤2:创建宋江用户

useradd -g liangshan songjiang

步骤3:设置密码

passwd songjiang 回车输入密码

︴案例2

把songjiang用户锁定(相当于禁止账号登陆),

passwd -l songjiang

总结

【用户管理】

添加用户:useradd 参数 用户名 (-d 设置家目录,-g 设置所属用户组,-c 设置备注)

修改用户:usermod 参数 用户名(-d 设置家目录,-g 设置所属用户组,-c 设置备注,-l 更改用户名)

删除用户:usedel 参数 用户名 (-r 同时删除用户家目录)

脚下留心:创建用户会同时创建同名家目录和用户组

【用户组管理】

添加用户组:groupadd 参数 组名 (-g 设置用户组编号)

修改用户组:groupmod 参数 组名 (-g 设置用户组编号,-n 修改组名)

删除用户组:groupdel 组名 (用户组有用户不能删除)

【用户管理补充】

设置密码: passwd 用户名 回车设置密码

冻结用户:passwd -l 用户名 (lock)

解冻用户:passwd -u 用户名 (unlock)

查看状态:passwd -S 用户名 (status 和 state)

#创建phpn用户并且属于phpn用户组(注:该用户不能登录)

useradd -s /sbin/nologin phpn

三、权限操作【重要】

1、文件目录权限

概念

从文件本身来说,权限分为:执行(exec)、写(write)、读(read)

从用户角度来锁,权限分为:文件拥有者、同组用户、其他组用户

相对于文件而言,有r权限就有x权限(一般工作中x忽略直接r)

第一列:表示文件的类型,

d – 表示文件夹

– – 表示文件

l – 表示软链接(相当于win下的创建方式) 下午验证

第二大列分(成三组)表示是权限的设置,

红色表示文件主人

绿色表示同组用户

蓝色表示其他组用户

其他列


︴生活案例

用户名 liming ,创建了一个歌词文件 《今夜你会不会来.txt》;四大天王可以查看修改该文件,但是不可以唱

文件主人: liming 权限:rwx可读、可写、可执行(唱)

同组用户: xueyou 权限:rw- 可读、可写

其他组用户: wukong 权限:r– 可读

【代码】

步骤1:创建用户组

group add fourKing

步骤2:创建用户

useradd -g fourKing liming

useradd -g fourKing xueyou

useradd wukong

步骤3:授权

touch /今夜你来不来.txt

chmod -R 764 /今夜你来不来.txt

2、更改文件权限

1)更改文件权限 (change mod)

  • 语法1:chmod -R ABC<用数字表示> 待授权的文件
  • 说明1:
  • ABC分别表示:A-文件主人、B-同组用户、C-其他组用户
  • 声明:读(4)、写(2)、执行(1)
  • 用数字表示
  1. – 无权限
  2. – 可执行
  3. – 可写
  4. – 可写 + 可执行
  5. – 可读
  6. – 可读 + 可执行
  7. – 可读 + 可写
  8. – 可读 + 可写 + 可执行

【 案 例】:新建一个文件,对该文件的权限是7(所有者) 5(同组)5(其他组)

chmod -R 755 /xxx.php

  • 语法2:chmod -R {<augo><+=-><rwx>,…,<augo><+=-><rwx>} 待授权文件
  • 说明2:
  • augo分别代表:
  • a-所有用户(all),u-文件主人(user),g-同组用户(group),o-其他组用户(other)
  • <权限范围>+<权限设置>  指定范围追加权限
  • <权限范围>-<权限设置>  指定范围删除权限
  • <权限范围>=<权限设置>  指定范围修改权限


【案例1】比如把 hello.txt 文件,对其他组用户添加 w权限。

touch /hello.txt

chmod -R o+w /hello.txt

【案例2】比如把 hello.txt 文件,对所属组添加 w权限,对其他组删除 w权限

touch /hello.txt

chmod -R g+w,o-w /hello.txt

2)更改文件拥有者 (change own)

语法:chown -R 新拥有者名 待更改拥有者的文件

说明:只能文件主人或者超级管理员设置

3)更改文件所属组 (change group)

语法:chgrp -R 新所属组 待更改组的文件

说明:仅文件组人或者超级管理员

小总结

文件权限分为:读(r 4)、写(w 2)、执行(x 1)

文件用户概念:文件主人、同组用户、其他组用户

问:我怎么知道当前文件属于哪个用户或者哪个用户组

答:ls -l(文件类型 — — —)

授权语法1:chmod -R ABC<用数字表示> 待授权的文件

说明:

ABC分别表示:主人、同组用户、其他组用户

数字权限:

授权语法2:chmod -R <augo><+-=><rwx>,…,<augo><+-=><rwx> 待授权的文件

更改拥有者(change own):chown -R 新主人 文件

更改所属组(change group):chgrp -R 新组 文件

linux创建执行文件

vi test.sh (运行 sh 文件名.sh)

#!/bin/bash

echo 6666

【目录】

x 进入目录

r 看目录内容

w 目录创建删除文件

【文件】:一般都设置r权限

r 可以查看文件内容、可执行

r + w 可读、可写文件、可执行

x 单独用(.sh不行, .out可以 等)

【C代码】

vi test.c

#include <stdio.h>

int main()

{

printf(“hello word!\n”);

return 0;

}

输出 hello word ,

gcc test.c

./test.out

计划任务

1、Linux计划任务【重要】

1)说明

  • 概念:在指定时间内去完成指定任务的表现称之为计划任务
  • 举例1:通过计划任务定时发布文章
  • 举例2:项目开发dev测试完毕通过计划任务指定3点线上服务器更新master分支

2)设置(crontab)

  • 设置语法:crontab -e (edit)
  • 查看语法:crontab -l (list)

crontab -e相当于vi命令,只不过打开后需要输入指定内容

3)语法

* * * * * 任务

分 时 日期 月 星期几

︴案例:当前时间+1分钟,给/php12/tmp.txt文件追加内容

步骤1:cronta -e

步骤2:输入

* * * * * echo >> /php12/tmp.txt

查看服务器时间:date

修改服务器时间

步骤1:date -s ‘日期’

步骤2:clock -w 写入系统即可

︴案例:每隔1分钟,给/qz1/tmp.txt文件追加内容

#语法

#* * * * * 任务

*/1 * * * * echo 8 >> /php12/tmp.txt

︴综合案例说明

#语法

# * * * * * 任务

# 分 时 日期 月 星期几

45 22 * * * 任务

0 17 * * 1 任务

0 5 1,15 * * 任务

40 4 * * 1-5 任务

*/10 4 * * * 任务

0 0 1,15 * 1 任务

︴案例

定于4月19号,23点45分,开始商品上架(执行一个php文件)

45 23 19 4 * /server/php/php.exe /server/www/shop.php

shop.php里面写mysql修改数据库 上架:1-上架,0-下架

2、window计划任务【了解】

控制面板-> 系统和安全->管理工具->任务计划








Linux运行模式【了解】

1、概念

  • 单用户:一台计算机在同一时间仅一个用户可以使用
  • 多用户:一台计算机在同一时间多个用户可以使用
  • 单任务:用户在同一时间只能运行一个应用程序
  • 多任务:用户在同一时间运行多个应用程序
  • 现在操作系统一般都是多用户多任务

Linux运行模式

在Linux中一共有7中运行方式/模式,用数字0-6表示,分别为:

0:关机模式(永久禁用)

1:单用户模式

2:多用户模式

3:命令行模式(推荐)

4:保留,未使用

5:桌面模式 (不推荐,仅学习看一下)

6:重启模式(永久禁用)

更改运行模式

  • 临时更改:init 数字
  • 永久更改:修改vi /etc/inittab即可

六、软链接和硬链接

1、概念

  • 软链接 – 相当于win创建快捷方式(快速操作,注:删除源文件,无法继续操作)
  • 硬链接 – 相当于将源文件拷贝一份(避免误删,注:数据共享,删除一个另一个还在)

语法

  • 软链接 – 【ln -s 源文件 目标文件】
  • 硬链接 – 【ln 源文件 目标文件】

练习

1)软链接

rm -rf /test

mkdir -p /test

echo 123 > /test/a.php

ln -s /test/a.php /test/b.php #软链接

echo 4 >> /test/b.php

cat /test/a.php #????? 1234

rm -rf /test/a.php

cat /test/b.php #????? 报错

2)硬链接

rm -rf /test

mkdir -p /test

echo 123 > /test/a.php

ln /test/a.php /test/b.php #硬

echo 4 >> /test/a.php

cat /test/b.php #????? 1234

rm -rf /test/a.php

cat /test/b.php #?????1234

七、shell脚本(补充)

1、什么是shell脚本

  • Shell脚本与Windows/Dos下的批处理相似,它是一个用 C 语言编写的程序

shell指linux指令,如:ls、pwd等

shell脚本可以理解为一堆shell的集合

http://www.runoob.com/linux/linux-shell.html

2、初体验(创建第一个shell脚本)

#步骤1:创建一个以sh结尾的文件

#步骤2:在sh结尾的文件头部写入脚本声明

#!/bin/bash

#步骤3:在头声明后面写入shell指令即可【运行脚本:sh 绝对路径/文件名.sh】

判断

Select_Id=3

if [ $Select_Id == 1 ]; then

echo d111

elif [ $Select_Id == 2 ]; then

echo 2222

elif [ $Select_Id == 3 ]; then

echo 3333

else

echo ‘no select id, exit…’

exit 1

fi

菜单选择

echo ”

Please Select Install

# —————————————

1 — Linux + Apache + MySql + PHP5.3 —

2 — Linux + Apache + MySql + PHP5.4 —

3 — Linux + Apache + MySql + PHP5.5 —

— —

4 — PHP UPD 5.3 —

5 — PHP UPD 5.4 —

6 — PHP UPD 5.5 —

— —

7 — don’t install is now —

# ————————————

”

sleep 0.1

read -p “Please Input 1,2,3: ” Select_Id

if [ $Select_Id == 1 ]; then

#bash $sk/lamp/init.sh

echo ‘Linux + Apache + MySql + PHP5.3’

elif [ $Select_Id == 2 ]; then

echo ‘222222’

elif [ $Select_Id == 3 ]; then

echo ‘33333’

elif [ $Select_Id == 4 ]; then

echo ‘44444’

elif [ $Select_Id == 5 ]; then

echo ‘555’

else

echo ‘no select id, exit…’

exit 1

fi

总结

【vi编辑器】

#vi编辑器三种模式:命令行模式、尾行模式、编辑模式

#命令行模式

> yy 复制

> 数字 + yy 复制指定行

> p 粘贴

> u 撤销

> dd 删除

> 数字 + dd 删除指定行

#尾行模式

> :wq 保存并退出

> :q 退出

> :q! 强制退出

> /字符串 搜索,按n向下匹配

> :set nu 显示行号

> :set nonu 隐藏行号

> :数字 跳转指定号(行首:0 ,行尾:$)

#编辑模式

> a 后一个

> A 最后

> i 前一个

> I 最前

> o 下一行

> O 上一行

#打开文件多种方式

# vi 路径及文件 光标第一行

# vi + 路径及文件 光标最后一行

# vi +数字 路径及文件 光标指定行

# vi +/内容 路径及文件 光标匹配行

———————————————–

【用户命令】

> #添加用户: useradd 参数 用户名 (-d指定家目录,-c备注,-g用户组)

> #修改用户: usermod 参数 用户名 (-d改家目录,-c改备注,-g改用户组,-l改用户名)

> #删除用户: userdel -r 用户名 (-r表示删除用户家目录)

> #查看用户: cat /etc/passwd

【用户组命令】

> #添加组: groupadd 参数 用户名 (-g用户组编号)

> #修改组: groupmod 参数 用户名 (-g用户组编号,-n改组名)

> #删除组: groupdel 用户名 (注:用户存在则不能删除)

> #查看组: cat /etc/group

【用户补充】

> passwd 用户名 回车设置密码

> passwd -S 用户名 查看用户状态

> passwd -l 用户名 冻结用户

> passwd -u 用户名 解冻

———————————————–

【权限】

#语法1:chmod -R ABC<用数字表示> 待授权的文件

#说明1:ABC分别表示(A-文件拥有者,B-同组用户,C-其他组用户)

#说明1:数字含义

0 – 无权限

1 – 可执行

2 – 可写

3 – 可写、可执行

4 – 可读

5 – 可读、可执行

6 – 可读、可写

7 – 可读、可写、可执行

#语法2:chmod -R {augo}{=-+}{wrx},…,{augo}{=-+}{wrx} 待授权的文件

#说明2:augo分别表示(a-所有用户,u-拥有者,g-同组用户,o-其他组用户)

#说明2:权限范围

<augo>+<wrx> 追加权限

<augo>-<wrx> 移除权限

<augo>=<wrx> 修改权限(覆盖)

# 更改拥有者:chown -R 新主人 文件

#更改同组用户:chgrp -R 新组 文件

———————————————–

【运行模式】

init 3 命令行模式

init 5 桌面模式

init 6 重启

修改永久的运行模式:vi /etc/inittab文件

———————————————–

软链接:相当于win创建快捷方式【快速操作】

硬链接:相当于复制一份源文件【防止误删】(注:数据共享,删除一个另一个还在)

———————————————–

【shell脚本】

什么是shell脚本:一堆shell的集合

以sh结尾,用【#!/bin/bash】声明的文件

运行shell脚本:sh 绝对路径/文件名.sh

标签: Shell脚本vi编辑器文件权限操作用户和用户组管理硬链接计划任务软连接
上一篇文章

Linux(三) 搭建 LAMP SSH、FTP、SCP、Rmp&Yum、挂载、阿里云、常用命令、关闭指定软件

下一篇文章

Linux(一)安装、命令、目录

下一篇文章
Linux(三) 搭建 LAMP SSH、FTP、SCP、Rmp&Yum、挂载、阿里云、常用命令、关闭指定软件

Linux(一)安装、命令、目录

发表回复 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Search

没有结果
查看所有结果

About Me

个人随笔

Winston Lee

Programmer

Hello & welcome to my blog! My name is Winston Lee and am a programmer and am keen on sharing.

Winston Lee

About Me

Hello & welcome to my blog! My name is Winston Lee and am a programmer and am keen on sharing.

Categories

  • AJAX
  • BootStrap
  • CodeIgniter
  • CSS
  • DedeCMS
  • GIT
  • HTML
  • Javascript
  • Jquery
  • Laravel
  • Laravel在线教育平台
  • Linux
  • Memcache
  • MongoDB
  • MVC
  • Mysql
  • Nginx
  • Node
  • PDO
  • PHP
  • PHP7
  • PHP基本语法
  • PHP核心编程
  • Redis
  • Smarty
  • Socket
  • SVN
  • Swoole
  • TP3.2
  • TP3.2商城
  • TP5.0
  • TP5.0商城
  • XML
  • Yaf
  • Yii
  • Yii手机直播
  • 二次开发
  • 优化方案
  • 前端技术
  • 前端框架
  • 后台框架
  • 基本操作
  • 微信公众号
  • 数据库
  • 未分类
  • 混合APP
  • 源码Blog项目
  • 版本控制
  • 环境搭建
  • 移动端开发
  • 网站优化
  • 资料
  • 面向对象
  • 面向对象编程
  • 页面静态化

Tags

DOM Json RBAC 事件 传参 函数 分页 判断语句 匿名函数 变量 图片上传 存储过程 安装 对象 封装 属性 接口 控制器 数据库操作 数据类型 数据表 数组 文件上传 无刷新分页 权限 标签 模型 正则 流程控制 目录结构 算法 类 索引 继承 缩略图 表关系 视图 路由 运算符 选择器 递归 配置 错误处理 页面静态化 验证码
  • 首页
  • 前端
  • 前端框架
  • PHP
  • 数据库
  • 优化
  • 后台框架与实战
  • 移动开发
  • 二次开发
  • Linux
  • 版本控制
  • Node.js
  • 资料库

沪公网安备31011502400873 | 沪ICP备2024050435号-3

没有结果
查看所有结果
  • 首页
  • 前端
    • HTML
    • CSS
    • Javascript
    • XML
    • AJAX
  • 前端框架
    • BootStrap
    • Jquery
  • PHP
    • 语法
    • 核心
    • 面向对象
    • PHP7
    • Socket
    • Swoole
  • 数据库
    • Mysql
    • Redis
    • Memcache
    • MongoDB
  • 优化
    • 优化方案
    • 页面静态化
    • Nginx
  • 后台框架与实战
    • Smarty
    • 源码Blog
    • TP3.2
    • TP3.2商城
    • TP5.0
    • TP5.0商城
    • Laravel
    • Laravel在线教育平台
    • Yii
    • Yii手机直播
    • CodeIgniter
    • Yaf
  • 移动开发
    • 微信公众号
    • 混合APP
  • 二次开发
    • DedeCMS
  • Linux
    • 基本操作
    • 环境搭建
  • 版本控制
    • GIT
    • SVN
  • Node.js
  • 资料库

沪公网安备31011502400873 | 沪ICP备2024050435号-3