红联Linux门户
Linux帮助

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

发布时间:2006-10-25 13:51:27来源:红联作者:愚人甲
Linux基础之一--实例解说目录/文件命令


一、列出文件列表的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
cp:overwrite '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
文章评论

共有 0 条评论