Linux

凑合着吧 对于Linux的一些整理....

目录结构:

Bin: 全称 binary, 含义是二进制。该目录中存储的都是一些二进制文件,文件是可以被运行的。

Dev: 该目录中主要存放的是外接设备,例如盘、其他的光盘等。在其中的外接设备是不能直接被使用的,需要挂载(类似Windows下的分配盘符);

Mnt: 当外接设备需要挂载的时候,就需要挂载到mnt目录下。

Etc: 该目录只要存储一些配置文件。

Home: 表示“家”, 表示除了root用户以外其他用户的家目录,类似于windows下的User/ 用户目录。

Proc: process,表示进程,该目录中存储的是linux运行时的进程。

Root: 该目录是root用户自己的家目录。

Sbin: 全称super binary, 该目录也是存储一些可以被执行的二进制文件,但是必须的有super权限的用户才能执行。

Tmp: temporary,表示临时的,当系统运行时产生的临时文件会在这个目录存着。

Usr: 存放的是用户自己安装的软件。类似于windows下的program files.

Var: 存放程序/系统的日志文件的目录。

基础指令

ls (list)

用法1: #ls

含义: 列出当前工作目录下的所有文件/文件夹的名称。

用法2: #ls 路径

路径分为两种:相对路径、绝对路径。

相对路径:首先得有一个参照物(一般就是当前的工作路径)

相对路径的写法:通常会用到2个符号 "./"(表示当前目录下), "../" (表示上一级目录下)。

绝对路径: 绝对路径不需要参照物,直接从根 "/" 开始寻找对应路径。

用法3: #ls 选项 路径

含义: 在列出指定路径下的文件/文件夹的名称,并以指定的格式进行显示

常见的语法:

#ls-l 路径

#ls-la 路径

选项解释:

-l: 表示list,表示以详细列表的形式进行展示

-a: 表示显示所有的文件/文件夹(包含了隐藏的文件/文件夹)

在linux中隐藏的文档一般都是以"."开头

用法4: #ls-lh 路径

含义: 列出指定路径下的所有文件/文件夹的名称,以列表的形式并且在显示文档大小的时候以可读性较高的形式显示

注意:ls 列出的结果说明,其中蓝色的名称表示文件夹,黑色的表示文件,绿色的其权限为拥有所有权限。

pwd

用法: #pwd (print working directory, 打印当前工作目录)

cd

用法: #cd (change directory,改变目录)

作用:用于切换当前的工作目录

语法: #cd 路径

例: cd../../root

在linux中有一个特殊的符号"~",表示当前用户的家目录

切换的方式: #cd ~

mkdir (make directory,创建目录)

语法1: #mkdir 路径

路径: 可以是文件夹名称,也可以是包含名称的一个完整路径

语法2: #mkdir -p 路径

含义: 当需要一次性创建多层不存在的目录时,需要添加 -p 参数

例如: #mkdir -p /root/a/b/c/d

语法3: #mkdir 路径1 路径2 路径3 ...

含义: 一次性创建多个文件夹

例如: #mkdir a b c d

touch

作用: 创建文件

语法: touch 文件路径(可以是文件名也可以是路径)

例子: touch linux.txt

touch linux2.txt linux3.txt (同时创建多个文件)

touch /home/txt/linux.txt  (指定文件夹下创建文件)

cp  (copy, 复制)

用法: #cp 被复制的文档路径  文档保存的路径

例如: #cp linux.txt /home/linux.txt

#cp linux.txt /home/linuxxxx.txt (可以更改新文档的名字)

#cp -r /linux/ /home/linux  (复制文件夹及其文件, -r 指递归)

mv  (move,移动、剪切)

用法: #mv 需要移动的文档路径  保存文档的新路径

例如: #mv /linux /home

注意: 在linux中重命名也是mv,语法和移动语法一样

例如: #mv /linux /linux111

rm (remove,移动、删除)

语法: #rm 选项 需要移除的文档路径

选项:

-f: force,强制删除

-r: recursion, 递归

例如: 删除一个文件

#rm linux.txt

在删除的时候,如果不带选线,会提示是否删除,如果需要删除则输入 "y/yes" ,否则输入 "n/no" 按下回车

如果在删除的时候不想频繁的确认,在可以在指令中添加选项 "-f" ,表示force(强制)。

#rm -f linux.txt

#rm -rf /home  (强制删除home文件夹下的所有文件)

#rm -rf a b c (删除多个文件)

案例: 删除以linux开头的所有文件

#rm -f linux*

* 称之为通配符,表示任意的字符。

vim (一款文本编辑器)

语法: vim 文件路径

作用: 打开一个文件(可以存在,也可以不存在)

退出打开的文件夹:在没有按下其他命令的其他情况下,按下shift+英文冒号,输入q,按下回车即可。

输出重定向

一般命令的输出都会显示在终端,有些时候需要将一些命令执行的结果保存到文件中进行后续的分析、统计,就需要用到输出重定向技术。

>: 覆盖输出,会覆盖原来的文件内容。

>>: 追加输出,不会覆盖原始文件的内容,会在原始文件内容末尾继续添加.

语法: #正常执行的指令 >/>> 文件的路径

案例: 使用覆盖重定向,保存 ls-la 的执行结果, 保存到当前目录下的ls.txt

#ls -la > ls.txt

vim ls.txt

案例: 使用追加重定向,保存 ls-la 的执行结果到 ls.txt 中

#ls -la >> ls.txt

cat

作用1: cat 有直接打开一个文件的功能

语法1: #cat 文件的路径

cat linux.txt

作用2: cat还可以对文件进行合并

语法2: #cat 待合并的文件路径1 待合并的文件2... 文件路径n > 合并之后的文件路径

例如: #cat /home/linux1 /home/linux2 /home/linux2 > all.txt

进阶指令

df (查看磁盘的空间)

#df

#df -h

free  (查看内容使用情况)

#free

#free -m  (以mb为单位查看)

head  (查看一个文件的前 n 行,如果不指定n, 则默认显示前10行)

#head-n 文件路径      (n表示数字)

tail  (查看一个文件的末n行,如果不指定n,默认显示后10行)

#tail -n 文件路径

例如:#tail -l linux.txt  (查看文件的最后一行)

可以通过tail指令查看一个文件的动态变化

语法: #tail -f 文件路径

tail 一般用于查看日志

less

作用: 查看文件,以较少的内容进行输出,按下辅助功能键(数字+回车、空格+上下方向键)查看更多

语法: #less 需要查看的文件的路径

wc

作用: 统计文件内容信息(包括行数、单词数、字节数)

语法: #wc -lwc 需要统计的文件路径

-l: 表示lines,函数

-w: 表示words,单词数

-c: 表示bytes,字节数

date  (重要)

作用: 表示操作时间日期(读取、设置)

语法1: #date

语法2: #date +%F (等价于 #date "+%Y-%m-%d" )

语法3: #date "+%F %T"  等价于: #date "+%Y-%m-%d %H:%M:%S" (引号表示让“年月日与时分秒”成为一个不可分割的整体)

输出形式: 2019-05-16 20:34:56

语法4:-d  “-1 day” -d "%Y-%m-%d %H:%M:%s"  (之前一天的时间)

%F: 表示完整的年月日

%T: 表示完整的时分秒

%Y: 表示四位年份

%m: 表示两位月份(带前导0)

%d: 表示天(带前导0)

%H: 表示小时(带前导0)

%M: 表示分钟(带前导0)

%S: 表示秒数(带前导0)

cal

作用: 用来操作日历

语法1: #cal 等价于 #cal -1  ,直接输入当前月份的日历

语法2: #cal -3    表示输出上一个月+本月+下一个月的日历

语法3: #cal -y 年份    表示输出某一年的日历

clear / ctrl+l

作用:清除终端中已经存在的 命令和结果。

该命令不是真的清除了之前的信息,而是把之前的信息的隐藏到最上面,通过滚动条可以查看以前的信息。

管道 (重要)

管道符: |

作用: 管道以便可以用于 "过滤" 、 "特殊" 、 "扩展处理" 。

语法: 管道不可以单独使用,必须配合前面所讲的一些指令来一起使用,其作用主要是辅助作用。

过滤案列: 通过管道查询出根目录下包含 'y' 字母的文档名称。

#ls /|grep y

针对上面命令的说明:

1、以管道作为分界线,前面的命令有个输出,后面需要先输入,然后再过滤,最后再输出;通俗的讲就是管道前面的输出就是后面指令的输入。

2、grep:只要用于过滤

特殊用法案例:通过管道的操作方法实现less的等价效果(#less 路径)

#cat 路径|less

扩展处理:统计某个目录下的文档的总个数

#ls /| wc -l

高级指令

hostname

作用:操作服务器的主机名(读取、设置)

语法1:#hostname      (输出完整的主机名)

语法2:#hostname -f (输出当前主机名中的FQDN:全限定域名)

id

作用:查看一个用户的一些基本信息(包含用户id,用户组id,附加组id...),该指令如果不指定用户则默认当前用户。

语法1: #id

语法2: #id 用户名

例如:#id root

验证用户信息:通过文件 /etc/passwd

验证用户组信息:通过文件 /etc/group

whoami

作用:显示当前登录的用户名,一般用于shell脚本,用于获取当前操作的用户名方便记录日志。

语法: whoami

ps -ef (重要)

作用:查看服务器的进程信息

-e: 等价于"-A",表示列出全部的进程

-f: 显示全部的列(显示全字段)

执行ps -ef 列的含义:

UID:改进程执行的用户ID

* PID:进程id

* PPID:该进程的父级进程id,如果一个程序的父级进程找不到,改程序的进程称之为僵尸进程

* C:cpu的占用率,其形式是百分数

STIM:进程的启动时间

TTY: 终端设备,发起该进程的设备识别符号,如果显示"?",则表示该进程并不是由终端设备发起

TIME:进程的执行时间

CMD:该进程的名称或者相对应的路径

案例:在ps的结果中过滤出想要查看的进程状态

#ps -ef|grep 进程名称

#ps -ef|grep gnome-panel

top (重要)

作用: 查看服务器的进程占的资源

语法:

#top    (动态显示)

退出命令: 按下q键

执行#top结果各列的含义:

PID:进程id

USER:该进程对应的用户

PR: 优先级

VIRT: 虚拟内存

RES: 常驻内存

SHR: 共享内存

计算一个进程实际使用的内存 = 常驻内存(RES) - 共享内存(SHR)

S: 表示进程的状态(sleeping,其中S表示睡眠,R表示运行)

%CPU:表示CPU的占用百分比

%MEM:表示内存的占用百分比

TIME+: 执行的时间

COMMAND: 进程的名称或者路径

在运行top的时候,可以按下快捷键:

M : 表示将就过按照内存(MEM)从高到低进行降序排列

P : 表示将结果按照CPU使用率从高到低进行降序排列

1: 当服务器拥有多个CPU的时候可以使用“1”快捷键来切换是否展示显示各个信息

du -sh

作用:查看目录的真实大小

语法: #du -sh 目录路径

选项含义:

-s: summaries, 只显示汇总的大小

-h: 表示以高可读性的形式进行显示

案例:查看etc目录实际大小

#du -sh /etc/

find

作用:用于查找文件(其参数有55个)

语法:#find 路径范围 选项 选项的值

选项:

-name: 按照文档名称进行搜索(支持模糊搜索)

-type: 按照文档的类型进行搜索

文档类型: "-"表示文件(在使用find的时候需要用f来替换),"d"表示文件夹

案例:使用find在跟目录下搜索httpd.conf

#find / -name httpd.conf

案例: 搜索etc目录下所有带conf后缀的文件,并统计个数。

#find /etc -name *.conf | wc -l

案例:搜索etc目录下的所有文件

#find /etc -type f

案例:搜索etc目录下的所有文件夹

#find /etc -type d

service  (重要)

作用:用于控制一些软件的服务启动/停止/重启

语法: #service 服务名 start/stop/restart

案例:启动本机安装的Apache(网站服务软件),其服务名为httpd

#service httpd start

kill (重要)

作用:杀死进程  (当遇到僵尸进程或者出于某些原因需要关闭进程的时候)

语法: #kill 进程pid (语法需要配合ps一起使用)

案例:kil掉Apache的进程

#service httpd start

#ps -ef| grep httpd

#kill 3291

#ps -ef|grep httpd

与kill命令作用相似,但是比kill更加好用的杀死进程的命令:killall

语法: #killall 进程名称

#service httpd start

#killall httpd

#ps -ef|grep httpd

ifconfig (重要)

作用:用于操作网卡的相关命令

简单语法:#ifconfig  (获取网卡相关信息)

inet addr 就是网卡的ip地址

reboot

作用:重新启动计算机

语法1:#reboot 重启

语法2:#reboot -w 模拟重启,但是不重启(写入开机与关机的日志信息)

shutdown

作用:关机    (慎用)

语法1:#shutdown -h now "提示信息"  或者  #shutdown -h 6:00 "关机提示"

案例:设置linux系统在12:00 关机

#shutdown -h 12:00 "系统将在12:00关机,请保存好数据!"

如果要取消关机计划,按照以下方式操作:

centos7.X之前的版本: ctrl+c

centos7.x之后的版本: #shutdown -c

其他的关机命令:

#init 0

#halt

#poweroff

uptime

作用:输出计算机的持续在线时间(计算机从开始到运行到现在的时间);

语法: #uptime

uname

作用:获取计算机操作系统的相关信息

语法1:#uname    获取操作系统的类型

语法2:#uname -a all,获取全部的系统信息(类型、全部主机名、内核版本、发布时间、开源计划)

netstat -tnlp

作用:查看网络连接状态

语法:#netstat -tnlp

选项说明:

-t: 表示只列出tcp协议的连接

-n: 表示将地址从字母组合转化成ip地址,将协议转化成端口号来显示

-l: 表示过滤出"state(状态)"列中其值为LISTEN(监听)的连接

-p: 表示显示发起连接的进程PID和进程名称

man

作用:manual,手册(包含linux中全部命令手册)

语法:#man 命令        (退出按下q键)

#man man

vim三种模式

Vim种存在三种模式:命令模式、编辑模式(输入模式)、末行模式(尾行模式)

命令模式:在该模式下是不能对文件进行直接编辑,可以输入快捷键进行一些操作(删除行,复制行,移动光标,粘贴等等)【打开文件之后默认进入的模式】

编辑模式:在该模式下可以对文件的内容进行编辑

末行模式:可以在末行输入命令来对文件进行操作(搜索、替换、保存、退出、撤销、高亮等等)

Vim打开文件的4种方式

#vim 文件路径 作用:打开指定的文件

#vim +数字 文件路径 作用:打开指定的文件,并且将光标移动到指定行

#vim +/关键词 文件路径 作用:打开指定的文件,并且高亮显示关键词

#vim 文件路径1 文件路径2 文件路径3 作用:同时打开多个文件

重点:先复制出一个/etc/passwd文件到家目录下

#cd

#cp /etc/passwd ~/

后续一切命令都是基于/root/passwd文件进行操作

退出方式:输入:q按下回车

#vim /root/passwd

#vim +6 passwd

#vim +/login passwd

命令模式

注意:该模式是打开文件看到的第一个模式(默认打开文件就进入)

1、光标移动

1、光标移动到行首

按键:shift+6(T字母上面的6) ^

2、光标移动到行尾

按键:shift+4  (R字母上面的4) $

3、光标移动到首行

按键: gg

4、光标移动到末行

按键: G

5、翻屏

向上翻屏:按键ctrl+b (before) 或者  pageUp

向下翻屏:按键ctrl+f (after) 或者 pageDown

2、复制操作

1、复制光标所在行

按键: yy

粘贴: p

2、以光标所在行为准(包含当前行),向下复制指定的行数

按键: 数字yy

3、可视化复制

按键: ctrl+v,方向键选中需要复制的块,yy复制,p粘贴

3、剪切/删除

1、剪切/删除光标所在行

按键: dd (删除之后,下一行上移)

注意: dd

粘贴: p

(严格意思上说是剪切命令,如果剪切了不粘贴就是删除的效果)

2、剪切/删除光标所在行为准(包含当前行),向下删除/剪切指定的行

按键: 数字dd  (删除之后下一行上移)

3、剪切/删除当前行,删除之后下一行不上移

按键: D (删除之后当前行会变成空白行)

4、撤销/恢复

撤销:输入  :u(不属于命令模式)  或者  u (undo)

恢复: ctrl+r 恢复之前的操作

5、扩展1:光标的快速移动

1、快速将光标移动到指定的行

按键: 数字G

2、以当前光标为准向上/向下移动n行

按键: 数字↑,数字↓

3、以当前光标为准想左/向右移动n字符

按键:数字←,数字→

4、末行模式下的款速移动方式:移动到指定的行

按键:输入 :数字  回车

命令模式切换到末行模式:

进入末行模式:按下  : 或者 /

退出末行模式:按一下esc 或者 按两下esc 或者 删除末行中的全部命令

保存操作(write):

输入: ":w" 保存文件

输入: ":w 路径" 另存为

退出(quit):

输入: ':q' 退出文件

保存冰退出:

输入: ':wq' 保存并退出

强制(!)

输入: ":q!"  表示强制退出,刚才做的修改不做保存

调用外部命令:

输入: ":! 外部命令"

#:! -la

搜索/查找

语法: /关键词

#/sbin

切换上一个、下一个结果: N/n  (next)

命令模式切换到末行模式:

进入末行模式:按下  : 或者 /

退出末行模式:按一下esc 或者 按两下esc 或者 删除末行中的全部命令

保存操作(write):

输入: ":w" 保存文件

输入: ":w 路径" 另存为

退出(quit):

输入: ':q' 退出文件

保存冰退出:

输入: ':wq' 保存并退出

强制(!)

输入: ":q!"  表示强制退出,刚才做的修改不做保存

调用外部命令:

输入: ":! 外部命令"

#:! -la

搜索/查找

语法: /关键词

#/sbin

切换上一个、下一个结果: N/n  (next)

如果要取消高亮,需要输入":nohl"  (no highlight)

替换

:s/搜索的关键词/新的内容 替换光标所在行的第一处符合条件的内容

:s/搜索的关键词/新的内容/g 替换光标所在行的全部符合条件的内容

:%s/搜索的关键词/新的内容 替换整个文档中每行第一个符合条件的内容

:%s/搜索的关键词/新的内容/g 替换整个文档的符合条件的内容

%表示整个文件

g表示全局(global)

显示行号

:set nu

取消  :set nonu

使用vim同时打开多个文件,在末行模式下进行文件切换

查看当前已经打开的文件名称 ==>  :files

执行:files的字段解释:在%a的位置有2种显示可能

%a: a=active,表示当前正在打开的文件

#: 表示上一个打开的文件

切换文件的方式:

1、如果需要指定切换文件的名称,则可以输入 ==> ":open 已经打开的文件名"

2、通过命令切换上一个文件/下一个文件

:bn 切换到下一个文件(back next)

:bp 切换到上一个文件 (back prev)

从命令模式切换到编辑模式:

i 或者 a 或者 o 或者 I 或者 A 或者 O 或者 S

i ==> 在光标所在字符前开始插入  (insert)

a ==> 在光标所在字符后开始插入 (after)

o ==> 在光标所在行的下面另起一新行插入

I ==> 在光标所在行的行首开始插入,如果行首有空格则在空格之后插入

A ==> 在光标所在行的行尾开始插入

O ==> 在光标所在行的上面另一行开始插入

S ==> 删除光标所在行并开始插入

退出方式: 按下 esc

实用功能

1.代码着色

开启 ==> syntax on

关闭 ==> syntax off

2.vim中的计算器

当在编辑文件的时候突然需要使用计算器去计算一些公式,则此时需要使用计算器,但是需要退出,vim集成了一个简易的计算器。

首先进入编辑模式

按" ctrl+R ",输入" = ",此时光标会变到最后一行

输入需要计算的内容,按下回车

拓展

vim的配置

vim配置有三种情况:

1、在文件打开的时候在末行模式下输入的配置(临时的)

2、个人配置文件(~/.vimrc, 如果没有可以自行新建)

3、全局配置文件(vim自带,/etc/vimrc)

1、新建好个人配置文件之后进入编辑

touch .vimrc

2、在配置文件中进行配置

比如显示行号: set nu

在.vimrc文件中写入 ==> set nu 即可

问题:如果某个配置,在个人配置文件与全局配置文件产生冲突的时候,谁的优先级高?

测试:在两个配置中针对同一个配置项设置不同的值

1、在全局配置中设置不显示行号,在个人配置文件中设置显示行号,观察结果。

最后显示行号,说明以个人配置项为准。

2、在全局配置中设置显示行号,在个人配置中设置不显示行号,观察结果。

最后不显示行号,说明以个人配置项为准。

结论:如果针对同一个配置项,个人配置文件中存在,则以个人配置文件为准;如果个人配置文件不存在,则以全局配置为准。

异常退出

在编辑文件之后并没有正常的去 wq (保存退出),而是遇到突然关闭终端或者断电导致的退出称之为异常退出。

解决办法:将交换文件(在编程过程中产生的临时文件)删除掉即可

别名机制

作用:相当于创建一些属于自己的自定义命令

别名机制依靠一个别名映射文件: ~/.bashrc

打开映射文件: vim ~/.bashrc

添加相应的快捷方式即可。

注意:如果想要新的快捷方式生效,需要重新登录当前账户。

退出方式

回顾:之前vim中退出编辑的文件可以使用 ":q" 或者 ":wq"

vim的另一个退出方法 ==> ":x"

说明:

1、 ":x" 在文件没有修改的情况下,表示直接退出,在文件修改的情况下表示保存并退出。

2、 如果文件没有被修改,但是使用了":wq"进行退出的话,则文件的修改时间会被更新;使用":x"进行退出的话,文件时间不会被更新。

建议使用":x"保存文件。

千万不要写成了":X",大写的X表示加密。

linux自有服务

运行模式

运行模式也可以称之为运行级别。

在linux中存在一个进程:init(inintialize,初始化),进程id是1.

查看进程: ps -ef|grep init

该进程存在一个对应的配置文件: inittab (系统运行级别配置文件,/etc/inittab)

cat etc/inittab

将看到7种运行级别:

0 ==> 表示关机级别 (不要将默认的运行级别设置成这个值)

1 ==> 单用户模式

2 ==> 多用户模式,不带NFS(network file system)

3 ==> 多用户模式,完全的多用户模式 (不带桌面的,纯命令行模式)

4 ==> 没有被使用的模式(被保留模式)

5 ==> X11,完整的图形化界面模式

6 ==> 表示重启级别 (不要将默认的运行级别设置成这个值)

与该级别相关的几个命令:

#init 0 表示关机

#init 3 表示切换到不带桌面模式

#init 5 切换到图形界面

#init 6 重启电脑

注意:init指令需要超级管理员权限。

这些命令都是调用init进程,将数字(运行级别)传递给进程,进程去读配置文件执行相应的操作。

切换到命令行模式下(临时切换)

#init 3

切换到桌面模式

#init 5

设置模式永久为命令行模式

将etc/inittab文件中的initdefault的值设置成3,然后重启操作系统。

用户与用户组管理

  

注意三个文件:

/etc/passwd 存储用户的关键信息

/etc/group 存储用户组的关机信息

/etc/shadow 存储用户的密码信息

用户管理

添加用户

常用语法: #useradd 选项 用户名

常用选项:

-g: 表示指定用户的用户主组,选线的值可以是用户组的id,也可以是组名

-G: 表示指定用户的用户附加组,选线的值可以是用户组的id,也可以是组名

-u: uid,用户的id(用户的标识符),系统默认会从500之后按顺序分配uid,如果不想使用系统分配的,可以通过该选项自定义

-c: comment, 添加注释

案例1:创建用户zhangsan,不带任何选项

#useradd zhangsan

验证是否创建成功:

1、验证/etc/passwd的最后一行,查看是否有zhangsan的信息

2、验证是否存在家目录(在Centos下创建好用户之后随之产生一个同名家目录)

#cat /etc/passwd  最后一行字段解释

用户名:密码:用户ID:用户组ID:注释:家目录:解释器shell

用户名:创建新用户的名称,后期登录的时候需要输入

密码:此密码位置一般情况都是"X",表示密码的占位

用户ID :用户的标识符

用户组ID :该用户所属的主组ID

注释:解释该用户是做什么用的

家目录:用户登录进入系统之后默认的位置

解释器shell:等待用户进入系统之后,用户输入指令之后,该解释器会手机用户输入的指令,传递给内核处理

注意:在不添加选项的时候,执行#useradd之后会执行一系列的操作

创建同名的家目录

创建同名的用户组

案例2:创建一个用户lisi,属于501主组,属于500的附加组,自选靓号666

# useradd -g 501 -G 500 -u 666 lisi

验证:

#cat /etc/passwd

#cat /etc/group 附加组

注意:查看用户的主组#cat /etc/paaawd,查看附加组#cat /etc/group

修改用户

常用语法: #usermod 选项 用户名

usermod: user modify

常用选项:

-g: 表示指定用户的用户主组,选线的值可以是用户组的id,也可以是组名

-G: 表示指定用户的用户附加组,选线的值可以是用户组的id,也可以是组名

-u: uid,用户的id(用户的标识符),系统默认会从500之后按顺序分配uid,如果不想使用系统分配的,可以通过该选项自定义

-l: 修改用户名

案例1:修改zhangsan的主组为500,附加组为501

#usermod -g 500 -G 501 zhangsan

案例2:修改zhangsan用户名为wangwu

#usermod -l 新用户名 旧用户名

#usermod -l wangwu zhangsan

设置密码

linux不允许没有密码的用户登录系统,因此前面创建的用户目前处于锁定状态,需要设置密码之后才能登录到系统。

语法: #passwd 用户名

案例1:设置wangwu的密码为wangwu.(密码太简单是通不过的)

#passwd wangwu

在设置用户密码之后可以登录账号,例如此处需要登录wangwu

切换命令: #su [用户名] (switch user)

如果用户名不指定,则会切换到root

切换用户注意事项:

1、从root往普通用户切换不需要密码,反之需要密码

2、切换用户之后前后的工作路径是不变的

3、普通用户没有权限访问root用户家目录,反之可以

删除用户

常用语法: #userdel 选项 用户名

userdel: user delete

常用选项:

-r: 表示删除用户的同时,删除其家目录

已经登录的用户是不能删除的,如果要删除,直接kill对应用户的进程id

案例:删除wangwu 

#userdel -r wangwu

注意:所有跟用户操作的命令(除passwd外),只有root超级管理员才能执行。

用户组管理

#cat /etc/group

文件结构

用户组名:密码:用户组ID:组内用户名

密码:X表示占位符,虽然用户组可以设置面膜,但是绝大部分的情况下不设置密码

组内用户名:表示附加组是该组的用户名称

用户组添加

常用语法: #groupadd 选项 用户名

常用选项:

-g: 自定义一个用户组ID数字,如果不指定,则默认从500之后递增

案例:创建一个administrators组

用户组编辑

常用语法: #groupmod 选项 用户组名

常用选项:

-g: 表示自定义用户组ID

-n: 表示新的用户组名称

案例: 修改administrators用户组,将组ID从502改成520,将名称改为admins

用户组删除

常用语法: #groupdel 用户组名

注意:如果一个组是某个用户的主组,则不允许删除这个组;若果需要删除,则需要移出组内的所有用户。

网络设置

网卡配置文件位置: /etc/sysconfig/network-scripts

在目录中网卡的配置文件命名格式: ifcfg-网卡名称

#cat /etc/sysconfig/network-scripts/ifcfg-eth0

ONBOOT: 是否开机启动

BOOTPROTO: IP地址分配方式,DHCP表示动态主机分配协议

HWADDR: 硬件地址,MAC地址

重启网卡1:

#service network restart

重启网卡2:

共性的目录: /etc/init.d    这个目录中放着很多服务的快捷方式

#/etc/init.d/network restart

扩展:如果修改网卡的目录地址很深,可以在浅层次目录创建快捷方式。

#ln -s 原始文件的路径 快捷方式的路径

例子: #ln -s /etc/sysconfig/network-scripts/ifcfg-eth0 ~/ifcfg-eth

扩展2:重启单个网卡

停止某个网卡: #ifdown 网卡名

开启某个网卡: #ifup 网卡名

例如:需要停止-启动(重启)eth0网卡,则输入

#ifdown eth0

#ifup eth0

注意:不要随意禁用网卡

ssh服务

ssh(secure shell,安全外壳协议),该协议有2个常用的作用:远程连接协议、远程文件传输协议。

协议使用端口号: 默认是22,可以被修改,修改ssh服务的配置文件:

#etc/ssh/ssh_config

修改端口号注意事项:

1、端口范围是从0-65535

2、不能使用别的服务已经占用的端口号

服务启动/停止、重启

#service sshd start/stop/restart

#/etc/init.d/sshd start/stop/restart

远程终端:

终端工具主要帮助运维人员连接远程的服务器,常见终端工具有:Xshell、secureCRT、Putty

1、获取服务器ip地址,可以通过ifconfig命令进行查看

#ifconfig

2、打开putty,输入相关的信息

SSH服务文件传输

安装客户端:fillzilla软件

扩展:通过命令行工具来传输文件/文件夹

工具:PSCP.exe(必须通过cmd命令行打开),为了使用方便可以将其放到环境变量目录中,也可以直接放到C:/windows目录下即可。

用法:

1、 pscp 选项 用户名@linux主机地址:资源路径 windows本地的地址 (下载到win)

案例:pscp -r root@192.168.29.128:/root C:/download

2、 pscp 选项 资源路径 用户民@linux主机地址:远程路径 (上传到linux)

案例: pscp -r E:\linux-study root@192.168.29.128:/root/test

3、 pscp 选项 -ls 用户名@linux主机地址 (列出远程路径下结构)

练习题

1、重启linux操作系统

#reboot

2、在命令行中删除光标前/后的内容

前:Ctrl+u  后:Ctrl+k

3、删除/tmp目录下所有A开头的文件

#rm -f /tmp/A*

4、系统重要文件备份,把/etc/passwd备份到/tmp目录下

#cp /etc/passwd /tmp/

5、查看系统最后创建的3个用户

#tail -3 /etc/passwd

6、统计当前系统中一共有多少账户

#wc -l /etc/passwd     

#cat /etc/passwd |wc -l

7、创建/tmp/test.conf文件

#touch /tmp/test.conf

8、通过vim编辑打开/tmp/test.conf

#vim /tmp/test.conf

9、查看/etc/passwd的头3行和尾3行

#head -3 /etc/passwd

#tail -3 /etc/passwd

10、一次性创建目录/text/1/2/3/4

#mkdir -p /text/1/2/3/4

11、最快返回到当前账户的家目录

#cd ~

#cd

12、查看/etc所占磁盘空间

#du -sh /etc

13、删除/tmp目录下的所有文件

#rm -rf /tmp/*

14、启动Apache服务,并检查是否启动成功

#service httpd start

#ps -ef|grep httpd

15、杀死Apache进程

#killall httpd

关机的几种方式:

shutdown -h now (正常关机)

halt (关闭内存)

init 0

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,290评论 6 491
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,107评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,872评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,415评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,453评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,784评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,927评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,691评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,137评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,472评论 2 326
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,622评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,289评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,887评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,741评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,977评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,316评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,490评论 2 348

推荐阅读更多精彩内容

  • 第一章 1.Linux是一套免费使用和自由传播的类UNIX操作系统,它可以基于Intel x86系列处理器以及Cy...
    yansicing阅读 5,359评论 0 9
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,723评论 0 10
  • 观其大纲 第1部分Linux的基础知识第1章Linux概述第2章Linux系统的安装KickStart开始自动安装...
    周少言阅读 1,466评论 1 10
  • 进入带空格的文件或者文件夹 Linux文件权限详解 文件和目录权限概述 在linux中的每一个文件或目录都包含有访...
    annkee阅读 2,649评论 0 4
  • Linux命令提示符 [root@localhost ~]# root:代表当前登录的用户名 localhost:...
    周重hhh阅读 614评论 0 1