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,则为该文件内容所有的行数