Linux学习笔记(四)

八、高级键盘操作技巧

  • clear:清屏
  • history:显示历史列表的记录

 

编辑命令行

bash使用一个名为Readline的库来实现编辑命令行的功能

1、光标移动

Ctrl - A 移动鼠标到行首

Ctrl - E 移动鼠标到行尾

Ctrl - F 向前移动一个字符

Ctrl- B向后移动一个字符

2、修改文本

Ctrl - D 删除光标处的字符

Ctrl - T 使光标处的字符和他前面的字符对调

Alt - L 把光标到字尾的字符转换为小写

Alt - U 把光标到字尾的字符转换为大写

3、剪切和粘贴文本:被剪切的内容放置在一个称为Kill-ring的缓冲区中

Ctrl - K 剪切从光标到行尾的文本

Ctrl - U 剪切从光标到行首的文本

Alt - D 剪切从光标到当前词尾的文本

Ctrl - Y 把kill-ring缓冲区的文本粘贴到光标位置

4、自动补齐功能:在输入命令时按住tab键将触发自动补齐功能

 

使用历史记录

1、搜索历史记录

history | less bash默认会保存用户最近使用的500个命令

history  | grep /user/bin 

 

九、权限

  • id:显示用户身份标识
  • chmod:更改文件的模式
  • umask:设置文件的默认权限
  • su:以另一个用户的身份运行shell
  • sudo:用另外一个用户的身份来执行命令
  • chown:更改文件的所有者
  • chgrp:更改文件的所属组群
  • password:更改用户密码

 

所有者、用户组和其他所有用户

在UNIX安全模型中,一个用户可以拥有文件和目录。每当一个用户拥有一个文件或者目录时,他将对该文件或者目录的访问权限拥有控制权。用户又属于一个群组,该群组由一个或者多个用户组成,组中的成员对于文件或者目录的访问权由其所有者授权。除了可以授予群组访问权限之外,文件所有者也可以授予所有用户一些访问权。

在UNIX术语中,所有用户指的是整个世界(world ?),使用id命令可以获得用户身份标识的相关信息

这些信息如何而来呢?类似于Linux系统中的很多情况,这些信息来源于一系列的文本文件。用户账户信息定义在/etc/passwd文件中,用户组的信息定义在/etc/group文件中,在创建用户组的时候这些信息随着/etc/shadow的变动而修改,文件/etc/shadow中保存了用户的密码信息。

 

读取、写入和执行

对文件和目录的访问权限是按照读访问、写访问以及执行访问来定义的。

使用ls -l命令查看前十个字符是用来表示文件属性

-rw-rw-rw-: -表示文件类型 rw- 表示所有者权限 rw- 表示组权限 rw- 表示其用户权限

 

文件类型:

-:普通文件

d:目录文件

l:符号链接

c:字符设备文件,如终端或者调调制调节器 

b:块设备文件,如硬盘驱动或者光盘驱动

 

权限属性:

r 允许打开以及读取文件

w 允许写入或者截断文件;如果也设置了执行权限,那么目录中的文件才允许被创建、被删除以及被重命名

x 允许把文件当作程序一样来执行

 

1、chmod——更改文件模式

chmod命令可以更改文件或者目录的模式(权限)。只有文件的所有者或者是超级用户才可以更改文件或者目录的模式。

chmod命令支持两种方式:八进制数字表示法、符号表示法

八进制表示法:每个八进制的数字可以代表3个二进制数字

八进制——二进制——文件模式

0                000            ---

1                001            --x

2                010            -w-

3                011            -wx

4                100            r--

5                101            r-x

6                110            rw-

7                111            rwx

【补充】hex的使用比八进制更为普遍。例如RGB颜色为例,在计算机中,每个像素都是由三种颜色组成:8位红色、8位绿色以及8位蓝色,比如蓝色是有一组24位的数字进行表示010000110110111111001101。没人愿意每天读写这种数字,所以使用另外一种数字系统更为简单,十六进制的一个数字代表二进制的四位数,八进制的一个数字代表二进制的三位数,因此24位颜色可以简单压缩成为一个6位的十六进制436FCD。

chmod 600 foo.txt

实际上常用的只有这几个:7(rwx)、6(rw-)、5(r-x)、4(r--)、0(---)

符号表示法: 

符号命令 

u:user的简写,代表文件或者目录的所有者 g:文件所属群组 o:代表其他用户 a:all的简写,是前面三者的组合

如果没有指定字符,则假定使用all。使用‘+’操作符可以添加一种权限,‘-’操作符可以删除一种权限,‘=’操作符表示只有指定的权限使用,其他权限都被删除。

例如:

u+x:为文件搜所有者添加可执行权限

u-x:删除文件所有者的可执行权限

+x:all添加可执行权限

go=rw:除了文件所有者以外,设置用户具有读写权限,如果之前已经有可执行权限则删除他们的可执行权限

u+x,go=rx:为文件搜所有者添加可执行权限,除了文件所有者以外,设置用户具有读写权限

 

2、umask——设置默认权限

umask命令用于控制创建文件时指定给文件的默认权限。他用八进制表示法从文件模式属性中删除一个位掩码

【注】 我们在这里看到掩码0002有四组数字,第一组代表的是特殊权限,我们这里先不做讨论。

原始文件模式         ---          rw-         rw-          rw-

掩码                       000        000        000         010 (掩码0000每一位转为二进制)

结果                       ---           rw-          rw-           r--        

掩码出现1的地方对应的属性被取消

如果用户创建的是目录,则默认所有权限都开放,为777,默认为:drwxrwxrwx

如果创建的是文件,默认没有x权限,那么就只有r、w两项,最大值为666,默认为:-rw-rw-rw-

umask值002 所对应的文件和目录创建默认权限分别为6 6 4和7 7 5

 

更改身份

有三种方式可以转换身份

  1. 注销系统并以其他用户身份重新登录系统
  2. 使用su命令
  3. 使用sudo命令

在shell会话状态下,使用su命令将允许你假定为另外一个用户的身份,既可以用这个用户的ID启动一个新的shell会话,也可以使用这个用户的身份来发布一个新的命令。

1、su命令——用其他用户和组ID的身份来运行shell

su [ - [ l ] ] [ user ]

-l可以缩写成 -  ,而且这一形式经常被使用,

su -c 'commmand'  使用这一格式,单个命令将被传递到一个新的shell环境下进行执行。

 

2、sudo命令——以另外一个用户的身份执行命令

sudo命令与su命令之间重要的一个区别是sudo命令不需要启动一个新的shell环境,而且也不需要加载另外一个用户的运行环境

 

3、chown命令——更改文件所有者和所属群组

这个命令需要使用超级用户的权限

bob  将文件的所有者更换为用户bob

bob:users  将文件的所有者更换为用户bob,将文件的所属群组更换为users

:amins  将文件的所属群组更换为admins,文件所有者不变

bob:  将文件的所有者更换为bob,所属群组更换为bob登陆系统是的所属组

 

sudo cp myfile.txt ~tony

sudo ls - l ~tony.myfile.txt

sudo chown tony: ~tony/myfile.txt

sudo ls - l ~tony.myfile.txt

 

更换密码  

使用passwd命令 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值