Chinaunix首页 | 论坛 | 博客
  • 博客访问: 888524
  • 博文数量: 179
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1546
  • 用 户 组: 普通用户
  • 注册时间: 2015-01-27 11:05
个人简介

MySQL工程师 QQ:1815357042

文章分类

全部博文(179)

文章存档

2015年(179)

分类: LINUX

2015-02-06 16:52:22

相关命令

ls命令
目录基本操作 ls命令用来显示目标列表,在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。
  1. ls命令格式:ls [选项] [目录名].

  2.   ls命令功能:列出目标目录中所有的子目录和文件。

  3.   ls 命令的参数选项说明:

  4.   -a, –all 列出目录下的所有文件,包括以 . 开头的隐含文件。

  5.   -A, –almost-all 列出除了 . 及 以外的任何项目

  6.   –author 印出每个文件的作者

  7.   -b, –escape 把文件名中不可输出的字符用反斜杠加字符编号的形式列出。

  8.   –block-size=大小 块以指定<大小>的字节为单位

  9.   -B, –ignore-backups 不列出任何以 ~ 字符结束的项目

  10.   -c 输出文件的 ctime (文件状态最后更改的时间),并根据 ctime 排序。

  11.   -C 每栏由上至下列出项目

  12.   –color[=WHEN] 控制是否使用色彩分辨文件。WHEN 可以是'never''always''auto'其中之一

  13.   -d, –directory 将目录象文件一样显示,而不是显示其下的文件。

  14.   -D, –dired 产生适合 Emacs 的 dired 模式使用的结果

  15.   -f 对输出的文件不进行排序,-aU 选项生效,-lst 选项失效

  16.   -F, –classify 加上文件类型的指示符号 (*/=@| 其中一个)

  17.   –format=关键字 across -x,commas -m,horizontal -x,long -l,

  18.   single-column -1,verbose -l,vertical -C

  19.   –full-time 即 -l –time-style=full-iso

  20.   -g 类似 -l,但不列出所有者

  21.   -G, –no-group 不列出任何有关组的信息

  22.   -h, –human-readable 以容易理解的格式列出文件大小 (例如 1K 234M 2G)

  23.   –si 类似 -h,但文件大小取 1000 的次方而不是 1024

  24.   -H, –dereference-command-line 使用命令列中的符号链接指示的真正目的地

  25.   –indicator-style=方式 指定在每个项目名称后加上指示符号<方式>:

  26.   none (默认),classify (-F),file-type (-p)

  27.   -i, –inode 印出每个文件的 inode 号

  28.   -I, –ignore=样式 不印出任何符合 shell 万用字符<样式>的项目

  29.   -k 即 –block-size=1K,以 k 字节的形式表示文件的大小。

  30.   -l 列出文件的详细信息。

  31.   -L, –dereference 当显示符号链接的文件信息时,显示符号链接所指示的对象而并非符号链接本身的信息

  32.   -m 所有项目以逗号分隔,并填满整行行宽

  33.   -n, –numeric-uid-gid 类似 -l,用数字的 UID,GID 代替名称。

  34.   -N, –literal 印出未经处理的项目名称 (例如不特别处理控制字符)

  35.   -o 类似 -l,显示文件的除组信息外的详细信息。

  36.   -p, -F 在每个文件名后附上一个字符以说明该文件的类型,"*"表示可执行的普通文件;"/"表示目录;"@"表示符号链接;"|"表示FIFOs;"="表示套接字

  37.   (sockets)

  38.   -q, –hide-control-chars 以 ? 字符代替无法打印的字符

  39.   –show-control-chars 直接显示无法打印的字符 (这是默认方式,除非调用的程序名称是'ls'而且是在终端机画面输出结果)

  40.   -Q, –quote-name 将项目名称括上双引号

  41.   –quoting-style=方式 使用指定的 quoting <方式>显示项目的名称:literal、locale、shell、shell-always、c、escape

  42.   -r, –reverse 依相反次序排列

  43.   -R, –recursive 同时列出所有子目录层

  44.   -s, –size 以块大小为单位列出所有文件的大小

  45.   -S 根据文件大小排序

  46.   –sort=WORD 以下是可选用的 WORD 和它们代表的相应选项:

  47.   extension -X status -c

  48.   none -U time -t

  49.   size -S atime -u

  50.   time -t access -u

  51.   version -v use -u

  52.   -t 以文件修改时间排序

  53.   -u 配合 -lt:显示访问时间而且依访问时间排序

  54.   配合 -l:显示访问时间但根据名称排序

  55.   否则:根据访问时间排序

  56.   -U 不进行排序;依文件系统原有的次序列出项目

  57.   -v 根据版本进行排序

  58.   -w, –width=COLS 自行指定屏幕宽度而不使用目前的数值

  59.   -x 逐行列出项目而不是逐栏列出

  60.   -X 根据扩展名排序

  61.   -1 每行只列出一个文件

  62.   –help 显示此帮助信息并离开

  63.   –version 显示版本信息并离开


查看文件权限
我们之前已经很多次用到ls命令了,如你所见,我们用它来列出并显示当前目录下的文件,当然这是在不带任何参数的情况下, 它能做的当然不止这么多,
现在我们就要用它来查看文件权限


使用较长格式列出文件
  1. lyhabclinux@lyhabclinux:~$ ls -l
  2. total 0
  3. -rw-rw-r-- 1 lyhabclinux lyhabclinux 0 Dec 2 17:10 setuid.txt
你可能除了知道最后面那一项是文件名之外,其它项就不太清楚了,那么到底是什么意思呢




可能还是不太明白,比如第一项文件类型和权限那一堆东西具体指什么,链接又是什么,何为最后修改时间,下面一一道来

关于文件类型
这里有一点你必需时刻牢记“linux里面一切皆文件”,正因为这一点才有了设备文件(/dev目录下有各种设备文件,大都跟具体的硬件设备相关)这一说
还有socket,和pipe(管道)。
软链接文件,链接文件是分为两种的,另一种当然是“硬链接”(硬链接不常用,而软链接等同于windows上的快捷方式,记住这一点就够了)


文件权限
读权限,表示你可以使用cat 之类的命令来读取某个文件的内容;写权限,表示你可以编辑和修改某个文件;
执行权限,通常指可以运行的二进制程序文件或者脚本文件,如同windows上的'exe'后缀的文件,不过linux上不是通过文件后缀名来区分文件的类型。
你需要注意的一点是,一个目录要同时具有读权限执行权限才可以打开,而一个目录要有写权限才允许在其中创建其它文件
这是因为目录文件实际保存着该目录里面的文件的列表等信息


所有者权限,这一点相信你应该明白了,至于所属用户组权限,是指你所在的用户组中的所有其它用户对于该文件的权限,
比如,你有一个艾派德,那么这个用户组权限就决定了你的兄弟姐妹有没有权限使用它破坏它和占有它。


链接数
链接到该文件所在的inode节点的文件名数目(关于这个概念涉及到linux文件系统的相关概念知识)
文件大小
以inode大小为单位来表示的文件大小,你可以给ls加上-h参数(表示,这才是给人看的)来更直观的查看文件的大小
文件大小以为Byte为单位
  1. lyhabclinux@lyhabclinux:/usr/bin$ ls -lh |more
  2. total 122M
  3. -rwxr-xr-x 1 root root 35K Nov 20 2012 [
  4. lrwxrwxrwx 1 root root 8 Jun 19 2013 2to3 -> 2to3-2.7
  5. -rwxr-xr-x 1 root root 96 Feb 28 2014 2to3-2.7
  6. -rwxr-xr-x 1 root root 104K Feb 5 2014 a2p
  7. -rwxr-xr-x 1 root root 11K Dec 9 2011 acpi_listen
  8. -rwxr-xr-x 1 root root 7.7K Dec 20 2013 add-apt-repository
  9. -rwxr-xr-x 1 root root 6.1K Jun 18 2014 addpart


明白了文件权限的一些概念,我们顺带补充一下关于ls命令的一些其它常用的用法


显示除了'.'(当前目录),'..'上一级目录之外的所有包含隐藏文件(linux下以'.'开头的文件为隐藏文件)
  1. lyhabclinux@lyhabclinux:~$ ls -a
  2. . .bash_history .bashrc .mysql_history setuid.txt .sudo_as_admin_successful
  3. .. .bash_logout .cache .profile .ssh .viminfo



查看某一个目录的完整属性,而不是显示目录里面的文件属性
$ ls -dl <目录名>
-l 列出文件的详细信息。
-d –directory 将目录象文件一样显示,而不是显示其下的文件。
  1. lyhabclinux@lyhabclinux:/home$ ls -dl ubuntu/
  2. drwxr-xr-x 2 ubuntu ubuntu 4096 Sep 26 02:07 ubuntu/


变更文件所有者
前面提到过,如果你的兄弟姐妹想把你的艾派德据为己有,要是这种事真的发生了,那么我也告诉你如何把他们的爱疯嗯6抢过来

先创建一个文件
  1. touch iphone6
看一下属主
  1. lyhabclinux@lyhabclinux:~$ ll iphone6
  2. -rw-rw-r-- 1 lyhabclinux lyhabclinux 0 Feb 6 15:51 iphone6
修改属主
  1. lyhabclinux@lyhabclinux:~$ sudo chown lilei iphone6

查看那个iphone6文件
  1. lilei@lyhabclinux:/home/lyhabclinux$ cd /home/lyhabclinux/
  2. lilei@lyhabclinux:/home/lyhabclinux$ ll -a
  3. total 48
  4. drwxr-xr-x 4 lyhabclinux lyhabclinux 4096 Feb 6 15:51 ./
  5. drwxr-xr-x 5 root root 4096 Feb 6 15:53 ../
  6. -rw------- 1 lyhabclinux lyhabclinux 8882 Feb 6 15:55 .bash_history
  7. -rw-r--r-- 1 lyhabclinux lyhabclinux 220 Apr 3 2012 .bash_logout
  8. -rw-r--r-- 1 lyhabclinux lyhabclinux 3486 Apr 3 2012 .bashrc
  9. drwx------ 2 lyhabclinux lyhabclinux 4096 Nov 27 10:44 .cache/
  10. -rw-rw-r-- 1 lilei lyhabclinux 0 Feb 6 15:51 iphone6

你要干这个的大前提是你得得到你爸妈也就是你家里的上帝(root权限)的同意啊,不然你可干不了这种事


修改文件权限
我这里假设你已经把那部爱疯恩变成你自己的了,正所谓辛苦得来的就倍感珍惜,你想好好保护它,也不像让别人玩它,
那么你可以去掉它的读权限,如果你还想让它变成一件收藏品不再开机,那么你可以去掉它的执行权限。
下面来告诉你怎么做,这里也还有两种方式:
方式一:二进制数字表示
二进制懂吧,二进制转十进制懂吧,好吧,不懂也没关系


每个文件的三组权限(拥有者,所属用户组,其他用户,记住这个顺序是一定的哈)就对应这一个"rwx",也就是一个'7'
所以如果我要将爱疯恩的权限改为只有我自己可以用那么就这样:
为了演示,我先在文件里加点东西
  1. echo "echo \"hello xxxx\"" > iphone6



然后修改权限
  1. lilei@lyhabclinux:/home/lyhabclinux$ chmod 700 iphone6
-F, –classify 加上文件类型的指示符号 (*/=@| 其中一个)
*  :  可执行文件
/  :  目录
=  : 套接字
@ : 符号链接
|   : 管道文件
修改了权限之后,变成了可执行文件 因为是rwx

  1. -rwx------ 1 lilei lyhabclinux 0 Feb 6 16:04 iphone6*


正好这时候屋主回来了,他发现爱疯恩已经不属于他了,而且你还不允许他使用,他只有独自郁闷了

  1. lilei@lyhabclinux:/home/lyhabclinux$ ll iphone6
  2. -rwx------ 1 lilei lyhabclinux 18 Feb 6 16:05 iphone6*
权限不够
  1. lyhabclinux@lyhabclinux:~$ cat iphone6
  2. cat: iphone6: Permission denied



阅读(1042) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~