DAY01 Linux系统的初次体验

Linux介绍

Linux系统安装(CentOS 7.4)

Linux系统的操作界面

    1)图形桌面

    2)命令行操作环境

配置网络



DAY02 玩转Linux命令行

管理目录和文件

使用vim编辑器去创建及修改文件

管理用户和组账号


一、命令行基础

1. 命令格式

基本用法

命令字   [选项]  …   [参数1] [参数2]…

[ ] 表示里面的内容可有可无

在执行一个命令的时候,命令字必须存在,选项和参数可有可无

命令字 选项 参数之间必须有空格


各组件解析

选项:用来调控执行方式

    单个字符一般用-

    单词一般用--

eg:

# ls -l

# ls --help

参数:命令的操作对象,如文档的存放路径、用户名等

2.命令行编辑技巧

tab键

功能:命令或者路径的补齐,如果输入的内容唯一标识某一个命令或者路径,tab一次会自动补齐。如果不唯一则tab2次显示出以输入内容开头的所有的命令或者路径

      拍错

3.快捷键

Ctrl + l:清空整个屏幕

Ctrl + c:废弃当前编辑的命令行

Esc+.:粘贴上一个命令的参数


二、浏览目录和文件

1.ls命令

格式:ls  [选项]...  [目录或文件路径]

常用命令选项

-A:包括名称以 . 开头的隐藏文档

-l:以长格式显示

-h:必须和-l配合用,提供易读的容量单位(K、M等)

-d:显示目录的属性

eg:

# ls /root

# ls -l /root

# ls -A /root

# ls -lh /root


补充:

绝对路径:以/开头的路径

相对路径:不以/开头的路径



通配符 * 和 ?

* 匹配任意0-多个字符

?匹配任意单个字符


eg:

# ls /dev/tty*

# ls /dev/tty?

# ls /dev/tty??

2.cat命令

查看文件的内容

# cat /etc/resolv.conf //查看DNS地址

# cat /etc/redhat-release //查看系统的小版本


三、创建目录和文件

1.mkdir命令

创建目录

-p 递归创建目录

eg:

[root@localhost /]# cd /opt/

[root@localhost opt]# ls

[root@localhost opt]# mkdir ntd1711

[root@localhost opt]# ls

[root@localhost opt]# mkdir ntd1712

[root@localhost opt]# ls

[root@localhost opt]# mkdir ntd1801/group1/huangsir

[root@localhost opt]# mkdir -p ntd1801/group1/huangsir

[root@localhost opt]# ls

[root@localhost opt]# ls ntd1801/

[root@localhost opt]# ls ntd1801/group1/

[root@localhost opt]# ls -R ntd1801/


问答题

a.请问下面命令创建了几个目录?

b.这几个目录分别创建在什么位置?

# mkdir -p ntd1802/ group2 /xushuai 请问


2.touch命令

创建文件

touch  文件名…

eg:

# cd /vod/movie/cartoon

# mkdir -p /vod/movie/cartoon

# cd /vod/movie/cartoon/

# touch Mulan.mp4 NeZhaNaoHai.mp4

# ls -lh *.mp4


四、复制,移动,删除

1.cp命令

格式:cp  [选项]...  原文件…  目标路径

常用命令选项

-r:递归,复制目录时必须有此选项

-p:保持原文件的权限、修改时间等属性不变


eg:

[root@localhost ~]# ls -ld /backup

[root@localhost ~]# mkdir /backup

[root@localhost ~]# ls -ld /backup

[root@localhost ~]# cp -r /boot/grub2 /etc/host.conf /backup/

[root@localhost ~]# ls -ld /backup/*

[root@localhost ~]# cp /boot/ /backup/

[root@localhost ~]# ls -ld /backup/*

[root@localhost ~]# cp -r /boot/ /backup/

[root@localhost ~]# ls -ld /backup/*


2.rm删除

格式:rm  [选项]...  文件或目录…

常用命令选项

-r、-f:递归删除(含目录)、强制删除


eg:

[root@localhost ~]# ls -ld /backup/*

[root@localhost ~]# rm /backup/host.conf 

[root@localhost ~]# rm -f /backup/grub2/ 

[root@localhost ~]# rm -rf /backup/grub2/ 

[root@localhost ~]# rm -rf /backup/boot/

[root@localhost ~]# ls -ld /backup/*


3.mv移动或者重命名

格式:mv  [选项]...  原文件…  目标路径


eg:

[root@localhost ~]# ls -l /vod/movie/cartoon/Mulan.mp4 

[root@localhost ~]# mv /vod/movie/cartoon/Mulan.mp4 /backup/

[root@localhost ~]# ls -l /backup/

[root@localhost ~]# mv /backup/Mulan.mp4 /backup/HuaMulan.mp4

[root@localhost ~]# ls -l /backup/


四、Vim文本编辑器

1. 三种模式

命令模式:文件打开后的默认模式,只能查看文件内容不能修改

输入模式:可以编辑和修改

末行模式:保存退出

2. 切换

命令模式  -->  输入模式   按i键

命令模式  -->  末行模式   按:键

输入模式和末行模式  --> 命令模式  按Esc键

备注:输入模式和末行模式不能直接切换,需要经过命令模式

3. vim filename

如果filename存在则打开这个文件

如果filename不存在则新建这个文件


实验

1. 在 /root/ 目录下新建文件 hello.sh

1)录入内容“Hello World !!!”

2)保存后使用 cat 命令确认文件内容

2. 修改系统文件 /etc/hosts 

1)在末尾增加一行内容“127.0.0.1    www.baidu.com”

2)使用 ping 命令测试到 www.baidu.com 的连通性,观察结果

# ls /root/hello.sh

# vim /root/hello.sh

按i键

输入 Hello World!!!

按esc键

按:

wq!

# ls /root/hello.sh

# cat /root/hello.sh


4.命令模式操作

光标行内调整

^ = Home键 移动光标到行首

$ = End键 移动光标到行尾


光标行间的调整

gg 跳转到文件的第一行

G 跳转到文件的最后一行


复制,粘贴,删除

yy 复制当前行

#yy 复制当前往下#行

p 当前光标下粘贴

delete 删除当前光标所在的单个字符

dd 删除(剪切)当前行

#dd 删除(剪切)当前光标往下到#行


查找

/world 当前光标往下查找world

n 下一个



eg:

[root@ntd1711 ~]# rm -rf /tmp/*

[root@ntd1711 ~]# mkdir /tmp/test01

[root@ntd1711 ~]# cp /etc/mail.rc /tmp/test01/

[root@ntd1711 ~]# ls /tmp/test01/mail.rc

[root@ntd1711 ~]# vim /tmp/test01/mail.rc


5.末行模式操作

:w 保存

:q 退出

:wq 保存并退出

:wq! 强制保存并退出

:w /root/xxx.file 把当前文件另存为/root/xxx.file

:r /root/xxx.file 把/root/xxx.file文件加载到当前文件中


6.查找替换

:s/old/new 替换当前行第一个old为new

:s/old/new/g 替换当前行所有的old为new

:n,m s/old/new/g 替换第n-m行所有的old为new

:% s/old/new/g 替换文件内所有的old为new

u 撤销


eg:

[root@ntd1711 test01]# ls /etc/passwd /tmp/test01/passwd

[root@ntd1711 test01]# cp /etc/passwd /tmp/test01/

[root@ntd1711 test01]# ls /etc/passwd /tmp/test01/passwd

[root@ntd1711 test01]# vim /tmp/test01/passwd 

在末行模式输入

/root  

:s/root/feige

u

:s/root/feige/g

u

:1,10s/root/feige/g

u

:%s/root/feige/g

u

:q!


显示和关闭行号

:set nu|nonu


五、管理用户和组

1.用户管理

a.用户分类

超级用户:管理员账户root uid为0

系统用户:系统服务产生 uid范围 1 ~ 999

普通用户:管理员自己创建的账户,uid范围 1000 ~ 60000

b.创建用户

# id 账户名 验证系统是否存在这个账户

# useradd 账户名 创建账户

c.设置密码

#passwd 账户 设置密码

d.修改账户信息

#usermod

-l 新账户 旧账户 修改登录名字

e.删除账户

#userdel 账户  删除账户

-r     连同家目录一起删除

总结:

当默认创建一个普通用户的时候,会在/home下创建一个同名的文件夹。

这个文件夹就是创建用户的家目录


eg:

[root@ntd1711 ~]# id nvshen

[root@ntd1711 ~]# useradd nvshen

[root@ntd1711 ~]# id nvshen

[root@ntd1711 ~]# passwd nvshen

[root@ntd1711 ~]# id miaodt

[root@ntd1711 ~]# id nvshen

[root@ntd1711 ~]# usermod -l miaodt nvshen

[root@ntd1711 ~]# id miaodt

[root@ntd1711 ~]# id nvshen

[root@ntd1711 ~]# usermod -l nvshen miaodt

[root@ntd1711 ~]# id miaodt

[root@ntd1711 ~]# id nvshen

[root@ntd1711 ~]# userdel nvshen


实验:

1.新建名为 nvshen 的用户账号,将密码设置为 1234567

测试以用户 nvshen 远程登录到本机系统

2.将此用户的家目录迁移到 /opt/nvshen 目录

重新以用户 nvshen 远程登录本机系统,确认当前 pwd 工作目录位置

3.彻底删除名为 nvshen 的用户账号

检查其ID信息,查看提示结果。检查其家目录是否可用

[root@ntd1711 ~]# id nvshen

[root@ntd1711 ~]# useradd nvshen

[root@ntd1711 ~]# id nvshen

[root@ntd1711 ~]# passwd nvshen

[root@ntd1711 ~]# ssh [email protected]

[nvshen@ntd1711 ~]$ pwd

[nvshen@ntd1711 ~]$ whoami 

[nvshen@ntd1711 ~]$ exit

[root@ntd1711 ~]# ls -ld /opt/nvshen

[root@ntd1711 ~]# ls -ld /home/nvshen/

[root@ntd1711 ~]# usermod -d /opt/nvshen nvshen

[root@ntd1711 ~]# ls -ld /opt/nvshen

[root@ntd1711 ~]# mv /home/nvshen/ /opt/

[root@ntd1711 ~]# ls -ld /opt/nvshen

[root@ntd1711 ~]# ssh [email protected]

[nvshen@ntd1711 ~]$ pwd

[nvshen@ntd1711 ~]$ exit

[root@ntd1711 ~]# id nvshen

[root@ntd1711 ~]# ls -ld /opt/nvshen/

[root@ntd1711 ~]# userdel nvshen

[root@ntd1711 ~]# id nvshen

[root@ntd1711 ~]# ls -ld /opt/nvshen/


2.组管理

a.创建组

#groupadd 组名

-g gid 创建组的时候指定gid

b.给组添加删除成员(用户)

#gpasswd

-a:添加指定用户为组成员

-d:从组内删除指定的成员用户

c.删除组

#groupdel


eg:

[root@ntd1711 ~]# id nvshen

[root@ntd1711 ~]# useradd nvshen

[root@ntd1711 ~]# id nvshen

[root@ntd1711 ~]# groupadd -g 600 stugrp

[root@ntd1711 ~]# gpasswd -a nvshen stugrp

[root@ntd1711 ~]# id nvshen

[root@ntd1711 ~]# groupdel stugrp

[root@ntd1711 ~]# id nvshen