Linux了解一下
VMware与CentOS系统安装
1, 下载CentOS系统ISO镜像:
国内镜像源
https://opsx.alibaba.com/mirror#阿里云官方镜像站
iso下载地址(此DVD映像包含可以使用该软件安装的所有软件包安装程序。这是大多数用户的推荐图像):
https://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1804.iso
2, 安装VMware虚拟机
虚拟机能让用户在一台机器上模拟出多个操作系统的软件,一般的机器配置能够胜任虚拟机的任务.
虚拟机不但可以虚拟出硬件资源,把实验环境与真机文件分离保证数据安全,还能在删掉系统核心配置时,有'快照'的功能,立即恢复到出错前的状态.
(Windows用户)VMware Workstation是一款功能强大的桌面虚拟计算机软件,提供用户可在单一的桌面上同时运行不同的操作系统,
和进行开发、测试 、部署新的应用程序的最佳解决方案。
下载激活地址:http://www.zdfans.com/html/5928.html
(Mac用户) VMware fusion
简单的说,虚拟机(virtual Machine)软件就是一套特殊的软件,同时可以用“多个操作系统”
虚拟出硬件+操作系统==服务器+OS
误区:学Linux不需要再物理机上安装,费时费力,采用虚拟机是最合适的方式 Linux学习环境推荐电脑配置:
笔记本电脑: 内存 8G ; 磁盘 500G SATA或者120G SSD ; i3, i5, i7处理器.
Linux是一个多用户,多任务,支持多线程和多CPU的操作系统
通过VM虚拟机学习Linux的优点:
利用虚拟机搭建Linux学习环境简单方便, 容易上手, 最重要的是虚拟机的Linux和真实服务器
几乎无区别;
搭建Linux集群或者需要模拟多台服务器通信的时候,可以同时开启好几台虚拟机,虚拟机可以满足多机器的需求;
自己租服务器可以搭建Linux环境,用于个人开发学习使用;
允许修改虚拟(服务器)机配置,且不会影响自己的电脑,想删除虚拟机也不会影响电脑,虚拟机只是运行在电脑上的一个程序. 安装VM注意:
1, 秘钥自己网上搜即可,要配合版本;
2, 安装成功后创建新的虚拟机,在新建虚拟机向导中选择'自定义';
3, 在安装客户机操作系统时, 选择'稍后安装操作系统';
4, 在选择磁盘时,选中 '创建新虚拟磁盘';
5, 在指定磁盘容量时,选择'将虚拟机磁盘拆分成多个文件';
6, 点击'自动检测',选择已经下好的ISO文件
... root密码重置:
在重启Linux系统主机并出现引导界面时,按下键盘上的e键进入内核编辑界面
在Linux16参数行的最后追加'rd.break'参数,然后按下Ctrl+X组合键来运行修改的内核程序
等待之后,进入系统紧急求援模式
依次输入以下命令,等待系统重启操作完毕,然后就可以使用新密码来登录Linux系统了
mount -o remount,rw /sysroot
chroot /sysroot
passwd
touch /.autorelabel
exit reboot
在安装VM和CentOS过程中可能还有其他问题,如电脑不兼容等问题,自行查资料或请教他人解决.
远程连接:
这里只用Xshell软件进行连接.
获取主机IP地址 :
方式1 ip addr
方式2 ifconfig
网络模式配置:
host only 仅主机,单机模式,电脑控制虚拟令其无法与外界通信
nat模式(网络地址转换)
--- 电脑宿主机的ip在局域网内是唯一的, 选择了NAT模式创建虚拟机,虚拟机就是一个新的局域网
--- 虚拟机的IP地址是nat分配的,电脑网络环境改变不会影响虚拟机
桥接模式:
--- 用该模式,就是局域网中一台独立的主机,他可以访问该网段任意一台机器.
--- 虚拟机受电脑网络环境的影响,随时改变ip地址
端口
一台服务器可以有一个ip地址,例如是192.168.11.1,服务器是需要对外提供服务的,例如web服务,FTP服务。那么仅凭ip地址,主机无法区分不同的服务,ip地址和网络服务是一对多的关系,一个ip提供多个服务,因此就有了“端口号”来区分不同的服务器的。
端口(port) 的设计规定是有65536个端口,每个端口对应唯一的程序,0-1024端口之间被操作系统占用,因此开发人员使用的是1024-65536
如 : ftp : 23 dns: 53 http : 80 https: 443 ssh : 22
协议 :
protocol是为网络中的数据交换而建立的规则,标准或者约定,俩个实体要通信,必须要有同一种语言.
超文本传输协议: HTTP ; 文件传输协议: FTP ; 简单邮件传输协议: SMTP
网络通信协议: TCP ; 用户数据报协议: UDP
连接服务器:
首先打开服务器,并获取ip,
然后,在Xshell中输入 : ssh 用户名@ip,
随后输入用户名称和密码即可.
Ctrl+Alt+F[1~6],如果要切换到第二号虚拟机终端, 则同时按Ctrl+Alt+F2
普通用户登录后系统提示符:$ ; root用户登录后系统提示符: #
查看终端信息shell命令
tty 查看当前终端 ;
who am i 仅显示当前用户正在使用的终端和登录时间
w 查看所有终端, (功能最全,显示用户名,登陆时间,负载等信息)
Linux 常用命令
Linux命令就是一个可执行的二进制程序
网卡配置:
装好Linux后,有的时候网卡默认是没启动的,因此需要手动启动网卡:
编辑网卡配置文件-- vi /etc/sysconfig/network-scripts/ifcfg-etho
(注意ifcfg-etho表示ip所在的当前文件夹)
修改配置参数-- ONBOOT=yes
网络配置文件:
/etc/sysconfig/network 网络接口配置文件:
/etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME
DEVICE=: 关联的设备名称,要与文件名的后半部“INTERFACE_NAME”保持一致;
BOOTPROTO={static|none|dhcp|bootp}: 引导协议;要使用静态地址,使用static或none;
dhcp表示使用DHCP服务器获取地址;
IPADDR=: IP地址
NETMASK=:子网掩码
GATEWAY=:设定默认网关;
ONBOOT=:开机时是否自动激活此网络接口;
HWADDR=: 硬件地址,要与硬件中的地址保持一致;可省;
USERCTL={yes|no}: 是否允许普通用户控制此接口;
PEERDNS={yes|no}: 是否在BOOTPROTO为dhcp时接受由DHCP服务器指定的DNS地址;
注意: dhclient 能够手动获取ip地址,再使用ip addr 即可查看.
service network restart 重启网络即可.
ifup, ifdown命令
表示启动/关闭一块网卡;
ifup ens33 ; ifdown ens33
他们是直接连接到/etc/sysconfig/network-scripts目录下搜索对应的网卡文件,如: ifcfg-ens33
ifconfig命名(并非系统自带,需要下软件包:yum install net-tools -y)
ifconfig 查看网卡ip地址
直接输入ifconfig会列出已经启动的网卡,也可以输入ifconfig ens33单独显示ens33的信息
各选项解释是:
eth0 网卡的代号
lo 回环地址loopback
inet IPv4的Ip地址
netmask 子网掩码
broadcast 广播地址
RX/TX 流量发/收情况 tx是发送(transport),rx是接收(receive)
packets 数据包数
errors 数据包错误数
dropped 数据包有问题被丢弃的数量
collisions 数据包碰撞情况,数值太多代表网络状况差
ifdown 关闭网卡
ip 命令
ip是一个命令,结合了ifconfig和route俩个命令的功能
ip addr show 查看ip信息
系统信息:
#查看系统版本信息
cat /etc/redhat-release
CentOS Linux release 7.4. (Core)
#查看内核版本号
uname -r
3.10.-.el7.x86_64
#查看系统多少位
uname -m
x86_64
#查看内核所有信息
uname -a
ls 查看Linux文件夹信息 list缩写 , Linux中白色的是普通文件,蓝色的是目录文件
pwd 打印当前工作目录--print work
mkdir 创建文件夹
如: mkdir 文件夹名 创建单个文件夹 ;
mkdir 文件夹1 文件夹2文件夹3 创建多个文件夹
cat 查看Linux文本(查看纯文本文档,常用于内容较少的)
#查看文件,显示行号
cat -n xxx.py
#查看文件
cat xxx.py #在每一行的结尾加上$符
[root@master tmp]# cat -E .txt #追加文字到文件
cat >>/tmp/oldboy.txt << EOF(此处表明退出的标识)
唧唧复唧唧...
(此处写追加的内容)
EOF
cd change 目录 表示更改目录 ; cd 目录 表示切换/更改当前目录或位置 如: cd /home
touch 创建普通文本
如: touch 文件名
touch 文件1 文件2 文件3
echo 显示变量的值/显示当前字符串
如: echo 'pan 是个大傻逼'
cat filename.txt -n 查看文本内容 显示行号
more 用于查看大文件
more 命令查看文本会以百分比的形式显示已经看了多少,
回车键向下读取内容 ; 按空格(space)翻页 ; 按b键是上一页
拷贝命令 : cp 文件1 文件2 ; cp -r 递归拷贝文件
find 查找文件命令 表示从哪找 啥类型 找什么(find 目录 类型 名字)
#Linux里如何找到需要的文件 例如 oldboy.py
find 在哪里(目录) 什么类型(文件类型) 叫什么名字(文件名)
参数 -name 按照文件名查找文件
-type 查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
s - socket文件 find /tmp/ -type f -name "oldboy.py" #找出/tmp所有以 .txt 结尾的文件
find /tmp/ -type f -name "*.txt" #找到/etc下所有名字以host开头的文件
find /etc -name 'host*' #找到/opt上一个名为settings.py
find /opt -name 'settings.py'
Linux 快捷键:
tab键: 用于自动补全命令/文件名/目录名
Ctrl + 1 清理终端信息
clear/cls 清理终端显示
Ctrl + c 终止当前操作
echo :
用于在终端输出字符串或者变量提取后的值,格式是'echo 字符串|$变量'
#默认吧内容显示到终端上
echo "pan"
#把“pan”写入到文件里!
echo "pan" > /tmp/chaoge.txt
echo $PATH #取出打印PATH的值
特殊符号
输出/输入 重定向符号
>> 追加重定向,把文字追加到文件的结尾
> 重定向符号,清空源文件内容, 然后把文字覆盖到文件末尾
< 输入重定向
<< 将输入结果输入重定向
如: echo 'pan' > /tmp/pan.txt
echo 'pan66' >> /tmp/pan.txt
cat >> /tmp/pan.txt << EOF
把命令执行的结果信息,写入到文件
ip addr > /tmp/network.txt 标准输出重定向 把命令执行结果信息放到文件中
通配符:
ls -l 文件
vim 支持编程的文本编辑器(不是系统默认命令,需要下载)
vim 具有程序编辑能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计.
vim filename.txt 进入命令模式后,可以输入各种命令
:set nu 显示行号 (需要先按Esc键)
在光标所在行 yy 复制本行 ; 在光标所在行 dd 删除本行
5yy 表示复制5行 , 5dd 表示删除5行
#方法,命令
vi
vim
使用vi打开oldboy.py,默认是命令模式,需要输入a/i进入编辑模式,然后输入文本"Life is short,i use python"
按下esc键,回到命令模式
输入 :wq! 强制保存退出
w write 写入
q quit 退出
! 强制
或者 :x 保存退出
------
:q 不保存退出
:q! 不保存强制退出
vi Linux底下的文本编辑器(相当于记事本)
vi 文件 此时进入一个命令模式,需要先输入i字母插入指令,便可进行编辑.
编辑完成后,先按esc回到命令模式,再按下 : 然后输入wq! 保存退出. w表示write写入; q 表示 quit 退出 ; ! 表示强制性. 若不保存退出 输入 q! .
复制 :
copy ==> cp
#移动xxx.py到/tmp目录下
cp xxx.py /tmp/
#移动xxx.py顺便改名为chaoge.py
cp xxx.py /tmp/chaoge.py Linux下面很多命令,一般没有办法直接处理文件夹,因此需要加上(参数)
cp -r 递归,复制目录以及目录的子孙后代
cp -p 复制文件,同时保持文件属性不变 可以用stat
cp -a 相当于-pdr
#递归复制test文件夹,为test2
cp -r test test2 cp是个好命令,操作文件前,先备份
cp main.py main.py.bak
移动命令:
move > mv cd /home
#把日本的冲绳,搬到南海去
mv /home/riben/chongsheng /tmp/nanhai 文件/文件夹改名
mv x.log xx.log
删除命令:
remove ==> rm
参数 -i 需要删除确认
-f 强制删除
-r 递归删除目录和内容 cd /tmp
rm oldboy.py
#默认有提示删除,需要输入y
rm -f oldboy.py #不需要提示,强制删除
#rm默认无法删除目录,需要跟上参数-r
rm -rf /tmp/oldboy/ --------
友情提醒:初学者使用rm命令,随时快照虚拟机
管道命令:
Linux提供的管道符“|”将两条命令隔开,管道符左边命令的输出会作为管道符右边命令的输入。
常见用法:
#检查python程序是否启动
ps -ef|grep "python" #找到/tmp目录下所有txt文件
ls /tmp|grep '.txt' #检查nginx的端口是否存活
netstat -tunlp |grep nginx
grep
是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.
语法:
grep [参数] [--color=auto] [字符串] filename
参数详解:
-i : 忽略大小写
-n : 输出行号
-v : 反向选择
--color = auto : 给关键词部分添加颜色 grep "我要找什么" /tmp/oldboy.txt
#排除 -v,排除我要找的东西
grep -v "我要找什么 /tmp/oldboy.txt
如: 找出目录下root用户所在行,以及行号,显示颜色
cat /etc/passwd |grep '^root' --color=auto -n
找出..所有不允许登录的用户
grep /sbin/nologin /etc/passwd
找出..的所有与mysql有关行,行号
cat /etc/passwd |grep 'mysql' -n
head, tail命令
head显示文件前几行,默认前10行
tail显示文件后几行,默认后10行
#查看前两行
head - /tmp/oldboy.txt
#查看后两行
tail - /tmp/oldboy.txt
#持续刷新显示
tail -f xx.log #显示文件10-30行
head - /tmp/oldboy.txt |tail -
别名:
Linux如何提示你,在使用这些命令时候,提醒你小心呢?
#查看系统别名
alias
默认别名 alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
别名作用是:
我们在linux中使用cp时候相当于执行了cp -i
-i:删除已有文件或目录之前先询问用户;
#别名用比较危险的操作,防止你犯错
设置rm别名
#让系统显示 do not use rm
echo do not use rm
#设置rm别名
alias rm='echo do not use rm'
#设置别名永久生效,写入到/etc/profile(针对登录用户的合同,设置环境变量)
vim /etc/profile #编辑文件
G 快速到达最后一行
o 当前行下一行,创建一个新行,进入编辑模式
source /etc/profile #读取文件(合同生效)
---------------
#取消别名
unalias rm
which命令:
which命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。
which指令会在环境变量$PATH设置的目录里查找符合条件的文件。
也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
which pwd
which python
which python #python命令在哪
/usr/bin/python #命令文件绝对路径
scp 命令:
Linux scp命令用于Linux之间复制文件和,目录.
scp是secure copy的缩写,scp是Linux系统下的基于
语法: scp 参数 本地文件 远程文件标记
参数:
-r :递归复制整个目录
-v:详细方式输出
-q:不显示传输进度条
-C:允许压缩
实例:
#传输本地文件到远程地址
scp 本地文件 远程用户名@远程ip:远程文件夹/
scp 本地文件 远程用户名@远程ip:远程文件夹/远程文件名 scp /tmp/chaoge.py root@192.168.1.155:/home/
scp /tmp/chaoge.py root@192.168.1.155:/home/chaoge_python.py scp -r 本地文件夹 远程用户名@远程ip:远程文件夹/
scp -r /tmp/oldboy root@192.168.1.155:/home/oldboy #复制远程文件到本地
scp root@192.168.1.155:/home/oldboy.txt /tmp/oldboy.txt
scp -r root@192.168.1.155:/home/oldboy /home/
du命令:
Linux du命令用于显示目录或文件的大小
du会显示指定的目录或文件所占用的磁盘空间
用法
du 【参数】【文件或目录】
-s 显示总计
-h 以k,M,G为单位显示,可读性强
实例:
显示目录或文件所占空间
#什么都不跟,代表显示当前目录所有文件大小
du #显示/home的总大小
du -sh /home
top 命令:
第一行 (uptime)
系统时间 主机运行时间 用户连接数(who) 系统1,,15分钟的平均负载
第二行:进程信息
进程总数 正在运行的进程数 睡眠的进程数 停止的进程数 僵尸进程数
第三行:cpu信息
us:用户空间所占CPU百分比
sy:内核空间占用CPU百分比
ni:用户进程空间内改变过优先级的进程占用CPU百分比
id:空闲CPU百分比
wa:等待输入输出的CPU时间百分比
hi:硬件CPU中断占用百分比
si:软中断占用百分比
st:虚拟机占用百分比 第四行:内存信息(与第五行的信息类似与free命令)
total:物理内存总量
used:已使用的内存总量
free:空闲的内存总量(free+used=total)
buffers:用作内核缓存的内存量 第五行:swap信息
total:交换分区总量
used:已使用的交换分区总量
free:空闲交换区总量
cached Mem:缓冲的交换区总量,内存中的内容被换出到交换区,然后又被换入到内存,但是使用过的交换区没有被覆盖,交换区的这些内容已存在于内存中的交换区的大小,相应的内存再次被换出时可不必再对交换区写入。
Linux的时间同步
Linux的date命令可以显示当前时间或者设置系统时间
查看当前时间:
格式化输出:
-d --date=string 显示指定的时间,而不是当前时间
以年-月-日显示当前时间
date +"%Y-%m-%d"
以年-月-日 时分秒 显示当前时间
date +"%Y-%m-%d %T"
在Linux下系统时间和硬件时间不会自动同步,在Linux运行过程中,系统时间和硬件时间以异步的方式运行,互不干扰。
硬件时间的运行,是靠Bios电池来运行,而系统时间是用CPU tick来维持的。
在系统开机时候,会从Bios中获取硬件时间,设置为系统时间
硬件始终的查看 [root@localhost ~ ::]#hwclock
2018年08月27日 星期一 10时23分03秒 -0.528004 秒
同步系统时间和硬件时间,可以用hwclock命令 //以系统时间为基准,修改硬件时间
[root@localhost~ ::]#hwclock -w //以硬件时间为基准,修改系统时间
[root@oldboy_python ~ ::]#hwclock -s
wget命令
wget 命令用于在终端下载网络文件
参数是 wget [参数] 下载地址
wget -r -p http://www.luffycity.com#递归下载路飞所有资源,保存到www.luffycity.com文件中
开关机命令: reboot 用于重启机器 ; poweroff 用于关闭系统.
su - 用户名 : 表示切换用户身份 - 表示完全切换,连同环境变量都切换了
root用户切换普通用户不需要密码, 反之要输入root密码
退出登录 exit logout
xshell 快捷键
ctrl + l 清屏 ctrl + d 退出登录 ctrl + shift + r 快速登录
linux命令提示符的变量 PS1变量
修改命令提示符,添加 绝对路径,和时间 PS1="[\u@\h \w \t]$"
用户组添加 groupadd 用户组名
删除用户 userdel 用户名
用root身份去执行命令 sudo 编辑这个文件,写入一些配置 vi /etc/sudoers 找到这一行配置:
Allow root to run any commands anywhere root ALL=(ALL) ALL
pan ALL=(ALL) ALL
修改主机名 :hostnamectl set-hostname s15nb
文件与目录权限:
r 表示可读可以对次目录执行ls列出所有文件 ; w 表示可写 可以在这个目录文件创建文件 ; x 表示可执行 可以cd进入这个目录,或者查看详细信息 ; - 表示没有权限
r w x 分别对应 4 2 1 那么可以认为文件夹权限777 为最高权限,即: rwxrwxrwx ; 最低权限为000 即: --------- .
-rw-r--r-- | .1 | root | root | 721819 | Dec 08:17 | girl.gif |
权限相关 | 软连接 | 属于哪个用户 | 属于哪个组 | 文件大小 | 日期 | 文件名 |
-rw-r--r--. 1 root root 28 Dec 26 20:57 zhaoyiningnibiewanshoujila
文件属主 : root
属组: root
文件类型是 - (普通文件)
权限 rw-r--r--
文件属主的权限 rw-
文件数组的权限 r--
其他人的权限 r--
文件夹的可读可写可执行 : 可读 : ls ; 可写 : 在文件夹当中创建文件; 可执行 :cd .
改变用户属主: chown change owner
更改拥有者: chown 用户名 file
更改属组 : chgrp 组名 file
软连接配置:
ln命令 ln -s 目标文件绝对地址 快捷方式的绝对路径地址 ln -s /opt/cs.txt /home/cs.txt py3 /opt/python36/bin/python3. 解释器绝对路径 python的时候,就去path中寻找 将python3.6的解释器,添加快捷方式到 /usr/local/sbin/python3. 当我们输入python的时候
ln -s /opt/python36/bin/python3. /usr/local/sbin/
path添加:
echo $path
[root@s15fafafa home]# echo $PATH
PATH变量只能添加目录,不能定位到文件
将某个文件地下所有内容,都加入环境变量
/usr/local/sbin
:/usr/local/bin
:/usr/sbin
:/usr/bin
:/root/bin #假设不用这个
:/opt/python36/bin/ 这才是正确的添加python环境变量
tar 压缩解压 命令
-c 压缩参数 ;
-x 解压参数
-v 显示过程
-f 指定文件,改参数要写在最后
语法: 压缩文件== > tar -cf 压缩文件名 想压的内容
解压文件==> tar -xf 压缩文件名
lrzsz 上传下载的小工具
xftp 文件传输工具
ps -ef | grep 任务 表示查看某任务是否运行有进程
netstat -tunlp | grep 端口号 表示查看某任务的端口是否启动
netstat 参数
-t 或 --tcp 显示TCP传输协议的连线状况
-u 或 --udp 显示UDP传输协议的连线状况
-n 或 --numeric 直接使用ip地址,而不通过域名服务器
-l 或 --listening 显示监控中的服务器的Socket
-p 或 --programs 显示正在使用Socket的程序识别码和程序名称
-a 或 --all 显示所有连线中的Socket
同一台机器的三个ip :
0.0.0.0 即暴露应用在对外的ip地址,又暴露在自己的回环地址;
127.0.0.1 本机回环地址,代表机器自己的内部ip ,其他人访问不到, 并且每个人斗鱼自己的回环地址;
192.168.*.* 本地对外可以访问的ip地址, 每个人都不一样.
kill 杀死进程 ; kill -9 强制杀死进程
如: kill -9 mysql
selinux 内置的防火墙
查询selinux状态 : getenforce
暂时停止selinux : setenforce 0
永久关闭selinux :
==>vi /etc/selinux/config
enforcing - SELinux security policy is enforced # 开启
permissive - SELinux prints warnings instead of enforcing # 临时关闭
disabled - No SELinux policy is loaded # 永久关闭
SELINUX=disabled # 修改该字段重启机器 使得selinux永久关闭
软件防火墙:
iptables -F 清空规则
iptables -L 查看iptable防火墙规则 , 看到只有如下短短的三个链,就说明,没有规则了,关闭防火墙的需求,防止他影响你的服务访问 :
Chain INPUT(policy ACCEPT)
target prot opt source destination
Chain FORWARD(policy ACCEPT)
target prot opt source destination
Chain OUTPUT destination
停止防火墙:
systemctl start/restart/stop firewalld # 开启/重启/停止防火墙
systemctl disable firewalld # 删除 iptables 的开机自启
修改Linux字符编码
编译字符编码的文件:
vi/etc/locale.conf
写如下代码: LANG="zh_cn.utf-8"
读取文件是的变量生效: (source 读取命令, 是的配置文件在系统中生效)
source /etc/locale.conf
查看系统字符编码: echo $LANG
查看磁盘空间 : df -h
以树状图显示文件目录 : tree (需要下载该命令包--yum install tree -y)
dns服务 :
bind 软件 , 配置dns 服务
常见的互联网dns服务器:
8.8.8.8 谷歌的dns服务器;
114.114.114.114 114 dns服务器地址;
223.6.6.6 阿里巴巴的dns服务器地址;
119.29.29.29 腾讯的dns服务器地址
Linux dns配置文件是 etc/resolve.conf
cat /etc/resolve.conf
Generated by NetworkManager
nameserver 119.29.29.29 主dns
nameserver 223.5.5.5 备dns
/etc/host 文件 本地dns强制解析的文件
[root@s15fafafa home]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
:: localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.13.148 www.baidu.com
dns解析顺序 :
1 ./etc/hosts
2 ./etc/resolve.conf
Linux 用于解析域名的命令 : nslookup Pythonav.cn
Linux的定时任务
crontab -l 查看任务 ; crontab -e 编辑任务
crontab的语法: 分时 日 月 周
例 : 每月的,,,25天的晚上5点50重启nginx ,, * * /opt/nginx/sbin/nginx -s reload
Windows 软件包 : exe 可安装格式 ; msi 可执行安装文件 ; .zip 压缩包格式 ; .rar压缩包格式.
Linux 软件包管理 :
Linux软件格式分为:
1, 源码包格式:
下载Python3的源码包; 解压源码包 ; 编译且安装 ; 配置环境变量; 使用平原Python3
2, rpm 二进制包格式(这种安装方式,需要手动解决依赖关系,有可能装一个mysql耗时很长)
下载软件的rpm格式包 ; rpm -ivh lrzsz.rpm ; 使用lrzsz工具
(lrzsz 是软件包的名字,提供的命令是: rz 接收文件 sz 发送文件)
补充: 如果直接安装mysql5.6.rpm,依赖了很多其它软件包,就得手动逐个解决依赖,所以不建议使用.
3, yum安装方式 yum工具,自动搜索下载rpm包,且安装,且解决依赖关系,自动处理下载其它依赖rpm包
软件开发目录规范:
lib 库文件
core 核心文件
bin 可执行文件
conf 配置文件
log 日志文件夹
readme 使用说明书
向Python的模块
pip3 install -i http://pypi.douban.com/simple flask
yum源配置:
yum源的仓库路径在
/etc/yum.repos.d/
然后这个目录底下,只有 以 .repo结尾的文件,才会被识别为yum仓库 配置国内的yum源
.在/etc/yum.repos.d/目录底下,定制我们自己的repo仓库文件
.我们自己没有yum仓库,我们就去拿阿里巴巴的yum仓库
.https://opsx.alibaba.com/mirror 这就是阿里巴巴的镜像站
.下载阿里巴巴的yum仓库文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget下载文件后,-O参数,指定放到某个目录,且改名
.清除yum缓存
yum clean all
.生成新的阿里云的yum软件缓存
yum makecache 再配置epel额外的仓库源,这个仓库里就存放了很多第三方软件,例如redis mysql nginx
.配置epel仓库
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
.最好再生成yum缓存
yum makecache
.请随心所欲的使用 yum工具 yum示例用法
yum安装nginx web服务器软件 . yum install nginx -y -y 一路都是默认yes
.启动nginx
直接输入nginx命令
.修改nginx主页面 ,文件名字叫做 index.html
find / -name index.html 查找这个文件所在地
vim /usr/share/nginx/html/index.html 修改这个nginx首页文件
系统服务管理命令:
只有通过yum安装的软件,默认才能使用这个命令管理
systemctl start/stop/restart 服务名
systemctl start/stop/restart mariadb
systemctl start/stop/restart redis
systemctl start/stop/restart nginx
接下来是各个软件的安装测试以及相关配置: 如: Python3 ; django ; redis ; nginx 等 .
(最终把创建完成的项目跑起来)
详情看笔记或搜索...
Linux了解一下的更多相关文章
- Linux 驱动开发
linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...
- Linux 内核概述 - Linux Kernel
Linux 内核学习笔记整理. Unix unix 已有40历史,但计算机科学家仍认为其是现存操作系统中最大和最优秀的系统,它已成为一种传奇的存在,历经时间的考验却依然声名不坠. 1973 年,在用 ...
- 死磕内存篇 --- JAVA进程和linux内存间的大小关系
运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...
- NodeJs在Linux下使用的各种问题
环境:ubuntu16.04 ubuntu中安装NodeJs 通过apt-get命令安装后发现只能使用nodejs,而没有node命令 如果想避免这种情况请看下面连接的这种安装方式: 拓展见:Linu ...
- [linux]阿里云主机的免登陆安全SSH配置与思考
公司服务器使用的第三方云端服务,即阿里云,而本地需要经常去登录到服务器做相应的配置工作,鉴于此,每次登录都要使用密码是比较烦躁的,本着极速思想,我们需要配置我们的免登陆. 一 理论概述 SSH介绍 S ...
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...
- SQL Server on Linux 理由浅析
SQL Server on Linux 理由浅析 今天的爆炸性新闻<SQL Server on Linux>基本上在各大科技媒体上刷屏了 大家看到这个新闻都觉得非常震精,而美股,今天微软开 ...
- Microsoft Loves Linux
微软新任CEO纳德拉提出的“Microsoft Loves Linux”,并且微软宣布.NET框架的开源,近期Microsoft不但宣布了Linux平台的SQL Server,还宣布了Microsof ...
- Linux 江湖系列阶段性总结
引言 我使用 Linux 已经有很多年了,最开始接触 Linux 的时候是从 RedHat 9(没有 Enterprise),中途换过 N 个不同的发行版.多年前,我在 BlogJava 上面分享 J ...
随机推荐
- 二、python小功能记录——监听鼠标事件
1.原文链接 #-*- coding:utf-8 -*- from pynput.mouse import Button, Controller ## ======================== ...
- 沉淀再出发:用python画各种图表
沉淀再出发:用python画各种图表 一.前言 最近需要用python来做一些统计和画图,因此做一些笔记. 二.python画各种图表 2.1.使用turtle来画图 import turtle as ...
- 查看oracle数据库最近执行了哪些sql语句
SELECT b.sql_text, --content of SQL a.machine, --which machine run this code a.username, a.module, - ...
- Coursera 算法二 week 5 BurrowsWheeler
本打算周末完成这次作业,但没想到遇到了hard deadline,刚开始看不懂题意,后来发现算法4书上有个类似的问题,才理解了题意.最后晚上加班,上课加班,还好在11:35也就是课程结束前25分钟完成 ...
- 017.1 stringBuffer
内容:String Buffer/String Builder方法 + 两个简单练习是缓冲区,最后都会转成字符串处理,有局限性###########方法添加元素: .append()插入元素: ...
- 几个第三方yum源
1.repoforge 官方网站:http://repoforge.org/ 2.epel http://fedoraproject.org/wiki/EPEL 3.Remi http://rpms. ...
- CRITICAL **: Couldn't acquire global lock, snapshots will not be consistent: Access denied
报错如下:** (mydumper:56288): CRITICAL **: Couldn't acquire global lock, snapshots will not be consisten ...
- yarn-site.xml
要保证spark on yarn的稳定性,避免报错,就必须保证正确的配置,尤其是yarn-site.xml. 首先来理解一下yarn-site.xml各个参数的意义(引自董的博客) 注:下面<v ...
- 1221. [HNOI2001]软件开发【费用流】
Description 某软件公司正在规划一项n天的软件开发计划,根据开发计划第i天需要ni个软件开发人员,为了提高软件开发人员的效率,公司给软件人员提供了很多的服务,其中一项服务就是要为每个开发人员 ...
- [19/04/23-星期二] GOF23_创建型模式(工厂模式、抽象工厂模式)
一.工厂模式(分为:简单工厂模式.工厂方法模式.抽象工厂模式) 实现了创建者和调用者的分离 核心本质:1.实例化对象,用工厂方法代替new操作:2.将选择实现类.创建对象统一管理和控制,从而将调用者跟 ...