ls命令用来显示目标列表,在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。《Linux 就该这么学》
创新互联公司专注于企业成都全网营销、网站重做改版、中山网站定制设计、自适应品牌网站建设、H5技术、商城网站制作、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为中山等各大城市提供网站开发制作服务。
[1]查看文件详情:ls -l 或 ll
[2]只查看当前目录下的目录文件: ls -d .
ls -ld dir # 只查看 dir路径下目录的详情。
一、操作系统中的用户管理 相关配置文件解读
Linux用户在操作系统可以进行日常管理和维护,涉及到的相关配置文件如下:
/etc/passwd 保存操作系统中的所有用户信息
root : x : 0 : 0 : root : /root : /bin/bash
name:password:UID:GID:GECOS:directory:shell
用户名 :密码占位符 :uid :基本组的gid :用户信息记录字段:用户的家目录:用户登录系统后使用的命令解析器
————————————————
字段1:用户名
字段2:密码占位符
字段3:用户的UID 0 表示超级用户 , 500-60000 普通用户 , 1-499 程序用户
字段4:基本组的GID 先有组才有用户
字段5:用户信息记录字段
字段6:用户的家目录
字段7:用户登录系统后使用的命令解释器
————————————————
UID:0表示超级用户, 程序用户 (1-499),普通用户 (500以上60000以下),根据uid将用户分为以上三类用户。
/etc/shdaow 保存用户密码(以加密形式保存)
[root@xing /]# cat /etc/shadow
root : $6$Jw5XsDvvNBH5Xoq. : 19180 : 0 : 99999 : 7 : : :
用户名:密码(加密后的字符串):最近一次的修改时间【距离1970年1月1日的距离】:密码的最短有效期:密码的最长有效期:密码过期前7天警告:密码的不活跃期:用户的失效时间: 保留字段
————————————————
字段1:用户名
*字段2:用户的密码加密后的字符串(sha)
字段3:距离1970/1/1密码最近一次修改的时间
字段4:密码的最短有效期
*字段5:密码的最长有效期(建议时间 90)
字段6:密码过期前7天警告
字段7:密码的不活跃期
字段8:用户的失效时间
字段9:保留字段
这个字段目前没有使用,等待新功能的加入。
————————————————
/etc/group 保存组信息
————————————————
root:x:0:
bin:x:1:bin,daemon
组名:组的密码占位符:gid:附加组成员
————————————————
/etc/login.defs 用户属性限制,密码过期时间,密码最大长度等限制
/etc/default/useradd 显示或更改默认的useradd配置文件
二、文件及目录权限
文件与权限: 即文件或者目录属于哪个用户,属于哪个组,不同的用户能对该文件进行何种操作。
————————————————
注:
查看文件权限: ls -l 文件
查看目录权限 : ls -ld 目录
————————————————
[root@xing Desktop]# ls -l /root/Desktop/
total 70584
lrwxrwxrwx. 1 root root 18 Jul 14 14:32 123.txt - /root/Desktop/ming
-rw-r--r--. (文件属性) 1 (链接个数: 表示指向它的链接文件的个数 ) root (所属者) root (所属组) 0(文件大小:单位byte) Jul 14 14:14(最后一次修改时间) 2.txt(文件名)
drwx------.(文件属性) 7 (目录中的子目录数: 此处看到的值要减2才等于该目录下的子目录的实际个数。 ) root (所属者) root (所属组) 4096 (文件大小:单位byte)Jul 13 16:56(最后一次修改时间) vmware-tools-distrib(目录名)
[root@xing Desktop]# ls -ld /root/Desktop/
drwxr-xr-x. 3 root root 4096 Jul 14 14:44 /root/Desktop/
————————————————
文件属性解释:
- rw- r-- r-- .
d rwx r-x r-x .
字段1:文件类型 【- 普通文件 d目录 l符号链接 b块设备】
字段2:文件所有者对该文件的权限
字段3:文件所属组的权限
字段4:其他用户的权限(既不是文件所有者也不是文件所属组的用户)
字段5:表示文件受 selinux 的程序管理
8进制赋权法: r 【100】4; w【010】2; x【001】1
————————————————
三、用户以及权限管理命令汇总:
————————————————
用户增删改命令
useradd
userdel
usermod
————————————————
用户组增删改命令
groupadd
groupdel
groupmod
————————————————
passwd
change
————————————————
文件权限修改: chmod命令
chmod 对象 算数运算符 权限 文件
[root@xing tmp]# ls -ld ming
drwxr-xr-x. 2 root root 4096 Jul 16 10:27 ming
[root@xing tmp]# chmod o-x ming
[root@xing tmp]# ls -ld ming
drwxr-xr--. 2 root root 4096 Jul 16 10:27 ming
————————————————
文件所属者修改:
chown 用户 文件
[root@xing tmp]# chown ming ming
[root@xing tmp]# ls -ld ming
drwxr-xr--. 2 ming root 4096 Jul 16 10:27 ming
————————————————
文件所属组修改:
chgrp 组 文件
[root@xing tmp]# chgrp ming ming
[root@xing tmp]# ls -ld ming
drwxr-xr--. 2 ming ming 4096 Jul 16 10:27 ming
————————————————
8进制赋权法
[root@xing ~]# chmod 644 /tmp/ming
[root@xing ~]# ls -ld /tmp/ming
drw-r--r--. 2 ming ming 4096 Jul 16 10:27 /tmp/ming
————————————————
linux下命令“ll”是“ls -l"的别名。
————————————————
粘滞位:赋权后的文件 只有建立者可以删除
chmod o+t 文件
[root@xing ~]# chmod o+t /tmp/ming
[root@xing ~]# ll -d /tmp/ming
drw-r--r-T . 2 ming ming 4096 Jul 16 10:27 /tmp/ming
————————————————
sgid : 赋权后的目录,新建立的文件或者子目录的所属组继承父目录的所属组
chmod g+s 目录
[root@xing ming]# chmod g+s /tmp/ming
[root@xing tmp]# ll
drw-r-Sr-T. 2 ming ming 4096 Jul 16 11:29 ming
[root@xing ming]# touch 20.txt
[root@xing ming]# ll
-rw-r--r--. 1 root ming 0 Jul 16 11:33 20.txt
[root@xing ming]# mkdir 60
[root@xing ming]# ll
drwxr-sr-x. 2 root ming 4096 Jul 16 11:34 60
————————————————
suid :允许谁运行该文件具有该文件所属者的权限
chmod u+s 文件
[root@xing Desktop]# ll /usr/bin/vim
-rwxr-xr-x. 1 root root 2324712 Dec 22 2016 /usr/bin/vim
[root@xing Desktop]# chmod u+s /usr/bin/vim
[root@xing Desktop]# ll /usr/bin/vim
-rwsr-xr-x. 1 root root 2324712 Dec 22 2016 /usr/bin/vim
备注:linux 红底白字代表警告!
————————————————
[root@xing Desktop]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin
suid:4 sgid:2 粘滞位:1
[root@xing Desktop]# find /usr/bin -perm 4 755
/usr/bin/at
/usr/bin/chage
/usr/bin/pkexec
/usr/bin/Xorg
/usr/bin/crontab
/usr/bin/newgrp
/usr/bin/vim
/usr/bin/gpasswd
/usr/bin/passwd
/usr/bin/ksu
————————————————
1、不再允许添加新用户的请求
chattr命令 :用于改变文件属性
chattr +i 文件
lsttr命令 :查看文件属性
lsattr 文件
[root@xing Desktop]# lsattr /etc/passwd /etc/shadow
-------------e- /etc/passwd
-------------e- /etc/shadow
[root@xing Desktop]# chattr +i /etc/passwd /etc/shadow
[root@xing Desktop]# lsattr /etc/passwd /etc/shadow
----i--------e- /etc/passwd
----i--------e- /etc/shadow
[root@xing Desktop]# useradd kk
useradd: cannot open /etc/passwd
2、umask
root用户的umask默认值是0022,一般用户默认是0002
目录的最高权限 0777-0022=0755
文件的最高权限 0666-0022=644
一般服务器配置umask的值配置为027最好;需要去修改两处文件中的umask值。
/etc/profile
/etc/bashrc
3、修改默认的密码最长有效期:修改以下配置文件
/etc/login.defs
用法:ls [选项]... [文件]...
列出 FILE 的信息(默认为当前目录)。
如果不指定-cftuvSUX 或--sort 选项,则根据字母大小排序。
长选项必须使用的参数对于短选项时也是必需使用的。
-a, --all 不隐藏任何以. 开始的项目
-A, --almost-all 列出除. 及.. 以外的任何项目
--author 与-l 同时使用时列出每个文件的作者
-b, --escape 以八进制溢出序列表示不可打印的字符
--block-size=大小 块以指定大小的字节为单位
-B, --ignore-backups 不列出任何以"~"字符结束的项目
-c 配合-lt:根据ctime 排序并显示ctime(文件
状态最后更改的时间)
配合-l:显示ctime 但根据名称排序 其他情况:按ctime 排序
-C 每栏由上至下列出项目
--color[=WHEN] 控制是否使用色彩分辨文件。WHEN 可以是
"never"(默认)、"always"或"auto"其中之一
-d, --directory 当遇到目录时列出目录本身而非目录内的文件
-D, --dired 产生适合Emacs 的dired 模式使用的结果
-f 不进行排序,-aU 选项生效,-lst 选项失效
-F, --classify 加上文件类型的指示符号(*/=@| 其中一个)
--format=关键字 交错-x,逗号分隔-m,水平-x,长-l,
单栏-1,详细-l,垂直-C
--full-time 即-l --time-style=full-iso
-g 类似-l,但不列出所有者
--group-directories-first
在文件前分组目录。此选项可与--sort 一起使用,
但是一旦使用--sort=none (-U)将禁用分组
-G, --no-group 以一个长列表的形式,不输出组名
-h, --human-readable 与-l 一起,以易于阅读的格式输出文件大小
(例如 1K 234M 2G)
--si 同上面类似,但是使用1000 为基底而非1024
-H, --dereference-command-line
跟随命令行列出的符号链接
--dereference-command-line-symlink-to-dir
跟随命令行列出的目录的符号链接
--hide=PATTERN 隐藏符合PATTERN 模式的项目
(-a 或 -A 将覆盖此选项)
--indicator-style=方式 指定在每个项目名称后加上指示符号方式:
none (默认),classify (-F),file-type (-p)
-i, --inode 显示每个文件的inode 号
-I, --ignore=PATTERN 不显示任何符合指定shell PATTERN 的项目
-k 即--block-size=1K
-l 使用较长格式列出信息
-L, --dereference 当显示符号链接的文件信息时,显示符号链接所指示
的对象而并非符号链接本身的信息
-m 所有项目以逗号分隔,并填满整行行宽
-n, --numeric-uid-gid 类似 -l,但列出UID 及GID 号
-N, --literal 输出未经处理的项目名称 (如不特别处理控制字符)
-o 类似 -l,但不列出有关组的信息
-p, --indicator-style=slash 对目录加上表示符号"/"
-q, --hide-control-chars 以"?"字符代替无法打印的字符
--show-control-chars 直接显示无法打印的字符 (这是默认方式,除非调用
的程序名称是"ls"而且是在终端输出结果)
-Q, --quote-name 将条目名称括上双引号
--quoting-style=方式 使用指定的quoting 方式显示条目的名称:
literal、locale、shell、shell-always、c、escape
-r, --reverse 排序时保留顺序
-R, --recursive 递归显示子目录
-s, --size 以块数形式显示每个文件分配的尺寸
-S 根据文件大小排序
--sort=WORD 以下是可选用的WORD 和它们代表的相应选项:
extension -X status -c
none -U time -t
size -S atime -u
time -t access -u
version -v use -u
--time=WORD 和-l 同时使用时显示WORD 所代表的时间而非修改时
间:atime、access、use、ctime 或status;加上
--sort=time 选项时会以指定时间作为排序关键字
--time-style=STYLE 和-l 同时使用时根据STYLE 代表的格式显示时间:
full-iso、iso、locale、posix-iso、+FORMAT。
FORMAT 即是"date"所用的时间格式;如果FORMAT
是FORMAT1换行FORMAT2,FORMAT1 适用于较旧
的文件而FORMAT2 适用于较新的文件;如果STYLE
以"posix-"开头,则STYLE 仅在POSIX 语系之外
生效。
-t 根据修改时间排序
-T, --tabsize=宽度 指定制表符(Tab)的宽度,而非8 个字符
-t 按修改时间排序
-T, --tabsize=COLS 指定制表符(Tab)的宽度,而非8个字符
-u 同-lt 一起使用:按照访问时间排序并显示
同-l一起使用:显示访问时间并按文件名排序
其他:按照访问时间排序
-U 不进行排序;按照目录顺序列出项目
-v 在文本中进行数字(版本)的自然排序
-w, --width=COLS assume screen width instead of current value
-x list entries by lines instead of by columns
-X sort alphabetically by entry extension
-1 list one file per line
输入alias,可以查看当前设置的命令别名:
[root@localhost ~]# alias
alias cls='clear'
alias cp='cp -i'
alias l.='ls -d .* --color=tty'
alias ll='ls -l --color=tty'
alias lm='ll | more'
alias ls='ls --color=tty'
alias mv='mv -i'
alias rm='rm -i'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
由上可见,ll = ls-l,则ll-d为ls-ld命令。
而ls命令解释如下
1. 命令格式:
ls [选项] [目录名]
2. 命令功能:
列出目标目录中所有的子目录和文件。
3. 常用参数:
-a, –all 列出目录下的所有文件,包括以 . 开头的隐含文件
-A 同-a,但不列出“.”(表示当前目录)和“..”(表示当前目录的父目录)。
-c 配合 -lt:根据 ctime 排序及显示 ctime (文件状态最后更改的时间)配合 -l:显示 ctime 但根据名称排序否则:根据 ctime 排序
-C 每栏由上至下列出项目
–color[=WHEN] 控制是否使用色彩分辨文件。WHEN 可以是'never'、'always'或'auto'其中之一
-d, –directory 将目录象文件一样显示,而不是显示其下的文件。
-D, –dired 产生适合 Emacs 的 dired 模式使用的结果
-f 对输出的文件不进行排序,-aU 选项生效,-lst 选项失效
-g 类似 -l,但不列出所有者
-G, –no-group 不列出任何有关组的信息
-h, –human-readable 以容易理解的格式列出文件大小 (例如 1K 234M 2G)
–si 类似 -h,但文件大小取 1000 的次方而不是 1024
-H, –dereference-command-line 使用命令列中的符号链接指示的真正目的地
–indicator-style=方式 指定在每个项目名称后加上指示符号方式:none (默认),classify (-F),file-type (-p)
-i, –inode 印出每个文件的 inode 号
-I, –ignore=样式 不印出任何符合 shell 万用字符样式的项目
-k 即 –block-size=1K,以 k 字节的形式表示文件的大小。
-l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。
-L, –dereference 当显示符号链接的文件信息时,显示符号链接所指示的对象而并非符号链接本身的信息
-m 所有项目以逗号分隔,并填满整行行宽
-o 类似 -l,显示文件的除组信息外的详细信息。
-r, –reverse 依相反次序排列
-R, –recursive 同时列出所有子目录层
-s, –size 以块大小为单位列出所有文件的大小
-S 根据文件大小排序
–sort=WORD 以下是可选用的 WORD 和它们代表的相应选项:
extension -X status -c
none -U time -t
size -S atime -u
time -t access -u
version -v use -u
-t 以文件修改时间排序
-u 配合 -lt:显示访问时间而且依访问时间排序
配合 -l:显示访问时间但根据名称排序
否则:根据访问时间排序
-U 不进行排序;依文件系统原有的次序列出项目
-v 根据版本进行排序
-w, –width=COLS 自行指定屏幕宽度而不使用目前的数值
-x 逐行列出项目而不是逐栏列出
-X 根据扩展名排序
-1 每行只列出一个文件
–help 显示此帮助信息并离开
–version 显示版本信息并离开
所以ll-d会将目录象文件一样显示,而不是显示其下的文件,并且还将文件的权限、所有者、文件大小等信息详细列出来