linux查看文件/目录 大小(du)、权限(ls ll),用户及组(user/group)增、删、改 (chmod/chown/chgrp)

您所在的位置:网站首页 linux查看文件夹目录大小怎么设置不了 linux查看文件/目录 大小(du)、权限(ls ll),用户及组(user/group)增、删、改 (chmod/chown/chgrp)

linux查看文件/目录 大小(du)、权限(ls ll),用户及组(user/group)增、删、改 (chmod/chown/chgrp)

2024-07-09 09:37| 来源: 网络整理| 查看: 265

使用du命令查看文件/目录大小

例:要显示一个目录树及其每个子树的磁盘使用情况

du -h .

#-h 自动根据大小以k、m、g为单位显示,提高信息的可读性。kb、mb、gb是以1024为换算单 位, -h以1000为换算单位;

#若省略/home/linux路径目录,则显示当前目录的;

#“.”代表当前目录下。也可以换成一个明确的路径

du -sh /etc

#-s 仅显示总计,即显示路径目录或当前目录的总大小。

语法:du [-abcDhHklmsSx] [-L ][-X ][--block-size][--exclude=] [--max-depth=][--help][--version][目录或文件]

常用参数:

-a或-all  为每个指定文件显示磁盘使用情况,或者为目录中每个文件显示各自磁盘使用情况。

-b或-bytes 显示目录或文件大小时,以byte为单位。

-c或–total 除了显示目录或文件的大小外,同时也显示所有目录或文件的总和。

-D或–dereference-args 显示指定符号连接的源文件大小。

-h或–human-readable 以K,M,G为单位,提高信息的可读性。

-H或–si 与-h参数相同,但是K,M,G是以1000为换算单位,而不是以1024为换算单位。

-k或–kilobytes 以1024 bytes为单位。

-l或–count-links 重复计算硬件连接的文件。

-L或–dereference 显示选项中所指定符号连接的源文件大小。

-m或–megabytes 以1MB为单位。

-s或–summarize 仅显示总计,即当前目录的大小。

-S或–separate-dirs 显示每个目录的大小时,并不含其子目录的大小。

-x或–one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。

-X或–exclude-from= 在指定目录或文件。

–exclude= 略过指定的目录或文件。

–max-depth= 超过指定层数的目录后,予以忽略。

–help 显示帮助。

–version 显示版本信息。

****************************************************************************************************************************************

使用ls ll查看文件权限,用户和所属组 ls 命令的含义是list显 示当前目录中的文件名字。注意不加参数它显示除隐藏文件外的所有文件及目录的名字。 1.ls-lh 查询当前目录下文件夹/文件用户所属组及权限 root@bao-vm:/test/a# cd / root@bao-vm:/# ls -lh 总用量 104K drwxr-xr-x 2 root root 4.0K 6月 4 17:15 bin drwxr-xr-x 3 root root 4.0K 7月 17 14:08 boot lrwxrwxrwx 1 root root 32 7月 17 00:02 initrd.img -> boot/initrd.img-4.4.0-31-generic lrwxrwxrwx 1 root root 32 7月 3 20:42 initrd.img.old -> boot/initrd.img-4.4.0-28-generic  显示说明:  第三行,总用量(total) 104k  Total后面的数字是指当前目录下所有文件所占用的空间总和。使用ls –lh可查看,也可使用ls –alh查看  第四行以后    drwxr-xr-x 2 root root 4.0K 6月 4 17:15 bin  第1字段: 文件属性字段。文件属性字段总共有10个字母组成;第一个字符表示文件类型。  文件属性字段,参数含义: -表示该文件是一个普通文件  d 表示该文件是一个目录,字母"d",是dirtectory(目录)的缩写  注意:目录或者是特殊文件,这个特殊文件存放其他文件或目录的相关信息  l表示该文件是一个链接文件。字母"l"是link(链接)的缩写,类似于windows下的快捷方式

 b 的表示块设备文件(block),一般置于/dev目录下,设备文件是普通文件和程序访问硬件设备的入口,是很特殊的文件。没有文件大小,只有一个主  设备号和一个辅设备号。一次传输数据为一整块的被称为块设备,如硬盘、光盘等。最小数据传输单位为一个数据块(通常一个数据块的大小为512字  节)

 c 表示该文件是一个字符设备文件(character),一般置于/dev目录下,一次传输一个字节的设备被称为字符设备,如键盘、字符终端等,传输数据的最  小单位为一个字节

 p 表示该文件为命令管道文件。与shell编程有关的文件

 s 表示该文件为sock文件。与shell编程有关的文件

 链接文件分为硬链接或符号链接两种。

 硬链接:多个指向同一文件。硬链接文件大小完全相同,如有多个硬链接,所链接的文件只是一个文件大小。

 同一个文件所有的文件都是等价的,操作系统不区分链接创建的先后顺序,若一个文件存在两个链接,那么除去一个文件还可以通过另外一个文件来  访问该文件,也可以除去  创建链接时用到的文件,但只要还有一个链接存在,就可通过该连接访问文件。

 建立硬链接方法:ln a b是建立硬链接

 符号链接(软链接):建立一个独立的文件,这个文件会让数据的读取指向它链接的文件内容。类似windows快捷方式。

 建立软链接: ln -s a b

 a 是源文件,b是链接文件名,其作用是进入b目录,实际上是链接进入了a目录

 如:ln -s /usr/local/mysql/bin/mysql  /usr/local/bin

 实际上是在/usr/local/bin目录创建了个mysql文件,地址指向/usr/local/mysql/bin/mysql文件,相当于windows中的快捷方式

 第1字段后9个字母表示该文件或目录的权限位。r表是读 (Read) 、w表示写 (Write) 、x表示执行 (eXecute)  前三个表示文件拥有者的权限,中间三个表示文件所属组拥有的权限,最后三个表示其他用户拥有的权限。 drwxr-xr-x 2 root root 4.0K 6月 4 17:15 bin  这行表示,bin目录所对应的相关权限。  拥有者的权限为读、写、可执行,文件所属组搬用的权限为读、可执行,其他用户拥有的权限为读、可执行 lrwxrwxrwx 1 root root 32 7月 17 00:02 initrd.img -> boot/initrd.img-4.4.0-31-generic  第2字段:链接占用的节点数。  该字段文件占用一个节点,属于软链接(符号链接)  如果是目录,则第2字段表示该目录所含子目录的个数  新建空目录,此目录的第二字段就是2,表示该目录下有两个子目录。因为每一个目录都有一个指向它本身的子目录"." 和指向它上级目录的子目  录"..",此默认子目录是隐藏的。  每次在目录下新建一个子目录,该目录第2字段的值就增1,但是新建一个普通文件该字段值不增加。

   第3字段:文件(目录)拥有者 该字段表示该文件拥有者是谁。只有文件的拥有者才具有改动文件属性的权利。root具有改动任何文件属性的权利。对于目录,只有拥有该目录的用  户,或者具有写权限的用户才有在目录下创建文件的权利。  前ID号的数字。

第4字段:文件(目录)拥有者所在的组

一个用户可以加入很多个组,但是其中有一个是主组,就是显示在第4字段的名称。 第5字段: 文件所占用的空间(以字节为单位)  第5字段表示文件大小,如果是目录,表示该目录大小。注意是目录本身大小,而非目录及其下面的文件的总大小。 第6字段:文件(目录)最近访问(修改)时间 第7字段:文件名

2.文件名颜色的含义

如果某一用户被删除,而该用户家目录还存在,ls -l 查看该文件将显示一个代表用户存在  默认色代表普通文件。例:install.log  绿色代表可执行文件。例:rc.news  红色代表tar包 文件。 例:vim-7.1.tar.bz2  蓝色代表目录文件。  例:aa  水红代表图象文件。  例:Sunset.jpg  青色代表链接文件。  例:rc4.d     (此类文件相当于快捷方式)  黄色代表设备文件。  例:fd0

            ls(list)  功能说明:列出目录内容。  语  法:ls [-1aAbBcCdDfFgGhHiklLmnNopqQrRsStuUvxX][-I ][-T ][-w ][--block-size=][--color=][--format=][--full-time][--help][--indicator-style=][--quoting-style=][--show-control-chars][--sort=][--time=][--version][文件或目录...]

补充说明:执行ls指令可列出目录的内容,包括文件和子目录的名称。

参  数:

  -1   每列仅显示一个文件或目录名称。

  -a或--all   下所有文件和目录。

  -A或--almost-all   显示所有文件和目录,但不显示现行目录和上层目录。

  -b或--escape   显示脱离字符。

  -B或--ignore-backups   忽略备份文件和目录。

  -c   以更改时间排序,显示文件和目录。

  -C   以又上至下,从左到右的直行方式显示文件和目录名称。

  -d或--directory   显示目录名称而非其内容。

  -D或--dired   用Emacs的模式产生文件和目录列表。

  -f   此参数的效果和同时指定"aU"参数相同,并关闭"lst"参数的效果。

  -F或--classify   在执行文件,目录,Socket,符号连接,管道名称后面,各自加上"*","/","=","@","|"号。

  -g   次参数将忽略不予处理。

  -G或--no-group   不显示群组名称。

  -h或--human-readable   用"K","M","G"来显示文件和目录的大小。

  -H或--si   此参数的效果和指定"-h"参数类似,但计算单位是1000Bytes而非1024Bytes。

  -i或--inode   显示文件和目录的inode编号。

  -I或--ignore=   不显示符合范本样式的文件或目录名称。

  -k或--kilobytes   此参数的效果和指定"block-size=1024"参数相同。

  -l   使用详细格式列表。

  -L或--dereference   如遇到性质为符号连接的文件或目录,直接列出该连接所指向的原始文件或目录。

  -m   用","号区隔每个文件和目录的名称。

  -n或--numeric-uid-gid   以用户识别码和群组识别码替代其名称。

  -N或--literal   直接列出文件和目录名称,包括控制字符。

  -o   此参数的效果和指定"-l" 参数类似,但不列出群组名称或识别码。

  -p或--file-type   此参数的效果和指定"-F"参数类似,但不会在执行文件名称后面加上"*"号。

  -q或--hide-control-chars   用"?"号取代控制字符,列出文件和目录名称。

  -Q或--quote-name   把文件和目录名称以""号标示起来。

  -r或--reverse   反向排序。

  -R或--recursive   递归处理,将指定目录下的所有文件及子目录一并处理。

  -s或--size   显示文件和目录的大小,以区块为单位。

  -S   用文件和目录的大小排序。

  -t   用文件和目录的更改时间排序。

  -T或--tabsize=   设置跳格字符所对应的空白字符数。

  -u   以最后存取时间排序,显示文件和目录。

  -U   列出文件和目录名称时不予排序。

  -v   文件和目录的名称列表以版本进行排序。

  -w或--width=   设置每列的最大字符数。

  -x   以从左到右,由上至下的横列方式显示文件和目录名称。

  -X   以文件和目录的最后一个扩展名排序。

  --block-size=   指定存放文件的区块大小。

  --color=   培植文件和目录的列表格式。

  --full-time   列出完整的日期与时间。

  --help   在线帮助。

  --indicator-style=   在文件和目录等名称后面加上标注,易于辨识该名称所属的类型。

  --quoting-syte=   把文件和目录名称以指定的引号样式标示起来。

  --show-control-chars   在文件和目录列表时,使用控制字符。

  --sort=   配置文件和目录列表的排序方式。

  --time=   用指定的时间戳记取代更改时间。

  --version   显示版本信息。

****************************************************************************************************************************************

linux用户组及用户相关操作(增删改查)

1.linux系统用户组管理

①增加一个新的用户组使用groupadd命令。 格式:groupadd 选项 用户组

 -g GID 指定新用户组的组标识号(GID)。  -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。

 例,添加新用户组:groupadd testgroup

②如果要删除一个已有的用户组,使用groupdel命令。格式:groupdel 用户组

 例,删除用户组:groupdel testgroup

③修改用户组的属性使用groupmod命令。 格式:groupmod 选项 用户组

 -g GID 为用户组指定新的组标识号。  -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。  -n 新用户组 将用户组的名字改为新名字

 例1:groupmod -g 102 group2                       此命令将组group2的组标识号修改为102。

 例2:groupmod –g 10000 -n group3 group2      此命令将组group2的标识号改为10000,组名修改为group3。

④如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。用户可以在登录后,使用命令newgrp切换到其他用户组,这个命令的参数就是目的用户组。 

 例:newgrp root 

 这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组。类似于用户账号的管理,用户组的管理也可以通过集成的系统管  理工具来完成。

2.Linux系统用户账号的管理

①添加新的用户账号使用 useradd命令。格式:useradd 选项 用户名

 -c comment 指定一段注释性描述。  -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。  -g 用户组 指定用户所属的用户组。  -G 用户组,用户组 指定用户所属的附加组。  -s Shell文件 指定用户的登录Shell。

 -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

 -r  表示用户是系统用户,不可用于登录系统。

 例1:useradd test    此命令创建一个新用户,用户名为test

 例2: useradd -s /bin/sh -g group –G adm,root gem

 此命令新建了一个用户gem,该用户的登录Shell是/bin/sh,它属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组。

②删除帐号

  如果一个用户的账号不再使用,可以从系统中删除。删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主  目录。删除一个已有的用户账号使用userdel命令,其格式如下:userdel 选项 用户名

 常用的选项是-r,它的作用是把用户的主目录一起删除。

③修改帐号

 修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。  修改已有用户的信息使用usermod命令,其格式如下:usermod 选项 用户名

 常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。另外,有些系统可以使用  如下选项:

 -l 新用户名  这个选项指定一个新的账号,即将原来的用户名改为新的用户名。

 例:usermod -s /bin/ksh -d /home/z –g developer sam  此命令将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer。

④用户口令的管理

 用户管理的一项重要内容是用户口令的管理。用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指    定空口令。  指定和修改用户口令的Shell命令是passwd。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。

 命令的格式为:passwd 选项 用户名

 -l 锁定口令,即禁用账号。  -u 口令解锁。  -d 使账号无口令。  -f 强迫用户下次登录时修改口令。  如果默认用户名,则修改当前用户的口令。

 例如,假设当前用户是sam,则下面的命令修改该用户自己的口令:

 $ passwd  Old password:******  New password:*******  Re-enter new password:*******

 如果是超级用户,可以用下列形式指定任何用户的口令:

 # passwd sam  New password:*******  Re-enter new password:*******

 普通用户修改自己的口令时,passwd命令会先询问原口令,验证后再要求用户输入两遍新口令,如果两次输入的口令一致,则将这个口令指定给用  户;而超级用  户为用户指定口令时,就不需要知道原口令。  为了系统安全起见,用户应该选择比较复杂的口令,例如最好使用8位长的口令,口令中包含有大写、小写字母和数字,并且应该与姓名、生日等不相同。

 为用户指定空口令时,执行下列形式的命令:# passwd -d sam   此命令将用户sam的口令删除,这样用户sam下一次登录时,系统就不再询问口令。

 

 # passwd -l sam   新建用户异常:  useradd -d /usr/hadoop -u 586 -m hadoop -g hadoop  1  Creating mailbox file: 文件已存在       删除即可 rm -rf /var/spool/mail/用户名  2 useradd: invalid numeric argument 'hadoop'    这是由于hadoop组不存在 请先建hadoop组  通过cat /etc/passwd 可以查看用户的pass  cat /etc/shadow 可以查看用户名  cat /etc/group  可以查看 组 **************************************************************************************************************************************** chown/chgrp/chmod  修改文件所属用户和组 区别: chown一般用来更改属主。也就是文件所属用户。 chgrp一般用来更新所属组。也就是文件所属组。 chmod功能要比chown强大。可更改文件所有属性和权限。只有管理员帐户才有权限用此命令。 1.chown   使用方式:chown [-cfhvR] [--help] [--version] user[:group] file...   说明 : Linux/Unix 是多人多工作业系统,所有的档案皆有拥有者。利用 chown 可以将档案的拥有者加以改变。一般来说,这个指令只有是由系统管理者(root)  所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。   user : 新的档案拥有者的使用者 ID  group : 新的档案拥有者的使用者群体(group)  -c : 若该档案拥有者确实已经更改,才显示其更改动作  -f : 若该档案拥有者无法被更改也不要显示错误讯息  -h : 只对于连结(link)进行变更,而非该 link 真正指向的档案  -v : 显示拥有者变更的详细资料  -R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)  --help : 显示辅助说明  --version : 显示版本   例:chown jessie:users file1.txt 将档案 file1.txt 的拥有者设为 users 群体的使用者 jessie  例:chown -R lamport:users * /chown -R lamport:users .    将当前目录下的所有档案与子目录的拥有者皆设为 users 群体的使用者 lamport 2.chmod  使用方式 : chmod [-cfvR] [--help] [--version] mode file...   说明 : Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所存取。   -c : 若该档案权限确实已经更改,才显示其更改动作   -f : 若该档案权限无法被更改也不要显示错误讯息   -v : 显示权限变更的详细资料   -R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)   --help : 显示辅助说明   --version : 显示版本   mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...]  其中u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)  者,o 表示其他以外的人,a 表示这三者皆是。   + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。   r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。    例:chmod ugo+r file1.txt   将档案 file1.txt 设为所有人皆可读取  例:chmod a+r file1.txt     将档案 file1.txt 设为所有人皆可读取  例:chmod ug+w,o-w file1.txt file2.txt    将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入  例:chmod u+x ex1.py        将 ex1.py 设定为只有该档案拥有者可以执行  例:chmod -R a+r *          将当前目录下的所有档案与子目录皆设为任何人可读取  此外chmod也可以用数字来表示权限如 chmod 777 file   语法为:chmod abc file   其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。   r=4,w=2,x=1   若要rwx属性则4+2+1=7;   若要rw-属性则4+2=6;   若要r-x属性则4+1=5。   例:chmod a=rwx file 和 chmod 777 file 效果相同   例:chmod ug=rwx,o=x file 和 chmod 771 file  效果相同  若用chmod 4755 filename可使此程式具有root的权限 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3