1.Linux特点
2.Linux的组成
(2)发行版的名称、版本由发行厂商决定
(1)Shell的作用:命令的解释器,“翻译官”
介于操作系统内核与用户之间。负责解释命令行
(2)Shell的作用及常见种类
(3)Shell环境的切换
指用户每次登录系统后自动加载的Shell程序,大多数Linux系统采用 /bin/bash 作为默认登录;
/etc/shells文件记录了系统支持的有效登录Shell;
临时切换:直接执行其他Shell程序,例如ksh、zsh等;
更改用户登录Shell:需修改 /etc/passwd 文件中用户记录的最后一个字段;
或执行:usermod -s Shell程序路径 用户名;
usermod -s /bin/bash root;
[root@localhost ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh
/bin/ksh
(1)Linux命令
用于实现某一类功能的指令或程序
命令的执行依赖于解释器程序(例如:/bin/bash)
(2)Linux命令的分类
内部命令:属于Shell解释器的一部分
外部命令:独立于Shell解释器之外的程序文件
以 “-”引导短格式选项(单个字符),例如“-l”
以“–”引导长格式选项(多个字符),例如“–color”
多个短格式选项可以写在一起,只用一个“-”引导,例如“-al”
[root@localhost ~]# ls -l /home
总计 8
drwx------ 2 benet benet 4096 09-08 08:50 benet
Tab键:自动补齐
反斜杠“\”:强制换行
快捷键 Ctrl+U:清空至行首
快捷键 Ctrl+K:清空至行尾
快捷键 Ctrl+L:清屏
快捷键 Ctrl+C:取消本次命令编辑
(5)获得命令帮助
pwd、cd、ls、mkdir、du(统计目录及文件的空间占用)
touch(创建一个空文件)、file(查看文件类型)
cp、rm、mv
which(查找Linux命令文件并显示所在的位置)、find(用于查找文件或目录)、ln(为文件或目录建立链接)
cat、more、less
head、tail、wc、grep
gzip、bzip2、tar
(1)pwd命令
用途:查看工作目录(Print Working Directory)
(2)cd命令
用途:切换工作目录(Change Directory)
格式:cd [目录位置]
[root@localhost ~]# cd /etc/httpd 绝对路径
[root@localhost httpd]# cd conf
[root@localhost conf]# cd ~benet 相对路径
[root@localhost benet]# pwd
/home/benet
[root@localhost zhangsan]# ls -dl ../jerry 相对路径
drwx------ 2 jerry jerry 4096 09-14 21:50 ../jerry
(3)ls命令
用途:列表(List)显示目录内容
格式:ls [选项]… [目录或文件名]
常用命令选项
-l :以长格式显示
-a:显示所有子目录和文件的信息,包括隐藏文件
-d:显示目录本身的属性
-A:类似于“-a”,但不显示“.”和“…”目录的信息
-h:以更易读的字节单位(K、M等)显示信息
-R:递归显示内容
–color:以颜色区分不同类型文件
解释:
Shell中的两种通配符;
alias:对于经常使用的复杂命令行,通过命令别名可以大大提高输入效率;
单独执行alias命令可以查看当前用户环境中已经定义好的命令别名
(4)mkdir命令
用途:创建新的目录(Make Directory)
格式:mkdir [-p] [/路径/]目录名
[root@localhost ~]# mkdir -p mydir/level1/level2
[root@localhost ~]# ls -R mydir
mydir:
level1
mydir/level1:
level2
mydir/level1/level2:
(5)du命令
用途:统计目录及文件的空间占用情况(estimate file space usage)
格式:du [选项]… [目录或文件名]
常用命令选项
-a:统计时包括所有的文件,而不仅仅只统计目录
-h:以更易读的字节单位(K、M等)显示信息
-s:只统计每个参数所占用空间总的大小
[root@localhost ~]# du -sh /etc/httpd/
184K /etc/httpd/
(1)touch命令
用途:新建空文件,或更新文件时间标记
格式:touch 文件名…
(2)file命令
用途:查看文件类型
格式: file 文件名…
[root@localhost ~]# touch file1.txt file2.doc
[root@localhost ~]# ls file*
file1.txt file2.doc
[root@localhost ~]# file /bin/ls
/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for ……
(3)cp命令
用途:复制(Copy)文件或目录
格式:cp [选项]… 源文件或目录… 目标文件或目录
常用命令选项
-r:递归复制整个目录树
-p:保持源文件的属性不变
-f:强制覆盖目标同名文件或目录
-i:需要覆盖文件或目录时进行提醒
(4)rm命令
-f:强行删除文件或目录,不进行提醒
-i:删除文件或目录时提醒用户确认
-r:递归删除整个目录树
(5)mv命令
用途:移动(Move)文件或目录
—— 若如果目标位置与源位置相同,则相当于改名
格式:mv [选项]… 源文件或目录… 目标文件或目录
如果目标位置与源位置相同,则效果相当于为文件或目录改名
若需要移动的是多个文件或目录时,则目标必须是目录
(6)which命令
用途:查找Linux命令文件并显示所在的位置
—— 搜索范围由 PATH 环境变量指定
格式:which 命令或程序名
[root@localhost ~]# which mkdir
/bin/mkdir
[root@localhost ~]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost ~]# which cd
/usr/bin/which: no cd in (/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
注:cd是Shell内部命令,因此查不到对应文件
(7)find命令
-name:按文件名称查找
-size:按文件大小查找
-user:按文件属主查找
-type:按文件类型查找
按名称查找:关键字为“-name”,根据目标文件的部分名称查找,允许使用“*”及“?”通配符。
按文件大小查找:关键字为“-size”,根据目标文件的大小进行查找,一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件。常用的容量单位包括k(注意是小写)、M、G。
按文件属主查找:关键字为“-user”,根据文件是否属于目标用户进行查找。
按文件类型查找:关键字为“-type”,根据文件的类型进行查找,这里的类型指的是普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等。块设备指的是成块读取数据的设备(如硬盘、内存等),而字符设备指的是按单个字符读取数据的设备(如键盘、鼠标等)
(8)ln命令
用途:为文件或目录建立链接(Link)
格式:ln [-s] 源文件或目录… 链接文件或目标目录
常用命令选项
-s:建立符号链接文件(省略此项则建立硬链接)
关于链接文件
符号链接:指向原始文件所在的路径,又称为软链接
硬链接:指向原始文件对应的数据存储位置;
不能为目录建立硬链接文件
硬链接与原始文件必须位于同一分区(文件系统)中
(1)cat命令
[root@localhost ~]# cat /etc/host.conf
order hosts,bind
[root@localhost ~]# cat /etc/resolv.conf
search localdomain
[root@localhost ~]# cat /etc/resolv.conf /etc/host.conf
search localdomain
order hosts,bind
(2)more命令
用途:全屏方式分页显示文件内容
交互操作方法:
按Enter键向下逐行滚动
按空格键向下翻一屏、按b键向上翻一屏
按q键退出
(3)less命令
用途:与more命令相同,但扩展功能更多
交互操作方法:
与more命令基本类似,但个别操作会有些出入
more命令结合管道操作使用时(例如:ls -R /etc | more)无法向上翻页,但less命令可以
在分页阅读界面中,到文件末尾时more命令会自动退出,less命令不会
(4)head命令
用途:查看文件开头的一部分内容(默认为10行)
格式:head -n 文件名
(5)tail命令
用途:查看文件结尾的少部分内容(默认为10行)
格式:tail -n 文件名
tail -f 文件名
[root@localhost ~]# tail -2 /var/log/messages
Sep 8 15:49:29 localhost scim-bridge: Cleanup, done. Exitting…
Sep 8 15:49:29 localhost Cleanup, done. Exitting…
(6)wc命令
用途:统计文件中的单词数量(Word Count)等信息
格式:wc [选项]… 目标文件…
常用命令选项
-l:统计行数
-w:统计单词个数
-c:统计字节数
(7)grep命令
用途:在文件中查找并显示包含指定字符串的行
格式:grep [选项]… 查找条件 目标文件
常用命令选项
-i:查找时忽略大小写
-v:反转查找,输出与查找条件不相符的行
查找条件设置
要查找的字符串以双引号括起来
“^……”表示以……开头
“……$ ”表示以……结尾
“^$”表示空行
eg:演示1:过滤出hosts文件中的非注释行(不以”#“号开头的行)
[root@localhost ~]# grep -v "^#" /etc/hosts
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
演示2:查找系统启动时识别的USB总线信息
[root@localhost ~]# dmesg | grep "USB"
drivers/usb/input/hid-core.c: v2.6:USB HID core driver
(1)gzip命令、bzip2命令
用途:制作压缩文件、解开压缩文件
格式:gzip [-9] 文件名…
bzip [-9] 文件名…
gzip -d .gz格式的压缩文件
bzip2 -d *.bz2格式的压缩文件
常用命令选项
-9:表示高压缩比,多在创建压缩包时用
-d:用于解开已经压缩过的文件
(2)tar命令
用途:制作归档文件、释放归档文件
格式:tar [选项]… 归档文件名 源文件或目录
tar [选项]… 归档文件名 [-C 目标目录]
常用命令选项
-c:创建 .tar 格式的包文件
-x:解开.tar格式的包文件
-v:输出详细信息
-f:表示使用归档文件
-p:打包时保留原始文件及目录的权限
-t:列表查看包内的文件
-C:解包时指定释放的目标文件夹
-z:调用gzip程序进行压缩或解压
-j:调用bzip2程序进行压缩或解压
(1)命令历史
保存用户曾经执行过的命令操作
存放位置:~/.bash_history 文件
(2)查看历史命令
[root@localhost root]# history
……
556 useradd jerry
557 passwd jerry
558 crontab -e -u jerry
559 crontab -l -u jerry
(3)调用历史命令
!n:执行历史记录中的第n条命令
!str:执行历史记录中以“str”开头的命令
(4)设置记录历史命令的条数
修改 HISTSIZE 参数(默认为1000条)
[root@localhost root]# !562
crontab -l -u jerry
no crontab for jerry
[root@localhost ~]# vi /etc/profile
HISTSIZE=200
(1)命令别名
为使用频率较高的复杂命令行设置简短的调用名称
存放位置:~/.bashrc
(2)查看命令别名
[root@localhost ~]# alias
alias cp='cp -i'
alias l.='ls -d .* --color=tty'
alias ll='ls -l --color=tty'
alias ls='ls --color=tty'
alias mv='mv -i'
alias rm='rm -i'
……
(1)正则表达式(regular expression)就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。比如 表达式“ab” 描述的特征是“一个 ‘a’ 和 任意多个 ‘b’ ,那么 ‘ab’, ‘abb’, ‘abbbbbbbbbb’ 都符合这个特征。
(2)表达式可以用来:
(1)验证字符串是否符合指定特征,比如验证是否是合法的邮件地址。
(2)用来查找字符串,从一个长的文本中查找符合指定特征的字符串,比查找固定字符串更加灵活方便。
(3)用来替换,比普通的替换更强大。
(4)创建正则表达式
行以 “Test”or”test”开头:
^[tT]est
行以 “end.”结尾:
end\.$
整行是: This is a test. :
^This is a test\.$
以下任意名称:file5,file6,file7,file8 :
file[5678]
以下任意名称:file2,file4,file6,file8 :
file[2468]
(5)创建grep命令
使用grep命令查找 /etc/passwd 文件中的字符串:
打印以字母 r 开头的所有的用户名
打印以字母 g 开头的所有的用户名
打印其 shells (最后一列) 为 /sbin/nologin的所有账户
打印 UID or GID (第三或第四列) 为 0 的所有账户
打印 UID or GID 在 10-19 之间的所有账户
1. grep ‘^r’ /etc/passwd
2. grep ‘^g’ /etc/passwd
3. grep ‘/sbin/nologin$’ /etc/passwd
4. grep ‘:0:’ /etc/passwd
5. grep ‘:1[0-9]:’ /etc/passwd
(1)重定向允许将标准输出或错误消息从程序重定向到文件, 以进行保存或稍后分析,或禁止其在终端显示。还可以通过文件而非键盘将输入读取至命令行程序
管道允许叫标准输出信息从程序连接至另一个程序的输入,每个程序作用于前一个程序的输出。
(2)交互式硬件设备
(3)改变标准输入、标准输出、标准错误的方向
将标准输出重定向到文件
$ ls /etc/ > etcdir
将标准输出重定向追加到文件
$ ls /etc/sysconfig/ >> etcdir
将错误输出重定向到文件
$ nocmd 2> errfile
将标准输出和错误输出重定向到文件
$ ls afile bfile &> errfile
(4)Bash的管道操作
管道操作符号“|”
连接左右两个命令,将左侧的命令输出的结果,作为右侧命令的输入(处理对象)
格式:cmd1 | cmd2 [… | cmdn]
awk命令用于以空格或制表位作为分隔,输出指定区域的字段数据,例如 ‘{print $2,$4}’ 表示只输出第2、4个字段的数据内容
eg:
1. 列出 /usr/share/doc 中以数字4结尾的文件.
ls /usr/share/doc I grep ‘4$’
2. 打印 /etc/hosts 中包含数字的所有行
grep ‘[0-9]’ /etc/hosts
3. 打印 /etc/hosts 中包含 127.0.0.1 的行
grep ‘127\.0\.0\.1’ /etc/hosts
4. 以 student用户运行以下命令,
并将 STDOUT重定向到/tmp/output . txt
将 STDERR 重定向到 /tmp/error .txt:
find /etc -name host*
find /etc -name ‘host*’> /tmp/output.txt 2> /tmp/error.txt
5. 以 student用户身份运行以下命令, 并将 STDOUT 和 STDERR重定向到 / tmp/all.txt 文件.
find /etc -name host*
find /etc -name host* >& /tmp/all.txt
6. 排列 /etc/passwd 文件,并将其发送到默认打印机
cat /etc/passwd | sort | lpr
7. 打印 /etc/passwd 中冒号之间是三位数的行
grep ‘:[0-9][0-9][0-9]:’ /etc/passwd
(1)文本编辑器的作用
创建或修改文本文件
维护Linux系统中的各种配置文件
(2)Linux中最常用的文本编辑器
vi:类Unix系统中默认的文本编辑器
vim:vi编辑器的增强版本,习惯上也称为vi
(1)三种工作模式
命令模式、输入模式、末行模式
1)命令模式:启动vi编辑器后默认进入命令模式,该模式中主要完成如光标移动、字符串查找,以及删除、复制、粘贴文件内容等相关操作
2)输入模式:该模式中主要的操作就是录入文件内容,可以对文本文件正文进行修改、或者添加新的内容。处于输入模式时,vi编辑器的最后一行会出现“-- INSERT --”的状态提示信息
3)末行模式:该模式中可以设置vi编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。处于末行模式时,vi编辑器的最后一行会出现冒号“:”提示符
(3)命令行模式下的光标移动
(7)末行模式中的保存文件及退出vi编辑器
(8)末行模式中的打开新文件或者读入其他文件内容
(9)末行模式中的文件内容替换
(1)用户账号
超级用户root
普通用户
程序用户
(2)组帐号
基本组(私有组)
附加组(公共组)
(3)UID和GID
UID(User Identity,用户标识号)
GID(Group Identify,组标识号)
(1)用于保存用户的帐号基本信息
文件位置:/etc/passwd
每一行对应一个用户的帐号记录
[root@localhost ~]# tail -2 /etc/passwd
sabayon:x:86:86:Sabayon user:/home/sabayon:/sbin/nologin
student:x:500:500:Student User:/home/student:/bin/bash
字段1:用户帐号的名称
字段2:用户密码字串或者密码占位符“x”
字段3:用户帐号的UID号
字段4:所属基本组帐号的GID号
字段5:用户全名
字段6:宿主目录
字段7:登录Shell信息
(1)用于保存密码字串、密码有效期等信息
文件位置:/etc/shadow
每一行对应一个用户的密码记录
[root@localhost ~]# tail -2 /etc/shadow
sabayon:!!:15495:0:99999:7:::
student:$1$po/zD0XK$4HSh/Aeae/eJ6dNj1k7Oz1:15495:0:99999:7:::
字段1:用户帐号的名称
字段2:加密的密码字串信息
字段3:上次修改密码的时间,从1970年01月01日(可理解为Unix系统的诞生日)算起到最近一次修改密码时间隔的天数
字段4:密码的最短有效天数,默认值为0
字段5:密码的最长有效天数,默认值为99999
字段6:提前多少天警告用户口令将过期,默认值为7
字段7:在密码过期之后多少天禁用此用户
字段8:帐号失效时间,默认值为空
字段9:保留字段(未使用)
(1)useradd命令
格式:useradd [选项]… 用户名
(2)常用命令选项
-u:指定 UID 标记号
-d:指定宿主目录,缺省为 /home/用户名
-e:指定帐号失效时间
-g:指定用户的基本组名(或UID号)
-G:指定用户的附加组名(或GID号)
-M:不为用户建立并初始化宿主目录
-s:指定用户的登录Shell
(3)eg:
——创建名为st02的用户帐号,并将其UID号指定为504
[root@localhost ~]# useradd -u 504 st02
[root@localhost ~]# tail -1 /etc/passwd
st02: x:504:504::/home/st02:/bin/bash
(4)
——创建一个考试测试用的帐号exam01,指定属于users组,该帐号于2009-07-30失效
[root@localhost ~]# useradd -g users -e 2009-07-30 exam01
(5)用户帐号的初始配置文件
~/.bash_profile:用户每次登录时执行
~/.bashrc:每次进入新的Bash环境时执行
~/.bash_logout:用户每次退出登录时执行
[root@localhost ~]# cat ~/.bashrc
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
……
(1)passwd命令
格式:passwd [选项]… 用户名
-d:清空用户的密码,使之无需密码即可登录
-l:锁定用户帐号
-S:查看用户帐号的状态(是否被锁定)
-u:解锁用户帐号
(1)usermod命令
格式:usermod [选项]… 用户名
-l:更改用户帐号的登录名称
-L:锁定用户账户
-U:解锁用户账户
以下选项与useradd命令中的含义相同
-u、-d、-e、-g、-G、-s
(1)userdel命令
格式:userdel [-r] 用户名
添加 -r 选项时,表示连用户的宿主目录一并删除
(1)chage命令
格式:chage [选项]… 用户帐号名
常用命令选项
-M:密码的最长有效天数
-m:密码的最短有效天数
-W:密码的警告天数
-I:密码的有效天数
-E:密码的过期时间
(1)与用户帐号文件相类似
/etc/group:保存组帐号基本信息
/etc/gshadow:保存组帐号的密码信息
(2)/etc/gshadow文件的应用极少
(1)groupadd命令
格式:groupadd [-g GID] 组帐号名
(1)gpasswd命令
用途:设置组帐号密码(极少用)、添加/删除组成员
格式:gpasswd [选项]… 组帐号名
(2)常用命令选项
[root@localhost ~]# grep "market" /etc/group
market:x:1000:benet,root,adm
[root@localhost ~]# gpasswd -d root market
正在将用户“root”从“market”组中删除
[root@localhost ~]# grep "market" /etc/group
market:x:1000:benet,adm
[root@localhost ~]# gpasswd -a benet market
正在将用户“benet”加入到“market”组中
[root@localhost ~]# grep "market" /etc/group
market:x:1000:benet
[root@localhost ~]# gpasswd -M benet,root,adm market
[root@localhost ~]# grep "market" /etc/group
market:x:1000:benet,root,adm
(1)groupdel命令
格式:groupdel 组帐号名
[root@localhost ~]# groupdel market
[root@localhost ~]# grep "market" /etc/group
[root@localhost ~]#
(1)id命令
用途:查询用户身份标识
格式:id [用户名]
(2)groups命令
用途:查询用户所属的组
格式:groups [用户名]
(3)finger命令
用途:查询用户帐号的详细信息
格式:finger [-l] [用户名]
(4)users、w 、who命令
用途:查询已登录到主机的用户信息
(1)打开方式:
“系统”->“管理”->“用户和组群”
读取:允许查看文件内容、显示目录列表
写入:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
可执行:允许运行程序、切换目录
属主:拥有该文件或目录的用户帐号
属组:拥有该文件或目录的组帐号
—— 重新设置mymkdir文件的权限,为属主用户添加执行权限,去除其他用户的读取权限
[root@localhost ~]# chmod u+x,o-r mymkdir
[root@localhost ~]# ls -l mymkdir
-rwxr----- 1 root root 29588 05-12 06:19 mymkdir
—— 重新设置mymkdir文件的访问权限,恢复为“rwxr-xr-x”
[root@localhost ~]# chmod 755 mymkdir
[root@localhost ~]# ls -l mymkdir
-rwxr-xr-x 1 root root 29588 05-12 06:19 mymkdir
—— 使用递归的方式将“/usr/src/”目录中所有子目录、文件的权限都设置为“rw-r--r--”
[root@localhost ~]# chmod -R 644 /usr/src/
查看文件权限
$ ls -l afile
-rw-rw-r-- 1 st01 class1 0 Apr 3 16:52 afile
增加文件属主st01的执行权限(x)
$ chmod u+x afile
去除文件属组class1的写权限(w)
$ chmod g-w afile
设置属主权限为读写,属组其他用户的文件权限为读
$ chmod 644 afile
chown命令
格式:chown 属主的文件或目录
chown :属组的文件或目录
chown 属主:属组的文件或目录
需要设置文件或者目录的归属时,可以通过chown、chgrp命令进行
chown命令既可以修改属主,也可以修改属组,而chgrp命令只用于修改属组信息(因此并不常用)
常用命令选项
-R:递归修改指定目录下所有文件、子目录的归属
eg:chown命令用于设置文件的属主和属组
命令格式
chown OWNER[:[GROUP]] FILE...
设置文件afile的属主为用户st01
# chown st01 afile
设置文件afile的属组为用户组class1
# chown :class1 afile
设置文件afile的属主为st03,并设置文件的属组为class2
# chown st03:class2 afile
为可执行(有 x 权限的)文件设置,权限字符为“s”
其他用户执行该文件时,将拥有属主或属组用户的权限
SUID:表示对属主用户增加SET位权限
SGID:表示对属组内的用户增加SET位权限
如果SGID是设定在目录上面,则在该目录内所建立的文件或目录的所属组,将会自动成为此目录的所属组。
普通用户并没有权限修改“/etc/shadow”文件,那为什么可以修改自己的登录密码呢?
—— 这是因为:passwd命令程序被设置了SUID权限,普通用户在执行该命令时临时获得相当于属主用户(root)的权限
不要轻易为可执行文件设置SET位权限,特别是对于那些属主、属组是root的执行程序,使用SET位权限时更应该慎重。
例如,若为vim编辑器程序设置SUID权限,将导致普通用户也可以使用vim编辑器修改系统中的任何配置文件
(2)eg:
为公共目录(例如,权限为777的)设置,权限字符为“t”
用户不能删除该目录中其他用户的文件
(4)设置SET位、粘滞位权限
chmod ug±s 可执行文件...
chmod o±t 目录名...
使用权限数字:
chmod mnnn 可执行文件...
m为4时,对应SUID,2对应SGID,1对应粘滞位,可叠加
SET位标记字符为“s”,若使用8进制数字形式,则SUID对应为“4”、SGID对应为“2”
在权限模式中可采用“nnnn”的形式时,如“4755”表示设置SUID权限、“6755”表示同时设置SUID、SGID权限
以 /bin/touch 命令设置SUID权限为例进行演示,普通用户使用该命令创建测试文件,比较新建文件的属主变化
注意:为普通文件(无执行权限的)设置SET位权限从语法上虽然也可行,但没有实际意义(标记字符将变为大写字母“S”)
通过实例操作演示,展示粘滞位的作用,例如:由普通用户1在 /tmp 目录中尝试删除 普通用户2的文件,对比是否设置粘滞位的区别
注意:为普通文件或者用户本没有写入权限的目录设置粘滞位语法上也是可行的,但没有实际意义(标记字符将变为大写字母“T”)
(1)ACL是 Access Control List 的缩写,主要的目的是在提供传统的owner,group,others的read,write,execute权限之外的细部权限设定。
(2)ACL可以针对单一使用者,单一文件或目录来进行r,w,x的权限规范,对于需要特殊权限的使用状况非常有帮助。
(3)ACL 主要可以针对以下方面来控制权限:
(3)
查看:
$ getfacl filename
修改 :
$ setfacl -m u:username:rw filename
$ setfacl -m g:groupname:rw filename
删除 :
$ setfacl -x u:username filename
(4)tune2fs是linux下面重要的文件系统调整工具,其中的几个选项解释如下:
-c:表示文件系统在mount次数达到设定后,需要运行fsck检查文件系统。
-i:文件系统的检查间隔时间。系统在达到时间间隔时,自动检查文件系统。
-l:显示文件系统的很多参数。
-j:转换为ext3文件系统。
-m: Set the percentage of reserved filesystem blocks。 设置保留的空间百分比
-o: Set or clear the indicated default mount options in the filesystem.设置默认加载参数
通常如果使用ext3文件系统的话,使用-c 0关掉mount次数达到后的文件系统检查。
tune2fs -m 10 /dev/sda1
tune2fs -o acl,user_xattr /dev/sda1
tune2fs -i 0 -c0 /dev/sda1
显示当前的磁盘状态(dumpe2fs)
[root@tonykorn97 /]# dumpe2fs /dev/sda1