虚拟机网址分配位置
运行VWmare界面上方编辑栏中找到虚拟网络编辑器进行编辑
虚拟机网卡启动
nmcli connection up (IP A调用出的网卡名)
xshell连接问题
在连接设置中为预设用户名及密码
命令提示符样式更改
PS1="\[\e[1;5;41;33m\][\u@\h \W]\\$ \[\e[0m\]"
所有的数字都是调出特殊效果用的
- 5闪烁 32绿色
hash命令查看外部命令缓存,后加-r清空缓存
查看该系统软件版本
cat /etc/centos-release
alias 定义别名
alias X=``
储存目录为~/.bashrc
对所有用户有效:/etc/bashrc
root目录下.bashrc为别名存储器
文件写完后不会立即生效,两种方式使其生效,exit重启或者source 该文件
source和 . 都是一样的
alias查看所有别名unalias删除别名
命令合并与分行
合并中间加空格和分号,长命令分行原命令结尾加斜线,新一行加>
CTRL+C强行退出 CTRL+D正常退出 exit注销
dc计算器
时间调整
需要虚拟机新增外网桥接网卡,使用ntpdate+空格+地址
date软件时间,clock硬件时间,clock -w
调整硬件时间 clock -s
调整系统时间
cal 2020
全年日历
VMware 网络配置管理
1.桥接模式,虚拟机的IP地址和自己物理网卡的IP地址在一个网络范围内。
2.NAT模式,虚拟机和物理电脑同时连接一个虚拟路由器/交换机,可以通过物理网络访问外网。
3.仅主机模式,虚拟机和物理机同时连接一个虚拟路由器和/交换机, 不可以访问外网。
通过vmware网络管理工具配置以上三种网络模式。
二. 配置虚拟机网卡配置文件
- cd /etc/sysconfig/network-scripts/
- vi ifcfg-ens33
通常没有IP地址是因为没有设置开机启动网络服务,将对应选项no 修改为yes ,然后保存退出配置文件。 - service network restart
- ip a
VI命令
vi可做文本编辑,有两种模式切换,按i可切换成插入模式,保存退出:wq,不保存退出:q!
df命令显示磁盘,添加-h
可更直观的看到单位
安装软件
- df命令(需挂载光盘)(挂在成功会有/dev/sr0)
- 命令挂载`mount /dev/sr0 /mnt
- 进入光盘 `cd /mnt/Packages
- 安装
rmp -i(install)v(显示附加信息h(显示进度)/Screen+table
RedHat Package Manager
screen命令:
- 创建新screen会话
screen –S [SESSION]
- 加入screen会话
screen –x [SESSION]
- 退出并关闭screen会话
exit
- 显示所有已经打开的screen会话
screen -ls
- 恢复某screen会话
screen -r [SESSION]
Screen命令可实现关闭窗口程序不停止,只需输入screen
即可
echo命令
- echo "$VAR_NAME“ 变量会替换,弱引用
- echo ‘$VAR_NAME’ 变量不会替换,强引用
- echo
$VAR-NAME
变量直接结果后输出 - echo {1…9}
- echo {1…9}.txt
- echo {1…9}.{txt,log}
- echo {000…20…2} 结果是000 002…020
历史纪录
~/.bash_history
- 列表刷出来后
!命令号
从重复执行 ctrl-r
来在命令历史中搜索命令 • (reverse-i-search)`’:Ctrl+g
:从历史搜索模式退出
帮助文件
whatis
如果显示不出就用mandb
命令添加数据库man
命令搜索为输入/
,N
为上一个,n
为下一个
ls命令
-
ls -a
包含隐藏文件 -
ls -l
显示额外的信息 -
ls -R
目录递归通过 -
ls -ld
目录和符号链接信息,就是ll -d
-
ll
命令就是ls -l
,查看文件夹信息用 -
**
ls /proc
可查看当前进程
stat 查看文件的三个时间
#tre命令 L 2指代只显示两级
文件通配符
$
匹配任何单个字符~
当前用户家目录~mage
用户mage家目录~+
当前工作目录~-
前一个工作目录[0-9]
匹配数字范围[a-z]
字母[wang]
匹配列表中四个字母的任何的一个字符[^wang]
匹配列表中的所有字符以外的字符[[:upper:]]
大写(lower小写)
PS:命令语句后加f再加方框代表搜索
CP复制命令
- 最好将
cp -i
赋值到cp
,剪切覆盖时会有提示 - 复制目录时加
-r
选项,可实现逐项复制 -a
存档后再复制,保持用户组一致,同时包含了-r
-v
可看到复制过程-u
只复制修改时间更新的文件
mv命令可用于改名
rm [OPTION]… FILE…
常用选项: -i
: 交互式 -f
: 强制删除 -r
: 递归
tree 列出当前文件夹目录结构
mkdir 建立文件夹 -p
命令可创建多级文件夹
/dev/zero 该文件复制时可快速撑满硬盘空间
可用>清空(rm清空如占用时可能会失败)
硬链接用in
命令,相当于起新名
文件夹硬链接本目算一个,目录下的.算一个,子目录下…算一个
in -s
软连接
软连接支持文件夹,硬链接不支持文件夹
file命令查看文件类型(linux中后缀不一定代表文件类型)
tail打个一个文件不退出
ps aus
查看当前进程(资源管理器)
ls /proc
可查看当前进程的文件
pidof查看某进程的文件夹号码
tty命令用于显示终端机连接标准输入设备的文件名称
输出重定向>
,如要不丢失,则用>>
- /dev/null设备专门用来处理不需要存在文件的重定向
set -c
取消重定向,解除set +c
>|
强制重定向
错误信息从定向2>
&>all.log
=>all.log 2>all.log
=>all.log 2>&1
重定向输入<
多行重定向<<EOF(任意字符),EOF结束
|
管道传递命令,左侧输出转右侧输入
tr命令
tr 'a-z' 'A-Z'
小写转大写命令
tr -d 'ABC'
命令删除ABC字母tr -s 'x'
将相邻x符号压缩成一个
tee命令可实现重定向输出且在屏幕上显示
id
命令查看该用户权限
uid0为管理员
id x
查看x用户的权限及组
getent group
查看所有组列表 getent passwd
查看所有用户等同cat /etc/passwd
useradd创建命令用
- -r: 创建系统用户 CentOS 6: ID<500,CentOS 7: ID<1000
- -s SHELL: 指明用户的默认shell程序
- -u UID
- -d HOME_DIR: 以指定的路径(不存在)为家目录
- -m 创建家目录,用于系统用户
- -G GROUP1[,GROUP2,…]:为用户指明附加组,组须事先存在 (主组g)
- exp:`useradd -r -s /sbin/nologin -u 66 -d /data/mysql -m -G wang 用户名
- 新增用户不设置密码不能登陆
usermod -L wang
锁定, -U解锁
userdel -r
可以连同组一删除
su(switch user) wang
su -完全切换, su 不完成切换,不完成当前目录不发生改变
echo 密码| passwd --stdin 用户名:通过前一个管道的数据作为密码输入
usermod -G admins wang将wang账号加入到附加组
chown命令更改文件所有者(`chown 用户名.组名可一起更改)
chgrp更改文件所属组
chmod u/g/o +/- r/w/x file
更改文件权限
还可以用chmod 777 file
umask XXX 可以更改用户创建文件时的初始权限,为和权限总数相加为666,如遇基数加一
chmod o+t file
命令,只能自己删自己文件
setfacl -m(修改) u:wang:0(可以加rwx) f1 禁止王账号访问f1
-b清除
cat命令
cat -a
命令可显示文本具体内容(空格,回车$,table健^I)-n
加行号,-s
相邻相同行压缩成一行tac
命令为cat输出的倒写rev
行前后进行反转less
命令分页显示,适用于特别长的文章
head
命令
- ifconfig | head n2
tail
命令
- tail -数字
tail -f(follow)
跟踪
cut
命令
cut -d分隔符 -f第几个字段 路径
wc
命令
- 输出行数 字数 字节数
sort
命令
sort -t分隔符 -k 列数 -n(按数字排) -r(倒序) 路径
uniq
命令可以把文件相邻重复行删除
-c
命令可以添加重复多少次的信息
grep
Global search REgular expression and Print out the line
grep pattarn file
从文件中搜索包含的行-o
只pattern显示,正则表达式用处比较大-A 3
显示查找到的和之后3行,-B
前,-C
前后-n
显示行号grep -e root -e bash file
包括root且包括bashgrep root file|grep bash
包括root且包括bashgrep -E
扩展正则表达式,egrep
- grep后比较常用双引号
正则表达式
.
任意字符
r…t- [mage]四个字符中任何一个
- [^mage]除去mage这四个数字
a* ""
连续几个a(a重复无数次)\?
有或者没有都行\+
重复一次及以上X\{10,20\}
出现十至20次\<
词首\>
词尾\b
首尾- abc{3}=abccc (abc){3}=abcabcabc
- (a|b)c=ac|bc
- grep -E 可以编程扩展正则表达式
- 多个/时,用/进行转译
.*
表示任意长度字符(尽可能找到最大匹配字符)\{n\}
匹配前面的字符n次\{m,n\}
匹配前面的字符至少m次,至多n次\{,n\}
匹配前面的字符至多n次\{n,\}
匹配前面的字符至少n次- ^行首锚定,$行尾锚定
-v
排除\(\)
分组,\1
,\2
高级用法\|
或的关系
vim:Visual Interface improved
- 命令模式,插入模式,拓展命令模式
- 点击
i
转化为插入模式在光标前输入(o新建行,I行首,A行尾),esc
返回命令模式 - 输入
:
进入扩展命令模式,w
保存,q
退出q!
强行退出 - 命令模式下
ZZ
存盘退出,ZQ
不保存退出 :!
临时执行命令,跳出程序执行别的,敲回车回来:r!命令
直接写入输出结果H
跳转页面第一个,L
跳转页面最后一行,M
跳转到页面中间- 数字加命令可以实现跨越跳跃
- 命令模式下
r+字母
替换,R
可直接替换replace模式,^
行首,$
行尾,dd
删除一行,dgg
删到首航,3d
删3行,yy
复制一行,p
在选定行后,P
在选型行前. - 地址限定
#,#
,#,$-1
,选定后接d
删除,y
复制,p
粘贴 :/pat1/./pat2/y
几行到几行复制- 拓展模式
/nologin
搜索,N
上一个,n
下一个 :%(全文搜索)s/root/admin
只替换第一个,后加/g
可以全局替换:%s/root/rooter=:%s/root/&er
,$可替代前者,g
命令不提示,gc
替代前提示- 删除#开头的行,
:%s/^#.*//
,g/^#/d
都可以 :2s/^.*inet \([0-9.])\+\) .*/\1/
u
命令撤销,ctrl r
可以恢复v
可视乎模式,用鼠标选区,V
整行复制ctrl+w+s
上下分两屏,v
左右分屏,ctrl+w+方向键
切屏,q
删除窗口,o
全删.:set number
加行号,nonu
删行号- 家目录新建vim.vimrc里添加set number,以后打开vim都有
set ai
autoindent回车自动对齐,set noai
不对其自动对齐,复制时需取消,可能有问题.- 复制保留格式 启用: set paste 禁用: set nopaste
- 高亮搜索 启用:set hlsearch 禁用:set nohlsearch
- 语法高亮 启用:syntax on 禁用:syntax off
- 显示Tab和换行符 ^I 和$显示 启用:set list 禁用:set nolist
- 文件格式 启用windows格式:set fileformat=dos 启用unix格式:set fileformat=unix 简写: set ff=dos|unix
- 设置文本宽度 启用: set textwidth=65 (vim only) 禁用: set wrapmargin=15
- 设置光标所在行的标识线 启用:set cursorline,简写cul 禁用:set no cursorline
sed
命令-sed Stream EDitor 行编辑器
- sed [option]… ‘script(地址命令)’ inputfile…
-n
可关闭自动打印sed '2p' passwd
,全部打印,第二行打印两次sed '/broadcast/p'
可以摘除行- 1~2 奇数行 2~2 偶数行
sed '2~2!(取反)d
- 命令里
i
时前面加,a
时后面加,c
是替换 sed ‘2~1ihaha’ - -r拓展正则表达, -i不光显示,还可修改
- -e多点操作,
sed -e '/^#/d' -e '/^$/d'
=sed '/^#/d;/^$/d'
- pattern需要采用
/pattern/
模式,写在斜线里 - 反斜线为转译符号
- 搜索替代
sed '行数 s/搜索内容/替代内容/
ipconfig ech0|sed -rn '2s@^.inet ([0-9.]+) .$@\1@p -i
真的修改文件- sed删内容时建议写成sed -i.backup
软件管理-rpm
-
cd /misc/cd 直接挂载(需要autofs程序支持)
-
rpm -q
查询,需添加完整包名,qa
显示全部包,可配合通配符或者grap命令.-ql 软件名
安装列表机器路径,-qf
查目录可以看这个文件夹软件来自哪个安装程序,--replacepkgs``--force
强制安装,-qi
查看软件的具体信息 -
rpm -qa
可查所有文件, -
-e
卸载 -
autofs
软件安装之后,ls /misc/cd
可以使用 -
(1) 系统发版的光盘或官方的服务器; CentOS镜像: https://www.centos.org/download/ http://mirrors.aliyun.com http://mirrors.sohu.com http://mirrors.163.com
-
第三方组织: Fedora-EPEL: Extra Packages for Enterprise Linux Rpmforge:RHEL推荐,包很全 搜索引擎: http://pkgs.org http://rpmfind.net http://rpm.pbone.net https://sourceforge.net/
epel源里可以找到一些优秀的文件
yum命令
- yum路径判断准则,看目录下有没有repodata路径
- 默认配置文件夹
/etc/yum/repos.d
- repos.d中repo结尾的为yum的配置文件
CentOS-Base.repo
可以做参考 - [base]
name=随意
(baseurl=file:///misc/cd)引用本地
(mirrolist=file:///root/yumlist)
baseurl=网址(repodata路径判断),记得还变量 r e l e a s e v e r 和 releasever和 releasever和basearch
gpgkey=该网站上的一个key文件 yum repolist
可查看仓库列表- 卸载
yum remove sl
,-y
提前回答YES - 卸载的时候不会卸载连带的,可以用
yum history
查看,命令yum history undo #
来删除一系列,redo
可以再重新安. yum group list
包组列表,yum groupinstall "x x"
包组安装yum groupinfo
包组信息yum list
可查看有哪些yum包- 多网址配置,在根目录下建立yumlist,之后编辑yum配置时用mirrorlist代替name配置.
file:///misc/cd
heeps://mirrors,aliyun.com/centos/7/os/x86_64 yum clean all
清理yum缓存
软件列表里都有/user/lib/systemd/system/X.service,则为服务文件
systemctl start x
现在启动
systemctl ennable x
开机启动
systemctl status firewalld 查看防火墙
systemctl stop firewalld
停止防火墙systemctl disable firewalld
不启用防火墙
enforcing
- 查看cat /etc/selinux/config
卸载虚拟网卡
`. yum remove libvirt-daemon
httpd启动后有网站,默认站点文件cd /var/www/html
- echo welcome to magedu > index/html
要永久挂载
- vim /etc/fstab,
/dev/sr0 /car/www/html/centos/7/os/x86_64/ iso9660 defaults 0 0
下载软件最新版本需要下载.bz2后缀的
gcc
命令,-o直接生成文件
C语言编译转换
- gcc命令编译一个C语言文件,编译好后会编程执行文件可进行打开
- make项目管理器可以成批编译
0.rz -E
等待接收文件命令
0.tar xvh
解压缩- 看README 和 INSTALL文件
- config (视频找到详细命令)
- make
- make install
- make&&make install
- 三步何以可以用分号隔开一次搞定
- 提示缺失文件都加
-devel
再安装,表示开发的意思 - 查文件的时候可以用yum search x
PATH变量
- echo ‘PATH=/路径:$PATH’ >> etc/profile.d/test.sh
shell
- 遵循shebang原则
#!/bin/bash
vim hello.sh
- 家目录
.vimrc
可以写入每次创建.sh文件时的初始(rz命令获取) - shell文件可以把多个命令合并,一步执行傻瓜操作
curl 网址
网站上直接安装wget 网址
网站上下载到当前目录(添加到shell文件里)- !!!文件运行需要先
chmod +x
一下,获取权限
#远程安装
- 将要安装文件放在httpd/htdocs/目录下
- curl http://192.168.20.100/install_cmatrix/sh |bash
- (安装程序shell加入一个命令
wget 网址
下载下代码)
bash -n shell文件
检查错误
2. -x
逐步跟踪
为 变 量 , 为变量, 为变量,{color} 可通过前面命令color=值,文后所有位置都变
k=$[i+j]才可以运算
export 可以传递给子进程z
#echo $?
可以用来判断是否成功,0为成功
test $i -gt $j
比大小,用echo $?
查看结果- -eq -ne -lt -le -gt -ge
echo $[RANDOM%60(对60取余数)+1]
随机对60取号["$STR1" = "$STR2"]
判断是是否相等[-n $DIR]
判断DIR是否为空
||前真不执行,前假执行后面
&&前真执行后,前假不执行
read读取键盘输入并赋值变量
- `read -p(提示) “please input your name:” name
if语句
if条件 ;then
(elif)
(else)
fi
read -p “input u score:” SCORE
if [
S
C
O
R
E
−
l
t
60
]
;
t
h
e
n
e
c
h
o
"
N
o
p
a
s
s
"
e
l
i
f
[
SCORE -lt 60];then echo "No pass" elif [
SCORE−lt60];thenecho"Nopass"elif[SCORE -lt 80];then
echo “so so”
delif [$score ];then
echo “good”
else echo “cheat”
fi
USED=df |sed -rn '/^\dev\/sd/s#.* ([0-9]+)%/*$#\1#p' |sort -n|tail -nl
if [$USED -gt 80];then
wall disk will full
else
wall ok
fi
#case命令
cat <<EOF
1.北京烤鸭
2.炸酱面
3.卤煮
4.豆汁
EOF
read -p “choose a menu(1-4)” MENU
case $MENU in
1)
echo price is 100
2|3|4 )
echo price is 50
*)
echo input error
esac
#for循环
- for i in {1…10};do useradd user i ; e c h o i;echo i;echoi is created;done
#while命令
cat <<EOF
1.北京烤鸭
2.炸酱面
3.卤煮
4.豆汁
EOF
Price=0
read -p “choose a menu(1-4)” MENU
while [$MENU =5];do
case $MENU in
1)
echo price is 100
let Price+=100
2|3|4 )
echo price is 50
let Price+=50
*)
echo input error
esac
read -p “choose a menu(1-4)” MENU
done
echo PRICE IS $PRICE
循环
Continue后续不做再循环 break后续不做不循环
#新建函数名
yesrono() {
read -p “do u agree? yes or no:” ANS
case $ANS in
[yY]|[Yy][Ee][Ss])
echo Yes
esac
}
2. 执行时之家二先加权限之后引用,test.sh
(刚才文件名)就可以
#函数中需要加local 防止文件中所定义函数被外面引用