vim编辑器
进入x文件的命令?
vim x
退出x文件的命令?
首先esc进入到命令模式
:wq退出并保存
:q退出不保存
:wq!强制退出并保存
:q!强制退出
进入编辑状态的命令有哪些?
进入命令模式之后
按i进入编辑模式(在光标前输入)
按a进入编辑模式(在光标后输入)
按o进入编辑模式(在光标的下一行插入)
退出编辑状态的命令?
按esc键
退出并保存文件的命令?
:wq
退出不保存修改的命令?
:q
强行退出的命令?
:wq!或者:q!
删除某行的命令?
移动光标到要删除的行按dd
移动到文件尾的命令
ctrl+g光标移动到最后一行
移动到文件头的命令
gg光标移动到首行
设置显示/取消行号
:set nu设置行号
:set nonu取消行号
将另一个文件内容拷贝到该文件下
在命令模式下
:r 另一个文件名
把命令输出结果写入光标所在行
r !命令
软件安装(基于ubuntu的回答)
软件包有哪几种分类,他们的特点分别是?
有源码包和二进制包(dpkg包)
源码包特点:
优点:
a开源,有足够能力的话,可以修改源代码
b可以自由选择所需功能
c软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高
d卸载方便
缺点:
安装过程步骤较多,尤其安装较大的软件集合时容易出现错误
编译过程时间较长,安装比二进制安装时间长很多很多
因为是编译安装,安装过程中一旦出现错误新手很难解决
二进制包
dpkg包是由debian linux所开发出来的包管理机制,通过dpkg包就可以浸软软件包管理
dpkg包的优点
a安装过程比较简单,只通过几个命令就可以实现包的安装,升级,查询和卸载等够工作
缺点:
经过编译,不再可以看到源代码.
功能选择不如源代码灵活
依赖性是很头痛的问题(树形依赖,环形依赖,库文件依赖即模块依赖等等)
apt-get相对dpkg来说的作用是?
dpkg是用来安装.deb文件的,但是不会解决依赖关系,且不会关心ubuntu软件仓库内的软件,可以用于安装本地的deb文件.
apt-get会解决和安装模块的依赖问题,并会咨询软件仓库,但不会安装本地的deb文件,apt-get是建立在dpkg之上的软件管理工具
软件安装后相关文件位置?
1.下载的软件存放位置
/var/chche/apt/archives .deb文件存放位置(可用于制作本地源)
2.安装后软件默认位置
/usr/share
3.可执行文件位置
/usr/bin
4.配置文件位置
/etc
5.lib文件位置
/usr/lib
apt的配置文件,配置源文件用哪个?
用source.list
可以配国内的下载源吗?
可以,配清华的源 配阿里云的源 推荐清华源
怎么配置,推荐源?
将source.list的源配成国内的网址
如何配置apt-get的本地源?
1通过一台电脑下载需要的deb包以及依赖关系包(通过apt-get)
2挂载一个光盘或者u盘
3将/var/cache/apt/archives里面的所有deb包全部放入u盘或者光盘挂载目录
4将有deb包文件的光盘挂载到需要装相同环境的服务器中
5修改apt下面的source.list文件,将其源文件先拷贝一份,然后删除源文件所有内容,然后指定源地址:
deb file:///media/cdrom edwinyuan(示例)
至此已经可以通过apt-get来操作啦
制作本地源的好处是非常明显的.即使在没有网的前提下也能非常顺利的配置服务器环境
dpkg指令用到的机会不多,主要学习apt-get相关指令
搜索软件包
sudo apt-cache search pkg(包名)
获取包的相关信息,说明,大小,版本等
sudo apt-cache show pkg(包名)
安装包
sudo apt-get instal pkg(包名)
重新安装包
sudo apt-get install pkg --reinstall
删除包
sudo apt-get remove pkg
删除包,包括配置文件
sudo apt-get install pkg --purge
更新源
sudo apt-get install
dpkg指令用到的机会不多,主要学习apt-get相关指令
搜索软件包
sudo apt-cache search pkg(包名)
获取包的相关信息,说明,大小,版本等
sudo apt-cache show pkg(包名)
安装一个新软件包
sudo apt-get install pkg
重新安装一个新软件包
sudo apt-get install pkg --reinstall
删除已安装包(保留配置文件)
sudo apt-get remove pkg
删除已安装包,包括配置文件
sudo apt-get remove pkg --purge
删除包及其依赖的软件包+配置文件
sudo apt-get autoremove pkg
最强的删除软件方式,有点冒险,慎用 (dpkg --force-all -purge pkg)
dpkg --force-all --purge packagename
更新源
apt会把已安装或已卸载的软件都备份在硬盘上,所以加入需要空间的话,可以使用什么命令来删除您已卸载的软件的备份?
apt-get autoclean
可以使用什么命令把已安装或已卸载的软件备份都删除?
apt-get clean
查看所有已安装的软件包
dpkg -l
更新软件包
apt-get upgrade
将系统升级到新版本
apt-get dist-upgrade
如何给系统添加sudoer组或者用户?
1.切换root账户
2.进入sudo的配置文件cd /etc
3.添加sudo文件的写权限,命令是:chmod u+w sudoers
4.编辑sudoers文件 vim /etc/sudoers
找到这行root ALL=(ALL) ALL,在他下面添加xxx ALL=(ALL) ALL(这里xxx是你用户名)
5.撤销sudoers的写权限 chmod u-w sudoers
这样xxx用户就可以使用sudo权限了
ps:这里说一下,可以在sudoers里面添加下面四行中任意一条
username ALL=(ALL) ALL ALL
%username ALL=(ALL) ALL ALL
username ALL=(ALL) ALL NOPASSWD:ALL
%username ALL=(ALL) ALL NOPASSWD:ALL
第一行:允许用户user执行sudo命令(需要输入密码)
第二行:允许用户组user里面的用户执行sudo命令(需要输入密码)
第三行:允许用户user执行sudo命令,并且在执行的时候不需要输入密码
第四行:允许用户组user里面的用户执行sudo命令,并且在执行的时候不输入密码
源码包的下载方式?
通过网站等地方下载,而不是经过源下载的安装包,未经过编译的
一般通过curl命令下载
源码包的安装过程?
curl是什么?
curl是利用url的语法在命令行方式下工作的开源文件传输工具,被广泛用于unix和linux中
curl的命令学习
说出下列curl参数及命令的作用:
-v 小写的v 用于打印更多信息
-m <seconds> 指定处理的时长
-H <header> 指定请求头参数
-s减少输出信息,比如进度
--connect-timeout <seconds>指定尝试连接的最大时长
-x <proxyhost[:port]> 指定代理服务器地址和端口,端口默认为1080
-T <file>指定上传文件路径
-o <file>小写o,指定输出文件名称
-d <data>指定post内容
--retry <num>指定重试次数
-e <url>指定引用地址
-I 大写的I仅返回头部信息,使用Head请求
get请求
curl http://www.baidu.com
加-i显示全部信息.-v显示get请求全过程解析,-I只显示头部信息
下载
curl -o loan_new_name http://www.baidu.com 文件保存为loan_new_name
如果curl -O http://www.baidu.com/aaa.html 文件保存为aaa.html
上传
curl -T "img[1-100].png" ftp://example.com/upload 上传多张图片
curl -T "{file1,file2}" http://www.baidu.com上传多个文件
post方法
post请求该网站的多种方式
curl -d "id=1&name=test" http://www.baidu.com/test.php
curl -d "id=1" -d "name=test" http://www.baidu.com/test.php
curl --data-urlencode "name=test" http://www.baidu.com/test.php" 经过加密
curl -F "filename=@/home/test/test.pic" http://example.com/test.php 将本地文件上传到服务器
curl -e http..1.. http..2...
伪造浏览器访问
curl -A "...浏览器厂商的信息" www.baidu.com
伪造cookie的两种方式
指定参数和值 curl --cookie "name=xxx" http....
从文件读取 curl -b cookie.txt http....
保存cookie
curl -c ./cookie.txt -d username=aaaa -d pwd=***** http:....
输出显示内容
-w/--write-out
示例:
打印出返回的http码
curl -o /dev/null -s -w %{http_code} "网址"
打印响应时间
curl -o /dev/null -s -w "time_total: %{time_total}\n" "网址"
源码包的编译过程?
1检测配置 找到配置文件configure 执行命令 ./configure 生成makefile产物
2进入编译 执行命令make 生成二进制可执行文件
3进入安装 执行命令make install 安装到指定目录