一、Vim编辑器的使用
1. vim编辑器的运行模式
编辑模式:等待用户编辑命令的输入
插入模式:编辑文本内容
命令模式:执行命令

2. 使用 :vim 文件名
3. 查看当前vim编辑器介绍:vim 回车
4. 操作
4.1 创建文本文件:vi hello.java 回车(直接进入编辑模式,无法直接插入新的数据)
4.2 在编辑模式下,按i键,进入的插入模式,修改数据
4.3 在插入模式下,按esc键,返回到编辑模式(使用编辑命令,修改文本内容)
4.4 在编辑模式下,按 ':' ,进入命令模式,执行一些退出或者保存修改的命令

5. 在命令模式下:
:q 直接退出vim
:wq 保存修改后退出vim
:q! 强制退出vim
:w 新的文件名称 ,类似于另存为
:set number/set nu ,显示行号
:set nonumber ,取消显示行号
:n ,移动到第几行

查找和替换:
查找:/需要查找的内容
例如:/java
n:下一条
N:上一条

替换:起始行号,终止行号s/旧的数据/新的数据/g
起始行号和终止行号可以使用%,表示全文替换

例如:2,10s/安装/install/g
%s/安装/install/g

注释:起始行号,终止行号s/^/#/g
取消注释:起始行号,终止行号s/^#//g
例如:2,10s/^/#/g
2,10s/^#//g

6. 在编辑模式下:
gg:移动到文件开头
GG:移动到文件末尾
x:删除单个字符
nx:删除多个字符 , 5n

dd:删除当前行
ndd:删除多行 , 3dd

yy:复制当前行
nyy:复制多行

p/P:粘贴
np/P:粘贴多行

u:撤销
ctrl+r:反撤销

shift +zz :快速的退出vim

# 二、Linux中的用户和组管理
Linux多用户的操作系统 ,严格的权限管理。
通过账户名称区分每个用户的文件,进程,任务等等

###<1>账户管理
普通用户账户:进行普通操作
超级用户账户:对普通用户和整个系统进行管理

私有组:当创建一个用户时,没有指定属于哪个组,Linux会创建一个和用户名同名的私有组
标准组:创建一个用户时,指定一个标准组

###<2>账户系统文件
2.1 /etc/passwd 配置文件 (账户信息)
root:x:0:0:root:/root:/bin/bash
用户名,口令,用户标识,组标识,描述信息,家目录,shell的类型

jinggege:x:500:500::/home/jinggege:/bin/bash

2.2 /etc/shadow (密码信息)
root:$6$Sy6K/Us80q1Bt.Ox$k5hZlF5RfCVoaMP7zolZEigCfdq5lBTRPfv6UGVvV7K/6dJT4LHOduah8nMNf0bcKtR8zNRkpB4gBN/d9yUqt1:17637:0:99999:7:::

用户名,使用某种加密算法加密的密码

2.3 /etc/group (组信息)
组名,组口令,组id,组成员

2.4 使用命令操作用户和组
创建用户:useradd 用户名
-g 组名
-d 设置用户家目录

例如:useradd laowang
passwd laowang
touch laowangfile

删除用户:userdel -r 用户名:
userdel laowang

useradd -g gebi laowang

创建组:groupadd 组名
groupadd gebi
useradd -g gebi laowang
passwd laowang

groupdel 组名

将用户添加到组中: gpasswd -a 用户名 组名
gpasswd -a laowang gebi

# 三、软件安装
###1.JDK的安装
1. 安装包拷贝到系统中(U盘,光盘,WinSCP)
2. 挂载,拷贝
3. 解压jdk
4. 配置环境变量
编辑/etc/profile文件
添加配置:
export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$JAVA_HOME/bin

5. 刷新配置
source /etc/profile

###2.安装的方式
####2.1 软件包的分类
<1>源码包
通常以.gz格式的形式存在。先解压然后编译,使用C语言编写,可以查看源码。

特点:开源,自由定制,效率更高,卸载方便。
自行编译,步骤较复杂。
报错不容易解决

<2>rpm二进制包(red package manager)
通常以.rpm格式的形式存在。

特点:安装速度快,操作简单。
定制性差,依赖性强(a--->b---->cde)

<3>脚本程序
把复杂的软件包安装过程写成脚本程序,一键安装

###2.2 rpm安装方式(增强版:yum安装)
http://版本 发布次数 适合linux系统 .rpm

语法格式:rpm -ivh 软件包名称(绝对路径)
-i:安装
-h:安装进度
-v:显示安装的信息
-nodeps:不检测依赖的安装
-e:卸载软件

www.rpmfind.net查看依赖

###2.3 MySQL数据库
1. 将mysql数据库的安装包拷贝到linux中
winscp
2. 解压和拆包
tar -xvf MySQL_install.xxx.rpm
3. 需要查看是否已经安装了mysql
rpm -qa | grep mysql
跳转到卸载操作

rpm -e --nodeps 软件名称

4. 安装mysql
rpm -ivh MySQL-server.xxxx.rpm
rpm -ivh MySQL-client.xxxx.rpm

5. 启动MySQL
service mysql start

6. 将MySQL添加到系统服务中,并开机自启
chkconfig --add mysql
chkconfig mysql on

7. 登陆mysql
cat /root/.mysql_secret
mysql -uroot -p密码

8. 修改密码
set password=password('新的密码');

9. 开启MySQL的root用户的远程访问权限
grant all privileges on *.* to 'root'@'%' identified by '管理员的密码';

10. 使用第三方工具访问mysql

11. 卸载
关闭服务:
service mysql stop
ps -aux | grep mysql
kill -9 pid

删除组件
rpm -e MySQL-serverxxxxx
rpm -e MySQL-clientxxxxx

删除残留文件
find / -name mysql
rm -rf 残留的文件

# 四、Shell编程
###<1>编写一个shell脚本
Linux:内核+shell+文件系统+应用程序

shell语言是一门强大的编程语言,易编写,易调试,灵活性强。
是解释执行的脚本语言。

1.1 常看当前shell版本:echo $SHELL

1.2 编写shell脚本
echo -e "jing\ngege"
echo -e "jing\n \e[1;30m修饰的数据\e[0m"

1.3 步骤
<1>创建一个脚本文件
vi hello.sh

<2>#我的第一个脚本文件
#!/bin/bash
echo -e "\e[1;30mhello world!\e[0m"

<3>执行脚本
方式一:通过bash 执行脚本 (使用bash解释命令)
bash hello.sh

方式二:直接运行脚本文件(建议)
chmod 755 hello.sh (赋予脚本文件可执行权限)
./hello.sh

<4>将脚本文件移动到path下
/bin
/usr/local/bin
/usr/local/sbin

###<2>Bash变量
2.1 分类
用户自定义变量:
用户自己定义的变量,可以随便的更改

环境变量:
有一部分环境变量被系统赋予特定的含义并被系统使用

预定义变量:
完全不能由用户定义的变量

2.2 自定义变量
格式:变量名称=值
age=128
name="jinggege"

调用方式:使用$符号
echo $age
echo $name

age=$age+$age

查看变量:
set 回车
set |grep 某一个变量

删除变量:
unset 变量名称 (变名称不需要添加$符号)

2.3 环境变量
全局的变量,在shell中,和shell的所有子shell中都生效。

格式:export 变量名=变量值

变量名=变量值
export 变量名

例如:
export myhome="/root"

调用方式:使用$符号
echo $age
echo $name

age=$age+$age

查看变量:
set 回车
set |grep 某一个变量

删除变量:
unset 变量名称 (变名称不需要添加$符号)

2.4 常用的环境变量
SHELL: 当前使用的shell版本
PATH:存放的系统环境变量
HOSTNAME:主机名
USER:当前登陆的用户名称

<1>PATH环境变量
echo $PATH
PATH= $PATH:新的路径 (更改环境变量时,一定要将原数据保留,使用:拼接)

<2>PSI环境变量:修改命令提示符
命令提示符:
\u:用户名
\$:用户身份
\h:主机名
\W:所在路径的最后一级
\w:全路径
\A:时间

PS1='[\u@\A \w]\$'

<3>位置参数变量
$n : 表示形参 ,n由1-9 ,超过九个实参,${10}
$* : 命令行中的所有参数,$*将所有参数看成一个整体(需要将此变量添加到引号中)
$@ : 命令行中的所有参数,$@不将所有参数看成一个整体
$# : 命令行中的参数个数

2.5 预定义变量
$? :用户上一次执行命令返回的状态,非0命令执行失败
$$ :当前进程的进程号pid
$! :后台运行的最后一个进程进程号pid

2.5 接收用户键盘输入的变量
语法格式:read - 参数
-p 提示用户输入信息 ,在等待用户输入
-t 秒数 ,read命令会等待用户输入,等待指定的时间
-s : 隐藏输入的数据,适用于输入密码

#!/bin/bash
read -p "input your data:" data
echo $data

read -p "input your data:" -t 5 data
echo $data

read -p "input your pwd:" -s pwd
echo $pwd

###<3>分支和循环结构
分支结构语法格式:
if[ 条件];then
分支语句
elif [条件];then
分支语句
else
分支语句

fi

-eq :等于
-gt :大于
-ge :大于等于
-lt :小于
-le :小于等于

#!/bin/bash
#测试分支语句
if [ $1 -lt 60 ] ;then
echo "恭喜重修通过"
else
echo "恭喜毕业"

fi

循环结构语法格式:
for 变量名称 in {1,2,3,4,5}
do
循环体
done

for (( num=1;num<=10;num++ ))
do
循环体
done

#!/bin/bash
#循环测试
sum=0
for(( i = 1; i<=100 ; i++ ))
do
sum=$[sum+i]
done

echo "sum=$sum"

一、Vim编辑器 二、用户和组管理 三、软件的安装(jdk,mysql) 四、Shell编程的更多相关文章

  1. 第五天、vim,重定向,用户和组管理

    第五天.vim,重定向,用户和组管理 vim vi:Visual editor,文本编辑器 行编辑器:sed 全屏编辑器:vim,vi,nano 其他编辑器gedit,gvim 定义别名让vi等于vi ...

  2. linux基础之用户和组管理及权限

    一.用户和组管理 相关配置文件 /etc/passwd: 用户名 : 密码占位符 : UID : GID : COMMENTS : 家目录 :默认shell /etc/group: 组名 : 组密码占 ...

  3. linux系统用户和组管理

    用户和组管理 Linux是多用户多任务的网络操作系统,作为网络管理员,掌握用户的组的创建与管理至关重要. 学习要点: 了解用户和组的群的配置文件. 熟悉掌握Linux下用户的创建和维护管理. 熟悉掌握 ...

  4. (转)Centos 7.3 用户和组管理

    Centos 7.3 用户和组管理 原文:http://blog.csdn.net/github_39069288/article/details/73306489 3.1 用户和密码配置文件 pas ...

  5. linux学习16 Linux用户和组管理命令演练和实战应用

    一.上集回顾 1.bash globing,IO重定向及管道 glob:*,?,[],[^] IO重定向: >,>>, 2>,2>> &>,& ...

  6. Day03_破解Windows7系统密码&用户与组管理&服务器远程管理

    破解Windows系统密码 一.利用5次shift漏洞破解win7密码 1.1 漏洞 1.在未登录系统时,连续按5次shift键,弹出程序c:\windows\system32\sethc.exe 2 ...

  7. Solaris用户管理(一):用户与组管理

    Solaris用户管理(一):用户与组管理  2008-07-01 09:19 用户管理是系统管理的基础.Solaris中不但支持传统Unix所支持的用户和组的概念,还从Solaris 8开始引入了基 ...

  8. 总结描述用户和组管理类命令的使用方法,系统用户相关信息,取出主机IP地址

    1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可. [root@db146 ~]# who|cut -f1 -d' ' |sort -u root 2.取出最后 ...

  9. Linux 用户和组管理

    这是用户和组管理的知识点,不想看文字就看视频吧,还是视频为主,文字为备忘录 视频链接: 项目1用户管理 1.创建一个新用户user01,设置其主目录为/home/user01: #useradd –d ...

随机推荐

  1. Linux系统资源查看 之 资源信息

    1. 系统 版本信息 内核版本 使用 uname 命令: -a : 查看所有系统信息 -r : 查看内核版本信息 -s : 查看内核名称 代码如下: [niesh@niesh ~]$ uname -a ...

  2. SqlDataReader的关闭问题,报错:“阅读器关闭时尝试调用 Read 无效”

    SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);//关闭SqlDataReader 会自动关闭Sqlconn ...

  3. plupload如何删除一条数据

    FilesRemoved用了发现不成功,删除图片这么重要怎能如此 看到老外提的另一个问题发现这个问题解决办法,特此备注以供不会的童鞋参考 uploader.bind('FilesAdded', fun ...

  4. 网络基础1_TCP和HTTP

    TCP/IP 是互联网相关的各类协议族的总称,并且进行分层,分为应用层,传输层,网络层,数据链路层这四层协议,分层的好处,是便于后期的优化与改进,扩展性好 应用层:主要为客户提供应用服务,       ...

  5. java 对CSV 文件的读取与生成

    CSV文件是以逗号分隔值的文件格式,一般用WORDPAD或记事本(NOTE),EXCEL打开.CSV(逗号分隔值)是一种用来存储数据的纯文本文件,通常都是用于存放电子表格或数据的一种文件格式,对于CS ...

  6. 高并发第九弹:逃不掉的Map --> HashMap,TreeMap,ConcurrentHashMap

    平时大家都会经常使用到 Map,面试的时候又经常会遇到问Map的,其中主要就是 ConcurrentHashMap,在说ConcurrentHashMap.我们还是先看一下, 其他两个基础的 Map ...

  7. 解决win7无法打开chm格式文件的问题

    解决win7无法打开chm格式文件的问题. (一).简单方法(本人用的这个) 1.打开chm2.win7提示安全问题3.chm无法显示内容4.关闭chm5.右键点击chm,点击“解除锁定”,ok  没 ...

  8. 连接数据库 JDBC、DBCP、JNDI

    一.JDBC package com.direct.util; import java.sql.Connection; import java.sql.DriverManager; import ja ...

  9. 原型相关的方法isPrototypeOf、Object.getPrototypeOf、hasOwnProperty、Object.getOwnPropertyName、Object.keys

    在看<高程3>第六章的<面向对象的程序设计>的原型那一节时,有一下5个函数,功能较为接近,但是又都很基础,很重要 所以在此,加以说明,以便日后复习 function Perso ...

  10. HTML利用posotion属性定位 小技巧

    1.居中效果 父级DIV (index-top )属性设置为 text-align:center; 子级DIV( tabIndex-main)属性设置为 margin:0 auto;   2.左右对齐 ...