linux運(yùn)維基礎(chǔ)(筆記)

一妈拌、VMware的使用和Linux系統(tǒng)的安裝
1迟杂、VMware的快照棺禾、掛起的作用

快照:保存某一個(gè)狀態(tài)缀蹄,連命令行的輸入都可以重現(xiàn),比如在實(shí)驗(yàn)是架設(shè)了http服務(wù)器進(jìn)行快照可以保存初始狀態(tài),以防在設(shè)置時(shí)出現(xiàn)問題還要從頭裝的麻煩

掛起:暫停(保持在某一個(gè)狀態(tài))缺前,比如在試驗(yàn)后長時(shí)間不用但是等會(huì)又需要開啟虛擬機(jī)可以使用掛起

2蛀醉、關(guān)于虛擬機(jī)的幾種網(wǎng)絡(luò)設(shè)置所使用的網(wǎng)卡情況

虛擬機(jī):橋接模式 <---------------->宿主機(jī):物理網(wǎng)卡
橋接模式虛擬機(jī)使用的就是宿主機(jī)的的物理網(wǎng)卡,跟宿主機(jī)的網(wǎng)段是一樣的

虛擬機(jī):NAT模式 <---------------->宿主機(jī):VMware Network Adapter VMnet8
NAT模式使用了網(wǎng)絡(luò)地址裝換衅码,使用的VMware net 8這塊網(wǎng)卡拯刁,有時(shí)候需要自己在網(wǎng)絡(luò)--更改適配器來手動(dòng)啟動(dòng)這塊網(wǎng)卡

虛擬機(jī) :僅主機(jī)<---------------->宿主機(jī):VMware Network Adapter VMnet1
使用的VMware net 1這塊網(wǎng)卡,有時(shí)候需要自己在網(wǎng)絡(luò)--更改適配器來手動(dòng)啟動(dòng)這塊網(wǎng)卡

關(guān)于這幾種模式的虛擬機(jī)的ip地址設(shè)置可以手動(dòng)設(shè)置逝段,就在VMware的編輯--虛擬網(wǎng)絡(luò)編輯器

3垛玻、如果有時(shí)候Linux無法聯(lián)網(wǎng),可以ifconfig檢查是否分配了IP地址奶躯,有時(shí)候我們自己沒有設(shè)置手動(dòng)分配IP地址的話就需要dhclient來獲取一個(gè)ip或者自己手動(dòng)更改自動(dòng)獲取ip的設(shè)置


二帚桩、操作系統(tǒng)概念

1、操作系統(tǒng)嘹黔,帶有很多外圍程序的系統(tǒng)账嚎、


OS.png

2、程序分為直接作用到硬件上儡蔓,有些直接作用到內(nèi)核上(效率高)

3郭蕉、API:application program interface 應(yīng)用程序接口

4、隨系統(tǒng)一起啟動(dòng)
不隨系統(tǒng)一起啟動(dòng)應(yīng)用程序:交互式應(yīng)用程序(用戶使用時(shí)根據(jù)需要啟動(dòng)應(yīng)用程序)

5浙值、Linux版本號(內(nèi)核版本號):三部分組成
內(nèi)核版本:3.6.28
3是主版本號
6是次版本號(奇數(shù)代表是開發(fā)版恳不,偶數(shù)是發(fā)行版本)、
28代表第多少次修訂

6开呐、關(guān)于開發(fā)流程
開發(fā)--內(nèi)測(修復(fù)漏洞烟勋,開發(fā)新功能)--公測--正式版本生成(正式上線)

7、[root@www ~] #
root:當(dāng)前登陸的用戶名
www:主機(jī)名
~:當(dāng)前用戶所處目錄(~代表用戶宿主目錄) ps:這里發(fā)現(xiàn)了一個(gè)小東西筐付,如果在開頭行打出“”會(huì)不顯示卵惦,要在前加一個(gè)\,才會(huì)正確顯示~瓦戚,應(yīng)該是編碼問題
#:代表當(dāng)前用戶是管路員 ps:出現(xiàn)了同上的問題

如果是普通用戶最后顯示的是$沮尿,代表當(dāng)前登錄用戶是普通用戶


三、Linux設(shè)計(jì)哲學(xué)

1较解、遠(yuǎn)程登錄Linux工具有很多比如xshell畜疾,putty,CRT

其中xshell的使用可以直接輸出 ssh 10.10.10.137 印衔,這種格式連接遠(yuǎn)程登錄

2啡捶、sheel的作用 shell:殼

sheel:使用者和計(jì)算機(jī)交互的接口(人機(jī)交互接口)
sheel中輸入命令,sheel把命令傳遞給內(nèi)核奸焙,內(nèi)核把命令結(jié)果反饋給sheel瞎暑,人從sheel中讀取命令執(zhí)行結(jié)果

內(nèi)核的調(diào)用可以來至圖形界面彤敛、字符界面兩種方式的調(diào)用

Linux支持的sheel:bash(Linux默認(rèn)支持的sheel)、ksh了赌、csh

3墨榄、內(nèi)核的作用

進(jìn)程的管理:進(jìn)程(要執(zhí)行的任務(wù)程序)
內(nèi)存的管理
文件系統(tǒng):存儲(chǔ)設(shè)備上存儲(chǔ)數(shù)據(jù)的方式方法:(NTFS、FAT32勿她、xfs等只是存儲(chǔ)數(shù)據(jù)的方式不一樣袄秩,就像裝水的水杯一樣,只是杯子的形狀不一樣逢并,但是數(shù)據(jù)實(shí)質(zhì)上是一樣的)
--Windows:NTFS播揪、FAT32 (FAt32最多支持2T的數(shù)據(jù)存儲(chǔ))
--Linux:ext3、ext4筒狠、xfs等
網(wǎng)絡(luò)功能:管理IP地址信息等
硬件驅(qū)動(dòng):
安全功能:

4、Linux設(shè)計(jì)思想
--a.由很多的小程序組成箱沦,每一個(gè)小程序完成單一的功能辩恼,實(shí)現(xiàn)復(fù)雜的任務(wù)(http服務(wù)需要安裝很多小組件)
--b.一切皆文件:所有的外圍設(shè)備(硬件)或者其他程序都是以文件的形式存在,比如硬盤外接設(shè)備等
--c.盡量避免捕獲用戶接口
--d.配置文件保存為純文本格式(可以用文本編輯器編輯谓形,如vim)

5灶伊、Linux終端:多用戶多任務(wù)系統(tǒng)
Linux一共有6個(gè)字符終端,按Ctrl+Alt+F1--F6可以切換
退出當(dāng)前終端:exit

6寒跳、Linux界面:
--GUI:graphical user interface:圖形用戶接口(圖形界面) 切換圖形界面到字符界面:Ctrl+Alt+F7
--CLI:command line interface:命令行接口(字符界面)

Linux的六個(gè)終端是基于字符界面聘萨,GUI圖形界面(常用的圖形界面的幾種類型:GNOME(Linux默認(rèn)的圖形界面,C語言開發(fā)的)童太,KDE(C++開發(fā)的)米辐,xface(簡化的輕量級的圖形界面))

7、用戶名和密碼是用戶獲取資源的憑證

8书释、切換用戶su(switch user)
su命令:root用戶切換到普通用戶時(shí)不需要密碼翘贮,但是普通用戶切換到root用戶時(shí)需要密碼
退出當(dāng)前用戶exit

9、Linux命令格式:
--命令字 [選項(xiàng)] [命令作用對象] (括號中的表示可以省略不寫)
---命令字:唯一的爆惧,實(shí)現(xiàn)某一功能的口令(ps:發(fā)現(xiàn)一個(gè)功能狸页,就是在緊跟下一行只打---就會(huì)把上一行加粗顯示,而先空行在打---就會(huì)出現(xiàn)分割線)
---選項(xiàng):修改命令的執(zhí)行方式(實(shí)現(xiàn)待定的功能扯再,比如ls的顯示隱藏文件顯示修改時(shí)間文件大小等功能)


windows中的庫文件名字dll:dynamic link library
Linux共享庫名稱 .so:shared object

內(nèi)核版本號和發(fā)行版本號是不一樣的芍耘,比如centos 6 等內(nèi)核版本號不是6


結(jié)構(gòu).png

Linux操作系統(tǒng)中中系統(tǒng)是通過識(shí)別UID(user ID)來識(shí)別不同的用戶,系統(tǒng)不會(huì)認(rèn)識(shí)用戶名熄阻,只認(rèn)識(shí)數(shù)字斋竞。

3A認(rèn)證:
認(rèn)證機(jī)制:authentication
--密碼認(rèn)證:
a、密碼符合復(fù)雜性要求(數(shù)字大小寫字母特殊符號至少三種)
b饺律、密碼長度(至少七位)
c窃页、不要使用易記的密碼(使用隨機(jī)字符跺株,一些軟件如keepass)
d、定期更改密碼
e脖卖、重復(fù)密碼的時(shí)間要長(使用相同密碼的更換周期時(shí)間要長)
--授權(quán)機(jī)制:authorization
--審計(jì)機(jī)制:audition(審計(jì)日志等)


四乒省、高效獲取命令幫助信息

1、查看Linux登錄信息的設(shè)置:/etc/issue

/etc/issue用法:當(dāng)我們在終端接口登錄的時(shí)候畦木,會(huì)有幾行提示字符串袖扛,那么這個(gè)字符串就是設(shè)置在/etc/issue。
issue內(nèi)各代碼說明:
\d 本地端時(shí)間的日期
\l 顯示第幾個(gè)終端接口
\m 顯示硬件的等級
\n 顯示主機(jī)的網(wǎng)絡(luò)名稱
\o 顯示域名
\r 操作系統(tǒng)的版本
\t 顯示本地端的時(shí)間
\s 操作系統(tǒng)的名稱
\v 操作系統(tǒng)的版本


示例.jpg

2十籍、Linux命令分類:

--內(nèi)部命令:shell自帶的命令
--外部命令:在Linux文件系統(tǒng)中存在一個(gè)應(yīng)用程序

type:查看Linux命令類型


示例.png

cd is a shell builtin 有builtin關(guān)鍵字說明是內(nèi)部命令蛆封,builtin是內(nèi)嵌的意思
mkdir is /bin/mkdir 有路徑顯示說明是外部命令

路徑:
--絕對路徑:從根目錄(/)開始的路徑是絕對路徑,Linux系統(tǒng)中只有一個(gè)根
--相對路徑:以所處的工作目錄為參照點(diǎn) (. 代表當(dāng)前路徑 .. 代表上一級目錄 ~代表所處的是宿主目錄)

3勾栗、ls(list):列出目錄

-l(long):以長格式顯示
-rw-r--r--. 1 root root 1546 5月 18 07:07 anaconda-ks.cfg
--關(guān)于長格式顯示的說明
--
-第一位:文件類型
-:代表普通文件(file)
d:代表目錄(directory)
b:塊設(shè)備(block)如硬盤惨篱,U盤等
c:字符設(shè)備(char)如鍵盤等
s:套接字文件(socket)
p:命名管道(pipe)
l:符號鏈接文件(symbolic link file)
--
rw-r--r--第二到第十位:權(quán)限位(rwx:讀寫執(zhí)行)
234位:文件所有者權(quán)限(owner)
567位:文件屬組權(quán)限(group)
8910位:其他用戶權(quán)限(other)
--
1:代表文件硬鏈接的次數(shù)
--
第一個(gè)root:代表文件所有者(owner)
第二個(gè)root:代表文件所屬組(group)
--
1546:代表文件大小
--
5月 18 07:07:文件最后被訪問的時(shí)間戳
文件的時(shí)間戳說明:(stat filename可以查看時(shí)間戳)
a、access:訪問的時(shí)間戳
b围俘、Modify:文件被修改的時(shí)間戳(修改文件數(shù)據(jù):添加刪除數(shù)據(jù)等)
c砸讳、change:文件被更改的時(shí)間戳(更改文件屬性:更改權(quán)限等)
--
anaconda-ks.cfg:文件名

-h:為文件大小添加單位
-a:顯示目錄下所有文件(包括. .. 和以.開頭的隱藏文件)
-A:和-a相同,但是不顯示.和..
-R:遞歸顯示目錄中的內(nèi)容(一并顯示子目錄中的所有內(nèi)容)
-r:逆序顯示目錄內(nèi)容

4界牡、環(huán)境變量:內(nèi)存中的命名空間

--PATH變量 :存放系統(tǒng)命令路徑簿寂,以冒號隔開
--查看PATH變量的方法:echo $PATH(Linux嚴(yán)格區(qū)分大小寫)
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
如果在以上路徑中沒有找到相關(guān)命令,提示用戶command not found宿亡,則該命令為外部命令常遂。
如果一個(gè)命令在以上多個(gè)路徑中存在,系統(tǒng)會(huì)按照從前往后的順序查找挽荠,查找到該命令后克胳,后面的路徑不管有沒有這個(gè)命令都不再查找了。

5圈匆、hash:查看命令緩存及命中率

hash命令:顯示毯欣、添加或清除哈希表
linux系統(tǒng)下的hash指令
說明:
linux系統(tǒng)下會(huì)有一個(gè)hash表,當(dāng)你剛開機(jī)時(shí)這個(gè)hash表為空臭脓,每當(dāng)你執(zhí)行過一條命令時(shí)酗钞,hash表會(huì)記錄下這條命令的路徑,就相當(dāng)于緩存一樣来累。第一次執(zhí)行命令shell解釋器默認(rèn)的會(huì)從PATH路徑下尋找該命令的路徑砚作,當(dāng)你第二次使用該命令時(shí),shell解釋器首先會(huì)查看hash表嘹锁,沒有該命令才會(huì)去PATH路徑下尋找葫录。
hash表的作用:
大大提高命令的調(diào)用速率。
hash的參數(shù)
root@redhat ~]# hash  //輸入hash或hash -l 可以查看hash表的內(nèi)容领猾,我剛開機(jī)所以為空
hash: hash table empty
[root@redhat ~]# hash -l
hash: hash table empty
當(dāng)我執(zhí)行過2條命令后再看:
[root@redhat ~]# hash  //hash表會(huì)記錄下執(zhí)行該命令的次數(shù)米同,以及命令的絕對路徑
hits command
1 /bin/cat
1 /bin/ls
[root@redhat ~]# hash -l  //加參數(shù)-l既可以看到hash表命令的路徑骇扇,也可以看到它的名字,說不定會(huì)有別名哦
builtin hash -p /bin/cat cat
builtin hash -p /bin/ls ls
[root@redhat ~]# hash -p /bin/ls bb  //添加hash表面粮,可以看到我把ls命令重新寫了一遍少孝,改名為bb
[root@redhat ~]# bb    //當(dāng)我執(zhí)行bb時(shí)就是執(zhí)行l(wèi)s命令
anaconda-ks.cfg icmp_echo_ignore_aly~ pub.key
dead.letter icmp_echo_ignore_alz~ rpmbuild
icmp_echo_ignore_all~ install.log RPM-GPG-KEY-useradd
icmp_echo_ignore_alw~ install.log.syslog RPM-GPG-KEY-westos
icmp_echo_ignore_alx~ passwd
[root@redhat ~]# hash -t ls  //-t參數(shù)可以查看hash表中命令的路徑,要是hash表中沒有怎么辦熬苍?
/bin/ls
[root@redhat ~]# hash -t df  //我沒使用過df稍走,執(zhí)行hash,就會(huì)提示找不到該命令
-bash: hash: df: not found
[root@redhat ~]# hash -r  //清楚hash表柴底,清楚的是全部的
[root@redhat ~]# hash -l
hash: hash table empty
[root@redhat ~]# hash -l
builtin hash -p /bin/cat cat
builtin hash -p /bin/ls ls
[root@redhat ~]# hash -d cat   //清楚其中的某一條
[root@redhat ~]# hash -l
builtin hash -p /bin/ls ls

6婿脸、Linux命令的幫助信息man

--針對內(nèi)部命令(外部命令無法用這個(gè)查詢語句):help [command]
--針對外部命令(內(nèi)部命令無法用這個(gè)查詢語句):[command] --help
man:幫助(命令的使用說明)(查看內(nèi)部命令時(shí),顯示的是bash幫助信息柄驻,因?yàn)閮?nèi)部命令是集成在bash中)內(nèi)外部命令都可以查詢幫助的命令語句
--語法:man [command]
上下方向鍵:翻行
enter:向下翻行
pagedown:向下翻頁
pageup:向上翻頁
/Word:從上往下查找關(guān)鍵字
狐树?Word:從下往上查找關(guān)鍵字
q:退出當(dāng)前幫助信息

7、man目錄說明

1 Executable programs or shell commands可執(zhí)行程序或shell命令鸿脓,普通用戶命令褪迟,一般存放在bin目錄下(/bin,/usr/bin,/usr/local/bin)binary二進(jìn)制
2 System calls (functions provided by the kernel)系統(tǒng)調(diào)用庫
3 Library calls (functions within program libraries)庫調(diào)用
4 Special files (usually found in /dev)特殊文件(硬件設(shè)備存放在/dev)
5 File formats and conventions eg /etc/passwd查看配置文件格式
6 Games游戲
7 Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7)雜項(xiàng)
8 System administration commands (usually only for root)系統(tǒng)管理命令,一般存放在sbin目錄下(/sbin,/usr/sbin,/usr/local/sbin)sbin:secret binary
9 Kernel routines [Non standard]
man的使用說明:
--NAME:命令名稱及簡要用法
--SYNOPSIS:語法格式答憔,可能包括一些選項(xiàng)的使用
--DESCRIPTION:命令和命令選項(xiàng)的詳細(xì)說明
--EXIT status:退出狀態(tài)碼
--AUTHOR:作者信息
--REPORTING BUGS(BUG):發(fā)現(xiàn)BUG時(shí)如何反饋信息
--COPYRIGHT:該命令的版權(quán)信息
--SEE ALSO:另外參照的幫助信息
--OPTIONS:說明該命令每一個(gè)選項(xiàng)的詳細(xì)用法
--EXAMPLES:命令的使用示例

man書冊頁目錄:/usr/share/doc(工作中主要是查看內(nèi)核信息)

在某些命令選項(xiàng)參數(shù)里可能存在某些特殊符號:
<>:必須使用的選項(xiàng)或者參數(shù),不可以省略
[]:可以省略的選項(xiàng)或參數(shù)
...:可以使用多個(gè)選項(xiàng)或參數(shù)
|:代表多選一
{}:分組掀抹,沒有特殊意義

info:在線查看幫助虐拓,雖然也有一些用法說明,但是更注重于Linux命令的歷史或者版權(quán)信息

8傲武、cd:change directory(切換目錄)

cd:不加選項(xiàng)蓉驹,返回到當(dāng)前用戶的宿主目錄
-:返回到上一次的工作路徑
~username:切換到username的宿主目錄

pwd:print working directory,打印當(dāng)前所在目錄名字

--which:查看命令所在的路徑

--whatis:查看命令所在的幫助信息目錄揪利。該命令在系統(tǒng)啟動(dòng)大概七十分鐘后會(huì)生成whatis的數(shù)據(jù)庫态兴,如果時(shí)間太短,該命令不會(huì)執(zhí)行疟位,我們可以使用makewhatis來初始化該命令
[root@localhost ~]# whatis mkdir
mkdir (1) - make directories
mkdir (1p) - make directories
mkdir (2) - create a directory
mkdir (3p) - make a directory
當(dāng)多個(gè)路徑存在mkdir時(shí)瞻润,要查看具體哪個(gè)目錄下的該命令的意思就可以用man 1 mkdir來查看具體的該命令幫助信息,man 2 mkdir ,前面的序號就是要查找的命令目錄


五甜刻、Linux根文件系統(tǒng)

1绍撞、Linux文件類型

-:普通文件
--純文本文件(ASCII):配置文件
--二進(jìn)制文件(binary file):命令
--數(shù)據(jù)格式文件(data):/var/log/wtmp
d:目錄文件
l:鏈接文件:軟鏈接文件
設(shè)備文件:(/dev)
b:block塊設(shè)備
c:character字符集設(shè)備:一次性讀取,按順序讀取
s:socket套接字文件:通常用在網(wǎng)絡(luò)上數(shù)據(jù)連接: IP:PORT e.g. 192.168.1.1:80
p:管道:特殊的文件類型得院,解決多個(gè)程序同時(shí)訪問一個(gè)文件所造成的錯(cuò)誤問題

file:查看Linux中文件類型
語法:file [options] file_name

2傻铣、Linux文件名限制

--單個(gè)文件或目錄的名稱不能超過255個(gè)字符
--文件名中不能包含特殊字符(/ . - +等)

FHS標(biāo)準(zhǔn)(filesystem hierarchy standard):希望用戶可以了解已經(jīng)安裝的程序在哪個(gè)目錄下

根文件系統(tǒng)(/):rootfs:root filesystem

[root@localhost /]# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var

/bin:二進(jìn)制,存放命令
/boot:存放啟動(dòng)和內(nèi)核相關(guān)的文件
/dev:存放設(shè)備文件
/etc:存放應(yīng)用程序的配置文件
/home:普通用戶的家目錄祥绞,默認(rèn)為/home/username
/lib和/lib64:存放系統(tǒng)開機(jī)時(shí)需要用的函數(shù)庫以及/bin和/sbin命令調(diào)用函數(shù)庫
--/lib/modules:存放內(nèi)核相關(guān)的模塊(驅(qū)動(dòng)程序等)
/media和/mnt:掛載點(diǎn)非洲,/media掛載移動(dòng)設(shè)備鸭限,/mnt掛載臨時(shí)設(shè)備
/opt:第三方軟件存放目錄(用戶自行安裝的軟件存放處),現(xiàn)在一般安裝到/usr/local下
/proc:偽文件系統(tǒng)两踏,數(shù)據(jù)存放在內(nèi)存中败京,存放關(guān)于進(jìn)程的相關(guān)信息(一旦關(guān)機(jī)重啟這些文件就會(huì)消失,因?yàn)槭谴娣旁趦?nèi)存中不是存儲(chǔ)器)
/root:管理員的家目錄
/sbin:存放管理員使用的命令缆瓣,即root用戶喧枷,普通用戶無法使用的命令
/srv:service的縮寫,存放服務(wù)數(shù)據(jù)的目錄弓坞,如可以把www服務(wù)的網(wǎng)頁放到該目錄下
/tmp:存放臨時(shí)文件隧甚,所有用戶都可以訪問創(chuàng)建文件,但是每個(gè)用戶只能刪除自己的文件
/sys:偽文件系統(tǒng)渡冻,存放在內(nèi)存中戚扳,記錄內(nèi)核相關(guān)的信息,包括目前加載內(nèi)核模塊和內(nèi)核檢測到的硬件設(shè)備等
/usr:UNIX software resource:存放安裝的應(yīng)用程序
--/usr/bin:普通用戶使用的命令(和/bin目錄的區(qū)別:是否與開機(jī)有關(guān))
--/usr/sbin:網(wǎng)絡(luò)服務(wù)器命令
--/usr/lib和/usr/lib64:包含各種應(yīng)用程序函數(shù)庫
--/usr/share:存放共享文件目錄(在線幫助文件族吻,雜項(xiàng)帽借,時(shí)區(qū)文件等)
--/usr/include:存放頭文件
--/usr/src:釋放源代碼目錄
/var:vary的縮寫,存放經(jīng)常變動(dòng)的文件超歌,比如日志砍艾,mail等
--/var/cache:存放應(yīng)用程序運(yùn)行時(shí)產(chǎn)生的緩存文件
--/var/lib:程序運(yùn)行時(shí),需要使用的數(shù)據(jù)文件的存放目錄
--/var/lock:設(shè)備或資源一次只能被一個(gè)應(yīng)用程序使用巍举,如果多應(yīng)用程序會(huì)產(chǎn)生錯(cuò)誤脆荷,所以要為設(shè)備或資源上鎖(存放鎖文件)
--/var/log:存放日志目錄(系統(tǒng),用戶登錄懊悯,服務(wù)日志等)
--/var/mail:存放個(gè)人電子郵件(系統(tǒng)報(bào)警產(chǎn)生郵件信息等)
--/var/run:存放應(yīng)用程序運(yùn)行時(shí)PID文件(進(jìn)程號.pid結(jié)尾)
--/var/spool:存放隊(duì)列數(shù)據(jù)蜓谋,排隊(duì)等待其他用戶程序使用的數(shù)據(jù),數(shù)據(jù)通常使用后會(huì)被刪除

FHS規(guī)定:/etc /bin /dev /lib /sbin五個(gè)目錄必須要和根目錄位于同一文件系統(tǒng)


六炭分、Linux常用命令
基本命令:ls桃焕、cd、pwd
學(xué)習(xí)內(nèi)容:file捧毛、cat观堂、cp、mv呀忧、rm型将、mkdir、touch荐虐、tree七兜、which、whereis
文件管理福扬、目錄管理腕铸、網(wǎng)絡(luò)管理等

1惜犀、file

file:查看文件類型(Windows是用擴(kuò)展名識(shí)別文件類型)
語法:file [options] [file_name]
-b:顯示結(jié)果時(shí),不顯示文件名
-c:顯示執(zhí)行file命令的執(zhí)行過程(file是如何去判斷文件類型)狠裹,便于排錯(cuò)或分析file命令執(zhí)行過程
-i:輸出MIME類型的字符串
[root@localhost ~]# file -i anaconda-ks.cfg
anaconda-ks.cfg: text/plain; charset=us-ascii
[root@localhost ~]# file anaconda-ks.cfg
anaconda-ks.cfg: ASCII text
-z:顯示壓縮文件的內(nèi)容
-L:查看軟鏈接對應(yīng)的文件類型
-f:查看文件中文件名的類型

2虽界、cat

cat:一次性查看整個(gè)文件
語法:cat [options] [file_name]
從鍵盤輸入創(chuàng)建一個(gè)新文件或向現(xiàn)有文件中添加新數(shù)據(jù):
--新建新文件:
cat >new_file_name <<EOF //EOF:end of file結(jié)束文件的意思
----->文件內(nèi)容 //從鍵盤輸入
----->文件內(nèi)容 //從鍵盤輸入
----->EOF //從鍵盤輸入,以結(jié)束書寫


image.png

--向現(xiàn)有文件中追加數(shù)據(jù):
cat >> file_name <<EOF (無論是追加還是寫入EOF都是兩個(gè)尖括號)
----->文件內(nèi)容
----->文件內(nèi)容
----->EOF
--把多個(gè)文件內(nèi)容合并到一個(gè)文件輸出:
cat file1 file2 > file3
e.g: cat /etc/passwd /etc/shadow > /root/user.txt

--options選項(xiàng)說明:
-n:顯示文件內(nèi)容時(shí)同時(shí)顯示行號涛菠,包括空行
-b:和-n功能相同莉御,但不包括空行
-s:當(dāng)文件中有多個(gè)空行時(shí),合并為一個(gè)空行
-E:在顯示內(nèi)容時(shí)俗冻,結(jié)尾添加$符號


image.png

3礁叔、cp

cp:復(fù)制文件或目錄(copy的簡寫),cp命令用來將一個(gè)或多個(gè)源文件或者目錄復(fù)制到指定的目的文件或目錄。它可以將單個(gè)源文件復(fù)制成一個(gè)指定文件名的具體的文件或一個(gè)已經(jīng)存在的目錄下迄薄。cp命令還支持同時(shí)復(fù)制多個(gè)文件琅关,當(dāng)一次復(fù)制多個(gè)文件時(shí),目標(biāo)文件參數(shù)必須是一個(gè)已經(jīng)存在的目錄讥蔽,否則將出現(xiàn)錯(cuò)誤涣易。

語法:cp [options] [ src_file(源文件)] [des_file(目標(biāo)文件)]

源文件:制定源文件列表。默認(rèn)情況下冶伞,cp命令不能復(fù)制目錄新症,如果要復(fù)制目錄,則必須使用-R選項(xiàng)响禽;

目標(biāo)文件:指定目標(biāo)文件徒爹。當(dāng)“源文件”為多個(gè)文件時(shí),要求“目標(biāo)文件”為指定的目錄金抡。

-a:此參數(shù)的效果和同時(shí)指定"-dpR"參數(shù)相同;
-d:當(dāng)復(fù)制符號連接時(shí)腌且,把目標(biāo)文件或目錄也建立為符號連接梗肝,并指向與源文件或目錄連接的原始文件或目錄;
-f:強(qiáng)行復(fù)制文件或目錄铺董,不論目標(biāo)文件或目錄是否已存在巫击;
-i:覆蓋既有文件之前先詢問用戶(當(dāng)輸入cp的時(shí)候默認(rèn)帶有-i的屬性都會(huì)詢問,cp=cp -i)精续;
-l:對源文件建立硬連接坝锰,而非復(fù)制文件;
-p:保留源文件或目錄的屬性重付;
-R/r:遞歸處理顷级,將指定目錄下的所有文件與子目錄一并處理;
-s:對源文件建立符號連接确垫,而非復(fù)制文件弓颈;
-u:使用這項(xiàng)參數(shù)后只會(huì)在源文件的更改時(shí)間較目標(biāo)文件更新時(shí)或是名稱相互對應(yīng)的目標(biāo)文件并不存在時(shí)帽芽,才復(fù)制文件;
-S:在備份文件時(shí)翔冀,用指定的后綴“SUFFIX”代替文件的默認(rèn)后綴导街;
-b:覆蓋已存在的文件目標(biāo)前將目標(biāo)文件備份;
-v:詳細(xì)顯示命令執(zhí)行的操作纤子。

4搬瑰、mv

mv:(move)mv命令用來對文件或目錄重新命名,或者將文件從一個(gè)目錄移到另一個(gè)目錄中控硼。source表示源文件或目錄泽论,target表示目標(biāo)文件或目錄。如果將一個(gè)文件移到一個(gè)已經(jīng)存在的目標(biāo)文件中象颖,則目標(biāo)文件的內(nèi)容將被覆蓋佩厚。

mv命令可以用來將源文件移至一個(gè)目標(biāo)文件中,或?qū)⒁唤M文件移至一個(gè)目標(biāo)目錄中说订。源文件被移至目標(biāo)文件有兩種不同的結(jié)果:

  1. 如果目標(biāo)文件是到某一目錄文件的路徑抄瓦,源文件會(huì)被移到此目錄下,且文件名不變陶冷。
  2. 如果目標(biāo)文件不是目錄文件钙姊,則源文件名(只能有一個(gè))會(huì)變?yōu)榇四繕?biāo)文件名,并覆蓋己存在的同名文件埂伦。如果源文件和目標(biāo)文件在同一個(gè)目錄下煞额,mv的作用就是改文件名。當(dāng)目標(biāo)文件是目錄文件時(shí)沾谜,源文件或目錄參數(shù)可以有多個(gè)膊毁,則所有的源文件都會(huì)被移至目標(biāo)文件中。所有移到該目錄下的文件都將保留以前的文件名基跑。

注意事項(xiàng):mv與cp命令的結(jié)果不同婚温,mv好像文件“搬家”,文件個(gè)數(shù)并未增加媳否。而cp對文件進(jìn)行復(fù)制栅螟,文件個(gè)數(shù)增加了。

格式: mv [options] [源文件] [目標(biāo)文件]

參數(shù)
--backup=<備份模式>:若需覆蓋文件篱竭,則覆蓋前先行備份力图;
-b:當(dāng)文件存在時(shí),覆蓋前掺逼,為其創(chuàng)建一個(gè)備份吃媒;
-f:若目標(biāo)文件或目錄與現(xiàn)有的文件或目錄重復(fù),則強(qiáng)制覆蓋現(xiàn)有的文件或目錄;
-i:交互式操作晓折,覆蓋前先行詢問用戶惑朦,如果源文件與目標(biāo)文件或目標(biāo)目錄中的文件同名,則詢問用戶是否覆蓋目標(biāo)文件漓概。用戶輸入”y”漾月,表示將覆蓋目標(biāo)文件;輸入”n”胃珍,表示取消對源文件的移動(dòng)梁肿。這樣可以避免誤將文件覆蓋。
--strip-trailing-slashes:刪除源文件中的斜杠“/”觅彰;
-S<后綴>:為備份文件指定后綴吩蔑,而不使用默認(rèn)的后綴;
--target-directory=<目錄>:指定源文件要移動(dòng)到目標(biāo)目錄填抬;
-u:當(dāng)源文件比目標(biāo)文件新或者目標(biāo)文件不存在時(shí)烛芬,才執(zhí)行移動(dòng)操作。
-t:將多個(gè)文件移動(dòng)到同一個(gè)目錄(目標(biāo)目錄在前飒责,后面跟文件 mv -t [directory] file1 file2 ...)

5赘娄、rm

rm:(remove)rm命令可以刪除一個(gè)目錄中的一個(gè)或多個(gè)文件或目錄,也可以將某個(gè)目錄及其下屬的所有文件及其子目錄均刪除掉宏蛉。對于鏈接文件遣臼,只是刪除整個(gè)鏈接文件,而原有文件保持不變拾并。

注意:使用rm命令要格外小心揍堰。因?yàn)橐坏﹦h除了一個(gè)文件,就無法再恢復(fù)它嗅义。所以屏歹,在刪除文件之前,最好再看一下文件的內(nèi)容之碗,確定是否真要?jiǎng)h除蝙眶。rm命令可以用-i選項(xiàng),這個(gè)選項(xiàng)在使用文件擴(kuò)展名字符刪除多個(gè)文件時(shí)特別有用继控。使用這個(gè)選項(xiàng)械馆,系統(tǒng)會(huì)要求你逐一確定是否要?jiǎng)h除胖眷。這時(shí)武通,必須輸入y并按Enter鍵,才能刪除文件珊搀。如果僅按Enter鍵或其他字符冶忱,文件不會(huì)被刪除。

格式:rm [options] [文件或目錄]

參數(shù):
-d:直接把欲刪除的目錄的硬連接數(shù)據(jù)刪除成0境析,刪除該目錄囚枪;
-f:強(qiáng)制刪除文件或目錄派诬;
-i:刪除已有文件或目錄之前先詢問用戶;
-r或-R:遞歸處理链沼,將指定目錄下的所有文件與子目錄一并處理默赂;
--preserve-root:不對根目錄進(jìn)行遞歸操作;
-v:顯示指令的詳細(xì)執(zhí)行過程括勺。

6缆八、mkdir

mkdir:(make directory)mkdir命令用來創(chuàng)建目錄。該命令創(chuàng)建由dirname命令命名的目錄疾捍。如果在目錄名的前面沒有加任何路徑名奈辰,則在當(dāng)前目錄下創(chuàng)建由dirname指定的目錄;如果給出了一個(gè)已經(jīng)存在的路徑乱豆,將會(huì)在該目錄下創(chuàng)建一個(gè)指定的目錄奖恰。在創(chuàng)建目錄時(shí),應(yīng)保證新建的目錄與它所在目錄下的文件沒有重名宛裕。

注意:在創(chuàng)建文件時(shí)瑟啃,不要把所有的文件都存放在主目錄中,可以創(chuàng)建子目錄续滋,通過它們來更有效地組織文件翰守。最好采用前后一致的命名方式來區(qū)分文件和目錄。例如疲酌,目錄名可以以大寫字母開頭蜡峰,這樣,在目錄列表中目錄名就出現(xiàn)在前面朗恳。

在一個(gè)子目錄中應(yīng)包含類型相似或用途相近的文件湿颅。例如,應(yīng)建立一個(gè)子目錄粥诫,它包含所有的數(shù)據(jù)庫文件油航,另有一個(gè)子目錄應(yīng)包含電子表格文件,還有一個(gè)子目錄應(yīng)包含文字處理文檔怀浆,等等谊囚。目錄也是文件,它們和普通文件一樣遵循相同的命名規(guī)則执赡,并且利用全路徑可以唯一地指定一個(gè)目錄镰踏。

格式: mkdir [options] [目錄名]

參數(shù):
-Z:設(shè)置安全上下文,當(dāng)使用SELinux時(shí)有效沙合;
-m<目標(biāo)屬性>或--mode<目標(biāo)屬性>建立目錄的同時(shí)設(shè)置目錄的權(quán)限奠伪;
-p或--parents 若所要建立目錄的上層目錄目前尚未建立,則會(huì)一并建立上層目錄;
--version 顯示版本信息绊率。
-v:顯示創(chuàng)建目錄的過程

關(guān)于mkdir運(yùn)用的小技巧.PNG

7谨敛、touch

touch:創(chuàng)建新文件或者修改文件時(shí)間戳;touch命令有兩個(gè)功能:一是用于把已存在文件的時(shí)間標(biāo)簽更新為系統(tǒng)當(dāng)前的時(shí)間(默認(rèn)方式)滤否,它們的數(shù)據(jù)將原封不動(dòng)地保留下來脸狸;二是用來創(chuàng)建新的空文件。

-a:或--time=atime或--time=access或--time=use 只更改存取時(shí)間藐俺;
-c:或--no-create 不建立任何文件肥惭;
-d:<時(shí)間日期> 使用指定的日期時(shí)間,而非現(xiàn)在的時(shí)間紊搪;
-f:此參數(shù)將忽略不予處理蜜葱,僅負(fù)責(zé)解決BSD版本touch指令的兼容性問題;
-m:或--time=mtime或--time=modify 只更該變動(dòng)時(shí)間耀石;
-r:<參考文件或目錄> 把指定文件或目錄的日期時(shí)間牵囤,統(tǒng)統(tǒng)設(shè)成和參考文件或目錄的日期時(shí)間相同;
-t:<日期時(shí)間> 使用指定的日期時(shí)間滞伟,而非現(xiàn)在的時(shí)間揭鳞;
--help:在線幫助;
--version:顯示版本信息梆奈。

8野崇、tree

tree:查看目錄樹(tree = ls -R)
如果命令提示
[root@localhost ~]# tree
bash: tree: 未找到命令...
則運(yùn)行安裝這個(gè)命令即可
[root@localhost ~]# yum -y install tree

捕獲.PNG

9、which

which:查找命令所在路徑

10亩钟、whereis

whereis:查看命令所在路徑乓梨,源代碼文件,幫助信息文件所在的位置

-b:只查看文件所在的位置(等同于which命令)
-m:只查看幫助信息所在的位置
-s:只查看源代碼所在的位置

11清酥、查找文件命令 :locate

非實(shí)時(shí)性扶镀,根據(jù)自己的數(shù)據(jù)庫查找文件,CentOS每天更新一次數(shù)據(jù)庫焰轻,安裝完locate后臭觉,生成/var/lib/mlocate目錄,存放數(shù)據(jù)庫

是一種模糊匹配

/var/lib/mlocate/mlocate.db //locate工具的數(shù)據(jù)庫

yum -y install mlocate //安裝locate工具
locate file_name
updatedb //更新locate數(shù)據(jù)庫


Linux和Windows中文件內(nèi)容行尾標(biāo)記是不同的:

  • Linux中是以$為結(jié)尾
  • Windows中是以Enter鍵結(jié)尾

六辱志、查看文本文件內(nèi)容的命令:cat蝠筑、more、less揩懒、head什乙、tail

1、cat

一次性查看文件內(nèi)容

2旭从、more

more:可以翻頁查看文本文件內(nèi)容

enter鍵:向下翻一行
空格鍵:向下翻一屏
Ctrl+b:向上翻一屏
Ctrl+F:向下翻一屏
=:顯示當(dāng)前的行號
V:調(diào)用vi編輯器
稳强!command:調(diào)用shell執(zhí)行命令
q:退出

more +num file_name //從num行開始查看文件內(nèi)容

3、less

less:可以翻頁查看文本文件內(nèi)容

enter鍵:向下翻一行
空格鍵:向下翻一屏
pagedown:向下翻一屏
pageup:向上翻一屏
上下方向鍵:向上/下翻一行

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末和悦,一起剝皮案震驚了整個(gè)濱河市退疫,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌鸽素,老刑警劉巖褒繁,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異馍忽,居然都是意外死亡棒坏,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門遭笋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來坝冕,“玉大人,你說我怎么就攤上這事瓦呼∥箍撸” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵央串,是天一觀的道長磨澡。 經(jīng)常有香客問我,道長质和,這世上最難降的妖魔是什么稳摄? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮饲宿,結(jié)果婚禮上厦酬,老公的妹妹穿的比我還像新娘悯许。我一直安慰自己氯析,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布担败。 她就那樣靜靜地躺著殿托,像睡著了一般霹菊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上支竹,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天旋廷,我揣著相機(jī)與錄音,去河邊找鬼礼搁。 笑死饶碘,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的馒吴。 我是一名探鬼主播扎运,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼瑟曲,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了豪治?” 一聲冷哼從身側(cè)響起洞拨,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎负拟,沒想到半個(gè)月后烦衣,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡掩浙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年花吟,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片厨姚。...
    茶點(diǎn)故事閱讀 37,997評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡衅澈,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出谬墙,到底是詐尸還是另有隱情矾麻,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布芭梯,位于F島的核電站险耀,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏玖喘。R本人自食惡果不足惜甩牺,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望累奈。 院中可真熱鬧贬派,春花似錦、人聲如沸澎媒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽戒努。三九已至请敦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間储玫,已是汗流浹背侍筛。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留撒穷,地道東北人匣椰。 一個(gè)月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像端礼,于是被迫代替她去往敵國和親禽笑。 傳聞我的和親對象是個(gè)殘疾皇子入录,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評論 2 345

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