Linux安装与使用
1.安装与基本操作
1.1安装VMware
1.1.1VM12版本安装
1)下载:网盘:链接:https://pan.baidu.com/s/1Jnr--KIy3bSTvRhtB8nfiQ 提取码:czna
2)双击exe的应用程序,点击下一步
接收许可协议,下一步
选择安装目录和勾选增强,下一步
重启之后在在桌面双击图标打开,输入激活码即可使用。
VM12的激活码
VY1DU-2VXDH-08DVQ-PXZQZ-P2KV8 5A02H-AU243-TZJ49-GTC7K-3C61N VY1DU-2VXDH-08DVQ-PXZQZ-P2KV8 VF58R-28D9P-0882Z-5GX7G-NPUTF YG7XR-4GYEJ-4894Y-VFMNZ-YA296 VF5XA-FNDDJ-085GZ-4NXZ9-N20E6 UC5MR-8NE16-H81WY-R7QGV-QG2D8 ZG1WH-ATY96-H80QP-X7PEX-Y30V4 AA3E0-0VDE1-0893Z-KGZ59-QGAVF
1.1.2VM15版本安装
1)下载
官网:https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html
网盘:链接:https://pan.baidu.com/s/1HrkOIRm6Up9AUuoiFW_oqA 提取码:ejrs
安装步骤同VM12。
VM15激活码
CY55A-F6G80-H85HQ-WNN5X-W38W4 AC11H-4HZ05-08EDQ-APQGX-YCUC8 ZG780-8EZ9M-M89LY-M5PEG-W2AZ8 ZF3NU-D6XEJ-48E7Q-27YNC-PC8ED AV5M0-F4W8M-088PZ-36ZNV-NFHE2 AU15R-A0Z4N-M88HY-HQYNX-QYKD6 VY110-4RD50-H886P-5FMN9-WPUUD GF302-4HW44-H88DQ-WZXNV-Q3R94 UA752-0KF9J-0811Y-MQNEX-ZUAGF VG5HH-D6E04-0889Y-QXZET-QGUC8 CY55A-F6G80-H85HQ-WNN5X-W38W4 AC11H-4HZ05-08EDQ-APQGX-YCUC8 ZG780-8EZ9M-M89LY-M5PEG-W2AZ8 ZF3NU-D6XEJ-48E7Q-27YNC-PC8ED AV5M0-F4W8M-088PZ-36ZNV-NFHE2 AU15R-A0Z4N-M88HY-HQYNX-QYKD6
1.2安装虚拟机
1)下载
CentOS6下载:网盘:
CentOS7下载:http://mirrors.aliyun.com/centos/7/isos/x86_64/
2)安装
安装好VM12或VM15后,打开,如图 (这里以VM15为例)
选择文件->新建虚拟机,在页面选择自定义
下一步
选择iso文件的路径,下一步
选择虚拟机的存储位置,下一步
下一步
设置虚拟机的内存,下一步
选择使用网络地址转换,下一步
等待创建,选择语言
选择系统
设置用户信息
然后登录系统。
3)配置网络
初始安装的虚拟机,不能进行网络的访问,需要进行配置。
第一步:查看本机ip(命令:ipconfig)
第二步: 查看网络属性
第三步:在VM菜单中选择虚拟机->设置->网络适配器,把网络连接改为桥接模式
第四步:选择 编辑->虚拟网络编辑器,选择DHCP设置
打开如下
第五步:进入centos系统,编辑配置文件
vi /etc/sysconfig/network-scripts/ifcfg-ens33
把BOOTPROTO改为BOOTPROTO=static并添加网关及设置静态IP
IPADDR=192.168.10.190 NETMASK=255.255.255.0 GATEWAY=192.168.10.1 DNS1=211.161.122.206 DNS2=10.206.8.58 ZONE=public
第六步:界面配置
先运行
nmcli d
界面如下
在输入
nmtui
选择“Edit a connection”
选中“enp0s3”,再按Tab选中“Edit”回车
在“IPv4 CONFIGURATION”中选择“Automatic”,再勾选“Automatically connect(自动连接)”然后按下“OK”退出
第七步:执行命令,重启下网络
systemctl restart network.service
第八步:验证是否IP配置正确
ip addr
看到此图说明已配置成功。
1.3安装WSL
如果需要完整的Linux系统,则按照上述的步骤安装虚拟机即可。若只需要简单的linux系统,则可以直接在电脑上安装WSL(Window Subsystem for Linux),是用在Windows上的Linux子系统。功能很简单,可在Windows系统中获取Linux系统环境,直连计算机硬件,不再需要虚拟机即可。
1)开启wsl子系统
wsl是Windows自带的功能,只需要开启即可。在程序与功能中启用
2)安装Linux系统
这里以Ubuntu系统为例。在系统的应用商店搜索Ubuntu,然后点击获取
下一个界面点击安装,等待完成即可。此系统是没有图形化界面,只有黑窗口的命令行。
安装成功后点击打开,会进行系统初始化,然后设置用户名和密码。
当然,这里创建的用户只是当前登录用户的用户信息,而root用户和admin用户默认都存在,但均未设置密码。若需要切换到root用户需要先设置密码然后再切换:
主要命令
设置密码 sudo passwd root 切换用户 su root
3)安装Windows terminal
由于Ubuntu自带的命令行不太友好,故可以使用Windows terminal进行命令的操作。同样在应用商店搜索Windows terminal并安装即可
连接到Ubuntu系统
设置默认打开是Ubuntu系统:在设置中配置默认的配置文件
配置后,后面再打开此终端时就默认是Ubuntu系统。
1.4快照备份与恢复
当误操作导致系统出问题或不能开机时,快照就起到了非常大的作用。快照也就是将当前的系统状态进行备份,当出现问题时选择备份的快照就可以将系统恢复到快照时的状态。
1)在VM中选中虚拟机,选择快照-》快照管理器
2)拍摄快照
点击拍摄快照
输入快照的信息
然后即可生成快照信息(在不同的时间节点进行备份,可随时恢复系统状态)
3)恢复快照
若需要恢复快照,则只需要选中需要恢复的快照,点击转到,然后在提示框选择是即可恢复到当前快照时的状态
2.远程操作Linux
1)远程连接linux:推荐使用Xshell
2)远程传输文件:推荐使用Xftp
3.Linux基础常用命令
1)切换目录: cd
cd app 切换到app目录 cd .. 切换到上一层目录 cd / 切换到系统根目录 cd ~ 切换到用户主目录 cd - 切换到上一个所在目录
2)列出文件列表:ls ll
在linux中以 .开头的文件都是隐藏的文件
ls 显示所有文件或目录 ls -a 显示所有文件或目录(包含隐藏的文件) ls -l 显示文件或目录的详细信息,缩写成ll
ls -lh 显示文件或目录的详细信息,文件大小带单位
3)创建目录和移除目录:mkdir rmdir
mkdir app 在当前目录下创建app目录 mkdir –p app2/test 级联创建aap2以及test目 rmdir app 删除app目录
4)浏览文件内容:cat[more|less]、tail
cat用于显示文件的内容,按 q 键退出查看
cat a.txt 一次性查看a.txt文件的全部内容 cat more a.txt 分页查看a.txt文件的内容,空格显示下一页,回车显示下一行 cat less a.txt 分页查看a.txt文件的内容,PgUp 向上翻页、 PgDn 向下翻页
tail用于显示文件后几行的内容,默认查询10行,ctrl+c 结束查看
tail -10 b.txt 查看后10行数据 tail -f -n 100 b.txt 动态查看文件的后100行内容,-f表示持续跟踪
5)删除文件:rm
rm a.txt 删除a.txt文件,删除需要用户确认
rm -f a.txt 不询问,直接删除a.txt
rm -rf aaa 直接删除文件夹aaa
rm -rf * 删除所有文件
rm -rf /* 自杀,慎重使用
6)复制/移动/重命名文件:cp、mv
cp(copy)命令可以将文件从一处复制到另一处,要指定源文件名与目标文件名或目录。
cp a.txt b.txt 将a.txt复制到当前目录,名字为b.txt cp a.txt ../ 将a.txt文件复制到上一层目录中
mv 移动或者重命名:当在同一个目录使用mv时,就是重命名
mv a.txt ../ 将a.txt文件移动到上一层目录中 mv a.txt b.txt 将a.txt文件重命名为b.txt
7)打包/压缩文件:tar
tar -cvf aaa.tar abc 将abc文件打包为aaa.tar tar -zcvf aaa.tar.gz abc 将abc文件打包并压缩为aaa.tar.gz
tar -xvf aaa.tar -C /usr/local 将aaa.tar解压到/usr/local目录
tar -zxvf aaa.tar -C /usr/local 将aaa.tar解压到/usr/local目录
tar -xvf aaa.tar 将aaa.tar解压到当前目录
8)查找文件:find
find用于查找符合条件的文件
find / -name “ins*” 查找所有目录以ins开头的文件 find /usr -name "*.txt" -ls 查找usr目录下后缀名为txt的文件 find / -user root -ls 查找所有目录中用户是root的文件 find / -user root -type d -ls 查找所有目录中用户root的目录 find / -perm -777 -type d -ls 查找所有目录中权限是777的目录
9)搜索/过过滤文件:grep
grep用于查找文件里符合条件的字符串或进程
grep "java" a.txt 搜索a.txt中含有java的内容的字符串
grep -n "java" a.txt 搜索a.txt中含有java的内容的字符串,并显示行号
10)其他常用命令
pwd:显示当前所在目录 touch a.txt 创建文件a.txt ll -h 显示当前目录或文件的大小 wget 资源路径 下载指定的资源
11)开机和关机命令
#立即关机 shutdown -h now #5分钟后关机 shutdown -h 5 #重启 shutdown -r now
12)查看进程ps
查看java运行的进程
ps -ef | grep java
具体详见下一章节。
13)查找which和find
which用来查看命令的程序文件放在哪里
which cd
find用来查找指定的文件,基础语法如下
find 起始路径 -name "要查找的文件名"
案例
find /home/app -name "test.txt" 查询路径/home/app下所有文件名为test.txt的文件 find /home/app -name "test*" 查询路径/home/app下所有文件名以test开头的文件,*为通配符
14)打印echo和重定向符
类似其他语言的print,打印内容到控制台。
echo "hello word" 输入内容导控制台 添加`(反引号)时,会将里面的内容当做命令会执行 echo `pwd` 打印执行pwd后返回的结果,也就是打印当前所在的路径
重定向符分为>和>>,其中>表示将左边的内容写到指定文件中,会覆盖文件中原有内容;>>表示将左边的内容追加写到指定文件中,不会覆盖原有内容,而是在尾部追加内容。
echo "hello Word" > 1.txt 将“hello Word”写到文件1.txt中 echo "hello Word2" >> 1.txt 将“hello Word2”追加写到文件1.txt中
15)vim常用命令
移动 h:向左 j:向下 k:向上 l:向右 切换到命令行模式:按Esc键 切换到插入模式:按 i 、o、a键 打开文件:vim file 退出:esc -> :q 修改文件:输入i进入插入模式 保存并退出:esc->:wq 不保存退出:esc->:q! 快速删除一行:dd 复制当前行: yy 从当前行向后复制几行: nyy 粘贴: p
16)内容重定向输出>、>>
>:重定向输出,会覆盖原有内容,>>:重定向输出,追加写入
cat /etc/passwd > a.txt 将输出定向写到a.txt中 cat /etc/passwd >> a.txt 输出并且追加 ifconfig > ifconfig.txt 把 ifconfig数据写到 ifconfig.txt文件中
17)管道 |
将一个命令的输出用作另一个命令的输入
ps –ef | grep java 查询名称中包含java的进程 ifconfig | more 分页查询ifconfig文件数据
18)执行控制&&
命令之间使用 && 连接,实现逻辑与的功能
只有在 && 左边的命令返回真时,&& 右边的命令才会被执行。
只要有一个命令返回假,后面的命令就不会被执行
mkdir test && cd test 创建test文件夹并打开,只有创建成功时才会打开,当创建失败时就不会执行cd操作
19)系统管理命令
date:显示或设置系统时间
date 显示当前系统时间 date -s “2014-01-01 10:10:10“ 设置系统时间,必须使用root用户才可以操作
df :显示磁盘信息,使用root用户
df –h 显示磁盘大小信息
free :显示内存状态
free –m 以mb单位显示内存组
clear:清除屏幕
ps:查看正在运行的某个进程的状态
ps -ef 查看所有进程 ps -ef | grep ssh 查找ssh进程
kill:杀死某一进程
kill 2868 杀掉2868编号的进程 kill -9 2868 强制杀死进程2868
du :显示目录或文件的大小
du –h 显示当前目录的大小
who :显示目前登入系统的用户信息
uname :显示系统信息
uname -a 显示本机详细信息,依次为:内核名称(类别),主机名,内核版本号,内核版本,内核编译日期,硬件名,处理器类型,硬件平台类型,操作系统名称
20)用户及用户组
用户组的操作
创建用户组test111 groupadd test111 删除用户组test112 groupdel test112
查询有哪些用户组
getent group
用户的操作
创建用户,不指定用户组(用户名zxh123,此时会自动创建同名的用户组并加入) useradd zxh123 创建用户,指定用户组(用户组为test111,用户名zxh123) useradd zxh1234 -g test111 删除用户,不删除用户的home目录 userdel test1 删除用户,删除用户的home目录 userdel -r test2 查询当前用户所属的用户组 id 查询指定用户删除用户组 id 用户名 将用户加入新的用户组 usermod -aG 用户组 用户名
查询系统中有哪些用户
getent passwd
21)文件权限命令chmod
也就是说属主权限是属于哪个用户,属组权限是属于哪个用户组。
r:对文件是指可读取内容 对目录是可以ls
w:对文件是指可修改文件内容,对目录 是指可以在其中创建或删除子节点(目录或文件)
x:对文件是指是否可以运行这个文件,对目录是指是否可以cd进入这个目录
chmod :变更文件或目录的权限。
数字序号如下
r |
w |
x |
r |
w |
x |
r |
w |
x |
4 |
2 |
1 |
4 |
2 |
1 |
4 |
2 |
1 |
比如修改文件夹aaa拥有全部的权限,则权限为rwx,数字为4+2+1=7,故命令为
chmod -R 777 aaa
第一位表示用户权限,第二位表示用户组权限,第三位表示其他用户权限。再比如751则表示的权限是-rwxr-x--x。
22)chown修改文件或文件夹所属用户或用户组
修改文件a.txt的用户为test2 chown test2 a.txt 修改文件夹bbb的用户组为test888 chown -R :test888 bbb 修改文件夹ccc的用户为test3,用户组为test999 chown -R test3:test999 ccc
此命令只属于root,其他用户不可用。上述的冒号左边标识用户,右边标识用户组。
3.其他额外的命令
23)快捷键/快捷命令
快捷键/快捷命令 | 说明 |
ctrl+a | 光标快速移动到开头 |
ctrl+e | 光标快速移动到尾部 |
ctrl+向左键 | 光标间隔单词向左移 |
ctrl+向右键 | 光标间隔单词向右移 |
history | 查看历史输入的命令 |
ctrl+r | 匹配查询历史输入的命令 |
24)软连接ln
将文件或文件夹链接到其他位置,相当于Windows的快捷方式。语法:
ln -s 被链接的文件或文件夹 要链接的文件或文件夹
例如将/etc/sudo.conf链接到根目录
ln -s /etc/sudo.conf sudo.conf
创建后查看,发现已进行了软连接,其内容是一样的
25)时间和时区
查询时间
//无格式查询 Wed Nov 30 17:08:47 CST 2022 date //查询日期 2022-11-30 date +%Y-%m-%d %H:%M:%S //查询时间 2022-11-30 17:28:18 一定要带字符串,否则会报错,因为中间有空格 date "+%Y-%m-%d %H:%M:%S"
.