Linux基礎及入門介紹linux
1、linux發展歷程shell
①1969年unix誕生貝爾實驗室數據庫
②譚寧邦:minix unixvim
③斯托曼(stallman),公司:自由軟件基金會(FSF)windows
項目:GNUcentos
規則:GPL(全部人能夠自由傳播,自由修改)安全
④斯托曼:91年開發出linux內核。bash
2、如何選擇linux的發行版本服務器
(一)linux桌面系統網絡
①Ubuntu(烏班圖),開發人員開發平臺
②服務器linux系統:
redhat,centos(去掉redhat收費軟件,去掉紅帽裏面的log)
③安全性較高:debian,freedsd
④數據庫高級服務:openSUSE
⑤新技術、新功能:Fedora(穩定性:Fedora》redhat》centos)
⑥中文版本:紅旗linux,麒麟linux。
3、企業標準選擇系統
(一)系統分類
centos6.,centos7.
官網爲:Centos.org
國內鏡像網站:mirrors.aliyun.com
鏡像源解釋:
LiveDVD:體驗版,寫入到光盤中個,刻錄到u盤中。
bin-DVD:生產中使用的。
torrent:下載種子。
(二)系統位數區別及虛擬機
32位和64位區別
①設計時候定位不一樣。
②安裝配置要去不一樣。
③運算速度不一樣。
④尋址能力不一樣。
4、虛擬機
在一臺計算機上,虛擬出多臺計算機。
(一)學習環境的選擇與推薦配置
Win7/10,intel i5以上cpu,內存8G以上,硬盤500G
虛擬機版本選擇:
windows:Vmware 8.0/12
mac:vmware fusion
(二)虛擬機建立(vmware)
建立新的虛擬機--自定義--稍後安裝操做系統--linux/redha/centos--虛擬機名稱、虛擬機存放位置(vmware)--處理器配置(默認)--內存設置(大於1G)--網絡類型(推擠nat)--磁盤(默認)-建立一個新的磁盤--指定磁盤容量(20G)--指定磁盤位置。
(三)虛擬機常見問題
①權限不夠:右擊以管理員身份運行
②編輯虛擬機配置:
CD/DVD:使用ISO讀取文件,選擇鏡像所在的位置。
③點擊運行虛擬機
Inter-vt-x不支持。
重啓計算機後-F1,F2 進入安全模式:
security-vitualizaition-vitualizaition(開啓)
vmware 相關windows服務沒有開啓:
services.msc 啓動全部vmware
(四)企業級標準安裝centos系統
運行虛擬機:選擇
①install or upgrade an existing system
rescue installled system 啓動救援模式
②media found --skip
③語言選擇:English
④鍵盤:默認
⑤安裝硬件存儲類型:basic storage device
⑥hostname:centos6.9
⑦時區:上海
⑧設置root密碼:123456
⑨分區:
use all space 使用全部空間
replace existing linux system 替換現有linux系統
shrink current system 縮小現有系統
use free space 使用剩餘空間
***create custom layout 建立自定義佈局
/boot 引導系統啓動--200M
swap --內存的1.5倍。交換分區,臨時做爲內存使用
/ 根分區,剩餘多少給多少。一切從根開始(c盤)。
點擊(分區3次,點擊3次):Free,選擇分區,force to be primary partion。--format(格式化)
選擇安裝方式安裝系統:minmal 最小化,customize now(自定義)
base system:base,cmpatibility libraries,debugging tools
deveplopment:deveplopment tools
reboot (重啓)
配置虛擬機網絡:
vmware 編輯虛擬網絡編輯器:點擊nat模式
(五)Linux網絡配置
網絡配置:
①setup-②network-configuration-③device conf -④eth0-⑤network configuration(去掉型號,按空格)-⑥ok-⑦save-⑧saveandquit-⑨quit
網卡的配置生效:
重啓網卡:ifdown eth0;ifup eth0
查看網卡信息:ifconfig
(六)xshell 安裝與優化
經常使用登錄登錄工具:xshell,secureCRT,putty
文件-屬性:進行個性化設置
工具-選項:文件存儲位置
登錄失敗問題排除:
ip地址+端口(22)
vmware 的3種的網絡模式
①電腦pc--皇帝
②虛擬機--貧民百姓
貧民百姓只關注誰給分配房子。
NAT模式:
①電腦pc---皇帝
②nat----宰相
③虛擬機---貧民百姓
貧民百姓的房子是宰相分配的,與皇帝無關。
虛擬機的ip是nat分配的,電腦環境不管怎麼變化,都不會影響虛擬機。
好處:不管何處,鏈接虛擬機均可以使用相同的IP。
橋接模式:
①電腦pc--皇帝
②虛擬機--貧民百姓
只要更換環境,電腦和虛擬機的ip地址都會變化。
僅主機模式:
①電腦pc--皇帝
②虛擬機--貧民百姓
虛擬機貧民百姓被控制了,沒法與外界聯繫,沒法上網。
遠程鏈接排錯:屌絲去洗浴中心之路
①查看道路是否暢通
ping服務器的ip地址(本地shell進行ping測試)
②是否有人打劫
③查看是否提供服務
本地測試:telnet ip 端口
5、知識回顧
(一)基礎知識
1.1解釋下什麼是GPL,GNU,自由軟件
GNU:GNU is not unix
自由軟件:gawk,bash,gcc,cmacs
GPL:通用許可證
1.2.如何選擇linux操做系統發行版本?
redhat ,centos
1.3linux下面進行分區的幾種方法?
/boot 引導分區
swap 交換分區
/ 根目錄
1.4遠程鏈接排錯問題?
使用ping和telnet命令在本地進行測試:ip和端口。
(二)初次接觸linux必會規則
[root@centos6-kvm2 ~]#
用戶名,主機名,當前位置,提示符
linux系統命令操做語法的命令
命令和參數之間要有空格。
6、linux使用命令
/ 一切從根從開始。(斜線方向和win相反)
(1)建立一個目錄(directory):
mkdir /data
ls #list 列表,顯示目錄裏面的內容。
ls -l /data #查看目錄裏詳細信息(tap鍵能夠自動補全)。
(2)進入到某個目錄:
cd /data
絕對路徑:從根開始的路徑,最前面有個/,如:/data,/etc/hosts
相對路徑:不是從根目錄開始,前面無/。
pwd #查看當前目錄位置。
(3)建立文件:
touch /data/oldboy.txt
ls -l /data/
(4)編輯文件內容
vim /data/oldboy.txt
編輯文件:i
保存編輯文件:esc ,:wq!(q!強制退出,不保存編輯內容)。
(5)查看文件內容
查看編輯文件的內容:cat /data/oldboy.txt
(6) echo 命令使用
echo hello world
將內容追加到文件最後一行:(》重定向符號)
echo hello world >>/data/oldboy.txt
⑥在文件中放入多行內容
cat >>/data/oldboy.txt<<EOF
i
am
。。。
EOF(end of file ,也可使用其餘符號,和上面配對使用便可)
(7)重定向符號
標準輸出重定向(>),將文件內容清空後再寫入。
追加劇定向(>>),把內容放在文件最後一行。
重定向符號前有1(1>>,1>),將正確的內容重定向至文件。
重定向符號前有2(2>,2>>),將錯誤的內容重定向至文件。(錯誤命令執行的結果),如:eho hello >>/data/oldboy.txt 2>>/data/oldboy.txt。能夠簡寫成:eho hello >> /data/oldboy.txt 2>&1 #把錯誤的對的信息都放入。
小於號(<):輸入重定向
xargs #分組命令
[root@centos6-kvm2 ~]# mkdir /data [root@centos6-kvm2 ~]# touch /data/num.txt [root@centos6-kvm2 ~]# echo 1 2 3 4 5 >>/data/num.txt [root@centos6-kvm2 ~]# xargs -n2 </data/num.txt 1 2 3 4 5 [root@centos6-kvm2 ~]#
兩個大魚號(>>):
[root@centos6-kvm2 ~]# cat >> /data/num.txt << EOF > I AN > STUDING > LINX > EOF [root@centos6-kvm2 ~]#
(8)複製(cp)
複製文件:
cp /data/oldboy.txt /data/num.txt
備份:
cp /data/oldboy.txt /data/oldboy.txt .bak
複製目錄:
cp /data /temp (omitting directory 忽略這個目錄)
cp -r /data /temp (遞歸複製)
複製目錄也能夠:cp -a /data /tmp (-a,-pdr,複製全部:-p保持屬性)
(9)將文件移動(mv,剪切)
mv /data/oldboy.txt /temp
ls -l /data/oldboy.txt
注意:vmware快照功能。
(10)進入目錄刪除文件
cd /tmp/data
ls -l #查看當前目錄內容
rm oldboy.txt #-f,強制刪除
rm -r /data #刪除目錄-r,-rf強制刪除
注意:快捷鍵
ctrl +c #退出
ctrl + l #清屏
(11)find 命令使用
find /root/ -type f -name "oldboy.txt"
-type :類型,f文件,d目錄
-name :名字,使用雙引號。範圍查找:「*.txt」
管道符:|,把前面命令的結果,傳遞給後面的命令。管道符和xargs 搭檔使用。
[root@centos6-kvm2 /]# find /data/ -type f -name "num.txt" | xargs ls -l -rw-r--r-- 1 root root 28 Dec 11 00:01 /data/num.txt [root@centos6-kvm2 /]#
(12)退出至上一級目錄
cd ..#退至上一級目錄
cd ../#退至根目錄
注意:(.)一個點表示當前目錄。
(13)刪除文件中固定的內容
grep :查找內容所在的行,-v,取相反的內容
[root@centos6-kvm2 /]# grep -v 'AM' /data/num.txt
head #默認取前10行,-nxx,取前xx行。
[root@centos6-kvm2 /]# head /data/num.txt -n 2
tail:#默認取後10行,-nxx,取後xx行。
[root@centos6-kvm2 /]# tail -2 /data/num.txt
awk:過濾,!表示取反。
[root@centos6-kvm2 /]# awk '!/OLDBOY/' /data/num.txt
sed:過濾
[root@centos6-kvm2 /]# sed '/OLDBOY/d' /data/num.txt
(14)使用一條命令建立目錄(多級)
mkdir -p /oldboy/test #-p,建立多級命令;-v顯示建立過程。
(15)已知tmp下已經存在test.txt文件,如何執行命令才能把/mnt/test.txt拷貝到tmp下覆蓋掉/tmp/test.txt,而讓系統不提示是否覆蓋(root權限下)。
強制:不提示確認鍵
方法1:反斜線
方法2:使用命令的絕對路徑,全路徑(如:which cp)
-i #命令提示參數,linux別名中帶有-i
linux別名:防止危險命令,簡化命令。
臨時設置linux別名:
查看系統中別名:alias cp
配置別名:
執行rm 讓其顯示 do not rm:
alias rm='echo do not rm'
永久設置linux別名:
vim /etc/profile
alias rm='echo do not rm'
source /etc/profile #使其生效。
移動光標至最後一行:G
移動光標至第一行:gg
在光標所在位置的下一行插入一行,並進入編輯模式:o
在vim /root/.bashrc 中有:rm,cp,mv -i的別名,若是要修改,須要將這個文件中的別名註釋掉。
命令前加,臨時取消別名。
(16)取出某一行或者多行
sed -n '20p' /data/num.txt
sed 默認取出全部內容,-n參數,只取出所選擇的內容。
[root@centos6-kvm2 /]# sed -n '10,15p' /data/num.txt [root@centos6-kvm2 /]# sed -n '10p' /data/num.txt
head +tail組合:
[root@centos6-kvm2 /]# head -15 /data/num.txt | tail -5
awk:
[root@centos6-kvm2 /]# awk 'NR==10,NR==15' /data/num.txt 1 1 1 1 4 [root@centos6-kvm2 /]# sed -n '10,15p' /data/num.txt 1 1 1 1 4 [root@centos6-kvm2 /]#
小結:
1取出文件某一行
awk:三劍客之老三,擅長取列,NR表示行號。
sed :三劍客之老二,取行,與p配合使用。-n取消默認輸出
'10p','10,15p'
head + tail組合使用。
grep -A10,找到顯示的內容及接下來的行。
(17)替換文件工做
找出文件
find /data/ -type f -name '*.text'
把oldboy文件的內容替換成oldgirl
[root@centos6-kvm2 /]# sed -i 's#OLDBOY#OLDGIRL#g' /data/num.txt
把find命令找到內容交給後面命令處理
[root@centos6-kvm2 /]# find /data/ -type f -name num.txt | xargs sed -i 's#OLDBOY#OLDGIRL#g' /data/num.txt
注意:linux命令幫助,man 命令