1.查看权限及修改:

$touch test           #以普通用户身份创建一个文件,名为test。
$ls -l test              #通过ls -l查看文件权限及信息,:如下

-rw-rw-r--. 1 dragon dragon 0 Mar 27 09:14 test

rwxrwxrwx

r   : read                 读权限
w  : write                写权限
x   : executable      执行权限

1  :对于目录而言,这个数字代表子目录的个数;对于文件而
        言,代表链接数。

dragon : 第一个dragon为用户名称;第二个为用户组名称。

0 :文件大小。

Mar 27 09:14 :最近一次操作文件的时间。

 三组rwx分别对应了三种用户:

     rwx                      rwx                      rwx
     属主                    属组                    其他用户
     user(u)           group(g)             other(o)

拥有全部权限,即rwx,以二进制表示为111,十进制表示为7;
没有一种权限用0表示,如:r--,二进制表示为100,十进制表示为4。

   r :4                   w:2                    x:1

修改权限:

        chmod :change mode  修改权限

        例子:
        chmod u+x 文件名          #给属主用户加上执行权限

        $ chmod u+x test            #test文件,给属主用户加上执行权限
        $ ls -l test                        #再次查看test文件权限信息,如下:

        -rwxrw-r--. 1 dragon dragon 0 Mar 27 09:14 test

        同理,给属组用户及其他人加权限采用同种格式。(加权
        限用+,去掉权限用-)

        如果想给三种用户同时加一种权限,可以用a。(All  所有)

        $ chmod a+x test            #给所有用户添加对test的执行权限
        $ ls -l test                        #查看test文件权限信息
        -rwxrwxr-x. 1 dragon dragon 0 Mar 27 09:14 test

        用十进制表示的方法修改权限:
        $ chmod 664 test
        $ ls -l test
        -rw-rw-r--. 1 dragon dragon 0 Mar 27 09:14 test

umask :
创建文件时候默认拥有的权限的补码。
#以root用户身份,补码值默认为022,普通身份用户默认为
#002,用777减去补码值为创建目录或文件的默认权限,以下为
#root身份:

        777 :目录
                   777-022=755
                             rwxr-xr-x  : 111101101

        666 :普通文本文件
                             默认没有执行权限
                             rw-r--r-- :110100100

2.用户及用户组的创建与删除:

/etc/passwd #etc目录下passwd文件存放用户密码等信息

新建用户命令为useradd

useradd -m 用户名: 自动创建家目录
-d 目录 : 指定家目录
-s shell名称:指定登录后分配的shell
默认为/bin/bash
-g 用户组名:指定用户组 (主要组)
-G 附加组 (次要组)

                        -u    UID         :指定用户id
                                                                            默认为1000以后的

删除用户命令为userdel

userdel -rf 用户名
-f :强制删除;用户在线也会删除。
-r :连着用户的家目录一起被删除。

添加用户组命令为groupadd:

groupadd 组名称
-g :gid 组id,指定gid为多少

删除用户组命令为groupdel

groupdel 组名称

修改用户密码:

passwd 用户民 #以root身份操作

例1:(以下均为root用户身份)

创建一个用户为1200的用户,指定shell名称为/bin/csh:

]# useradd -m Tina -u 1200 -s /bin/csh
]# tail -1 /etc/passwd #通过tail命令查看倒数第一行新建
户信息,如下:
Tina:x:1200:1200::/home/Tina:/bin/csh

例2:

创建一个GID为1010的用户组:

]# groupadd Kitty -g 1010
]#tail -1 /etc/group #通过tail命令查看倒数第一行新建
组信息,如下:
Kitty:x:1010:

例3:

删除Tina用户,新建一个用户指定组名称为Kitty:
]# userdel -rf Tina
]# useradd -m Tony -g Kitty
]# tail -1 /etc/passwd

Tony:x:1001:1010::/home/Tony:/bin/bash

#组名称指定Kitty,此时Tony的GID(组id)并没有随着默认值加1,而是Kitty这个组的GID

例4:

修改Tony用户的密码:

]# passwd Tony
New password: #设置密码,不会再终端上显示
Retype new password: #再次输入密码确认
passwd: all authentication tokens updated successfully.
#提示用户密码设置成功

报错:BAD PASSWORD: The password fails the dictionary check - it is too simplistic/systematic
#用户密码太过于简单

切换用户:
[root@localhost home]# exit #退出root用户
exit
[dragon@localhost home]$ su Tony #切换到Tongy用户
Password: #输入Tony用户密码
[Tony@localhost home]$ #切换成功

3.文本的相关处理及统计:

比较文件:

        diff:       不同的行号显示
                            <   第一个文件中的内容
                            >   第二个文件多出来的内容

  comm:  三列结果
                  1:只存在于第一个文件中的内容
                            2:只存在于第二个文件中的内容
                            3: 两个文件中相同的内容

        sort:       排序
                      默认不比较数字大小
                                     从左到右 字母序 数字大小比较

                                     -n :比较数字大小
                                     -o :输出比较结果
                                     -r  :逆序显示

        sort -t ' ' -k2 -n test1    #对test1文件第二列进行排序操作,
                                           #以空格为分隔符,比较数字大小。

                                     -t  :指定分隔符
                                     -k :指定比较的列
                                     -n :比较数字大小

   uniq:           去重
                                                     默认相邻的才能去重
                                                     一般与sort合用

         cat test1 | sort | uniq  #查看test1内容,进行排序,把相邻重
                                           #复的内容去掉

         cat -s :压缩空行
         cat -s test1                 #把test1中多行空白行压缩为一行显示

         tac     : 以相反的顺序输出

统计:

    wc : 
                   -l  :行数
                         -w:单词数
                         -c :字符数

例:

统计/etc/passwd文件中的行数,单词数,字符数:

$cat /etc/passwd | wc
45 91 2349 #分别为行数,单词数,字符数;

ls -l | wc -l                             #wc -l 统计行数,第一行为total行,表示
                                                            #文件内容有多大,所以统计出来的数字
                                                                #减去1,则为该文件内容所有的行数