淺談Linux網(wǎng)絡(luò)故障的解決辦法
創(chuàng)新互聯(lián)主要從事成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)潯陽,10年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108
Linux繼承了Unix以網(wǎng)絡(luò)為核心的設(shè)計(jì)思想,是一個(gè)性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。我告訴大家,Linux網(wǎng)絡(luò)故障排除應(yīng)當(dāng)遵循先硬件后軟件的方法。因?yàn)橛布绻霈F(xiàn)物理損壞那么如何設(shè)定網(wǎng)絡(luò)都不能解決故障。解決問題的方法可以從自身Linux計(jì)算機(jī)的網(wǎng)卡查起,然后到服務(wù)器、集線器、路由器等硬件。如果確定硬件沒有問題了,再來考慮軟件的設(shè)定。
1、檢查網(wǎng)卡工作狀況
(1)使用cat /proc/modules查看網(wǎng)卡的模塊是否已被加載,驅(qū)動(dòng)硬件是操作系統(tǒng)最基本的功能,操作系統(tǒng)通過各種驅(qū)動(dòng)程序來駕馭硬件設(shè)備,和Windows系統(tǒng)不同Linux內(nèi)核目前采用可加載的模塊化設(shè)計(jì)(LKMs Loadable Kernel Modules),就是將最基本的核心代碼編譯在內(nèi)核中,而我們常見的驅(qū)動(dòng)程序就是作為內(nèi)核模塊動(dòng)態(tài)加載的,比如網(wǎng)卡驅(qū)動(dòng)。Windows系統(tǒng)中我們一般“控制面板”的“設(shè)備管理器”查看硬件列表,在Linux中可以在命令行下輸入:cat /proc/modules 即可顯示Linux系統(tǒng)檢測到的所有硬件設(shè)備。運(yùn)行cat /proc/modules需要超級(jí)用戶的權(quán)限,你可以使用su命令實(shí)現(xiàn)。
我Linux計(jì)算機(jī)中兩塊網(wǎng)卡模塊:NE2000和8139已經(jīng)加載。如果沒有檢測到硬件,用硬件檢測程序Kuduz檢測網(wǎng)卡,它和Windows中添加新硬件差不多。kudzu程序是通過查看/usr/share/hwdata/目錄下的文件識(shí)別各種硬件設(shè)備的。如果核心支持該硬件,并且有該驅(qū)動(dòng)程序就可自動(dòng)裝載。首先說明的是Linux下對(duì)網(wǎng)卡的支持往往是只對(duì)芯片的,所以對(duì)某些不是很著名的網(wǎng)卡,往往需要知道它的芯片型號(hào)以配置Linux.比如我的Top link網(wǎng)卡,就不存在Linux的驅(qū)動(dòng),但是因?yàn)樗荖E2000兼容,所以把它當(dāng)NE2000就可以在Linux下用了.所以當(dāng)你有一塊網(wǎng)卡不能用,在找Linux的驅(qū)動(dòng)程序之前一定搞清楚這個(gè)網(wǎng)卡用的什么芯片,跟誰兼容,比如3c509,ne2000,etherexpress等等.這樣的型號(hào)一般都在網(wǎng)卡上最大的一快芯片上印著,抄下來就是了。對(duì)于ISA接口的NE2000卡,先要作的一件事情,是將網(wǎng)卡設(shè)定為Jumpless模式.很多現(xiàn)在的網(wǎng)卡缺省都是PnP模式,這在Windows下的確能減少很多麻煩,但是Linux不支持,所以Linux下必須是Jumpless模式.一般所有網(wǎng)卡都有帶的驅(qū)動(dòng)盤和DOS下可執(zhí)行的一個(gè)設(shè)定程序,用該程序?qū)⒕W(wǎng)卡設(shè)為 Jumpless。對(duì)于PCI網(wǎng)卡,可以使用如下命令來查看:less/proc/pci。在顯示的列表中找到“Ethernet Controller”,記下廠商和型號(hào)。然后使用modprobe嘗試加載正確的模塊,比如modprobe 3c509。如果出現(xiàn)錯(cuò)誤,說明該模塊不存在。這時(shí)候你應(yīng)該找到正確的模塊并且重新編譯。如果顯示說該設(shè)備不存在,那也是因?yàn)闆]有正確的模塊。找到正確的模塊,并且編譯,問題一般即可解決。
(2)使用Ifconfig-a命令檢查網(wǎng)卡接口
如果已經(jīng)檢測到網(wǎng)卡,網(wǎng)卡硬件就沒有問題,接下來檢查網(wǎng)卡的軟件設(shè)定。使用ifconfig -a命令:
第二塊網(wǎng)卡沒有分配IP地址,我們現(xiàn)在可以添加IP地址。以Redhat Linux 9.0為例。以root權(quán)限運(yùn)行命令:neat出現(xiàn)圖形化配置界面,然后添加IP地址后保存設(shè)置,從新啟動(dòng)網(wǎng)絡(luò)和網(wǎng)絡(luò)服務(wù)或計(jì)算機(jī).
(4)編譯網(wǎng)卡
如果Linux內(nèi)核沒有檢測到網(wǎng)卡通常要重新安裝網(wǎng)卡的驅(qū)動(dòng)程序,網(wǎng)卡驅(qū)動(dòng)程序安裝方法步驟如下:
a、 編譯并安裝模塊;
b、 修改/etc/conf.module 文件;
c、 修改/etc/sysconfig/network文件;
d、 修改/etc/sysconfig/network-scripts/ifcfg-eth0 文件;
e、 給網(wǎng)卡添加IP地址:打開網(wǎng)卡IP地址配置文件/etc/sysconfig/network-script/ifcfg-eh0.
e、然后用命令啟動(dòng)網(wǎng)絡(luò)服務(wù)。
說明網(wǎng)卡問題:使用ifconfig來進(jìn)行配置。如果運(yùn)行ifconfig,將會(huì)給出所有已經(jīng)安裝了的網(wǎng)卡。如果沒有顯示可用的網(wǎng)卡,那么很有可能是以下原因之一:1. 網(wǎng)卡沒有被Linux檢測到;2. 沒有與之相應(yīng)的內(nèi)核模塊;3. 該模塊沒有被加載;4. Linux系統(tǒng)不支持你的網(wǎng)卡。就現(xiàn)在來說,出現(xiàn)問題4的可能性很小,一般來說都是問題2和3,也可能是1。
Linux下無線網(wǎng)卡的安裝:
目前經(jīng)過認(rèn)證的PCMCIA網(wǎng)卡有兩大類。使用基于朗訊(Lucent)芯片組的PCIMCIA無線網(wǎng)卡和使用基于intersil PRISM2-based cards 芯片組的PCMCIA的無線網(wǎng)卡見表-1。不過由于基于intersil PRISM2-based cards 芯片組的PCMCIA的無線網(wǎng)卡價(jià)格比較便宜(相當(dāng)于朗訊(Lucent)芯片組的PCIMCIA無線網(wǎng)卡的三分之一),所以國內(nèi)的PCMCIA的無線網(wǎng)卡以后者居多。
在很多人學(xué)習(xí)Linux命令行,會(huì)經(jīng)常遇到command not found 錯(cuò)誤,出現(xiàn)上述錯(cuò)誤主要有以下幾種情況:
命令書寫錯(cuò)誤,如有些人將Windows命令與Linux命令搞錯(cuò),如查看ip相關(guān)信息,Linux命令行應(yīng)該為ifconfig
環(huán)境變量沒有配置好,這里一般有兩種解決方法,第一,可以切換到root用戶執(zhí)行命令,第二種,就是配置用戶的環(huán)境變量,其指令如下:
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
----------------------------分割線----------------------------
Linux命令找不到?(找不到命令)
這個(gè)問題其實(shí)很簡單,如果你在終端輸入一個(gè)命令,而系統(tǒng)提示你說命令沒有找到(Command not found)的話,要么是因?yàn)槟銢]有裝相應(yīng)的軟件包,要么就是因?yàn)槁窂皆O(shè)置的問題。如果是因?yàn)檐浖膯栴},那沒有別的好說的,安裝相應(yīng)的軟件包就好了。而另外一種情況,則需要對(duì)用戶的路徑進(jìn)行設(shè)置。這里針對(duì)普通用戶和超級(jí)用戶分開介紹,以 RedHat 些列為例。
一、普通用乎如果一些程序沒有安裝在系統(tǒng)默認(rèn)的路徑(ie /bin/, /usr/bin, /usr/local/bin/ )里面,這個(gè)時(shí)候普通用戶想要調(diào)用這些命令,必須設(shè)定路徑。方法很簡單:以普通用戶登錄,然后在終端輸入:
vi ~/.bash_profile
會(huì)出現(xiàn)如下的內(nèi)容:# .bash_profile
export PATH此時(shí),只要在export PATH前面加入自己的路徑即可,例如我的修改后如下:[ @localhost bin]$ cat ~/.bash_profile# .bash_profile# Get the aliases and functionsif [ -f ~/.bashrc ]; then . ~/.bashrcfi# User specific environment and startup programsPATH=$PATH:/usr/local/programs/crosstool/gcc-4.0.2-glibc-2.3.6/arm-linux-gnu/bin/export PATH
二、超級(jí)用戶這里主要是一些用在系統(tǒng)管理上的命令,例如ifconfig, route等等, 他們位于/sbin, 或/usr/sbin/下。其實(shí)這些命令本身就沒有任何問題,軟件包早已安裝完畢,路徑設(shè)置也沒有絲毫問題。而出現(xiàn)Command not found的原因在于:在終端使用su變成超級(jí)用戶的時(shí)候沒有將root的路徑(環(huán)境)一起切換過來,從而導(dǎo)致身份雖然已經(jīng)是root,但是工作的環(huán)境和路徑依舊是普通用戶的。這種問題的解決方法有兩個(gè),其一是按照(一)里面提到的,對(duì)普通用戶的工作路徑進(jìn)行修改,但是這樣比較麻煩。其二則簡單的多,只要在使用su的時(shí)候在其后家上一個(gè)空格和”-“ ,即將su改為 su - 。這樣就可以在成為root的同時(shí)將root的工作路徑也一起切換過來了。如果你已經(jīng)使用su變成了root,那也沒有關(guān)系,只要在輸入一下su - 就好了。
原文地址:
首先,如果正在使用vsftpd,可以先把其停掉,命令:service vsftpd stop,接下來需要編輯/etc/xinetd.d/下的`gssftp配置文件,文件內(nèi)容如下:
# default: off
# description: The kerberized FTP server accepts FTP connections
# that can be authenticated with Kerberos 5.
service ftp
{
disable = yes
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/kerberos/sbin/ftpd
server_args = -l -a
log_on_failure += USERID
}
在文件中,我們要修改的內(nèi)容有:
1、disable = yes 改為 disable =no ,系統(tǒng)默認(rèn)ftp功能是無效的,修改使ftp功能生效。
2、server_args = -l -a 改為 server_args = -l。
without -a means : *enable weak authentication*
其中表示使用Kerberos 5驗(yàn)證機(jī)制,而一般的ftp是不支持該驗(yàn)證機(jī)制的。
修改完畢后,將其保存。
3、重啟啟動(dòng)xinetd服務(wù)。請(qǐng)執(zhí)行一下的命令(/etc/xinetd.d/):
service xinetd restart
service vsftpd restart
可能由于自己在WIN10里,在360進(jìn)行一些殺毒清理,一個(gè)不小心根據(jù)它的提示,修改了啟動(dòng)項(xiàng) 把其中你認(rèn)為加上它提示沒用用的不知神碼東西給刪除了,然后要求我們重啟。
重啟后你會(huì)發(fā)現(xiàn)進(jìn)不去選擇系統(tǒng)的頁面了
出現(xiàn)error:file 'boot/grub/i386-pc/normal.mod' not found? ?grub rescue:
然后就很無奈? 只能先去百度試試 解決方案如下,勇敢嘗試,不要怕處理不了,方法還是很有效的,不然我也不會(huì)寫這個(gè)文章的:
先輸入命令 ls??
會(huì)出現(xiàn)一串字符串? 我的是 hd0? (hd0,msdos9) (hd0,msdos8)??(hd0,msdos7)?(hd0,msdos6)?(hd0,msdos5)?(hd0,msdos2)?(hd0,msdos1)
接下來需要試一下到底那個(gè)msdos*(*為上面字符串里的數(shù)字)才是具體的linux系統(tǒng)的主分區(qū);需要輸入的命令為:ls(hd0,msdos*)/boot/grub? ? 一個(gè)個(gè)試過去,一般都是第一個(gè)的? ? ?當(dāng)輸入正確的時(shí)候會(huì)出現(xiàn)下列命令:
../../....../.......(由于沒用拍照,所以忘記了,不好意思,基本格式是這樣的,輸入錯(cuò)誤的都會(huì)提示 not found)
好,你終于找到了先恭喜一下,你快解決了,接下只要配置下環(huán)境就好了,再輸入一些命令就好,命令為:
1.set root=(hd0,msdos9)/boot/grub? //這里msdos后面的數(shù)字為你找到的msdos后面的那個(gè)數(shù)字? ?我的為9;
2.set prefix=(hd0,msdos9)/boot/grub
3.insmod normal
4.normal
輸入完后你就可以進(jìn)入選擇系統(tǒng)頁面的;為了安全起見,我們先進(jìn)入linux系統(tǒng)內(nèi),重新安裝一下grub,就可以盡可能避免再次發(fā)生這樣的事;
很簡單。ctrl+alt+t進(jìn)入終端,輸入命令 sudo update-grub
會(huì)出現(xiàn):
Installing for i386-pc platform.
Installation finished. No error reported.
sudo grub-install /dev/sda
會(huì)出現(xiàn)
Installing for i386-pc platform.? ?
Installation finished. No error reported.
好的 這個(gè)問題已經(jīng)解決的
謝謝觀看本文章
[root@localhost ~]# ls -l
總用量 44
-rw------. 1 ---- root ---- root --------1207 1 月14 18:18 anaconda-ks.cfg
權(quán)限--引用計(jì)數(shù) 所有者 -- 所屬組--- 大小-- 文件修改時(shí)間 文件名
ls [選項(xiàng)] [文件名或目錄名]
選項(xiàng):
-a :顯示所有文件
--color=when:支持顏色輸出
-d :顯示目錄信息,而不是目錄下的文件
-h :人性化顯示﹐按照我們習(xí)慣的顯示文件大小
-i :顯示文件的i節(jié)點(diǎn)號(hào)
-l:長格式顯示
pwd 命令是查詢當(dāng)前所在的目錄的絕對(duì)路徑
選項(xiàng):
-L (默認(rèn)值)打印環(huán)境變量"$PWD"的值,可能為符號(hào)鏈接。
-P 打印當(dāng)前工作目錄的物理位置。
mkdir 是創(chuàng)建目錄的命令
選項(xiàng):
-Z:設(shè)置安全上下文,當(dāng)使用SELinux時(shí)有效;
-m或--mode:建立目錄的同時(shí)設(shè)置目錄的權(quán)限;
-p或--parents:若所要建立目錄的上層目錄目前尚未建立,則會(huì)一并建立上層目錄;
rmdir 是刪除空目錄的命令
-p: 遞歸刪除目錄
touch 是 創(chuàng)建空文件或修改文件的時(shí)間戳
[root@localhost ~]# touch [選項(xià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:顯示版本信息。
stat 是查看文件詳細(xì)信息的命令,而且可以看到文件的這三個(gè)時(shí)間戳
選項(xiàng):
-L:支持符號(hào)連接;
-f:顯示文件系統(tǒng)狀態(tài)而非文件狀態(tài);
-t:以簡潔方式輸出信息;
cat 命令用來查看文件內(nèi)容
選項(xiàng):
-A: 相當(dāng)于-vET 選項(xiàng)的整合,用于列出所有隱藏符號(hào)
-E: 列出每行結(jié)尾的回車符$
-n: 顯示行號(hào)
-T: 把 Tab 鍵用^I顯示出來
-v: 列出特殊字符
more 是分屏顯示文件的命令
less 是分行顯示文件的命令
用less命令顯示文件時(shí),用PageUp鍵向上翻頁,用PageDown鍵向下翻頁。要退出less程序,應(yīng)按Q鍵。
選項(xiàng):
-e:文件內(nèi)容顯示完畢后,自動(dòng)退出;
-f:強(qiáng)制顯示文件;
-g:不加亮顯示搜索到的所有關(guān)鍵詞,僅顯示當(dāng)前顯示的關(guān)鍵字,以提高顯示速度;
-l:搜索時(shí)忽略大小寫的差異;
-N:每一行行首顯示行號(hào);
-s:將連續(xù)多個(gè)空行壓縮成一行顯示;
-S:在單行顯示較長的內(nèi)容,而不換行顯示;
-x數(shù)字:將TAB字符顯示為指定個(gè)數(shù)的空格字符。
head 是用來顯示文件開頭的命令
選項(xiàng):
-c --bytes=[-]NUM 顯示前NUM字節(jié);如果NUM前有"-",那么會(huì)打印除了文件末尾的NUM字節(jié)以外的其他內(nèi)容。
-n, --lines=[-]NUM 顯示前NUM行而不是默認(rèn)的10行;如果NUM前有"-",那么會(huì)打印除了文件末尾的NUM行以外的其他行。
-q, --quiet, --silent 不打印文件名行。
-v, --verbose 總是打印文件名行。
-z, --zero-terminated 行終止符為NUL而不是換行符。
tail 是用來顯示文件末尾的命令
選項(xiàng):
-c, --bytes=NUM 輸出文件尾部的NUM(NUM為整數(shù))個(gè)字節(jié)內(nèi)容。
-f, --follow[={name|descript}] 顯示文件最新追加的內(nèi)容。“name”表示以文件名的方式監(jiān)視文件的變化。
-F 與 “--follow=name --retry” 功能相同。
-n, --line=NUM 輸出文件的尾部NUM(NUM位數(shù)字)行內(nèi)容。
--pid=進(jìn)程號(hào) 與“-f”選項(xiàng)連用,當(dāng)指定的進(jìn)程號(hào)的進(jìn)程終止后,自動(dòng)退出tail命令。
-q, --quiet, --silent 當(dāng)有多個(gè)文件參數(shù)時(shí),不輸出各個(gè)文件名。
--retry 即是在tail命令啟動(dòng)時(shí),文件不可訪問或者文件稍后變得不可訪問,都始終嘗試打開文件。使用此選項(xiàng)時(shí)需要與選項(xiàng)“--follow=name”連用。
-s, --sleep-interal=秒數(shù) 與“-f”選項(xiàng)連用,指定監(jiān)視文件變化時(shí)間隔的秒數(shù)。
-v, --verbose 當(dāng)有多個(gè)文件參數(shù)時(shí),總是輸出各個(gè)文件名。
ln 是用來為文件創(chuàng)建鏈接的命令
[root@localhost ~]# ln [選項(xiàng)] 源文件 目標(biāo)文件
選項(xiàng):
-s: 建立軟鏈接文件。如果不加“-s”選項(xiàng),則建立硬鏈接文件
-f: 強(qiáng)制。如果目標(biāo)文件已經(jīng)存在,則刪除目標(biāo)文件后再建立鏈接文件
-d, -F, --directory 創(chuàng)建指向目錄的硬鏈接(只適用于超級(jí)用戶)
-f, --force 強(qiáng)行刪除任何已存在的目標(biāo)文件
-i, --interactive 覆蓋既有文件之前先詢問用戶
-L, --logical 取消引用作為軟鏈接的目標(biāo)
-n, --no-dereference 把軟鏈接的目的目錄視為一般文件
-P, --physical 直接將硬鏈接到軟鏈接
-r, --relative 創(chuàng)建相對(duì)于鏈接位置的軟鏈接
-s, --symbolic 對(duì)源文件建立軟鏈接
硬鏈接特征:
源文件和硬鏈接文件擁有相同的 Inode 和 Block
? 修改任意一個(gè)文件,另一個(gè)都改變
? 刪除任意一個(gè)文件,另一個(gè)都能使用
? 硬鏈接標(biāo)記不清,很難確認(rèn)硬鏈接文件位置,不建議使用
? 硬鏈接不能鏈接目錄
? 硬鏈接不能跨分區(qū)
軟鏈接特征:
? 軟鏈接和源文件擁有不同的 Inode 和 Block
? 兩個(gè)文件修改任意一個(gè),另一個(gè)都改變
? 刪除軟鏈接,源文件不受影響;刪除源文件,軟鏈接不能使用
? 軟鏈接沒有實(shí)際數(shù)據(jù),只保存源文件的 Inode,不論源文件多大,軟鏈接大小不變
? 軟鏈接的權(quán)限是最大權(quán)限 lrwxrwxrwx.,但是由于沒有實(shí)際數(shù)據(jù),最終訪問時(shí)需要參考源文
件權(quán)限
? 軟鏈接可以鏈接目錄
? 軟鏈接可以跨分區(qū)
? 軟鏈接特征明顯,建議使用軟連接
rm 是強(qiáng)大的刪除命令,不僅可以刪除文件,也可以刪除目錄
[root@localhost ~]# rm [選項(xiàng)] 文件或目錄
選項(xiàng):
d:直接把欲刪除的目錄的硬連接數(shù)據(jù)刪除成0,刪除該目錄;
-f:強(qiáng)制刪除文件或目錄;
-i:刪除已有文件或目錄之前先詢問用戶;
-r:遞歸處理,將指定目錄下的所有文件與子目錄一并處理;
--preserve-root:不對(duì)根目錄進(jìn)行遞歸操作;
-v:顯示指令的詳細(xì)執(zhí)行過程。
cp 是文件或目錄用于復(fù)制的命令
[root@localhost ~]# cp [選項(xiàng)] 源文件 目標(biāo)文件
選項(xiàng):
-a:此參數(shù)的效果和同時(shí)指定"-dpR"參數(shù)相同;
-d:當(dāng)復(fù)制軟鏈接時(shí),把目標(biāo)文件或目錄也建立為軟鏈接,并指向與源文件或目錄連接的原始文件或目錄;
-f:強(qiáng)行復(fù)制文件或目錄,不論目標(biāo)文件或目錄是否已存在;
-i:覆蓋既有文件之前先詢問用戶;
-l:對(duì)源文件建立硬連接,而非復(fù)制文件;
-p:保留源文件或目錄的屬性;
-r:遞歸處理,將指定目錄下的所有文件與子目錄一并處理;
-s:對(duì)源文件建立軟鏈接,而非復(fù)制文件;
-u:使用這項(xiàng)參數(shù)后只會(huì)在源文件的更改時(shí)間較目標(biāo)文件更新時(shí)或是名稱相互對(duì)應(yīng)的目標(biāo)文件并不存在時(shí),才復(fù)制文件;
-S:在備份文件時(shí),用指定的后綴“SUFFIX”代替文件的默認(rèn)后綴;
-b:覆蓋已存在的文件目標(biāo)前將目標(biāo)文件備份;
-v:詳細(xì)顯示命令執(zhí)行的操作。
mv 是用來對(duì)文件或目錄重新命名,或者將文件移動(dòng)至其他目錄
[root@localhost ~]# mv [選項(xiàng)] 源文件 目標(biāo)文件
選項(xiàng):
-b:當(dāng)文件存在時(shí),覆蓋前,為其創(chuàng)建一個(gè)備份;
-f:若目標(biāo)文件或目錄與現(xiàn)有的文件或目錄重復(fù),則直接覆蓋現(xiàn)有的文件或目錄;
-i:交互式操作,覆蓋前先行詢問用戶,如果源文件與目標(biāo)文件或目標(biāo)目錄中的文件同名,則詢問用戶是否覆蓋目標(biāo)文件。用戶輸入”y”,表示將覆蓋目標(biāo)文件;輸入”n”,表示取消對(duì)源文件的移動(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)操作。
[root@localhost ~]# ls -l install.log
-rw-r--r--. 1 root root 24772 1 月 14 18:17 install.log
第一列的權(quán)限位如果不計(jì)算最后的“.”,則共有 10 位。
第 2~4 位代表文件所有者的權(quán)限。
chmod 用來變更文件或目錄的權(quán)限
[root@localhost ~]# chmod [選項(xiàng)] 權(quán)限模式 文件名
選項(xiàng):
-c, --changes:當(dāng)文件的權(quán)限更改時(shí)輸出操作信息。
--no-preserve-root:不將'/'特殊化處理,默認(rèn)選項(xiàng)。
--preserve-root:不能在根目錄下遞歸操作。
-f, --silent, --quiet:抑制多數(shù)錯(cuò)誤消息的輸出。
-v, --verbose:無論文件是否更改了權(quán)限,一律輸出操作信息。
--reference=RFILE:使用參考文件或參考目錄RFILE的權(quán)限來設(shè)置目標(biāo)文件或目錄的權(quán)限。
-R, --recursive:對(duì)目錄以及目錄下的文件遞歸執(zhí)行更改權(quán)限操作。
用戶身份
首先,讀、寫、執(zhí)行權(quán)限對(duì)文件和目錄的作用是不同的。
目錄的可用權(quán)限其實(shí)只有以下幾個(gè)。
chown 是修改文件和目錄的所有者和所屬組的命令
[root@localhost ~]# chown [選項(xiàng)] 所有者:所屬組 文件或目錄
選項(xiàng):
-c或——changes:效果類似“-v”參數(shù),但僅回報(bào)更改的部分;
-f或--quite或——silent:不顯示錯(cuò)誤信息;
-h或--no-dereference:只對(duì)軟鏈接的文件作修改,而不更改其他任何相關(guān)文件;
-R或——recursive:遞歸處理,將指定目錄下的所有文件及子目錄一并處理;
-v或——version:顯示指令執(zhí)行過程;
--reference=參考文件或目錄:把指定文件或目錄的擁有者與所屬群組全部設(shè)成和參考文件或目錄的擁有者與所屬群組相同;
普通用戶不能修改文件的所有者,哪怕自己是這個(gè)文件的所有者也不行
普通用戶可以修改所有者是自己的文件的權(quán)限
chgrp 是修改文件和目錄的所屬組的命令
[root@phato ~]# chgrp [選項(xiàng)] 所屬組 文件或目錄
-R 遞歸式地改變指定目錄及其下的所有子目錄和文件的所屬的組
-c或——changes:效果類似“-v”參數(shù),但僅回報(bào)更改的部分;
-f或--quiet或——silent:不顯示錯(cuò)誤信息;
-h或--no-dereference:只對(duì)符號(hào)連接的文件作修改,而不是該其他任何相關(guān)文件;
-H如果命令行參數(shù)是一個(gè)通到目錄的軟鏈接,則遍歷軟鏈接
-R或——recursive:遞歸處理,將指令目錄下的所有文件及子目錄一并處理;
-L:遍歷每一個(gè)遇到的通到目錄的軟鏈接
-P:不遍歷任何符號(hào)鏈接(默認(rèn))
-v或——verbose:顯示指令執(zhí)行過程;
--reference=參考文件或目錄:把指定文件或目錄的所屬群組全部設(shè)成和參考文件或目錄的所屬群組相同;
umask 是顯示或設(shè)置創(chuàng)建文件的權(quán)限掩碼。我們需要先了解一下新建文件和目錄的默認(rèn)最大權(quán)限。
我們在這里按照權(quán)限字母來講解 umask 權(quán)限的計(jì)算方法。我們就按照默認(rèn)的 umask 值是 022來分別計(jì)算一下新建文件和目錄的默認(rèn)權(quán)限吧。
分享名稱:linux錯(cuò)誤處理命令,linux輸錯(cuò)命令
URL地址:http://chinadenli.net/article26/heijjg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、虛擬主機(jī)、搜索引擎優(yōu)化、網(wǎng)站設(shè)計(jì)公司、面包屑導(dǎo)航、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)