linux
1.1终端
命令需要在终端中进行上输入
所谓终端类似于windows下的cmd,在终端中可以输入一些指令
终端:
关机:shutdown -h now(正常关机),halt(关闭内存),init 0
帮助:在某指令后加 --help
1.2 备份
在vm中备份的方式有两种:1.快照 2.克隆
快照:又称还原点,就是保存在拍快照时的系统的状态,在后期可以随时回复【侧重于短期备份,快照时虚拟的操作系统一般处于开启状态】
①在菜单“虚拟机”-“快照”-“拍摄快照”
输入相关信息,点击拍摄快照
②使用快照恢复搞事情之前的状态
路径:虚拟机 – 快照 – 快照管理器
克隆:就是复制【侧重于长期备份,被克隆时必须得关闭】
路径:先关机 – 右键需要克隆的虚拟机 – 管理 – 克隆
1.3 linux的基本指令
一个完整的指令的标准格式:linux的通用格式
** #指令 [选项] [操作对象(默认操作当前对象)] **
一个指令可以包含多个选项
操作对象可以是多个
1.4 linux的系统文件
1:日常运维工作中,有近一半以上的工作内容 精力 其实都是对文件的操作。
2: Linux 本身也是一个基于文件形式表示的操作系统。
Linux一切皆文件。
①在windows是文件的,在Linux下同样也是文件;
②在windows不是文件的,在Linux下也是以文件的形式存储的;
日常学习中和日常工作中,对于文件的操作的都有哪些种类?
创建文件、编辑文件、保存文件、关闭文件、重命名文件、删除文件、恢复文件。
目录结构:
Bin:全称binary,含义是二进制。该目录中存储的都是一些二进制文件,文件都是可以被运行的。
Dev:该目录中主要存放的是外接设备,例如盘、其他的光盘等。在其中的外接设备是不能直接被使用的,需要挂载(类似windows下的分配盘符)。
Etc:该目录主要存储一些配置文件。
Home:表示“家”,表示除了root用户以外其他用户的家目录,类似于windows下的User/用户目录。
Proc:process,表示进程,该目录中存储的是Linux运行时候的进程。
Root:该目录是root用户自己的家目录。
Sbin:全称super binary,该目录也是存储一些可以被执行的二进制文件,但是必须得有super权限的用户才能执行。
Tmp:表示“临时”的,当系统运行时候产生的临时文件会在这个目录存着。
Usr:存放的是用户自己安装的软件。类似于windows下的program files。
Var:存放的程序/系统的日志文件的目录。
Mnt:当外接设备需要挂载的时候,就需要挂载到mnt目录下。
2.1 基础指令
1.ls指令
含义:ls(list)
用法1:#ls
列出当前工作目录下的所有文件/文件夹的名称
用法2:#ls 路径
列出指定路径下的所有文件/文件夹的名称
相对路径的写法:在相对路径中通常会用到2个符号"./ "[当前目录下], ''../"[上一级目录下]
绝对路径:绝对路径不要参照物,直接从根"/"开始寻找对应路径;
用法3:#ls 选项 路径
含义:在列出指定路径下的文件/文件夹的名称,并以指定的格式进行显示。
常见的语法: -l [表示list,表示以列表的形式进行展示]
上述列表中的第一列字符表示文档的类型,其中“-”表示改行对应的文档类型为文件,“d”表示文档类型为文件夹。
** -la [表示显示所有的文件/文件(包含了隐藏的文件/文件夹)]**
在Linux中隐藏文档一般都是以“.”开头。
用法4: #ls -lh 路径
含义:列出指定路径下的所有文件/文件夹的名称,以列表的形式并且在显示文档大小的时候以可读性较高的形式显示
2.PWD 指令
用法:#pwd (print working directory ,打印当前工作)
3.cd 指令
命令:#cd (change directory,改变目录)
作用:用于切换当前的工作目录
语法:#cd 路径
4.mkdir 指令
指令:mkdir (make directory 创建目录)
语法1:#mkdir 路径[路径可以是文件夹名称,也可以是包含名称的一个完成路径]
注意:ls列出的结果颜色说明,其中蓝色表示文件夹,黑色表示文件,绿色表示其权限为拥有所有权限
语法2:#mkdir -p 路径
含义:但一次性创建多层不存在的目录时,添加-p参数,否则会报错
语法3:#mkdir 路径1 路径2 路径3...
含义:一次性创建多个文件夹
5.touch指令
指令:touch
作用:创建文件
语法:#touch 文件路径 [路径可以是直接的文件名也可以是路径]
6.cp 指令
指令:cp (copy)
作用:复制文件/文件夹到指定的位置
语法:#cp 被复制的文档路径 文档被复制到的路径
被复制的文件到另一文件夹后可以被改名
当使用cp命令进行文件夹复制时需要添加选项“-r”[表示递归复制],否则目录将被忽略
7.mv指令
指令:mv (move ,移动 ,剪切)
作用:移动文件/文件夹到新的位置
语法:#mv 需要移动的文档路径 移动到的路径
补充:在linux里 重命名的命令也是mv,语法和移动一样
8.rm指令
指令:rm (remove,移除,删除)
作用:删除文档
语法:#rm 选项 需要删除的文档路径
选项:
-f 表示froce(强制)
-r 表示递归
删除一个文件:
在删除的时候如果不带选项,会提示是否删除,如果需要确认则输入“y/yes”,否则输入“n/no”按下回车。
注意:当你删除时不想频繁确认,则在指令中添加一个选项"-f" ,表示froce(强制)
删除一个文件夹:
注意:删除一个目录的时候需要做递归删除,并且一般也不需要进行删除确认询问,所以移除目录的时候一般需要使用-rf选项。
删除多个文档:
要删除一个目录下有公共特性的文档,例如都以Linux开头:
案例: 要删除一个目录下有公共特性的文档,例如都已linux开头
其中称为通配符,意思表示任意的字符,linux则表示只要文件以linux开头,后续子符则不管**
9.vim指令
指令:vim (vim是一款文本编辑器)
语法:#vim 文件的路径
作用:打开一个文件(文件可以存在,也可以不存在)
退出打开的文件:在没有按下其他命令的时候,按下shift+英文冒号,输入q,按下回车即可
10.输出重定向
一般的输出都会显示在终端中,有时候需要将一些命令的执行结果想要保存到文件中进行后续的分析和统计,则这时候需要使用到输出重定向技术
1.>:覆盖输出,会覆盖掉原先的文件内容
2.>>:追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加
使用覆盖重定向,保存ls -la的执行结果,保存到当前目录下的ls.txt
语法:#正常的执行的指令 >/>> 文件的路径
注意:文件可以不存在
11.cat指令
作用1:cat直接打开一个文件的功能
语法1:#cat 文件的路径
作用2:cat还可以对文件进行合并
语法2:#cat 待合并的文件路径1 待合并的文件路径2 ... 待合并的文件路径n >/>> 合并之后的文件路径
2.2进阶指令
1.df指令
作用:查看磁盘的空间
语法:df -h(-h以可读性较高的方式显示)
Mounted on 挂载点
2.free指令
作用:查看内存使用情况
语法:#free -m -m表示以mb为单位查看
剩余的真实可以用的内存为1665mb。
Swap:用于临时内存,当系统真实内存不够用的时候可以临时使用磁盘空间来充当内存。
3.head指令
作用:查看一个文件的前n行,如果不指定n,则默认显示前10行
语法:#head -n 文件路径 (n表示数字)
4.tail指令
作用1:查看一个文件的末n行,如果n不指定,则默认显示后10行
语法1:#tail -n 文件路径
作用2:可以通过tail指令来查看一个文件的动态变化内容【变化的内容不能是用户手动增加的,eg:输出重定向】
语法2:#tail -f 文件路径
该命令一般用于查看系统日志
5. less指令
作用:查看文件,以较少的内容进行输出,按下辅助功能键(数字+回车,空格键+上下方向键)查看更多
语法:#less 需要查看的文件路径
在退出的只需要按下q键即可
6.wc指令
语法:#wc -lwc 需要统计的文件路径
作用:统计文件内容信息(包括函数,单词数,字节数)
-l:表示lines,行数
-w:表示words,单词数 依照空格来判断单词数量
-c:表示bytes,字节数
7.data指令(重点)
作用1:表示操作时间日期(读取+,设置)
语法1:#data 输出的形式:2018年 3月 24日 星期六 15:54:28
语法2:#data +%F(等价于#data “%Y-%m-%d”) 输出形式:2018-03-24
语法3:#data "+%F %T" 引号表示让F T 成为一个不可分割的整体
等价操作#date “+%Y-%m-%d %H:%M:%S”
输出的形式:2018-03-24 16:01:00
语法4:#date -d “-1 day” “+%Y-%m-%d %H:%M:%S”
获取之前或者之后的某个时间(备份)
输出一天前的时间
符号的可选值:+(之后) 或者 - (之前)
单位的可选值:day(天)、month(月份)、year(年)
%F:表示完整的年月日
%T:表示完整的时分秒
%Y:表示四位年份
%m:表示两位月份(带前导0)
%d:表示日期(带前导0)
%H:表示小时(带前导0)
%M:表示分钟(带前导0)
%S:表示秒数(带前导0)
8.cal指令
作用:用来操作日历
语法1:#cal 等价与cal -1
语法2:#cal -3 表示输出上一个月+本月+下一个月的日历
语法3:#cal -y 某年年份 一年的日历
9.clear / ctrl+L 指令
作用:清楚终端中已经存在的命令/结果
10.管道(**)
管道符:|
作用:一般可以用于“过滤”,“特殊用法”,“扩展”
语法:管道不能单独使用,必须配合前面的指令共同使用,其主要是辅助作用
过滤案例:需要通过管道查询当前目录下包含“y”字母的文档名称
*#ls / | grep y
斜杠表示根目录,不加就是当前目录
说明:1.以管道作为分界线,前面的命令有个输出,
后面需要输入,然后在过滤,最后再输出
因此管道前面的输出就是后面指令的输入
2.grep为筛选指令
特殊用法案例:通过管道的操作方法来实现less的等价效果(了解)
之前通过less查看一个文件 ,可以#less 路径
现在通过管道:#cat 路径 | less
扩展处理案例:请使用学过的命令,统计某个目录下的文档总个数?
~#ls /root | wc -w
2.3 高阶指令
1.hostname指令
作用:操作服务器的主机名(读取,设置)
语法1:#hostname
含义:输出完整的主机名
语法2:#hostname -f
含义:表示输出当前主机名中的FQDN(全限定域名)
2.id指令
作用:查看一个用户的一些基本信息(包含用户id,用户组id,附加组id...),该指令如果不指定用户则默认当前用户。
语法1:#id 默认显示当前执行该命令的基本信息
语法2:#id 用户名 显示指定用户的基本信息
3.whoami指令
作用:显示当前登录的用户名,一般用于shell脚本
语法:#whoami
4.ps -ef指令(***)
作用:查看当前服务器的进程信息
选项含义:
-e:等价于“A",表示列出全部进程
-f:显示全部的列
列的含义:
UID:该进程执行的用户id;
*PID:进程id;
*PPID:该进程的父级进程id,如果一个程序的父级进程找不到,该程序的进程称之为僵尸进程(parent process ID);
C:Cpu的占用率,其形式是百分数;
STIME:进行的启动时间;
TTY:终端设备,发起该进程的设备识别符号,如果显示“?”则表示该进程并不是由终端设备发起;
TIME:进程的执行时间;
CMD:该进程的名称或者对应的路径;
案例:搜索情况,在ps的结果中过滤出想要查看的进程状态
*#ps -ef | grep 进行名称
5.top指令
作用:查看服务器的进程所占的资源
语法: 进入命令:#top (动态显示) 退出:q
表头含义:
PID:进程id;
USER:该进程对应的用户;
PR:优先级;
VIRT:虚拟内存;
RES:常驻内存;
SHR:共享内存;
计算一个进程实际使用的内存 = 常驻内存(RES)- 共享内存(SHR)
S:表示进程的状态status(sleeping,其中S表示睡眠,R表示运行);
%CPU:表示CPU的占用百分比;
%MEM:表示内存的占用百分比;
TIME+:执行的时间;
COMMAND:进程的名称或者路径;
在运行top时,可以按下方便快捷键:
M:表示将结果按照内存(mem)从高到低进行降序排列
P:表示将结果按照cpu使用率从高到低进行降序排列
1:当服务器拥有多个cpu时可以使用”1“来切换是否显示展示各个cpu的详细信息
6.du -sh指令
作用:查看目录的真实大小
语法:#du -sh 目录路径
参数含义:
-s:summaries 表示只显示汇总的大小
-h:表示以可读性较高的形式显示
7.find指令
作用:用于查找文件(其参数有55个之多)
语法:#find 路径范围 选项 选项的值
选项:
-name:按照文档名称进行搜索(支持模糊搜索)
-type:按照文档的类型进行搜索
文档类型:"-"表示文件(在使用find的时候需要f来代替,”d“表示文件夹
案例:搜索etc目录下所有的conf后缀文件
案例:使用find来搜索httpd.conf
*#find / -name httpd.conf
案例:使用find来搜索/etc/sane.d/目录下所有的文件
案例:使用find来搜索/etc/目录下所有的文件夹
8.service指令(***)
作用:用于控制一些软件的服务启动/停止/重启
语法:#sevice 服务名 start/stop/restart
例如:需要启动本机安装的Apache(网站服务器软件),其服务名httpd
*#service httpd start
通过ps命令来检查httpd服务是否启动:
9.kill指令(***)
作用:表示杀死进程 (当遇到僵尸进程或者出于某些原因需要关闭进程的时候)
语法:#kill 进程PID (语法需要配合ps一起使用)
案例:kill掉Apache进程
与kill命令作用相似但是比kill更加好用的杀死进程的命令:killall
语法:#killall 进程名称
10.ifconfig指令
作用:用于操作网卡相关的指令
简单语法:#ifconfig (获取网卡信息)
Eth0表示Linux中的一个网卡,eth0是其名称。Lo(loop,本地回还网卡,其ip地址一般都是127.0.0.1)也是一个网卡名称。
inet addr 就是网卡的ip地址
11.reboot指令
作用:重新启动计算机
语法1:#reboot
语法2:#reboot -w 模拟重启,但是不重启,只写关机与开机的日志。
12.shutdown指令
作用:关机 (慎用)
:#shutdown -h 15:25
如果想要取消关机计划的话,则可以按照以下方式去尝试:
①针对于centos7.x之前的版本:ctrl+c
②针对于centos7.x(包含)之后的版本:#shutdown -c
除了shutdown关机以外,还有以下几个关机命令:
#init 0
#halt
#poweroff
13.uptime指令
作用:输出计算机的持续在线时间(计算机从开机到现在运行的时间)
语法:#uptime
14.uname指令
作用:获取计算机操作系统相关信息
语法1:#uname 获取操作系统的类型
语法2:#uname -a all,表示获取全部的系统信息(类型、全部主机名、内核版本、发布时间、开源计划)
15.netstat -tnlp指令
作用:查看网络的连接状态
选项说明:
-t:表示只列出tcp协议的连接;
-n:表示将地址从字母组合转化成ip地址,将协议转化成端口号来显示;
-l:表示过滤出“state(状态)”列中其值为LISTEN(监听)的连接;
-p:表示显示发起连接的进程pid和进程名称;
16.man指令
作用:manual,手册 (包含linux全部命令手册,英文)
语法:#man 命令 (退出按下q)
3.1vim编辑器
1.vi介绍
Vi编辑器是所有Unix及Linux系统下标准的编辑器,类似于windows系统下的notepad(记事本)编辑器,由于在Unix及Linux系统的任何版本,Vi编辑器是完全相同的,因此可以在其他任何介绍vi的地方都能进一步了解它,Vi也是Linux中最基本的文本编辑器,学会它后,我们将在Linux的世界里畅行无阻,尤其是在终端中。
关于vim:
vi和vim都是Linux中的编辑器,不同的是,vim比较高级,可以视为vi的升级版本。vi使用于文本编辑,但是vim更适用于coding(写代码的)。
Vim重点是光标的移动,模式切换,删除,查找,替换,复制,粘贴,撤销命令的使用。
2.vim三种模式(***)
vim中存在三种模式(大众的认知):命令模式,编辑模式,末行模式
命令模式:在该模式下不能对文件直接编辑,可以输入快捷键进行一些操作(删除行,复制行,移动光标,粘贴等等)
编辑模式:再改模式下可以对文件的内容进行编辑
末行模式:可以在末行输入命令来对文件进行操作(搜索,替换,保存,退出,撤销,高亮等等)
vim打开文件的方式(4种)
1.#vim 文件路径 作用:打开指定的文件
2.#vim +数字 文件路径 作用:打开指定的文件,并且将光标移动到指定行
3.#vim +/关键词 文件路径 作用:打开指定的文件,并且高亮显示关键词
4.#vim 文件路径1 文件路径2 文件路径3 ... 作用:同时打开多个文件
退出方式:输入:q 按下回车
3.命令模式
注意:该模式是打开文件第一个看到的模式(打开文件即可进入)
1.光标的移动
光标移动到行首:shift+6 或 ^
光标移动到行尾:shift+4 或 &
光标移动到首行:gg
光标移动到末行:G
向上翻屏:pgup或 ctrl+b
向下翻屏:pgdn或 ctrl+f
2.复制
情况1:复制光标所在行(yy)
情况2:以光标所在行为准(包括当前行),向下复制指定的行数(数字 yy)
情况3:可视化复制
按键:ctrl + v(可视块)或V(可视行)或v(可视),然后按下↑↓←→方向键来选中需要复制的区块,按下y键进行复制,最后按下p键粘贴
3.剪切/删除
剪切/删除光标所在行:dd(dd严格意义上说是剪切命令)
剪切/删除光标所在行为准,向下删除/剪切指定的行:数字dd
剪切/删除光标所在的当前行之后的内容,但是删除之后下一行不上移:D
可视化删除
按键:ctrl + v(可视块)或V(可视行)或v(可视),上下左右移动,按下D表示删除选中行,按下d表示删除选中块
4.撤销/删除
撤销:输入:u(不属于命令模式)或者 u(undo)
恢复:ctrl+r 恢复(取消)之前的撤销操作
4.模式间的切换
5.末行模式
进入方式:由命令模式进入,按下“:”或者“/”(表示查找)即可进入
退出方式:按下esc,按两下esc快速退出,删除所有字符
保存操作:":w"(保存),“:w 路径”(另存为)
退出:“:q" 退出文件
保存并退出:":wq"
强制:"!"
强制退出:”:q!“
调用外部命令:":! 外部命令"
搜索:”/关键词“
在搜索结果中切换上/下一个搜索结果:N/n
如果需要取消高亮,则需要输入:”:nohl“(no highlight)
替换:":s/搜索的关键字/新的内容" 替换光标所在行的第一处关键字
":s/搜索的关键字/新的内容/g" 替换光标所在行的所有关键字
":%s/搜索的关键字/新的内容" 替换全篇每行的第一个关键词
":%s/搜索的关键字/新的内容/g" 替换全篇的关键词
% 表示整个文档,g 表示全局(global)
显示行号(临时):":set nu" 取消:":set nonu"
扩展:使用vim同时打开多个文件,在末行模式下进行切换文件
查看当前已经打开的文件名称:“:files”
%a表示active,表示当前正在打开的文件
#:表示上一个打开的文件
切换文件的方式:如果需要指定切换文件的名称,则可以输入:“:open 已经打开文件名称”
通过其他命令来切换上/下一个文件:":bp"/“:bn”
6.编辑模式
进入:按下i,a等
退出:按一下esc
7.使用功能
1.代码着色
如何控制着色显示与否?
显示:“:syntax on”
关闭:“:syntax off”
2.计算器
编辑模式,ctrl+r,然后输入“=”,此时光标回到最后一行,输入需要计算的内容
8.扩展
1.vim配置
vim配置有三种情况:(如果针对同一个配置项,个人配置文件中存在,则以个人配置文件为准)
a.在文件打开的时候在末行模式下输入的配置(临时的)
b.个人的配置文件(~/.vimrc,可以自行新建)
新建好个人配置的文件之后进入编辑
在配置文件中进行配置,比如:set nu(显示行号)
c.全局配置文件(vim自带,/etc/vimrc)
2.异常退出
解决方法:将交换文件(在编辑过程中产生的临时文件)删除,该文件为隐藏文件,需要ls -a才能看见
3.别名机制
作用:相当于创建一些属于自己的自定义的命令
例如:在windows下有cls命令,在Linux下可能因为没有这个命令而不习惯清屏。现在可以通过别名机制来解决这个问题,可以自己创造出cls命令
别名机制依靠一个别名映射文件:~/.bashrc
:#vim ~/.bashrc
注意:如果想新创造的命令生效,必须要重新登录当前用户。
4.退出方式
回顾:之前vim中退出编辑的文件可以使用“:q”或者“:wq”。
除了上面的这个语法之外,vim还支持另外一个保存退出方法“:x”。
说明:
①“:x”在文件没有修改的情况下,表示直接退出,在文件修改的情况下表示保存并退出;
②如果文件没有被修改,但是使用wq进行退出的话,则文件的修改时间会被更新;但是如果文件没有被修改,使用x进行退出的话,则文件修改时间不会被更新的;主要是会混淆用户对文件的修改时间的认定。
因此建议以后使用“:x”来进行对文件的保存退出。
但是:不要使用X,不要使用X,不要使用X,X表示对文件进行加密操作。
4.1linux自有服务
1.运行模式
运行模式也可以成为运行级别
在linux中存在一个进程:init(initialize,初始化),进程id是1
查看进程:#ps -ef|grep init
该进程存在一个对应的配置文件:inittab(系统运行级别配置文件,位置/etc/inittab)
文件的主要内容:
根据上述的描述,可以得知,Centos6.5中存在7中运行级别/模式。
0 — 表示关机级别(不要将默认的运行级别设置成这个值)
1 — 单用户模式
2 — 多用户模式,不带NFS(Network File Syetem)
3 — 多用户模式,完全的多用户模式(不带桌面的,纯命令行模式)
4 — 没有被使用的模式(被保留模式)
5 — X11,完整的图形化界面模式
6 — 表示重启级别(不要将默认的运行级别设置成这个值)
与该级别相关的几个命令:
:#init 0 表示关机
:#init 3 表示切换到不带桌面的模式
:#init 5 切换到图形界面
:#init 6 重启电脑
注意:init指令需要超级管理员的权限,普通用户无法执行。
这些命令其实都是调用的init进程,将数字(运行级别)传递给进程,进程去读配置文件执行对应的操作。
①切换到纯命令行模式下(临时切换,重启之后又恢复)
:#init 3
切换之后需要输入用户名和密码,在输入密码的时候没有“*”提示输入,只要自己确认输入的密码没有错误,按下回车即可。
②回到桌面模式
init 5
③设置模式永久为命令行模式
将/etc/inittab文件中的initdefault值设置成3,然后重启操作系统。
二、用户与用户组管理(重点)
Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
每个用户账号都拥有一个惟一的用户名和各自的密码。
用户在登录时键入正确的用户名和密码后,就能够进入系统和自己的主目录。
要想实现用户账号的管理,要完成的工作主要有如下几个方面:
用户账号的添加、删除、修改以及用户密码的管理。
用户组的管理。
注意三个文件:
/etc/passwd 存储用户的关键信息
/etc/group 存储用户组的关键信息
/etc/shadow 存储用户的密码信息
1、用户管理
①添加用户
常用语法:#useradd 选项 用户名
常用选项:
-g:表示指定用户的用户主组,选项的值可以是用户组的id,也可以是组名
-G:表示指定用户的用户附加组,选项的值可以是用户组的id,也可以是组名
-u:uid,用户的id(用户的标识符),系统默认会从500之后按顺序分配uid,如果不想使用系统分配的,可以通过该选项自定义【类似于腾讯QQ的自选靓号情况】
-c comment:添加注释
案例:创建用户zhangsan,不带任何选项
扩展:认识passwd文件
用户名:密码:用户ID:用户组ID:注释:家目录:解释器shell
用户名:创建新用户名称,后期登录的时候需要输入;
密码:此密码位置一般情况都是“x”,表示密码的占位;
用户ID:用户的识别符;
用户组ID:该用户所属的主组ID;
注释:解释该用户是做什么用的;
家目录:用户登录进入系统之后默认的位置;
解释器shell:等待用户进入系统之后,用户输入指令之后,该解释器会收集用户输入的指令,传递给内核处理;
注意:在不添加选项的时候,执行useradd之后会执行一系列的操作
a. 创建同名的家目录;
b. 创建同名的用户组;
案例:添加选项,创建用户lisi,让lisi属于501主组,附加组500,自选靓号666。
注意:查看用户的主组可以查看passwd文件,查看附加组可以查看group文件。
②修改用户
常用语法:#usermod 选项 用户名
Usermod:user modify,用户修改
常用选项:
-g:表示指定用户的用户主组,选项的值可以是用户组的id,也可以是组名
-G:表示指定用户的用户附加组,选项的值可以是用户组的id,也可以是组名
-u:uid,用户的id(用户的标识符),系统默认会从500之后按顺序分配uid,如果不想使用系统分配的,可以通过该选项自定义【类似于腾讯QQ的自选靓号情况】
-l:修改用户名
案例:修改zhangsan用户主组为500,附加组改为501
:#usermod -g 500 -G 501 zhangsan
案例:修改zhangsan用户用户名,改为wangerma
:#usermod -l 新的用户名 旧的用户名
:#usermod -l wangerma zhangsan
③设置密码
Linux不允许没有密码的用户登录到系统,因此前面创建的用户目前都处于锁定状态,需要设置密码之后才能登录计算机。
常用语法:#passwd 用户名
案例:设置wangerma用户的密码
在设置密码的时候也是没有任何输入提示的,放心输入,确保两次输入的密码一致,按下回车即可。
也可以使用弱密码,但是不建议,否则会看到以下的提示:
设置密码之后shadow文件中的体现:能够看出lisi用户没有密码的。
在设置用户密码之后可以登录帐号,例如此处需要登录wangerma
切换用户命令:#su [用户名] (switch user)
如果用户名不指定则表示切换到root用户。
切换用户需要注意的事项:
a. 从root往普通用户切换不需要密码,但是反之则需要root密码;
b. 切换用户之后前后的工作路径是不变的;
c. 普通用户没有办法访问root用户家目录,但是反之则可以;
④删除用户
常用语法:#userdel 选项 用户名
Userdel:user delete(用户删除)
常用选项:
-r:表示删除用户的同时,删除其家目录;
案例:删除wangerma用户
注意:已经登录的wangerma用户删除的时候提示删除失败,但是没有登录的lisi用户可以正常删除。
解决办法:简单粗暴,kill对应用户的全部进程
提示:所有跟用户操作的命令(除passwd外)只有root超级管理员有权限执行。
三.网络设置
网卡的配置文件以及位置:/etc/sysconfig/network-scripts
在目录中网卡的配置文件命名格式:ifcfg-网卡名称
ONBOOT:是否开机启动
BOOTPROTO:ip地址分配方式,DHCP表示动态主机分配协议
HWADDR:硬件地址,MAC地址
如果后续需要重启网卡怎么去操作呢?
:#service network restart
在有的分支版本中可能没有service命令来快速操作服务,但是有一个共性的目录:/etc/init.d
这个目录中放着很多服务的快捷方式。
此处重启网卡命令还可以使用:
:#/etc/init.d/network restart
扩展1:如果需要修改网卡的配置文件,但是配置文件的目录层次很深,此时可以在浅的目录中创建一个快捷方式(软连接),方便以后去查找:#ln -s 目标文件位置 存放位置
通过ls -l可以列出如下的效果:
其中,文件类型位置的“l”表示其类型为link(连接类型),后面的“->”指向的是原始文件路径。
扩展2:如何重启/停止单个网卡
停止:#ifdown 网卡名称
开启:#ifup 网卡名称
重启:#restart 网卡名称
四.ssh服务
ssh(secure shell,安全外壳协议),该协议有两个常用的作用:远程连接协议,远程文件传输协议。
协议使用端口号:默认是22,
可以是被修改的,如果需要修改,则需要修改ssh服务的配置文件
:#/etc/ssh/ssh_config
端口号可以修改,但是得注意2个事项(防火墙):
a. 注意范围,端口范围是从0-65535;
b. 不能使用别的服务已经占用的端口;
服务启动/停止/重启
:#service sshd start/stop/restart
:#/etc/init.d/sshd start/stop/restart
1.远程终端
终端工具主要帮助运维人员远程连接服务器,常见工具:Xshell,secureCRT,Putty
①获取服务器ip地址,可以通过ifconfig命令进行查看,然后顺手测试ip的连接相通性
②打开putty,输入相关的信息
③在弹出key确认的时候点击“是”,以后不会再提示
④输入登录信息
2.ssh服务文件传输
可视化的界面传输工具:Filezilla
安装好之后可以查看到桌面图标:
①选择“文件”- “站点管理器(Ctrl + S)”
②点击“文件”菜单下方的“▽”选择需要连接的服务器,连接好之后的效果
③从本地windows上传文件到linux中方式
支持直接拖拽文件,也可以右键本地需要上传的文件,然后点选“上传”即可
④下载linux文件到本地
支持服务器文件直接拖拽到本地,也可以在右侧窗口选择需要下载的文件,右键,点选“下载”。
扩展3:通过命令行工具来传输文件/文件夹
工具:pscp.exe(必须通过cmd打开)
用法:1.pscp 选项 用户名@linux 主机地址:资源路径 windows 本地的地址(下载到win)
2.pscp 选项 资源路径 用户名@linux 主机地址:远程路径(上传到linux)
3.pscp 选项 -ls 用户名@linux 主机地址:(列出远程路径下的结构)
①下载到本地windows
要求将远程linux服务器下的/etc整个目录下载到本地E:\tmp下
:#pscp -r <u>root@192.168.21.128:/etc</u> E:\tmp
在CMD中输入之后输入密码
-r表示递归调用
ctrl+c暂停
备注:
kali Linux 是没有像Ubuntu一样的Ctrl+Alt+T打开终端的快捷方式的,所以我们可以自己设置我们喜欢的快捷方式。
在Kali下,
打开控制中心的代码:gnome-control-center
打开终端的代码:gnome-terminal
在设置中心里,选择键盘(keyboard),在选择快捷键(shortcut),拉到最下面有一个小小的加号,点击它
就可以自己设置快捷键了,名字(name)是这个快捷键的名字,命令(command)是终端里的命令(打开终端在里面填写gnome-terminal即可),快捷键(shortcut)是自己设置的按键,根据自己的需要设置即可。
用ifconfig命令,只有lo,没有eth0的解决方案
问题描述:输入ifconfig命令,显示eth0和lo,但是自己在虚拟机中并非得到这样的结果,而是只有lo,即网卡未启动,也没有ip,无法用Xshell远程连接。
解决方案:
- 进入/etc/sysconfig/network-scripts 目录,发现有ifcfg-eth0,即网卡(驱动)存在但未启用。
- 输入ifconfig -a命令,可显示eth0和lo。
- 输入ifconfig eth0 up,启用网卡。此时用ifconfig,只能看到inet6(ipv6?)的地址,没有inet的地址(即Xshell连接输入的ip)。
- 修改/etc/sysconfig/network-scripts/ifcfg-eth0 文件, 把ONBOOT=no 改为 ONBOOT=yes,但ifconfig的结果没有任何改变。(省略该步骤不知道是否有效)
- service network restart,重启。出现shutdown eth0 OK,bring up eth0 OK,determine ip for eth0 OK。
- 输入ifconfig,出现eth0的inet地址。用Xshell连接成功。
在linux中有一个特殊的符号"~",表示当前用户的家目录
切换方式:#cd ~