2017-05-23 第二周第一天任务

第二周第一天任务

*日期:2017-05-23

1.5 文件查看命令
1.6 文件和目录属性
1.7 chmod命令
1.8 chown命令
权限部分是难点,多多练习,学会如何根据umask推算默认权限。
如果学过,要复习一下,加深印象。晚上主动汇报专贴,表示自己学了。

[TOC]

02.1.5 文件查看命令

cat 直接读取文件内容,从前向后查看;

​ cat -A 主要读取特殊文件,后面会一个$符号,意思是这行的结束;注意:这里必须是大写 -A。

例如:

[root@bogon ~]# 
[root@bogon ~]# ls
111      222  anaconda-ks.cfg  install.log.syslog
123.txt  234  install.log
[root@bogon ~]# cat install.log
cat --help
[root@bogon ~]# cat --help
用法:cat [选项]... [文件]...
将[文件]或标准输入组合输出到标准输出。

  -A, --show-all           等于-vET
  -b, --number-nonblank    对非空输出行编号
  -e                       等于-vE
  -E, --show-ends          在每行结束处显示"$"
  -n, --number             对输出的所有行编号
  -s, --squeeze-blank      不输出多行空行
  -t                       与-vT 等价
  -T, --show-tabs          将跳格字符显示为^I
  -u                       (被忽略)
  -v, --show-nonprinting   使用^ 和M- 引用,除了LFD和 TAB 之外
      --help        显示此帮助信息并退出
      --version     显示版本信息并退出

如果没有指定文件,或者文件为"-",则从标准输入读取。

示例:
  cat f - g  先输出f 的内容,然后输出标准输入的内容,最后输出g 的内容。
  cat        将标准输入的内容复制到标准输出。

请向bug-coreutils@gnu.org 报告cat 的错误
GNU coreutils 项目主页:<http://www.gnu.org/software/coreutils/>
GNU 软件一般性帮助:<http://www.gnu.org/gethelp/>
请向<http://translationproject.org/team/zh_CN.html> 报告cat 的翻译错误
要获取完整文档,请运行:info coreutils 'cat invocation'
[root@bogon ~]# 

tac 直接读取文件内容,从后向前查看;

对比:

[root@bogon ~]# cat install.log
[root@bogon ~]# tac install.log

两个的显示顺序是相反的;

tac --help
[root@bogon ~]# tac --help
用法:tac [选项]... [文件]...
将每个指定文件按行倒置并写到标准输出。
如果不指定文件,或文件为"-",则从标准输入读取数据。

长选项必须使用的参数对于短选项时也是必需使用的。
  -b, --before          在行前而非行尾添加分隔标志
  -r, --regex           将分隔标志视作正则表达式来解析
  -s, --separator=字符串   使用指定字符串代替换行作为分隔标志
      --help        显示此帮助信息并退出
      --version     显示版本信息并退出

请向bug-coreutils@gnu.org 报告tac 的错误
GNU coreutils 项目主页:<http://www.gnu.org/software/coreutils/>
GNU 软件一般性帮助:<http://www.gnu.org/gethelp/>
请向<http://translationproject.org/team/zh_CN.html> 报告tac 的翻译错误
要获取完整文档,请运行:info coreutils 'tac invocation'
[root@bogon ~]# 

more 只能向下翻,

空格可以一屏一屏翻,
回车是一行一行翻,
b向上翻页和f向下翻页
q键退出
例如:

[root@bogon ~]# cp /etc/init.d/iptables 1.txt
[root@bogon ~]# cat 1.txt

less

空格可以一屏一屏翻,
回车是一行一行翻,
j可以往下一行,
k可以向上一行,
Ctrl B 向上 一屏幕,
Ctrl F 向下 一屏幕
g 跳到最前面一行
G 跳到最后面一行

还可以搜索关键字,使用/内容 就可以高亮显示, n 向后 N向上 还可以?搜索 与/相反 退出使用q 或者exit b和f翻页

例如:

[root@bogon ~]# cat 1.txt

输入:/关键字 或者使用:“shift+?”
这两个的区别在与查找的方向不一样,

head 最前面的几行

Ctrl C 退出
例如:默认查看前10行:

[root@bogon ~]# head 1.txt 
#!/bin/sh
#
# iptables  Start iptables firewall
#
# chkconfig: 2345 08 92
# description:  Starts, stops and saves iptables firewall
#
# config: /etc/sysconfig/iptables
# config: /etc/sysconfig/iptables-config
#
[root@bogon ~]# head -3 1.txt
#!/bin/sh
#
# iptables  Start iptables firewall
[root@bogon ~]# 

tail 最后面的几行

Ctrl C 退出
例如:查看后5行

[root@bogon ~]# tail 1.txt 
    save
    RETVAL=$?
    ;;
    *)
    echo $"Usage: ${IPTABLES} {start|stop|reload|restart|condrestart|status|panic|save}"
    RETVAL=2
    ;;
esac

exit $RETVAL
[root@bogon ~]# tail -5 1.txt 
    RETVAL=2
    ;;
esac

exit $RETVAL
[root@bogon ~]# 

tail -f可以动态的查看一个内容。CTRL + C 就可以退出了

例如:需要两个终端;

使用一个终端查看1.txt文档执行命令:tail -f 1.txt另一终端不断执行追加重定向执行命令:echo "Holle World!" >> 1.txt

02.1.6 文件和目录属性

例如:

[root@bogon ~]# ls -l
总用量 88
drwxr-xr-x  2 root root  4096 5月  20 03:26 111
-rw-r--r--  1 root root 21845 5月  20 03:25 123.txt
-rwxr-xr-x  1 root root 10688 5月  20 04:12 1.txt
drwxr-xr-x  2 root root  4096 5月  20 03:26 222
drwxr-xr-x  2 root root  4096 5月  20 03:26 234
-rw-------. 1 root root  1161 2月  21 21:44 anaconda-ks.cfg
-rw-r--r--. 1 root root 21845 2月  21 21:44 install.log
-rw-r--r--. 1 root root  5079 2月  21 21:44 install.log.syslog
[root@bogon ~]# 

第一列 共十一位

第一个 表示文件类型;

第一列共有十一位。
第一位是:

c表示字符设备

b表示是块设备

l 表示软连接文件

s表示一种特有文件,本地通信文件

d表示目录文件

-表示普通文件

p 表示管道文件,也是通信文件
第二位到第十个是文件的权限 r读 w写 x执行 -无
前三个是表示文件(user)本身的权限 rwx 顺序不变。
中间三个表示文件(group)所属组的权限 。
后面三个表示文件(others)除属组以外的权限。
第十一位 是 . 平时很少使用。

第二列

表示用多少个目录或者文件占用的节点数(inode)
一般情况文件都是1 ;

目录和下面的子目录数有关。

文件的话显示有几文件使用了同一个inode号;

使用ls -li 可以像是inode号

第三列 表示该文件的所有者

第四列 表示该文件的所属组

第五列 表示该文件的大小

第六、七、八列 为该文件的创建时间或者修改时间。

那么如何分别是创建的时间还是修改的时间呢!可以根据创建或修改的时间查找文件吗?

第九列 表示文件名称。

02.1.7 chmod命令

chmod 更改权限

chmod --help
[root@bogon ~]# chmod --help
用法:chmod [选项]... 模式[,模式]... 文件...
 或:chmod [选项]... 八进制模式 文件...
 或:chmod [选项]... --reference=参考文件 文件...
将每个文件的模式更改为指定值。

  -c, --changes     类似 --verbose,但只在有更改时才显示结果
      --no-preserve-root    不特殊对待根目录(默认)
      --preserve-root       禁止对根目录进行递归操作
  -f, --silent, --quiet 去除大部份的错误信息
  -v, --verbose     为处理的所有文件显示诊断信息
      --reference=参考文件  使用指定参考文件的模式,而非自行指定权限模式
  -R, --recursive       以递归方式更改所有的文件及子目录
      --help        显示此帮助信息并退出
      --version     显示版本信息并退出

每种 MODE 都应属于这类形式"[ugoa]*([-+=]([rwxXst]*|[ugo]))+"。

请向bug-coreutils@gnu.org 报告chmod 的错误
GNU coreutils 项目主页:<http://www.gnu.org/software/coreutils/>
GNU 软件一般性帮助:<http://www.gnu.org/gethelp/>
请向<http://translationproject.org/team/zh_CN.html> 报告chmod 的翻译错误
要获取完整文档,请运行:info coreutils 'chmod invocation'
[root@bogon ~]# 
r为4,w为2,x为1,-为0

组合:

  • rwx 表示 7
  • rw- 表示 6
  • r-x 表示 5
  • r-- 表示 4
  • -wx 表示 3
  • -w- 表示 2
  • --x 表示 1
  • --- 表示 0

例如:

[root@bogon ~]# ls -l 1.txt
-rwxr-xr-x 1 root root 10688 5月  20 04:12 1.txt
[root@bogon ~]# chmod 744 1.txt
[root@bogon ~]# ls -l 1.txt 
-rwxr--r-- 1 root root 10688 5月  20 04:12 1.txt
[root@bogon ~]# 

也可以这样写:

[root@bogon ~]# chmod u=rwx,g=r--,o=r-- 1.txt
[root@bogon ~]# chmod u-x 1.txt
[root@bogon ~]# chmod u+x,g+w,g-r 1.txt
[root@bogon ~]# chmod a+r 1.txt

这里第一行表示指定属主可读可写可执行,属组可读,其他可读;第二行表示给属主取消可执行权限;第三行表示给属主增加可执行权限,给属组增加可读权限,给其他用户取消可读权限;第四行表示给所有人都增加可读权限;

-R 权限的继承选项

例如:

[root@bogon ~]# tree 111
111
├── 123.txt
└── 234
    └── 22.txt

1 directory, 2 files
[root@bogon ~]# ls -l 111
总用量 28
-rw-r--r-- 1 root root 21845 5月  20 03:26 123.txt
drwxr-xr-x 2 root root  4096 5月  20 05:26 234
[root@bogon ~]# ls -l 111/234
总用量 24
-rw-r--r-- 1 root root 21845 5月  20 03:26 22.txt
[root@bogon ~]# chmod -R 700 111
[root@bogon ~]# ls -l 111
总用量 28
-rwx------ 1 root root 21845 5月  20 03:26 123.txt
drwx------ 2 root root  4096 5月  20 05:26 234
[root@bogon ~]# ls -l 111/234
总用量 24
-rwx------ 1 root root 21845 5月  20 03:26 22.txt
[root@bogon ~]# 

chmod -R 权限 文件夹 可以让文件夹内的文件及子文件夹都继承指定权限;

umask 用户默认目录和文件的权限

用来规定默认情况下的目录和权限,一般情况目录权限值为755,普通文件权限值为644,

例如:

[root@bogon ~]# whoami
root
[root@bogon ~]# umask
0022
[root@bogon ~]# mkdir 1112
[root@bogon ~]# ls -ld
dr-xr-x---. 6 root root 4096 5月  20 05:34 .
[root@bogon ~]# touch 12.txt
[root@bogon ~]# ls -l 12.txt 
-rw-r--r-- 1 root root 0 5月  20 05:35 12.txt
[root@bogon ~]# 
修改umask的语法:

umask xxx (这里的xxx代表三个数字)

例如:

[root@bogon ~]# umask
0022
[root@bogon ~]# umask 011
[root@bogon ~]# umask
0011
[root@bogon ~]# 

(1)若用户建立为普通文件,则预设没有可执行权限,只有rw两个权限。最大为666(-rw-rw-rw)。
(2)若用户建立为目录,则预设所有权限均开放,即777(drwxrwxrwx)。

注意:umask可以在/etch/bashrc里面更改,预设情况下,root的umask为022,而一般使用者则为002,因为可写权限非常重要,因此预设会去掉写权限。
当umask=033是目录权限是777-033为744;文件权限是666-033。这样是错误的,实际上目录权限是"rwxrwxrwx"-"----wx-wx"=“rwxr--r--”为744。文件权限是"rw-rw-rw-"-"----wx-wx"=“rw-r--r--”为644。

02.1.8 chown命令

修改文件的属主和属组

chown --help
[root@bogon ~]# chown --help
用法:chown [选项]... [所有者][:[组]] 文件...
 或:chown [选项]... --reference=参考文件 文件...
更改每个文件的所有者和/或所属组。
当使用 --referebce 参数时,将文件的所有者和所属组更改为与指定参考文件相同。

  -c, --changes         类似 verbose,但只在有更改时才显示结果
      --dereference     受影响的是符号链接所指示的对象,而非符号链接本身
  -h, --no-dereference      会影响符号链接本身,而非符号链接所指示的目的地
                (当系统支持更改符号链接的所有者时,此选项才有用)
      --from=当前所有者:当前所属组
                            只当每个文件的所有者和组符合选项所指定时才更改所
                有者和组。其中一个可以省略,这时已省略的属性就不
                需要符合原有的属性。
      --no-preserve-root    不特殊对待"/"(默认值)
      --preserve-root       不允许在"/"上递归操作
  -f, --silent, --quiet 去除大部份的错误信息
      --reference=参考文件  使用参考文件的所属组,而非指定值
  -R, --recursive       递归处理所有的文件及子目录
  -v, --verbose         为处理的所有文件显示诊断信息

以下选项是在指定了 -R 选项时被用于设置如何穿越目录结构体系。
如果您指定了多于一个选项,那么只有最后一个会生效。

  -H         如果命令行参数是一个通到目录的符号链接,则遍历符号链接
  -L         遍历每一个遇到的通到目录的符号链接
  -P         不遍历任何符号链接(默认)

      --help        显示此帮助信息并退出
      --version     显示版本信息并退出

如果没有指定所有者,则不会更改。 所属组若没有指定也不会更改,但当加上
":"时 GROUP 会更改为指定所有者的主要组。所有者和所属组可以是数字或名称。

示例:
  chown root /u     将 /u 的属主更改为"root"。
  chown root:staff /u   和上面类似,但同时也将其属组更改为"staff"。
  chown -hR root /u 将 /u 及其子目录下所有文件的属主更改为"root"。

请向bug-coreutils@gnu.org 报告chown 的错误
GNU coreutils 项目主页:<http://www.gnu.org/software/coreutils/>
GNU 软件一般性帮助:<http://www.gnu.org/gethelp/>
请向<http://translationproject.org/team/zh_CN.html> 报告chown 的翻译错误
要获取完整文档,请运行:info coreutils 'chown invocation'
[root@bogon ~]# 

具体使用方法:

[root@bogon ~]# useradd byk
[root@bogon ~]# ls -l 12.txt 
-rw-r--r-- 1 root root 0 5月  20 05:35 12.txt
[root@bogon ~]# chown byk 12.txt 
[root@bogon ~]# ls -l 12.txt 
-rw-r--r-- 1 byk root 0 5月  20 05:35 12.txt
[root@bogon ~]# groupadd byk
groupadd: group 'byk' already exists
[root@bogon ~]# chown :byk 12.txt 
[root@bogon ~]# ls -l 12.txt 
-rw-r--r-- 1 byk byk 0 5月  20 05:35 12.txt
[root@bogon ~]# chown root:root 12.txt 
[root@bogon ~]# ls -l 12.txt 
-rw-r--r-- 1 root root 0 5月  20 05:35 12.txt
[root@bogon ~]# chown byk.byk 12.txt 
[root@bogon ~]# ls -l 12.txt 
-rw-r--r-- 1 byk byk 0 5月  20 05:35 12.txt
[root@bogon ~]# 

chown 文件的所有者以及所属组
例如:

#useradd yyy (字符) 创建用户
#chown yyy (字符) 更改文件拥有者
#groupadd xxx (字符) 创建属组
#chown :xxx (字符) 更改文件所属组
#chown yyy:xxx (yyy是字符,xxx是字符) 同时更改文件拥有者yyy和文件所属组xxx
或者使用
#chown yyy.xxx (yyy是字符,xxx是字符) 同时更改文件拥有者yyy和文件所属组xxx

chown -R 表示更改目录下所有文件及目录的所有者和所属组。

同时更改所属组也可以使用chgrp
语法: chgrp [参数][组名] [文件名]
参数有-R 选项只作用于目录,作用是级联更改,即不仅更改当前目录,连目录或者文件全部更改。

chown -R 参数有-R 选项只作用于目录,作用是级联更改,即不仅更改当前目录,连目录或者文件全部更改。

历史命令

!ls

表示执行历史命令里面离本次最近的命令以ls开头的历史命令。

!数字

表示执行历史命令里面编号命令

查看历史命令使用 history
上下键也可以查看历史命令
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,457评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,837评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,696评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,183评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,057评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,105评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,520评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,211评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,482评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,574评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,353评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,897评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,489评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,683评论 2 335

推荐阅读更多精彩内容