Linux使用手冊(cè)

計(jì)算機(jī)是由硬件和軟件構(gòu)成的祠肥。

硬件的五大部件:

  • 運(yùn)算器 -|
    | - 中央處理器
  • 控制器 -|
  • 存儲(chǔ)器 - 內(nèi)存(RAM)
  • 輸入設(shè)備
  • 輸出設(shè)備

軟件的兩大類別:

  • 系統(tǒng)軟件 - 操作系統(tǒng)(內(nèi)核+工具程序)
  • 應(yīng)用軟件

Linux系統(tǒng)的內(nèi)核是Free的
Linux系統(tǒng)最早的內(nèi)核是由Linus在1991年開發(fā)的

`Unix - MINIX - Linux - Android
- BSD - FreeBSD - Macintosh - macOS - iOS
- AIX(IBM)
- HP-UX(HP)
- Solaris(SUN)

我們能夠接觸到的操作系統(tǒng)除了Windows其他系統(tǒng)幾乎都是Unix的衍生品
類Unix操作系統(tǒng)

Shell - 殼程序 - 人機(jī)交互界面(人和計(jì)算機(jī)對(duì)話的窗口)
Shell中的工具和命令

who - 查看登錄系統(tǒng)用戶的信息
last - 查看最近使用過系統(tǒng)的用戶信息

clear- 清除屏幕輸出
history- 查看歷史命令
!歷史命令編號(hào) - 重新執(zhí)行歷史命令

useradd/userdel- 添加/刪除用戶
passwd - 修改用戶口令
su - switch user- 切換用戶

logout / exit - 退出登錄
reboot / shutdown - 重啟 / 關(guān)機(jī)
write 用戶名 - 給指定用戶發(fā)送消息
mesg y/n- 是否接收別人發(fā)送的消息
wall- 給所有人發(fā)出廣播消息

獲得幫助
man - manual- 查看幫助手冊(cè)
命令 --help - 獲得命令的幫助

pwd - print working directory - 打印當(dāng)前工作目錄
cd - change directory- 改變目錄
ls - list directory contents- 列出目錄內(nèi)容

mkdir 目錄名 - make directory - 創(chuàng)建文件夾
rmdir 目錄名 - remove empty directory - 刪除空文件夾
touch 文件名 - 創(chuàng)建一個(gè)空文件
echo 內(nèi)容 > 文件名 - 將內(nèi)容重定向到指定的文件
wget http://www.sohu.com/ - 聯(lián)網(wǎng)通過URL獲取指定文件
rm - 刪除文件
rm -rf - 刪除文件夾
cp - 拷貝文件或文件夾
mv - 移動(dòng)文件或文件夾(重命名)

cat - concatenate - 連接文件內(nèi)容(查看文件)
less / more- 分屏查看
head / tail - 查看文件前面/后面的部分
sort- 給文件排序
uniq - 去除相鄰的重復(fù)內(nèi)容
| - 管道 - 連接兩個(gè)進(jìn)程(命令)- 把前一個(gè)進(jìn)程的輸出作為后面一個(gè)進(jìn)程的輸入

gzip / gunzip- 壓縮/解壓縮
xz -z / xz -d- 壓縮/解壓縮

tar是Linux系統(tǒng)下的歸檔文件(類似于Windows下的rar文件)
解歸檔 -tar -xvf 歸檔文件的名字
歸檔 - tar -cvf 歸檔文件的名字 需要?dú)w檔的文件

grep - 搜索字符串
find- 查找文件

MySQL - 關(guān)系型數(shù)據(jù)庫
Redis - NoSQL數(shù)據(jù)庫

CPython - 用C語言實(shí)現(xiàn)的Python解釋器
Jython - 用Java語言實(shí)現(xiàn)的Python解釋器
IronPython - 用C#語言實(shí)現(xiàn)的Python解釋器
PyPy - 用Python語言實(shí)現(xiàn)的Python解釋器

8bit -------> 1Byte
1024B -------> 1KB
1024KB -------> 1MB
1024MB -------> 1GB
1024GB -------> 1TB
1024TB -------> 1PB

《鳥哥的Linux私房菜》

Linux發(fā)行版本:

  • Redhat
  • CentOS
  • Ubuntu
  • Fedora
  • SUSE
  • Debian

Linux系統(tǒng)安裝軟件:

  1. 使用包管理工具 - yum / rpm / apt / deb
  2. 源代碼構(gòu)建安裝 - 下載源代碼用C語言構(gòu)建工具進(jìn)行構(gòu)建
  3. 直接下載二進(jìn)制程序 - 配置環(huán)境變量之后使用

Apache/Nginx ---> HTTP服務(wù)器 ---> 提供Web應(yīng)用

yum search nginx- 搜索名為nginx的軟件包
yum -y install nginx - 安裝名為nginx的軟件包
yum -y remove nginx - 刪除名為nginx的軟件包
yum update nginx - 更新名為nginx的軟件包
yum info nginx - 查看名為nginx的軟件包相關(guān)信息
yum list installed - 查看已經(jīng)安裝的軟件包

service nginx start

systemctl start nginx - 啟動(dòng)Nginx
systemctl restart nginx - 重啟Nginx
systemctl stop nginx - 停止Nginx
systemctl status nginx - 查看Nginx狀態(tài)
systemctl enable nginx - 設(shè)置Nginx開機(jī)自啟
systemctl disable nginx - 禁用Nginx開機(jī)自啟

更新Linux系統(tǒng)Python環(huán)境到3.7.1

  1. 安裝依賴項(xiàng)
    yum -y install wget gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel

  2. 下載源代碼
    wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz

  3. 解壓縮和解歸檔
    gunzip Python-3.7.1.tgz
    tar -xvf Python-3.7.1.tar

  4. 進(jìn)入文件夾生成構(gòu)建文件(Makefile)
    cd Python-3.7.1
    ./configure --prefix=/usr/local/python37 --enable-optimizations

  5. 構(gòu)建和安裝
    make && make install

  6. 修改環(huán)境變量
    cd ~
    vim .bash_profile

PATH=PATH:HOME/bin:/usr/local/python37/bin

  1. 斷開服務(wù)器連接,重新連接服務(wù)器
    python3 --version

  2. 注冊(cè)一個(gè)快捷方式(符號(hào)鏈接)
    ln -s /usr/local/python37/bin/python3 /usr/bin/python3

硬鏈接 - 相當(dāng)于給文件增加了一個(gè)引用計(jì)數(shù)(不復(fù)制數(shù)據(jù)的備份)
軟鏈接(符號(hào)鏈接) - 相當(dāng)于是Windows下的快捷方式 可以為常用的文件和文件夾在用戶主目錄下創(chuàng)建軟鏈接來方便操作

ln 源文件 目標(biāo)文件

ps - processes - 查看進(jìn)程狀態(tài)
ps -ef / ps -aux

top - 類似于任務(wù)管理器

kill - 結(jié)束進(jìn)程

登錄系統(tǒng)成功之后進(jìn)入Shell(殼程序)交互式環(huán)境
大多數(shù)Linux系統(tǒng)默認(rèn)的Shell都是bash
bourne again shell

Internet是基于TCP/IP模型的四層架構(gòu)

應(yīng)用層 - HTTP / FTP / SSH / QQ / SMTP / POP3
傳輸層 - TCP / UDP - 端到端傳輸服務(wù)
網(wǎng)絡(luò)層 - IP - 尋址和路由
物理鏈路層(網(wǎng)絡(luò)接口層) - 分幀和校驗(yàn)

端口是對(duì)IP地址的擴(kuò)展用來區(qū)分不同的服務(wù)
HTTP - TCP協(xié)議80端口
HTTPS - TCP協(xié)議443端口
SSH - TCP協(xié)議22端口
SMTP - TCP協(xié)議25端口
POP3 - TCP協(xié)議110端口

sftp root@1.2.3.4
sftp>
quit / exit / bye - 退出sftp
cd / lcd - 切換遠(yuǎn)端工作目錄 / 切換本地工作目錄
pwd / lpwd - 查看遠(yuǎn)端工作目錄 / 查看本地工作目錄
ls / lls - 查看遠(yuǎn)端目錄下的內(nèi)容 / 查看本地目錄下的內(nèi)容
mkdir / lmkdir - 在遠(yuǎn)端創(chuàng)建目錄 / 在本地創(chuàng)建目錄
put - 上傳文件(-r遞歸可以用來上傳文件夾)
get - 下載文件(-r遞歸可以用來下載文件夾)

Vim的工作模式:

  1. 命令模式 按i或a進(jìn)入編輯模式朵逝;按:/?進(jìn)入末行模式
  2. 編輯模式 按Esc進(jìn)入命令模式
  3. 末行模式 按回車回到命令模式

常用命令:
h j k l - 移動(dòng)光標(biāo)
gg / G / <n>G - 首行 最后一行 第n行
dd d0 d$ dw - 刪行 刪到行首 刪到行尾 刪單詞
yy - 復(fù)制
p - 黏貼
u - 撤銷
ZZ - 保存退出
q - 錄制宏/結(jié)束錄制
qa - 錄制宏并保存在寄存器a中
@a - 播放宏
100@a - 將指定的宏播放100遍

快捷鍵:
ctrl+e / ctrl+y 下移/上移一行
ctrl+f / ctrl+b 下移/上移一頁
ctrl+r 重做
ctrl+w 按兩下 - 切換窗口

末行模式:
set nu / set nonu - 設(shè)置顯示/取消行號(hào)
set ts=4 - 設(shè)置制表的空格數(shù)
syntax on / off- 打開/關(guān)閉高亮語法
map/imap/inoremap 快捷鍵 執(zhí)行的操作 - 映射快捷鍵
ls - 顯示打開的文件
b <n> - 切換文件
sp - 水平拆分窗口
vs- 垂直拆分窗口
w - write - 保存
q - quit - 退出
可以加!強(qiáng)制執(zhí)行
/正則表達(dá)式 - 正向搜索與正則表達(dá)式匹配的字符串
?正則表達(dá)式 - 反向搜索與正則表達(dá)式匹配的字符串
1,$s/正則表達(dá)式/替換的內(nèi)容/指示器 - 查找替換
c - 確認(rèn) - confirm
i - 忽略大小寫 - ignore case
e - 錯(cuò)誤靜默 - error

~/.vimrc - vim的配置文件

代碼提示 - 安裝一個(gè)名為YouCompleteMe插件

文件權(quán)限
-rw-r--r-- 1 root root hello.py

第一個(gè)字符
d - 文件夾
l - 軟鏈接

    • 文件
      第2-4個(gè)字符:文件的所有者對(duì)文件有何種操作權(quán)限
      r - read - 讀
      w - write - 寫
      x - execute - 執(zhí)行
      第5-7個(gè)字符:和文件所有者同組的用戶對(duì)文件有何種操作權(quán)限
      第8-10個(gè)字符:其他用戶(不是所有者也不同組)的用戶對(duì)文件有何種操作權(quán)限

chmod u+x,g+x,o+x 文件名 - 給文件加上執(zhí)行權(quán)限
chmod 755 文件名
chown 用戶名 文件名 - 改變文件所有者
chgrp 用戶組 文件名 - 改變文件用戶組

以太網(wǎng) - Ethernet

網(wǎng)絡(luò)相關(guān)命令:
ping - 檢測(cè)網(wǎng)絡(luò)可達(dá)性 - ICMP
tracepath - 檢查數(shù)據(jù)路由
ifconfig - 檢查網(wǎng)絡(luò)接口(網(wǎng)絡(luò)適配器)
ip - 查看配置網(wǎng)絡(luò)接口相關(guān)信息
netstat - 查看網(wǎng)絡(luò)狀態(tài)(端口占用、進(jìn)程、已建立的連接)
sftp - 安全網(wǎng)絡(luò)文件傳輸
scp- 安全文件拷貝

scp 文件 用戶名@1.2.3.4:/目錄/文件名

命令 & - 讓命令在后臺(tái)運(yùn)行
jobs- 查看后臺(tái)運(yùn)行的進(jìn)程
fg %編號(hào) - 讓命令回到前臺(tái)運(yùn)行
bg %編號(hào) - 讓命令在后臺(tái)運(yùn)行
Ctrl+z- 將前臺(tái)進(jìn)程暫停放到后臺(tái)

版本控制
1990s - 鎖定模式

  • CVS - Concurrent Version System
  • VSS - Visual Source Safe

2000s - 合并模式

  • SVN - Subversion - 集中控制式

分布式版本控制系統(tǒng) - BitKeeper
2005年 - Git / Mercury

Linux系統(tǒng)安裝Git
方法一:yum -y install git
方法二:

  1. 下載git源代碼壓縮文件
    wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.19.1.tar.xz
  2. 解壓縮和解歸檔
    xz -d git-2.19.1.tar.xz
    tar -xvf git-2.19.1.tar
  3. 配置安裝路徑
    cd git-2.19.1
    ./configure --prefix=/usr/local
  4. 安裝git的網(wǎng)絡(luò)依賴庫
    yum -y install libcurl-devel
  5. 構(gòu)建和安裝
    make && make install
  6. 檢查安裝結(jié)果
    git --version

Git的使用

  1. 創(chuàng)建git倉庫
    git init

  2. 將代碼納入暫存區(qū)
    git add 文件名
    git add .

  3. 查看暫存區(qū)狀態(tài)
    git status
    git rm --cached 文件名(從暫存區(qū)移除)
    git checkout -- 文件名(將暫存區(qū)文件恢復(fù)到工作區(qū))

  4. 配置身份標(biāo)識(shí)
    git config --global user.name "..."
    git config --global user.email "..."

  5. 提交到本地倉庫
    git commit -m '...'

  6. 查看提交日志
    git log
    git reflog - 看到未來的版本(曾經(jīng)提交過又被撤回的版本)

  7. 回到歷史版本
    git reset --hard HEAD^
    git reset --hard HEAD^^
    git reset --hard 版本的哈希摘要

--hard參數(shù)是為了保持工作區(qū)和歷史版本的一致性

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市舰褪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌创译,老刑警劉巖抵知,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異软族,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)残制,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門立砸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人初茶,你說我怎么就攤上這事颗祝。” “怎么了?”我有些...
    開封第一講書人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵螺戳,是天一觀的道長(zhǎng)搁宾。 經(jīng)常有香客問我,道長(zhǎng)倔幼,這世上最難降的妖魔是什么盖腿? 我笑而不...
    開封第一講書人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮损同,結(jié)果婚禮上翩腐,老公的妹妹穿的比我還像新娘。我一直安慰自己膏燃,他們只是感情好茂卦,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著组哩,像睡著了一般等龙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上伶贰,一...
    開封第一講書人閱讀 52,255評(píng)論 1 308
  • 那天蛛砰,我揣著相機(jī)與錄音,去河邊找鬼幕袱。 笑死暴备,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的们豌。 我是一名探鬼主播涯捻,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼望迎!你這毒婦竟也來了障癌?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤辩尊,失蹤者是張志新(化名)和其女友劉穎涛浙,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體摄欲,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡轿亮,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了胸墙。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片我注。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖迟隅,靈堂內(nèi)的尸體忽然破棺而出但骨,到底是詐尸還是另有隱情励七,我是刑警寧澤,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布奔缠,位于F島的核電站掠抬,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏校哎。R本人自食惡果不足惜两波,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望贬蛙。 院中可真熱鬧雨女,春花似錦、人聲如沸阳准。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽野蝇。三九已至讼稚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間绕沈,已是汗流浹背锐想。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留乍狐,地道東北人赠摇。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像浅蚪,于是被迫代替她去往敵國(guó)和親藕帜。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯(cuò)誤還是無法避免 以后資料會(huì)慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,175評(píng)論 2 33
  • 一惜傲、Python簡(jiǎn)介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡(jiǎn)介】: Python 是一個(gè)...
    _小老虎_閱讀 5,748評(píng)論 0 10
  • 計(jì)算機(jī)是由硬件和軟件構(gòu)成的洽故。 硬件的五大部件: 運(yùn)算器 -| 控制器 -| 中央處理器 存儲(chǔ)器 - 內(nèi)存(RAM)...
    龍神海王閱讀 166評(píng)論 0 0
  • Linux習(xí)慣問題: 在vim編輯時(shí),按了ctrl + s后盗誊,再按ctrl + q就可以繼續(xù)執(zhí)行了时甚。ctrl + ...
    光著腳的鞋閱讀 4,517評(píng)論 0 16
  • 提到理財(cái),很多人都覺得跟自己并不相關(guān)哈踱。 但事實(shí)上荒适,會(huì)不會(huì)理財(cái),過的是完全不一樣的人生开镣。 今天跟大家推薦的這本理財(cái)書...
    白菜悠悠閱讀 667評(píng)論 0 1