分享

文件和操作的基本命令

 dlshanghai 2010-12-15

1pwd命 令

pwd 命令代表“print working directory”(打印工作目录)。当你键入 pwd 时, 你是在请你的 Linux 系统显示你的当前位置。例如:

[root@teacher apache]# pwd

/tmp/apache

表明你当前正处在/tmp/apache目 录中。


2cd命 令

cd 命令来改变工作目录。例如:

命令

功能

cd ~

会把你送回到你的登录目录

cd /

把你带到整个系统的根目录

cd /root

把你带到根用户的主目录;你必须是根用户才能访问该目录

cd /home

把你带到home目录,用户的登录目录通常贮存在此处

cd ..

向上移动一级目录

cd /dir1/subdirfoo

无论你在哪一个目录中,这个绝对路径都会把你直接带到subdirfoo中,即dir1的子目录

cd ../../dir3/dir2

这个相对路径会把你向上移动两级,转换到根目录,然后转到dir3,然后转到dir2目录中去


3ls命 令

使用 ls 命令就可以显示你的当前目录的内容。ls 命令有许多可用的选项。要看到 ls 命令的所有选项,你可以通过在 shell 提示下键入 man ls 来阅读其说明书页。下面是一个与 ls 一起使用的一些常用选项的简短列表。

  • -a — 全部(all)。列举目录中的全部文件,包括隐藏文件(.filename)。位于这个列表的起首处的 .. . 依次是指父目录和你的当前目录。

  • -l — 长(long)。 列举目录内容的细节,包括权限(模式)、所有者、组群、大小、创建日期、文件是否是到系统其它地方的链接,以及链接的指向。

  • -F — 文件类型(File type)。在每一个列举项目之后添加一个符号。这些符号包括:/ 表明是一个目录;@ 表明是到其它文件的符号链接;* 表明是一个可执行文件。

  • -r — 逆向(reverse)。从后向前地列举目录中的内容。

  • -R — 递归(recursive)。该选项递归地列举所有目录(在当前目录之下)的内容。

  • -S — 大小(size)。按文件大小排序


4locate 命令

有时候,你知道某 一文件或目录存在,但却不知该到哪里去找到它。你可以使用 locate 命令来搜寻文件或目录。

使用 locate 命令,你将会看到每一个包括搜寻条件的目录或文件。譬如,如果你想搜寻所有名称中带有 finger 这个词的文件,键入:

locate finger

locate 命令使用数据库来定位文件或目录名中带有 finger 这个词的文件和目录。这个搜寻结果可能会包括一个叫做 finger.txt 的文件,一个叫做 pointerfinger.txt 的文件,一个被命名为 fingerthumbnails 的目录,诸如此类。


5clear 命令

clear 命令用于清除终端窗口。


6cat命 令

catconcatenate(连 锁)的简写,意思是合并文件。该命令可以显示文件的内容(经常和more搭配使用),或者是将多个文件合并成一个文件。


7head 命令

你可以使用 head 命令来查看文件的开头部分。此项命令是:

head <filename>

head 是一个有用的命令,但是由于它只限于文件的最初几行,你看不到文件实际上有多长。按照默认设置,你只能阅读文件的前十行。你 可以通过指定一个数字选项来改变要显示的行数,如下面的命令所示:

head -20 <filename>


8tail 命令

head 命 令恰恰相反的是 tail 命 令。使用 tail 命令,你可以查看文件结尾的十行。这有助于查看日志文件的最后十行来阅读重要的系统消息。你还可以使用 tail 来观察日志文件被更新的过程。使用 -f 选项,tail 会自动实时地把打开文件中的新消息显示到屏幕上。例如,要即时观察 /var/log/messages的 变化,以根用户身份在 shell 提示下键入以下命令:

tail -f /var/log/messages


9grep 命令

grep 命令对于在文件中查找指定的字串很有用途。例如,如果你想在 sneakers.txt 文件中查找每一个提到“coffee”的地方,你可以键入:

grep coffee sneakers.txt

你就会看到文件中带有“coffee”的每一行。


10chmod命 令

chmod命令用于 改变文件或目录的访问权限。

让我们先来看一看 这个文件。在 shell 提 示下,键入:

ls -l sneakers.txt

前面的命令显示了 这个文件信息:

-rw-rw-r-- 1 test test 39 311 12:04 sneakers.txt

这里提供了许多细 节。你可以看到谁能读取(r) 和写入(w) 文件,以及谁创建了这个文件(test), 所有者所在的组群(test)。 在组群右侧的信息包括文件大小、创建的日期和时间,以及文件名。

第一列显示了当前 的权限;它有十位。第一位代表文件类型。其余九位实际上是用于三组不同用户的三组权限。

那三组是:文件的 所有者,文件所属的组群,和“其他人”,这是前面没有包括的用户和组群。

- (rw-) (rw-) (r--) 1 test test

| | | |

类型 所有者 组群 其他人

第一个项目指定文 件类型,它可以显示以下几种:

d — 目 录

-(短 线)— 常规文件(而不是目录或链接)

l — 到系统上其它位置的另一个程序或文件的符号链接

在第一个项目之后 的三组中,你可以看到下面几种类型:

r — 文 件可以被读取

w — 文 件可以被写入

x — 文件可以被执行(如果它是程序的话)

当你在所有者、组 群、或其他人中看到一个短线(“-”), 这意味着相应的权限还没有被授予。可以看出以下这句

-rw-rw-r-- 1 test test 39 311 12:04 sneakers.txt

文件的所有者(这 个情况下是 test) 有读取和写入该文件的权限。组群 test 也 有读取和写入 sneakers.txt 的权限,其他组群没任何权限。它不是一个程序,因此所有者和组群都没有执行它的权限。

接下来我们用chmod来改变 文件的权限,键入下面的命令:

chmod o+w sneakers.txt

o+w 命令告诉系统你想给其它人写入文件 sneakers.txt 的权限。要查看结果,再次列出文件的细节。现在,这个文件看起来与下面的输出相仿:

-rw-rw-rw- 1 test test 39 311 12:04 sneakers.txt

现在,每个人都可 以读取和写入这个文件。

要从 sneakers.txt 中删除读写权限,使用 chmod 命令来取消读取和写入这两个的权限。

chmod go-rw sneakers.txt

通过键入 go-rw, 你在告诉系统删除文件 sneakers.txt 中组群和其它人的读取和写入权限。结果与下面的输出相似:

-rw------- 1 test test 39 311 12:04 sneakers.txt

当你想用 chmod 命令来改变权限时,把它们当做速记符号来记忆,因为你实际要做的只是记住几个符号而已。

下面是一个速记符 号含义的列表:

身份

u — 拥有文件的用户(所有者)

g — 所有者所在的组群

o — 其他人(不是所有者或所有者的组群)

a — 每个人或全部(ug、和 o

权限

r — 读取权

w — 写入权

x — 执行权

行动

+ — 添加权限

- — 删除权限

= — 使它成为唯一权限

另外,也可以通过 使用数字来改变权限。

每种权限设置都可 以用一个数值来代表:

r = 4

w = 2

x = 1

- = 0

当这些值被加在一 起,它的总和便用来设立特定的权限。譬如,如果你想有读取和写入的权限,你会得到一个值为 6 的 总和;4(读 取)+ 2(写入)= 6

sneakers.txt 文件的数字权限设置如下:

- (rw-) (rw-) (r--)

| | |

4+2+0 4+2+0 4+0+0

所有者的总和为6,组群的总和为6,其他人的总和 为4。 这个权限设置读作 664

如果你想改变 sneakers.txt 文件的权限,因此你的组群中的人没有写入权,但是仍旧能够读取文件的话,从这组数字中减掉2就可以删除写入权 限了。

然后,这组数值就 变成644

要实现这些新设 置,键入:

chmod 644 sneakers.txt

现在,列举这个文 件来校验改变。键入:

ls -l sneakers.txt

输出应为:

-rw-r--r-- 1 test test 39 311 12:04 sneakers.txt

现在,组群和其他 人都没有了到文件 sneakers.txt 的写入权。

这里是一个某些常 用设置、数值、以及它们的含义的列表:

-rw------- (600) — 只有所有者才有读取和写入的权限。

-rw-r--r-- (644) — 只有所有者才有读取和写入的权限;组群和其他人只有读取的权限。

-rwx------ (700) — 只有所有者才有读取、写入、和执行的权限。

-rwxr-xr-x (755) — 所有者有读取、写入、和执行的权限;组群和其他人只有读取和执行的权限。

-rwx--x--x (711) — 所有者有读取、写入、和执行权限;组群和其他人只有执行权限。

-rw-rw-rw- (666) — 每个人都能够读取和写入文件。(请谨慎使用这些权限。)

-rwxrwxrwx (777) — 每个人都能够读取、写入、和执行。(再重申一次,这种权限设置可能会很危险。)


下面列举了一些对 目录的常见设置:

drwx------ (700) — 只有所有者能在目录中读取、写入。

drwxr-xr-x (755) — 每个人都能够读取目录,但是其中的内容却只能被所有者改变。


11cp命 令

cp(copy)命 令可以将文件或目录复制到其他目录中,就如同DOS下的copy命令一样,功能非常强大。在使用cp命令时,只需要指定源文件名与目标文件名或目标目 录即可。格式:

cp <> <目标>


12mv 命令

要移动文件,使用 mv 命 令。mv 的常见选项包括:

  • -i — 互动。如果你选择的文件会覆盖目标中的现存文件,它会提示你。这是一个实用的选项,因为它象 cp 中 的 -i 选项一样,会给你一个确认替换已存文件的机会。

  • -f — 强制。它会超越互动模式,不提示地移动文件。除非你知道自己在干什么,这个选项很危险。在你对系统信心十足之前,请谨 慎使用这个选项。

  • -v — 详细。显示文件的移动进度。


如果你想把文件从你的主目录中移到另一个现存的目录中,键入以 下命令(你需要位于你的主目录内):

mv sneakers.txt tigger

另外的方法是,用同一个命令,但使用绝对路径,如:

mv sneakers.txt /home/newuser/sneakers.txt /home/newuser/tigger


13mkdir命 令

mkdir(make directory)命令用来建立目录。例如在系统中建立datal 子目录:

[root@teacher tmp]#mkdir datal


14rm命 令

Liunx中创建文 件是很容易,这样系统中随时会有过时或无用的文件,用户可以用rm命令将其删除。该命令可以删除目录中的文件或目录本身,对于链接文件,只是删除了该链接,原 有文件保持不变。删除文件和目录的选项包括:

  • -i — 互动。提示你确认删除。这个选项可以帮助你避免误删文件。

  • -f — 强制。代替互动模式,不提示地删除文件。除非你知道自己在干什么,使用这个选项通常不是明智之举。

  • -v — 详细。显示文件的删除进度。

  • -r — 递归。将会删除某个目录及其中所有的文件和子目录。

要使用 rm 命 令来删除文件 piglet.txt, 键入:

rm piglet.txt

另一个比使用 rm 更安全的删除目录的命令是 rmdir 命令。这个命令不允许你使用递归删除,因此不能删除包含文件的目录。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多