设置Ubuntu的像素:
#选择分辨率
1.查看支持的分辨率
xrandr
2.设置一次性分辨率
xrandr -s 1024x768_59.87
3.进入到设置->设备->重新选择分辨率 ,点击应用(备注:如果设置的分辨率和原先一次性命令当中的分辨率一样,则不会有应用按钮)
简单的命令操作
1.ifconfig 查看ip地址,查看网卡信息
2.ping ip 测试ip地址是否通畅
3.pwd 查看当前的目录路径,返回的是绝对路径
4.ls 查看当前目录下的子目录和子文件
5.cd cd . 切换到当前目录
cd .. 切换到上一级目录
cd / 切换到根目录
cd ~ 切换到家目录
cd - 切换到上一次操作的目录
cd 相对路径
cd 绝对路径
6.Linux中的标记符:
$ :普通管理员正在执行操作
# :超级管理员正在执行操作(备注:就是root用户)
7.操作提示符:
hal@Ubuntu-Hal:~$: 当前的用户名 @ 机器的名字 : 当前操作目录 $
8.clear 清空终端
9.关机命令
1.shutdown now
2.init 0
3.shutdown -h +10 '备注信息' (5分钟以后关机,并提示)
4.shutdown -h 16:10:10 '备注信息' (在制定的时间关机)
10.重启命令
1.shutdown -r now
2.init 6
3.reboot
11.date 查看日期的命令
12.cal 查看日历
13.tab键:可以自动联想
方向键上和下:翻阅历史命令
14.exit 退出其它登录
Xshell
主要作用是远程连接Linux或Unix,使用SSH协议,需要依赖IP地址.
但是Ubuntu18中默认没有安装net-tools
sudo apt -y install net-tools
使用ifconfig:返回本机IP地址
Ubuntu默认是拒绝ssh协议的,应为它安装协议服务器
sudo apt -y install openssh-server
启动ssh服务器:
service ssh start
ssh连接
ssh是一个远程登录的协议
ssh的端口默认是22
ssh需要被安装:apt -y install openssh-server
ssh的配置文件默认放在/etc/ssh/sshd_config
Port 22 #默认22端口号
ListenAddress 0.0.0.0 #0.0.0.0是ipv4的所有可能性
PermitRootLogin yes #运行管理员登录
PasswordAuthentication yes #使用密码作为验证
ssh 用户名@ip
ssh root@10.11.58.254
在虚拟机中安装VMtools:
1.点击虚拟机
2.安装vmtools
3.点击文件
4.找到vmwaretools的虚拟光驱
5.找到压缩包,把压缩包复制到桌面
6.打开终端
7.cd /home/user-name(自己的用户名)/桌面
8.输入ls 进行查看
9.需要解压 tar xvf vmtoolsxxxxx.tar.gz
10.cd 进入被解压的文件夹中 cd vmware-tools-distrib
11.找到vmware-install.pl
12.sudo ./vmware-install.pl
13.第一行输入yes,一路敲回车
启动的流程
Linux当中那个文件夹是引导分区?
/boot #相当于win C盘
-
系统通电以后,自动检查硬件
-
进入引导分区
1.主引导分区,先拷贝代码2.启动引导分区,调用硬件,执行拷贝的代码
-
启动守护进程(备注:默写代码块,不停的在运行,不能终止)
-
读取配置文件(备注:你设置的分辨率就在配置文件中)
/sbin/init
#查看运行级别(备注:Linux一共有7个运行级别)
就是一种指令模式:
init 0 代表关机
init 3 传统黑窗口模式(CentOS,默认的级别)
init 5 带有图形界面,带有网络的,可以多用户使用的模式(Ubuntu默认的级别)
init 6 代表重启
5.执行运行级别
6.读取用脚本
1.上面运行了init 5,启动图形化
系统对应/etc/rc5.d目录
2.用户自定义脚本/etc/rc.local
7.进入到用户登录界面
Linux小常识:
- '.'开头的文件都是隐藏文件
- '.'代表当前目录
- '…'代表上一级目录
- '~'代表当前用户的家目录
List命令(ls)
ls : 显示当前目录中的子目录和子文件
语法: ls [目录的路径]
常用参数:
a:显示目录下的所有文件
l:以列表的形式显示文件
s:以kb为单位显示文件的大小
R:以递归的形式读取整个文件夹
n:以列表的形式呈现文件,显示文件归属者的ID
o:以列表的形式呈现文件,显示文件的归属者
可以组合使用:
ls -an
ll命令
ll命令相当于 ls -al
第一列:文件的类型
d:文件夹
-:文件
l:链接
c:字符设备
b:块设备
第二列-第十列:文件的权限(可读,可写,可执行)
第十一列:Ubuntu中默认没有,CentOS中默认存在(selinux,房子篡改系统)
第十二列:子目录+子文件+链接的数量
第十三列:表示属于哪个用户
第十四列:表示属于哪个用户组
第十五列:文件的大小
第十六列-十八列:文件的创建时间
第十九列:是文件的名称
VI VIM命令
Vi:是Linux系统自带的一种编辑器
Vim:是第三方编辑器,需要自己去下载 sudo apt -y install vim
vim 比 vi 多了一个高亮的功能
简单的使用:
1.vi 文件路径(./1.py) ,如果文件不存在则创建,如果存在,那就编辑
2.一旦进入界面以后,进入到vi编辑界面
3.输入字母 i (insert) 才能进行编辑
4.输入 esc 取消编辑模式
5.输入:wq!
w:保存 q:退出 x:保存并退出 !:代表强制 e!:放弃修改
wq!:保存并强制退出
:set nu 设置行号
:set nonu 取消行号
:set tabstop=4 设置一个tab等于4个空格
vi编辑过程
指令 说明
i 开始编辑
I 在第一个非空字符处开始编辑
a 在光标的下一个位置进行编辑
A 在该行的最后进行编辑
o 在光标的下一行进行编辑
O 在光标的上一行进行编辑
s 删除光标所在位置的字符,才开始编辑
S 删除整行,才开始编辑
命令操作符
指令 说明
gg 光标快速定位到首行首列
G 光标快速定位到尾行首列
ngg 快速定位到第几行
^ 快速定位到本行的行首
$ 快速定位到本行的行尾
dd 删除一行
ndd 删除指定的行数
u 撤销一次操作
yy 复制一行
p 粘贴
nyy 复制多行
np 粘贴几次
ctrl+f 向下翻1页
ctrl+b 向上翻1页
ctrl+d 向下翻半页
ctrl+u 向上翻半页
底行模式匹配符
-
命令 说明
-
执行命令
:/关键字 查找指定的字符
:?关键字 查找指定的字符
?/被替换的字符/替换的字符 替换光标所在行的第一个
?/被替换的字符/替换的字符/g 替换光标所在行的所有字符
:%s/被替换的字符/替换的字符 替换所有行的第一个
:%s/被替换的字符/替换的字符/g 替换所有行的所有字符
:ns/被替换的字符/替换的字符 替换指定的行号的第一个
:ns/被替换的字符/替换的字符/g 替换指定的行号数所有字符
vim打开指定行号
命令 说明
vim 文件名 +10 从第10行打开文件
vim 文件名 + 从最后一行开启
永久显示行号
#修改vim的配置文件
#从配置问价的最后一行开启
vim /etc/vimrc +
#输入
set number
set tabstop=4
#保存退出
#将vi编辑器默认开启行号,将锁紧进行修改
安装python环境
安装3.5.4以上 ------3.6.5一下
从python.org中下载的都是纯净版本(不包含第三方库)
Anaconda(水蟒)
Anaconda中有很多的第三方库
Anaconda提供给80万数据科学的使用者
www.anaconda.com我们不是使用
使用清华镜像源
下载:Anaconda3-5.1.0-Linux-x86_64.sh
执行shell脚本
sh Anaconda3-5.1.0-Linux-x86_64.sh
#后续步骤全部yes
#如果弹出了是否需要添加到环境变量输入yes
如果没有自己手动添加
sudo gedit ~/.bashrc
#向文件中添加
export PATH=~/anaconda3/bin:$PATH
#添加好以后保存
启动图形界面化
#开启虚拟化
source ~/anaconda3/bin/activate root
#启动图形
anaconda-navigator
文件相关的指令
创建
命令 说明
touch 文件名 创建一个空文件
vi / vim 文件名 如果文件已存在,则打开,不存在创建并打开
mkdir 路径+目录名称 创建文件夹
mkdir -p 路径 递归创建文件
删除
语法:rm 路径
rm -r 代表递归删除
rm -f 代表强制删除不提示
rm -rf 递归强制删除,目录不为空的时候使用
语法:rmdir 路径
删除目录
移动,重命名
语法: mv 源路径 移动的路径
#移动文件
mv ./python/1.py ./py
#移动并修改名称
mv ./python/2.py ./py/1.py
#重命名
mv ./文件名 ./新的名字
拷贝
语法:cp 源路径 拷贝的路径
#拷贝目录
cp -r 源路径 拷贝的路径
查看
命令 说明
cat 文件名 打印文件的内容
tac 文件名 反着打印文件的内容
head -n 文件名 从顶部打印,默认10行,-n代表显示的行数
tail -n 文件名 从尾部打印,默认10行,-n代表显示的行数
more 文件名 直接读取文件,返回的方式是分页,(q退出,回车下一翻一行,空格向下翻一页,只能向下,不能回翻)
less 文件名 可以上翻,下翻,pageup,pagedown
wc 文件名 查看文件的行数 的 占用硬盘大小
文件的权限
-
说明:在Linux下所有的文件都要涉及权限,分为三组:所有者,所属组,其他人
-
权限:权限分为三个动作:可读®,可写(w),可执行(x),没有权限(-)
-
修改全权限:chmod 语法:chmod -R 755 文件名.
r:可读 w:可写 x:可执行 -:没有权限 #权限的表示法: --- 000 0 没有权限 --x 001 1 可执行 -w- 010 2 可写 -wx 011 3 可写可执行 r-- 100 4 可读 r-x 101 5 可读可执行 rw- 110 6 可读可写 rwx 111 7 可读可写可执行 #对应用户: #755 是 目录的默认权限 用户的权限 组内用户 组外用户 rwx r-x r-x #修改目录及目录中所有子文件的权限 chmod -R 777 文件名 #身份 u:user g:group o:other #操作符 +:添加一个权限 -:去掉一个权限 =:设置一组权限 chmod -R u+w demo chmod -R u=rwx demo
文件的搜索
-
关键字:find
-name :查找文件的名称 -maxdepth:指定最大的深度 #find / -maxdepth 2 -name 1.py -size:按照文件的大小去查找 -user:按照用户名去查找 -group:按照组去查找 -ctime:按照创建的时间去查找 #查找所有的txt文件 find / -name *.txt #按照用户名去查找所有的文件 find / -user root -name *.*
-
查找命令文件的存放地
#显示某一个命令式文件的存放位置 whereis ls
文件内容的搜索
关键字:grep
语法: grep 关键字 路径
--color:将关键字的颜色设置为带有高亮的
-c:得到内容的数量
-i:对于英文字母而言不区分大小写
-n:是内容的行号
-r:递归查找,使用-r的时候不要添加尾缀名
-l:只显示文件的名字,不显示内容
-E:使用正则匹配
#正则:
\W:除了字母数字和下划线
\w:字母数字和下划线
\d:数字
\D:非数字类型
.:除了换行符意外的所有东西
*:任意数量
+:1到多个
?:0或1个
软硬连接
关键字:ln
作用:创建一个链接
#硬链接:
ln 源文件路径 链接文件
1.链接上以后看上去像是copy,主文件被删除不影响链接文件
2.不能给目录创建链接
#软连接
ln -s 源文件路径 链接文件
1.可以给目录创建
2.依赖源文件(源文件被删除,就会变成死链接)
#重新创建一个路径文件,名字要求一毛一样
yum替换国内源
#作业
替换apt的源
替换pip的源
常用的国内源:网易,清华,中科大,搜狐,豆瓣,阿里
yum源的存放位置
/etc/yum.repos.d/
curl
#在某一个网址中进行下载
#curl是所有的Linux自带的网络下载工具
#wget 是第三方工具,需要安装
curl -O http://mirrors.163.com/.help/CentOS6-Base-163.repo
替换源
#将163的源名字改为
CentOS-Base.repo
#清空以往的缓存
yum clean all
#生成新的缓存
yum makecache
yum指令
install:安装
remove :删除
list :显示所有的
search :查询关键字
update : 源更新
-y :yes
--downloadonly :只下载不安装
用户管理
操作符 说明
useradd 添加一个用户
usermod 修改一个用户
userdel 删除用户
#语法:
useradd 用户名
#创建完用户,需要指定密码
passwd 用户名
#添加一个普通的管理员
#查看用户信息
cat /etc/passwd
#参数
-g:指定一个组,组的名字或是组的id
-u:指定一个用户的id(备注:不适用)
-d:指定一个家目录的地址(备注:不适用)
useradd -g 0 hal
#语法:
usermod 参数 替换的值 原来的值
#参数:
-g:修改组
-u:修改用户的id
-l:修改用户名
-d:修改家目录
#修改用户名
usermod -l halo hal
#修改家目录
mv /home/hal /home/halo
#修改家目录的地址
usermod -d /home/halo halo
#语法:
userdel -r 用户名
-r:删除用户,顺便删除用户的家目录
用户组的管理
操作符 说明
groupadd 添加一个组
groupmod 修改组
groupdel 删除组
#查看组:
cat /etc/group
#参数
-g:指定一个组的id(备注:不适用)
groupadd 组名
#修改组
-g:修改id
-n:修改组名
groupmod -n 新名字 旧名字
#删除组
#先删除用户,才能删除组
groupdel 组名
文件所属者分配
#移交文件的归属权
chown 用户名或ID 文件的路径
#移交文件的用户组归属权
chgrp 组名或ID 文件的路径
#umask
#目录的默认权限
#0777 - 0022 = 0755
#umask -S
其它操作
压缩解压
为什么需要压缩?文件过大,压缩以后可以让文件变小.
有什么好处?传输的速度就变快
windown:.rar
Unix:.zip
Linux:.gz
gzip :普通压缩
bzip2:二进制压缩
tar包(两种方式一起承包)
#tar 添加参数可以不写-
-c: 打包
-z: 使用gzip :tar.gz
-j: 使用bzip2:tar.bz2
-f: 指定解压压缩名,放最后面,(解压必须加)
-v: 显示压缩解压过程
-x: 解压
#压缩
tar 参数 压缩包的名字 要被压缩的文件
#解压
tar 参数 压缩包的名字
服务和进程
#服务
所有的软件都是一个服务,
#启动,关闭,重新
service nginx restart #重启nginx
#防火墙
service iptables stop #centos6 关闭防火墙
service firewalld stop #centos7 关闭防火墙
#Ubuntu的防火墙
ufw 0|1 #关闭|开启
#运行级别
#vim /etc/inittab
#用户的运行模式,一共7个
#centos无图形界面的默认使用3,Ubuntu有图形界面的使用5.
0 : 关机模式
1 : 单用户模式
2 : 无网络的多用户模式
3 : 有网络的多用户模式,无窗口
4 : 保留模式
5 : 有窗口有网络的多用户模式
6 : 重启模式
#切换模式:
init 3
#查看当前的运行几倍:
runlevel
who -r
#查看开机启动项
chkconfig --list
#设置开机启动项
chkconfig nginx on
#设置第3个模式和第5个模式,nginx开机启动
chkconfig --level 35 nginx on
Cpu,cache
#查看内存
free -h
#查看使用的用户数量
w
#查看进程的运行
ps -ef
#结束进程
kill -9 进程的id
#top 查看所有的服务项
第一行:系统时间
几个用户在使用
#分别代表1分钟,3分钟,5分钟内的负载情况
load average: 0.00, 0.01, 0.05
第二行:
total:一共有多少的进程在运行
running:正在运行的
sleeping:休眠的
stopped:已经停止的
zombie:僵持的
第三行:
1.使用户率
2.内核空间占用CPU的百分比
3.改变优先级的进程占用CPU的百分比
4.空闲的部分
5.IO程序占用CPU的百分比
6.硬中断占用的CPU百分比
7.软中断占用的CPU百分比
第四行:
total:物理内存
used:已经使用的
free:空闲的
buffers:使用的缓存占用内存的量
第五行:
#swap是硬盘上的一块保留区域,当内存不足时,可以将一部分的信息暂时放到swap中(默认是/boot的2倍)
#swap空间没有挂载点
#宕机
swap:交换空间
total:交换空间关键的大小
used:已经使用的
free:空闲的
buffers:缓冲区交换总量
第六行:空的
剩下的全是进程
管道命令
#前一个命令 作为 后面命令的输入
ll /etc | less #将ll的输出结果,当做less的文本
#ps -aux显示所有的进程
ps -aux | grep 想要找到的进程(软件的名称)
端口的查看
ping 只能查看地址
#查看端口号是否通畅
netstat 10.11.58.254:80