day31-linux系统操作-2019-09-02

一.操作系统

操作系统距离硬件最近的软件,他管理所有的硬件设备,并且提供了人机交互的界面以及实用的工具程序。
1960年 - IBM - OS/360 - 通用操作系统
1965年 - GE/MIT/Bell - Multics
1966年 - ken thompson
1969年 - Multics项目失败任务关闭 - PDP-7 - Unics
1970年 - B语言 - Unix
1971年 - dennis ritchie - C语言
1976年 - Unix System V

Unix ---> AIX / Hp-Unix / Solaris
1987年 - tanenbaum - Minix - 20000
1991年 - linus - Linux

Linux发行版本
Redhat
CentOS
Fedora
Ubuntu
Debian
SUSE

2.壳程序 - Shell
人和计算机对话的接口程序 - bash
Bourne Shell - bsh
Bourne Again Shell - bash

3.命令 [参数] [作用对象]

命令 作用
who 查看所有连接对象
who am i 查看当前连接对象
w 查看所有连接对象及信息
clear 清除屏幕信息
date 查看时间信息
cal 查看日历
whatis 查看帮助信息
whereis 查看目标路径
命令 --help 查看命令帮助
man 查看命令手册
ls 查看当前目录下的文件及文件夹名
cat 查看文件内容
wget 非交互式下载
ps 查看bash
uname/hostname 查看操作系统名/主机名
exit/logout 断开连接
shutdown 关机
reboot 重启
init 初始化级别,0是关机,6是重启
write 给用户发消息
history 历史记录
useradd 添加普通用户
passwd 修改密码
su 切换权限
write 发送消息
wall 给所有人发消息

4.文件操作命令

pwd - print working directory - 打印工作目录:
/root - 超级管理员用户主目录
/home/lucia - 普通用户主目录
/home/vincent - 普通用户主目录

ls -list directory contents - 列出目录下的内容:
-a:查看所有文件(以点开头的是隐藏文件或文件夹)
-l:长格式查看
-R:递归式查看(遇到文件夹要查看文件下的内容)

cd -change directory- 切换文件夹

mkdir - make directory - 创建文件夹:
-p:在需要的时候创建父文件夹

rmdir - remove empty directory - 删除空文件夹

touch - 创建空文件或修改文件的最后访问时间

rm - remove - 删除文件或文件夹:
-i:交互式删除(interactive)
-f:强制删除(force)
-r:递归式删除(recursive)

cp- copy - 拷贝文件
-r:递归式拷贝(recursive)
mv - move - 移动文件

cat / tac - concatenate - 连接文件并打印内容
head / tail - 查看文件头/尾
more / less - 分页查看
iconv - 转换文件编码

C - CPython - 官方
Java - Jython
C# - IronPython
Python - PyPy - JIT

gzip / gunzip - 压缩/解压文件
xz -z / xz -d - 压缩/解压文件
tar - 归档/解归档

解压缩
gz / tgz ===> gunzip <文件名>
xz ===> xz -d <文件名>

解归档(一个文件拆成多个文件)
tar -cvf <需归档文件的文件夹名>
tar -xvf <归档文件的文件名>

二.Linux系统配置

systemctl start nginx 运行某进程

vim:
command function
:wq/ZZ 保存退出
set ts=4 设置制表键的空格为4
:set nu 显示行号
nyy 复制n行
p 粘贴
ndd 剪切n行
gg 回到文首
GG 到达文尾
x 删除一个字符
u 回复
wd 删除一个单词
0 去到行首
$ 去到行尾
设置vim配置文件
①进入 .vimrc文件
② 输入以下命令,保存退出

set nu
set ts=4
set autoindent
set expandtab
set ruler
set nohls
syntax on
set nu -> 显示行号
set ts=4 -> 设置tab键为4个空格
set autoindent -> 自动补全
set expandtab -> 设置tab键
set ruler -> 设置标尺
set nohls -> 取消搜索高亮
syntax on -> 设置代码高亮

三.CentOS安装软件:

  1. 包管理工具安装(简单靠谱)
    • yum:yellowdog updater modified
      • yum search <软件包名字>
      • yum install <软件包名字>
      • yum upgrade <软件包名字>
      • yum erase <软件包名字>
      • yum info <软件包名字>
      • yum list installed | grep <名字>
    • apt / apt-get
    • rpm:red-hat package manager
      • rpm -ivh RPM文件
      • rpm -e 包名
      • rpm -qa | grep 包名
  2. 源代码构建安装
    • gcc --version / make --version
    • 下载 / 解压缩 / 解归档 / [补充依赖项] / [安装前配置] / make && make install / [配置环境变量]
  3. 下载和系统对应的二进制文件
    • 配置PATH环境变量

1命令安装install

-yum:yellowdog updater modified
搜索: yum search file_name
安装: yum install file_name
卸载: yum erase file_name
查询: yum info file_name
查询已安装:yum list installed

-rpm:
-rpm -ivh RPM文件
-rpm -e 包名
-rpm -qa | grep 包名

2.源代码构建安装

  • 确认检查c语言编译器和构建工具:
    gcc --version
    make --version
  • 下载

3.下载和系统对应的二进制文件

-配置PATH环境变量

安装python3

①下载源码
②解压缩解包
③进入文件目录
④补充Python相关依赖项
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel libdb4-devel libpcap-devel xz-devel libffi-devel
⑤安装前的配置
./configure --prefix=/usr/local/python37 --enable-optimizations
⑥构建和安装
make && make install
⑦配置PATH环境变量
cd
vim .bash_profile
输入:
export PATH=$PATH:/usr/local/python37/bin

查看进程及端口

ps -ef: 查看进程
netstat -ntlp :查看端口状态
-n:拒绝显示别名,能显示数字的全部转化成数字
-t:t拒绝显示别名,能显示数字的全部转化成数字
-l:显示建立相关链接的程序名
-p:显示建立相关链接的程序名

安装mariaDB及删除mariaDB

1.yum search mariadb
2.yum install -y mariadb mariadb-server
3.yum info mariadb
4.yum upgrate mariadb
5.yum erase mariadb mariadb-server
6.yum list installed | grep mariadb
7.yum list installed | grep mariadb | awk '{print $1}' | xargs yum erase -y

安装git

  1. 下载
    wget nhttps://mirrors.edge.kernel.org/pub/software/scm/git/git-2.23.0.tar.gz
    2.解压缩解归档
    gunzip git-2.23.0.tar.gz
    tar -xvg git-2.23.0.tar
    cd git-2.23.0
  2. 补包(预防联网报错问题)
    yum install -y libcurl-devel
  3. 配置
    ./configure --prefix=/usr/local
    5.构建及构建安装
    make && make install
    6.查看版本
    git --version

安装MySQL

1.common —> libs —> client —> server
mysql-community-server-5.7.27-1.el7.x86_64
mysql-community-client-5.7.27-1.el7.x86_64
mysql-community-libs-5.7.27-1.el7.x86_64
mysql-community-common-5.7.27-1.el7.x86_64
systemctl start mysqld

安装后出现无法连接的问题,可能是以前安装卸载后残留了数据,解决办法如下:
cat /var/log/mysqld.log | grep password

set global validate_password_policy=0;
set global validate_password_length=6;
alter user 'root'@'localhost' identified by '123456';

create user 'root'@'%' identified by '123456';
grant all privileges on . to 'root'@'%' with grant option;
grant insert on school.* to 'root'@'%';
revoke all privileges on . from 'root'@'%';

总结

启动停止重启查看服务
ubuntu/centos7以下:
service mysqld start
service mysqld stop

centos7:
systemctl start mysqld - 启动
systemctl stop mysqld - 停止
systemctl restart mysqld - 重启
systemctl status mysqld - 状态
systemctl enable mysqld - 开机启动
systemctl disable mysqld - 禁用开机启动

mysql命令

mysql -u root -p
alter user 'root'@'localhost' identified by '123456';
how databases;
select version();

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容