lunx的相关知识点(权限问题)

 
  • 除此之外,需要特别留意的是 x 这个标号!若文件名为一个目录的时候,例如上表中的 .ssh 这个目录:
    •  
      drwx------    2 root     root         4096 Feb 10 00:44 .ssh
       
    可以看到这是一个目录,而且只有 root 可以读写与执行。但是若为底下的样式时,请问非 root 的其它人是否可以进入该目录呢?
    •  
      drwxr--r--    2 root     root         4096 Feb 10 00:44 .ssh
       
    咦!似乎好像是可以喔!因为有可读[ r ]存在嘛!『错!』答案是非 root 这个账号的其它使用者均不可进入 .ssh 这个目录,为什么呢? 因为 x 与 目录 的关系相当的重要,如果您在该目录底下不能执行任何指令的话,那么自然也就无法执行 ls, cd 等指令,所以啰,也就无法进入了,因此,请特别留意的是, 如果您想要开放某个目录让一些人进来的话,请记得将该目录的 x 属性给开放呦
     
  • 另外,你也必须要更加的小心的是,在 Windows 底下一个档案是否具有执行的能力是藉由『附档名』来执行的,例如:.exe, .bat, .com 等等,但是在 Linux 底下,我们的档案是否能执行,则是藉由是否具有 x 这个属性来决定的!所以,跟档名是没有绝对的关系的!这点还请特别留意呢!

环境变量和 echo 命令

所有进程都拥有它们各自的环境变量shell 让您能够通过 echo 命令直接查看它们。现举几例:

  1. HOME:该环境变量保存表示您主目录的字符串。

  2. PATH:它保存了在您键入一个命令的时候 shell 应该搜索的所有目录列表。请注意,和 DOS 不同,默认情况下 shell 会在当前目录中搜索命令。

  3. USERNAME:该变量保存您的登录名。

  4. UID:这个保存了您的用户号。

  5. PS1:它决定了您的提示符应该显示什么。通常它是一个特殊序列的组合。详情请阅读 bash(1)手册页,或在终端键入 man bash 来查看。

要让 shell 打印出某个变量的值,您必须在该变量名前添加一个 $ 符号。例如:

$ echo 你好
你好
$ echo $HOME
/home/zhang
$ echo $USERNAME
zhang
$ echo 你好 $USERNAME
你好 zhang
$ cd /usr
$ pwd
/usr
$ cd $HOME
$ pwd
/home/zhang

正如您所见,shell 会在执行命令前先用变量的值来替换它们。否则,上述 cd $HOME 例子就不会起作用了。实际上,shell 先用 $HOME 的值 /home/zhang 来替换它。然后,该命令就变为 cd /home/zhang。而这正是我们所需要的。echo $USERNAME 也一样。

[Tip]提示

如果其中某个环境变量并不存在,您可以通过键入 export 环境变量名=值 暂时创建它们。完成之后,您可以这样来验证:

$ export USERNAME=zhang
$ echo $USERNAME
zhang

cat:在屏幕上打印一个或多个文件的内容

不用多说,该命令的功能是:在标准输出(通常是屏幕)上输出一个或多个文件的内容。

$ cat /etc/fstab
/dev/hda5 / ext2 defaults 1 1
/dev/hda6 /home ext2 defaults 1 2
/dev/hda7 swap swap defaults 0 0
/dev/hda8 /usr ext2 defaults 1 2
/dev/fd0 /mnt/floppy auto sync,user,noauto,nosuid,nodev 0 0
none /proc proc defaults 0 0
none /dev/pts devpts mode=0620 0 0
/dev/cdrom /mnt/cdrom auto user,noauto,nosuid,exec,nodev,ro 0 0
$ cd /etc
$ cat modules.conf shells
alias parport_lowlevel parport_pc
pre-install plip modprobe parport_pc ; echo 7 > /proc/parport/0/irq
#pre-install pcmcia_core /etc/rc.d/init.d/pcmcia start
#alias char-major-14 sound
alias sound esssolo1
keep
/bin/zsh
/bin/bash
/bin/sh
/bin/tcsh
/bin/csh
/bin/ash
/bin/bsh
/usr/bin/zsh

less:分页器

这个名字是用来谐谑 UNIX® 上首先被使用的分页器 more 的。分页器是用来帮助用户一页一页(更准确地说,应该是一屏一屏)地查看长文件的程序。我们讨论 less 而不是 more 的原因是 less 更为直观。您应该使用 less 来查看单屏容纳不下的大文件。例如:

less /etc/termcap

要在该文件中浏览,请使用上下方向键。按 Q 就可以退出。less 能做的要比只是显示:“H 键显示可用选项帮助”要多得多。

ls:列出文件

ls (LiSt)命令基本等同于 DOS 下的 dir 命令,不过它还有许许多多额外功能。实际上,这很大程度上归因于 UNIX® 下的文件有更多特性。ls 命令的语法是:

ls [选项] [文件|目录] [文件|目录...]

如果没有在命令行中特别指明哪个文件或目录,ls 将列出当前目录中的文件。它有着众多的选项,这里我们只介绍其中的一些:

  • -a:列出所有文件,包括隐藏文件。还记得吗,UNIX® 下的隐藏文件是那些名字以 . 开头的。相对于选项 -a-A 选项会列出“几乎”全部的文件,除了 “.” 和 “..”。

  • -R:递归,即所有命令行中输入的文件、目录及其子目录。

  • -s:在每个文件旁边显示该文件的大小,单位为千字节。

  • -l:打印出有关该文件的额外信息。诸如:它的权限,所有者和所有组,文件大小和最后访问时间。

  • -i:在每个文件旁边打印其 inode 号(该文件在文件系统中的唯一编号,参见第 9 章 Linux 文件系统)。

  • -d:像一般文件那样处理目录,而不是列出它们的内容。

举例如下:

  • ls -R:递归地列出当前目录的内容。

  • ls -is images/ ..:列出 images/ 目录和上级目录中的每个文件及其 inode 号和以千字节为单位的大小。

  • ls -l images/*.png:列出 images/ 目录中名称以 .png 结尾的所有文件,包括 .png 文件(如果它存在的话)。

常用键盘快捷方式

有许多键盘快捷方式,它们主要的优点是节省了很多打字的时间。这一节假定您使用 Mandrakelinux 提供的缺省 shell -- bash,不过这些按键方式对其他 shell 也可能起作用。

首先:方向键。bash 保存了已执行命令的历史记录,您可以通过上、下方向键来查看。向前翻阅的最大行数由环境变量 HISTSIZE 定义。而且,这一历史记录能够在两个会话之间保留。因此,您就不会丢失您在上一个会话中曾经键入过的命令了。

左、右键在当前行移动光标,让您能够编辑您的命令。然而还有别的方式让您一次不止移动一个字符:例如 Ctrl-ACtrl-E 可以移到当前行的开头以及结尾。BackspaceDel 正如期望的那样起作用。Backspace 相当于 Ctrl-HDelCtrl-D 也一样。Ctrl-K 可以从光标处删除到行末。Ctrl-W (或者 Alt-Backspace)可以删除光标前的一个单词。

在一个空白行中键入 Ctrl-D 将结束当前会话,这要比键入 exit 方便得多。Ctrl-C 将会打断当前正在执行的命令,不过如果您是在编辑命令行的过程中,它将会取消所有的编辑并返回到提示符。Ctrl-L 可以清屏。Ctrl-Z 暂停某项任务,并将其挂起。该快捷方式在您忘记在命令之后键入 “&” 时非常有用。比如:

$ xpdf MyDocument.pdf

不过这样一来您就不能再使用您的 shell 了,因为其前台被任务 xpdf 进程占领。要将该任务转入后台运行并恢复您对 shell 的控制,只要按下 Ctrl-Z 后键入 bg

最后,Ctrl-SCtrl-Q 分别用来暂停和继续对屏幕的输出。它们不常用,不过您可能会误按 Ctrl-S (毕竟在键盘上 SD 靠的很近)。所以,如果您碰上了不管您输入什么都不能在终端屏幕上看得的怪事时,请试着按按 Ctrl-Q。注意:您在 Ctrl-SCtrl-Q 之间输入的所有字符将会被一起显示到屏幕上。


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值