操作系统实验二Linux的常用命令.docx
- 文档编号:6907636
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:30
- 大小:391.14KB
操作系统实验二Linux的常用命令.docx
《操作系统实验二Linux的常用命令.docx》由会员分享,可在线阅读,更多相关《操作系统实验二Linux的常用命令.docx(30页珍藏版)》请在冰豆网上搜索。
操作系统实验二Linux的常用命令
实验2
一解释下列Linux的常用命令
1.ls
名称:
ls
使用权限:
所有使用者
使用方式:
ls[-alrtAFR][name...]
说明:
显示指定工作目录下之内容(列出目前工作目录所含之档案及子目录)。
参数:
-a显示所有档案及目录(ls内定将档案名或目录名称开头为"."的视为隐藏档,不会列出)
-l除档案名称外,亦将档案型态、权限、拥有者、档案大小等资讯详细列出
-r将档案以相反次序显示(原定依英文字母次序)
-t将档案依建立时间之先后次序列出
-A同-a,但不列出"."(目前目录)及".."(父目录)
-F在列出的档案名称后加一符号;例如可执行档则加"*",目录则加"/"
-R若目录下有档案,则以下之档案亦皆依序列出
范例:
列出目前工作目录下所有名称是s开头的档案,愈新的排愈后面:
ls-ltrs*
将/bin目录以下所有目录及档案详细资料列出:
ls-lR/bin
列出目前工作目录下所有档案及目录;目录于名称后加"/",可执行档于名称后加"*":
ls–AF
2.chmod
指令名称:
chmod
使用权限:
所有使用者
使用方式:
chmod[-cfvR][--help][--version]modefile...
说明:
Linux/Unix的档案调用权限分为三级:
档案拥有者、群组、其他。
利用chmod可以藉以控制档案如何被他人所调用。
参数:
mode:
权限设定字串,格式如下:
[ugoa...][[+-=][rwxX]...][,...],其中
u表示该档案的拥有者,g表示与该档案的拥有者属于同一个群体(group)者,o表示其他以外的人,a表示这三者皆是。
+表示增加权限、-表示取消权限、=表示唯一设定权限。
r表示可读取,w表示可写入,x表示可执行,X表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
-c:
若该档案权限确实已经更改,才显示其更改动作
-f:
若该档案权限无法被更改也不要显示错误讯息
-v:
显示权限变更的详细资料
-R:
对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
--help:
显示辅助说明
--version:
显示版本
范例:
将档案file1.txt设为所有人皆可读取:
chmodugo+rfile1.txt
将档案file1.txt设为所有人皆可读取:
chmoda+rfile1.txt
将档案file1.txt与file2.txt设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入:
chmodug+w,o-wfile1.txtfile2.txt
将ex1.py设定为只有该档案拥有者可以执行:
chmodu+xex1.py
将目前目录下的所有档案与子目录皆设为任何人可读取:
chmod-Ra+r*
此外chmod也可以用数字来表示权限如chmod777file
语法为:
chmodabcfile
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=7。
范例:
chmoda=rwxfile
和
chmod777file
效果相同
chmodug=rwx,o=xfile
和
chmod771file
效果相同
若用chmod4755filename可使此程序具有root的权限
3.cat
名称:
cat
使用权限:
所有使用者
使用方式:
cat[-AbeEnstTuv][--help][--version]fileName
说明:
把档案串连接后传到基本输出(萤幕或加>fileName到另一个档案)
参数:
-n或--number由1开始对所有输出的行数编号
-b或--number-nonblank和-n相似,只不过对于空白行不编号
-s或--squeeze-blank当遇到有连续两行以上的空白行,就代换为一行的空白行
-v或--show-nonprinting
范例:
cat-ntextfile1>textfile2把textfile1的档案内容加上行号后输入textfile2这个档案里
cat-btextfile1textfile2>>textfile3把textfile1和textfile2的档案内容加上行号(空白行不加)之后将内容附加到textfile3里。
范例:
把textfile1的档案内容加上行号后输入textfile2这个档案里
cat-ntextfile1>textfile2
把textfile1和textfile2的档案内容加上行号(空白行不加)之后将内容附加到textfile3里。
cat-btextfile1textfile2>>textfile3
cat/dev/null>/etc/test.txt此为清空/etc/test.txt档案内容
cat也可以用来制作imagefile。
例如要制作软碟的imagefile,将软碟放好后打
cat/dev/fd0>OUTFILE
相反的,如果想把imagefile写到软碟,请打
catIMG_FILE>/dev/fd0
注:
1.OUTFILE指输出的image档名。
2.IMG_FILE指imagefile。
3.若从imagefile写回device时,device容量需与相当。
4.通常用在制作开机磁片。
4.cp
名称:
cp
使用权限:
所有使用者
使用方式:
cp[options]sourcedest
cp[options]source...directory
说明:
将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。
参数:
-a尽可能将档案状态、权限等资料都照原状予以复制。
-r若source中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。
-f若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。
范例:
将档案aaa复制(已存在),并命名为bbb:
cpaaabbb
将所有的C语言程序拷贝至Finished子目录中:
cp*.cFinished
5.mv
名称:
mv
使用权限:
所有使用者
使用方式:
mv[options]sourcedest
mv[options]source...directory
说明:
将一个档案移至另一档案,或将数个档案移至另一目录。
参数:
-i若目的地已有同名档案,则先询问是否覆盖旧档。
范例:
将档案aaa更名为bbb:
mvaaabbb
将所有的C语言程序移至Finished子目录中:
mv-i*.c
6.cd
名称:
cd
使用权限:
所有使用者
使用方式:
cd[dirName]
说明:
变换工作目录至dirName。
其中dirName表示法可为绝对路径或相对路径。
若目录名称省略,则变换至使用者的homedirectory(也就是刚login时所在的目录)。
另外,"~"也表示为homedirectory的意思,"."则是表示目前所在的目录,".."则表示目前目录位置的上一层目录。
范例:
跳到/usr/bin/:
cd/usr/bin
跳到自己的homedirectory:
cd~
跳到目前目录的上上两层:
cd../..
cd-返回进入当前目录前所在目录
7.mkdir
名称:
mkdir
使用权限:
于目前目录有适当权限的所有使用者
使用方式:
mkdir[-p]dirName
说明:
建立名称为dirName之子目录。
参数:
-p确保目录名称存在,不存在的就建一个。
范例:
在工作目录下,建立一个名为AAA的子目录:
mkdirAAA
在工作目录下的BBB目录中,建立一个名为Test的子目录。
若BBB目录原本不存在,则建立一个。
(注:
本例若不加-p,且原本BBB目录不存在,则产生错误。
)
mkdir-pBBB/Test
8.rm
名称:
rm
使用权限:
所有使用者
使用方式:
rm[options]name...
说明:
删除档案及目录。
参数:
-i删除前逐一询问确认。
-f即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r将目录及以下之档案亦逐一删除。
范例:
删除所有C语言程序档;删除前逐一询问确认:
rm-i*.c
将Finished子目录及子目录中所有档案删除:
rm-rFinished
9.rmdir
名称:
rmdir
使用权限:
于目前目录有适当权限的所有使用者
使用方式:
rmdir[-p]dirName
说明:
删除空的目录。
参数:
-p是当子目录被删除后使它也成为空目录的话,则顺便一并删除。
范例:
将工作目录下,名为AAA的子目录删除:
rmdirAAA
在工作目录下的BBB目录中,删除名为Test的子目录。
若Test删除后,BBB目录成为空目录,则BBB亦予删除。
rmdir-pBBB/Test
10.locate
名称:
locate
使用权限:
所有使用者
使用方式:
locate[-q][-d][--database=]
locate[-r][--regexp=]
locate[-qv][-o][--output=]
locate[-e][-f]<[-l][-c]
<[-U][-u]>
locate[-Vh][--version][--help]
说明:
locate让使用者可以很快速的搜寻档案系统内是否有指定的档案。
其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。
在一般的distribution之中,数据库的建立都被放在contab中自动执行。
一般使用者在使用时只要用
#locateyour_file_name
的型式就可以了。
参数:
-u
-U
建立数据库,-u会由根目录开始,-U则可以指定开始的位置。
-e
将
排除在寻找的范围之外。
-l
如果是1.则启动安全模式。
在安全模式下,使用者不会看到权限无法看到的档案。
这会始速度减慢,因为locate必须至实际的档案系统中取得档案的权限资料。
-f
将特定的档案系统排除在外,例如我们没有到理要把proc档案系统中的档案放在数据库中。
-q
安静模式,不会显示任何错误讯息。
-n
至多显示个输出。
-r
使用正规运算式做寻找的条件。
-o
指定数据库存的名称。
-d
指定数据库的路径
-h
显示辅助讯息
-v
显示更多的讯息
-V
显示程序的版本讯息范例:
locatechdrv:
寻找所有叫chdrv的档案
locate-n100a.out:
寻找所有叫a.out的档案,但最多只显示100个
locate-u:
建立数据库
locate命令可以在搜寻数据库时快速找到档案,数据库由updatedb程序来更新,updatedb是由crondaemon周期性建立的,locate命令在搜寻数据库时比由整个由硬盘资料来搜寻资料来得快,但较差劲的是locate所找到的档案若是最近才建立或刚更名的,可能会找不到,在内定值中,updatedb每天会跑一次,可以由修改crontab来更新设定值。
(etc/crontab)
locate指定用在搜寻符合条件的档案,它会去储存档案与目录名称的数据库内,寻找合乎范本样式条件的档案或目录录,可以使用特殊字元(如”*”或”?
”等)来指定范本样式,如指定范本为kcpa*ner,locate会找出所有起始字串为kcpa且结尾为ner的档案或目录,如名称为kcpartner若目录录名称为kcpa_ner则会列出该目录下包括子目录在内的所有档案。
locate指令和find找寻档案的功能类似,但locate是透过update程序将硬盘中的所有档案和目录资料先建立一个索引数据库,在执行loacte时直接找该索引,查询速度会较快,索引数据库一般是由操作系统管理,但也可以直接下达update强迫系统立即修改索引数据库。
不过第一次在执行update後再使用locate寻找档案常会失败,此时就要执行slocateˉu该命令(也可执行updatedb指令,其效果相同)来更新slocate数据库,该命令会在/usr/sbin下产生slocate执行档,再由locate到此数据库寻找所要找的资料。
11.more
名称:
more
使用权限:
所有使用者
使用方式:
more[-dlfpcsu][-num][+/pattern][+linenum][fileNames..]
说明:
类似cat,不过会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按b键就会往回(back)一页显示,而且还有搜寻字串的功能(与vi相似),使用中的说明文件,请按h。
参数:
-num一次显示的行数
-d提示使用者,在画面下方显示[Pressspacetocontinue,'q'toquit.],如果使用者按错键,则会显示[Press'h'forinstructions.]而不是'哔'声
-l取消遇见特殊字元^L(送纸字元)时会暂停的功能
-f计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
-p不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
-c跟-p相似,不同的是先显示内容再清除其他旧资料
-s当遇到有连续两行以上的空白行,就代换为一行的空白行
-u不显示下引号(根据环境变数TERM指定的terminal而有所不同)
+/在每个档案显示前搜寻该字串(pattern),然后从该字串之后开始显示
+num从第num行开始显示
fileNames欲显示内容的档案,可为复数个数
范例:
more-stestfile逐页显示testfile之档案内容,如有连续两行以上空白行则以一行空白行显示。
more+20testfile从第20行开始显示testfile之档案内容。
12.split
名称:
split
使用权限:
所有使用者
使用方式:
split[OPTION][INPUT[PREFIX]]
说明:
将一个档案分割成数个。
而从INPUT分割输出成固定大小的档案,其档名依序为PREFIXaa,PREFIXab...;PREFIX预设值为`x'。
若没有INPUT档或为`-',则从标准输入读进资料。
选项:
-b,--bytes=SIZE
SIZE值为每一输出档案的大小,单位为byte。
-C,--line-bytes=SIZE
每一输出档中,单行的最大byte数。
-l,--lines=NUMBER
NUMBER值为每一输出档的列数大小。
-NUMBER
与-lNUMBER相同。
--verbose
于每个输出档被开启前,列印出侦错资讯到标准错误输出。
--help
显示辅助资讯然后离开。
--version
列出版本资讯然后离开。
SIZE可加入单位:
b代表512,k代表1K,m代表1Meg。
范例:
PostgresSQL大型数据库备份与回存:
因Postgres允许表格大过你系统档案的最大容量,所以要将表格dump到单一的档案可能会有问题,使用split来进行档案分割。
%pg_dumpdbname|split-b1m-filename.dump.
重新载入
%createdbdbname
%catfilename.dump.*|pgsqldbname
13.touch
名称:
touch
使用权限:
所有使用者
使用方式:
touch[-acfm]
[-rreference-file][--file=reference-file]
[-tMMDDhhmm[[CC]YY][.ss]]
[-dtime][--date=time][--time={atime,access,use,mtime,modify}]
[--no-create][--help][--version]
file1[file2...]
说明:
touch指令改变档案的时间记录。
ls-l可以显示档案的时间记录。
参数:
a改变档案的读取时间记录。
m改变档案的修改时间记录。
c假如目的档案不存在,不会建立新的档案。
与--no-create的效果一样。
f不使用,是为了与其他unix系统的相容性而保留。
r使用参考档的时间记录,与--file的效果一样。
d设定时间与日期,可以使用各种不同的格式。
t设定档案的时间记录,格式与date指令相同。
--no-create不会建立新档案。
--help列出指令格式。
--version列出版本讯息。
范例:
最简单的使用方式,将档案的时候记录改为现在的时间。
若档案不存在,系统会建立一个新的档案。
touchfile
touchfile1file2
将file的时间记录改为5月6日18点3分,公元两千年。
时间的格式可以参考date指令,至少需输入MMDDHHmm,就是月日时与分。
touch-c-t05061803file
touch-c-t050618032000file
将file的时间记录改变成与referencefile一样。
touch-rreferencefilefile
将file的时间记录改成5月6日18点3分,公元两千年。
时间可以使用am,pm或是24小时的格式,日期可以使用其他格式如6May2000。
touch-d"6:
03pm"file
touch-d"05/06/2000"file
touch-d"6:
03pm05/06/2000"file
touch也可以制造一个空档(0byte).例如DHCPServer所需的/etc/dhcpd.leases,dhcpd必须要有这个档案才能运作正常.[root@/root]#touch/etc/dhcpd.leases[root@/root]#ls-l/etc/dhcpd.leases-rw-r--r--1rootroot0Jul305:
50/etc/dhcpd.leases
记得上一次重灌前把/etc下的设定档tar起来,重灌好之后把原有设定还原,却发现系统检查设定档的时间有问题,这个时候用
find/etc-name*-exectouch{};
就可以把设定档的时间更新到与现在一致了
14.cut
名称:
cut
使用权限:
所有使用者
用法:
cut-cnum1-num2filename
说明:
显示每行从开头算起num1到num2的文字。
范例:
shell>>catex
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 实验 Linux 常用命令