Linux命令笔记[一]

sudo apt-get install apache2
sudo apt-get install mysql-server
sudo apt-get install php5

cp /var/www/test /var/www/test2 -r
rm -r /var/www/test
-r为递归操作文件夹下面的所有文件

chmod 777 /var/www/luren
为文件夹赋权限

dpgk -l | grep apache2
dpgk -L apache2

ps ux | grep Zend
查看带有Zend的进程,找到其ID()
kill -9 2445
结束这个进程
pkill + 进程名字
如 pkill shutdown

查看当前有哪些进程
ps -AFL

中止一个进程
kill 进程号(就是ps -A中的第一列的数字)
或者 killall 进程名
强制中止一个进程
kill -9 进程号
或者 killall -9 进程名
图形方式中止一个程序
xkill 出现骷髅标志的鼠标,点击需要中止的程序即可

查看进程打开的文件
lsof -p 进程的pid

添加一个服务
sudo update-rc.d 服务名 defaults 99
删除一个服务
sudo update-rc.d 服务名 remove
临时重启一个服务
/etc/init.d/服务名 restart
临时关闭一个服务
/etc/init.d/服务名 stop
临时启动一个服务
/etc/init.d/服务名 start

增加用户
sudo adduser 用户名
删除用户
sudo deluser 用户名
修改当前用户的密码
passwd
修改用户密码
sudo passwd 用户名

根据字符串匹配来查看文件部分内容
grep 字符串 文件名
显示包含或者不包含字符串的文件名
grep -l -r 字符串 路径 #显示内容包含字符串的文件名
grep -L -r 字符串 路径 #显示内容不包含字符串的文件名
find . -path ‘./cache’ -prune -o -name “*.php” -exec grep -l
“date_cache[$format][‘lang’]” {} \; #显示当前目录下不包含cache目录的所有含有
“date_cache[$format][‘lang’]”字符串的php文件。

快速查找某个文件
whereis filename
find 目录 -name 文件名
locate 文件名 # 注意,为了得到更好的效果,运行前可以更新下数据库,运行 sudo
updatedb 即可,但这个命令每隔一段时间会自动运行,所以不用太在意

递归式创建一些嵌套目录
mkdir -pv /tmp/xxs/dsd/efd
递归式删除嵌套目录
rm -fr /tmp/xxs

列出当前目录下的所有文件
ls -a

移动路径下的文件并改名
mv 路径/文件 /新路径/新文件名

复制文件或者目录
cp -av 原文件或原目录 新文件或新目录

对比两个文件之间的差异
diff file1 file2

显示xxx文件倒数6行的内容
tail -6 xxx

查看文件中间的第五行到第10行的内容
sed -n ‘5,10p’ /var/log/apache2/access.log

通过ssh传输文件
scp -rp /path/filenameusername@remoteIP:/path#将本地文件拷贝到服务器上
scp -rpusername@remoteIP:/path/filename/path #将远程文件从服务器下载到本地
tar cvzf – /path/ | sshusername@remoteip”cd /some/path/; cat -> path.tar.gz”
#压缩传输
tar cvzf – /path/ | sshusername@remoteip”cd /some/path/; tar xvzf -” #压缩传
输一个目录并解压

删除特殊文件名的文件,如文件名:–help.txt
rm — –help.txt 或者 rm ./–help.txt

查看当前目录的子目录
ls -d */. 或 echo */.

删除当前目录里面所有的 .svn 目录
find . -name .svn -type d -exec rm -fr {} \;

删除当前目录所有以“~”结尾的临时文件
find . -name “*~” -exec rm {} \;

使用ssh方式同步远程数据到本地目录
rsync -Pa -I –size-only –delete –timeout=300 Remote_IP:/home/ubuntu/back
/backup

增加 7Z 压缩软件
#支持 7Z,ZIP,Zip64,CAB,RAR,ARJ,GZIP,BZIP2,TAR,CPIO,RPM,ISO,DEB 压缩文件格式
sudo apt-get install p7zip p7zip-full p7zip-rar
增加 rar 软件压缩和解压缩支持
sudo apt-get install rar unrar
解压缩 xxx.tar.gz
tar -zxvf xxx.tar.gz
解压缩 xxx.tar.bz2
tar -jxvf xxx.tar.bz2
压缩aaa bbb目录为xxx.tar.gz
tar -zcvf xxx.tar.gz aaa bbb
压缩aaa bbb目录为xxx.tar.bz2
tar -jcvf xxx.tar.bz2 aaa bbb

设置电脑的时区为上海
sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

控制台下滚屏
SHIFT + pageUp/pageDown

mysql的数据库存放路径
/var/lib/mysql

命令关机
sudo halt
sudo shutdown -h now #现在关机
sudo shutdown -h 23:00 #晚上11点自动关机
sudo shutdown -h +60 #60分钟后关机

命令重启电脑
sudo reboot
sudo shutdown -r now

把终端加到右键菜单
sudo apt-get install nautilus-open-terminal

sudo apt-get install mplayer

安装五笔:sudo apt-get install ibus-table-wubi

ctrl+alt+F1 进入命令行  ctrl+alt+F7 返回图形界面

二、想编辑桌面啊等很多东西可以使用命令gconf-editor,我曾用它做过两件事:
不在桌面上显示磁盘图标:依次选择apps->nautilus->desktop,以后就很简单了。

VIM中文乱码:

打开vim的配置文件,位置在/etc/vim/vimrc,或~/.vimrc
在其中加入
set fileencodings=utf-8,gb2312,gbk,gb18030
set termencoding=utf-8

set encoding=utf-8
set langmenu=zh_CN.UTF-8
language message zh_CN.UTF-8

保存退出,此时vim就能正确显示中文了。
对于gedit,解决方法如下:
在终端中运行 gconf-editor
在打开的界面中选择: apps->gedit-2->preferences->encodings
在右边的auto_detected和shown_in_menu上点右键编辑,点add,分别加入GB2312,并点UP按钮移动到第一位。关闭,就可以在gedit中显示中文了。

intel 945G 集成显卡死机:安装xserver-xorg-video-intel或xserver-xorg-video-i810,关闭桌面特效,修改grub配置文件在,/etc/default/grub,GRUB_CMDLINE_LINUX=”i915.modeset=1″。

smplayer有声音无图像解决
输出设备设为
视频 x11
音频pulse

安装DEB包命令:dpkg -i filename.deb

桌面不显示挂载的硬盘图标:

1. 应用程序->系统工具->配置编辑器(gconf-editor)
2. 找到 /apps/nautilus/desktop/volumes_visible 设置为 FALSE (单击即可)

查看当前内核:uname -a
查看系统存在的内核。
dpkg -l|grep linux
升级内核
apt-get dist-upgrade
删除内核
sudo apt-get remove 内核名
带有image的文件是需要删除的,一定要写全版本等字符。其他相关的文件会自动删除。

非常有用的清理命令:
sudo apt-get autoclean
sudo apt-get clean
sudo apt-get autoremove
这三个命令主要清理升级缓存以及无用包的。

新版的Chrome无法修改全部字体,
随着浏览器更新到10.0版,设置界面完全推倒重来,由对话框变成了页面。但是引入了一个大问题:修改默认字体的时候,对大多数网站不起作用了!我自己遇到此问题的时候,在论坛上搜索了一下,发现中招的人好多。初步观察结果,是仅对在meta标签里指定了charset=gbk的网页起作用,其他网页一律还是难看得要死的楷体。
在浏览器关闭的状态下,打开~/.config/google-chrome(如果是chromium的话目录名就是chromium)/Default/Preferences文件,翻到最后,看这一段
“webkit”: {
“webprefs”: {
“default_fixed_font_size”: 16,
“default_font_size”: 16,
“fixed_font_family”: “Sans”,
“minimum_font_size”: 12,
“sansserif_font_family”: “Sans”,
“serif_font_family”: “Sans”,
“uses_universal_detector”: true
}
}
红色的就是指示浏览器默认字体的部分。老版本的chrome/chromium里,你在界面里选好字体后,这四行会自动生成,但是在10.0里,浏览器无法自动设置sansserif_font_family字体,需要手动添加这一行。如果你的配置文件中缺少了其他行的话,也给他加上,保存并重启浏览器,这个该死的字体就变过来了。

ubuntu下rar打开win下的rar文件,乱码,直接把rar卸载掉就可以了。sudo apt-get autoremove rar

IBUS 用左边的ALT+SHIFT切换输入法。

SMplayer 按空格暂停后,继续按空格播放时,会卡住,解决方法:音频设置选pulse

top命令用于显示当前系统CPU利用率信息。

安装GOOGLE Chrome浏览器:sudo apt-get install google-chrom-stable

关于终端的快捷键:
Tab:tab键是比较常用的一个快捷键,它的作用是补全文件名或者路径。举例来说,输入”cd /ho”在按一下tab键,终端里就会显示”cd /home”了。如果您的文件夹下,有两个名字开头部分相同的文件,比如有”picture001.bmp”和”picture002.bmp”两个文件,输入”rm pic”以后按下tab键,就会补全成”rm picture”,您可以接着输入剩下的名字。使用tab键补全还支持对于扩展名的识别,比如您的文件夹下有”TH2AD_CHS.exe文件和 TH2AD_CHS.ini文件,当您输入”wine TH”再按下tab后,会补全成”wine TH2AD_CHS.exe”而不会补全.ini文件,因为wine和.exe文件是关联的。
Ctrl+C:这个键可不是用来复制的,在中端下,按下Ctrl+C就代表结速当前终端执行的程序,按下的时候一定要慎重。
Ctrl+A:将光标移动到命令行的开始处。
Ctrl+E:将光标移动到命行令的结尾处。
Ctrl+U:删除行首到光标出的字符。
Ctrl+Z:把当前进程送到后台处理。
Ctrl+Alt+F1:切换到第一个文本终端。在Linux下你可以有多达六个不同的终端。
Ctrl+Alt+F7:切换到第一个图形用户界面(一般来说X-window在第七个终端)。
~:~好像不能算一个快捷键吧?~的作用是代替您的主文件夹,比如您的用户名是user,那么 “/home/user/桌面” 和 “~/桌面” 是等价的。

Gnome下的快捷键:
Alt + F1:类似Windows下的Win键,在GNOME中打开”应用程序”菜单(Applications)
(在KDE下同样适用。)
Alt + F2:类似Windows下的Win + R组合键,在GNOME中运行应用程序
Ctrl + Alt + D:类似Windows下的Win + D组合键,显示桌面。
Ctrl + Alt + L:锁定桌面并启动屏幕保护程序,取消锁定时需要输入密码。
(在KDE下有效。)
Alt + Tab:同Windows下的Alt + Tab组合键,在不同程序窗口间切换。
PrintScreen:全屏抓图,由于这个功能的反应有点慢,请不要反复按这个键,否则可能会死机。
Alt + PrintScreen:当前窗口抓图,弹出抓图对话框。
(在KDE下会将图片报存到剪贴板中。)
Ctrl + Alt + → / ←:在不同工作台间切换。
(在KDE下使用 Ctrl+Tab 键完成这个功能。)
Ctrl + Alt + Shift + → / ←:移动当前窗口到不同工作台
Ctrl+Alt+Shift+Fn:终端N或模拟终端N(n和N为数字1-6)
Ctrl+Alt+F7:返回桌面,如果您用 Ctrl+Alt+F1
Alt + F4:关闭窗口
Alt + F5:取消最大化窗口 (恢复窗口原来的大小)
Alt + F7:移动窗口 (注: 在窗口最大化的状态下无效)
Alt + F8:改变窗口大小 (注: 在窗口最大化的状态下无效)
Alt + F9:最小化窗口
Alt + F10:最大化窗口

Ubuntu中不使用UTC时间,而启用本地时间,解决windows和Ubuntu时间的不一致,需要修改 /etc/default/rcS ,修改动作如下:
# 注释掉原来的设定:UTC=yes
# 变更为下面的内容…
UTC=no

安装 Apache2:
sudo apt-get install apache2

apache 目录文件在 :/etc/apache2/sites-enabled/000-default
安装PHP模块:
sudo apt-get install php5
安装Mysql

sudo apt-get install mysql-server

注意MYSQL命令在终端中要以;号结束。

其他模块安装:
sudo apt-get install libapache2-mod-php5
sudo apt-get install libapache2-mod-auth-mysql
sudo apt-get install php5-mysql
sudo apt-get install php5-gd

XDebug:

cd xdebug-2.0.0

phpize
./configure–enable-xdebug
make

cp modules/xdebug.so    /usr/lib/php5/20051025/

/etc/php5/apache2/php.ini 中加入:zend_extension=”/usr/lib/php5/20051025/xdebug.so”

lshw -C display 显示显卡的一些信息。
zend studio 8 注册码(适用于7.0以上所有版本)
Username: zendstudio.net
Serial Number: 3727234F6095F72034F6095F
按“Alt+F2”组合键,会弹出一个名为“运行应用程序”的窗口,输入“gconf-editor”,然后按回车键,弹出一个配置编辑器的窗口,类似于windows的注册表编辑器。依次展开“/apps/nautilus/icon_view”,在“icon_view”的右边配置里面找到“default_zoom_level”,然后双击打开他,默认的值是“standard”,(此处可以根据自己的要求改:Small 是小图标;standard是标准图标;large是大图标)
快速使用http方式共享目录
#进入需要共享的目录后运行:
python -m SimpleHTTPServer
#其它电脑使用http://ip:8000 来访问
#自定义端口为8080:
python -m SimpleHTTPServer 8080
查看当前所在目录的绝对路经:pwd
显示隐藏文件
Ctrl+h
延迟抓图
gnome-screenshot -d 10 #延迟 10 秒抓图
gnome-screenshot -w -d 5 #延迟 5 秒抓当前激活窗口
回收站在哪里:$HOME/.local/share/Trash/
查看1.txt内容:cat 1.txt ,查看1.txt有多少行:cat 1.txt | wc -l 或 wc -l 1.txt
问题描述:
我有一个1千万行的querylog,每一个都有keyword,现在我想随机查找某个query是否存在。
用find命令来做。
解决方法:
find query.log | xargs grep “感冒” // 在query.log文件中查找“感冒”
find  -name “*.php” -o -name “*.htm” -size +10240c  查找当前目录下面所有php或htm文件中大于10K的文件
iconv -f gbk -t utf8 2.txt > 3.txt  将文件2.txt的编码由GBK转为UTF8