www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]當用戶在命令行下工作時,不是直接同操作系統(tǒng)內核交互信息的,而是由命令解釋器接受命令,分析后再傳給相關的程序。shell是一種Linux中的命令行解釋程序,就如同command.com是DOS下的命令解釋程序一樣,為用戶提供使用操作系統(tǒng)的接口。它們之間的關系如圖2.1所示。用戶在提示符下輸入的命令都由shell先解釋然后傳給Linux內核。

2.1Linux常用命令

在安裝完Linux再次啟動之后,就可以進入到與Windows類似的圖形化界面了。這個界面就是Linux圖形化界面X窗口系統(tǒng)(簡稱X)的一部分。要注意的是,X窗口系統(tǒng)僅僅是Linux上面的一個軟件(或者也可稱為服務),它不是Linux自身的一部分。雖然現(xiàn)在的X窗口系統(tǒng)已經(jīng)與Linux整合得相當好了,但畢竟還不能保證絕對的可靠性。另外,X窗口系統(tǒng)是一個相當耗費系統(tǒng)資源的軟件,它會大大地降低Linux的系統(tǒng)性能。因此,若是希望更好地享受Linux所帶來的高效及高穩(wěn)定性,建議讀者盡可能地使用Linux的命令行界面,也就是shell環(huán)境。

當用戶在命令行下工作時,不是直接同操作系統(tǒng)內核交互信息的,而是由命令解釋器接受命令,分析后再傳給相關的程序。shell是一種Linux中的命令行解釋程序,就如同command.com是DOS下的命令解釋程序一樣,為用戶提供使用操作系統(tǒng)的接口。它們之間的關系如圖2.1所示。用戶在提示符下輸入的命令都由shell先解釋然后傳給Linux內核。

小知識

·shell是命令語言、命令解釋程序及程序設計語言的統(tǒng)稱。它不僅擁有自己內建的shell命令集,同時也能被系統(tǒng)中其他應用程序所調用。

·shell的一個重要特性是它自身就是一個解釋型的程序設計語言,shell程序設計語言支持絕大多數(shù)在高級語言中能見到的程序元素,如函數(shù)、變量、數(shù)組和程序控制結構。shell編程語言簡單易學,任何在提示符中能鍵入的命令都能放到一個可執(zhí)行的shell程序中。關于shell編程的詳細講解,感興趣的讀者可以參見其他相關書籍。

Linux中運行shell的環(huán)境是“系統(tǒng)工具”下的“終端”,讀者可以單擊“終端”以啟動shell環(huán)境。這時屏幕上顯示類似“[david@localhosthome]$”的信息,其中,david是指系統(tǒng)用戶,localhost是計算機名,而home是指當前所在的目錄。

由于Linux中的命令非常多,要全部介紹幾乎是不可能的。因此,在本書按照命令的用途進行分類講解,并且對每一類中最常用的命令詳細講解,同時列出同一類中的其他命令。由于同一類的命令都有很大的相似性,因此,讀者通過學習本書中所列命令,可以很快地掌握其他命令。

圖2.1 內核、shell和用戶的關系

命令格式說明。

n 格式中帶[]的表明為可選項,其他為必選項。

n 選項可以多個連帶寫入。

n 本章后面選項參數(shù)列表中加粗的含義是:該選項是非常常用的選項。

2.1.1用戶系統(tǒng)相關命令

Linux是一個多用戶的操作系統(tǒng),每個用戶又可以屬于不同的用戶組,下面,首先來熟悉一下Linux中的用戶切換和用戶管理的相關命令。

1.用戶切換(su)

(1)作用。

變更為其他使用者的身份,主要用于將普通用戶身份轉變?yōu)槌売脩?,而且需輸入相應用戶密碼。

(2)格式。

su[選項][使用者]

其中的使用者為要變更的對應使用者。

(3)常見參數(shù)。

主要選項參數(shù)如表2.1所示。

表2.1 su命令常見參數(shù)列表

選項

參數(shù)含義

-,-l,--login

為該使用者重新登錄,大部分環(huán)境變量(如HOME、SHELL和USER等)和工作目錄都是以該使用者(USER)為主。若沒有指定USER,缺省情況是root

-m,-p

執(zhí)行su時不改變環(huán)境變量

-c,--command

變更賬號為USER的使用者,執(zhí)行指令(command)后再變回原來使用者

(4)使用示例。

[david@localhost~]$su-root

Password:

[root@localhost~]#

示例通過su命令將普通用戶變更為root用戶,并使用選項“-”攜帶root環(huán)境變量。

(5)使用說明。

n 在將普通用戶變更為root用戶時建議使用“-”選項,這樣可以將root的環(huán)境變量和工作目錄同時帶入,否則在以后的使用中可能會由于環(huán)境變量的原因而出錯。

n 在轉變?yōu)閞oot權限后,提示符變?yōu)?。

小知識

環(huán)境變量實際上就是用戶運行環(huán)境的參數(shù)集合。Linux是一個多用戶的操作系統(tǒng)。而且在每個用戶登錄系統(tǒng)后,都會有一個專有的運行環(huán)境。通常每個用戶默認的環(huán)境都是相同的,而這個默認環(huán)境實際上就是一組環(huán)境變量的定義。用戶可以對自己的運行環(huán)境進行定制,其方法就是修改相應的系統(tǒng)環(huán)境變量。

常見的環(huán)境變量如下。

☆PATH是系統(tǒng)路徑。

☆HOME是系統(tǒng)根目錄。

☆HISTSIZE是指保存歷史命令記錄的條數(shù)。

☆LOGNAME是指當前用戶的登錄名。

☆HOSTNAME是指主機的名稱,若應用程序要用到主機名,通常是從這個環(huán)境變量中來取得的。

☆SHELL是指當前用戶用的是哪種shell。

☆LANG/LANGUGE是和語言相關的環(huán)境變量,使用多種語言的用戶可以修改此環(huán)境變量。

☆MAIL是指當前用戶的郵件存放目錄。

設置環(huán)境變量方法如下。

ü通過echo顯示字符串(指定環(huán)境變量)。

ü通過export設置新的環(huán)境變量。

ü通過env顯示所有環(huán)境變量。

ü通過set命令顯示所有本地定義的shell變量。

ü通過unset命令來清除環(huán)境變量。

讀者可以試著用“env”命令查看“su-root”(或“su–”)和“suroot”的區(qū)別。

2.用戶管理(useradd和passwd)

Linux中常見用戶管理命令如表2.2所示,本書僅以useradd和passwd為例進行詳細講解,其他命令類似,請讀者自行學習使用。

表2.2 Linux常見用戶管理命令

命令

命令含義

格式

useradd

添加用戶賬號

useradd[選項]用戶名

usermod

設置用戶賬號屬性

usermod[選項]屬性值

userdel

刪除對應用戶賬號

userdel[選項]用戶名

groupadd

添加組賬號

groupadd[選項]組賬號

groupmod

設置組賬號屬性

groupmod[選項]屬性值

groupdel

刪除對應組賬號

groupdel[選項]組賬號

passwd

設置賬號密碼

passwd[對應賬號]

id

顯示用戶ID、組ID和用戶所屬的組列表

id[用戶名]

groups

顯示用戶所屬的組

groups[組賬號]

who

顯示登錄到系統(tǒng)的所有用戶

who

(1)作用。

①useradd:添加用戶賬號。

②passwd:更改對應用戶的賬號密碼。

(2)格式。

①useradd:useradd[選項]用戶名。

②passwd:passwd[選項][用戶名]。

其中的用戶名為修改賬號密碼的用戶,若不帶用戶名,缺省為更改當前使用者的密碼。

(3)常用參數(shù)

①useradd主要選項參數(shù)如表2.3所示。

表2.3 useradd命令常見參數(shù)列表

選項

參數(shù)含義

-g

指定用戶所屬的群組

-m

自動建立用戶的登入目錄

-n

取消建立以用戶名稱為名的群組

②passwd:一般很少使用選項參數(shù)。

(4)使用實例。

[root@localhost~]#useradddavid

[root@localhost~]#passwddavid

Newpassword:(輸入密碼)

Retypenewpassword:(再輸入一次密碼,以確認輸入的正確性)

passwd:allauthenticationtokensupdatedsuccessfully

[root@localhost~]#su–david

[david@localhost~]$

[david@localhost~]$pwd(查看當前目錄)

/home/david(該用戶的工作目錄)

實例中先添加了用戶名為david的用戶,接著又為該用戶設置了賬號密碼。從su的命令可以看出,該用戶添加成功,其工作目錄為“/home/david”。

(5)使用說明。

n 在添加用戶時,這兩個命令是一起使用的,其中,useradd必須用root的權限。而且useradd指令所建立的賬號,實際上是保存在“/etc/passwd”文本文件中,文件中每一行包含一個賬號信息。

n 在缺省情況下,useradd所做的初始化操作包括在“/home”目錄下為對應賬號建立一個同名的主目錄,并且還為該用戶單獨建立一個與用戶名同名的組。

n adduser只是useradd的符號鏈接(關于符號鏈接的概念在本節(jié)后面會有介紹),兩者是相同的。

n passwd還可用于普通用戶修改賬號密碼,Linux并不采用類似Windows的密碼回顯(顯示為*號),所以輸入的這些字符用戶是看不見的。密碼最好包括字母、數(shù)字和特殊符號,并且設成6位以上。

3.系統(tǒng)管理命令(ps和kill)

Linux中常見的系統(tǒng)管理命令如表2.4所示,本書以ps和kill為例進行講解。

表2.4 Linux常見系統(tǒng)管理命令

命令

命令含義

格式

ps

顯示當前系統(tǒng)中由該用戶運行的進程列表

ps[選項]

top

動態(tài)顯示系統(tǒng)中運行的程序(一般為每隔5s)

top

kill

輸出特定的信號給指定PID(進程號)的進程

kill[選項]進程號(PID)

uname

顯示系統(tǒng)的信息(可加選項-a)

uname[選項]

setup

系統(tǒng)圖形化界面配置

setup

crontab

循環(huán)執(zhí)行例行性命令

crontab[選項]

shutdown

關閉或重啟Linux系統(tǒng)

shutdown[選項][時間]

uptime

顯示系統(tǒng)已經(jīng)運行了多長時間

uptime

clear

清除屏幕上的信息

clear

(1)作用。

①ps:顯示當前系統(tǒng)中由該用戶運行的進程列表。

②kill:輸出特定的信號給指定PID(進程號)的進程,并根據(jù)該信號完成指定的行為。其中可能的信號有進程掛起、進程等待、進程終止等。

(2)格式。

①ps:ps[選項]。

②kill:kill[選項]進程號(PID)。

kill命令中的進程號為信號輸出的指定進程的進程號,當選項是缺省時為輸出終止信號給該進程。

(3)常見參數(shù)。

①ps主要選項參數(shù)如表2.5所示。

表2.5 ps命令常見參數(shù)列表

選項

參數(shù)含義

-ef

查看所有進程及其PID(進程號)、系統(tǒng)時間、命令詳細目錄、執(zhí)行者等

-aux

除可顯示-ef所有內容外,還可顯示CPU及內存占用率、進程狀態(tài)

-w

顯示加寬并且可以顯示較多的信息

②kill主要選項參數(shù)如表2.6所示。

表2.6 kill命令常見參數(shù)列表

選項

參數(shù)含義

-s

將指定信號發(fā)送給進程

-p

打印出進程號(PID),但并不送出信號

-l

列出所有可用的信號名稱

(4)使用實例。

[root@localhostroot]#ps–ef

UIDPIDPPIDCSTIMETTYTIMECMD

root1002005?00:00:05init

root2102005?00:00:00[keventd]

root3002005?00:00:00[ksoftirqd_CPU0]

root4002005?00:00:00[ksoftirqd_CPU1]

root7421102005?00:00:00/usr/local/bin/ntpd-c/etc/ntp.

root2178721739017:16pts/100:00:00grepntp

[root@localhostroot]#kill-97421(殺死進程)

[root@localhostroot]#ps-ef|grepntp

root2178921739017:16pts/100:00:00grepntp

該實例中首先查看所有進程,并終止進程號為7421的ntp進程,之后再次查看時已經(jīng)沒有該進程號的進程。

(5)使用說明。

n ps在使用中通??梢耘c其他一些命令結合起來使用,主要作用是提高效率。

n ps選項中的參數(shù)w可以寫多次,通常最多寫3次,它的含義為加寬3次,這足以顯示很長的命令行了。例如:ps–auxwww。

小知識

管道是Linux中信息通信的重要方式。它是把一個程序的輸出直接連接到另一個程序的輸入,而不經(jīng)過任何中間文件。管道線是指連接兩個或更多程序管道的通路。在shell中字符”|”表示管道線。如前例子中的ps–ef|grepntp所示,ps–ef的結果直接輸入到grepntp的程序中(關于grep命令在后面會有詳細的介紹)。grep、pr、sort和wc都可以在上述管道線上工作。讀者可以靈活地運用管道機制

4.磁盤相關命令(fdisk)

Linux中與磁盤相關的命令如表2.7所示,本書僅以fdisk為例進行講解。

表2.7 Linux常見系統(tǒng)管理命令

選項

參數(shù)含義

格式

free

查看當前系統(tǒng)內存的使用情況

free[選項]

df

查看文件系統(tǒng)的磁盤空間占用情況

df[選項]

du

統(tǒng)計目錄(或文件)所占磁盤空間的大小

du[選項]

fdisk

查看硬盤分區(qū)情況及對硬盤進行分區(qū)管理

fdisk[-l]

(1)作用。

fdisk可以查看硬盤分區(qū)情況,并可對硬盤進行分區(qū)管理,這里主要介紹如何查看硬盤分區(qū)情況,另外,fdisk也是一個非常好的硬盤分區(qū)工具,感興趣的讀者可以另外查找資料學習如何使用fdisk進行硬盤分區(qū)。

(2)格式。

fdisk[-l]

(3)使用實例。

[root@localhost~]#fdisk-l

Disk/dev/hda:40.0GB,40007761920bytes

240heads,63sectors/track,5168cylinders

Units=cylindersof15120*512=7741440bytes

DeviceBootStartEndBlocksIdSystem

/dev/hda1*110848195008+cW95FAT32(LBA)

/dev/hda21085516730867480fW95Ext'd(LBA)

/dev/hda51085243910243768+bW95FAT32

/dev/hda62440406412284968+bW95FAT32

/dev/hda740655096779952683Linux

/dev/hda85096516552208182Linuxswap

Disk/dev/sda:999MB,999816704bytes

4heads,8sectors/track,61023cylinders

Units=cylindersof32*512=16384bytes

Diskidentifier:0x00000000

DeviceBootStartEndBlocksIdSystem

/dev/sda1*161024976379+bW95FAT32

可以看出,使用“fdisk–l”列出了文件系統(tǒng)的分區(qū)情況。

(4)使用說明

n 使用fdisk必須擁有root權限。

n IDE硬盤對應的設備名稱分別為hda、hdb、hdc和hdd,SCSI硬盤對應的設備名稱則為sda、sdb、…。此外,hda1代表hda的第一個硬盤分區(qū),hda2代表hda的第二個分區(qū),依此類推。

n 通過查看/var/log/messages文件,可以找到Linux系統(tǒng)已辨認出來的設備代號。

5.文件系統(tǒng)掛載命令(mount)

(1)作用。

掛載文件系統(tǒng),它的使用權限是超級用戶或/etc/fstab中允許的使用者。正如1.2.1節(jié)中所述,掛載是指在分區(qū)和目錄之間建立映射關系的過程,而掛載點是指掛載在文件樹中的位置。使用mount命令可以把文件系統(tǒng)掛載到相應的目錄下,并且由于Linux中把設備都當成文件一樣使用,因此,mount命令也可以掛載不同的設備。

通常,在Linux下“/mnt”目錄是專門用于掛載不同的文件系統(tǒng)的,它可以在該目錄下新建不同的子目錄來掛載不同的設備文件系統(tǒng)。

(2)格式。

mount[選項][類型]設備文件名掛載點目錄

其中的類型是指設備文件的類型。

(3)常見參數(shù)

mount常見參數(shù)如表2.8所示。

表2.8 mount命令選項常見參數(shù)列表

選項

參數(shù)含義

-a

依照/etc/fstab的內容裝載所有相關的硬盤

-l

列出當前已掛載的設備、文件系統(tǒng)名稱和掛載點

-t類型

將后面的設備以指定類型的文件格式裝載到掛載點上。常見的類型有前面介紹過的幾種:vfat、ext3、ext2、iso9660、nfs等

-f

通常用于除錯。它會使mount不執(zhí)行實際掛上的動作,而是模擬整個掛上的過程,通常會和-v一起使用

(4)使用實例。

使用mount命令主要通過以下幾個步驟。

①確認是否為Linux可以識別的文件系統(tǒng),Linux可識別的文件系統(tǒng)只要是以下幾種。

n Windows95/98常用的FAT32文件系統(tǒng):vfat。

n WindowsNT/2000的文件系統(tǒng):ntfs。

n OS/2用的文件系統(tǒng):hpfs。

n Linux用的文件系統(tǒng):ext2、ext3、nfs。

n CD-ROM光盤用的文件系統(tǒng):iso9660。

②確定設備的名稱,可通過使用命令“fdisk-l”查看。

③查找掛載點。

必須確定掛載點已經(jīng)存在,也就是在“/mnt”下的相應子目錄已經(jīng)存在,一般建議在“/mnt”下新建幾個如“/mnt/windows”,“/mnt/usb”的子目錄,現(xiàn)在有些新版本的Linux(如Fedora、Ubuntu、紅旗Linux、中軟Linux、MandrakeLinux)都可自動掛載文件系統(tǒng),RedHatLinux僅可自動掛載光驅。

④掛載文件系統(tǒng)如下所示。

[root@locaohost~]#mkdir-p/mnt/win/c

[root@locaohost~]#mount-tvfat/dev/hda1/mnt/win/c

[root@localhost~]#cd/mnt/win/c

24.s03e01.pdtv.xvid-sfm.rmvbDocumentsandSettingsProgramFiles

24.s03e02.pdtv.xvid-sfm.rmvbDownloadsRecycled

C盤是原先筆者Windows系統(tǒng)的啟動盤??梢?,在掛載了C盤之后,可直接訪問Windows下的C盤的內容。

⑤在使用完該設備文件后可使用命令umount將其卸載。

[root@localhost~]#umount/mnt/win/c

[root@localhost~]#cd/mnt/win/c

[root@localhost~]#ls/mnt/win/c

可見,此時目錄“/mnt/win/c”下為空。Windows下的C盤已被成功卸載。

小知識

·在Linux下如何使用U盤呢?

一般U盤為SCSI格式的硬盤,其格式為vfat格式,其設備號可通過“fdisk–l”進行查看,假若設備名為“/dev/sda1”,則可用如下命令將其掛載:

mount-tvfat/dev/sda1/mnt/usb

·若想設置在開機時自動掛載,可在文件“/etc/fstab”中加入相應的設置行即可。

2.1.2文件相關命令

Linux中有關文件的操作非常重要,也非常常用,本節(jié)將對Linux系統(tǒng)的文件操作命令進行詳細講解。

1.cd

(1)作用。

改變當前工作目錄。

(2)格式。

cd[路徑]

其中的路徑為要改變的工作目錄,可為相對路徑或絕對路徑。

(3)使用實例。

[root@localhost~]#cd/home/david/

[root@localhostdavid]#pwd

[root@localhostdavid]#/home/david/

該實例中變更工作目錄為“/home/david/”,在后面的“pwd”(顯示當前目錄)的結果中可以看出。

(4)使用說明。

n 該命令將當前目錄改變至指定路徑的目錄。若沒有指定路徑,則回到用戶的主目錄(例如:“/home/david”為用戶david的主目錄)。為了改變到指定目錄,用戶必須擁有對指定目錄的執(zhí)行和讀權限。

n 該命令可以使用通配符。

n 使用“cd–”可以回到前次工作目錄。

n “./”代表當前目錄,“../”代表上級目錄。

2.ls

(1)作用

列出目錄和文件的信息。

(2)格式。

ls[選項][文件]

其中文件選項為指定查看指定文件的相關內容,若未指定文件,默認查看當前目錄下的所有文件。

(3)常見參數(shù)。

ls主要選項參數(shù)見表2.9所示。

表2.9 ls命令常見參數(shù)列表

選項

參數(shù)含義

-1,--format=single-column

一行輸出一個文件(單列輸出)

-a,-all

列出目錄中所有文件,包括以“.”開頭的隱藏文件

-d

將目錄名和其他文件一樣列出,而不是列出目錄的內容

-l,--format=long,--format=verbose

除每個文件名外,增加顯示文件類型、權限、硬鏈接數(shù)、所有者名、組名、大?。˙yte)及時間信息(如未指明是其他時間即指修改時間)

-f

不排序目錄內容,按它們在磁盤上存儲的順序列出

(4)使用實例。

[david@localhosttest]$ls-l

total220

drwxr-xr-x2rootroot4096Mar312005bin

drwxr-xr-x3rootroot4096Apr32005boot

-rw-r--r--1rootroot0Apr242002test.run

該實例查看當前目錄下的所有文件,并通過選項“-l”顯示出詳細信息。

顯示格式說明如下。

文件類型與權限鏈接數(shù)文件屬主文件屬組文件大小修改的時間名字

(5)使用說明。

n 在ls的常見參數(shù)中,-l(長文件名顯示格式)的選項是最為常見的??梢栽敿氾@示出各種信息。

n若想顯示出所有“.”開頭的隱藏文件,可以使用-a,這在嵌入式開發(fā)中很常用。

注意

Linux中的可執(zhí)行文件不是與Windows一樣通過文件擴展名來標識的,而是通過設置文件相應的可執(zhí)行屬性來實現(xiàn)的。

3.mkdir

(1)作用。

創(chuàng)建一個目錄。

(2)格式。

mkdir[選項]路徑

(3)常見參數(shù)。

mkdir主要選項參數(shù)如表2.10所示。

表2.10 mkdir命令常見參數(shù)列表

選項

參數(shù)含義

-m

對新建目錄設置存取權限,也可以用chmod命令(在本節(jié)后會有詳細說明)設置

-p

可以是一個路徑名稱。此時若此路徑中的某些目錄尚不存在,在加上此選項后,系統(tǒng)將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄

(4)使用實例。

[david@localhost~]$mkdir-p./hello/my

[david@localhost~]$cdhello/my

[david@localhostmy]$pwd(查看當前目錄命令)

/home/david/hello/my

該實例使用選項“-p”一次創(chuàng)建了./hello/my多級目錄。

[david@localhostmy]$mkdir-m777./why

[david@localhostmy]$ls-l

total4

drwxrwxrwx2rootroot4096Jan1409:24why

該實例使用改選項“-m”創(chuàng)建了相應權限的目錄。對于“777”的權限在本節(jié)后面會有詳細的說明。

(5)使用說明。

該命令要求創(chuàng)建目錄的用戶在創(chuàng)建路徑的上級目錄中具有寫權限,并且路徑名不能是當前目錄中已有的目錄或文件名稱。

4.cat

(1)作用。

連接并顯示指定的一個或多個文件的有關信息。

(2)格式。

cat[選項]文件1文件2…

其中的文件1、文件2為要顯示的多個文件。

(3)常見參數(shù)。

cat命令的常見參數(shù)如表2.11所示。

表2.11 cat命令常見參數(shù)列表

選項

參數(shù)含義

-n

由第一行開始對所有輸出的行數(shù)編號

-b

和-n相似,只不過對于空白行不編號

(4)使用實例。

[david@localhost~]$cat-nhello1.chello2.c

1#include<stdio.h>

2voidmain()

3{

4printf("Hello!Thisismyhome!n");

5}

6#include<stdio.h>

7voidmain()

8{

9printf("Hello!Thisisyourhome!n");

10}

在該實例中,指定對hello1.c和hello2.c進行輸出,并指定行號。

5.cp、mv和rm

(1)作用。

①cp:將給出的文件或目錄復制到另一文件或目錄中。

②mv:為文件或目錄改名或將文件由一個目錄移入另一個目錄中。

③rm:刪除一個目錄中的一個或多個文件或目錄。

(2)格式。

①cp:cp[選項]源文件或目錄目標文件或目錄

②mv:mv[選項]源文件或目錄目標文件或目錄

③rm:rm[選項]文件或目錄

(3)常見參數(shù)。

①cp主要選項參數(shù)如表2.12所示。

表2.12 cp命令常見參數(shù)列表

選項

參數(shù)含義

-a

保留鏈接、文件屬性,并復制其子目錄,其作用等于dpr選項的組合

-d

復制時保留鏈接

-f

刪除已經(jīng)存在的目標文件而不提示

-i

在覆蓋目標文件之前將給出提示要求用戶確認?;卮饄時目標文件將被覆蓋,而且是交互式復制

-p

此時cp除復制源文件的內容外,還將把其修改時間和訪問權限也復制到新文件中

-r

若給出的源文件是一個目錄文件,此時cp將遞歸復制該目錄下所有的子目錄和文件。此時目標文件必須為一個目錄名

②mv主要選項參數(shù)如表2.13所示。

表2.13 mv命令常見參數(shù)列表

選項

參數(shù)含義

-i

若mv操作將導致對已存在的目標文件的覆蓋,此時系統(tǒng)詢問是否重寫,并要求用戶回答y或n,這樣可以避免誤覆蓋文件

-f

禁止交互操作。在mv操作要覆蓋某已有的目標文件時不給任何指示,在指定此選項后,i選項將不再起作用

③rm主要選項參數(shù)如表2.14所示。

表2.14 rm命令常見參數(shù)列表

選項

參數(shù)含義

-i

進行交互式刪除

-f

忽略不存在的文件,但從不給出提示

-r

指示rm將參數(shù)中列出的全部目錄和子目錄均遞歸地刪除

(4)使用實例。

①cp

[root@wwwhello]#cp-a./my/why/./

[root@wwwhello]#ls

mywhy

該實例使用-a選項將“/my/why”目錄下的所有文件復制到當前目錄下。而此時在原先目錄下還有原有的文件。

②mv

[root@wwwhello]#mv-i./my/why/./

[root@wwwhello]#ls

mywhy

該實例中把“/my/why”目錄下的所有文件移至當前目錄,則原目錄下文件被自動刪除。

③rm

[root@wwwhello]#rm–r-i./why

rm:descendintodirectory'./why'?y

rm:remove'./why/my.c'?y

rm:removedirectory'./why'?y

該實例使用“-r”選項刪除“./why”目錄下所有內容,系統(tǒng)會進行確認是否刪除。

(5)使用說明。

①cp:該命令把指定的源文件復制到目標文件,或把多個源文件復制到目標目錄中。

②mv

n 該命令根據(jù)命令中第二個參數(shù)類型的不同(是目標文件還是目標目錄)來判斷是重命名還是移動文件,當?shù)诙€參數(shù)類型是文件時,mv命令完成文件重命名,此時,它將所給的源文件或目錄重命名為給定的目標文件名;

n 當?shù)诙€參數(shù)是已存在的目錄名稱時,mv命令將各參數(shù)指定的源文件均移至目標目錄中;

n 在跨文件系統(tǒng)移動文件時,mv先復制,再將原有文件刪除,而連至該文件的鏈接也將丟失。

③rm

n 如果沒有使用-r選項,則rm不會刪除目錄;

n 使用該命令時一旦文件被刪除,它是不能被恢復的,所以最好使用-i參數(shù)。

6.chown和chgrp

(1)作用。

①chown:修改文件所有者和組別。

②chgrp:改變文件的組所有權。

(2)格式。

①chown:chown[選項]...文件所有者[所有者組名]文件

其中的文件所有者為修改后的文件所有者。

②chgrp:chgrp[選項]...文件所有組文件

其中的文件所有組為改變后的文件組擁有者。

(3)常見參數(shù)。

chown和chgrp的常見參數(shù)意義相同,其主要選項參數(shù)如表2.15所示。

表2.15 chown和chgrp命令常見參數(shù)列表

選項

參數(shù)含義

-c,-changes

詳盡地描述每個file實際改變了哪些所有權

-f,--silent,--quiet

不打印文件所有權就不能修改的報錯信息

(4)使用實例。

在筆者的系統(tǒng)中一個文件的所有者原先是這樣的。

[root@localhosttest]#$ls-l

-rwxr-xr-x15apecteldavid40966月4200XuClinux-dist.tar

可以看出,這是一個文件,文件擁有者是apectel,具有可讀寫和執(zhí)行的權限,它所屬的用戶組是david,具有可讀和執(zhí)行的權限,但沒有可寫的權限,同樣,系統(tǒng)其他用戶對其也只有可讀和執(zhí)行的權限。

首先使用chown將文件所有者改為root。

[root@localhosttest]#chownrootuClinux-dist.tar

[root@localhosttest]#ls–l

-rwxr-xr-x15rootdavid40966月4200XuClinux-dist.tar

可以看出,此時,該文件擁有者變?yōu)榱藃oot,它所屬文件用戶組不變。

接著使用chgrp將文件用戶組變?yōu)閞oot。

[root@localhosttest]#chgrprootuClinux-dist.tar

[root@localhosttest]#ls–l

-rwxr-xr-x15rootroot40966月4200XuClinux-dist.tar

(5)使用說明。

n 使用chown和chgrp必須擁有root權限。

小知識

在進行有關文件的操作時,若想避免輸入冗長的文件,在文件名沒有重復的情況下可以使用輸入文件前幾個字母+<Tab>鍵的方式,即:cd/uC<tab>會顯示cd/uClinux-list

7.chmod

(1)作用。

改變文件的訪問權限。

(2)格式。

chmod可使用符號標記進行更改和八進制數(shù)指定更改兩種方式,因此它的格式也有兩種不同的形式。

①符號標記:chmod[選項]…符號權限[符號權限]…文件

其中的符號權限可以指定為多個,也就是說,可以指定多個用戶級別的權限,但它們中間要用逗號分開表示,若沒有顯式指出則表示不作更改。

②八進制數(shù):chmod[選項]…八進制權限文件…

其中的八進制權限是指要更改后的文件權限。

(3)選項參數(shù)。

chmod主要選項參數(shù)如表2.16所示。

表2.16 chmod命令常見參數(shù)列表

選項

參數(shù)含義

-c

若該文件權限確實已經(jīng)更改,才顯示其更改動作

-f

若該文件權限無法被更改也不要顯示錯誤信息

-v

顯示權限變更的詳細資料

(4)使用實例。

chmod涉及文件的訪問權限,在此對相關的概念進行簡單的回顧。

在1.3.1節(jié)中已經(jīng)提到,文件的訪問權限可表示成:-rwxrwxrwx。在此設有3種不同的訪問權限:讀(r)、寫(w)和運行(x)。3個不同的用戶級別:文件擁有者(u)、所屬的用戶組(g)和系統(tǒng)里的其他用戶(o)。在此,可增加一個用戶級別a(all)來表示所有這3個不同的用戶級別。

①第一種符號連接方式的chmod命令中,用加號“+”代表增加權限,用減號“−”代表刪除權限,等于號“=”代表設置權限。

例如,原先筆者系統(tǒng)中有文件uClinux20031103.tgz,其權限如下所示。

[root@localhosttest]#ls–l

-rw-r--r--1rootroot79708616Mar242005uClinux20031103.tgz

[root@localhosttest]#chmoda+rx,u+wuClinux20031103.tgz

[root@localhosttest]#ls–l

-rwxr-xr-x1rootroot79708616Mar242005uClinux20031103.tgz

可見,在執(zhí)行了chmod之后,文件擁有者除擁有所有用戶都有的可讀和執(zhí)行的權限外,還有可寫的權限。

②對于第二種八進制數(shù)指定的方式,將文件權限字符代表的有效位設為“1”,即“rw-”、“rw-”和“r--”的八進制表示為“110”、“110”、“100”,把這個二進制串轉換成對應的八進制數(shù)就是6、6、4,也就是說該文件的權限為664(三位八進制數(shù))。這樣對于轉化后八進制數(shù)、二進制及對應權限的關系如表2.17所示。

表2.17 轉化后八進制數(shù)、二進制及對應權限的關系

轉換后八進制數(shù)

二進制

對應權限

轉換后八進制數(shù)

二進制

對應權限

0

000

沒有任何權限

1

001

只能執(zhí)行

2

010

只寫

3

011

只寫和執(zhí)行

4

100

只讀

5

101

只讀和執(zhí)行

6

110

讀和寫

7

111

讀、寫和執(zhí)行

同上例,原先筆者系統(tǒng)中有文件genromfs-0.5.1.tar.gz,其權限如下所示。

[root@localhosttest]#ls–l

-rw-rw-r--1daviddavid20543Dec292004genromfs-0.5.1.tar.gz

[root@localhosttest]#chmod765genromfs-0.5.1.tar.gz

[root@localhosttest]#ls–l

-rwxrw-r-x1daviddavid20543Dec292004genromfs-0.5.1.tar.gz

可見,在執(zhí)行了chmod765之后,該文件的擁有者權限、文件組權限和其他用戶權限都恰當?shù)貙恕?/p>

(5)使用說明

n 使用chmod必須具有root權限。

想一想

chmodo+xuClinux20031103.tgz是什么意思?它所對應的八進制數(shù)指定更改應如何表示?

8.grep

(1)作用。

在指定文件中搜索特定的內容,并將含有這些內容的行標準輸出。

(2)格式。

grep[選項]格式[文件及路徑]

其中的格式是指要搜索的內容格式,若缺省“文件及路徑”則默認表示在當前目錄下搜索。

(3)常見參數(shù)。

grep主要選項參數(shù)如表2.18所示。

表2.18 grep命令常見參數(shù)列表

選項

參數(shù)含義

-c

只輸出匹配行的計數(shù)

-I

不區(qū)分大小寫(只適用于單字符)

-h

查詢多文件時不顯示文件名

-l

查詢多文件時只輸出包含匹配字符的文件名

-n

顯示匹配行及行號

-s

不顯示不存在或無匹配文本的錯誤信息

-v

顯示不包含匹配文本的所有行

(4)使用實例。

[root@localhosttest]#grep"hello"/-r

Binaryfile./iscit2005/備份/iscit2004.sqlmatches

./ARM_TOOLS/uClinux-Samsung/linux-2.4.x/Documentation/s390/Debugging390.txt:helloworld$2=0

在本例中,“hello”是要搜索的內容,“/-r”是指定文件,表示搜索根目錄下的所有文件。

(5)使用說明。

n 在缺省情況下,“grep”只搜索當前目錄。如果此目錄下有許多子目錄,“grep”會以如下形式列出:“grep:sound:Isadirectory”。這會使“grep”的輸出難以閱讀。但有以下兩種解決的方法。

①明確要求搜索子目錄:grep–r(正如上例中所示);

②忽略子目錄:grep-dskip。

n 當預料到有許多輸出時,可以通過管道將其轉到“less”(分頁器)上閱讀:如grep"h"./-r|less分頁閱讀。

n grep特殊用法。

greppattern1|pattern2files:顯示匹配pattern1或pattern2的行;

greppattern1files|greppattern2:顯示既匹配pattern1又匹配pattern2的行;

小知識

在文件命令中經(jīng)常會使用pattern正則表達式,它是可以描述一類字符串的模式(Pattern),如果一個字符串可以用某個正則表達式來描述,就稱這個字符和該正則表達式匹配。這和DOS中用戶可以使用通配符“*”代表任意字符類似。在Linux系統(tǒng)上,正則表達式通常被用來查找文本的模式,以及對文本執(zhí)行“搜索-替換”操作等。

正則表達式的主要參數(shù)有如下

·:忽略正則表達式中特殊字符的原有含義;

·^:匹配正則表達式的開始行;

·$:匹配正則表達式的結束行;

·<:從匹配正則表達式的行開始;

·>:到匹配正則表達式的行結束;

·[]:單個字符,如[A]即A符合要求;

·[-]:范圍,如[A-Z],即A、B、C一直到Z都符合要求;

·。:所有的單個字符;

·*:所有字符,長度可以為0。

9.find

(1)作用。

在指定目錄中搜索文件,它的使用權限是所有用戶。

(2)格式。

find[路徑][選項][描述]

其中的路徑為文件搜索路徑,系統(tǒng)開始沿著此目錄樹向下查找文件。它是一個路徑列表,相互用空格分離。若缺省路徑,那么默認為當前目錄。

其中的描述是匹配表達式,是find命令接受的表達式。

(3)常見參數(shù)。

[選項]主要參數(shù)如表2.19所示。

表2.19 find選項常見參數(shù)列表

選項

參數(shù)含義

-depth

使用深度級別的查找過程方式,在某層指定目錄中優(yōu)先查找文件內容

-mount

不在其他文件系統(tǒng)(如Msdos、Vfat等)的目錄和文件中查找

[描述]主要參數(shù)如表2.20所示。

表2.20 find描述常見參數(shù)列表

選項

參數(shù)含義

-name

支持通配符*和?

-user

用戶名:搜索文件屬主為用戶名(ID或名稱)的文件

-print

輸出搜索結果,并且打印

(4)使用實例。

[root@localhosttest]#find./-namehello*.c

./hello1.c

./iscit2005/hello2.c

在該實例中使用了-name的選項支持通配符。

(5)使用說明。

n 若使用目錄路徑為“/”,通常需要查找較多的時間,可以指定更為確切的路徑以減少查找時間。

n find命令可以使用混合查找的方法,例如,想在/etc目錄中查找大于500000字節(jié),并且在24小時內修改的某個文件,則可以使用-and(與)把兩個查找參數(shù)鏈接起來組合成一個混合的查找方式,如“find/etc-size+500000c-and-mtime+1”。

10.locate

(1)作用。

用于查找文件。其方法是先建立一個包括系統(tǒng)內所有文件名稱及路徑的數(shù)據(jù)庫,之后當尋找時就只需查詢這個數(shù)據(jù)庫,而不必實際深入檔案系統(tǒng)之中了。因此其速度比find快很多。

(2)格式。

locate[選項]

(3)locate主要選項參數(shù)如表2.21所示。

表2.21 locate命令常見參數(shù)列表

選項

參數(shù)含義

-u

從根目錄開始建立數(shù)據(jù)庫

-U

在指定的位置開始建立數(shù)據(jù)庫

-f

將特定的文件系統(tǒng)排除在數(shù)據(jù)庫外,例如proc文件系統(tǒng)中的文件

-r

使用正則運算式做尋找的條件

-o

指定數(shù)據(jù)庫的名稱

(4)使用實例。

[root@localhosttest]#locateissue-U./

[root@localhosttest]#updatedb

[root@localhosttest]#locate-rissue*

./ARM_TOOLS/uClinux-Samsung/lib/libpam/doc/modules/pam_issue.sgml

./ARM_TOOLS/uClinux-Samsung/lib/libpam/modules/pam_issue

./ARM_TOOLS/uClinux-Samsung/lib/libpam/modules/pam_issue/Makefile

./ARM_TOOLS/uClinux-Samsung/lib/libpam/modules/pam_issue/pam_issue.c

實例中首先在當前目錄下建立了一個數(shù)據(jù)庫,并且在更新了數(shù)據(jù)庫之后進行正則匹配查找。通過運行可以發(fā)現(xiàn)locate的運行速度非???。

(5)使用說明。

locate命令所查詢的數(shù)據(jù)庫由updatedb程序來更新,而updatedb是由crondaemon周期性建立的,但若所找到的檔案是最近才建立或剛改名的,可能會找不到,因為updatedb默認每天運行一次,用戶可以由修改crontab配置(etc/crontab)來更新周期值。

11.ln

(1)作用。

為某一個文件在另外一個位置建立一個符號鏈接。當需要在不同的目錄用到相同的文件時,Linux允許用戶不用在每一個需要的目錄下都存放一個相同的文件,而只需將其他目錄下的文件用ln命令鏈接即可,這樣就不必重復地占用磁盤空間。

(2)格式。

ln[選項]目標目錄

(3)常見參數(shù)。

n -s建立符號鏈接(這也是通常惟一使用的參數(shù))。

(4)使用實例。

[root@localhosttest]#ln-s../genromfs-0.5.1.tar.gz./hello

[root@localhosttest]#ls-l

total77948

lrwxrwxrwx1rootroot24Jan1400:25hello->../genromfs-0.5.1.tar.gz

該實例建立了當前目錄的hello文件與上級目錄之間的符號鏈接,可以看見,在hello的ls–l中的第一位為“l”,表示符號鏈接,同時還顯示了鏈接的源文件。

(5)使用說明。

n ln命令會保持每一處鏈接文件的同步性,也就是說,不論改動了哪一處,其他的文件都會發(fā)生相同的變化。

n ln的鏈接分軟鏈接和硬鏈接兩種。

軟鏈接就是上面所說的ln-s****,它只會在用戶選定的位置上生成一個文件的鏡像,不會重復占用磁盤空間,平時使用較多的都是軟鏈接。

硬鏈接是不帶參數(shù)的ln****,它會在用戶選定的位置上生成一個和源文件大小相同的文件,無論是軟鏈接還是硬鏈接,文件都保持同步變化。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉