第一、基本命令
1、帮助命令
man useradd
man -a passwd
info useradd
-l 回到上级菜单
home 回到页面顶部
? 接受命令的帮助
h info介绍
q 退出
命令分两种:
外部命令 --- 对应一个真实存在可执行文件
内部命令 --- 是属于shell内嵌的功能(参数)
useradd --help
useradd -h
help cd <---查看内部命令的帮助
2、
cd
cd
cd ~
cd -
cd
cd . 切换到当前目录
cd .. 切换到上一级目录
绝对路径:一个完整的路径,从/开始算
pwd
touch <--- touch filename ; touch a{1,2,3}
rm
ls -a -l
# ls -l
drwxr-xr-x 3 root root 60 12-08 09:22 bus
文件属性 文件硬链接数 拥有者 拥有组 文件尺寸 文件最后修改时间 文件名
d |rwxr-xr-x
文件类型 |权限信息
文件类型:
d -- 文件夹 directory
c -- 字符设备文件
b -- 块设备 block 硬盘,U盘
s -- Socket文件,本地套接字文件 ,专门用于linux或者Unix 本地通讯的接口
l -- 字符链接文件(软链接),就相当于Windows下的快捷方式
p -- 管道文件
- -- 普通文件
ls -al
ls -lt
ls -R 递归显示子目录和子文件
ls -lh
ls -ld /tmp/test/dir2
ls -l ./file1
mkdir
mkdir -p ./dir2/subdir1/fsdir2
cp -a
mv
more less cat | echo
cat /etc/fstab
more /etc/rc.d/rc.sysinit
less /etc/rc.d/rc.sysinit
cat /etc/rc.d/rc.sysinit | less <---使用管道
cat /etc/fstab | grep "home"
echo "hi mary"
重定向 > 1> 2> &> <
echo "Come,baby" > ./file <--- 1> 或者 > 标准正确重定向 ,这里是把标准正确输出重定向到file文件
echo "Hi" > /dev/tty3
[root@dns test]# ls /ffff > ./file3
ls: /ffff: 没有那个文件或目录
[root@dns test]# cat file3 《---没有内容
[root@dns test]# ls /ffff 2> ./file3 《-- 2> 标准错误输出重定向
echo "123" >> ./output 追加内容
ls -l file1 file2 2>/dev/null <---把错误信息屏蔽
ls -l file1 file2 &>/dev/null
挂载:
# showmount -e 10.1.1.20
# mount -t nfs 10.1.1.20:/share/ftp_source/class/12 /mnt <---挂载nfs资源
# umount /mnt
或者
# umount 10.1.1.20:/share/ftp_source/class/12
# mount -o loop,ro /mnt/rhel/rhel-server-5.4-i386-dvd.iso /mnt2
<--- -o 指定挂载参数 ,loop是典型的镜像挂载选项
=================================================
VIM 编辑器
分三种模式:
命令模式
末行模式
编辑模式
从命令模式 --》 编辑模式
i I
a A
o O
s S
cw 修改一个单词
从编辑模式 ---》 命令模式 ESC
命令模式
u <--撤销上一步的操作
ctrl + r 重做
0 光标停到行首
$ 光标停到行末
r 修改一个字符
dw
dd 删除一行
3dd 删除3行
yy 复制一行
p 在光标的下一行粘贴之前通过yy复制的内容
4yy
yw 复制单词
gg <--光标回到文件的顶部
GG <--回到文件的底部
从命令行模式 --》 末行模式
set nu 或者 set number 显示行号
set nonu
set autoindent 自动缩进
替换
:1,4s/hello/hi/ <---把每一行第一个找到的关键字替换,剩下的不替换
:1,4s/local/hello/g <--- g全局替换,把正行找到的所有关键字都替换
:1,$s/local/come/ on/g <--- “/ “是转义空格
:1,$s/ / <--- 把"/"题换成空格
e! 把文件的所有修改都取消掉,回到最后一次保存的状态
w 保存
q! 不保存退出
wq 保存并退出
wq! 遇到一些只读文件,需要强行保存
cp /etc/shadow /tmp/test
要求:
把前10行的99999替换成88888
把第11行到最后的99999题换成 16888
把: 替换成 -
把! 替换成 @
复制第一行到文件最后一行
=============================================================
用户管理
单用户多任务的系统
多用户多任务的系统 Linux
用户分类:
管理员 仅且只有一个,用户的id (uid)= 0
系统帐号(伪帐号)uid >=1 <=499 一般不允许登录系统,存为的意义只为了让某些服务和程序运行的时候保留所用的身份
普通帐号 一般是后期手工建立,允许登录系统的
手工添加用户的命令
useradd == adduser
# useradd hellen <---添加一个普通帐号,名字叫hellen
分析一下添加用户的过程:
1、在/etc/passwd文件最后一行添加相关的信息
hellen:x:543:543: :/home/hellen:/bin/bash
1 :2: 3 :4 :5: 6 : 7
1 用户名 ,这个用户名是为了访问用户登录时候使用的名字
2 密码字段 ,现在的linux操作一般都把这个密码字段的值存放到/etc/shadow文件,只留下一个x
3 uid 用户的id
4 gid 用户的组id
5 用户的描述
6 用户的家目录 ,在家目录里,拥有者具有所有权限,而别的用户无法访问
普通用户默认的家目录都是在/home/username
7 默认使用的shell
普通帐号的默认shell 一般是/bin/bash
系统帐号的默认shell 一般是/sbin/nologin <-- 起到阻止用户登录系统的目的
2、在/etc/shadow添加相应的信息
hellen:$1$Ole7qWxc$u4htj5BdvZbSiLFXMo1ZS.:14586:0:99999:7: : :
1 :2 : 3 :4 :5 :6 :7: 8: 9
1 用户名
2 加密之后的密码
3 用户密码最后修改的时间,而这个时间是距离1970-01-01到现在的天数
4 密码修改最低间隔时间 ,如果是0 就是不受限制,用户可以随时修改密码
如果是2 用户每次修改密码之后需要两天后才能再次修改
5 代表密码的有效期 ,99999就是密码永久生效,如果是30,就代表密码30天后期,必须进行修改
6 代表密码过期前多少天就警告用户 如果是7 也就是密码过期前7天就开始警告用户,密码快过期了
7 密码过期之后在多少天之内可以登录 如果留空,就是默认值-1 也就是说,不管密码过期多少天之后,都允许登录,但强行要求修改密码 ,如果 5 ,就代表密码过期之后的5天之内,帐号可以登录,但强行要求修改密码,过了5天都没登录过,帐号就不能登录。
8 帐号的过期时间, 只要帐号过了这个日期,帐号就失效,不能再登录了 ,这个时间也是相对于1970-01-01的天数
9 保留字段,没有用处
3、在/etc/group文件添加对应的组信息
hellen:x:543:
组名字:组密码:组ID gid: 组成员
4、在/etc/gshadow添加信息
hellen:!::
组名:密码字段:组管理:组成员
密码字段和shadow的密码字段如果是“!”就代表这个用户禁止登录
5、添加用户家目录
/home/hellen
6、把对应的bash环境变量文件复制到用户的家目录
.bash_history
.bash_logout
.bash_profile
.bashrc
这几个文件都是从/etc/skel复制过去的,复制过去之后,并且把文件的相关权限修改正确
7、添加用户的邮件文件,同样权限需要设定正确
/var/mail/hellen
-----------------
手工添加用户
1、vim /etc/passwd
mj:x:544:544:Micheal Jackson:/home/mj:/bin/bash
2、vim /etc/shadow
mj:$1$Ole7qWxc$u4htj5BdvZbSiLFXMo1ZS.:14586:3:14:5:3:14606:
关于密码的设定可以2种方式:
a、编辑好这个文件,然后通过passwd mj 修改
b、通过命令grub-md5-crypt 获取到加密的字符串,然后替换文件里的密码字符串
3、vim /etc/group
mj:x:544:
4、vim /etc/gshadow
mj:!::
5、添加用户的家目录
mkdir /home/mj
6、复制环境变量文件
cp /etc/skel/.bash* /home/mj
chown -R mj:mj /home/mj
chmod 700 /home/mj
7、创建用户的邮件文件
touch /var/mail/mj
chown mj:mail /var/mail/mj
chmod 660 /var/mail/mj
-----------------------------------------------------
man useradd
# useradd -c "acer boy" -d /home/acerboy -e 12/28/09 -f 5 -g hellen -s /bin/ksh acer
修改用户信息的命令
usermod
# usermod -s /bin/bash acer
====================