对于linux,因为日常开发使用的不是太频繁,有些东西总是会忘记,遂写一篇总结。加深记忆,便于使用时查看。
选用linux系统作为服务器的话,一般选用centos系列,为什么呢,首先是因为它是redhat旗下的开源版本,是商用免费的,其次它是没有界面的,直接命令行,所以性能和稳定性相比ubantu会好一些。
一般选择稳定的7点几版本,如7.2.
我使用的是centos7.7版本,镜像地址:https://mirrors.aliyun.com/centos/7.7.1908/isos/x86_64/
vmware采用的14版本
打开vmvare,点击创建新虚拟机--典型--安装程序光盘映像文件(iso)--选择下载的iso系统镜像--定义虚拟机名字以及虚拟机所有文件的位置--20g(选择将磁盘拆分为多个)--自定义硬件--完成--等待加载虚拟机--然后配置磁盘--开始安装--安装期间配置root密码,还可以添加非root用户--重启。
安装完成后,首先就是要配置网络,对于网络配置这块,很多人都配不好,这块要着重说一下。
我使用的是笔记本电脑,连接的无线网络,需要对无线网络这块做设置,让vmnet8可以来连接,如图:
进入命令行后,先测试下能否访问网络,输入:
ping www.baidu.com
因为没有配置网络,保证是ping不通的。接下来开始配置网络。
首先,用vmware--虚拟机--设置--网络适配器--自定义虚拟网络--选择vmnet8(NAT模式),如果没有就添加vmnet8,
然后去window电脑上,网络--更改适配器设置--右键vmnet8--属性--修改ipv4--手动配置ip,如下图:
上边的Ip地址是随便写的192.168.前边是不变的,后边的137是允许vmnet8连接wifi系统分配的,如果没有自动分配就随便给一个,
然后打开vmware--编辑--虚拟机网络编辑器--更改设置--选择vmnet8--设置下边的子网ip:192.168.137.0,子网掩码255.255.255.0---nat设置--网关ip:192.168.137.1,为vmnet8的ip。DNS设置中跟windows对应。
然后修改linux中的网卡,
vi /etc/sysconfig/network-scripts/ifcfg-ens33
如果打不开这个文件可能输入的有误,可以cd一级一级的进入到network-scripts目录,在通过
vi ifcfg-ens33
打开文件如下:
然后按i进入编辑模式,修改为如下:
按esc退出编辑模式,按:wq保存退出。
接着重启网络
systemctl restart network
通过如下命令,查看ip是否已经修改成功:
ip addr
查询结果如下:
说明修改成功,
接着ping一下百度
ping www.baidu.com
能正常ping通代表配置成功。
关闭防火墙,以便让主机ping通
systemctl stop firewalld
systemctl disable firewalld
网上很多配置可能比我这种方式简便一些,但是我照着都没有成功,这时自己实验通过的方式,仅供参考。
通过如下命令,查看当前主机名:
hostname
打开如下文件,修改主机名:
vi etc/hostname
内容如下:
将其修改为你想要的hostname,然后reboot重启,就可以生效了。
通过如下命令,查看系统运行的服务:
systemctl list-units --type=service
列表中可以看到熟悉的firewalld(防火墙)、network等服务。
通过如下命令,查看某个服务状态,如防火墙:
systemctl status firewalld.service
参考文章:https://www.cnblogs.com/devilmaycry812839668/p/8481760.html
可以通过start \restart \stop 来启动、重启、停止服务。stop的停止仅限当前的停止,假如开机自启还是会启动的,
可以通过ennable\disable 来使服务开机启动/开机禁止启动。可以通过kill来杀掉服务。
以上这几个命令都是前边加上systemctl start servicename
由于linux系统有时是先将数据存于内存,然后再同步到硬盘,假如直接关机,有可能会丢失数据。
最好先执行命令sync,就是让内存数据先同步到硬盘。
然后再halt关机或者reboot重启。
也可以通过shutdown -h来关机,通过shutdown -r来重启。shutdown关键字的作用是后边可以跟时间,单位是分钟。如10分钟后关机,就可以执行shutdown -h 10即可。
如果通过网络下载一些文件,需要用到wget,系统默认是没有这个命令的,需要通过yum来安装,命令:
yum -y install wget
YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
用法:yum [选项] [参数] rpm名称
选项 |
功能 |
-y |
对所有提问都回答“yes” |
参数 |
功能 |
install |
安装rpm软件包 |
update |
更新rpm软件包 |
check-update |
检查是否有可用的更新rpm软件包 |
remove |
删除指定的rpm软件包 |
list |
显示软件包信息 |
clean |
清理yum过期的缓存 |
deplist |
显示yum软件包的所有依赖关系 |
假如觉得自己系统默认yum源下载很慢的话,可以尝试更换yum源,记得先安装wget,在使用wget下载。
参考文章:https://www.cnblogs.com/powerwu/articles/11467106.html
默认系统是不支持vim的,现在网络已经配通了,可以通过yum来安装vim了,vim编辑器由于vi的地方是,打开文件后,部分单词是彩色的,看起来更方便,可以详细txt和editplus的区别。通过如下命令安装vim:
yum install vim
然后就一直y,到安装结束即可。也可以通过如下命令,省去一直手动输入y:
yum install -y vim
既然宿主机能ping通虚拟机了,那就可以使用SecureCRT来远程连接虚拟机了,具体的下载安装这里就不介绍了,在网上找个破解版本,使用SecureCRT还是很方便的。这里备注下使用注册机破解SecureFX,将注册机拷贝到安装目录,然后打开注册机,随便数个name和company,然后generate生成序列号和date,然后打开FX,下一步,选择左下角的手动填写licence,输入注册机生成的name、company、序列号、date,下一步、完成即可。
这里注意一点,在使用secureCRT连接过程中,假如出现连接非常慢的情况,需要做相应处理,
通过命令打开ssh_config文件
vi /etc/ssh/sshd_config
将#UseDNS yes 修改为UseDNS no。
修改后记得重启sshd服务
systemctl restart sshd
然后在secureCRT中,属性,ssh2中,将publicKey的勾去掉。这样就不会弹框了。
通过vi/vim进入文本的一般模式,通过i/a进入编辑模式,通过esc退出编辑模式,通过:进入命令模式,通过esc退出命令模式,
在命令模式中,w代表保存,q代表退出,!代表强制退出。:wq代表保存并退出。
当通过命令查看,数据一页显示不全,可以使用 | less/more,less可以用箭头来回切换,more可以空格到下一页。
通过man/help/info + 命令 可以查看该命令的使用帮助,如 man ls即可查看ls的使用帮助,help cd 查看cd的使用帮助。
具体区别这块不罗列了,参考:https://www.cnblogs.com/kumata/p/8993914.html
pwd:显示当前工作目录绝对路径
cd:切换目录
mkdir:创建目录 -p可以创建多级目录
rmdir:删除一个空目录
touch:创建空文件
cp:复制文件或目录 格式前边是原路径 后边是目标路径
rm:删除文件或目录 -r 递归删除 -f强制删除 -v显示操作过程
mv:移动文件或重命名文件
mv oldNameFile newNameFile (功能描述:重命名)
mv /temp/movefile /targetFolder (功能描述:移动文件)
cat:查看文件内容 -n显示行号
more:分页查看文件
操作说明
操作 |
功能说明 |
空白键 (space) |
代表向下翻一页; |
Enter |
代表向下翻『一行』; |
q |
代表立刻离开 more ,不再显示该文件内容。 |
Ctrl+F |
向下滚动一屏 |
Ctrl+B |
返回上一屏 |
= |
输出当前行的行号 |
:f |
输出文件名和当前行的行号 |
less:比more更强大一些
操作说明
操作 |
功能说明 |
空白键 |
向下翻动一页; |
[pagedown] |
向下翻动一页 |
[pageup] |
向上翻动一页; |
/字串 |
向下搜寻『字串』的功能;n:向下查找;N:向上查找; |
?字串 |
向上搜寻『字串』的功能;n:向上查找;N:向下查找; |
q |
离开 less 这个程序; |
echo:数据内容到控制台
head:显示文件头部内容
tail:输出文件尾部内容
> 覆盖 和 >> 追加
基本语法
(1)ll >文件 (功能描述:列表的内容写入文件a.txt中(覆盖写))
(2)ll >>文件 (功能描述:列表的内容追加到文件aa.txt的末尾)
(3)cat 文件1 > 文件2 (功能描述:将文件1的内容覆盖到文件2)
(4)echo “内容” >> 文件
in:软链接也成为符号链接,类似于windows里的快捷方式,有自己的数据块,主要存放了链接其他文件的路径,结合-s使用
参考示例:ln -s test.txt ./test
history:查看已执行的历史命令
find:查找文件或者目录,find [搜索范围] [选项]
选项说明
选项 |
功能 |
-name<查询方式> |
按照指定的文件名查找模式查找文件 |
-user<用户名> |
查找属于指定用户名所有文件 |
-size<文件大小> |
按照指定的文件大小查找文件。 |
案例实操
(1)按文件名:根据名称查找/目录下的filename.txt文件。
[root@hadoop101 ~]# find xiyou/ -name “*.txt”
(2)按拥有者:查找/opt目录下,用户名称为-user的文件
[root@hadoop101 ~]# find xiyou/ -user atguigu
(3)按文件大小:在/home目录下查找大于200m的文件(+n 大于 -n小于 n等于)
[root@hadoop101 ~]find /home -size +204800
grep:过滤查找, | :管道符,管道符,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。
用法:grep 选项 查找内容 源文件,选项:-n:显示匹配行及行号
查找某文件在第几行
[root@hadoop101 ~]# ls | grep -n test
which:查找命令在哪个目录,如 which ls
gzip:压缩文件,用法:gzip 文件,压缩成.gz结尾的文件。
gunzip:解压.gz结尾的文件
zip:压缩文件或目录,用法:zip 选项 待压缩内容,其中选项:-r :压缩目录
unzip:解压缩文件或目录,用法:unzip 选项 待解压内容, 其中选项:-d:指定解压后的文件目录
tar:打包,用法:tar [选项] XXX.tar.gz 将要打包进去的内容
选项说明
选项 |
功能 |
-z |
打包同时压缩 |
-c |
产生.tar打包文件 |
-v |
显示详细信息 |
-f |
指定压缩后的文件名 |
-x |
解包.tar文件 |
例子:
(1)压缩多个文件
[root@hadoop101 opt]# tar -zcvf houma.tar.gz houge.txt bailongma.txt
houge.txt
bailongma.txt
[root@hadoop101 opt]# ls
houma.tar.gz houge.txt bailongma.txt
(2)压缩目录
[root@hadoop101 ~]# tar -zcvf xiyou.tar.gz xiyou/
xiyou/
xiyou/mingjie/
xiyou/dssz/
xiyou/dssz/houge.txt
(3)解压到当前目录
[root@hadoop101 ~]# tar -zxvf houma.tar.gz
(4)解压到指定目录
[root@hadoop101 ~]# tar -zxvf xiyou.tar.gz -C /opt
[root@hadoop101 ~]# ll /opt/
ps:查看当前系统进程状态:
ps aux | grep xxx (功能描述:查看系统中所有进程)
ps -ef | grep xxx (功能描述:可以查看子父进程之间的关系)
netstat:显示网络统计信息和端口占用信息,
netstat -anp |grep 进程号 (功能描述:查看该进程网络信息)
netstat -nlp | grep 端口号 (功能描述:查看网络端口号占用情况)
rpm:RPM(RedHat Package Manager),RedHat软件包管理工具,类似windows里面的setup.exe
是Linux这系列操作系统里面的打包安装工具,它虽然是RedHat的标志,但理念是通用的
rpm -qa (功能描述:查询所安装的所有rpm软件包)
由于软件包比较多,一般都会采取过滤。rpm -qa | grep rpm软件包
rpm -e rpm软件包 (卸载软件包)
rpm -e nodeps rpm软件包 (卸载软件时,不检查依赖。这样的话,那些使用该软件包的软件在此之后可能就不能正常工作了)
rpm -ivh RPM包全名 (安装软件包)
df -h 查看磁盘使用情况
分区的目的:https://www.zhihu.com/question/22453727
useradd:添加用户,用法:useradd 用户名/useradd -g 组名 用户名(添加用户到某个组)
passwd:设置密码,用法:passwd 用户名
id:查看用户是否存在,用法:id 用户名
cat /etc/passwd :查看创建了几个用户。
su:切换用户,
su 用户名称 (功能描述:切换用户,只能获得用户的执行权限,不能获得环境变量)
su - 用户名称 (功能描述:切换到用户并获得该用户的环境变量及执行权限)
userdel 用户名 (功能描述:删除用户但保存用户主目录)
userdel -r 用户名 (功能描述:用户和用户主目录,都删除)
whoami (功能描述:显示自身用户名称)
who am i (功能描述:显示登录用户的用户名)
sudu:
[root@hadoop101 ~]#vi /etc/sudoers
修改 /etc/sudoers 文件,找到下面一行(91行),在root下面添加一行,如下所示:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
atguigu ALL=(ALL) ALL
或者配置成采用sudo命令时,不需要输入密码
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
atguigu ALL=(ALL) NOPASSWD:ALL
修改完毕,现在可以用atguigu帐号登录,然后用命令 sudo ,即可获得root权限进行
参考下图:
0的三种表示,-代表文件,d代表目录,l代表链接稳定
rxw作用文件和目录的不同解释
(1)作用到文件:
[ r ]代表可读(read): 可以读取,查看
[ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.
[ x ]代表可执行(execute):可以被系统执行
(2)作用到目录:
[ r ]代表可读(read): 可以读取,ls查看目录内容
[ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
[ x ]代表可执行(execute):可以进入该目录
chmod:改变权限,
1. 用法:
第一种方式变更权限
chmod [{ugoa}{+-=}{rwx}] 文件或目录
第二种方式变更权限
chmod [mode=421 ] [文件或目录]
2.经验技巧
u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)
r=4 w=2 x=1 rwx=4+2+1=7
3.案例实操
(1)修改文件使其所属主用户具有执行权限
[root@hadoop101 ~]# cp xiyou/dssz/houge.txt ./
[root@hadoop101 ~]# chmod u+x houge.txt
(2)修改文件使其所属组用户具有执行权限
[root@hadoop101 ~]# chmod g+x houge.txt
(3)修改文件所属主用户执行权限,并使其他用户具有执行权限
[root@hadoop101 ~]# chmod u-x,o+x houge.txt
(4)采用数字的方式,设置文件所有者、所属组、其他用户都具有可读可写可执行权限。
[root@hadoop101 ~]# chmod 777 houge.txt
(5)修改整个文件夹里面的所有文件的所有者、所属组、其他用户都具有可读可写可执行权限。
[root@hadoop101 ~]# chmod -R 777 xiyou/
chown:改变所有者
chgrp:改变所属组,
更新中。。