linux 系统机器的时间

机器里有两个时钟。硬件时钟从根本上讲是CMOS时钟;而系统时钟是由内核维护的,它是从1969年末(即传说中的标志Unix时代开端的那个拂晓)开始算起的累积秒数。

在DOS或Mac系统中,起作用的是硬件时钟。遗憾的是,你可能已经发现了,绝大多数电脑时钟都是很不准确的。它们从根本上讲是由小型电池供电的警报器时钟,这种锂电池一般可持续供电三年左右,那时候你系统各大块差不多都已经过时了。

而在Linux系统中,起作用的是系统时钟。在启动时,它靠读取硬件时钟获得计时起点,而不是靠记忆计时。
你可以通过BIOS修改系统硬件时钟,或者如果你不想重起机器,那就用hwclock命令。

比较酷的一点是,当你使用hwclock命令调整硬件时间很多次以后,hwclock就会获取你的时钟推移速率,然后就会把这个信息存在/etc/adjtime里边。以后,你就可以用它来随时更新你的硬件时间,用一条下面的命令:

hwclock --adjust
硬件时钟通常被设置成全球标准时间(UTC),而将时区信息保存在/usr/share/lib/timezone (或者在某些系统中可能是/usr/local/timezone)目录下某个适当的文件中,然后用一个符号链接文件/etc/localtime指向 它。

查看硬件时钟: hwclock --show
将时间写入CMOS: hwclock --systohc
读取CMOS时间: hwclock --hctosys
重置硬件时钟: hwclock --set --date="1/23/01 22:16:59"
设置日期: date -s mm/dd/yy
设置时间: date -s HH:MM
从服务器上同步时间:sudo ntpdate-debian 
sudo ntpdate  ntp.ubuntu.com
如果需要修改你的时区信息,可以使用tzset命令,如果你系统中没有这条命令,那可以用类似下面的操作:
ln -s /etc/localtime /usr/share/zoneinfo/US/Pacific
 

要掌握linux的时间操作还有很多东西需要了解,包括用来创建实时时钟文件(/dev/rtc)的内核选项、在内核或TZ时区表中设置时区信息的方法、网络时间服务器功能和夏令时等等。

安装 nvidia 显卡驱动

Edgy

1、首先去 http://www.nvidia.com/object/unix.html 下载最新的驱动
2、备份现在的显示配置文件
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak
3、
安装头文件 sudo apt-get install linux-headers-$(uname -r) ,如果没有安装编译环境的,还要安装编译环境 sudo apt-get install build-essential
4、编辑 sudo gedit /etc/default/linux-restricted-modules-common ,在最后的双引号里面添加nv两个字,添加后就是“nv” ,就是禁用 nv 的驱动。我们要安装的是 nvidia 的。
5、
注销后,按Ctrl+Alt+F1,登录后关闭gdm
sudo /etc/init.d/gdm stop
然后开始安装(假设下载的文件放在home根目录下)
sudo sh NVIDIA-Linux-x86-1.0-9631-pkg1.run
进入安装界面后,首先接受协议,选“接受”
可能会有提示已经安装了旧的驱动(视乎你自己是否有手动安装过),是否删除,选yes就是了,
一般会提示缺少模块,问是否网上下载,选“no”,
提示需要自己编译模块,选“ok”,然后编译安装开始,
最后提示需要修改xorg.conf,是否允许,选yes,
完成安装,选ok。
然后回到终端界面,重启gdm
sudo /etc/init.d/gdm start

现在可以重启试试驱动是否已经装好,在“应用程序-》系统工具-》NVIDIA X server setting里面可以看到驱动的信息.

Feisty

    启用 系统管理-桌面效果 就可以自动搜索显卡驱动进行安装,安装后使用 sudo nvidia-settings 就可以配置了.
提示:每次更新内核后都需要重新安装nv的驱动!重复第5点的步骤即可

Gutsy

1、下载驱动
http://www.nvidia.com/Download/index.aspx?lang=en-us
按照显卡型号和系统下载,这里是 NVIDIA-Linux-x86_64-169.12-pkg2.run 这个文件

2.删除原驱动包
sudo apt-get --purge remove nvidia-glx
然后删除 /lib/linux-restricted-modules/2.6.22-14-generic/文件夹下面带有nvidia字样的内容,这里是内核自带的驱动
再检查一下
/etc/init.d/nvidia-glx
/etc/init.d/nvidia-kernel
这两个文件是否存在,删除

3、安装要用到的程序
sudo apt-get install build-essential pkg-config xserver-xorg-dev linux-headers-`uname -r`
安装编译包

4备份
sudo cp /etc/default/linux-restricted-modules-common /etc/default/linux-restricted-modules-common.backup
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup

5.禁止系统使用默认的驱动
sudo gedit /etc/default/linux-restricted-modules-common
在最后的双引号中添加nv nvidia_new,即“”改成“nv nvidia_new”
如果前面第二步删除完整了其实也可以不用执行这一步

6.停止GDM进程
sudo /etc/init.d/gdm stop
按Ctrl+Alt+F1,登录后

7.进入下好的驱动所在目录(用ls命令确认文件在不在)
sudo sh  NVIDIA-Linux-x86_64-169.12-pkg2.run
安装过程中,
如果提示有旧驱动,询问是否删除旧驱动,选Yes;
如果提示缺少某某模块(modules),询问是否上网下载,选no;
如果提示编译模块,询问是否进行编译,选ok;
如果提示将要修改Xorg.conf,询问是否允许,选Yes;
接下来就是等待安装完成

8.安装完成就回到终端,重启GDM
sudo /etc/init.d/gdm restart

ok了,当看到NV的logo后,安装成功。

如果实在不想看NVIDIA的LOGO,可以修改 /etc/X11/xorg.conf
在Section "Device"中添加Option "NoLogo" "True"

如:
Section "Device"
Identifier "通用显示卡"
Driver "nvidia"
Option "NoLogo" "True"
EndSection

edqy 的硬盘 UUID

    在 edqy 的 fstab 和 grub 中硬盘使用了 UUID 标志。

    每个硬盘驱动器都有一个独特的标志,叫做 UUID。要解决设备名称的变动问题,devlabel 允许你使用用户定义的设备名称来关联这些 UUID。一个符号链接会被创建来连接用户定义的设备名称和实际的设备名称。如果实际的设备名称改变了,这个符号链接会被更新,并根据驱动器的 UUID 来指向同一驱动器。因此,IDE 和 SCSI 贮存设备都可以使用它们的用户定义的名称被引用。

    Devlabel 还允许你自动挂载热插入的设备,如可移硬盘和数码照相机的内存卡之类的 USB 设备。如果被配置成自动挂载,设备被插入后,它就会使用用户定义的设备名称被挂载。

查询UUID的命令:

ls -l /dev/disk/by-uuid

vi vim 用法

1.6.1  vi 的工作模式

Vi 在初始启动后首先进入编辑模式,当用户在编辑模式下键入 i, a, o 等命令之后,可进入插入模式;键入 : 可进入命名模式。在插入模式下,用户随后输入的,除 Esc 之外的任何字符均将被看成是插入到编辑缓冲区中的字符。按 Esc 之后,从插入模式切换到编辑模式。

1.6.2  编辑模式

1. 移动光标

要对正文内容进行修改,首先必须把光标移动到指定位置。移动光标的最简单的方式是按键盘的上、下、左、
右箭头键。除了这种最原始的方法之外,用户还可以利用 vi 提供的众多字符组合键,在正文中移动光标,迅
速到达指定的行或列,实现定位。例如:
k、j、h、l 功能分别等同于上、下、左、右箭头键
Ctrl+b 在文件中向上移动一页(相当于 PageUp 键)
Ctrl+f 在文件中向下移动一页(相当于 PageDown 键)
H 将光标移到屏幕的最上行(Highest)
nH 将光标移到屏幕的第 n 行
2H 将光标移到屏幕的第 2 行
M 将光标移到屏幕的中间(Middle)
L 将光标移到屏幕的最下行(Lowest)
nL 将光标移到屏幕的倒数第 n 行
3L 将光标移到屏幕的倒数第 3 行
w 在指定行内右移光标,到下一个字的开头
e 在指定行内右移光标,到一个字的末尾
b 在指定行内左移光标,到前一个字的开头
0 数字0,左移光标,到本行的开头
$ 右移光标,到本行的末尾
^ 移动光标,到本行的第一个非空字符
gg
移动光标到文档第一行 G                  移动光标到文档最后一行

2. 替换和删除

将光标定位于文件内指定位置后,可以用其他字符来替换光标所指向的字符,或从当前光标位置删除一个或多
个字符。例如:
rc 用 c 替换光标所指向的当前字符
nrc 用 c 替换光标所指向的前 n 个字符
5rc 用 c 替换光标所指向的前 5 个字符
x 删除光标所指向的当前字符
nx 删除光标所指向的前 n 个字符
3x 删除光标所指向的前 3 个字符
dw 删除光标右侧的字
ndw 删除光标右侧的 n 个字
3dw 删除光标右侧的 3 个字
db 删除光标左侧的字
ndb 删除光标左侧的 n 个字
5db 删除光标左侧的 5 个字
dd 删除光标所在行,并去除空隙
ndd 删除 n 行内容,并去除空隙
3dd 删除 3 行内容,并去除空隙
d^ 删除光标到行首的字符,和 D 效果一样
d$ 删除光标到行末的字符,和正则用的符号一样
dG
删除光标到文档末尾的字符
ggdG
删除全部字符

3. 粘贴和复制

从正文中删除的内容(如字符、字或行)并没有真正丢失,而是被剪切并复制到了一个内存缓冲区中。用户可
将其粘贴到正文中的指定位置。完成这一操作的命令是:
p 小写字母 p,将缓冲区的内容粘贴到光标的后面
P 大写字母 P,将缓冲区的内容粘贴到光标的前面
如果缓冲区的内容是字符或字,直接粘贴在光标的前面或后面;如果缓冲区的内容为整行正文,则粘贴在当前
光标所在行的上一行或下一行。
注意上述两个命令中字母的大小写。vi 编辑器经常以一对大、小写字母(如 p 和 P)来提供一对相似的功能
。通常,小写命令在光标的后面进行操作,大写命令在光标的前面进行操作。
有时需要复制一段正文到新位置,同时保留原有位置的内容。这种情况下,首先应当把指定内容复制(而不是
剪切)到内存缓冲区。完成这一操作的命令是:
yy 复制当前行到内存缓冲区
nyy 复制 n 行内容到内存缓冲区
5yy 复制 5 行内容到内存缓冲区

4. 搜索字符串

和许多先进的编辑器一样,vi 提供了强大的字符串搜索功能。要查找文件中指定字或短语出现的位置,可以
用 vi 直接进行搜索,而不必以手工方式进行。搜索方法是:键入字符 / ,后面跟以要搜索的字符串,然后
按回车键。编辑程序执行正向搜索(即朝文件末尾方向),并在找到指定字符串后,将光标停到该字符串的
开头;键入 n 命令可以继续执行搜索,找出这一字符串下次出现的位置。用字符 ? 取代 / ,可以实现反向
搜索(朝文件开头方向)。例如:
/str1 正向搜索字符串 str1
n 继续搜索,找出 str1 字符串下次出现的位置
?str2 反向搜索字符串 str2
无论搜索方向如何,当到达文件末尾或开头时,搜索工作会循环到文件的另一端并继续执行。

5. 撤销和重复

在编辑文档的过程中,为消除某个错误的编辑命令造成的后果,可以用撤消命令。另外,如果用户希望在新
的光标位置重复前面执行过的编辑命令,可用重复命令。
u 撤消前一条命令的结果
. 重复最后一条修改正文的命令

6. 文本选中

vi 可进入到一种成为 Visual 的模式,在该模式下,用户可以用光标移动命令可视地选择文本,然后再执行其他编辑操作,例如删除、复制等。 v 字符选中命令 V 行选中命令

 

#DEMO#

1.6.3  插入模式

1. 进入插入模式

在编辑模式下正确定位光标之后,可用以下命令切换到插入模式:
i 在光标左侧输入正文
a 在光标右侧输入正文
o 在光标所在行的下一行增添新行
O 在光标所在行的上一行增添新行
I 在光标所在行的开头输入正文
A 在光标所在行的末尾输入正文
上面介绍了几种切换到插入模式的简单方法。另外还有一些命令,它们允许在进入插入模式之前首先删去一段
正文,从而实现正文的替换。这些命令包括:
s 用输入的正文替换光标所指向的字符
ns 用输入的正文替换光标右侧 n 个字符
cw 用输入的正文替换光标右侧的字
ncw 用输入的正文替换光标右侧的 n 个字
cb 用输入的正文替换光标左侧的字
ncb 用输入的正文替换光标左侧的 n 个字
cd 用输入的正文替换光标的所在行
ncd 用输入的正文替换光标下面的 n 行
c$ 用输入的正文替换从光标开始到本行末尾的所有字符
c0 用输入的正文替换从本行开头到光标的所有字符

2. 退出插入模式

退出插入模式的方法是,按 ESC 键或组合键Ctrl+[ 。

#DEMO#

1.6.4  命令模式

在 vi 的命令模式下,可以使用复杂的命令。在编辑模式下键入“:”,光标就跳到屏幕最后一行,并在那里显示冒号,此时已进入命令模式。命令模式又称“末行模式”,用户输入的内容均显示在屏幕的最后一行,按回车键,vi 执行命令。

1. 退出命令

在编辑模式下可以用 ZZ 命令退出 vi 编辑程序,该命令保存对正文所作的修改,覆盖原始文件。如果只需要
退出编辑程序,而不打算保存编辑的内容,可用下面的命令:
: q 在未作修改的情况下退出
: q! 放弃所有修改,退出编辑程序

2. 行号与文件

编辑中的每一行正文都有自己的行号,用下列命令可以移动光标到指定行:
: n 将光标移到第 n 行
命令模式下,可以规定命令操作的行号范围。数值用来指定绝对行号;字符“.”表示光标所在行的行号;字符
符“$”表示正文最后一行的行号;简单的表达式,例如“.+5”表示当前行往下的第 5 行。例如:
:345 将光标移到第 345 行
:345w file 将第 345 行写入 file 文件
:3,5w file 将第 3 行至第 5 行写入 file 文件
:1,.w file 将第 1 行至当前行写入 file 文件
:.,$w file 将当前行至最后一行写入 file 文件
:.,.+5w file 从当前行开始将 6 行内容写入 file 文件
:1,$w file 将所有内容写入 file 文件,相当于 :w file 命令
在命令模式下,允许从文件中读取正文,或将正文写入文件。例如:
:w 将编辑的内容写入原始文件,用来保存编辑的中间结果
:wq 将编辑的内容写入原始文件并退出编辑程序(相当于 ZZ 命令)
:w file 将编辑的内容写入 file 文件,保持原有文件的内容不变
:a,bw file 将第 a 行至第 b 行的内容写入 file 文件
:r file 读取 file 文件的内容,插入当前光标所在行的后面
:e file 编辑新文件 file 代替原有内容
:f file 将当前文件重命名为 file
:f 打印当前文件名称和状态,如文件的行数、光标所在的行号等 :fileencoding 显示文档的编码

3. 字符串搜索

给出一个字符串,可以通过搜索该字符串到达指定行。如果希望进行正向搜索,将待搜索的字符串置于两个“
/”之间;如果希望反向搜索,则将字符串放在两个“?”之间。例如:
:/str/ 正向搜索,将光标移到下一个包含字符串 str 的行
:?str? 反向搜索,将光标移到上一个包含字符串 str 的行
:/str/w file 正向搜索,并将第一个包含字符串 str 的行写入 file 文件
:/str1/,/str2/w file 正向搜索,并将包含字符串 str1 的行至包含字符串 str2 的行写
入 file 文件

4. 正文替换

利用 :s 命令可以实现字符串的替换。具体的用法包括:
:s/str1/str2/ 用字符串 str2 替换行中首次出现的字符串 str1
:s/str1/str2/g 用字符串 str2 替换行中所有出现的字符串 str1
:.,$ s/str1/str2/g 用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1
:1,$ s/str1/str2/g 用字符串 str2 替换正文中所有出现的字符串 str1
:g/str1/s//str2/g 功能同上
从上述替换命令可以看到:g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,表示只对搜索
字符串的首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。
如果字符串中出现/,那么替换命令中的/全部用+来代替。

5. 删除正文

在命令模式下,同样可以删除正文中的内容。例如:
:d 删除光标所在行
:3d 删除 3 行
:.,$d 删除当前行至正文的末尾
:/str1/,/str2/d 删除从字符串 str1 到 str2 的所有行

6. 恢复文件

vi 在编辑某个文件时,会另外生成一个临时文件,这个文件的名称通常以 . 开头,并以 .swp 结尾。vi 在
正常退出时,该文件被删除,若意外退出,而没有保存文件的最新修改内容,则可以使用恢复命令:
:recover 恢复文件
也可以在启动 vi 时利用 -r 选项。

7.编辑多个文件

7.1 vi file1 file2 file3

:n 切换到文件2 (n=next)

:e# 或 :N    切换回到刚才编辑的文件 

比如当前编辑文件为a,:n跳至b,再:n跳至c,:e#回到b,想回到a的话用:ea

 

7,2 先打开一个,vi 文件名

然后在vi的命令输入状态下输入 

:sp 另外一个文件的路径及文件名

如此就可以在一个窗口打开多个文件了。

或者用 vi -o file1 file2 file3....用分割屏幕窗口方式同时打开多个文件。

可以使用 ctrl + 两次按 w 或者ctrl + w 然后按上下键在上下窗口间切换。

 

vim 的语法加亮

    Ubuntu 默认安装的 vi 是没有打开语法加亮的,首先要 sudo apt-get install vim 安装完整的 vim ,然后修改 /etc/vim/vimrc ,添加下面的代码。

"开启语法加亮
syntax on
"配色风格,如果觉得默认的不好,可以
colorscheme pablo
"设定Tab键缩进的空格数
set tabstop=4
"设定折叠方式,文本界面下好像不起作用
set foldmethod=indent

修改 root 密码

       默认装好的 Ubuntu 要使用 sudo 的时候是要求输入安装过程中新建的用户的密码,而 root 的密码是不知道的。要使用 root ,必须先设置一个密码。
      如果是 Server 6.06 ,重启后,在 GRUB 倒数的时候按 ESC 进入 Recovery Mode ( 恢复模式 ),接着就是直接用 root 登录了,这样可以输入 passwd 来修改密码。
     如果是 Desktop 6.10 ,使用新建的用户登录图形界面后,在菜单 系统->系统管理->登录窗口->安全,选择允许本地系统管理员登录,root 密码在用户管理那里修改。
     不建议使用 root 作为日常使用!

Linux 常用压缩格式的压缩与解压

.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩!)
---------------------------------------------
.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName

.tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
---------------------------------------------
.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName

.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
---------------------------------------------
.bz
解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz
压缩:未知

.tar.bz
解压:tar jxvf FileName.tar.bz
压缩:未知
---------------------------------------------
.Z
解压:uncompress FileName.Z
压缩:compress FileName

.tar.Z
解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName
---------------------------------------------
.zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName
---------------------------------------------
.rar
解压:rar x FileName.rar
压缩:rar a FileName.rar DirName

rar请到:http://www.rarsoft.com/download.htm 下载!
解压后进入 rar 目录使用 make 就可以了,或者按照 Makefile 里面的内容去复制。
解压可以用,但是压缩就要注册了。
---------------------------------------------
.7z
解压:p7zip -d FileName.7z
要安装 p7zip
---------------------------------------------
.lha
解压:lha -e FileName.lha
压缩:lha -a FileName.lha FileName

lha请到:http://www.infor.kanazawa-it.ac.jp/~ishii/lhaunix/下载!
>解压后请将lha拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):
[root@www2 tmp]# cp lha /usr/bin/
---------------------------------------------
.rpm
解包:rpm2cpio FileName.rpm | cpio -div
---------------------------------------------
.deb
解包:ar p FileName.deb data.tar.gz | tar zxf -
---------------------------------------------
.tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea
解压:sEx x FileName.*
压缩:sEx a FileName.* FileName

sEx只是调用相关程序,本身并无压缩、解压功能,请注意!
sEx请到: http://sourceforge.net/projects/sex下载!
解压后请将sEx拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):
[root@www2tmp]# cp sEx /usr/bin/

ubuntu 服务器的配置

http://wiki.ubuntu.org.cn/serverguide

 

Ftp 服务器的配置

vsftpd 安装:http://debian.linuxsir.org/doc/inthedebianway/vsftpd/
vsftpd.conf 中文说明:
http://etony.9966.org/doc/other/vsftpd-man-zh.html
http://blog.csdn.net/bat603/archive/2006/07/30/999800.aspx
vsftpd 详细配置:
http://blog.csdn.net/zcatlinux/archive/2004/11/02/164130.aspx
笔记:
启动:
停止:

Web 服务器的配置

apache 安装:
http://me.flashlm.com/html_data/article/art-164.shtml
http://blog.csdn.net/xuchenguang/
apache 2.2 中文参考手册:http://lamp.linux.gov.cn/Apache/ApacheMenu/sitemap.html
笔记:
启动:
停止:

apache2 配置文件为 /etc/apache2/apache2.conf , 而 /etc/apache2/httpd.conf 则是为了兼容而存在的。

MySQL 数据库的配置

MySQL 安装:参考压缩包中的 INSTALL-BINARY
MySQL 5.1中文参考手册:http://dev.mysql.com/doc/refman/5.1/zh/index.html
笔记:
启动:mysqld --user=mysql (以用户 mysql 启动)
停止:mysqladmin -p -u root -h localhost shutdown (需输入 root 密码)

更新 root 密码:Update user SET Password=PASSWORD('new_password') Where user='root';

不断学习和整理中 ^_^

GRUB 的 splash VGA

GRUB里的splash VGA参数的定义如下:

VGA Codes 参数一览表:                   
                        640x480    800x600    1024x768       1280x1024
256 colors         768             771               773                 775
32K colors         784             787               790                 793
64K colors         785             788                791                794
16M colors         786             789                792                795

 
1280x1024:0x31a
1024x768  :0x317
800x600    :0x314
640x480    :0x311

 常用的有 771 和 792