Linux基础之—实例解说目录/文件命令

来源:百度文库 编辑:神马文学网 时间:2024/06/03 04:23:08
一、列出文件列表的ls命令 ls命令(list)是很常用的命令,可以让用户显示目前目录中有哪些文件和子目录。因为ls的参数相当多,但是有些极少在使用,所以这里仅介绍常用的部分: 1、不加任何参数时,显示当前目录的内容。 [root@localhost /root]# ls Desktop 2、-a 显示所有文件和目录(若无此参数,句点开始的文件和目录不会显示出来)。 [root@localhost /root]# ls -a . .bash_logout .Desktop_big5 .gv .tcshrc .. .bash_profile .Desktop_en .kde .Xauthority .abcuser.dict .bashrc .Desktop_gb .kderc .Xdefaults .abcuser.rem .cshrc .gnome .lynx_cookies .bash_history Desktop .gnome-desktop .sawfish 3、-A 显示所有文件和目录(它比-a少显示.和..两项)。 4、-l 以长格式显示 [root@localhost /root]# ls -l total 0 lrwxrwxrwx 1 root root 12 6月 19 11:20 Desktop ->; .Desktop_gb/ 5、混合使用参数:命令的大部分参数可以合并使用。 读者可能已经注意到,藏格式显示提供了许多信息,其中各个字段的意义将在以后的系列中介绍。 二、切换目录的cd命令 cd(change directory)可以让用户切换目前的目录,下面来看几个cd命令的常见用法: [root@localhost /root]#cd data <==切换到data子目录 [root@localhost /root]#cd .. <==切换到上一级目录 [root@localhost /root]#cd / <==切换到根目录 [root@localhost /root]#cd ~ <==切换到用户根目录 [root@localhost /root]#cd /usr/bin <==切换到/usr/bin目录 在Linux的目录中,有几个特别的目录:"."表示当前目录,".."表示上一层目录,"/"表示根目录,"~"表示用户根目录(用户登录时所在的目录)。 三、建立目录的mkdir命令 mkdir(make directory)可用来建立子目录。例如: [root@localhost /root]#mkdir data <==在当前目录下建立data目录 [root@localhost /root]#mkdir /data <==在根目录下建立data目录 注意:用户不能在一个不存在的目录中建立子目录。例如:目录/home2若不存在,则不能直接建立/home2/tony目录。 四、删除目录的rmdir命令 rmdir(remove directory)可以用来删除"空"的子目录: [root@localhost /root]#rmdir data <==删除data目录 [root@localhost /root]#rmdir /data <==删除根目录下的data目录 五、拷贝文件的cp命令 cp(copy)可以将文件拷贝成另一个文件,或是拷贝到另一个目录中。例如,下面实例可以在目前所在目录中,将data1.txt拷贝成data2.txt。 [root@localhost /root]#cp data1.txt data2.txt 下面范例可以将data3.txt拷贝到/tmp/data目录中: [root@localhost /root]#cp data3.txt /tmp/data 为了方便进行各种拷贝操作,cp命令包含了许多参数: 1、-i 覆盖相同名称文件前先询问用户。下面实例会将data.txt拷贝到backup目录中,如果有覆盖情况发生,则询问用户。 [root@localhost /root]#cp -i data.txt bachup cpverwrite 'backup/data.txt'? y 2、-v 显示用命令执行过程。例如: [root@localhost /root]# cp -v data.txt data1.txt `data.txt' ->; `data1.txt' <==执行过程 3、-R 递归拷贝,即拷贝时将所有目录一并拷贝。下面范例会将目前目录下的所有文件(含子目录)拷贝到backup目录中: [root@localhost /root]#cp -R * bachup 六、删除文件或目录的rm命令 rm(remove)可用来删除文件或目录。一般用法如下: [root@localhost /root]#rm data.txt <==删除data.txt文件 [root@localhost /root]#rm * <==删除目前目录中所有文件 rm有一些常用参数: 1、-f 强迫删除文件爱你。在某些Unix系统默认状态下,rm命令会对每个要删除的文件提出确认询问。如果用户确定要删除这些文件,可以使用-f参数来避免询问。 [root@localhost /root]#rm -f *.txt 2、-i 在删除文件时提出询问。 [root@localhost /root]#rm -i * rm:back:is a directory <==遇到目录会略过 rm:remove 'data1.txt'? y <==删除文件时会询问 rm:remove 'data2.txt'? n rm:remove 'data3.txt'? n 3、-r 递归删除(连子目录一并删除)。下列命令会删除backup目录和backup目录下的所有文件和子目录。 [root@localhost /root]#rm -r backup 七、让显示画面暂停的more命令 当所要显示的内容会超过屏幕大小时,用户可以使用more命令来显示内容按多页方式进行显示,在用户按下任何键时,继续显示下一个画面: [root@localhost /root]#ls -al |more total 132 drwxr-x--- 9 root root 4096 6月 27 21:18 . drwxr-xr-x 22 root root 4096 6月 27 21:06 .. -rw-r--r-- 1 root root 42256 6月 19 17:25 .abcuser.dict ......略 --More-- <==暂停,按下任何键会继续显示 more命令也可以单独使用,可以用来显示文字文件的内容。下面实例会显示data.txt文件的内容,并会在画面满屏时,暂时停止显示: [root@localhost /root]#more data.txt 八、连接或显示文件的cat命令 cat(concatenate)可以显示文件的内容(经常和more搭配使用),或将多个文件合并成一个文件。以下命令会显示/etc/issue文件的内容: [root@localhost root]# cat /etc/issue |more Red Flag Linux release 4.0 (HOT) Kernel \r on an \m 以下实例会用cat命令将data.txt的内容显示出来,而>;>;命令将显示结果重新定向附加到all_data.txt后面: [root@localhost root]# cat data.txt >;>; all_data.txt 用户也可使用cat命令将文件内容合并到另一个文件中。例如,下面命令会将data1.txt和data2.txt的内容合并到all_data.txt文件中: [root@localhost root]# cat data1.txt data2.txt >; all_data.txt 关于">;"与">;>;"的用法,稍后介绍。 九、移动或更改文件名的mv命令 mv(move)可以将文件移动到另一个地方,或者更改文件名称(Lniux中并没有ren或rename命令来更改文件名)。下面范例可将data.txt文件移动到别的目录中: [root@localhost root]#mv data.txt .. <==将data.txt文件移动到上一层目录 [root@localhost root]#mv data.txt / <==将data.txt文件移动到根目录 下面范例可将data1.txt改名为data2.txt: [root@localhost root]#mv data1.txt data2.txt 十、显示目前所在目录的pwd命令 pwd(print working directory)可显示用户目前所在目录。 [root@localhost root]#pwd /root 十一、寻找文件的find命令 find命令可以指定搜索目录,并在搜索目录(和它所有的子目录)中搜索特定文件。 下面实例指定搜索目录为根目录(/)和根目录以下的所有子目录(这等于是搜索整个系统),搜寻文件名(-name参数)为gzip,如果能够找到相符合的文件,则显示出来(如果不加-print,搜寻结果不会显示出来): [root@localhost root]# find / -name gzip -print /usr/bin/gzip /bin/gzip 搜寻结果表示/usr/bin/和/bin/目录都有名为gzip的文件。 十二、显示文件类型的file命令 file命令可以用来显示文件类型。下面范例会显示当前中所有文件的文件类型: [root@localhost root]# file ./* ./Desktop: directory ./install.log: Non-ISO extended-ASCII text ./install.log.syslog: empty ./partitioninfo: ASCII text 十三、搜索字符串的grep命令 grep命令可以搜索特定字符串并显示出来,一般用来过滤先前结果,而避免显示太多不必要的信息。下面实例显示了file ./*命令所显示的结果中,包含ASCII字符串的行: [root@localhost root]# file ./* |grep ASCII ./install.log: Non-ISO extended-ASCII text ./partitioninfo: ASCII text "|"是管道符,稍后会介绍。 十四、重新定向与管道符 重新定向(redirect)可将某命令的结果输出到文件中,它有两种命令">;"和">;>;"。>;可将结果输出到文件中,如果该文件原本就存在,则该文件原有的内容会被删除;>;>;则将结果附加在原文件后面,原文件的内容不会被清除。 下面实例可将目前目录下的文件名输出到dir.txt文件中: [root@localhost root]#ls -al >; dir.txt 下面实例可将data1.txt文件内容附加到all_data.txt文件中: [root@localhost root]#cat data1.txt >;>; all_data.txt 管道符|(pipe)可将某命令的结果输出给另一命令。下面范例可将file ./*命令的结果输出给grep ASCII命令处理: [root@localhost root]# file ./* |grep ASCII ./install.log: Non-ISO extended-ASCII text ./partitioninfo: ASCII text