预览模式: 普通 | 列表

shell 中特殊变量

  在 shell 脚本中,有一些特殊的变量十分有用:
$# :传递到脚本的参数个数
$* :以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过9个
$$ :脚本运行的当前进程ID号
$! :后台运行的最后一个进程的进程ID号
$@ :与$#相同,但是使用时加引号,并在引号中返回每个参数
$- :显示shell使用的当前选项,与set命令功能相同
$? :显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。
 

Tags: shell bash

分类:Ubuntu | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 22

远程会话中 screen 的使用

    有时候  ssh 时需要长时间执行命令,天寒地冻的,总不能守着吧。而且在服务器上执行,还要本地看着,不太环保,有人说本地关了 ssh 服务器上的命令就会中断,怎么办? 这时候 screen 的价值就体现出来了。

参数:
-d 断开当前会话。
-dmS name 开始一个指定名称后台运行的会话。
-D [pid.tty.host] 断开指定的会话。(只要 pid 或 name 就可以)
-ls 列出现有的会话。(只显示当前用户的会话)
-r [pid.tty.host] 重新连接会话。(只要 pid 或 name 就可以)
-v 显示版本号。
-wipe 清除死掉的会话。

在 screen 中的操作
默认使用 ctrl+a 激活 screen 控制。man screen 中 C-a 表示,这里列出一些常用的,很多操作都有不同的按键方法,自己 man screen 。
C-a ' 选择要切换的窗口
C-a " 显示全部窗口以便选择
C-a 0-9 切换到窗口0-9
C-a C-a 切换到之前显示的窗口
C-a c 创建一个新 shell 窗口并切换到该窗口
C-a C 相当于 clear
C-a d 断开
C-a D D 断开并注销
C-a k 关掉当前窗口,包括 C-a c 创建的
C-a w 在底部显示所有窗口列表
C-a space 或 C-a n 切换到下一个窗口
C-a backspace 或 C-a p 切换到上一个窗口
C-a ? 显示所以键绑定信息
C-a : 进入命令行模式
C-a [ 进入 复制/回滚 模式(和vi一样用hjkl移动光标,空格选中开始点,再次按空格选择结束点,进行复制)
C-a ] 粘帖
C-a C-\ 干掉所有窗口和终端(干掉后还是显示attached,但是screen -r [pid.tty.host] 会提示不可以恢复,需要screen -d 后才能再连接。)

还要一个多用户模式,可以用来做演示:
user1:
screen -S window1
ctrl+a
:multiuser on
:acladd user2
:aclchg user2 -w "#"
ctrl+a d
 
user2:
screen -r user1/window1
 
这样user1在终端上操作的步骤,user2就能看到了,而且user2去掉了"写"权限,只能看user1操作。

其中 "#"  表示全部窗口,如果要设置全部用户,就用 * 代替用户名。

Tags: screen

分类:Ubuntu | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 30

4个DNS

Google Public DNS :

8.8.8.8
8.8.4.4

OpenDNS :

208.67.220.220
208.67.222.222

查看更多...

Tags: dns google

分类:网络相关 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 49

关于 mysql 的自动递增值

Create TABLE test
(
id INT UNSIGNED NOT NULL PrimaRY KEY AUTO_INCREMENT,
username VARCHAR(15) NOT NULL
)

AUTO_INCREMENT = 100;

在数据库应用,我们经常要用到唯一编号,以标识记录。在MySQL中可通过数据列的AUTO_INCREMENT属性来自动生成。MySQL支持多种数据表,每种数据表的自增属性都有差异,这里将介绍各种数据表里的数据列自增属性。


ISAM表

查看更多...

Tags: mysql

分类:数据库集 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 41

在 ubuntu 中查看 mdb 文件

    由于要查看 mdb 文件(ms 中的 access),但是 open office 不支持,不想重启 ubuntu ,上网查了一下,发现还是有办法解决的:

安装:
sudo apt-get install libmdbtools mdbtools mdbtools-gmdb

装好后在 应用程序-办公 中能看到 MDB Viwer 菜单,就算 mdb 有密码也可以查看,嘿嘿。

Tags: mdb

分类:Ubuntu | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 57

系统运行时间和启动时间

系统运行时间

以下代码只有一行

cat /proc/uptime| awk -F. '{run_days=$1 / 86400;run_hour=($1 % 86400)/3600;run_minute=($1 % 3600)/60;run_second=$1 % 60;printf("系统已运行:%d天%d时%d分%d 秒",run_days,run_hour,run_minute,run_second)}'

系统启动时间

查看更多...

Tags: uptime date

分类:Ubuntu | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 71

解决文档查看器看 pdf 乱码

  在 ubuntu 9.10 中用文档查看器 envince 看pdf ,中文会乱码或者没法显示,可以通过安装 poppler-data 来解决,在 multiverse 仓库里面有。

Tags: pdf envince

分类:Ubuntu | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 103

为 apt-get 设置 HTTP 代理

方法一

这是一种临时的手段,如果您仅仅是暂时需要通过http代理使用apt-get,您可以使用这种方式。

在使用apt-get之前,在终端中输入以下命令(根据您的实际情况替换yourproxyaddress和proxyport)。

    export http_proxy=http://yourproxyaddress:proxyport

方法二

这种方法要用到/etc/apt/文件夹下的apt.conf文件。如果您希望apt-get(而不是其他应用程序)一直使用http代理,您可以使用这种方式。

注意: 某些情况下,系统安装过程中没有建立apt配置文件。下面的操作将视情况修改现有的配置文件或者新建配置文件。

    sudo gedit /etc/apt/apt.conf

在您的apt.conf文件中加入下面这行(根据你的实际情况替换yourproxyaddress和proxyport)。

    Acquire::http::proxy "http://yourproxyaddress:proxyport";

保存apt.conf文件。

方法三

这种方法会在您的主目录下的.bashrc文件中添加两行。如果您希望apt-get和其他应用程序如wget等都使用http代理,您可以使用这种方式。

gedit~/.bashrc

在您的.bashrc文件末尾添加如下内容(根据你的实际情况替换yourproxyaddress和proxyport)。

    http_proxy=http://yourproxyaddress:proxyport
    export http_proxy

保存文件,关闭当前终端。

使用apt-get update或者任何您想用的网络工具测试代理。可以使用netstat -n|head 或安装 firestarter 查看活动的网络连接。

如果您为了纠正错误而再次修改了配置文件,记得关闭终端并重新打开,否自新的设置不会生效。

Tags: APT 代理

分类:Ubuntu | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 127