嵌入式软件工程师&&太极拳
全部博文(548)
分类: LINUX
2011-02-17 17:21:31
第一、基本命令 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 ==================== 用户组的管理,权限管理等明天讲 作业: 学习手工添加一个用户,名字随便,要求: 密码只能每隔3天修改一次,密码有效期8天,密码过期前3天开始警告,密码过期2天后就不能登录了,帐号在2009/12/26 就不能再使用