Linux学习笔记1:虚拟机的安装
1、安装vm workspace pro12(傻瓜式安装即可)
2、创建虚拟机
- 配置选典型
- 安装客户机操作系统,选择稍后安装
- 选择系统:这里是安装的Linux的centOS
- 默认20g就好,选择拆分为多个文件好管理
- 完成(如果不能打开配置文件,就以管理员身份运行vmware)
3、还没有设置完成,还需要继续
- 点击编辑虚拟机
- 内存2g
- 处理器:2处理器2核
- 网络适配器:选择NAT模式
- 面试题:连接模式的区别(图片)
4、安装centOS
说明:安装过程中,可以通过control+alt在虚拟机和本机之间来切换鼠标
- 点击左上角的虚拟机,点击设置,点击CD,选择镜像就ok
- 选择好镜像,点击开启此虚拟机
- 进入欢迎界面,默认选择第一个回车(Tab选择,enter确认)
- Disc Found要跳过,花费时间太久
- 开发中,要生成复杂密码:网上搜索密码生成工具(我的root账号用的密码是xian123451)
- 硬盘分区:自定义分区
- 先分/boot200M,然后再分swap,2g,剩余的都分配根分区/
- 之后格式化,将修改写入磁盘
- 制定系统软件、选择自定义(只需要选择基本系统里面的“兼容程序库”、和“基本”,应用程序里面的”互联网浏览器“,桌面里面除了第一个都选,语言选中文)剩余的根据自己需求自己安装
- 完成配置,安装CentOS(20min)
- 登录后,不必创建用户名和密码,后续会学习用户管理,现在先用root用户登录
- 现在是关闭kdump(减少内存占用),在开发中要开启
5、终端和联网
- 打开终端:右键桌面,在终端中打开
- 联网:右上角计算机图标,system eth0
6、安装vmtools
- 点击vm的虚拟机,安装vm
- 安装后重启centos
- 终端:reboot
- 这时就可以实现两个系统的复制粘贴操作了
- 添加共享文件夹
- vm的虚拟机,设置,选项,共享文件夹
- 在centos里面的mnt/hgfs/
Linux学习笔记2:Linux目录总结
1、有且只有一个根目录
2、目录存放什么是规划好的,按规定来(一些重要的目录文件)
3、Linux中,一切皆文件
4、Linux目录树
Linux学习笔记3:vi和vim
1、介绍
- 所有Linux系统,都会内建vi文本编辑器
- Vim编辑器,vi的增强版本。
2、三种模式和相互转换
正常模式(用Vim打开文档时,直接进入正常模式),可以进行的操作如下:
- 快捷键
- 方向键移动光标
- 复制粘贴
- 删除字符、删除整行
编辑模式。可以进行的操作如下
- 可以输入内容
命令行模式。可以进行的操作如下
- 顾名思义,可以输入各种命令
相互转换
3、常用快捷键
首先在终端中输入
vim 文件名
,如果文件存在就打开,不存在就创建。拷贝粘贴:
yy
---拷贝当前行;nyy
---拷贝当前向下n行;p
---粘贴删除:
dd
---删除当前行;ndd---删除当前向下n行查找:
/关键字+回车
---查找,继续回车
查找下一个关键字行号:
:set nu
---添加行号;:set nonu
---取消行号撤销:编辑模式下的输入了文字,
esc
到正常模式后,u
---撤销编辑/etc/profile文件
- [G]---到文档末行;[gg]---到首行
- 将光标移动到第n行---
先设置行号,输入n后,shift+g
Linux学习笔记4:关机、重启、用户登录注销
1、关机
shutdown -h now
---->立即关机halt
--->立即关机shutdown -h 1
--->一分钟后关机
2、重启
reboot
--->立即重启shutdown -r now
--->立即重启
3、注意:
关机和重启前一半都需要执行sync
--->将内存数据写入磁盘,放置数据丢失
4、用户的登录与注销
- 正常情况下,尽量少用root用户登录,避免操作失误。
- 普通用户登录时,用
su -用户名
命令来切换成管理员身份 logout
--->注销用户
Linux学习笔记5:用户管理
1、Linux用户管理示意图
- 说明:
- Linux是一个多用户、多任务的操作系统
- 先想管理员申请账号,才可以进入系统
- 用户至少属于一个组
2、添加用户
useradd [选项] 用户名
- 创建后就会自动创建和用户同名的家目录。例如我在命令行输入:
useradd lzx
,在/home
目录中就会出现名为lzx的文件夹
。 - 也可以通过
useradd -d 指定目录 新用户名
的方式,给新建用户指定家目录 - 当用户登录后,所在的目录就是
/home/和用户名同名的目录或指定目录
- 创建后就会自动创建和用户同名的家目录。例如我在命令行输入:
给用户设置密码:
- 我
passwd 用户名
+回车
- 工作中,密码尽量复杂,可以选择工具来生成
- 我
2、删除用户
userdel 用户名
----删除用户userdel -r 用户名
----删除用户,并删除家目录- 一般保留家目录
3、查询用户
id 用户名
- 用户存在就返回:
uid=500(lzx) gid=500(lzx) 组=500(lzx)
- uid:用户id
- gid:组id
- 组:组名
- 用户不存在返回:
无此用户
- 用户存在就返回:
4、切换用户
- 当前用户权限不够时,可以通过
su - 用户名
来切换用户 - 例如
- 从root用户切换到lzx--->
su - lzx
(因为是高权限用户到低权限用户,所以不需要输入密码) - 这是我想cd到/root是没有权限的
- 要想退回到root用户,只需
exit
- 从root用户切换到lzx--->
- 看到前是哪个用户:
who am i
或whoami
5、用户组
groupadd 组名
----增加一个组groupdel 组名
----删除一个组useradd -g 用户组 用户名
----增加用户时,直接指定一个组usermod -g 用户组 用户名
----修改用户组
6、用户和组的相关文件
①、/etc/passwd
文件
- 用户的配置文件,记录用户的信息
- 打开以后找到的内容:
lzx:x:500:500::/home/lzx:/bin/bas
- 含义:用户名:口令:用户id:组id:注释性描述:主目录:登录shell
②、/etc/group
文件
- 组配置文件,记录组的信息
- 打开以后找到的内容:
lzx:x:500:
- 含义:组名:口令:组id:组内用户列表
③、/etc/shadow
文件
Linux学习笔记6:实用指令
一、指定运行级别
- 要修改运行级别可以修改
/etc/inittab
文件中的id:5:initdefault
中的数字 - 操作题
- 设置运行级别,使得Linux运行后进入命令行界面
vim /etc/inittab
- 把
id:5:initdefault
中的5改成3
- 找回root密码
- Linux开启后就关机,就重启,改怎么办?
- 设置运行级别,使得Linux运行后进入命令行界面
二、帮助指令
1、man
- 用法:
man 命令或配置文件
- 例如:查看ls命令的说明----
man ls
2、help
- 用法:
help 命令
- 例如,查看cd命令的说明---
help cd
3、面向百度更直接
三、文件目录类
1、pwd
- 含义:print working directory(打印当前工作目录的绝对路径)
- 用法:直接输入
pwd
2、ls
- 含义:list files
- 用法:
ls [选项]
:显示当前目录的文件和文件夹ls [选项] 路径1
:显示路径1的文件和文件夹
- 常用的选项有:
- -l,显示所有,包括隐藏的
- -a,以列表的形式显示
3、cd
- 含义:change directory
- 用法:
cd 绝对路径或相对路径
- 其他常用
cd
或cd~
:回到家目录cd..
回到上一级目录
4、mkdir
- 含义:make directory(创建目录)
- 用法:
mkdir[选项] 要创建的目录
- 常用选项:-p 创建多及目录
- 实例:
- 创建一级目录:
mkdir /home/hello1
- 创建多级目录:
mkdir -p /home/hello2/aaa1
- 创建一级目录:
5、rmdir
- 含义:remove directory
- 用法:
rmdir 要删除的空目录
- 注意:如果是删除非空目录:
rm -rf 要删除的目录
6、touch
- 含义:创建 空文件
- 语法:
touch 文件名称
,创建一个touch 文件名称1 文件名称2
创建多个
7、copy
- 含义:copy
- 用法:
cp [选项] source dest
(cp 文件source到文件夹dest下,经常使用相对路径) - 常用选项:
-r
:递归复制整个文件夹- 强制覆盖不提示的方法:
\cp
- 强制覆盖不提示的方法:
- 这里发现了一个细节:对于文件夹,直接用名字是可以的,但是老师习惯在文件夹后面加/,这样可以很好的和文件区分开。
8、rm
- 含义:remove,删除文件或目录
- 语法:
rm [选项] 要删除的文件或目录
- 常用选项
-r
,递归删除整个文件夹-f
,强制删除不提示- 可以组合式用,
rm -rf 文件夹
9、mv
- 含义:move,移动文件或目录,引申功能为:重命名
- 语法:
mv 要移动的文件 目标路径
,移动mv 旧文件名 新文件名
,重命名,实质也是移动
10、cat(只能浏览)
- 含义
- 用法:
cat [选项] 要查看的文件
- 常用选项
-n
:显示行号
- 实例
- 打开
/etc/profile
文件,并显示行号
- 打开
- 细节:为方便浏览,一般会带上管道命令:
| more
11、more
全屏的方式显示文本文件的内容。(加载整个文件)
用法:
more 要查看的文件
快捷键
12、less
分屏的方式显示文本文件的内容(加载文件的一部分,随时加载)
语法:
less 要查看的文件
快捷键
适合显示大文件,效率高
13、echo
- 含义:echo(回声,反射)
- 语法:
echo 输出内容
- 应用
- 输出环境变量:
echo $PATH
- 输出文本:
echo hello
- 输出环境变量:
14、head
- 显示文件的开头部分
- 语法
head 文件
:默认显示前10行head -n5 文件
:显示头5行
15、tail
- 含义:显示文件的结尾部分
- 语法:
tail 文件名
,默认显示后10行tail -n5 文件名
,显示后5行tail -f 文件名
,实时追踪该文件的所有更新
16、>和>>
- >:输出重定向,把内容直接覆盖写入文件
- >>:追加,把内容追加到文件的尾部
- 语法
ls -l > 文件1
:列表的内容覆盖写入到文件1(要加上隐藏的内容,就用-al
)ls -l >> 文件1
:列表的内容追加写入到文件1尾部cat 文件1 >或>> 文件2
:将文件1的内容覆盖或追加到文件2echo "内容" >或>> 文件1
:将自己写的内容覆盖或追加到文件1
17、ln
- 含义:links(软连接)
- 语法:
- 创建:
ln -s 源文件或目录 软连接名
- 删除:
rm -rf 连接名
(连接名后别带/,否则资源忙---相当于windows中的应用程序已经打开,无法删除)
- 创建:
18、history
- 含义:执行过的指令
- 语法:
history,
显示所有历史指令history 5
,最近的5条记录!10
,执行历史编号为10 的指令
四、时间日期类
1、显示当前日期时间
- 语法
date
date "+%Y-%m-%d %H:%M:%S"
,当然也可以拆开使用单独的一些
2、设置日期时间
- 语法:
date -s "2020-02-02 11:11:11"
3、日历
- 语法:
cal
显示本月cal 2020
显示2020年的日历
五、搜索查找类
1、find
- 含义:从指定目录向下递归的遍历其各个子目录,并显示满足条件的文件或目录
- 语法:
find 搜索范围 [选项]
- 常用选项
-name
,按照文件名方式查找(*.txt代表查找所以的txt文件)(暂时不知道有什么鬼用,感觉多此一举)-user
,按照用户名查找-size
,按照文件大小查找(+代表大于,-小于,不加是等于)
2、locate
- 含义:快速定位文件路径。
- 语法:
locate 要搜索的文件名
- 说明:
- 因为
locate
指令是基于数据库进行查询,第一次使用前必须用updatedb
指令创建locate数据库 - 实际使用了一下,发现locate查找的是包含输入的字符的所有文件
- 因为
3、grep和管道符号“|”
- 含义:过滤查找,“|”将前一个命令的处理结果传递给下一个命令
- 语法:
grep [选项] 查找内容 源文件
- 常用选项
-n
,显示所在的行号-i
,忽略大小写
- 示例:
cat hello.txt | grep -ni java
六、解压缩类
1、gzip和gunzip
- 语法
gzip 文件
(①只能压缩为.gz文件;②源文件会消失)gunzip .gz文件
2、zip和unzip
- 用途:常用于项目打包发布
- 语法:
zip -r 新的压缩文件名.zip 要压缩的内容
,(-r是递归压缩目录)unzip -d 压缩文件名.zip
(-d是存放目录)
3、tar★★★
- 含义:是打包指令,打包压缩后的文件名是
.tar.gz
文件 - 语法:
tar [选项] 自己起名.tar.gz 打包的内容
- 打包压缩:
tar -zcvf 自己起名.tar.gz 打包的内容
- 解压到当前目录:
tar -zxvf a.tar.gz
- 解压到指定目录:
tar -zxvf a.tar.gz -C /opt/
(目录必须存在)
- 打包压缩: