linux 第二课
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 第二课相关的知识,希望对你有一定的参考价值。
一、命令行基础
- 命令格式
基本用法
命令字 [选项] … [参数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:
[[email protected] /]# cd /opt/
[[email protected] opt]# ls
[[email protected] opt]# mkdir ntd1711
[[email protected] opt]# ls
[[email protected]localhost opt]# mkdir ntd1712
[[email protected] opt]# ls
[[email protected] opt]# mkdir ntd1801/group1/huangsir
[[email protected] opt]# mkdir -p ntd1801/group1/huangsir
[[email protected] opt]# ls
[[email protected] opt]# ls ntd1801/
[[email protected] opt]# ls ntd1801/group1/
[[email protected] 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:
[[email protected] ~]# ls -ld /backup
[[email protected] ~]# mkdir /backup
[[email protected] ~]# ls -ld /backup
[[email protected] ~]# cp -r /boot/grub2 /etc/host.conf /backup/
[[email protected] ~]# ls -ld /backup/
[[email protected] ~]# cp /boot/ /backup/
[[email protected] ~]# ls -ld /backup/
[[email protected] ~]# cp -r /boot/ /backup/
[[email protected] ~]# ls -ld /backup/*
2.rm删除
格式:rm [选项]... 文件或目录…
常用命令选项
-r、-f:递归删除(含目录)、强制删除
eg:
[[email protected] ~]# ls -ld /backup/
[[email protected] ~]# rm /backup/host.conf
[[email protected] ~]# rm -f /backup/grub2/
[[email protected] ~]# rm -rf /backup/grub2/
[[email protected] ~]# rm -rf /backup/boot/
[[email protected] ~]# ls -ld /backup/
3.mv移动或者重命名
格式:mv [选项]... 原文件… 目标路径
eg:
[[email protected] ~]# ls -l /vod/movie/cartoon/Mulan.mp4
[[email protected] ~]# mv /vod/movie/cartoon/Mulan.mp4 /backup/
[[email protected] ~]# ls -l /backup/
[[email protected] ~]# mv /backup/Mulan.mp4 /backup/HuaMulan.mp4
[[email protected] ~]# ls -l /backup/
四、Vim文本编辑器
- 三种模式
命令模式:文件打开后的默认模式,只能查看文件内容不能修改
输入模式:可以编辑和修改
末行模式:保存退出 - 切换
命令模式 --> 输入模式 按i键
命令模式 --> 末行模式 按:键
输入模式和末行模式 --> 命令模式 按Esc键
备注:输入模式和末行模式不能直接切换,需要经过命令模式 - vim filename
如果filename存在则打开这个文件
如果filename不存在则新建这个文件
实验
- 在 /root/ 目录下新建文件 hello.sh
1)录入内容“Hello World !!!”
2)保存后使用 cat 命令确认文件内容 - 修改系统文件 /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:
[[email protected] ~]# rm -rf /tmp/*
[[email protected] ~]# mkdir /tmp/test01
[[email protected] ~]# cp /etc/mail.rc /tmp/test01/
[[email protected] ~]# ls /tmp/test01/mail.rc
[[email protected] ~]# 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:
[[email protected] test01]# ls /etc/passwd /tmp/test01/passwd
[[email protected] test01]# cp /etc/passwd /tmp/test01/
[[email protected] test01]# ls /etc/passwd /tmp/test01/passwd
[[email protected] 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:
[[email protected] ~]# id nvshen
[[email protected] ~]# useradd nvshen
[[email protected] ~]# id nvshen
[[email protected] ~]# passwd nvshen
[[email protected] ~]# id miaodt
[[email protected] ~]# id nvshen
[[email protected] ~]# usermod -l miaodt nvshen
[[email protected] ~]# id miaodt
[[email protected] ~]# id nvshen
[[email protected] ~]# usermod -l nvshen miaodt
[[email protected] ~]# id miaodt
[[email protected] ~]# id nvshen
[[email protected] ~]# userdel nvshen
实验:
1.新建名为 nvshen 的用户账号,将密码设置为 1234567
测试以用户 nvshen 远程登录到本机系统
2.将此用户的家目录迁移到 /opt/nvshen 目录
重新以用户 nvshen 远程登录本机系统,确认当前 pwd 工作目录位置
3.彻底删除名为 nvshen 的用户账号
检查其ID信息,查看提示结果。检查其家目录是否可用
[[email protected] ~]# id nvshen
[[email protected] ~]# useradd nvshen
[[email protected] ~]# id nvshen
[[email protected] ~]# passwd nvshen
[[email protected] ~]# ssh [email protected]
[[email protected] ~]$ pwd
[[email protected] ~]$ whoami
[[email protected] ~]$ exit
[[email protected] ~]# ls -ld /opt/nvshen
[[email protected] ~]# ls -ld /home/nvshen/
[[email protected] ~]# usermod -d /opt/nvshen nvshen
[[email protected] ~]# ls -ld /opt/nvshen
[[email protected] ~]# mv /home/nvshen/ /opt/
[[email protected] ~]# ls -ld /opt/nvshen
[[email protected] ~]# ssh [email protected]
[[email protected] ~]$ pwd
[[email protected] ~]$ exit
[[email protected] ~]# id nvshen
[[email protected] ~]# ls -ld /opt/nvshen/
[[email protected] ~]# userdel nvshen
[[email protected] ~]# id nvshen
[[email protected] ~]# ls -ld /opt/nvshen/
2.组管理
a.创建组
#groupadd 组名
-g gid 创建组的时候指定gid
b.给组添加删除成员(用户)
#gpasswd
-a:添加指定用户为组成员
-d:从组内删除指定的成员用户
c.删除组
#groupdel
eg:
[[email protected] ~]# id nvshen
[[email protected] ~]# useradd nvshen
[[email protected] ~]# id nvshen
[[email protected] ~]# groupadd -g 600 stugrp
[[email protected] ~]# gpasswd -a nvshen stugrp
[[email protected] ~]# id nvshen
[[email protected] ~]# groupdel stugrp
[[email protected] ~]# id nvshen
以上是关于linux 第二课的主要内容,如果未能解决你的问题,请参考以下文章