您的位置:首页 > 运维架构 > Linux

Linux常用文件操作命令

2013-08-26 15:55 387 查看


1 切换目录

 cd (ChangeDirectory)。

下面我要进入到/tmp目录下,如下操作:
root@localhost  ~]# cd tmp
.. 上一级目录:cd ..

原来的“~”变为了“tmp”。那么 ~ 又是什么意思呢?其实 ~表示的就是家目录的意思,既然表示的是家目录的意思,那如果你用cd ~会出现什么样的结果呢?下面咱们就来看一下。
[root@bestlinux tmp]# cd ~
 

用的是哪个用户你用 cd ~ 就会进入到哪个目录下。因为当前咱们是以root的身份进入的,这时用cd ~进入的目录就是 /root 目录下。还有一个就是这里面的 # ,通常情况下 # 就示的就是超级管理员,如果这个位置是 $符号的话,通常情况下表示的是当前登陆的用户是普通用户。这只是通常情况下,其它情况下就不一定了。

  那么我把目录改来改去的不知道当前目录在什么地方了,怎么办啊?


2查看当前路径

[root@bestlinux network-scripts]# pwd
 

  我知道了当前路径了,那么怎样创建一个文件夹呢?


3创建目录(文件夹)

[root@bestlinux ~]# mkdir /tmp/test
 

我可以创建目录了,那么我怎么去创建一个文件呢?


4创建文件

  创建文件的命令可以说有很多,在这里咱们就先说一下比较简单的命令 touch 。我要在 /tmp/创建一个名为a.txt的文件。如下所示:
[root@bestlinux ~]# touch /tmp/a.txt
 

创建了文件或文件夹后怎样删除呢?下面咱们来一起看一下。


5删除文件或文件夹

  删除文件或文件夹均可以用同一个命令来操作都可以用 rm命令。如我要删除一文件夹 /tmp/a.txt 文件,我可以这样去做。
[root@bestlinux ~]# rm /tmp/a.txt
 

 在删除的过程中,你会看到中间有一段话“rm:是否删除一般空文件‘/tmp/a.txt’?”,这是确认的一句话,这时输入字符“y”回车就可以了。

同样的删除一个文件夹,咱们来看一下操作,同样的我还是删除 /tmp/test 文件夹。如下操作一起来注意看一下。
[root@bestlinux ~]# rm /tmp/test/
 

你会看到这样的一个信息“rm: 无法删除目录‘/tmp/test/’:是一个目录”,也就是说没有删除掉这个文件,在操作过程中出现了问题,一起来看一下问题所在。咱们一起来 man 一下这个rm命令,查看一下他的操作方式。
[root@bestlinux ~]# man rm
 

从中你可以看到这样一行,“-r, -R, --recursive remove the contents ofdirectories recursively”,它的意思就是说可以删除文件夹的意思吧。好咱们就在后面加上 –r 的参数。
[root@bestlinux ~]# rm -r /tmp/test/
 

这时你会看到“rm:是否删除目录‘/tmp/test/’?”,就是确认的意思,输入y就可以将指定的内容删除掉了。

那有没有可以不用确认就可以直接将指定的文件和文件夹删除掉呢?有的,下面看一下我下面的操作。
[root@bestlinux ~]# mkdir/tmp/dir         //在 /tmp 下创建dir目录

[root@bestlinux ~]# touch/tmp/dir/a.txt     //在 /tmp/dir/ 创建a.txt文件

[root@bestlinux ~]# rm -fr/tmp/dir/        //删除掉/tmp/dir和里面的内容
这样你会看到没有任何的提示信息。


6复制文件

  复制文件信息是我们最常用的操作了,在Linux里面也有一个比较好用的命令cp命令。cp命令的格式和前的咱们所提到的命令格式是类似的,这个操作并不只是简单的指定一个文件就可以了,因为复制要有源文件,也要有目标文件,所以这里要有至少二个param 。格式如下:
cp  [参数]  源文件 目标文件
之所以前面没有说命令格式,是因为前面命令里面只有一个参数,所以没有什么可以说的,现在咱们看到这个命令至少要有两个参数了。下面我就复制/root/ 目录下的 a.txt 文件到 /tmp 下。如下操作:
[root@bestlinux ~]# cp /root/a.txt  /tmp/
 

您会看到这时没有任何的信息显示出来,重新返回到了命令提示符,这时就证明 cp 命令已经成功完成了。然后你再用 ls –l查看一下 /tm/a.txt 你会看到这个文件已经存在了。

那么我想要复制文件夹呢?也是一样的,不过你还记不记得 rm 命令啊,在用 rm 命令删除文件夹的时候我们用了一个 –r 的参数,同样的cp 命令也是一样的,不信你可以自己用 man 查看一下。好下面咱们就来复制文件夹来看一下。首先我在 /root 目录下我创建一个名为dir 的文件夹,在文件夹里面创建一个名为 test.txt 的文件。然后我再把 dir 文件夹复制到 /tmp目录中。如下操作:
[root@bestlinux ~]# mkdirdir                     //在当前目录下创建dir 文件夹

[root@bestlinux ~]# touchdir/test.txt               //在dir目录下创建test.txt文件

[root@bestlinux ~]# cp -r dir//tmp/                //复制dir目录到/tmp下

[root@bestlinux ~]# ls -l/tmp/dir/                 //查看/tmp下的内容是不是有dir目录
这就是怎样去复制文件夹和文件夹中的内容。那么如果我想复制当前目录下的所有文件到指定目录下呢?这时我们就要用到通配符了。下面我们来看一下通配符。

      * :表示所有文件和文件夹

      ?:表示一个字符

知道了上面这二个通配符了就可以做相应的一些操作了。下面我要复制刚才咱们创建的 dir 目录下的所有内容到 /tmp下。dir里面是咱们刚才创建的 a.txt 文件,这时复制过去后在 /tmp 下你会看到 a.txt 文件。如下操作:
[root@bestlinux ~]# cp dir/* /tmp/

[root@bestlinux ~]# ls /tmp/a.txt  -l
这样用通配符也可以完成相关的操作。


7移动和改名

   如果想要移动文件的话可以用 mv命令格式如下:
mv  [参数]  源文件 目地文件
这个操作和cp命令的操作是类似的。

   例子:将 /root 下的 dir 移动到 /home下。如下操作:
[root@bestlinux ~]# mv dir/ /home/

[root@bestlinux ~]# ls -l /home/
这样当前目录下的 dir 文件被移动到了 /home 下。

那么改名的格式也是类似的,下面我就把 /home/ 下的dir目录改名为directory。如下操作:
[root@bestlinux ~]# cd /home/

[root@bestlinux home]# mv dir/ directory

[root@bestlinux home]# ls -l
这样 dir 目录就改名为 directory名了。


8查找命令

  在我创建了那么多的文件中一不小心忘记放到哪了,这个时候我们就想着要查找一下了,这时我们有这样一个命令叫find 。可以用于查找工作。格式如下:
find [路径] [参数]

参数说明:

1. 时间:

   -atimen    :在 n*24小时内被 access 即存取过的文件列出来!

   -ctimen    :在 n*24小时内被 changed 即改变、新增的文件或目录印出

   -mtimen    :在 n*24小时内被 modified 即修改过的文件印出

  -newer file :比 file 还要新的文件就列出来!
使用名称:
   -gidn     :寻找 群组 ID 为 n 的文件

   -group name :寻找群组名称为 name的文件

   -uidn     :寻找拥有者 ID 为 n 的文件

   -user name :寻找使用者名称为 name 的文件

   -name file :寻找档名为 file 的文件名称(可以使用万用字符)

   -type type :寻找档案属性为 type 的档案,type 包含了 b, c, d, p, l, s,这些与前一章的属性相同!例如 l 为 Link而 d 为路径之意!

如下例:
[root@bestlinux ~]# find / -name testing           //查找名为 testing  的文件

[root@bestlinux ~]# find / -name 'test*'         //查找以test开头的文件

[root@bestlinux ~]# find . -ctime1                //查找当前目录下一天内新增的文件

[root@bestlinux ~]# find /home -user test      //查找 /home下拥有者为 test 的文件
  有些同学可能有另外的一个想法,我想查找ls命令在什么地方,可以,你可以用find命令去找,不过用find命令查找起来时间比较长,可以用另外一个命令which命令。如下:
[root@bestlinux ~]# which ls
 

这时你会看到ls命令在/bin/目录里面。用起来很方便吧。


9查看文件内容

  对于一个文本文件,我们怎么去查看其中的内容呢?我们可以用到查看文本内容的命令cat 命令,除了这一个还有 tail 、head 命令。
[root@bestlinux ~]# cat /etc/services
# /etc/services:

# $Id: services,v 1.40 2004/09/23 05:45:18 notting Exp $

#

# Network services, Internet style

#

# Note that it is presently the policy of IANA to assign a singlewell-known

# port number for both TCP and UDP; hence, most entries here havetwo entries

# even if the protocol doesn't support UDP operations.

# Updated from RFC 1700, ``Assigned Numbers'' (October1994).  Not all ports

# are included, only the more common ones.

……  //中间省略

binkp          24554/udp                      # Binkley

asp            27374/tcp                      # Address Search Protocol

asp            27374/udp                      # Address Search Protocol

tfido          60177/tcp                      #Ifmail

tfido          60177/udp                      # Ifmail

fido           60179/tcp                      # Ifmail

fido           60179/udp                      # Ifmail

# Local services

同样的还可以用 tail 和 head 这两个命令来查看头和尾一些数据信息。格式如下:
[root@bestlinux ~]# head /etc/services

[root@bestlinux ~]# tail /etc/services
结果会显示 /etc/services 的前十行和后十行内容。


10 管道

  在用 cat命令显示文件内容的时候你会发现如果内容过多,他把前面的内容直接翻过去了,你这样就看不到上面的内容了,这时咱们可以这样去做,让文件内容一屏一屏的显示。这时就要用到另外一个命令more 命令。
[root@bestlinux ~]# more /etc/services
 

这时你会看到文件内容会一屏一屏的显示出来,你只需用空格键就可以下翻了。还有些时候我们也有时会这样去做,就是将 cat显示出来的内容重新输出给 more 命令。这就是管道了。如下例:
[root@bestlinux ~]# cat /etc/services | more
 

这时你会看到显示出来的内容和单独用more命令是一样的。这就是管道,后面我们会经常用到类似的操作。


11重定向

  有时候我们需要将一些文件信息不是输出到屏幕上,而是让其输出到指定的文件或其它位置,这时我们就要用到了输出重定向了。输出重定向只需要加上> 这位一个符号就可以了。下面我要把 /etc/services 文件中的内容输出到当前目录下的a.txt 文件中,如下:
[root@bestlinux ~]# cat /etc/services > a.txt

[root@bestlinux ~]# ls -l a.txt /etc/services
 

输出完后你再用ls –l 命令查看这二个文件,你会看到二个文件的大小是一样的。同样的你也可以用 cat 命令去查看。

来源:http://blog.csdn.net/zacklin/article/details/7311903
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: