Linux/Unix/Windows

学习shell编程 – 5. sed和awk

#sed #在names.txt中找到所有包含 "chen"的行,并打印出来. 选项"-n"的意思是不打印没有匹配的行 $ sed -n ‘/chen/p’ names.txt #读取names.txt中的所有行,去掉其中包含’chen’的行,再保存在新文件中 $ sed ‘/chen/d’ names.txt > names-no-chen.txt #若不指定正则表达式,则对每一行都执行操作 $ sed -n -e ‘p’ names.txt #将打印每一行 #可以在管道中使用sed $ less names.txt|sed ‘/chen/d’ ################################################ #awk #打印花名册中的第1列和第3列 $ awk ‘{print $1, $3 ; }’ names.txt #打印花名册中含有“female"的行 $ awk ‘/female/{print ; }’ names.txt #男的干活,女的看电视 $ awk ‘$2 ~ /male/ {print $1 …

学习shell编程 – 5. sed和awk Read More »

linux PATH 中的几个目录

Linux的PATH一般会包含的目录:    1. /bin: 包含用于启动系统的程序    2. /usr/bin: 给用户用的标准程序, 如gcc, vim等    3. /usr/local/bin: 给用户用的,installation-specific程序    4. /sbin & usr/sbin,root用户专用    5. /opt: OS可选组件和第三方程序   给所有用户用的第三方程序最好放在/usr/local下或/opt下。考虑OS升级前备份文件的场景     1. 如果第三方程序在/bin或/usr/bin下,就会跟OS相关程序混在一起;备份第三方程序时就要先把它们从/bin或/usr/bin中拣出来     2. 如果放/usr/local下,备分第三方程序时直接备份/usr/local即可       给单个用户的第三方程序,直接放到用户目录下即可

一些shell技巧

a. 显示隐藏文件ls -a b. 不显示目录“temp”里面的文件,只显示temp目录文身: ls -d temp c. cp的注意事项    i. cp hello.txt dir1 #意为把hello.txt复制到dir1/下    ii.cp hello.txt hello2.txt #意思是把hello.txt复制一份取命名为hello2.txt    iii. cp -r dir1 dir2           #如果dir2存在,将把dir1复制到dir2/下,产生dir2/dir1目录           #如果dir2不存,将把dir1复制成dir2 d. "chmod +x hello.sh"这一类命令的完整格式是      chmod (who)(action)(permissions) hello.sh    比如,      chmod  a+x hello.sh #指为所有人增加执行权限      chmod  o-w hello.sh #取消其它组成员的写权限      chmod  g=x hello.sh …

一些shell技巧 Read More »

学习shell编程 – 2.变量,数组和quoting

# !/bin/bash AGE=50 #定义变量,赋值的前后一定不要有空格 AGE=5 #重新赋值 echo $AGE #访问变量 unset AGE #删除变量定义 student[0]=jack #定义数组 student[1]=john echo ${student[0]} #访问数组的第0个元素 echo ${student[*]} #打印数组中所有元素 teacher=(gates jobs) #另一种定义数组的方法 echo ${teacher[*]} #字符的quoting,像html escaping一样,使特殊字符失去特有的意义 echo Hello \; world #使分号失去连接两个命名的作用,本行将输出"Hello ; world" echo ‘Input your <name> and pay $5’ #使单引号里括起来的字符串里的所有特殊字符都失去特殊意义 price=5; echo "Input your <name> and pay $price dollars" #双引号也可实现quoting,但会保留$等符号的特殊意义

linux加载windows ntfs分区时设置目录的拥有者

映射ntfs分区 /dev/sda5  到 /home/kent/diskD后,如果没做什么设置, /home/kent/diskD的owner就是root 如果你希望/home/kent/diskD的owner是kent, 并且文件夹的权限是777,那就得这样:   1. 查得kent这个用户的uid和gid。可以kent登录,输入 $id   2. 在mount时设置参数uid=1000,gid=1000,umask=0 0 0 (注意,顺序不能搞错) 比如, #vi /etc/fstab /dev/sda5      /home/kent/diskD  ntfs  defaults,iocharset=utf8,uid=1000,gid=1000,umask=0 0 0  

用VNC和Freenx连ubuntu的详细情况

配置:Server在ubuntu, Client在windows. VNC 1.若Ubuntu用户已登录,从windows连接可以成功 2.若Ubuntu用户登录后锁屏,从windows连接可以成功 3.若Ubuntu用户登录后选择“休眠”、“挂起”或“注销”,从windows无法连接 4.Ubuntu用户登录后并且操作人从windows连接成功后,若Ubuntu切换用户,原有的windows连接将断开,试图重连也会失败;但可以使用另一个VNC地址(同一IP:1)来连,连好后看到的将是Ubuntu当前用户的界面 上述现象只所以发生,是因为 VNC只是把当前Ubuntu中当前登录用户能看到的东西共享给windows而已 FreeNX 只要Ubuntu开机了,从windows用FreeNX连Ubuntu就能成功,不管当时的Ubuntu有没有人登录,也不管当时有谁登录了; 从windows登录后,用户会感觉自己开机打开了Ubuntu,不会看到已打开的程序,即使相同的登录名已经登录了 这是 因为FreeNX完全基于SSH,每次登录都相当于开了一个新会话 不过,用FreeNX明显慢于VNC(如果你用的软件是UltraVNC的话) 适用场景:    1.Ubuntu不休眠、注销,那用VNC就够了    2.如果远程的Ubuntu被人休眠、注销、重启了,那就再用FreeNX连上去

个人必装软件和必须做的设置

同时使用Ubuntu和Windows: 1.Ubuntu下的五笔字型, Windows下的极点五笔 2.Firefox的插件:   a.Autoproxy   b.Firebug   c.HttpFox   d.Remove Cookies 4.Windows下的7zip 5.Windows下的staruml 6.Ubuntu下的gSTM + Firefox Autoproxy 插件 6.1 设置你的vps的SSH超时时间:     vi /etc/ssh/sshd_config   ClientAliveInterval 60   ClientAliveCountMax 1440 7.Ubuntu下的jdk下载安装及环境变量配置 8.Ubuntu下的chrome 9.Ubuntu下的defuse或meld 10. Ubuntu下的fqterm 11.用VNC让Ubuntu和Windows互联   a.Ubuntu设置好“允许远程登录”,再安装RDSC用作VNC Client   b.Windows下安装UltraVNC,包括Client和Server   c.windows下安装Insomnia,让windows无法休眠,也就让windows上的vnc server无法休眠 12.用FreeNX从Windows连Ubuntu   a.Ubuntu安装FreeNX服务端,可参照Ubuntu官网上的教程   b.Windows安装FreeNX客户端,连接时打开所有能够提高性能的选项,并将连接所需的缓存设高一点 13.Ubuntu下的gnome-connection-manager, 相当于windows下的secureCRT。注意可以用ctrl + shift +c …

个人必装软件和必须做的设置 Read More »

Ubuntu下强行杀死多个java进程中的一个

有时候你必须用kill -9强行杀死一个java进程,但由于你机上启了多个java程序,你不知道你要杀的进程号是哪个。办法是: ps a|grep java (后面还可以再接|grep xxx, xxx为你这个java_opts的一些关键字) 通过这个命令找到PID,然后再kill -9 之