新手談Linux
目錄:
來源: http://www.cnblogs.com/zxlovenet/p/4056354.html
什么是Linux?
維基百科上解釋說:Linux是一種自由和開放源代碼的類UNIX操作系統。只要遵循GNU通用公共許可證,任何個人和機構都可以自由地使用Linux的所有底層源代碼,也可以自由地修改和再發布。大多數Linux系統還包括了像提供GUI界面的X Window之類的程序。
Linux與UNIX的區別
Linux和UNIX的最大的區別是,前者是開發源代碼的自由軟件,而后者是對源代碼實行知識產權保護的傳統商業軟件。Linux的思想源于UNIX。Linux核心是免費的,核心代碼是開放的,UNIX的核心并不公開。
Linux與Windows比較
通俗的語言是,Linux比較開放,適合程序員,因為你可以了解到Linux的每個細節。
什么是Linux發布版?
嚴格來講,術語Linux只表示操作系統內核本身,但通常采用Linux內核來表達該意思。Linux則常用來指基于Linux內核的完整操作系統,包括GUI組件和許多其他實用工具。有些組織、公司和個人將這些整合發布,比較知名的Linux發布版有Ubuntu、RedHat、CentOS、Suse等。
一個典型的Linux發布版包括:Linux內核,一些GNU庫和工具,命令行shell,圖形界面的X窗口系統和相應的桌面環境,如KDE或GNOME,并包含數千種從辦公包,編譯器,文本編輯器,小游戲,兒童教育軟件,到科學工具的應用軟件。
眾多的Linux發行版令人眼花繚亂,新手推薦使用Ubuntu,好上手,穩定性比較好的發行版推薦Debian。
Linux應用領域
總的來說Linux應用領域廣泛,不適合普通用戶,因為Linux在桌面領域做的不好,更多的還是需要在終端下操作。不過最近幾年有了改善,我認為比Windows做的要漂亮,但是穩定性和易用性還是不如Windows,桌面環境其實還是要不斷改善的。Ubuntu下會有很多的比較炫的桌面特效。
Linux平臺工作的是在高端服務器領域。由于Linux內核具有穩定性、開放源代碼等特點,使用者不必支付大筆的使用費 用,比如Windows,所以Linux獲得了很多世界著名服務器廠商的支持。在Linux發行套件的公司中,像Redhat公司以提供服務的方式收費, 你可以購買他們提供的技術支持,或者免費使用CentOS操作系統。不過國內的操作系統環境大家都懂得。目前,常用的服務器操作系統有UNIX、 Linux和Windows。根據調查,Linux操作系統在服務器市場上的占有率已超過50%。
在嵌入式領域中,Linux內核可以根據具體應用場景進行定制和裁剪,能夠為專用硬件提供驅動程序,并在此基礎上進行開發。
Linux版本的選擇
新手最好從Ubuntu入手,也是多數用戶的選擇,界面做的很不錯,軟件種類豐富,安裝也方便。追求穩定的話建議用 Debian,需要自己去配置調整系統設置,安裝或更新自己需要的程序,對于基本的了解的Linux系統操作有很大幫助。也可以選擇Fedora,是紅帽 企業Linux的個人桌面分支,其中有很多Linux最前沿的技術,和debian、Ubuntu不是一個分支。如果想要了解Linux系統細節,產生更 深刻的理解可以選擇Arch Linux,從零開始的工程,在安裝的過程中需要靜下心來去研究,通過配置系統設置,優化系統性能的配置,去更深的了解 Linux系統。
怎么學習Linux?
這個問題其實不難回答,但是很多人沒有堅持下去。首先你確認你真的很想學和有必要學Linux,那么好,如果之前沒根本沒有 用過Linux,那你可以先在虛擬機中安裝一個Linux發行版,這里推薦Ubuntu,注意不要覺得Ubuntu不正宗,從這里入門沒有錯。然后找一本 Linux的基礎教程,像***從入門到精通、30天學會Linux系統......這一類的書籍,堅持看下去,不要間斷,學了后面的忘了前面的也沒有關 系,只要達到 遇到一個問題記得你曾經學但是忘了 這樣的效果就可以了,然后在物理機上裝上你的Ubuntu,換一本書籍再去學習,這時要多實踐,遇到問 題不要想著重裝系統,而是去想辦法解決它,這樣才能提高自己。另外記得做筆記,這個不多說,推薦為知筆記,因為有Linux、Windows和網頁版本。 記得多用,不要三天打魚兩天曬網。這些就夠了,能夠讓你入門了,至于入門之后的結果看你有什么需求了,基本上就是開發或者運維吧,不然我是不會想到用 Linux的,對了,再有就是炫耀,不過我覺得這個真的沒有什么意義,顯得你逼格很高嗎,泡沫最終會破的。
Linux系統配置
yum和apt-get源:
yum是一個基于rpm包的軟件安裝管理器,通常用于redhat、fedora、centos、SUSE等發行版 linux中。能夠從指定的服務器自動下載rpm包并且安裝,還能自動處理解決依賴關系。能夠方便的添加、刪除、更新軟件包,同時配置多個軟件資源庫,配 置文件在/etc/yum.conf。
CentOS 163軟件源:
首先備份/etc/yum.repos.d/CentOS-Base.repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
下載對應版本repo文件, 放入/etc/yum.repos.d/(操作前請做好相應備份)
CentOS5 http://mirrors.163.com/.help/CentOS5-Base-163.repo
CentOS6 http://mirrors.163.com/.help/CentOS6-Base-163.repo
運行
yum clean all
yum makecache
生成緩存
http://mirrors.163.com/.help/centos.html
apt-get是一條linux命令,適用于deb包管理式的操作系統,主要用于自動從互聯網的軟件倉庫中搜索、安裝、升級、卸載軟件或操作系統。是debian、Ubuntu發行版的包管理工具,與yum工具類似。
debian 7 163源
deb http://mirrors.163.com/debian wheezy main non-free contrib
deb http://mirrors.163.com/debian wheezy-proposed-updates main contrib non-free
deb-src http://mirrors.163.com/debian wheezy main non-free contrib
deb-src http://mirrors.163.com/debian wheezy-proposed-updates main contrib non-free
deb http://mirrors.163.com/debian-security wheezy/updates main contrib non-free
deb-src http://mirrors.163.com/debian-security wheezy/updates main contrib non-free
Kali科大軟件源
vim /etc/apt/sources.list
下面的粘帖進去。
deb http://mirrors.ustc.edu.cn/kali kali main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali main non-free contrib
deb http://mirrors.ustc.edu.cn/kali-security kali/updates main contrib non-free
然后
apt-get update 就可以了。
通過包管理器安裝與源代碼方式安裝的區別
包管理器安裝的話方便、快捷,能很輕松就用上,源碼的話需要手動編譯,會遇到很多問題,比如包依賴問題。
包管理器安裝的軟件版本比較舊,編譯參數不適合自己的業務,而源碼安裝相對靈活,可以指定版本、模塊、路徑等。
如果是新手還是推薦通過包管理器安裝,能很快上手,只需要了解相關的管理命令就可以了。如果做開發的話入門學習也是合適的,如果開發相對高級的話可能就需要源代碼方式安裝了。
最終的目標還是要選擇好的解決方案。
Linux常用命令
man :任何時候你覺得對一個命令行不是很確定,都可以通過輸入“man + 命令”來了解這個命令能確切是做什么的。
ls :列出目錄內容。
pwd :在終端中顯示當前工作目錄的全路徑。
cd :要變更你當前所在的目錄。
mkdir :創建一個新的目錄。
cp :復制文件/重命名文件。
mv :移動文件。
find 和 locate:搜索文件。
kill :快速關閉一個進程。
passwd :更改密碼。 -9 表示強迫進程立即停止
md5sum :計算和檢驗MD5信息簽名
history :查詢歷史記錄命令。
sudo :(super user do)命令允許授權用戶執行超級用戶或者其它用戶的命令。
touch :創建一個新文件,或者將文件的訪問和修改時間更新為當前時間。
chmod :修改文件的訪問權限。
chown :改變文件擁有者和所在用戶組。
apt :APT是一個為Debian系列系統(Ubuntu,Kubuntu等等)開發的高級包管理器,在Gnu/Linux系統上,它會為包自動智能地搜索、安裝、升級以及解決依賴問題。
find:查找文件或文件夾命令:find / -name filename
chkconfig:chkconfig --list | grep vsftpd 顯示默認在哪個級別上啟動
chkconfig vsftpd on
chkconfig --list | grep vsftpd
ps -aux | grep fiefox 顯示所有進程狀態 -ef 查看進程信息
netstat -tp #查看網絡連接命令
service --status-all #查看系統服務狀態
目前就先總結這么多吧。
包依賴性問題
不論是Linux新手還是老手,在安裝和編譯軟件包的過程中或多或少的都會遇到包依賴性的問題。依賴性問題是由于程序依賴程 序代碼共享庫,沒有共享庫,程序員每次開發新的程序,都要從頭開始重寫這些基本的系統操作。當編譯程序時,程序員將他的代碼鏈接到這些庫。如果鏈接是靜態 的,編譯后的共享庫對象代碼就添加到程序執行文件中;如果是動態的,編譯后的共享庫對象代碼只在運行時需要它時由程序員加載。動態可執行文件依賴于正確的 共享庫或共享對象來進行操作。rpm依賴性嘗試在安裝時強制實施動態可執行文件的共享對象需求,以便在以后當程序運行時不會有與動態鏈接過程有關的任何問 題。
也就是說在通過包管理器安裝的過程中,會自動解決依賴性問題,安裝程序的同時安裝依賴程序。如果是源碼安裝就需要自己去解決依賴性問題。
Linux存儲系統
在Linux中普通文件和目錄文件保存在稱為塊物理設備的磁盤或者磁帶上。一套Linux系統支持若干物理盤,每個物理盤可定義一個或者多個文件系統。Linux的文件系統主要是ext4、ext3和Windows的fat32、ntfs是不一樣的。
linux、unix這類操作系統將系統中的一切都作為文件來管理。在Windows中我們常見的硬件設備、磁盤分區等,在linux、unix中都被視作文件,對設備、分區的訪問就是讀寫對應的文件。
掛載點實際上就是linux中的磁盤文件系統的入口目錄,類似于Windows中的用來訪問不同分區的C:、D:、E:等盤符。其實winxp也支持將一個磁盤分區掛在一個文件夾下面,只是我們C:、D:這樣的盤符操作用慣了,一般沒有將分區掛到文件夾。掛載點
在Windows操作系統中,是先將物理地址分開,再在分區上建立目錄.在Windows操作系統中,所有路徑都是從盤符開始,如C://program file。
Linux正好相反,是先有目錄,再將物理地址映射到目錄中。在Linux操作系統中,所有路徑都是從根目錄開始。Linux默認可分為3個分區,分別是boot分區、swap分區和根分區。
未完待續 歡迎點贊:目錄
Q Q: 121866673
QQ群: 313686804(驗證:博客園)
來源: http://zxlovenet.cnblogs.com
聲明: 本文原創發表于博客園,作者為初行本文歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則視為侵權。