Linux入门笔记2

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux入门笔记2相关的知识,希望对你有一定的参考价值。

一、命令行基础

  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:
[[email protected] /]# cd /opt/
[[email protected] opt]# ls
[[email protected] opt]# mkdir ntd1711
[[email protected] opt]# ls
[[email protected] 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 请问

touch命令
创建文件
touch 文件名…
eg:
cd /vod/movie/cartoon
mkdir -p /vod/movie/cartoon
cd /vod/movie/cartoon/
touch Mulan.mp4 NeZhaNaoHai.mp4
ls -lh *.mp4

四、复制,移动,删除
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/*

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/

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
录入内容“Hello World !!!”
保存后使用 cat 命令确认文件内容
修改系统文件 /etc/hosts
在末尾增加一行内容“127.0.0.1 www.baidu.com”
使用 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入门笔记2的主要内容,如果未能解决你的问题,请参考以下文章

Linux 入门笔记

Linux笔记

OpenCV入门笔记 Linux下的安装

Linux入门及企业服务器知识学习笔记

收藏 | 《Linux基础入门手写笔记》

Linux/Unix学习笔记—— 入门