cat   file1,file2 一次性显示多个文件
eg: cat /etc/hosts
     cat /var/log/messages 这样东西比较多的时候,上面的内容看不到
     需要这些快捷键,上下翻页  shift+pageUP/DOWN,Framebuffer
     cat -n   可以显示行号  
     cat -E   显示文本文件的换行符
     
$  表示一行结束的符号

more 查看文本文件   支持上下翻页   但一次只显示一屏  空格向下翻一屏  b键向上翻        enter向下翻一行

less  文件名   支持向前向后翻页  space/b    enter/k
               支持特殊字符串的查找  /string   查找到最近一个  想再找一个n(next)
                                                           想回到之前一个N(next)
                                     ?string  n   N
               q键表示退出

head  文件名   显示文件的前几行   默认显示前10行
      -n   前n行

tail 文件名  显示文件尾部几行   默认显示10行
     -n  尾部n行
     -f
     eg tail /var/log/message  显示10行退出
        tail -f /var/log/message    显示10行不退出
直到按ctrl+c退出 

tac   所有文件反过来显示

命令  选项  参数
COMMAND [POTION] [ARGU]

命令帮助

#command --help 

-help表示 -h-e-l-p,所以是不一样的

内部命令的帮助信息
#help command

#man COMMAND
命令的(文本)手册文件,压缩后存储,/usr/share/man

man   less

命令手册是分章节,8个章节

第一个章节、user commands  普通用户命令
  二        system calls  系统调用
  三        library calls  库调用
  四        special files  设备文件信息
  五        file formats  文件格式
  六        games
  七        miscellaneous  杂项
  八        administrative commands  管理员命令

man  passwd
man -k passwd 从whatis里面搜索匹配passwd的字符全挑出来
eg makepasswd
   man man
   man -k passwd

q键表示退出

[]:可选
<>:必须有
file...:可以有多个
-x|y|z:从中选一
[-x|y|z]  可选一个  可不选
<-x|y|z>  必选一个
-abc  三者联合使用

man 5 passwd  显示第五个章节的passwd信息,命令

whatis COMMAND  告诉你命令在哪些章节有
eg whatis passwd

执行这个命令  如果遍历一遍很麻烦,系统中用 数据库
这个命令是 makewhatis:生成数据库

查看man命令

man man
   -M   指定路径(path)

#man info 
#info passwd  查找info,获得补充信息

每一个外部命令:
    README
        INSTALL
        COPYRIGHT
文档doc,/usr/share/doc

FAQ(经常被问答的问题)

kbase。redhat。com红帽官方  问题库

date 显示或设置系统日期和时间 shutdown 关机或重启 cal 日历 ifconfig 接口的配置信息

date如何修改当前系统时间-s或者date 时间,如何显示当前日期date +%F或date +%D,如何显示当前时间date +%T,如何只显示当前的小时%H  分钟%M  秒%S   date +%H-&M-%S或date “+%H-&M-%S”

shutdown如何关机-h,如何重启-r
shutdown -h now 或 shutdown -h +0  都表示立即关机
shutdown -h +10  十秒以后关机

cal如何显示2012年12月
cal 2011  显示2011年所有月份
cal 12 2011   显示2011年12月份

ifconfig
ifconfig ethX ip/MASK
Ifconfig etn0 172.16.10.100/16

ssh协议:tcp  22号端口

putty
secureCRT
Xmanager

用户、组、权限:

认证机制:确认用户就是所生成的用户

进程:是资源的分派单位
每一个进程都是在特定用户的

用户 
用户账号:root,student
linux:用户ID号,简称UID
    十进制整数 0-65535  与账号一一对应

用户类别:
管理员:root,0
系统用户:维护系统运行,1-499
普通用户:500-60000
nobody:-1 表示来宾账号(相当于window中的guest)

Linux支持多种shell:
  GUI:可有可无,常见的流行的系统:gnome,KDE,xface
  CLI:bash(默认),sh,ksh,zsh,csh,tcsh,ash

/etc/passwd  纯文本文件  每一行标示一个用户
/etc/shadow  纯文本文件,影子口令(加密的,单向的),存放用户密码


组:分配权限的容器,简称GID
基本组:每一个用户建立起来之后都有一个基本组
附加组(额外组):用户可以属于多个组,不常用的组

/etc/group  存放所有组的安全信息

临时切换组到另一个组:newgrp

组的密码放在/etc/gshadow

文件权限:
每一个文件都有权限模型mode:属主(所有者)和属组(所属的组)
                            权限
文件类型:普通文件 用f表示   但是在ls命令的显示结果中,用-表示
          链接文件   l       指的是符号连接文件
          目录文件   d
          块设备     b
          字符设备   c
          套接字文件 s
          命名管道   p

9位权限:
---   ---  --- 
(u)(g)(o)

r:读   表示读的话rrr
w:写
x:执行
         
文件权限:
r:查看
w:编辑,修改
x:运行

目录权限:
r:ls查看,不能使用ls -l,也不能cd进去
w:在目录中创建文件
x:cd进去

这三种权限的组合:
rwx:
--- 000  0
--x 001  1
-w- 010  2
-wx 011  3
r-- 100  4
r-x 101  5
rw- 110  6
rwx 111  7

640   rw-r-----  

rw-rw-r--  root     root   a.txt
           (属主)(属组)

jerry有写权限
1.让他成为属主
2.让他加入root组;把文件的属组改为他所属的组,mygrp
3.r--,rw-

useradd USERNAME  创建用户
   -u UID  制定用户ID
   -g GID  (此组必须事先存在)
   -c “COMMENT”
   -d  /path/to/somewhere
   -s  指定用户shell的种类
   -G group(组必须事先存在,可以指多个,用逗号隔开)

groupadd GROUPNAME
   -g GID  组的ID号
   eg groupadd -g 100 dba
      tail -1 /etc/group
      useradd -g dba oracle
      id oracle
     
冒号是分隔符,表示有几个段落

passwd [USERNAME]
passwd -l 用户名   锁定
passwd -u 用户名   解锁

       --stdin  从标准输入读入密码

echo "string"  回显字符串
echo "radhat"
echo "radhat"|passwd --stdin mysql  把mysql的密码改为redhat

userdel USERNAME
    -r

groupdel GRPNAME


bc  是计算器


9999  
7   离密码还有多长时间,就要提醒用户
倒是第三段
倒数第二天到期锁定时间
倒数第一段预留段

usermod  修改用户账号的属性
   -u  用户ID
   -g  组
   -G  附加组后面再加几个组
   -s  用户shell
   -c  改用户注释
   -l  修改用户名
   -e  用户账号的有效期限,格式yy-mm-dd
   -f  用户账号过期时
   -d  改变用户家目录(创建一个新的空目录,用户弄过来)-m  全部挪过来

权限管理:
mode:
  u,g
  perm:ugo

a.txt,u:root,g:root,perm:664

jerry,write


chown USER FILE1,。。。改变属主
   -R   把目录下所有属主都改了

chgrp GROUP FILE1,。。。改变属组
  -R   把目录下所有属组都改了

chown USER:GROUP FILE,。。。
chown USER.GROUP FILE,。。。

只改属组  chown :GROUP FILE

--reference=

chown --reference=A B   把B的属主属组改的和A一样

改变权限:
chmod [option]mode,mode,... FILE,...

chmod nnn(八进制) FILE  把三个权限全改了

chmod u|g|o|a=mode FILE,。。。


chmod u|g|o|a +|- mode FILE,。。。

shell:

1、命令行编辑
Ctrl+a  光标到行首
Ctrl+e  光标到行尾
Ctrl+u  光标到行首删除
Ctrl+k  光标到行尾删除
Ctrl+arrow

2、globbing:文件名通配

*:任意长度的任意字符
  a*b,aab
?:任意单个字符
  a?b,aab,ayb
[]:指定范围内的任意字符,[abc][0-9][a-z][A-Z]
                         [:lower:][:upper:][[:digit:]]
[^a-z]

a[a-z]b

/etc/pass

3、命令行展开
~
cd ~redhat
{}
x/y  x/z  x/y/a1  x/z/b1   m/n

mkdir -p {x/{y/a1,z/b1},m/n}

x_y,x_z,m_y,m_z

mkdir -v (x,m)_(y,z)

$(),``

4、如何避免字符展开

a*b

ls a*b

\  避免一个字符表示通配的意义

使用命令别名
ll=ls -l

alias lis=clear   定义别名
unalias  撤销别名

\+别名   表示原来的命令

bat,批处理

shell

nano 文件名

bash

user1
user2
user3

显示创建完成,并显示时间

1、使用一个命令显示/etc目录中所有以一个小写字母开头而后紧跟一个数字后再跟任意字符的文件的文件类型
ls -l [a-z][0-9]* /etc

2、以一个命令在/tmp目录创建以下目录:
   myroot, myroot/etc, myroot/etc/rc.d, myroot/etc/init.d, myroot/usr, myroot/usr/local, myroot/var, myroot/var/log, myroot/proc, myroot/sys, myroot/mnt, myroot/media, myroot/lib, myroot/boot, myroot/boot/grub
mkdir -pv /tmp/{myroot/{etc/{rc.d,init.d},usr/local,var/log,proc,sys,mnt,media,lib,boot/grub}}

3、以一个命令显示当前系统上所有可用shell对应的可执行文件的文件内容类型;

4、创建各一个名字为"a*b","a b", "$ab", "a?b"的文件(文件名为引号内的内容);
touch a*b "a b" '$ab' 'a?b'
写一个脚本:
1、创建目录/tmp/scripts
mkdir -pv /tmp/scripts

2、切换工作目录至此目录中
cd /tmp/scripts

3、复制/etc/pam.d目录至当前目录,并重命令为test
cp -r /etc/pam.d /tmp/scripts/test

4、将当前目录中的test及其里面的文件和子目录的属主改为redhat
chown -R  redhat test

5、将test及其子目录中的文件的其它用户的权限改为没有任何权限
chmod  -R o=--- test

写一个脚本:
1、显示当前系统日期和时间,而后创建目录/tmp/lstest
date +%F-%H-%M-%S
mkdir -pv /tmp/lstest
2、切换工作目录至/tmp/lstest
cd /tmp/lstest
3、创建目录a1d, b56e, 6test
mkdir a1d b56e 6test
4、创建空文件xy, x2y, 732
touch xy x2y 732
5、列出当前目录下以a、x或者6开头的文件或目录;
ls [ax6]*
6、列出当前目录下以字母开头,后跟一个任意数字,而后跟任意长度字符的文件或目录;  
ls [a-zA-Z][0-9]*

执行  bash !$