二、linux 搭建
VM :虚拟机 ==》可以在上面部署多个系统:linux、windows、mac os(苹果系统)
VM 安装过程:(课件里面有)
注意点:安装时用户名一般不要中文,每安装一个软件新建一个文件夹命名用英文
centos 快照:保存当前的使用状态
进入虚拟机页面右键 ==>选择 open in terminal
home目录 :普通用户家目录
root目录:管理员家目录
usr/local目录:用户自行安装的软件存放路径
etc目录:配置文件存放路径
var目录:存放经常变化的文件
1、$ :表示普通用户 拥有普通用户的权限
2、# :表示超级用户,拥有超级用户的权限
3、例:[duan@localhost Desktop]$ su root :su是命令 切换用户,root是超级用户
su root 是从普通用户duan切换到超级用户root,需要输入密码
4、Password: 123456 ==》输入密码
5、[root@localhost /]# su duan ==》从超级用户切换到普通用户不需要密码
6、从centos 界面退出到计算机页面按Ctrl+alt
7、pwd ==》命令 查看当前绝对路径
8、/home/duan/Desktop ==》当前在根目录下home目录下duan目录下desktop目录下
9、ifconfig ==》查看linux的IP地址 addr后面的数字就是ip地址 出现了没有ip地址的情况
1)重启网卡 service network restart
2)在windows 桌面 按win+r 输入 services.msc 找到vm 文件启动
==》service network restart
10、ping ==》ping 命令查看网络是否是通的 ping 拼百度
退出来按ctrl+c
11、dr-xr-x---. 31 root root 4096 Jul 27 02:35 root ==》d 表示directory
root 是目录,是超级管理员的家目录
12、ll ==》查看当前目录下的所有文件和目录(详细显示)
13、ls ==》查看当前目录下的所有文件和目录(不详细)
14、ls -a ==》查看当前目录下的所有文件和目录(包含隐藏文件) -a 是参数
15、ls -l ==》和ll是一样的 ,查看当前目录下的所有文件和目录(详细显示)
16、alias ==》取别名 alias f='ifconfig' 给ifconfig取一个别名f 输入f就可以
查看IP地址
17、unalias f ==》取消取别名
18、/ ==》表示根目录
19、cd / ==》进入根目录,cd 不能进入文件
20、cd .. ==》表示返回上一级
21、cd ../.. ==》表示返回上两级
22、cd ./ ==》.表示当前目录,cd ./home ==》表示进入到home 是相对路径的写法
23、cd /home/duan ==》表示进入到duan目录 这是绝对路径的写法
24、cd ~ ==》~表示管理员的家目录 和cd root 是一样的
25、touch aa ==》touch 是命令 创建一个aa 文件
26、touch bb cc ==》同时创建两个文件 bb cc
27、mkdir dd ==》创建一个名为dd的空目录
28、mkdir tt yy ==》同时创建两个平级目录tt yy
29、mkdir -p a/b/c ==》同时创建一个递归目录名为 a/b/c,a目录下面有b目录下面有c目录 Tab 键是联想键 ==》输入几个单词可以联想: cd +内容=》enter 30、删除指令 rm ==》提示性删除
rm aa ==》删除aa文件 按y 表示同意删除,按n 表示不同意删除(rm 只能删除文件不能删除目录) rm -r ==》提示性删除
rm -r yy ==》删除yy目录 按y 表示同意删除,按n 表示不同意删除(rm -r可以删除目录,也可以删除文件)
rm -r a ==》删除递归目录(a/b/c)一般是从里往外删除并且每一级都会提示 rm -rf tt ==》强制删除 此命令强制删除目录或者文件(删除后找不回来了,慎用) rm -rf * ==》这里注意空格 * ,*号表示通配符所有的意思, 把当前目录下的文件和目录全部删除 rmdir aa ==》强制删除空目录(只能删除空目录) 31、编辑文件的命令
1)vim aa 文件 按enter 等待输入命令,命令模式
2)输入i 进入编辑模式,可以输入内容
3)编辑完后按ctrl+c 退出编辑 末行模式
4)按shift +: 输入wq! 按enter 或者(直接按大写ZZ) 32、cp 复制文件
cp +原文件 +新文件名称
cp aa bb ==》把aa文件的内容复制一份名为bb的文件
cp aa ./a/cc ==》把aa文件的内容复制一份到当前目录下a目录下的cc文件中
复制目录
cp +原目录 +新目录
cp -r a b ==》复制目录也可以复制文件(复制目录子目录也会复制)
注意下cp 只能复制文件 cp -r 可以复制目录也可以复制文件
33、mv 命令 可以移动也可以改名
1)当文件或者目录不存在时改名
mv b d ==》b 是目录,d 不存在的 就是把b目录改名位d目录
mv cc bb ==》bb文件不存在 ,就是把cc文件改名为bb文件
2)当文件或者目录存在是移动(当后面接一个存在的目录就是移动)
mv b d ==》b 是目录,d 存在的目录 就是把b目录移动d目录
mv cc d ==》d 存在的目录,就是把cc文件移动到d目录
34、centos 在公司中一般是当作服务器使用==》通过客户端连接工具xshell来连接linux服务器
注意:在xshell 操作的内容和在linux操作相互影响 怎么用xshell连接虚拟机
1)打开xshell
2)在虚拟机下输入ifconfig 获取ip地址
3)在xshel下ssh +IP地址(192.168.59.128)
4)输入账号root 密码123456 35、查看文件三剑客 cat more less
cat +文件名称
cat head.txt ==》查看文件head.txt 全部内容
less head.txt ==》查看文件head.txt内容,展示部分内容,按上下键翻页查看(按ctrl+z退出)
more head.txt ==》查看文件head.txt内容,以百分比展示部分内容(按enter键查看)
36、通过grep 来搜索关键字
shift +|按一下就会出现:| 管道符号
cat aa |grep 'china' ==》查看文件aa中关键字符china
37、重定向
1)目标文件不存在的情况
cat aa > yy ==》一个重定向 yy文件不存在 ,就是把aa文件的内容复制一份给yy文件
cat aa >> dd ==》两个重定向 dd文件不存在,就是把aa文件的内容复制一份给dd文件
2)目标文件存在的情况
cat aa > tt ==》一个重定向 tt文件存在 ,就是把aa文件的内容覆盖tt文件的内容
cat aa >> tt ==》两个重定向 tt文件存在,就是把aa文件的内容追加到tt文件中 总结:一个或者两个重定向 相同点都是和cp一样(目标文件不存在) 不同点,一个>是替换,两个>> 是追加
38、head指令
head +文件 ==》默认查看文件前10行内容
head -n 5 head.txt ==》查看文件前5行内容
cat -n head.txt|head -n 5 ==》查看文件前5行内容,显示行号
39、tail 指令
tail +head.txt ==》默认查看文件后10行内容
tail -n 5 head.txt ==》查看文件后5行内容
tail -n +5 head.txt ==》查看文件内容从第5行开始所有内容
tail -f head.txt ==》实时查看文件内容
tail -f head.txt |grep 'cat' ==》实时查看文件内容,通过关键字查看
head -n 15 head.txt|tail -n 5 ==》查看文件前15行中的后5行
tail -n 15 head.txt|head -n 5 ==》查看文件后15行中的前5行
cat -n head.txt|tail -n 15|head -n 5 ==》查看文件后15行中的前5行并且显示行号
40、sed指令
sed -n '5,10p' head.txt ==》查看head.txt文件中5到10行的内容(,逗号隔开)
sed -n '5p;10p' head.txt ==》查看head.txt文件中5行和10行的内容(;分号隔开)
sed -n '5p' head.txt ==》查看head.txt文件中5行的内容其它行数不显示
sed -i '1d' aa ==》 删除文件中的第1行()
41、find 指令
find -name '名称'
find -name 'a' ==》查询当前目录下名称是a的目录和文件且进行显示
find /duan/ -name 'a==>查询dcs目录下名称为a的所有目录和文件显示绝对路径
find -name 'fi*' ==>模糊匹配当前目录下开头是fi的所有目录和文件(* 表示匹配0个或者多个,?表示匹配一个)
find /duan/ -name 'fi*'==>【模糊匹配根目录duan目录下开头是fi的所有目录和文件】
find -name '*fi' ==>【模糊匹配当前目录下结尾是fi的所有目录和文件】
find /duan/ -name '*fi'==>模糊匹配duan目录下结尾是fi的所有目录和文件
find -name 'fi' ==>模糊匹配当前目录下含有fi的所有目录和文件
find /duan/ -name 'fi' ==>模糊匹配duan目录下中间是fi的所有目录和文件
find -type f ==>查询当前目录下的所有文件,不显示目录
find -type d ==>查询当前目录下的所有目录,不显示文件
type===类型的意思
42、打包解压: .tar格式包 打包:
tar -cvf +包名称.tar +原文件
tar -cvf file.tar file ==》把file文件打包为file.tar格式的包
tar -cvf +包名称.tar +原目录
tar -cvf duan.tar duan ==》把duan目录打包为duan.tar格式的包 解压.tar格式包
tar -xvf +包名称.tar(包名称)
tar -xvf file.tar 解压tar格式包
注意:解压后原.tar格式包会存在,且一般在同一个目录中只需要解压
一次即可无须重复解压 .tar.gz 包
tar -zcvf +包名称.tar.gz +原文件
tar -zcvf file.tar.gz file ==》把file文件打包为file.tar.gz格式的包
tar -zcvf +包名称.tar.gz +原目录
tar -zcvf duan.tar.gz duan ==》把duan目录打包为duan.tar.gz格式的包 解压.tar格式包
tar -zxvf +包名称.tar.gz(包名称)
tar -zxvf file.tar.gz 解压tar格式包 (目录解包一致) zip 包
zip + 包名.zip +原文件
zip +包名.zip +原目录
zip aa.zip aa ==》把aa文件打包成aa.zip包
zip a.zip a ==》把a目录打包成a.zip包 unzip解包
unzip +包名.zip
unzip aa.zip ==》把aa.zip 进行解包
unzip a.zip ==》把a.zip 进行解包 gzip 包
gzip +文件名称 (此命令一般只能针对文件打包,对目录无效)
gzip dd ==》把dd文件打包成dd.gz包(打包后dd文件消失)
gunzip dd.zip ==》把dd.zip 包进行解压(解压后包消失)
43、在线安装工具
yum install +安装的工具
yum install lrzsz (在linux系统中安装上传 rz 下载 sz )
1)在Linux 中输入: rz 命令 会弹出一个本地电脑的弹框,可以把本地的文件上传
到linux
2)在linux 输入 sz +文件 命令 可以把linux上的文件下载到自己本地 rz he sz 命令一般在0-500mb之内,超过就用xftp
44、在线安装rpm 格式包 遇到.rpm的包时,用 rpm -ivh + .rpm 包 (i 安装 、v 可视化 、h 进度)
45、scp传输:两台服务器之间的传输(传输的条件:建立桥接模式 同一局域网)
scp /dcs9/aa root@192.168.59.128:/dcs9/a ==》把服务器1上根目录下aa文件推送到服务器2上根目录下dcs9下a目录下
scp root@192.168.59.128:/dcs9/bb /dcs9/b ==》到服务器2上面根目录下dcs9下取bb文件放到服务器1上根目录下dcs9下b目录下
(注需要输入密码) 46、以下指令非常重要(面试常问到) df 查看磁盘的使用情况 df -h 带单位显示磁盘的使用情况 wc -l +文件统计总行数 例如:wc -l file 统计file文件的总行数 wc -L +文件统计内容最长的位数 例如:wc -L file 统计file文件内容最长的位数的多少 top 实时查看cpu使用情况
1)当前系统时间;
2)load average后面的三个数分别是5分钟、10分钟、15分钟的负载情况;
3)Tasks — 任务进程;
4)CPU 状态;
5)swap交换分区 top -d +秒数 每间隔指定秒杀后查看cpu使用情况 free 内存使用情况 ,free -m ---》带单位查看运行内存 ps 查看进程 ps aux查看所有用户的进程信息 ps -ef|grep +服务器名称 查看指定服务的进程信息 kill +进程号(PID) 杀进程 kill -9 +进程号 强制性杀进程 netstat -ntlp 查看开启的端口和进程信息 netstat -nultp 可以查看开启的端口和进程信息 lsof -i :8080(端口名) 查看占用8080端口的服务 (lsof -i :22) setup 配置网络命令 getconf LONG_BIT 查看内核信息 reboot 命令 重启linux系统 shutdown now 关机 init 0 关机 service network restart 重启网卡 service mysqld restart 重启一下Mysql数据库 service iptables stop 关闭一下防火墙 who 查看当前在线登录的用户 whoami 查看当前操作的用户 hostname 查看当前主机的名称 du -sh+文件/目录名称 查文件/目录大小 例:du -sh 查看file文件大小、du -sh dcs 查看dcs目录大小 alias if='ifconfig' 取别名(不需要空格) unalias if 取消取别名 history 查看历史 reset 重置屏幕 nl +文件名称 带行号的显示文件中的内容(显示文件内容且带行号),例: nl file 带行号查询file文件中的内容 ln -d 硬链接 (只能针对文件)==》例如:ln d 1 4 把1文件内容复制(备份)一份给4 ln -s +绝对路径 +新文件(如果软链接的文件在当前路径则不用绝对路劲,可以用当前路径,如果放到根目录则要用绝对路径)
ln -s /duoceshi/file /file1 创建一个软链接,链接文件名称取名为file1 (放到根目录下)
ln -s /duoceshi/dir /dir1
ln -s ./duoceshi/file file1(相对路径)
lrwxrwxrwx.1 root root 14 Sep 5 02:07 file3 -> xiaoqianq/file 软链接文件 注意:1)最好是接绝对路径,一般不会爆红, 2)原文件更改内容,对应的软链文件也会更改 3)删除原文件,软链文件爆红 47、权限三剑客 chmod chown chgrp
chmod ==》改变文件或者目录的权限
chown ==》改变文件或者目录的属主
chgrp ==》改变文件或者目录的属组
例如:-rw-r--r--. 2 root root 0 Jul 28 08:02 aa
r read 读 权限为4
w write 写 权限为2
x execute 执行 权限为1
前三位rw- ==》代表的是属主的权限(文件或者目录创建的人)==》u
中间三位r-- ==》代表是属组的权限 ==》g
后面三位r-- ==》代表的是其他用户的权限 ==》o
解释它的权限:-rw-r--r--. 2 root root 0 Jul 28 08:02 aa
对aa 文件属主有读写的权限没有执行的权限,属组对aa文件有读权限,没有写和执行的
权限,其他用户也是只有读的权限没有写和执行的权限
r read 读 对应的权限:cat less more head
w write 写 对应的权限:vim touch
x execute 执行 对应的权限:sh ./ bash
cat /etc/passwd ==》查看系统存储的所有用户
0 代表的是超级用户root
1-499 代表的是系统用户,不能登录
500 以上的是自己建的用户可以登录
==》让所有用户对a这个目录具有所有的权限 chomd -R 777 a ==》让所有的用户对这个a目录以及a目录下所有文件和目录读具有权限
chmod u+r a ==》给a目录(文件)的属主加上读的权限
chmod g+w a ==》给a目录(文件)的属组加上写的权限
chmod o+x a ==》给a目录(文件)的其他用户加上执行的权限
chown duan aa ==》把aa文件的属主改为duan
chgrp duan aa ==》把aa文件的属组改为端
chown root.root aa ==》把aa文件的属主和属组同时改为root (属主和属组间用.或者;)