Linux命令基础
Linux指令
- du -sh 目录
- du表示 directory used
- 语法:du -sh 目录(获取文件夹所占的大小)
- -s:表示sumary,汇总统计
- -h:表示以较高可读性的形式显示
- df -m
- df表示disk free
- df -m:以mb为单位查看使用情况
- free -m
- 查询剩余空间使用情况
- find / -name mysql:查询路径
- -type:根据文档类型查询
- -user:根据所有者进行查询
- -group:根据所属的用户组进行查询
- -size:根据大小进行查询
- ps -ef:查看进程
- UID:该进程的启动用户名
- PID:进程的id号
- PPID:父级进程id号
- C:表示CPU的使用情况
- STIME:启动时间
- TTY:终端的设备编号."?"表示进程不是终端发起的
- TIME:持续运行时间
- CMD:进程的名称或者位置
- service 服务名 start|stop|restart:操作服务
- service httpd start
- /etc/init.d/httpd start:另一种启动方式
- grep “admin” php2018.txt:筛选出文件php2018.txt中的admin行
- -v排除:grep -v “admin” php2018.txt:排除admin所在行
- -E:多条件筛选:grep -E “3|e” php2018.txt
- wc:word count,统计文件的各项数值
- wc -lwc 文档的路径
- -l:line 行数
- -w:word,单词数
- -c:字节数
- wc -lwc /etc/password
- wc -lwc 文档的路径
- |管道:将多个指令合在一行操作,主要用于搜索过滤
- 有输出的指令1 | 有输入的指令2
- ps -ef | grep “httpd”
- 有输出的指令1 | 有输入的指令2
VIM指令
- vim打开文件
- vim 文件路径:打开指定文件
- vim +3 文件路径:打开文件定位到第三行
- vim +/t 文件路径:打开文件,高亮显示t关键词
- 光标移动
- shift 6:移动到行首
- shift 4:移动到行尾
- gg:光标快速移动到文件起始位置
- G:光标移动到末行行首
- 3 G:快速定位到第三行
- 翻屏
- ctrl b(或PageUp):上翻
- ctrl f(或PageDown):下翻
- 复制操作
- yy:复制光标所在行
- 按下p键粘贴
- 6 yy:向下复制指定行
- dd:剪切/删除
- 按大小p键粘贴
- 7 dd:剪切指定行
- D:剪切后保留空行
- yy:复制光标所在行
- 撤销恢复操作
- u:撤销
- ctrl r:恢复
- 冒号:进入末行模式
- ESC键退出末行模式
- 保存操作
- w:保存文件
- w 路径:另存为
- q:退出
- wq:保存退出
- q!:不报存强制退出
- :%s/搜索关键词/新的内容/g:替换整个文档符合条件的内容
- set nu:显示行号
- 想永久显示行号:创建 ~/.vimrc,添加set nu
- set nonu:不显示行号
- i或者a:进入编辑模式
- ESC退出编辑模式
用户和用户组
- 信息文件
- /etc/passwd:用户的关键信息
- /etc/group:用户组的关键信息
- /etc/shadow:用户密码的信息
- useradd 选项 用户名:添加用户
- 常用选项
- -g:表示指定用户的用户(主要)组,选项的值可以是用户组的id,也可以是组名
- -G:表示指定用户的(额外)组,选项值可以是组id或组名
- -u:uid,用户的id
- -c:添加注释
- -s:指定用户登录后所使用的shell解释器
- -d:指定用户登入时的起始目录
- -n:取消建立以用户名称为名的群组
- useradd -g 501 -G 500 -u 666 -s/sbin/nologin -c “user lisi” lisi:创建用户lisi,添加主主和附主以及uid,并且要求不能登录到系统,注释"user lisi"
- 常用选项
- 修改用户:usermod
- usermod -g 500 -G 501 zhangsan:修改zhangsan的用户组
- usermod -l wangma zhangsan:修改zhangsan的用户名为wangma
- passwd wangma:更改用户密码
- 用户组
- 编辑用户组:goupmod 选项 用户组名
- -g:-g在这里表示自己设置一个自定义的用户组id数字
- -n:表示设置新的用户组的名称
- 删除用户组:groupdel admin:删除admin用户组
- 编辑用户组:goupmod 选项 用户组名
权限相关
权限分类
- 读权限:是否可以列出目录,是否可以查看
- 写权限:是否可以创建文件或编辑文件
- 执行权限:是否可以运行文件
用户身份分类
- Owner身份:文件所有者,默认文件创建者
- Group身份:与文件所有者同组的用户
- Others身份:相对于所有者与同组用户的其它人
- Root用户:超级用户
权限查看与设置
- ls -l 路径:查看权限
- 类型
- d表示文件夹
- -表示文件
- l表示软连接
- s表示套接字
- c表示字符设备
- b表示块状设备
- 2-4位表示文件所有者的权限情况
- r:可读
- w:可写
- e(x):可执行
- -:无权限
- 5-7位表示同组用户的权限情况
- 8-10位表示其它人的权限情况
- 类型
- chmod 选项 权限模式 文档路径:设置权限
- 设置权限选项:
- u:给谁设置
- g:所属群体
- o:其他人
- a:所有人
- +:增加权限
- -:减少权限
- =:确定权限
- chmod u+x,g+rw,o+r /root/passwd:设置所有者拥有全部权限,同组用户读写权限,其他人读权限(也可以使用=设置)
- 数字方式设置权限
- 4:读权限
- 2:写权限
- 1:执行权限
- 7:代表所有权限
- 0-7八种权限组合:0代表无权限,3代表不能读,可写可执行,以此类推
- chmod 777 a.txt:设置全部用户拥有所有权限
- 设置权限选项:
- chown -R admin /lib :更改文件的所属用户
- chown -R admin:groupname /lib:更改所属用户和用户组
- sudo
- visudo:修改sudo配置文件
- 在文件98行左右:root ALL=(ALL) ALL
- root表示用户
- ALL:表示允许登录的主机
- (ALL):表示执行身份
- ALL:表示当前用户可执行的指令,多个命令可使用,分隔
- 在文件98行左右:root ALL=(ALL) ALL
- 查看命令的完整路径:which useradd
- 给admin添加增加用户的权限
- visudo,然后在文件100行左右添加:admin ALL=(ALL) /usr/sbin/useradd
- su admin:切换admin用户
- sudo useradd leilei:使用admin添加用户
- visudo:修改sudo配置文件
运行级别
- ps -ef|grep init:查看系统初始化指令
- vim /etc/init:打开初始化配置文件
- 0:关机,默认级别不要改为0
- 1:单用户模式
- 2:多用户模式,不带NFS
- 3:多用户模式,不带桌面
- 4:没有被使用的模式(被保留模式)
- 5:x11,完整的图形化界面模式
- 6:重启级别(不要将默认的运行级别设置成这个值)
- 切换命令
- 临时切换立即生效
- init 0:表示关机
- init 3:表示切换到不带桌面的模式
- init 5:切换到图形界面(需要已安装图形界面)
- init 6:重启电脑
- 临时切换立即生效
网络设置
- ifconfig:查看ip
- 网卡配置文件
- /etc/sysconfig/network-scripts//ifcfg-*文件
- 配置文件说明
- DEVICE:网卡名
- TYPE:网络类型
- UUID:网卡序号
- ONBOOT:表示是否自动连接
- NM_CONTROLLED:是否被(网络)intneter管理
- BOOTPROTO:网卡使用的协议
- HWADDR:硬件地址,即mac地址,通信依赖mac地址,ip找到mac地址
- DEFROUTE:
- PEERDNS
- PEERROUTES
- IPV4_FAILURE_FATAL
- IPV6 INIT
- NAME
- 文件创建快捷方式
- ln -s 原始路径 快捷方式路径
- ln /etc/sysconfig/network-scripts/ifcfg-ech0 /root/wangka.conf
- 蓝色文件都是快捷方式
- ln -s 原始路径 快捷方式路径
- 网络操作
- service network start
- /etc/init.d/network start
- ifdown:停止某个网卡
- ifup:启动某个网卡
ssh
- 作用:远程连接和文件传输
- /etc/ssh/ssh_config:ssh协议配置文件
- 端口号默认22,可以修改,不能使用其它软件常用端口
- service sshd start/stop/restart:ssh服务的操作(d 是daemon,守护进程)
- ps -ef | grep “sshd”:查看ssh服务
- 常用工具:xshell、secureCRT、Putty、cmder
软件的安装
- linux软件管理三种方式:rpm、yum、编译
- rpm方式
- 优点:对于软件包的操作比较简单,通过简单指令即可操作
- 缺点:
- 安装时需要自行下载软件包
- 安装、卸载时需要考虑到依赖关系
- 软件的自定义性比较差,不适合有特殊需求的场景
- 语法
- rpm -qa qq:查询机器上是否有指定的软件包
- rpm -e 软件包全称 [–nodeps]:卸载软件
- nodeps:可选,表示忽略软件包关系
- rpm -ivh:软件包安装
- i:install,安装
- -v:显示安装过程
- -h:以"#"形式显示安装过程
- rpm -Uvh(了解):升级软件包
- yum方式
- 优点:
- 快速、傻瓜式的软件管理方式
- 在联网情况下,自动从服务器上下载软件包(内、外网均可)
- 自动解决软件依赖关系
- 缺点
- 因其底层为rpm操作,所以也无法对软件安装自定义
- 语法
- yum search [all] mysql:搜索服务器资源包
- yum list mysql:列出所有的包,包含已经安装的和可供安装的
- yum install [-y] mysql:安装;-y可选项,表示全部自动选yes
- yum [-y] remove mysql:卸载
- yum [-y] update [mysql]:更新系统或者软件
- 优点:
- 编译方式安装
- 优点:
- 用户可选择需要的软件功能
- 源码方式:有开发能力的用户,可对源码进行自定义
- 缺点:
- 需要自行解决依赖关系
- 编译时间较长
- 容易出错,一旦出错,需要重新编译安装
- 编译安装步骤
- 下载源码包
- 解压源码包
- 进入解压目录
- 配置安装
- 编译
- 安装
- 编译方式安装nginx
- 下载安装包:wget http://nginx.org/download/nginx-1.17.3.tar.gz
- 解压:
- tar -jxvf 路径(针对.tar.bz2格式)
- tar -zxvf 路径(针对.tar.gz格式)
- 配置安装
- ./configure --prefix=/usr/local/nginx
- 编译并安装
- make&& make install
- ls /usr/local/nignx:查看安装状况
- nginx运行
- /usr/local/nginx/sbin/nginx
- /usr/local/nginx/sbin/nginx -s reload
- 优点:
- lamp环境安装
- 建议先安装php(内置apche)然后安装mysql
- apche默认站点在:/var/www/html/
ThinkPhp
thinkphp环境准备
1.需要开启以下扩展
- extension=openssl
- extension=pdo_mysql
- extension=mbstring
- extension=fileinfo
- extension=curl
- extension=gd2
- extension=soap
- extension=mysqli
- extension=sockets [可选]
2.安装composer包管理工具
- 下载composer,然后把compoer.phar文件放到php安装根目录下
- echo @php “%~dp0composer.phar” %*>composer.bat:执行这句代码生成bat文件
- 在命令行输入composer验证是否安装成功
- cmd切换composer镜像为阿里云的:composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
3.下载yhinnkphp5
- git工具两步下载
- composer create-project --prefer-dist topthink/think tp5.1:composer下载tp5
- 在apache配置topthink的访问路径和站点,然后重启服务即可访问
- 在命令行输入:php think run也可以访问