打开虚拟机,用Xshell连接之前,首先我们要获取IP的地址

切换终端   Ctrl+Alt+F[1~6]

 

关闭Linux系统  init 0

先输入获取 IP的命令

普通用户的提示符:$

ip addr    获取ip
ifup (网卡名字)    #网卡启动
ifdown (网卡名字)   #网卡关闭

root用户的提示符:#

没有获取到的话

退出终端: exit

www.512.net 1

whoami 查看当前登录的用户是谁

我们要开始按照下面的顺序排查故障:

who 列出目前哪些用户在系统上工作

www.512.net 2I3.png)

date 看日期

www.512.net 3

date ‘月日时分年’ 更改时间 比如 date ‘120820202018’

www.512.net 4

cal 看日历

按照上面的步骤,一步一步排除问题。

cal 7 1999 查看1999年7月份日历

www.512.net 5I3.png)

clear 清屏

有的时候公司不一定全是Xshell 也有ssh 客户端  securecrt 

hwclock -s 同步硬件时间

 刚搭的环境 我们需要做一些简单的优化:

hwclock -w 同步系统时间

首先是关闭防火墙

useradd 创建用户 useradd pzl

systemctl stop firewalld
再取消开机启动的防火墙

passwd 更改密码 passwd pzl 123456

systemctl disable firewalld

su 从当前用户切换到另一个用户 su – pzl

安全策略
selinux

man 获取帮助信息 man useradd  q键退出 或者是使用 –help  如:ls –help

 

ls -la 显示包括隐藏文件在内的所有文件信息

临时关闭

alias 起别名  alias pangzl=’ls -l’  之后就可以用pangzl代替ls -l命令

setenforce 0
彻底关闭的需要改配置文件

 

vi /etc/selinux/config     改成图中的圈圈的样子就行
www.512.net 6

Linux中的一些重要目录

 

www.512.net 7

NetworkManager和network都可以管理网络,我们只用network

 

systemctl stop NetworkManager

绝对路径和相对路径

systemctl disable NetworkManager
3行输出如下:

www.512.net 8

www.512.net 9

 

 

cd ~ 当前用户的家目录  直接写 cd 也可以

curl命令行的浏览器
由于再国内下载东西用国外的源 实在太慢,所以我们换了阿里的源

cd – 返回上一次所在的目录

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

 

curl -o /etc/yum.repos.d/CentOS-Base.repo www.512.net 10

cp 复制文件和目录

yum makecache

cp 目标路径 目的路径

需要注意的是yum 是使用python2开发
不能升级自带的python2,升级的话会影响yum的使用

cp -i  拷贝前询问是否覆盖

 

cp -r 没有目录时会创建目录

下载基本的应用  后面-y 防止下载时不断地确认

 

yum install  bash-completion net-tools vim lrzsz wget tree screen lsof tcpdump -y

mv 移动及修改文件和目录名

 

mv 目标路径 目的路径

 

mv aaa bbb 改名

 下面来说一说linux的目录结构:

 

linux的核心就是一切皆文件

mkdir 创建目录

 

mkdir -p /dir1/dir2/dir3/dir4 目录不存在时用-p

查看目录

touch 创建文件

ls  /

touch /dir1/dir2/dir3/dir4/a.text

 

 

bin        二进制命令文件

rm 删除文件

boot 系统的启动引导文件
dev device设备文件的所在目录
etc 配置文件的目录
home 普通用户的家目录

rm -f 删除没有提示

 

rm -r 删除目录

创建普通用户

rm -rf 啥都删  慎用

useradd  名字

 

ls /home/   查看用户

cat 查看命令

passwd  用户名字  

head 查看文件的头几行  默认前10行

 

head -2 /etc/passwd 显示头两行

普通用户 home    所有普通用户的家目录

tail 查看文件的后几行 默认后10行

 

tail -f 动态查看文件内容的变化 作用:用来查看日志

 

more 查看的文件以百分比的方式显示 可以用回车键下翻

lib    32位库文件

less 查看可以用上下键去翻

lib64  64位库文件   兼容  

 

windows  中的库文件

linux权限管理

www.512.net 11

www.512.net 12

 

id pzl 查看pzl的信息 

看二进制的执行路径    which python

 

查看文件    ldd /usr/bin/python2.7 

useradd -u 指定用户的UID

 

useradd -g 指定用户所属的群组

mnt  临时挂载点

useradd -d 指定用户的家目录

 

useradd -c 指定用户的备注信息

opt  普通目录

useradd -s 指定用户所用的shell

 

useradd -u 1010 -g pzl -d /home/pangzl -c cool -s /bin/bash pangzl

proc   process  把内存中进程的信息挂载在 /proc  

 

www.512.net 13

userdel -r pangzl 删除用户

看到没  进程也是文件!一切皆文件!

 

 root    root用户的家目录

usermod 修改用户信息

 

 

run  pid的存放目录    pid进程的名字

ls -l 看到的信息

www.512.net, 

权限信息 硬链接数 属主 属组 文件大小 文件创建日期 文件名

sbin  root 用户 可以二进制命令文件

权限信息有10位

 

第1位:文件类型  -代表普通文件 d代表目录 l代表软连接 b代表设备文件
p代表管道文件

src    不用

2-4:属主的权限  r读 w写 x执行

 

5-7:属组的权限

sys  系统内核运行的时候产生的文件

8-10:其他用户的权限

 

rwx可以用数字表示  r对应4 w对应2 x对应1

tmp  临时目录

rwx 是数字 7

 

rw 是数字 6

usr  用户自己安装的软件的所有文件

wx 是数字 3

 

chmod 664 a.txt  相当于 chmod u=rw-,g=rw-,o=r– a.txt

var 经常变化的文件,邮件,日志

 

 

chmod 更改权限

 

chmod u 更改属主的权限  chmod u-rw a.txt  chmodu+rw a.txt  chmod u=rwd
a.txt 

文件的属性

chmod g 更改属组的权限

ls -il   每一列的意思   inode(相当于数据库中的索引)

chmod o 更改其他用户的权限

 

 

第一个字母  -(普通文件)d(目录)l(软连接快捷方式的效果)
s(sock文件)b(block存储文件)    c(chars输入输出字符串设备)

执行文件的方法

find -type   f

sh 文件路径

rw-r–r–  9位权限位

bash 文件路径

属主   属组  other 其他

. 文件路径

r读

./ 文件路径 (用这个)

w写

 

x执行

对目录的权限

9位权限的最后的点,在seliunx运行的时候,创建处理的文件就会有点

r: 可以ls该目录下的子文件名,子目录名

 

w: 可以在该目录下创建,删除,重命名

第四列:root  属主

x: 可以cd到该目录下

第五列:root 属组

 

第六列:文件的大小

chown 更改属主属组的权限

第7-9列:文件的Modify 时间

chown root.root a.txt 都改  chown .root a.txt 只改属组  chown root a.txt
只改属主

第10列:文件名

chown -R root.root /test/  更改test目录及目录下的所有文件和目录 

 

 

 www.512.net 14

文件合并与归档

 

 

 软链接和硬链接

> 左面内容覆盖给右面  cat /etc/passwd new_pass.txt

软链接:相当于windows上面的快捷方式

>> 左面内容追加给右面

ln (link)  -s  原文件的路径   新快捷的路径

echo 回显命令  echo ‘hello’ > new_pass.txt

 

 

ln   只能对文件来创建硬链接    inode号相同

wc -l /etc/passwd 统计文件有多少行

 

| 管道符  cat /etc/passwd | wc -l  也可以统计有多少行

删文件的原理:当这个硬链接值为0,而没有程序再占有,那么这个文件已经删除

 

 

归档 

软链接和硬链接的区别

tar -cvf test.tar a.txt b.txt c.txt  加v可以显示打包的内容 c创建 f是名字

软链接实实在在的文件,而硬链接

tar -tf test.tar 查看归档文件

 

tar -xvf /tmp/test/test.tar -C /opt/ 解包到opt目录 
不加-C默认解包到当前目录

5、打压缩包和解压缩包

 

tar zcv(详细过程加v)f    /tmp/duoduo.tar.gz   打包的内容(路径)

压缩

看里面的内容

gzip test.txt    或者 bzip2 test.txt

tar  tf 要看文件的路径  (不解压)

解压

解压缩包

gunzip test.txt.gz  或者 bunzip2 test.txt.bz2

tar zxv(详细过程加v)f    /tmp/duoduo.tar.gz 
 -C(指定目录解包的内容(路径)

 

 

归档后直接压缩

6、用户管理

tar czvf test.tar.gz test.txt.gz 

useradd 

解包

 

tar xvf test.tar.gz

查看当前用户 whoami 

打包目录下所有的文件 

 

tar czvf test1.tar.gz *

linux 系统是多用户,多终端的系统

 

 

vim编辑器

su –  切换的用户名

dd  删除光标所在的那一行 相当于剪切操作 dd后可以粘贴

logout退出登录

u 撤销上一步操作

查看用户id 

ctrl+r 撤销u的操作

删除用户

ndd 删除光标所在的向下n行

userdel  -fr 删除的用户名

yy 复制光标所在的那一行

useradd  用户名  -g  1000(在指定组创建用户)

nyy 复制光标所在的向下n行

 

p 将已复制的数据在光标下一行粘贴

7、权限管理

P 将已复制的数据在光标上一行粘贴

chmod  修改文件或目录的权限

np 将内容粘贴n行  100p 就是将复制的内容粘贴100次

chown  修改文件或目录的属主和属组

 

 

光标移动

默认的用户权限:755

0 是到行首

r:4      ls 读的权限

$ 是到行尾

w:2   touch 写的权限

G 光标移动到这个文件的最后一行

x:1    cd  执行权限

nG 光标移动到第n行

 

gg 光标移动到第一行

8、定时任务

补充: ctrl+a跳到命令行的首部

如何命令行发邮件

           ctrl+e跳到命令行的尾部

 

H 光标移动到这个屏幕的最上方那一行的第一个字符

cat /root/anaconda-ks.cfg|mail -s ‘duoduoshuai’ 317755021@qq.com

M 光标移动到这个屏幕的中央那一行的第一个字符

发多了会被封!!!

L 光标移动到这个屏幕的最下那一行的第一个字符

 

 

定时发送的格式

:set nu 显示行号

分 时 日 月 周

:/  查找  找到后n查找下一个 N查找上一个

00 9 * * *   9:00时定时发送  

 

www.512.net 15

Linux系统启动流程

 

vim /etc/inittab 更改启动级别

 编辑定时任务:

grub加密

crontab -e

bios加密

 

 

查看定时任务:

top命令 任务管理器

crontab -l

free命令 查看内存信息

 

free -m 以兆为单位

9、网络管理

free -h 以G为单位

vim /etc/sysconfig/network-scripts/ifcfg-eth0    改成静态ip

 

www.512.net 16

ps命令 用来显示当前的进程

 重启网络服务命令

ps aux 查看所有进程及详细信息

 systemctl restart network 

ps aux | grep ‘root’

 

grep 是筛选命令

查看网关的命令

 

route -n

 

 www.512.net 17

grep ‘/bin/bash’ /etc/passwd 查看passwd文件中包含 bash的行

 

grep -v 反向匹配

 10、安装httpd,运行一个静态网站

kill 2423 杀掉进程

web服务软件:Apache httpd,Nginx

kill -9 2423 强制杀死进程

 

firefox & 可以在后台运行浏览器

 安装

jobs 查看后台运行的程序

 yum install httpd -y

fg %1 将程序又调到前台运行 1是后台运行程序的工作号 可用jobs查看到

 

pstree 查看进程树

 查看一下监听

 

 netstat  -lntup

Linux磁盘分区

www.512.net 18

 

起服务:

fdisk -l /dev/sdb 查看磁盘信息

检查httpd服务是否正常启动,查看是否监听80端口

fdisk /dev/sdb n 回车 +5G p(查看) w(保存)

systemctl  start  httpd

之后partprobe 更新分区列表

 有80端口 
说明成功了www.512.net 19

之后mkfs.ext4 /dev/sdb1 格式化 (注意扩展分区不能格式化)

 访问自己的IP

之后挂在才可以使用  mount /dev/sdb1 /自己创建个文件夹/

www.512.net 20

df 查看挂载信息

在 cd  /var/www/html   中上传游戏包,解压游戏包

umount 卸载

最后效果图:

umount -l 强制卸载

www.512.net 21

mount 查看具体的挂载参数

 查找进程

 

ps -ef|grep ‘httpd’

du -sh /etc/ 统计某个目录下文件有多大

www.512.net 22

ls -i 查看文件inode号

 

ls -di 查看目录的inode号

 结束进程 

df -i 查看文件inode信息

 kill pid 

 

pkill httpd 

创建一个大文件

 

dd if=/dev/zero of=/sdb5/test bs=10G count=1

如果服务不受systemctl控制,那么这个服务,需要手动执行命令来启动,手动kill杀进程来停止

 

再次启动服务

软链接和硬链接

systemctl start httpd

软连接就相当于快捷方式 两个文件的inode号不一样 软连接是指向文件名的

关闭服务

ln -s /a/source.txt /b/des.txt  des就是source的软连接 
修改任何一个,另一个都会更改

systemctl stop httpd

删除des对source没有影响,删除source, des也就没了

 

硬链接两个文件的inode号是一样的 硬链接指向的是inode号

ln /a/s.txt
/b/d.txt 修改任何一个,另一个都会更改,删除一个对另一个没有影响

软连接可以跨分区 硬链接不可以

 

ip地址与子网划分 

172.16.45.10(B类) ip地址包含两部分 网络地址:172.16.0.0
主机地址:172.16.45.10

ifconfig 查看网卡信息

配置网卡信息 ifconfig eth0 192.168.10.100 netmask 255.255.255.0
ip加上子网掩码

或者是ifconfig eth0 192.168.10.100/24

(以上仅是临时配置,重启后会被重置)

service network restart 重启网络服务

 

永久配置网卡

vim /etc/sysconfig/network-scripts/ifcfg-eth0

BOOTPROTO 改为 static

IPADDR=192.168.11.200

NETMASK=255.255.255.0

GATEWAY=192.168.11.1

DNS1=202.106.0.20

DNS2=8.8.8.8

 

service NetworkManager stop 关闭网络守护进程

service NetworkManager status 查看网络守护进程

 

chkconfig –list 查看服务启动级别

chkconfig –level 35 NetworkManager off 关闭在3和5级别下的服务

route -n 查看网关信息

cat /etc/resolv.conf 查看DNS信息

 

ping -c 1 192.168.11.11 ping一次

arping -I eth0 192.168.11.11 用来检测ip地址有没有冲突

 

ifconfig eth0 up 开启网卡

ifconfig eth0 down 关闭网卡

 

iptablesn -F 或者 service iptables stop 清空防火墙规则

 

hostname 查看主机名

hostname pzl 临时修改主机名

vim /etc/sysconfig/network 永久修改主机名

 

软件包管理

本地安装: 

rpm -ivh i安装 v是显示安装详细信息 h通常跟v连在一起写,能显示安装进度

可以同时装多个软件包 

rpm -q 查询某个软件包

rpm -qa 查看所有的软件包 rpm -qa | grep ”

rpm -ql 查看软件包装在哪些位置

rpm -qi 查看包的详细信息

rpm -e 删除软件包 

rpm -ivh 软件包名 –force 强制安装,覆盖安装

rpm -e dhcp-common –nodeps 因为有个包正在使用所以无法删除
所以要忽略依赖性去删除

有的包有依赖关系,需要先装某个包才能装这个包

网络安装:

rpm
-ivh ) 会自动安装

wget http地址 下载软件包 然后再rpm安装

 

yum安装 能够解决依赖性

首先配置本地yum 

vim /etc/yum.repos.d/local.repo

www.512.net 23

yum install dhcp 安装 

yum -y install dhcp 

 

自定义yum源

安装createrepo

mkdir /test

cp 软件包 /test

createrepo /test

修改/etc/yum.repos.d/local.repo

baseurl=file:///test

 

yum -y install http* 模糊安装

yum erase dhcp 卸载软件包

yum clean all 清除yum缓存

yum makecache 制作缓存

 

网络yum源

vim /etc/yum.repos.d/net.repo

[net]

name=remot yum

baseurl= 

enabled=1

gpgcheck=0

 

源码安装

解包–>运行configure脚本添加编译参数—>编译(gcc
glibc)make—->make install 

如果系统没有gcc glibc make 那么就需要先安装这个 yum install gcc-*
glibc-* make -y

tar xvf Python-3.6.5.tgz 解包

cd Python-3.6.5

./configure –prefix=/usr/local/python3.5 指定安装路径

make

make install

改python3的环境变量

www.512.net 24

上述方法只是临时修改

永久修改

vim /etc/profile 放在最后一行

www.512.net 25

yum grouplist 查看可安装的软件组

yum groupinstall ‘开发工具‘  安装软件组

 

ssh服务

service sshd status  查看ssh服务状态 默认是开启的

vim /etc/ssh/sshd_config ssh服务的配置文件

 

ssh -t root@192.168.1.11 -p 22

 

apache服务

1.准备环境

     关闭防火墙: service iptables stop临时(chkconfig iptables off永久)

     关闭selinux: setentforce 0临时(vim /etc/sysconfig/selinux 
SELINUX=disabled永久))

     配置ip

2.安装软件包–3.修改配置文件–4.重启服务–5.测试

yum install httpd -y

vim /etc/httpd/conf/httpd.conf (记住这俩就行Listen, DocumentRoot)

service httpd restart

 

samba服务

yum install samba -y

vim /etc/samba/smb.conf

 www.512.net 26

service smb restart

得先关闭防火墙才能奏效

然后要建用户

useradd pangzl

smbpasswd -a pangzl

usermod -s /sbin/nologin pangzl 让他不能登系统