admin管理员组

文章数量:1538194

1. 配置网络

1. vi /etc/sysconfig/network-script/ifcfg-ens33
2. ONBOOT=yes
3. service network restart
4. ping www.baidu
#动态ip地址
------------------------vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet               # 网卡类型:为以太网
PROXY_METHOD=none           # 代理方式:关闭状态
BROWSER_ONLY=no             # 只是浏览器:否
BOOTPROTO=dhcp              # 网卡的引导协议:DHCP[中文名称: 动态主机配置协议]
DEFROUTE=yes                # 默认路由:是, 不明白的可以百度关键词 `默认路由` 
IPV4_FAILURE_FATAL=no       # 是不开启IPV4致命错误检测:否
IPV6INIT=yes                # IPV6是否自动初始化: 是[不会有任何影响, 现在还没用到IPV6]
IPV6_AUTOCONF=yes           # IPV6是否自动配置:是[不会有任何影响, 现在还没用到IPV6]
IPV6_DEFROUTE=yes           # IPV6是否可以为默认路由:是[不会有任何影响, 现在还没用到IPV6]
IPV6_FAILURE_FATAL=no       # 是不开启IPV6致命错误检测:否
IPV6_ADDR_GEN_MODE=stable-privacy           # IPV6地址生成模型:stable-privacy [这只一种生成IPV6的策略]
NAME=eno16777736            # 网络接口名称,即配置文件名后半部分。
UUID=f47bde51-fa78-4f79-b68f-d5dd90cfc698   # 通用唯一识别码, 每一个网卡都会有, 不能重复, 否两台linux只有一台网卡可用
DEVICE=ens33                # 网卡设备名称
ONBOOT=yes                   # 是否开机启动, 要想网卡开机就启动或通过 `systemctl restart network`控制网卡,必须设置为 `yes` 


#静态ip
--------------------vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet               # 网卡类型:为以太网
PROXY_METHOD=none           # 代理方式:关闭状态
BROWSER_ONLY=no             # 只是浏览器:否

BOOTPROTO=static              # 网卡的引导协议:STATIC[中文名称: 静态主机配置协议]
HWADDR=00:0C:29:0D:EC:0A #物理地址
IPADDR="192.168.1.104" # 设置的静态IP地址
NETMASK="255.255.255.0" # 子网掩码 
GATEWAY="192.168.1.1" # 网关地址 
DNS1="8.8.8.8" # DNS服务器(此设置没有用到,所以我的里面没有添加)
DNS2="8.8.4.4" # DNS服务器(此设置没有用到,所以我的里面没有添加)
DEFROUTE=yes                # 默认路由:是, 不明白的可以百度关键词 `默认路由` 
IPV4_FAILURE_FATAL=no       # 是不开启IPV4致命错误检测:否
IPV6INIT=yes                # IPV6是否自动初始化: 是[不会有任何影响, 现在还没用到IPV6]
IPV6_AUTOCONF=yes           # IPV6是否自动配置:是[不会有任何影响, 现在还没用到IPV6]
IPV6_DEFROUTE=yes           # IPV6是否可以为默认路由:是[不会有任何影响, 现在还没用到IPV6]
IPV6_FAILURE_FATAL=no       # 是不开启IPV6致命错误检测:否
IPV6_ADDR_GEN_MODE=stable-privacy           # IPV6地址生成模型:stable-privacy [这只一种生成IPV6的策略]
NAME=eno16777736            # 网络接口名称,即配置文件名后半部分。
UUID=f47bde51-fa78-4f79-b68f-d5dd90cfc698   # 通用唯一识别码, 每一个网卡都会有, 不能重复, 否两台linux只有一台网卡可用
DEVICE=ens33                # 网卡设备名称
ONBOOT=yes                   # 是否开机启动, 要想网卡开机就启动或通过 `systemctl restart network`控制网卡,必须设置为 `yes` 
----------------------vim /etc/sysconfig/network
NETWORKING=yes
GATEWAY=192.168.1.1
虚拟机ping不通主机,主机可以ping通虚拟机解决方案
https://blog.csdn/fffffer/article/details/81185760
1.打开win10防火墙(在控制面板搜索即可打开)
2.选择高级设置(在左边选项栏中)
3.打开入站规则
4.启用文件类型为“公用”的“文件和打印共享(回显请求 – ICMPv4-In)”规则。
#相同
    vim /etc/sysconfig/network-scripts/ifcfg-ens33

#不同
  #动态`在这里插入代码片`
BOOTPROTO=dhcp
ONBOOT=yes  


  #静态
BOOTPROTO=static              # 网卡的引导协议:STATIC[中文名称: 静态主机配置协议]
HWADDR=00:0C:29:0D:EC:0A #物理地址
IPADDR="192.168.1.104" # 设置的静态IP地址
NETMASK="255.255.255.0" # 子网掩码 
GATEWAY="192.168.1.1" # 网关地址 
DNS1="8.8.8.8" # DNS服务器(此设置没有用到,所以我的里面没有添加)
DNS2="8.8.4.4" # DNS服务器(此设置没有用到,所以我的里面没有添加)
ONBOOT=yes                   # 是否开机启动, 要想网卡开机就启动或通过 `systemctl restart network`控制网卡,必须设置为 `yes` 

----------------------vim /etc/sysconfig/network
NETWORKING=yes
GATEWAY=192.168.1.1

2. 替换源

1. yum install wget
2. yum install net-tools
3. sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
4. sudo wget -O /etc/yum.repos.d/CentOS-Base.repo 
   http://mirrors.aliyun/repo/Centos-7.repo`在这里插入代码片`
5. yum clean all
6. yum makecache

3. 开启ssh

1.yum list installed | grep openssh-server 查看是否下载ssh依赖
   #若无 yum install openssh-server
2.vi /etc/ssh/sshd_config
   PermitRootLogin=yes RSAAuthentication=yes PubkeyAuthentication=yes
3.ssh-keygen -t rsa一路回车即可,在root家目录就能生成一个隐藏文件夹.ssh

4.启动ssh的服务:
	systemctl start sshd.service
5.设置开机自动启动ssh服务
	systemctl enable sshd.service

4. 开放端口

#指令修改
1.查询已开放的端口 netstat -anp
2.查询指定端口是否已开 firewall-cmd --query-port=666/tcp
	#提示 yes,表示开启;no表示未开启。
3.添加指定需要开放的端口:
	firewall-cmd --add-port=22/tcp --permanent
4.重载入添加的端口:
	firewall-cmd --reload
5.查询指定端口是否开启成功:
	firewall-cmd --query-port=123/tcp
6.移除指定端口:
	firewall-cmd --permanent --remove-port=123/tcp
	
#手动修改
其他方法:
1.安装iptables-services :
	yum install iptables-services 
2.进入下面目录进行修改:
	/etc/sysconfig/iptables

5. 克隆虚拟机

static IP address:
   1、克隆主机后,修改IP address
   2、修改mac[物理]地址

6. 同步虚拟机文件

[root@mq1 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.104 mq1
192.168.1.105 mq2
192.168.1.106 mq3

#将修改的同步给mq2
scp /etc/hosts root@mq2:/etc/

#同理mq3
scp /etc/hosts root@mq3:/etc/

注意:如果 root 没有进行映射 则格式为:
> scp /direct/filename counter@ipaddress:/direct/filename
> scp /direct/filename1  /direct/filename2 counter@ipaddress:/direct/
#示例
[root@mq1 ~]# scp /etc/hosts root@192.168.1.103:/etc/
The authenticity of host '192.168.1.103 (192.168.1.103)' can't be established.
ECDSA key fingerprint is SHA256:9NhRzE28jaBTkqgo2Lk9VDvAjAtVN6cd6BlaK0RUltg.
ECDSA key fingerprint is MD5:bf:d6:b7:15:e4:9a:4e:52:1f:b3:7f:ed:cb:5e:70:e7.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.103' (ECDSA) to the list of known hosts.
root@192.168.1.103's password: 
hosts   

7.虚拟机无法ping通主机




8. 配置java环境

[root@mq2 environment]# wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz"

[root@mq2 environment]# tar -xzvf jdk-8u141-linux-x64.tar.gz 

[root@mq2 environment]# rm -rf jdk-8u141-linux-x64.tar.gz 

[root@mq2 environment]# vim /etc/profile

		export JAVA_HOME=/usr/local/custom/environment/jdk1.8.0_141
                                                                       
		export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar                                                        
		export PATH=$PATH:$JAVA_HOME/bin

[root@mq2 environment]# source /etc/profile
[root@mq2 environment]# java -version

9. 常见命令

文件操作

cd:切换工作目录
cd -:回到上一次操作所在的位置(英文横杠)
cd ~:回到用户家目录
cd ./:当前目录
cd ../:回到上一级目录
cd :回到用户家目录

ls + 选项 + 目录名:显示指定目录下的文件名
ls :显示当前目录下的目录
ll等价于ls 
部分参数
 -l: 列表显示
 -a 所有文件夹或目录包括隐藏文件
 -h 以可读的方式显示文件大小 配和-l使用
pwd :显示当前所在的位置
mkdir :创建新目录
mkdir [-p] 目录名: 创建你的目录
参数列表:
 -p 父目录不存在的情况下先自动生成父目录
eg:mkdir -p linux/test
 
date:命令是现实或设置系统时间和日期
date +'%Y-%m-%d %H:%M:%s' :以自定义的方式显示时间
date -s '时间':手动设置时间
hwclock -w : 同步到blos
touch:创建空文件
touch a.txt:创建a.txt 当a.txt存在时,则仅仅改变文件创建的时间
touch sweet{start..end}.txt:创建多个类似的文件
touch sweet{1..3}.txt:创建sweet1.txt sweet2.txt sweet3.txt
touch "program file":创建带有空格的文件夹 不推荐
echo:查看某些环境变量/给文件增加内容
echo 'content' >> a/test :给当前a/test添加内容 如果当前文件含有内容,则写在后面,不覆盖
echo 'content' > a/test :给当前a/test添加内容 如果当前文件含有内容,则覆盖重写
echo $PWD :查看当前的路径
cp:复制文件或目录
cp [-rp] 文件/目录名 目的文件/目录名
  常见参数
   -r -R: 递归处理,复制目录
   -p :保留文件属性
相对路径 : root/test/*
绝对路径 : root/test/sweet.txt
mv:移动文件夹或目录或目录改名
mv 源文件/目录 目的文件/目录
rm:删除文件
rm [-rf] 文件或目录:删除指定文件或目录
  参数列表:
    -r:删除目录,同时删除该目录下所有文件
    -f:强制删除,不分文件属性
注意:谨慎使用 rm -rf

vim编辑器

vim/vi是Linux常见的的文本编辑器,只有命令,没有菜单

vim filename
press i or a or o to strick into content

then press esc 
and input ':wq' to save and exit

当输入指令错误时,vi不会擅自保存带有语法错误的配置文件,它会提示在某行出错,并询问你打算如何做,一般有以下几个选项:

键入'e':重新编译
键入'x':不保存退出
键入'Q':退出并保存,如果真选择Q,那么sudo将不再运行,直到错误被纠正

插入命令

命令作用
a在光标后面附加文本
A(shift+a)在本行行末附加文本 行尾
i在光标前插入文本
I(shift+i)在本行开始插入文本 行首
o在光标下插入新行
O(shift+o)在光标上插入新行

定位命令

命令作用
:set nu设置行号
:set nonu取消行号
gg G到第一行 到最后一行
nG到第n行
:n到第n行

保存和退出

命令作用
:w保存修改
:w new_fileName另存为指定文件
:w >>a.txt内容追加到a.txt文件中 文件需要存在
:wq保存修改并退出
shift+zz (ZZ)快捷键,保存修改并退出
:q!不保存修改退出
:wq!保存修改并退出(文件所有者可忽略文件的只读属性)

eg:有突发情况,导致窗口退出,文件修改后,直接删除.swp文件

删除命令

命令作用
x删除光标所在处字符 nx删除光标所在处后n个字符
dd删除光标所在行,ndd删除n行
:n1,n2d删除指定范围的行(:1,3d 意为删除123这三行)
dG删除光标所在行到末尾的内容
D删除从光标所在处到行尾

复制和剪贴命令

命令作用
yy、Y复制当前行
nyy、nY复制当前行以下n行
dd剪切当前行
ndd剪切当前行以下n行
p、P粘贴在当前光标所在行下 或行上

替换取消命令

命令作用
r取代光标所在处字符
R(shift+r)从光标所在处开始替换字符,按Esc结束
uundo,取消上一步操作
ctrl+rredo,返回到undo之前

替换和搜索命令

命令作用
/string向后搜索指定字符串
?string向前搜索指定字符串
n搜索字符串的下一个出现位置,与搜索顺序
N(shift+n)搜索字符串的上一个出现位置,与搜索顺序
:%s/old/new/g全文替换指定字符串
:n1,n2s/old/new/g在一定范围内替换指定字符串

注意:当遇到特殊含义的字符串时,需要加上‘ \’ 进行转义如,'\ *’

%:指全文
s:指开始
g:指全局替换
c:替换前询问确认
起始行,终止行s/替换的内容/新内容/g c
eg:
   41,44/xx/zz/c       41-44 的所有xx替换为zz 询问是否修改
   41,44/xx/zz/g	   同上,不询问,直接修改


使用替换命令添删注释

#添加注释
:% s/^/#/g   全部内容行首添加#注释  ^代表行首
:1,10s/^/#/g 在1-10的行首添加#注释

#删除注释
:%s/\#//g
vi里面查看命令
: ! which cp
vi里面导入命令的结果
: r!which cp
I或O进入插入模式

查看命令

cat:显示文件内容,直接显示全部内容
cat [-n] 文件名
  参数列表:
  -A 显示所有内容,包括隐藏的字符
  -n 显示行号
more:分页显示文件内容
more 文件名
空格或r 显示下一页
enter键 显示下一行
q或Q 退出
head: 查看文件前几行
head [-n] 文件名
参数列表
    -n:指定行数
head -n /etc/s
head -n 20 /etc/s
head -n 20 /etc/s  > /root/sweet/sweet.txt
head -n 20 /etc/s >> /root/sweet/sweet.txt
tail:查看文件的后几行
tail [-n] 文件名
参数列表
	-n:指定行数
head -n /etc/s
head -n 20 /etc/s
head -n 20 /etc/s  > /root/sweet/sweet.txt
head -n 20 /etc/s >> /root/sweet/sweet.txt
ln:产生链接文件

# 创建软连接
ln -s [源文件][目标文件] 源文件使用绝对路径

eg: ln -s /etc/service ./service.soft
创建文件/etc/service的软链接service.soft

# 创建硬链接
ln [源文件][目标文件]

eg: ln /etc/service /sevice.hard
创建文件/etc/service的硬链接/service.hard

硬链接相当于对文件的深拷贝

软连接类似于window下的快捷方式
软连接文件格式:lrwxrwxrwx.1 root root 13 Jul 20 07:50 service -> /etc/services

#软连接格式解析(特征):
1 :代表硬链接数量,如果该文件没有硬链接,就只有本身一个链接
13 :代表链接文件的长度
软链接的文件类型是 l(软连接), 软连接文件的权限都是lrwxrwxrwx
-> 指向到源文件
真正的权限取决于对源文件的权限
时间值为创建软连接的值
软连接可以跨文件系统生成
删除软链接
	rm -rf symbolic_name
注意:删除之后源文件还存在

# 硬链接特征
相当于 cp -p +同步更新
通过i节点识别,与源文件有相同的inode节点
硬链接不能跨分区,ln /home/test /boot/test 错误语法
不能针对目录使用 ln /tmp/aa.hard 错误 无法将目录/tmp生成硬链接

#inode说明
Linux文件系统中的inode主要用于存放档案和目录的基本信息,当系统创建文件系统的同时会创建大量的inode


搜索查找命令

find:查找文件或目录
find [搜索路径] [匹配条件]:如果没有指定搜索路径,默认从当前目录查找
1) -name:按名称查找
    说明:精准查找
eg:find /etc -name "init" :在目录/etc下查找init文件
2) -iname:按名称查找
    说明:不区分大小写
 
find查找字符匹配:
*:匹配所有
?:匹配单个字符
eg:find /etc -name "init???" :在目录/etc下查找init???文件,三个?表示还有后面三位(任意,但必须是三位)

模糊匹配的条件,建议使用单引号或双引号括起来,如果*被转义,可使用 单引号括住查询条件,或者使用\*
eg:find -name *g

3) -size:按文件大小查
以block为单位,一个block是512B,1K=2block +大于 -小于 不写则表示等于
eg:find /etc -size -204800 :在etc目录下查找小于100M的文件

4) -type:按文件类型查
f:二进制文件
l:软连接文件
d:目录
c:字符文件
eg:find /dev -type c

find:查找基本原则:
占用最少的系统资源,即查询范围最小,查询条件最精准
注意:r如果明确知道所查找的文件在哪一个目录,就指定查找,不要查找/根目录
grep:在文件中搜索字符串匹配的行并输出
grep [-cinv] "搜寻字符串" file_name:
	参数列表:
	-c:输出匹配行的次数(以行为单位,不是以出现的次数为单位)
	-i:忽略大小写,所以大小写视为相同
	-n:显示匹配行及行号
	-v:反向选择,显示不包括匹配文本的所有行
eg:grep ftp /etc/service
eg:grep -v  ^# /etc/inittab 显示文件中行首的不带#的行
eg:grep -n "init" /etc/inittab
which:显示系统命令所在的目录(绝对路径及其别名)
which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果,即使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令

eg: which ls 
whereis:搜索命令所在目录 配置文件所在目录 及帮助文档路径
eg: which passwdwhereis passwd
eg: 查看/etc/passwd配置文件的帮助,就用 man 5 passwd

打包压缩工具

gzip:压缩(解压)文件,压缩文件后缀为.gz
注意:gzip只能压缩文件,不能压缩目录,不保留原文件
语法:gzip [-d] [文件]
	参数列表:
	-d:将压缩文件解压
解压压缩文件使用:
   1): gzip -d [文件名]
   2): gunzip [文件名]
bzip2: 压缩(解压)文件,压缩文件后缀为.bz2
语法: bzip [-kd] [文件名]
	参数列表:
	-k:产生压缩文件后保留原文件
	-d:解压缩的参数
解压压缩文件使用:
	1): bzip2 -d [文件名]
	2): bunzip2 [文件名]
zip:压缩(解压)文件,压缩文件后缀为.zip,保留原文件
语法:zip [-r] [压缩后文件夹名称] [文件或目录]
	参数列表:
	-r:压缩目录
eg: zip sevi.zip /etc/sevi.txt 压缩文件
ge:zip -r test.zip /test 压缩目录

注意:如果不加-r选项,压缩后的文件没有数据
解压使用unzip,如果解压时,已经存在与压缩文件同名的目录名,不会进行覆盖
tar:文件、目录打包和解包
语法: tar [-zcf] [压缩文件后名称] [压缩目录或文件]
	参数列表:
	-c:建立一个压缩文件的参数指令(create)后缀是.tar
	-x:解压一个压缩文件的参数指令(extract)
	-z:以gzip命令压缩/解压
	-j:以bzip2命令压缩/解压
	-v:压缩的过程中显示文件
	-f:file指定文件名,必选项
	
实列:
tar -cf tar -xf 单独的打包,解压
gzip bzip2 打包之后,进行压缩
tar -zcvf tar -zxvf 一步到位
tar -cf -xf 单独 压缩 解压缩
tar -z以gzip打包目录并压缩 文件格式.tar.gz (.tgz)
tar -j以bzip打包目录并压缩 文件格式.tar.bz2

列子:
#使用gzip将目录dir1压缩成一个打包并压缩文件dir1.tar.gz
tar -zcvf dir1.tar.gz dir1 
#解压到指定的/root目录
tar -zxvf dir1.tar.gz -C(大写) /root 
#将当前目录的文件打包为bak.tar
tar -cvf bak.tar 
#将a/b路径压缩成bak.tar
tar -xvPf bak.tar /a/b 
#使用gzip将打包文件bak.tar压缩为bak.tar.gz
tar -zcvf bak.tar.gz bak.tar 或者 gzip bak.tar 
#使用bzip2将打包文件bak.tar压缩为bak.tar.bz2
tar -jcvf bak.tar.bz2 bak.tar 或者 bzip2 bak.tar 
#将/etc/password 追加文件到bak.tar中
tar -rvf bak.tar /etc/password 
#生成test.tar.bz2的压缩文件
tar -cjvf test.tar.bz2 test 
tar -xjf test.tar.bz2 解压

最常见: tar+gzip
tar -zcvf 压缩
tar -zxvf 解压
保留原文件

系统开关机命令

#关机命令
shutdown [参数] 时间
	参数列表:
	-c:取消前一个关机命令
	-h:关机
	-r:重启
eg: shutdown -h now 立即关机
    shutdown -h 20:30 定时关机
其他关机命令  halt poweroff init 0

#重启命令
reboot 重启系统
eg:reboot -h now 立即重启

init 6 重启命令
eg:....

#其他命令
uname -r 查看系统版本信息
basename a/b/c/test.txt  显示:test.txt 查看命令中的名字
dirname a/b/c/test.txt  显示:a/b/c/  查看命令中的路径 

切换执行等级:
linux:七种执行等级
init 0:关机
init 3:纯文本模式
init 6:重新启动

快捷键

ctrl+c :停止当前进程
ctrl+z :挂起当前进程,放后台
ctrl+r :查看历史命令
ctrl+l :清屏
ctrl+a :快速到行首
ctrl+e :快速到行尾
ctrl+d :清除当前的字符
ctrl+k :清除光标后面的内容
ctrl+w :清除光标前面的单词	

防火墙,网络,服务启停命令

在桥接模式下,虚拟机ip地址需要与主机在同一个网段,如果需要联网,则网关与DNS需要与主机网卡一致

#修改ip地址 (以网络方式为NAT示例)
1.图形化界面

2.使用命令行修改配置文件
vi /etc/sysconfig/network-scripts/ifcfg-etho
BOOTPROTO=static static静态 ip dhcp动态 Ip none不设置默认静态ip
ONBOOT=yes 是否开机自动使用
nm_controlled=yes设置 network manager的参数,实时生效,修改后无需要重启网卡立即生效,建议删掉
IPADDR=192.168.2.129
NETMASK=255.255.255.0或者 PREFIX=24
GATEWAY=192168.2.2  #网段2任意,IP地址2国定,网段为wmnet8的设置的ip网段
DNS1=114.114.114114国内的DNs
DNs2=8.8.8.8谷歌的DNS
defroute=yes默认的路由 建议删掉
IPV4_FAILURE_FATAL=yes 如果为yes,则ipv4配置失败禁用设备 建议删掉

3.重启网络生效: service network restart

#关闭防火墙
1.及时生效重启后复原
eg:关闭; service iptables stop
eg开启 service iptalbes start
eg:查看状态 service iptables status(关闭状态的话会提示 firewal is not running)

2.非及时性生效重启后永久性生效
eg: 关闭:chkconfig iptbales off
eg: 开启 chkconfig iptables on
eg: 查看状态 :chkconfig iptables --ist

#关闭 NetworkManager
注意如果ifcfg-eth0中的 nm_controlled 设置成no或者删掉了 NetworkManger就没有了
eg:启动: service NetworkManager start
eg:临时关闭: service NetworkManager stop
eg:开机启动: chkconfig NetworkManager on
eg:禁用开机启动: chkconfig NetworkManager off
eg:检章 NetworkManager服务是否已经正常开启: chkconfig | grep networkmanager
eg: 删除NetworkManager: chkconfig NetworkManager --del

#网络通信命令
1) ping 测试网络的连通性
命令路径: bin/ping 执行权限:所有用户
语法: ping [-c] ip地址
   参数列表:
    -c:指定发送次数
注意:ping使用时icmp协议,不占用端口

2)ifconfig 查看和设置网卡网络配置  
命令路径:/sbin/ifconfig 执行权限:root
语法: ifconfig [-a] [网卡设备标识]
   参数列表:
    -a:显示所有网卡信息
ifconfig 网卡名字 查看单个的网卡信息

3) netstat 主要用于检测主机的网络配置和状况
-a:(all)显示所有连接和监听端口
-t:(tcp)仅显示tcp相关的选项
-u:(udp)仅显示udp相关的选项
-n:使用数字方式显示地址和端口号
-p:显示socket的PID和进程名称
-l:(listening)显示监控中的服务器socket
eg: netstat -tlnu 显示本机监听的端口
eg:tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN

解释说明:协议 待收数据包 待发送数据包 本地IP地址:端口 远程IP地址:端口

netstat -antpl
eg:netstat -antpl | grep httpd(服务端) 查看某一个程序的端口信息
eg:netstat -atnp | grep httpd
eg:netstat -atnp | grep 80 查看端口

修改主机名称及映射关系

#临时生效
hostname 主机名
注意:通过调用logout先退出,再登录->写入内存

#永久生效:
修改配置文件
vim /etc/sysconfig/network
然后修改hostname

#修改映射关系
修改主机名和ip地址之间的映射关系
执行 vim /etc/hosts 进入 hosts文件中,加入代码
主机ip                   主机名
192.168.2.120           master

步骤:
#修改linux中的host文件
1)vim /etc/hosts
2)添加 新的ip地址
	192.168.204.108 hd01
3)保存
4) Linux虚拟主机改成hd01(实际上主机应该为一段ip地址,由于映射为hd01因此可以将其改成hd01)
#修改当前主机(windows)system32/drivers/etc/hosts文件(追添加)
1)追添加 ip地址
    192.168.204.108 hd01

磁盘操作命令

#df命令
作用:用于查看Linux文件系统的状态信息显示各个分区的容量、已使用量、未使用量及挂载点等信息,看剩余空间

语法: df [-hkam] [挂载点]
参数列表:
	-h( human-readable):根据磁盘空间和使用情况以易读的方式显示 KB, MB, GB等
	-k:以KB为单位显示各分区的信息,默认
	-m:以MB为单位显示信息
	-a:显示所有分区包括大小为0的分区

#du命令
作用:用于查看文件或目录的大小(磁盘使用空间)

语法: du [-ahs] [文件名目录]
参数列表
	-a:显示子文件的大小
	-h:以易读的方式显示 KB, MB, GB等
	-s(summarize):统计总占有量
eg:du -a(a) /home  :显示home目录下每个子文件的大小默认单位为kb
eg: du -h /home    :以K,MG为单位显示/home文件夹下各个子目录的大小
eg:du -sh /home    :以常用单位(KMG)为单位是示/home目录的总大小 -s summarize

#df 和 du 区别
1)df命令是从文件系统考虑的,不仅考虑文件占用的空间,还要统计被命令或者程序所占用的空间
2)du命令面向文件,只计算文件或目录占用的空间

#free
作用:查看内存及交换空间使用状态

语法: free [-kmg]
 参数列表
 	-k:以KB为单位显示,默认就是以KB为显示单位
 	-m:以MB为单位显示
 	-g:以GB为单位显示
 
 清除缓存命令:
 echo 1 > /proc/sys/vm/drop_caches

用户与用户组

#----------------------------用户
#su
作用:切换用户
su [用户名]: 切换当你需要切换的用户
eg: su root

#useradd
作用:添加用户
语法:useradd  [用户名]

#passwd
作用:修改密码命令
语法: passwd  [用户名]

#userdel
作用:删除用户
语法: userdel [-r] [用户名]
 参数列表:
	-r:删除用户及其宿主目录(一般不加这个参数)

#----------------------------用户组
#groupadd
作用:添加组
语法

#----------------------------权限更改
#sudo
作用:root把本来只能超级用户执行的命令赋予普通用户执行
注意: sudo 的操作对象是系统命令

执行 vi sudo这里实际修改的是/etc/sudoers文件
sudoers文件内部的信息解释

#用户名 被管理主机的地址 (不是访问地址)=(可使用的身份)授权命令 (绝对路径)
root ALL=( ALL) ALL

#%组名 被管理主机的地址 = (可使用的身份)授权命令(绝对路径)
%wheel ALL=(ALL) ALL

#sudo -l查看可用的sudo命令
注意
sudo命令用来以其他身份来执行命令,预设的身份为root。在etc/ sudoers中设置了可执行sudo指令的用户
若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员
用户使用sud时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须里新辅入密码

语法: sudo [选项] [参数]
 选项列表:
  -b:在后台执行指令
  -h:显示帮助
  -H:将HOME环境变量设置为新身份的HOME环境变量
  -k:结束密码的有效期限,也就是下次再执行sudo时便不需要输入密码
  -l:列出目前用户可执行与无法执行的命令
  -p:改变询问密码的提示符号
  -s:执行指定的shell
  -u<用户>:以指定的用户作为新的身份,若不加上此参数,则预设以root作为新的身份;
  -v:延长密码有效期限5分钟
  -V:显示版本信息

进程管理命令

#进程和程序的区别
1、程序是静态概念,本身作为一种软件资源长期保存:而进程是程序的执行过程,它是动态概念,有一定的生命
期,是动态产生和消亡的
2、程序和进程无一一对应关系。一个进程在活动中可有顺序地执行若干个程序

#父进程与子进程
1、子进程是由一个进程所产生的进程,产生这个子进程的进程称为父进程
2、在nux系统中,使用系统调用fork创建迸程。fork复制的内容包括父进程的数据和堆栈段以及父进程的进程环
境。
3、父进程终止子进程自然终止

#进程和线程的区别
进程:就是正在执行的程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统
资源
线程:轻量级的进程:进程有独立的地址空间,线程没有:线程不能独立存在,它由进程创建;相对讲,线程耗
费的cpu和内存要小于进程
进程管理的作用:判断服务器的健康状态:查看系统所有的进程:杀死进程

#前台进程和后台进程
前台进程:
在Shell提示处打入命令后,创建一个子进程,运行命令,Shell等待命令退出,然后返回到对用户给出提示符,这
条命令与She异步运行,即在前台运行,用户在它完成之前不能执行另一个命令。

后台进程:
在Shell 提示处打入命令,若后随一个&,Shel创建的子进程运行此命令,但不等待命令退出,而直接返回到对
用户给出提示,这条命令与Shell同步运行,即在后台运行。后台进程必须是非交互式的

#ps命令
作用:查看系统中的进程信息
语法:ps [-auxe]
 参数列表:
	-a:显示所有用户的进程
	-u:显示用户名和启动时间
	-x:显示没有控制终端的进程
	-e:显示所有进程,包括没有控制终端的进程
	-1:长格式显示

eg:ps aux   #查看系统中所有进程,使用BSD操作系统格式,unix
eg:ps -le   #查看系统中所有进程,使用Lnux标佳命令格式
eg:ps -u or ps -l #查看录属于自己进程详细信息
eg:ps aux | grep sam   #查看用户sam执行的进程
eg:ps -ef | grep init  #查看指定进程(init)信息

#pstree
作用:查看当前进程树
语法: pstree [-pu]
 参数列表:
  -p:显示进程PID
  -u:显示进程的所属用户
  
#top
作用:查看系统健康状态
显示当前系统中耗费资源最多的进程,以及系统的一些负载情况
语法: top [-d]
 参数列表:
  -d:秒数,指定几秒刷新一次,默认3秒(动态显示)
 
#kill
作用:杀死进程
语法: kill [-] pid

eg:kill -9 进程号 (强行关闭) 常用
eg:kill -1 进程号 (重启进程)
eg:killall -l : 关闭所有进程,(忽略进程名的大小写)

#w
作用:查看用户的信息
语法: w 用户名
eg: w root
显示:
USER TTY  FROM           LOING@  IDLE  JCPU  PCPU  WHAT
root pts/0  10.0.158.3 06:02 0.00s 0.13s 0.00s w rooot
解释
Jcpu:以终端代号来区分,该终端所有相关的进程执行时,所消耗的CpU时间会显示在这里
pcpU:cpu执行程序耗费的时间
WHAT:用户正在执行的操作

#nohup
作用:使进程在用户退出登陆后仍旧继续执行 nohup命令将执行后的数据信息和错误信息默认储存到文件
nohup.out中
语法: nohup program &  #&在后台运行的意思
eg:nohup ping www.baidu &
使用 ps -ef | grep ping查看当前的ping进程

#uptime
作用:查看负载
例如:使用 uptime确定是服务器还是网络出了问题,如果网络应用程序运行,运行uptime。来了解系统负载是否很
高。如果负载不高,这个问题很有可能是由于网络引起的而非服务器
语法: uptime
eg: uptime

系统时间  用户数量  服务器在过去1分钟、5分钟、15分钟的系统平均负载值

文件权限命令

#三种基本权限概念
r: 读权限    w:写权限    x:执行权限
--------------------------------------------
#权限说明
类型+所属用户权限+所属组权限+其他用户权限
-  +rwx       +rw-      +r--
#解释说明:
所有者 所属组 其他人
第1位:文件类型(d目录,-普通文件,|链接文件)
第2-4位:所属用户(所有者)权限,用u(user)表示
第5-7位:所属组权限,用g(group)表示
丽8-10位:其他用户(其他人)权限,用o(other)表示
第2-10位:表示所有的权限,用a(all)表示
eg:-rw-r--r--. 1 root root 3664 Nov 30 17: 42 CentoS-Vault.repo.bak
第十一位的 1 代表硬链接数
字符权限对文件的内容对目录的含义
r读权限可以查看文件内容可以列出目录的内容(ls)
w写权限可以修改文件内容可以在目录中创建删除文件(mkdir,rm)
x执行权限可以执行文件可以进入目录(cd)

对于文件:执行权限的命令:

r-cat,more,head,tail,less

w-echo,vi

x-命令,脚本

对于目录:执行权限的命令:

r-ls

w-touch,mkdir,rm,rmdir

x-cd

能删除文件的权限是必须对该文件所在的目录有wx权限

#chomd 用户目录文件的权限更改
语法: chmod [{ugoa}{+-=}{rwx}] [文件名或目录名]
chmod [mode=421] [文件或目录]
参数: -R 下面的文件和子目录做相同权限操作(Recursive递归的)
可以有修改一个文件的权限

1、root
2、文件的所有者
eg:chmod u+x a.txt #增加所有者的x权限
eg:chmod u+x,o-x a.txt #增加所有者的x权限,撤回其他人的x权限
3、用数字来表示权限
r=4 w=2 x=1 -=0
#rwx rx -
eg: chmod 750 a.txt
#rwx rwx rwx
eg: chmod 777 b.txt


#chown 修改文件的所有者(持有者)
语法: chown user[:group] fileName...
-R:递归修改
参数格式: 
	user:新档案所有者的ID
	group:新档案所有者所在组ID
eg: chown lee fileName 把文件所有者改为用户lee
eg: chown lee:test fileName 把文件所有者改为用户lee且所有组改为test
eg: chown -R lee:test dir 修改dir目录及其子目录的所有者和所属组

#chgrp 用户改变所属组
作用:改变文件或目录的所属组
语法: chgrp [group] fileName
eg: chgrp root test.txt #把test.txt的所属组改成root

软件的安装

#RPM命令使用
rpm的常用参数
i:安装应用程序( install)
vh:显示安装进度( verbose hash)
U:升级软件包( update)
qa:显示所有已安装软件包( query all)
e:卸载应用程序( erase)
注意;如果其它软件包有依赖关系,卸载时会产生提示信息,可使用 --nodeps行卸载
查询所有安装的rpm包:rpm -qa
查询mysq相关的包:rpm -qa | grep mysql
安装:rpm -ivh jdk.rpm
卸载:rpm -e mysql*
强行卸载:rpm -e mysql* -nodeps

#yum日常操作
图形化界面,手动挂载
yum (yellowdog updater modified):软件包管理工具
门: rpm -e myso-no0eps

1)应用yum的好处
	1自动解决软件包依赖关系
	2方侧的欺件包升级1
2)查询
	yum list #查询所有可用软件包列表
	yum search 关键字 #搜索服务器上所有和关键字相关的包
	yum info 关键字 #来查找包名
3)安装
	yum -y install 包名 # -y 自动回答yes
4)升级
	yum -y update 包名
注意:如果不加包名,就升级所有的,包括内核。必须加包名升级单个软件包,值用升级所有的
检测升级 yum check-update
5)卸载
	yum -y remove 包名
6)其他操作
	yum --help, man yum #帮助
	yum clean all #清除缓存和旧包
	yum repolist #查看当前可用的yum源
	yum deplist httpd #列出一个包所有依赖的包

#配置163yum源的介绍 2019 
1、进入yum配置文件目录
cd /etc/yum.repos.d/

2、备份配置文件
mv CentOS-Base.repo CentOS-Base.repo.bak

3、下载163的配置
wget http://mirrors.163/.help/CentOS6-Base-163.repo,#下载下来的文件名为 CentOS6-Base-163.repo

4、改名
mv CentOS6-Base-163.repo CentOS-Base.repo

5、更新数据库
yum clean all
yum makecache

(yum update 建议不使用)

#配置aliyun源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun/repo/Centos-6.repo

官方: 非阿里云ECS用户会出现 Couldn’t resolve host ‘mirrors.cloud.aliyuncs’ 信息,不影响使用。用户也可自行修改相关配置: eg:
sed -i -e '/mirrors.cloud.aliyuncs/d' -e '/mirrors.aliyuncs/d' /etc/yum.repos.d/CentOS-Base.repo

替换http成https
sed -i  's/http/https/g' /etc/yum.repos.d/CentOS-Base.repo

替换版本,$releasever替换6.5, 6.5是我用的版本
sed -i  's/$releasever/6.5/g' /etc/yum.repos.d/CentOS-Base.repo

替换centos为centos-vault
sed -i  's/centos/centos-vault/g' /etc/yum.repos.d/CentOS-Base.repo

yum clean all && yum makecache

本文标签: 命令常见Linux