A.umask

    1.作用
    umask设置用户文件和目录的文件创建缺省屏蔽值,若将此命令放入profile文件,就可控制该用户后续所建文件的存取许可。它告诉系统在创建文件时不给谁存取许可。使用权限是所有用户。
    2.格式    umask [-p] [-S] [mode]
    3.参数
    -S:确定当前的umask设置。
    -p:修改umask 设置。
    [mode]:修改数值。
    4.说明
    传统Unix的umask值是022,这样就可以防止同属于该组的其它用户及别的组的用户修改该用户的文件。既然每个用户都拥有并属于一个自己的私有组,那么这种“组保护模式”就不在需要了。严密的权限设定构成了Linux安全的基础,在权限上犯错误是致命的。需要注意的是,umask命令用来设置进程所创建的文件的读写权限,最保险的值是0077,即关闭创建文件的进程以外的所有进程的读写权限,表示为-rw-------。在~/.bash_profile中,加上一行命令umask 0077可以保证每次启动Shell后, 进程的umask权限都可以被正确设定。
    5.应用实例
umask -S
u=rwx,g=rx,o=rx
umask -p 177
umask -S
u=rw,g=,o=

 
    上述5行命令,首先显示当前状态,然后把umask值改为177,结果只有文件所有者具有读写文件的权限,其它用户不能访问该文件。这显然是一种非常安全的设置。
B.Ubuntu中的问题:
1.默认安装是没有root密码的,要进入系统后shell>sudo passwd root,会提示输入root密码。
2.Ubuntu里面挂载windows文件要用utf8而不是cp936,否则中文会显示乱码。也即:在etc/fstab文件中加入:
  /dev/hda5              /mnt/d            vfat     auto,utf8,umask=000   0   0
3.Ubuntu里面不能用rpm安装软件,它采用的是dpkg命令,它的安装包是.deb文件。你可以用alien命令将rpm包转换成deb文件:alien -d *****.rpm。后面列出dpkg跟rpm命令的区别
4安装SCIM输入法
sudo apt-get install scim scim-modules-socket scim-modules-table scim-pinyin scim-tables-zh scim-input-pad
将export  XMODIFIERS=@im=SCIM ; export GTK_IM_MODULE="scim"; scim -d 写进文件: /etc/X11/Xsession.d/95xinput 中
sudo chmod +755 /etc/X11/Xsession.d/95xinput
5字体美化
wget -c http://222.19.211.78/ftp/cartoon/font/VeraSansYuanTi.tar.gz
tar -xzvf VeraSansYuanTi.tar.gz
sudo mv VeraSansYuanTi /usr/share/fonts/
sudo fc-cache -f
sudo cp /etc/fonts/fonts.conf /etc/fonts/fonts.conf.old
sudo cp /usr/share/fonts/VeraSansYuanTi/fonts.conf /etc/fonts/
重启X(同时按住 Ctrl +Alt + 退格键)
6设置LC_ALL和其它属性
sudo gedit /etc/environment
在编辑器里,将内容修改如下(默认使用中文界面):
LANGUAGE="zh_CN:zh:en_US:en"
LC_CTYPE=zh_CN.UTF-8
LANG=zh_CN.UTF-8
GST_ID3_TAG_ENCODING=GBK
如果需要使用英文界面,将内容修改如下:
LANGUAGE="en_US:en"
LC_CTYPE=zh_CN.UTF-8
LANG=en_GB.UTF-8
GST_ID3_TAG_ENCODING=GBK
重启X后生效
7 安装多媒体播放驱动(不然看不了rmvb哦)
sudo apt-get install beep-media-player totem-xine w32codecs
8安装gcc-3.4:apt-get install build-essential gcc-3.4
  安装头文件:apt-get install linux-headers-2.6.12-10-386
  建立一个符号链接:ln –s /usr/bin/gcc-4.0 gcc
  这样build就有指向正确的源码树位置了。
sudo apt-get install kdevelop3
sudo apt-get install gt3-designer
sudo apt-get install libtool
sudo apt-get install console
sudo apt-cache search *
10、kdevelop3&
   
C.dpkg vs rpm
列出系统中安装的软件包 
rpm -qa 
dpkg --list 
列出软件包信息 
rpm -qi pkgname 
dpkg --status pkgname 
列出一个包所安装的文件 
rpm -ql pkgname 
dpkg --listfiles pkgname 
列出本地包文件的信息 
rpm -qpi file.rpm 
dpkg --info file.deb 
列出本地包文件所含文件 
rpm -qpl file.rpm 
dpkg --contents file.deb 
安装本地包 
rpm -i file.rpm 
dpkg --install file.deb 
从系统中清除包 
rpm -E pkgname 
dpkg --purge pkgname 
查询文件归属 
rpm -qf file 
dpkg --search file
D一些技巧:
查看bash版本:>echo $BASH_VERSION
测试脚本文件:>source myscript或者>chmod a+x myscript;./myscript
简单的命令组合可以用分号实现,就像上面显示的那样。
脚本的第一行必须是:#!/bin/bash.它指定了负责执行脚本的解释器的名字。
Bash中,双引号在功能上比单引号稍微弱一点;双引号允许一些特殊字符保持其特有的意义。单引号有强制作用,屏蔽掉任何字符的特殊含义。单引号禁止变量的插值,而双引号不禁止,如:
  >echo "Path:$PATH"会正确显示环境变量
  >echo 'Path:$PATH'会显示:Path:$PATH
     所以,除非有特殊原因,才使用双引号。
 在太长的脚本中可以使用‘’来将其划分成短行
 rev:获得任何的键盘输入,接着把它们反过来显示在屏幕上。
 linux中声明变量在变量名前加上$符号,删除变量用unset命令释放内存。
 /bin 保存像ls和cat这样的二进制文件。
 /boot 启动系统所需的文件。
 /etc 系统配置文件和初始化脚本
 /dev linux系统下大量设备的入口
 /lib 系统启动时程序运行所必需的基本动态库
 /lost+found 如果一个文件系统在运行的时候产生了错误,那么文件系统修复工具 (fsck)将要在这个目录保存恢复的数据
 /proc 是个虚拟目录,该目录下的文件和目录并不真正存在于系统的任何磁盘上。系统创建它是为了向其他应用程序传递系统信息。
 /sbin 启动系统的程序和二进制文件
 /usr 为正常运行系统的用户存放固定文件和数据的目录
E。设置启动项目:
首先安装一个工具:
sudo apt-get install sysv-rc-conf
然后这样起动:
代码:
sudo sysv-rc-conf
(注意:进入以后,画“×”的表示选上并起动的。)在这个软件里,可以用键盘的方向键移动,用空格选取,也可以直接用鼠标选取,最后用q保存退出,一下列出服务的名称和基本的解释。
代码:
acpi-support    这个是关于电源支持的默认是1,2,3,4,5下启动,我认为你可以把它调整到s级别。
acpid      acpi的守护程序,默认是2-5开启,我认为可以不用管。
alsa      alsa声音子系统,应该不用开启它。
alsa-utils   这个服务似乎取代了alsa,所以开启这个就可以了,我在S级别开启它。
anacron      这是一个用于执行到时间没有执行的程序的服务,我认为它无所谓,所以关了它,这个可以随便。
apmd      也是一种电源管理,我认为电脑如果不是很老,它就没有开启的必要了。
atd      和anacron类似,我把它关了。
bluez-utiles   传说中的蓝牙服务,然后遗憾我没有,所以关了。
bootlogd   似乎使用来写log的,安全期间开着他也许比较好。
cron      指定时间运行程序的服务,所以开着比较好的。
cupsys      打印机服务,所以如果你有,就开启吧。
dbus      消息总线系统,非常重要,一定要开。
dns-clean   拨号连接用的,如果不用,就关了它。
evms      企业卷管理系统,由于我并不明白什么叫做企业卷,所以我关了它。
fetchmail   用于邮件守护,我关了它。
gdm      gnome桌面管理器,我关了它,然后用startx启动gnome。
halt       关机用的,不要更改
hdparm      这个我刚才有讲,如果没有ide硬盘也就不用开启它了。
hotkey-setup   这个是给某些品牌笔记本设计的热键映射,台式机用户请关了它  
hotplug     这个是用于热插拔的,我已经测试过了,在某些电脑上关闭它会使声卡无效,请在S级别开启它。
hplip      hp打印机专用的,应该可以关了它。
ifrename      网络接口重命名,好像没用,关了。
ifupdown   这个使用来打开网络的,开着它。
ifupdown-clean   同上。
klogd      linux守护程序,接受来自内核和发送信息到syslogd的记录,并记录为一个文件,所以请开着它。
linux-restricted-modules-common    这个使用来使用受限制的模块的,你可以从/lib/linux-restricted-modules下查看,如果没有什么,你可以关掉它。
lvm      逻辑卷管理器,如果你没有请关了它。
makedev    用来创建设备到/dev/请不要动他。
mdamd      管理raid用,如果你没有请关闭它。
module-init-tools 从/etc/modules   加在扩展模块的,这个一般开着。
networking   增加网络接口和配置dns用,将它开启。
ntp-server   与ubuntu时间服务器进行同步的,关了。
pcmcia      激活pcmica设备,遗憾我有生以来都没有见过这样的设备,关了它。
powernowd    用于管理cpu的客户端程序,如果有变频功能,比如amd的quite'   cool 那么就开启它吧。
ppp       拨号用的,我关了它。
ppp-dns      一样,也关了。
readahead   预加载服务,让我想起了win的预读,当然他们不同,它会使启动变慢3-4妙,所以我关了它。
reboot      重启用的,不要动。
rmnologin   如果发现nologin,就去除它,在笔记本上不用开启。
rsync      rsync协议守护,请视情况而定。
screen-cleanup    一个清除开机屏幕的脚本,随便。
sendsigs      重启和关机时向所有进程发送消息。所以不要管它。
single       激活但用户模式,不用管它。
stop-bootlogd   从2,3,4,5级别停止bootlogd,不用管它。
sudo      这个不用说吧,不用管它。
sysklogd   用于记录系统日志信息,不用管它。
udev      用户空间dev文件系统,不用管它。
udev-mab   同上。
umountfs   用来卸载文件卷的,不用管它。
urandom   生成随即数的,不知道怎么用,不用管它。
usplash      那个漂亮的启动画面,但是我关了它,它也存在,所以想关他需要把内核起动参数中的splash一句删掉。
 vbesave      显卡bios配置工具,不用管它。
xorg-common   设置x服务ice socket。不用管它。