一.操作系統(tǒng)
操作系統(tǒng)距離硬件最近的軟件,他管理所有的硬件設(shè)備,并且提供了人機(jī)交互的界面以及實(shí)用的工具程序。
1960年 - IBM - OS/360 - 通用操作系統(tǒng)
1965年 - GE/MIT/Bell - Multics
1966年 - ken thompson
1969年 - Multics項(xiàng)目失敗任務(wù)關(guān)閉 - PDP-7 - Unics
1970年 - B語(yǔ)言 - Unix
1971年 - dennis ritchie - C語(yǔ)言
1976年 - Unix System V
Unix ---> AIX / Hp-Unix / Solaris
1987年 - tanenbaum - Minix - 20000
1991年 - linus - Linux
Linux發(fā)行版本
Redhat
CentOS
Fedora
Ubuntu
Debian
SUSE
2.殼程序 - Shell
人和計(jì)算機(jī)對(duì)話的接口程序 - bash
Bourne Shell - bsh
Bourne Again Shell - bash
3.命令 [參數(shù)] [作用對(duì)象]
| 命令 | 作用 |
|---|---|
| who | 查看所有連接對(duì)象 |
| who am i | 查看當(dāng)前連接對(duì)象 |
| w | 查看所有連接對(duì)象及信息 |
| clear | 清除屏幕信息 |
| date | 查看時(shí)間信息 |
| cal | 查看日歷 |
| whatis | 查看幫助信息 |
| whereis | 查看目標(biāo)路徑 |
| 命令 --help | 查看命令幫助 |
| man | 查看命令手冊(cè) |
| ls | 查看當(dāng)前目錄下的文件及文件夾名 |
| cat | 查看文件內(nèi)容 |
| wget | 非交互式下載 |
| ps | 查看bash |
| uname/hostname | 查看操作系統(tǒng)名/主機(jī)名 |
| exit/logout | 斷開連接 |
| shutdown | 關(guān)機(jī) |
| reboot | 重啟 |
| init | 初始化級(jí)別,0是關(guān)機(jī),6是重啟 |
| write | 給用戶發(fā)消息 |
| history | 歷史記錄 |
| useradd | 添加普通用戶 |
| passwd | 修改密碼 |
| su | 切換權(quán)限 |
| write | 發(fā)送消息 |
| wall | 給所有人發(fā)消息 |
4.文件操作命令
pwd - print working directory - 打印工作目錄:
/root - 超級(jí)管理員用戶主目錄
/home/lucia - 普通用戶主目錄
/home/vincent - 普通用戶主目錄
ls -list directory contents - 列出目錄下的內(nèi)容:
-a:查看所有文件(以點(diǎn)開頭的是隱藏文件或文件夾)
-l:長(zhǎng)格式查看
-R:遞歸式查看(遇到文件夾要查看文件下的內(nèi)容)
cd -change directory- 切換文件夾
mkdir - make directory - 創(chuàng)建文件夾:
-p:在需要的時(shí)候創(chuàng)建父文件夾
rmdir - remove empty directory - 刪除空文件夾
touch - 創(chuàng)建空文件或修改文件的最后訪問(wèn)時(shí)間
rm - remove - 刪除文件或文件夾:
-i:交互式刪除(interactive)
-f:強(qiáng)制刪除(force)
-r:遞歸式刪除(recursive)
cp- copy - 拷貝文件
-r:遞歸式拷貝(recursive)
mv - move - 移動(dòng)文件
cat / tac - concatenate - 連接文件并打印內(nèi)容
head / tail - 查看文件頭/尾
more / less - 分頁(yè)查看
iconv - 轉(zhuǎn)換文件編碼
C - CPython - 官方
Java - Jython
C# - IronPython
Python - PyPy - JIT
gzip / gunzip - 壓縮/解壓文件
xz -z / xz -d - 壓縮/解壓文件
tar - 歸檔/解歸檔
解壓縮
gz / tgz ===> gunzip <文件名>
xz ===> xz -d <文件名>
解歸檔(一個(gè)文件拆成多個(gè)文件)
tar -cvf <需歸檔文件的文件夾名>
tar -xvf <歸檔文件的文件名>
二.Linux系統(tǒng)配置
systemctl start nginx 運(yùn)行某進(jìn)程
vim:
command function
:wq/ZZ 保存退出
set ts=4 設(shè)置制表鍵的空格為4
:set nu 顯示行號(hào)
nyy 復(fù)制n行
p 粘貼
ndd 剪切n行
gg 回到文首
GG 到達(dá)文尾
x 刪除一個(gè)字符
u 回復(fù)
wd 刪除一個(gè)單詞
0 去到行首
$ 去到行尾
設(shè)置vim配置文件
①進(jìn)入 .vimrc文件
② 輸入以下命令,保存退出
set nu
set ts=4
set autoindent
set expandtab
set ruler
set nohls
syntax on
set nu -> 顯示行號(hào)
set ts=4 -> 設(shè)置tab鍵為4個(gè)空格
set autoindent -> 自動(dòng)補(bǔ)全
set expandtab -> 設(shè)置tab鍵
set ruler -> 設(shè)置標(biāo)尺
set nohls -> 取消搜索高亮
syntax on -> 設(shè)置代碼高亮
三.CentOS安裝軟件:
- 包管理工具安裝(簡(jiǎn)單靠譜)
- 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 包名
- yum:yellowdog updater modified
- 源代碼構(gòu)建安裝
- gcc --version / make --version
- 下載 / 解壓縮 / 解歸檔 / [補(bǔ)充依賴項(xiàng)] / [安裝前配置] / make && make install / [配置環(huán)境變量]
- 下載和系統(tǒng)對(duì)應(yīng)的二進(jìn)制文件
- 配置PATH環(huán)境變量
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.源代碼構(gòu)建安裝
- 確認(rèn)檢查c語(yǔ)言編譯器和構(gòu)建工具:
gcc --version
make --version - 下載
3.下載和系統(tǒng)對(duì)應(yīng)的二進(jìn)制文件
-配置PATH環(huán)境變量
安裝python3
①下載源碼
②解壓縮解包
③進(jìn)入文件目錄
④補(bǔ)充Python相關(guān)依賴項(xiàng)
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
⑥構(gòu)建和安裝
make && make install
⑦配置PATH環(huán)境變量
cd
vim .bash_profile
輸入:
export PATH=$PATH:/usr/local/python37/bin
查看進(jìn)程及端口
ps -ef: 查看進(jìn)程
netstat -ntlp :查看端口狀態(tài)
-n:拒絕顯示別名,能顯示數(shù)字的全部轉(zhuǎn)化成數(shù)字
-t:t拒絕顯示別名,能顯示數(shù)字的全部轉(zhuǎn)化成數(shù)字
-l:顯示建立相關(guān)鏈接的程序名
-p:顯示建立相關(guān)鏈接的程序名
安裝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
- 下載
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 - 補(bǔ)包(預(yù)防聯(lián)網(wǎng)報(bào)錯(cuò)問(wèn)題)
yum install -y libcurl-devel - 配置
./configure --prefix=/usr/local
5.構(gòu)建及構(gòu)建安裝
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
安裝后出現(xiàn)無(wú)法連接的問(wèn)題,可能是以前安裝卸載后殘留了數(shù)據(jù),解決辦法如下:
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'@'%';
總結(jié)
啟動(dòng)停止重啟查看服務(wù)
ubuntu/centos7以下:
service mysqld start
service mysqld stop
centos7:
systemctl start mysqld - 啟動(dòng)
systemctl stop mysqld - 停止
systemctl restart mysqld - 重啟
systemctl status mysqld - 狀態(tài)
systemctl enable mysqld - 開機(jī)啟動(dòng)
systemctl disable mysqld - 禁用開機(jī)啟動(dòng)
mysql命令
mysql -u root -p
alter user 'root'@'localhost' identified by '123456';
how databases;
select version();