linux常用命令

来源:互联网 发布:家用洗牙器 知乎 编辑:程序博客网 时间:2024/06/10 11:35

VIM使用:
命令模式下:
yy复制一行,dd删除一行,x删除当前字符,p粘贴。
u撤销,ctrl+r重做。
$移动到行尾,0是移动到行首.
G跳到最后一行,1G跳到第一行.
o是换行。

v模式下:
上下方向键选中多行,然后shift+<或>来左移或右移。


解压缩:
$ tar zxvf log4cplus-1.0.4-rc10.tar.gz (-C 制定解压目录。如果是*.tar.bz2, 参数是jxvf, 如果是*.tar.xz,参数是xvf)
$ unzip -q xxx.zip (-d 制定解压目录)


查找文件的绝对路径:
$ which halt
$ type halt
$ whereis halt

find是搜素查找文件的:
find -name "*.h" #递归查找.

nb的群删:
 find . -name "*~" -exec rm '{}' \; 


建立软链接:
ln -s 源路径 目的
硬链接就是没有-s
$ ln -s /usr/bin/nautilus op
如果当前目录不是目标目录,请用绝对路径。


man命令查函数
man number name
eg:$ man 2 bind


查找与“libuuid”关键字关联的库: 
apt-cache search libuuid 
然后选择合适的,用sudo apt-get install xxx来安装库,如:

 sudo apt-get install uuid-dev


mount挂载windows盘符:
$ sudo mkdir /media/E
$ sudo mount /dev/sda6 /media/E
mount前可以用sudo gparted来查看盘符信息。
卸载:
$ sudo umount /media/E

ps:我linux常常不能自动挂载我的ntfs文件格式的U盘: 
$ sudo mount -t ntfs /dev/sdb1 /media/U


打开一个新终端,并且保持当前路径:
$ gnome-terminal
如果是mint13:
$ mate-terminal


查看筛选进程状态:
ps -o pid,ppid,tty,stat,args,wchan && ps -A -o pid,ppid,tty,stat,args,wchan | grep apn
后加管道指向 | wc -l 可以看数量 ~

查看网络筛选9000端口的状态:
netstat -apn | grep 9000
查看tcp 9000:
netstat -apn | grep ${port0} | awk '/^tcp/ {print NF,$NF}'

杀死用到某端口的全部进程:
fuser -s -k -9 -n tcp 9000

通过程序名(假设程序名是provider)来查看占用物理内存(方法1:利用ps格式化输出rss):
echo $(ps -A -o pid,args,rss | grep provider | grep -v 'grep' | head -1 | awk '{print $3}')KB
方法2(利用cat /proc/[pid]/status):
cat /proc/$(ps -A | grep provider | grep -v 'grep' | head -1 | awk '{print $1}')/status | grep VmRSS | awk '{print $2$3}'


多网卡时:

增加静态路由(重启网卡后静态路由会消失):
sudo route add -net 10.0.0.0 netmask 255.0.0.0 dev eth0  //设置访问10.***的包都从eth0口转发.
sudo route add -net 172.0.0.0 netmask 255.0.0.0 dev eth0
sudo route del -net 10.0.0.0 netmask 255.0.0.0
查看路由表.
route 或 route -n
设置默认网关:
sudo route add default gw 10.66.80.1 //设置10.66.80.1为默认网关. 
sudo route del default //删除默认网关


ssh:
$ ssh -p 12300 root@10.0.0.1
上传文件:
$ scp -P 12300 '/xxx/src.tar.gz' root@10.0.0.1:'~/dest/'