最近剛剛?cè)肼毸ψ浚鞣N事情都要處理鸠匀,對(duì)于新入職場(chǎng)的小白來(lái)說(shuō),確實(shí)各種的吃力逾柿,對(duì)于程序員這個(gè)職業(yè)缀棍,仁者見仁,智者見智机错。雖然剛進(jìn)公司爬范,工作上的事情還不清楚,但是可以肯定的是弱匪,對(duì)于Linux的學(xué)習(xí)和要求很高青瀑,也要相當(dāng)?shù)氖煜ぃ约涸谏蠈W(xué)期間,雖然看過(guò)一些簡(jiǎn)單的命令狱窘,但對(duì)于工作來(lái)說(shuō)還是有點(diǎn)捉襟見肘杜顺,因此,在接下來(lái)的時(shí)間蘸炸,平臺(tái)會(huì)不定期的更新Linux的基礎(chǔ)知識(shí)躬络,包括自己在工作學(xué)習(xí)到的技巧,以及一些基礎(chǔ)的知識(shí)搭儒,同時(shí)也會(huì)轉(zhuǎn)載相關(guān)好的文章穷当。當(dāng)然自己也知道做公眾號(hào)不容易,但相信自己要做起來(lái)淹禾,不僅僅是督促自己學(xué)習(xí)馁菜,更重要的是讓自己能夠把知道的了解的都記錄下來(lái),也算是一種知識(shí)的共享铃岔。
今天汪疮,先從Linux的基礎(chǔ)知識(shí)開始。以后為了方便記憶毁习,采用思維導(dǎo)圖的方式進(jìn)行Linux的學(xué)習(xí)智嚷。Linux的版本信息,以及Ubuntu版本命名的方法
主要從下面幾個(gè)內(nèi)容進(jìn)行解釋:
1>. 命令解析器
2>. Linux快捷鍵
3>. Linux 系統(tǒng)目錄結(jié)構(gòu)
4>. 用戶目錄
5>. 文件和目錄操作
6>. 文件和目錄的屬性
7>. 文件權(quán)限, 用戶, 用戶組
8>. 文件的查找和檢索
9>. 軟件的安裝和卸載
10>. U盤的掛載和卸載
1. 命令解析器:
shell -- unix操作系統(tǒng)
bash -- Linux操作系統(tǒng)
本質(zhì): 根據(jù)命令的名字, 調(diào)用對(duì)應(yīng)的可執(zhí)行程序
2. Linux 快捷鍵
1>. 命令和路徑補(bǔ)齊:
2>. 主鍵盤快捷鍵:
1). 歷史命令切換:
歷史命令:
向上遍歷:
向下遍歷:
2). 光標(biāo)移動(dòng):
向左:
向右:
移動(dòng)到頭部:
移動(dòng)到尾部:
3). 刪除字符:
刪除光標(biāo)后邊的字符:
刪除光標(biāo)前邊的字符:
刪除光標(biāo)前的所有內(nèi)容:
3. Linux系統(tǒng)目錄結(jié)構(gòu):
1>. 根目錄:
2>. /bin:
3>. /dev:
4>. /etc:
5>. /home:
6>. /lib:
7>. /media:
8>. /mnt:
9>. /root:
10>. /usr:
4. 用戶目錄:
1>. 絕對(duì)路徑: 從根目錄開始寫 /home/itcast/aa
2>. 相對(duì)路徑: bb 相對(duì)于當(dāng)前的工作目錄而言
. -> 當(dāng)前目錄
.. -> 當(dāng)前的上一級(jí)目錄
- -> 在臨近的兩個(gè)目錄直接切換 cd -
3>. itcast@ubuntu:~$
itcast: 當(dāng)前登錄用戶
@: at 在
ubuntu: 主機(jī)名
~: 用戶的家目錄(宿主目錄)
$: 當(dāng)前用戶為普通用戶
#: 超級(jí)用戶 -- root
5. 文件和目錄操作
1>. 查看我的資產(chǎn)(目錄)
1). tree -- 必須安裝該軟件
2). ls -la
2>. 在情人和前妻之間徘徊:
cd 情人目錄
cd
回家安撫老婆孩子: (三種回家方式)
cd /home/aaa
cd ~
cd
查看我當(dāng)前是在老婆, 前妻, 還是情人的床上:
pwd
3>. 給情人買房子(創(chuàng)建目錄)
一間小屋: mkdir dirName
一套別墅: mkdir dir/dir1/dir2 -p
4>. 趁前妻不在的時(shí)候賣掉前妻的一間房子: 刪除空目錄
5>. 給妻子買一個(gè)和田玉的手鐲:
6>. 沒收情人的所有財(cái)產(chǎn):
別墅:
首飾:
7>. 給妻子置辦一份財(cái)產(chǎn), 跟情人的一模一樣
8>. 妻子查看清單中的內(nèi)容(5種方式):
9>. 妻子使用了黑科技, 不管在哪兒都能迅速來(lái)到我身邊(快捷方式):
10>. 妻子將我的財(cái)產(chǎn)做了備份
6. 文件或目錄屬性: (理解內(nèi)容, 非重點(diǎn))
1>. wc
2>. od
3>. du
4>. df
7. 文件權(quán)限, 用戶, 用戶組
1>. 查看當(dāng)前登錄用戶:
2>. 修改文件權(quán)限:
1). 文字設(shè)定法: chmod [who] [+|-|=] [mode]
who:
文件所有者: u
文件所屬組: g
其他人:? ? o
所有的人:? a
+: 添加權(quán)限:
-: 減少權(quán)限
=: 覆蓋原來(lái)的權(quán)限
mode:
r: 讀
w: 寫
x: 執(zhí)行
2). 數(shù)字設(shè)定法:
- : 沒有權(quán)限
r: 4
w: 2
x: 1
765
7 -- rwx -- 文件所有者
6 -- rw -- 文件所屬組
5 -- rx -- 其他人
3>. 改變文件或目錄的所有者或所屬組:
4>. 改變文件或目錄所屬的組:
8. 查找和檢索
1>. 按文件屬性查找:
1). 文件名:find + 查找的目錄 + -name + "文件的名字"
2). 文件大小: find + 查找目錄 + -size + +10k
3). 文件類型: find + 查找目錄 + -type + d/f/b/c/s/p/l
2>. 按文件內(nèi)容查找:
grep -r "查找的內(nèi)容" + 查找的路徑
9. 軟件的安裝和卸載
1>. 在線安裝:
2>. deb包安裝:
3>. 源碼安裝:
案例: 安裝 svn
a. ./configure? --prefix=/usr/local/apr-util? --with-apr=/usr/local/apr
b. make
c. sudo make install
10. U盤的掛載和卸載
歷史命令向上滾動(dòng): ctrl+p
? ? ? ? 下:? ? ? ctrl +n
刪除光標(biāo)后邊的字符: 光標(biāo)覆蓋的字符 ctrl+d
? ? ? ? 前..: ctrl+h? backspace
? ? ? ? 行首: ctrl+a
? ? ? ? 行尾: ctrl+e
tab: 自動(dòng)補(bǔ)齊
根目錄: /
ls aa
tree
ls -la
cd .
cd ..
cd /home/itcast
cd ~
cd
cd -
mkdir aa
mkdir aa/bb/cc -p
rmdir -- del kong
rm -r dir
touch a.txt
rm a.txt
cp a.txt b.txt
cp dir1 dir2 -r
cat
more
less
head
tail
上面簡(jiǎn)要說(shuō)一下系統(tǒng)層面簡(jiǎn)單的命令和使用方式:
下面我們介紹一下Linux的目錄結(jié)構(gòu):
以下是對(duì)這些目錄的解釋:
/bin:
bin是Binary的縮寫, 這個(gè)目錄存放著最經(jīng)常使用的命令纺且。
/boot:
這里存放的是啟動(dòng)Linux時(shí)使用的一些核心文件盏道,包括一些連接文件以及鏡像文件。
/dev :
dev是Device(設(shè)備)的縮寫, 該目錄下存放的是Linux的外部設(shè)備载碌,在Linux中訪問設(shè)備的方式和訪問文件的方式是相同的猜嘱。
/etc:
這個(gè)目錄用來(lái)存放所有的系統(tǒng)管理所需要的配置文件和子目錄。
/home:
用戶的主目錄嫁艇,在Linux中朗伶,每個(gè)用戶都有一個(gè)自己的目錄,一般該目錄名是以用戶的賬號(hào)命名的裳仆。
/lib:
這個(gè)目錄里存放著系統(tǒng)最基本的動(dòng)態(tài)連接共享庫(kù)腕让,其作用類似于Windows里的DLL文件。幾乎所有的應(yīng)用程序都需要用到這些共享庫(kù)歧斟。
/lost+found:
這個(gè)目錄一般情況下是空的纯丸,當(dāng)系統(tǒng)非法關(guān)機(jī)后,這里就存放了一些文件静袖。
/media?????? linux系統(tǒng)會(huì)自動(dòng)識(shí)別一些設(shè)備觉鼻,例如U盤、光驅(qū)等等队橙,當(dāng)識(shí)別后坠陈,linux會(huì)把識(shí)別的設(shè)備掛載到這個(gè)目錄下萨惑。
/mnt:
系統(tǒng)提供該目錄是為了讓用戶臨時(shí)掛載別的文件系統(tǒng)的,我們可以將光驅(qū)掛載在/mnt/上仇矾,然后進(jìn)入該目錄就可以查看光驅(qū)里的內(nèi)容了庸蔼。
/opt:
?這是給主機(jī)額外安裝軟件所擺放的目錄。比如你安裝一個(gè)ORACLE數(shù)據(jù)庫(kù)則就可以放到這個(gè)目錄下贮匕。默認(rèn)是空的姐仅。
/proc:
這個(gè)目錄是一個(gè)虛擬的目錄,它是系統(tǒng)內(nèi)存的映射刻盐,我們可以通過(guò)直接訪問這個(gè)目錄來(lái)獲取系統(tǒng)信息掏膏。
這個(gè)目錄的內(nèi)容不在硬盤上而是在內(nèi)存里,我們也可以直接修改里面的某些文件敦锌,比如可以通過(guò)下面的命令來(lái)屏蔽主機(jī)的ping命令馒疹,使別人無(wú)法ping你的機(jī)器:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
/root:
該目錄為系統(tǒng)管理員,也稱作超級(jí)權(quán)限者的用戶主目錄乙墙。
/sbin:
s就是Super User的意思颖变,這里存放的是系統(tǒng)管理員使用的系統(tǒng)管理程序。
/selinux:
?這個(gè)目錄是Redhat/CentOS所特有的目錄听想,Selinux是一個(gè)安全機(jī)制悼做,類似于windows的防火墻,但是這套機(jī)制比較復(fù)雜哗魂,這個(gè)目錄就是存放selinux相關(guān)的文件的。
/srv:
?該目錄存放一些服務(wù)啟動(dòng)之后需要提取的數(shù)據(jù)漓雅。
/sys:
?這是linux2.6內(nèi)核的一個(gè)很大的變化录别。該目錄下安裝了2.6內(nèi)核中新出現(xiàn)的一個(gè)文件系統(tǒng) sysfs 。
sysfs文件系統(tǒng)集成了下面3種文件系統(tǒng)的信息:針對(duì)進(jìn)程信息的proc文件系統(tǒng)邻吞、針對(duì)設(shè)備的devfs文件系統(tǒng)以及針對(duì)偽終端的devpts文件系統(tǒng)组题。
該文件系統(tǒng)是內(nèi)核設(shè)備樹的一個(gè)直觀反映。
當(dāng)一個(gè)內(nèi)核對(duì)象被創(chuàng)建的時(shí)候抱冷,對(duì)應(yīng)的文件和目錄也在內(nèi)核對(duì)象子系統(tǒng)種被創(chuàng)建崔列。
/tmp:
這個(gè)目錄是用來(lái)存放一些臨時(shí)文件的。
/usr:
?這是一個(gè)非常重要的目錄旺遮,用戶的很多應(yīng)用程序和文件都放在這個(gè)目錄下赵讯,類似與windows下的program files目錄。
/usr/bin:
系統(tǒng)用戶使用的應(yīng)用程序耿眉。
/usr/sbin:
超級(jí)用戶使用的比較高級(jí)的管理程序和系統(tǒng)守護(hù)程序边翼。
/usr/src:內(nèi)核源代碼默認(rèn)的放置目錄。
/var:
這個(gè)目錄中存放著在不斷擴(kuò)充著的東西鸣剪,我們習(xí)慣將那些經(jīng)常被修改的目錄放在這個(gè)目錄下组底。包括各種日志文件丈积。
在linux系統(tǒng)中,有幾個(gè)目錄是比較重要的债鸡,平時(shí)需要注意不要誤刪除或者隨意更改內(nèi)部文件江滨。
/etc: 上邊也提到了,這個(gè)是系統(tǒng)中的配置文件厌均,如果你更改了該目錄下的某個(gè)文件可能會(huì)導(dǎo)致系統(tǒng)不能啟動(dòng)唬滑。
/bin, /sbin, /usr/bin, /usr/sbin: 這是系統(tǒng)預(yù)設(shè)的執(zhí)行文件的放置目錄,比如 ls 就是在/bin/ls 目錄下的莫秆。
值得提出的是间雀,/bin, /usr/bin 是給系統(tǒng)用戶使用的指令(除root外的通用戶),而/sbin, /usr/sbin 則是給root使用的指令镊屎。
/var: 這是一個(gè)非常重要的目錄惹挟,系統(tǒng)上跑了很多程序,那么每個(gè)程序都會(huì)有相應(yīng)的日志產(chǎn)生缝驳,而這些日志就被記錄到這個(gè)目錄下连锯,具體在/var/log 目錄下,另外mail的預(yù)設(shè)放置也是在這里用狱。
更多交流可以關(guān)注微信公眾號(hào):程序員職場(chǎng)