《Linux學(xué)習(xí)總結(jié)》
一、環(huán)境搭建:
1、unbuntu 安裝,制作安裝盤,鏡像.ISO安裝包和制盤工具uiso9 (xshell(結(jié)合Samba),虛擬機(jī)安裝)
2、右上角設(shè)置更新來源,系統(tǒng)設(shè)置--》軟件和更新,下載自,選擇阿里云
3、安裝搜狗拼音,選擇右上角進(jìn)行設(shè)置
4、可以設(shè)置中文顯示,目錄還是英文的,系統(tǒng)設(shè)置--》語言支持--》將漢語移到最上方--》重啟--》keep old name
5、可以選擇安裝谷歌瀏覽器:https://jingyan.baidu.com/article/335530da98061b19cb41c31d.html
6、常用庫、包、依賴安裝:
sudo apt-get update
sudo apt-get install man gcc make lsof ssh openssl tree vim dnsutils iputils-ping
sudo apt-get install net-tools psmisc sysstat curl telnet traceroute wget libbz2-dev libpcre3
sudo apt-get install libpcre3-dev libreadline-dev libsqlite3-dev libssl-dev llvm
sudo apt-get install zlib1g-dev git mysql-server mysql-client zip p7zip
7、文本編輯器:sudo apt-get -y install vim
一次性定時(shí)服務(wù):sudo apt-get install at
解壓縮:apt-get install gzip apt-get -y install zip unzip
nginx安裝:sudo apt-get install nginx
pyenv安裝:
先下載:curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
安裝過git可以: git clone https://github.com/pyenv/pyenv.git ~/.pyenv
設(shè)置安裝路徑(截獲):安裝路徑寫入~/.bashrc
重啟,更新
8、Python安裝:
安裝依賴:
sudo apt-get install libc6-dev gcc
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm
安裝:
cd ~/.pyenv
sudo mkdir cache
wget -c http://mirrors.sohu.com/python/3.6.4/Python-3.6.4.tar.xz -P ~/.pyenv/cache/
pyenv install 3.6.4 -v
9、virtualenv安裝:
pip install virtualenv或者sudo pip install --upgrade virtualenv
10、pycharm安裝:
官網(wǎng)下載: 終端打開 sh ./pycharm.sh: 修改hosts:0.0.0.0 account.jetbrains.com添加到最后:
Activation code激活:復(fù)制激活碼即可
11、遠(yuǎn)程操作:ssh服務(wù)
安裝:sudo apt-get install openssh-server
12、Samba服務(wù)器 :
安裝:sudo apt-get install samba samba-common
13、Linux多窗口:sudo apt-get -y install screen
14、修復(fù)性安裝:sudo apt-get install -f
二、掌握以及常用操作:
掌握:
1、桌面操作系統(tǒng)與服務(wù)器端:
操作系統(tǒng):桌面操作系統(tǒng)、服務(wù)器操作系統(tǒng)和嵌入式操作系統(tǒng)、移動(dòng)端等
服務(wù)器端:windows nt、os server 、rehat、centos、geetoo(賤兔)、ubuntu
2、機(jī)器語言 匯編語言 高級(jí)語言
3、Linux重要發(fā)行版本 兩大陣營(yíng)
4、虛擬機(jī),虛擬化
5、系統(tǒng)安裝,與安裝分盤
6、目錄存放內(nèi)容,如.根目錄,bin存放常見命令,etc配置文件目錄
7、文件屬性的8部分:文件類型,文件權(quán)限,鏈接數(shù),屬主,屬組,文件大小 上次修改時(shí)間,文件名
8、硬鏈接和軟鏈接
9、語法高亮
10、絕對(duì)路徑和相對(duì)路徑
11、文件的三個(gè)時(shí)間
12、管道符 |
13、遞歸修改的-R 是改后的名在前面 然后添加文件名
14、磁盤分區(qū)
15、計(jì)劃任務(wù):周期性定時(shí)任務(wù)和一次性定時(shí)任務(wù)
16、軟件的解壓縮
17、開機(jī)啟動(dòng)的設(shè)置
18、防火墻ufw
19、下載 wget -c curl -0
20、nginx的使用
21、pyenv virtualenv 創(chuàng)建虛擬環(huán)境的使用
22、pycharm和虛擬開發(fā)環(huán)境的結(jié)合
23、環(huán)境變量:全局 系統(tǒng)級(jí)全局 單用戶全局
24、Samba的使用
25、git的使用
常用操作:
1、關(guān)機(jī):shutdown -h now halt poweroff
2、重啟:shutdown -r now reboot
3、版本查看:lsb_release -a
4、圖形界面顯示終端:Ctrl+alt+t
5、shell終端界面 Ctrl+alt + F1-6 退出:Ctrl+alt+f7
6、ssh的啟動(dòng)、重啟、關(guān)閉:sudo service ssh start restart stop
7、基于apt對(duì)包的操作:
查看軟件包信息:sudo apt-cache showsrc 包名
獲取源碼:sudo apt-get source 包名
安裝軟件:sudo apt-get install 包名
修復(fù)安裝:sudo apt-get -f install
刪除軟件:sudo apt-get remove 包名
獲取新的軟件包列表:sudo apt-get update
升級(jí)可用更新軟件包:sudo apt-get upgrade
查看可升級(jí)軟件列表:sudo apt list --upgradable
清理無用包:sudo apt-get clean sudo apt-get autoclean
8、查看幫助文檔:tree --help
9、顯示文件目錄:tree -L 1(表示幾級(jí)目錄)
10、列出目錄下的文件和子目錄:ls 參數(shù):-l -a -A -i --color --help
列出以某字符比如t開頭的文件 ls t*
列表方式顯示文件和子目錄:ll = ls -al
11、命令的幫助文檔:man :快捷鍵 f b g shift+g q home
12、查看敲過的命令:history
13、創(chuàng)建硬鏈接:link 源文件名 新文件名 ln源文件名 新文件名
14、創(chuàng)建軟連接:ln -s 源文件 目標(biāo)文件
15、終端下快捷鍵:Ctrl 終止+c 回到命令開始+a 回到命令結(jié)尾+e 清空命令本行+u
清屏+l 自動(dòng)補(bǔ)齊tab
16、目錄切換:cd 選項(xiàng):. .. / ~ -
17、顯示絕對(duì)路徑:pwd
18、創(chuàng)建目錄:sudo mkdir 目錄名
遞歸創(chuàng)建目錄:sudo mkdir -p 目錄名/目錄名
刪除空目錄:sudo rmdir 目錄名
遞歸刪除空目錄:sudo rm -p 目錄名
刪除目錄:sudo rm -rf 遞歸刪除目錄、文件
19、創(chuàng)建文件:
touch 文件名。。。??梢远鄠€(gè)一起,不會(huì)穿件已存在的文件
echo 內(nèi)容 與輸出重定向的使用 > (覆蓋) >>(追加)
20、移動(dòng)文件:
sudo mv 源文件 目標(biāo)文件 (銷毀,重命名,移動(dòng),需要加路徑,改名的在后面加上名字)
改名:rename 's/源文件名中替換的部分/替換后的部分/' 源文件名
21、文件拷貝:sudo cp 源文件 目標(biāo)文件
目錄遞歸拷貝:sudo cp -r 源目錄 目標(biāo)目錄 比如:sudo cp -r 4/8 5/7/
22、文件查看:
cat
tac
head -n 行數(shù) /-行數(shù)
tail -n 行數(shù) /-行數(shù)
實(shí)時(shí)顯示:
tail -f cat 文件名
watch -d -n 秒數(shù) cat 文件名 (有高亮)
more 文件名 同下
less 文件名 g首頁 G尾頁,b前翻頁,空格和f后翻頁,q退出
顯示文件信息:stat 文件名
23、文件查找:
find [路徑] [參數(shù)] [“文件名”] 選項(xiàng):-name -iname -mtime+/-n -user -size+-大小
-perm -maxdepth 深度 ls -type[f/d/l]
shell命令(command代表功能):-exec command {} ; command是可變的
grep :grep [options] 'pattern' filename
選項(xiàng): -i -c -r -l -n -w —E正則表達(dá)式查找
awk 語法:awk '{pattern + action}' {filenames}
cat /etc/passwd |awk -F ':' '{print $1}' #$1顯示第一列 -F 指定分割符為':'
sort與uniq:
sort(選項(xiàng))(參數(shù)) -u -k -n -t -r
uniq [選項(xiàng)]... [文件] -c -d -D -i
舉例:history | awk '{print $2}' | sort | uniq -c | sort -r -n -k 1 | head -n 10
24、命令路徑:which 命令名
搜索命令、源文件、二進(jìn)制文件:whereis 文件名
25、文件刪除:sudo rm 參數(shù) -i(文件名) -f(文件名) -rf(文件、目錄名)
26、文件權(quán)限修改:chomd 權(quán)限 文件名、目錄
遞歸修改權(quán)限: chomd -R 權(quán)限 目錄
選項(xiàng) :ugoa +—= rwx=421
27、修改文件屬主(所有者):chown 屬主名 文件名、目錄名
遞歸修改屬主名(所有者) chown -R 屬主名(都是改后名) 文件名、目錄名
修改用戶和所屬組:chown 屬主:屬組 文件名
28、修改屬組:
chgrp 組名 文件名/目錄名
chgrp -R 組名(也都是修改后的) 目錄
29、lsattr/chattr 修改和查看文件只讀屬性
chattr 選項(xiàng)[+— 配合 i a] 文件名
30、添加用戶:useradd [選項(xiàng)]:-g -G -u -m -d -s
交互模式創(chuàng)建用戶 sudo adduser 用戶名
31、修改用戶信息:usermod [選項(xiàng)] 用戶名 選項(xiàng): -u -g -G -a -d -l
32、修改用戶密碼:passwd [選項(xiàng)] 用戶名 選項(xiàng): -l -u
33、切換用戶:su 用戶名
34、刪除用戶:userdel -r 用戶名 (刪除用戶同時(shí)刪除家目錄:家目錄要和用戶名一致才能刪除)
35、id 用戶名 groups 用戶名 whoami 查看當(dāng)前用戶
36、添加組:groupadd 組名
刪除組:groupdel 組名
改組名:groupmod -n 新名 舊名
顯示用戶的組:groups
37、vim的使用:
編輯模式iaso
命令模式gg dd yy p u ctrl+r .
尾行模式 : / ? w q wq x ! set nu/set nonu :n n是幾就可以去第幾行
38、查看網(wǎng)絡(luò)接口的網(wǎng)絡(luò)參數(shù):ifconfig 指定:+網(wǎng)卡名 例:ifconfig ens33
39、開關(guān)網(wǎng)卡: ifconfig 網(wǎng)卡名 up/down
40、重啟網(wǎng)絡(luò):/etc/init.d/networking restart
41、測(cè)試網(wǎng)絡(luò)連通性:ping [參數(shù)] [主機(jī)名或IP地址] 參數(shù):-c n -b
42、查看網(wǎng)絡(luò)連接:netstat - a n p t u
顯示建立的tcp連接:sudo netstat -nt
顯示建立的udp連接:sudo netstat -nu
顯示tcp端口:sudo netstat -ntpa
43、進(jìn)程管理:
顯示進(jìn)程狀態(tài):ps 用法: ps [選項(xiàng)] [用戶名] 選項(xiàng):-a -e -u -x -r
殺死進(jìn)程:kill [參數(shù)] 進(jìn)程號(hào) 或者 killall -TEAM 進(jìn)程名
44、性能顯示:top 類似Windows的任務(wù)管理器
45、查看磁盤使用:df -h -k -m
查看文件或目錄空大小: du -a -s -c
查看磁盤分區(qū):fdisk -l
46、uname hostname who w last
47、查看內(nèi)存: free -h
釋放內(nèi)存:
sudo sh -c 'echo 1 > /proc/sys/vm/drop_caches'
sudo sh -c 'echo 2 > /proc/sys/vm/drop_caches'
sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'
48、設(shè)置啟動(dòng)級(jí)別:執(zhí)行/etc/init/rc-sysinit.conf 0123456
顯示當(dāng)前運(yùn)行模式的命令:runlevel who -r
49、遠(yuǎn)程復(fù)制(可傳,可下載):scp [-r] 原地址 目標(biāo)地址
發(fā)送: scp 本機(jī)路徑/本地文件 主機(jī)@IP地址:路徑
下載: scp 主機(jī)@ip地址:路徑/文件 本機(jī)路徑
三、工具使用
【【【【pyenv的使用】】】】(安裝pyenv 安裝Python 指定Python版本創(chuàng)建 virtualenv)
1、安裝pyenv
①下載安裝pyenv:
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
或者 git安裝:git clone https://github.com/pyenv/pyenv.git ~/.pyenv
②截獲路徑:
sudo vim .bashrc
shift + G
export PATH="/home/x/.pyenv/bin:(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
③配置生效指令:source .bashrc
更新pyenv: pyenv update
2、安裝所需Python版本
①安裝依賴包:
sudo apt-get install libc6-dev gcc
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm
②安裝python:
因?yàn)閜yenv install 3.6.4 過慢,所以建議用wget或者curl
先下載壓縮包放至~/.pyenv/cache再用指令 pyenv install 版本號(hào) -v 安裝
cd ~/.pyenv
sudo mkdir cache
wget -c http://mirrors.sohu.com/python/3.6.4/Python-3.6.4.tar.xz -P ~/.pyenv/cache/
pyenv install 3.6.4 -v
3、搭建虛擬環(huán)境
①安裝virtualenv
pip install virtualenv 或者 sudo pip install --upgrade virtualenv
②創(chuàng)建項(xiàng)目目錄:
sudo mkdir -p 目錄/目錄。。。
進(jìn)入項(xiàng)目目錄:
cd 目錄/目錄。。。
創(chuàng)建虛擬環(huán)境:
pycnv virtualenv 版本號(hào) 虛擬環(huán)境名 如:pyenv virtualenv 3.6.4 env36
③切入虛擬環(huán)境:pyenv activate 虛擬環(huán)境名
④切出虛擬環(huán)境:source deactivate
【【【【git的使用】】】】(建立賬號(hào)與本地主機(jī)的連接, github下載到本地 <=> 本地上傳到github)
https://blog.csdn.net/qq_15260769/article/details/80489331
1、git的安裝與github賬號(hào)的連接
①第一步: 安裝Git,使用命令 sudo apt-get install git
第二步: 到GitHub上創(chuàng)建GitHub帳號(hào)
第三步: 生成ssh-keygen,使用命令 ssh-keygen -t rsa -C “用戶名”,一直enter,enter,enter
(可選)第四步: 建立主機(jī)信任,將公鑰放在github上,在.git/config中修改URL可以免密上傳
②全局配置,添加賬戶和郵箱:
git config --global user.name 'xml'
git config --global user.email '13510647877@163.com'
2、git倉庫可以在合適的位置用git init生成,也可以用clone去github上下載
3、github克隆項(xiàng)目到本地:git clone 地址
拉取最新版本并自動(dòng)合并:【git pull origin master】
4、本地上傳到github:
①文件上傳暫存區(qū):git add 文件名 或者把變化的語句【git add .】 (撤銷:git reset HEAD 文件名)
②查看暫存區(qū):git status
③提交本地版本庫:git commit 文件名 -m "說明信息"
【git commit -m "文件信息"】 默認(rèn)提交全部
④推送到遠(yuǎn)端服務(wù)器:【git push origin master】
5、版本回退:
①查看提交日志:git log (--pretty=oneline)
②git的每次命令查詢:git reflog
③git reset --hard 版本號(hào)
6、分支管理
【【【【nginx的使用】】】】
nginx虛擬站點(diǎn)配置:(創(chuàng)建配置文件 —> 創(chuàng)建軟連接 —> hosts攔截 —> 網(wǎng)站路徑目錄下創(chuàng)建網(wǎng)頁內(nèi)容)
1、先打開nginx:sudo apt install nginx(--> service nginx start)(查看主配置文件 cd /etc/nginx nginx.conf)
2、打開指定目錄:cd /etc/nginx
查看是否有所需目錄: ls --> sites-available
3、進(jìn)入配置文件目錄:cd sites-available
查看是否有 default
4、制作缺省站點(diǎn):先復(fù)制模板—— sudo cp default 新缺省站點(diǎn)文件名
然后進(jìn)入新配置文件編寫: sudo vim 新缺省站點(diǎn)文件名
設(shè)置監(jiān)聽端口,默認(rèn)listen 80(缺省站點(diǎn)只能有一個(gè));
ipv6地址(忽略)
站點(diǎn)根目錄 root /var/www/xxxx(qian); 網(wǎng)頁文件存放的地方
站點(diǎn)首頁的查找順序 index (指明-->) index.html index.htm
書寫域名 server_name www.qian.com(域名或者ip) ;
新配置文件的注意:端口,root的設(shè)置
¥¥¥所有配置文件修改以后要重啟服務(wù)器¥¥¥
5、跳轉(zhuǎn)到站點(diǎn)根目錄:cd /var/www/ (root指定的目錄)
創(chuàng)建指定根目錄存放文件的目錄sudo mkdir qian(可以修改權(quán)限sudo chown -R xml:xml qian)
進(jìn)入目錄: cd qian
編寫首頁:sudo vim index.html
6、本地dns域名劫持:(計(jì)算機(jī)首先先來這看來下域名有沒有解析 然后去外面訪問,在這里將域名攔截給本機(jī),走不出去了)
cd /etc/
修改hosts文件: sudo vim hosts
127.0.0.1(訪問地址) www.qian.com(自己設(shè)置的缺省文件名)
7、進(jìn)入 enable 目錄制作軟鏈接: 先進(jìn)入指定路徑 cd ../ cd sites-enable
制作 : sudo ln -s ../sites-available/自己的缺省文件名 文件軟鏈接名
ll查看是否成功
重啟nginx: sudo service nginx restart
或者 》》》》》》》用下面的順序:
5、進(jìn)入 enable 目錄制作軟鏈接: 先進(jìn)入指定路徑 cd ../ cd sites-enable
制作 : sudo ln -s ../sites-available/自己缺省文件名 文件軟鏈接名
ll查看是否成功
6、然后進(jìn)入etc目錄進(jìn)行攔截:cd /etc
修改hosts文件: sudo vim hosts 注意:主機(jī)名和查詢路徑的修改
7、重啟nginx:service nginx restart
8、跳轉(zhuǎn)到網(wǎng)站文件存儲(chǔ)目錄:cd 到配置文件所寫的目錄(root部分) 比如:cd /war/www/
9、創(chuàng)建存儲(chǔ)目錄:sudo mkdir 目錄名
10、書寫網(wǎng)頁內(nèi)容:cd 目錄名 --> sudo vim index.html
總結(jié):第一步建立自己的缺省文件(root指向html文件根目錄)
第二步建立缺省文件的軟鏈接
第三步創(chuàng)建root指向的html文件存放根目錄:根目錄下書寫html網(wǎng)頁內(nèi)容
第四步域名劫持,hosts里面的ip 后面跟自己設(shè)置的缺省文件名