Chinaunix首页 | 论坛 | 博客
  • 博客访问: 233495
  • 博文数量: 65
  • 博客积分: 1430
  • 博客等级: 中尉
  • 技术积分: 700
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-27 00:30
文章分类
文章存档

2011年(65)

分类: LINUX

2011-05-02 14:26:13

linux中文件名通配:
*,匹配任意长度的任意字符
      eg:a*  与ab,abc,abcd,a都匹配
?,匹配任意单个字符 
      eg:a? ab(匹配)ac(匹配)abc(不匹配)abcd(不匹配)
[]范围表达式,一次匹配范围中的一个字符
      eg:a[abc]  a(不匹配),ab(匹配),ac(匹配),abc(不匹配),abcd(不匹配)
      [a-z]表示a-z中的任意一个
      [A-Z]
      [0-9]
      [a-zA-Z0-9]表示a-z或A-Z或0-9中的任意一个字符
      脱字符:表示除了指定字符之外的字符 eg: [^0-9]除了0-9之外的任意一个
      字符           
eg1:a开头,跟一位任意数字,再跟一位大写字母,又跟任意字符
   a[0-9][A~Z]*
eg2:以3或4或7开头后跟任意一个非字母字符再跟任意单个字符并以3结尾
   [347][^a-zA-Z]?3
#man 7 glob(文件名通配)
    两个:中间的内容是某类字符的名称
   [:alnum:]=[A-Za-z0-9] 表示字母和数字
   [:alpha:] 表示所有字母
   [:blank:]  表示空白字符
   [:cntrl:]  表示控制字符
   [:digit:]=[0-9]表示数字
   [:lower:] 表示所有小写字母
   [:print:] 表示可打印字符
   [:punct:]表示标点符号
   [:space:]  表示空白字符
   [:upper:] 表示所有大写字母
   eg:以标点符号开头的
       [[:punct:]]表示所有以标点符号开头的文件
       [^[:punct:]]表示所有以非标点开头的文件
 
CLI:
显示设备
物理终端:/dev/tty0(物理终端对应的设备) 安装linux的那台电脑的显示器
虚拟终端:/dev/tty1-tty6 ,mingetty(在tty0下虚拟出来的终端对应的程序)
           对物理终端的虚拟,可在一台物理机上
          同时打开多个接口
串行终端:/dev/ttyS*(串行终端对应的设备),/dev/xvc0 串口连接的终端
          在/etc/inittab中可以定义是否开启虚拟终端和串行终端
系统控制台:/dev/console(/dev/tty0,/dev/fb0)(系统默认的逻辑终端)
           console=ttyS0(将console映射到ttyS0而不是tty0)
模拟终端:/dev/pts/N(模拟终端对应的设备)远程登录使用
           x window ,Terminal
           ssh,telnet都使用模拟终端
           screen也是使用模拟终端
x protocol的实现:x386(商业实现),XFree86(开源实现),xorg(渐渐替代xfree86)
x protocol是c/s架构
x server ,xclient
窗口管理器
桌面
eg:打开一个linux图形终端
X(提供显卡驱动,定义输入输出设备)--》xterm(图形终端)--》twm&(窗口管理器)-->gnome-session(桌面)

xhost + [IP/HOST] 允许某台主机到本机显示图形界面--在xserver上执行
xhost -  [IP/HOST] 取消某台主机到本机显示图形界面--在xserver上执行
export DISPLAY=RHOST:N.n--在xclient上执行
eg:export DISPLAY=192.168.10.2:1.0
    :1.0 表示第1个显示器上的第0个桌面
 
注意:xorg的服务端是显示图形界面的那一端(客户面对的电脑)
      xorg的客户端是请求图形界面显示的那一端(服务器)
以上图形终端中传输的数据都是明文的,可以使用ssh通过加密转发对于远程桌面上
图形窗口的请求显示在本地,本地应启动xserver
ssh远程登录到别人的桌面上在本地显示
eg:ssh -X -l root 192.168.0.254
 

screen 支持在命令行模式下打开多个模拟终端,使用telnet或ssh远程登录linux时,
       如果要下载非常大的文件,我们如果一直等着它下载会很浪费时间,如果我
      们正做的工作还没做完,却到了下班时间。或者连接非正常中断,那么重新连
       接时,系统将打开一个新的session,无法恢复原来的session。screen命令
       可以解决这一系列问题。
       screen工具是一个终端多路转接器,在本质上,这意味着你可以在一个单一
       的终端窗口打开多个终端
screen的使用:
    首先查看screen是否安装:screen  如果提示command not found既是没有安装
    使用yum install screen 安装即可。
基本命令:
    开一个会话,并命名为test:
    screen -S test
    ctrl+ a+d快捷键 把screen放后台运行(临时退出这个会话)
    exit退出screen
    在正常模式下使用screen打开screen
    在screen下ctrl+a+c再打开一个子screen
    screen -r screen号 重新打开放在后台的screen
    screen -l  (检查正在运行的会话)

权限的传递
linux两种用户:
root
普通用户
A用户  管理network
B用户   管理filesystem
如果把root权限给A和B,无法界定责任,出现问题的话不知道A和B谁干的
所以可以使用sudo
sudo机制可以授权A或B执行相关的功能,而不是全部的管理权限
/etc/sudoers里定义了:
who where=(runas)what(哪些用户可以在哪些主机上以谁的身份执行什么命令)
A 192.168.0.0/24=(root) /sbin/ifconfig  A用户可以以管理员的身份在192.168.0.0
网段执行/sbin/ifconfig
若=后面没写root则默认是root
A执行此命令时要以sudo打头执行
eg:A登录自己的账号,然后写命令时加上sudo即可

eg:在root用户下设置sudoers 使用命令:visudo
    然后在里面添加一条命令 redhat 192.168.0.0=(root) /usr/sbin/useradd
    意思是redhat用户可以在192.168.0.0网段以root用户的身份使用/usr/sbin/useradd
    命令。
    然后:su - redhat(切换到redhat用户)
          sudo /usr/sbin/useradd wangxing
          再输入redhat的密码即可添加用户成功(若不想输密码,可在命令前
          加上标签  NOPASSWD:)
          使用tail /etc/passwd查看
若让A,B,C 管理network
   
    D,E,F管理filesystem
    可以为 who where=(runas)what起四个别名
    User_Alias NETMANAGER=A,B,C(别名必须是英文大写字母)
    Host_Alias NET=192.168.0.0/24
    Cmod_Alias NETWORK=/sbin/ifconfig,/sbin/netstat
    eg:NETMANAGER NET=(root) NETWORK(A,B,C可以在192.168.0.0网段以root
       的身份执行/sbin/ifconfig 和 /sbin/netstat
 
一切皆文件:
GUI:
阅读(1325) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~