linux用户分为三种:
超级用户(root,UID=0) 、普通用户(UID 500-60000) 、伪用户(UID 1-499)
# more etc/passwd root:x:0:0:root:/root:/bin/bash
#more etc/shadow
homlee:$6$yDyRDw.d$6Rcfvsrh7QBbjzE2x/f.LdUqbem4N49KMBLF0.yOwFcp/b5wHgamsyLK7wYQ6iw/TGAJ8duL3yIJG4Rl7e5SH0:18458:0:99999:7:::
创建用户
创建/删除/修改用户组
groupadd webadmin //ggroupadd+组名 groupadd -g 888 ftpadmin //ggroupadd+组id 名 grep webadmin /etc/group grep ftpadmin /etc/group
groupdel 组名 //删除用户组
groupmod -n apache webadmin //修改webamdin组名为apache
usermod -G softgroup samlee //将用户samlee添加到softgroup用户组中
usermod -G 组名 用户名
gpasswd -a 用户名 组名
chgrp 组名 文件名 //修改文件所属组
getfacl -- 获取文件访问控制列表
[root@localhost ~]# getfacl test #查看acl权限列表 # file: test # owner: root # group: root user::r-x user:tank:rwx #effective:--- group::r-x #effective:--- mask::--- other::---
查看文件
cat 显示文件内容
cat [文件名]
cat 合并文件 #cat file1 file2 > file 将file1、file2的内容合并到file中。
more 分页显示:
more [文件名] 语法:(空格)或f 显示下一页 || (Enter)显示下一行 || q或Q退出
head 查看文件的前几行
head -num [文件名] 语法: -num显示文件的前num行
tail 查看文件的后几行
tail -num [文件名] 语法: -num显示文件的后num行 -f 动态显示文件内容
例:tail -5 /etc/services
权限管理命令:
chmod 改变文件或目录权限
语法: chmod 【{ugo} {+-=} {rwx}】【文件或目录】
【mode =421】【文件或目录】
u-所有者 g-所属组 o-其他人
chown改变文件或目录的所有者
语法: chown [用户] [文件或目录]
例:chown nobody file1 改变文件file1的所有者为nobody
chgrp改变文件或目录的所属组
语法: chgrp [用户组] [文件或目录]
例:chgrp adm file1 改变文件file1的所属组为adm
文件搜索命令
which 显示系统命令所在目录 (命令的绝对地址,别名信息) # whereis ls(命令的绝对地址,帮助信息)
语法: which [命令名称] 例: which ls
find 查找文件或目录
语法:find [搜索路径] [搜寻关键字]
* 匹配任意字符(init*) ?匹配单个字符 (init???)
例: find /etc -name init 在目录/etc中查找文件init
# find /home -user samlee 在根目录下查找 所有者为samlee的文件
连接符 -a and 逻辑与 -o or 逻辑或
连接符 find ... -exec 命令 {} \; {}表示find查询的结果 \ 转义符,符合命令使用本身的含义 ;结束
-ok(询问确认)
例: find /etc -name inittab -exec ls -l {} \ ;在/etc下查找inittab文件并显示其详细信息
grep在文件中搜寻字串匹配的行并输出
语法:grep [指定字串] [源文件]
例:grep ftp /etc/services
grep tom(用户名) /etc/passwd 搜索指定文件的内容,匹配指定的模式,默认情况下输出匹配内容所在的行。
ps查看系统中的进程
# ps查看隶属于自己的进程
# ps -u or -l 查看隶属于自己进程详细信息
压缩命令
gzip
压缩:gzip + 文件名
- 只能压缩文件
- 不保留源文件
解压缩:gunzip file1.zip 或 gzip -d file1.zip
tar打包目录 格式.tar.gz
打包并压缩: tar -zcvf newdir.tar.gz(打包文件名) newdir(要打包文件)
- -c 产生.tar打包文件
- -v 产生详细信息
- -f 指定压缩后的文件名
- -z 打包同时压缩
解包: tar -zxvf dir1.tar.gz
- -x 解包.tar文件
- -v 产生详细信息
- -f 指定解压文件
- 解压缩
帮助命令
man 获得帮助信息
file + 文件名 判断文件类型
语法:man [命令或配置文件]
例:#man ls 查看ls命令的帮助信息 #man services查看配置文件services帮助信息 【 man 5 passwd 配置文件的帮助 命令和配置文件重名时 数字标识】
whatis ls获得索引的简短说明信息
软链接(ln-link)
语法:ln -s [源文件] [目标文件]
-s 创建软链接
软链接文件 # ln -s a a.soft
- 类似于windows快捷方式(lrwxrwxrwx )
硬链接 # ln a a.hard
- 类似于cp -p 同步更新
- 与源文件有相同inode 【ls -i i-inode i节点】
- 不能跨文件系统(c盘不能生成一个硬链接到D盘)
ls -l
drwxr-xr-x 2 root root 4096 12-01 20:52 bin
2-硬链接数 所有者 所属组 文件大小 创建时间或最后修改的时间
文件类型:
- d 目录 directory
- - 二进制文件
- l 软链接文件link
Shell编程
read命令:从键盘读入数据,赋给变量(如:read username)
#touch read #vi read //编写shell脚本 #!/bin/sh read first second third echo "the first is $first" echo "the second is $first" echo "the thirdis $first" #sh read//运行shell脚本 #sh -x read //-x运行脚本时查看脚本执行的过程
小命令:
exit 退出当前用户
whoami 查看当前登录用户名