软件管理相关的命令
Debian,代表作为Ubuntu
• dpkg,用来安装离线安装包,不会自动安装依赖
• apt,可以离线或者在现在安装软件,会自动赖
• .deb基于Debian平台的软件安装包
Fedora平台,代表作为CentOS
• rpm,用来安装离线安装包,不会自动安装依赖
• yum,可以离线或者在现在安装软件,会自动安装依赖
• .rpm基于Fddora平台的软件安装包
windows里下载的软件安装包.exe .msi
安装软件的三种方式
下载离线安装包
• dpkg/rpm
直接在线安装
• apt/yum
把代码的源代码下载下来,是,tgz文件,是一个压缩包,然后编译安装相当于
windows里的zip/rar
• 1.从官网上下在源代码(一般都是c语言的源代码)
• 2.解压源代码,进入到文件夹
• 3.执行./configure --prefix=url进行配置 
  
• –prefix是用来指定安装路径
• 配置的目的是查看当前系统的环境是否能够安装软件,在此过程中可能会出现 错误提示,需要安装第三方的依赖包
• 在此过程中,会提示需要安装第三方的依赖包,此时需要手动的运行命令安装 依赖
• 依赖安装完成以后,再次执行./configure
• 4.configure命令执行成功以后,会产生成一个新的Makefile文件
• 5.执行命令进行编译安装,sudo make && sudo make install
• 6.启动nginx 
  
• cd /usr/local/nginx/sbin 目录
• 执行nginx文件
CentOS软件安装的相关命令
rpm
• rpm install <包名.rpm>,不会自动安装依赖,一般会失败
• rpm -aq 列出安装的所有包
• rpm -e <删除指定的包>,不会删除依赖,一般也不会卸载成功
yum
• yum install <包名.rpm>
• yum list installed 列出所有已安装的软件
• yum remove 移除指定的软件
• yum check-update 显示可用的更新
• yum update <用来更新指定的软件>
• yum search <包名> 搜索软件包
文件夹操作相关命令
linux的目录结构
• 根目录:/
• bin:存放的是二进制文件,都是一些可执行命令
• etc:用来存储配置信息,重要,我们会修改
• home:用来存放用户的家目录。创建一个用户时,会在这里创建一个和用户名同名的 文件夹用来存放用户信息。
• root:root用户的家目录
• sbin:超级用户命令存放的目录。
• usr:非常重要的目录,用来存放用户安装的应用程序和用户文件
• boot:系统启动相关时所需的文件(勿动)
• mnt :挂载
• opt:给额外安装软件所摆放的目录
• proc:虚拟目录,它是系统内存的映射,可以通过直接访问这个目录来获取系统信息
• run:是一个临时文件,存储系统启动以来的信息,当系统重启时,这个目录下的文件 会被删除 s
• rv:存放一些服务启动之后所需要提取的数据
• sys:映射内核设备
• tmp:存放临时文件
• usr:非常重要目录,用来存放用户安装的应用程序和用户文件
• var:经常修改的数据,比如程序运行的日志文件
cd命令:用来进入到指定的文件夹
• cd: 等价于cd ~,进入到当前用户的家目录
• cd ~:进入到当前用户的家目录
• cd …/:进入到上级目录
• cd -:进入到上一次的目录
• cd /: 进入到根目录 以./或者…/或者没有斜杆开始的路径,是相对路径
• 以/开始的是绝对路径
pwd命令,用来查看当前所在的目录
s:列出指定目录里的文件(夹)
默认不显示隐藏的文件和文件夹
和选项配合
• -a:用来显示所有的文件(夹),包括隐藏的
• -l:用来显示文件或者文件夹的详细信息drwxrwxr-x 2 chris chris 4094 3月 10 14:48 ddd
• d:表示是个文件夹
• -:表示它是一个普通的文件
• l : 表示一个链接(快捷方式)
• 九个字母:三个一组,分别表示所有着,所属组和其他权限
• r:读取
• w:写入
• x:执行权限
• -:表示没有权限
• 2
如果是一个文件夹,表示这个文件夹里有几个子文件夹
如果是个文件,用来表示硬链接的个数• 4096
文件夹显示的都是4096
文件显示文件的大小• 3 月 10 14:48
文件(夹)最后一次修改的时间• ddd
文件(夹)的名字• -h:使用更加贴近人类识别的格式显示,以KMGT形式显示
mkdir:用来创建文件夹
• -p:用来创建多级目录 mk -p ddd/ttt/ppp/
touch <文件名> 用来创建一个空的文件
rmdir:用来移除一个空文件夹,如果文件夹不为空,会报错,一般不用
cp:用来复制一个文件或文件夹 cp 源文件 目标文件
mv:用来移动一个文件或者文件夹
rm -rf :用来移除文件或者文件夹
• r:递归删除
• f:强制删除
查看文件相关的命令
• cat: 从上到下,查看所有的内容
• tac:从下到上,查看所有的内容
• head -n:查看前n行的数据,默认是十行
• tail -n:查看后n行的数据,默认是十行
• wc:用来统计个数
• nl:用带行号的显示所有的内容
• more:用来显示一屏,查看完毕以后,自动退出
• less:用来显示一屏,查看完毕以后,不会自动退出,需要输入q退出
文件(夹)权限管理)
chmod:用来修改权限
• o:其他
chmod o+w demo.txt:给demo.txt文件的其他用户添加写入权限• u:所有者
chmod u+x demo.txt• g:所属组
chmod g-w demo.txt• a:全部
chmod a r demo txt• chmod 644 demo.txt
chgrp:用来修改文件的所属组
chown:用来修改文件的所有者
权限值
• r 4
• w 2
• x 1
默认权限
• 文件:664
• 文件夹:775
• umask:命令用来查看文件(夹)的默认权限,默认值是002
nginx配置和安装
使用yum在线安装
步骤
1. sudo yum install nginx 安装
2. sudo systemctl start nginx 启动服务
3. ps -aux|grep nginx
4. 客户端就可以在浏览器通过ip地址直接访问到服务器
配置文件的存放路径
1. whereis nginx: 查找和nginx相关的文件
2. 在/etc/nginx 文件夹下面存放了nginx的配置信息
3. 在这个配置文件里,有两个配置很重要
listen 80 default_serve ==》设置监听的端口
root /usr/share/nginx/html ==》静态页面的存放路径使用下载源代码安装
步骤
1. 使用wget 下载源代码
2. 使用tar命令解压缩
3. 进入到解压后的文件夹,执行./configure --prefix=/usr/local/nginx命令,开始配 置nginx,–prefix指定nginx的安装目录
4. 在执行configure文件时,可能会报错,此时需要安装第三方的依赖包,安装依 赖包以后,重新执行configure文件
5. 此时会生成一个Makefile文件
6. 执行sudo make 命令,然后再执行sudo make install;或者sudo make && sudo make isntall
7. 进入到/usr/local/nginx/sbin目录,执行sudo ./nginx 启动nginx
配置文件存放路径
• 都在/usr/local/nginx这个文件夹下
管道和重定向
管道 ==》| 把上一个命令的标准输出作为下一个命令的标准输入
重定向
方式
• 
>: 把执行结果重新定向到一个指定的文件。如果文件已经存在,会覆盖
• 
>>:把执行结果追加到一个文件
分类
• 标准输出:> 默认就是重定向标准输出,还可以写作
• 错误输入:2>将命令执行出错的结果重定向
• 全部输出:&>把所有的输出都重定向
多个命令
• cmd1;cmd2 ==>执行完成第一个命令以后,紧接着执行下一个命令
• cmd1|| cmd2 ==>如果前面的命令执行成功了,后面的命令就不再执行了;前面的命 令执行失败以后,才能回执后面的命令
• cmd && cmd2 ==>前面的命令执行成功以后,才会执行后面的命令;如果前面的命 令执行失败,后面的命令就不再执行
压缩,解压命令
压缩,解压命令
• zip a.zip 1.txt ==》压缩
• unzip a.zip ==》解压缩
• 可以对文件夹进行压缩
gzip压缩
• gzip 1.txt ==》会把原来的文件替换成为1.txt.gz
• gunzip 1.txt.gz ==》把文件解压替换成为1.txt
• -k:可以保留原有的数据
• -r:递归压缩文件夹里的灭一个文件
bzip2压缩
• 用法和gzip基本一致
• 不能压缩文件夹
linux里常见的压缩格式 .zip .tgz .tbz
tar:打包命令,不会对内容进行压缩,反而还会变大
三种模式,最多只能出现一个参数
• -c:打包
• -x:拆包
• -t:不拆包,查看内容
-f:指定文件
-v:查看过程
-z:使用gzip压缩解压
• tar -zcvf test.tgz test ==》将test文件夹使用gzip方式压缩成test.tgz文件 tar -zxvf test.tgz ==》使用gzip方式解压
-j:使用bzip2压缩解压
• tar -jcvf test.tbz test ==》将test文件夹使用bzip2方式压缩成为test.tbz文件tar - jxvf test.tbz ==》使用bzip2方式解压
用户管理相关命令
whoami :查看当前登录的用户
useradd <用户名>:用来新建一个用户
• -m:创建用户的家目录,会在/home文件夹下创建一个和用户名同名的文件夹
• -d:指定用户的家目录,一般情况下不要指定
• -M:不创建家目录
• -s:指定用户登陆时的shell解析脚本,一般指定/bin/bash
userdel <用户名>:删除用户的命令
su:切换用户
• su chris:切换到chris用户,可能需要输入密码
• su或者su-:切换到root用户
passwd:用来设置密码
• sudo passwd chris:用来给chris设置密码
• passwd:给当前用户设置密码
sudo:使用root用户的权限执行命令。 chris不在sudoers文件中。此时将会报告
• 需要使用一个有root权限的用户把chris用户添加到/etc/sudoers文件里
• linux里有一个专门的额命令visudo,用来编辑/etc/sudoers文件。使用visudo也可以修改/etc/sudoers文件,但打开方式不是vim
解决方案
• 第一种,直接修改sudoers文件,使用vim /etc/sudoers文件,给chris添加root权 限。或者使用visudo 命令来修改/etc/sudoers文件
• 第二种:将用户添加到有权限的组里 sudo gpasswd -a chris root 
  
• Ubuntu:sodu组/ admin组
• CentOS:wheel
用户组的概念
当我们创建一个用户同时,会自动创建一个和它同名的分组
groups:查看用户所在的分组
• groups:查看当前用户所在分组
• groups chris:查看chris用户所在的分组
gpasswd:用来将用户添加到一个分组,或者从一个分组里删除
• -a <用户名> <组名>:将用户添加到对应的分组
• -d <用户名> <组名>:将用户从指定的组里删除
用户和组相关的一些文件
• /etc/passwd ==》列出了系统里所有的用户
• /etc/shadow ==》保存了用户的密码信息
• /etc/group ==》保存了分组相关的信息
linux里的配置文件介绍
/etc/bashrc文件
• 把alias md='mkdir’命令写在了/etc/bashrc文件里,重新连接终端以后,依然可以使用 命令。无论使用哪个用户登录,都会自动执行/etc/bashrc里的命令
~/.bashrc文件
• 只有当前用户登陆时,才会执行这个里面的命令
每次打开终端,都会自动执行配置里的代码
vim的使用
• vim是一个文件编辑工具,相当于技术本。第一步应该安装这个软件 yum install vim
• vim 文件名 使用vim带开一个文件用来编辑
• vim有三种模式
• 命令模式:默认是命令模式,只能接受命令,不能输入内容
shift + Z+Z:保存退出
dd:用来删除一行数据,ndd用来删除n行数据
u:撤销
yy:用来复制一行,nyy用来复制n行
p:用来粘贴
G:定位到最后一行
gg:定位到第一行,ngg表示定位到第n行
$:定位到这一行的最后面
0/^:定位到着 一行的行首
x:删除光标右边的一个文字,nx表示删除光标右边的n个文字• 插入模式:在这个模式下才能够写入内容。想要退出,必须要按esc进入到命令模式才 能推出
• i:进入到插入模式
• I:在第一个非空字符前面插入数据
• a:在光标的所在行的右侧插入
• A:在光标所在行的结尾插入
• s:删除光标所在位置的文字,并插入内容
• S:删除光标所在行的文字,并插入内容
• o:在光标所在行的下一行插入数据
• O:在光标所在行的上一行插入数据
• 底线命令模式:必须要按escj键进入到命令模式,然后按:进入到底线模式
• w:保存退出
• q:退出
• q!:不保存,强制退出
• wq:保存并退出,等价于命令模式下的shift +Z+Z
• e!:放弃之前的修改
• n:光标定位到第n行
• / [内容]:用来查找。n下一个匹配,N上一个匹配
• %s/原内容/新内容[/g]
默认会替换所有行里第一次匹配到的数据,/g全部替换
m,ns/原内容/新内容[/g]vim的配置文件
• /etc/vimrc:所有的用户都能读取到这个配置
• ~/.vimrc:只有当前用户才能读取到这个配置
命令的别名
alias:用来查看别名
alias la=‘ls -a’
• 给ls -a命令起了一个别名
• la 如果在控制台里直接输入,是临时的,终端关闭以后,别名就没有了