链接 |
---|
安装Ubuntu后必须要做的几件事(一)–基础应用篇 |
安装Ubuntu后必须要做的几件事(二)–开发工具篇 |
终端的乐趣–Linux下有趣的终端命令或者工具 |
Ubuntu使用apt-file解决库或者文件缺失依赖 |
Ubuntu切换默认sh为bash或者dash |
Linux下几款C++程序中的内存泄露检查工具 |
解决ubuntu无法调整和保存屏幕亮度的问题 |
Ubuntu安装Microsoft Windows Fonts微软字体库 |
解决Windows与Ubuntu双系统时间同步问题 |
Ubuntu安装图片处理工具GIMP及其插件 |
21款最佳Linux命令行终端工具 |
两台Linux系统之间传输文件的几种方法 |
使用gdb调试程序完全教程 |
linux下man手册的安装和使用 |
Linux下查看并下载命令源码包(根据命令/应用程序逆向获取并且安装其所属源码包) |
如何参与linux内核开发 |
linux 如何显示一个文件的某几行(中间几行) |
Git中的AutoCRLF与SafeCRLF换行符问题 |
linux环境中英文切换配置以及乱码问题 |
linux下使用ccat让你的cat高亮显示 |
怎么判断你的linux系统是不是运行在虚拟机器上面 |
Linux下管理用户的命令大全 |
Linux软连接和硬链接 |
Linux性能测试工具-UnixBench–安装以及结果分析 |
CodeBlocks最全官方配色方案 |
C/C++log日志库比较 |
Centos5.x/Linux下升级python到python2.7版本教程 |
几款xshell绝佳配色方案 |
VS2012插件推荐 |
linux下的终端利器—-tmux |
Ubuntu下Sublime Text 3解决无法输入中文的方法 |
使用trash-cli避免误删文件–为rm增加回收站功能 |
Ubuntu安装Python的包管理工具Pip |
Ubuntu安装配置串口通讯工具minicom&&cutecom |
Ubuntu编译安装llvm-clang |
搜索引擎收录大全 |
Ubuntu安装深度音乐&&深度影音 |
Vimium-Geek是这样上网的[Chrome–插件] |
几款好的markdown编辑器 |
Windows&&Linux双系统引导项修复问题汇总 |
安装CentOS时误将将引导项写入U盘后的修复 |
Linux操作系统中,.zip、.tar、.tar.gz、.tar.bz2、.tar.xz、.jar、*.7z等格式的压缩与解压 |
Chrome浏览器护眼插件 |
Google搜索技巧终极收集 |
世界上最神奇的网站收录–不是最无聊就是最有意思 |
Python模块之命令行解析工具-argparse |
GNOME下设置应用程序图标 |
git 删除右键菜单项 |
个性化您的Ubuntu Linux终端 |
Python判断当前操作系统类型以及os/sys/platform模块简介 |
Python实现设置终端显示颜色、粗体、下划线等效果 |
Python程序在Windows终端乱码解决方法 |
发现的更强大的vim配置信息 |
Ubuntu禁止mysql开机启动 |
Ubuntu下使用sysv-rc-conf管理服务 |
使用Vundle管理Vim插件 |
Vim的安装与配置 |
push到github时,每次都要输入用户名和密码的问题 |
Ubuntu安装配置mysql |
盘点Linux下的开源云平台&&云存储服务 |
Ubuntu下安装GTK库 |
Linux下查看系统信息命令 |
Linux下查看系统信息命令 |
Ubuntu更新软件源 |
linux命令行界面(CLI)浏览器 |
Linux下使用unzip解压缩中文乱码问题 |
Linux下的下载工具介绍—-aria2 |
vim 树形目录插件NERDTree安装 |
urllib2模块之异常处理 |
Python第三方库 |
Sublime text 3设置用用空格替换tab键 |
几款好的C/C++编译器(编译器而非IDE) |
Sublime Text 3配置Windows下C/C++编译环境 |
Sublime Text[崇高文本]—-最性感的编辑器(程序员必备) |
WingIDE安装和破解(Python开发利器) |
Linux设置nfs共享目录 |
让你的python程序开机自启动 |
讲开发没有编译器,那么一切都是浮云。
Ubuntu默认是不安装g++的
sudo apt-get install build-essential
下面这些看自己爱好:
安装词法和语法分析器
sudo apt-get install flex
sudo apt-get install bison
当然您也可以选择emacs,关于他们哪个好我已经不想再说了,他们的圣战如同编译器的圣战一样,年代久远且永无止境。
曾经无数的“高手”对我说,世界上只有三种程序员,一种是用vim,一种是用emacs,另一种就是用其它编辑器的
1.用root账户登录Ubuntu,命令行中输入vim,如果未安装会得到下面的提示:
程序“vim”已包含在下列软件包中:
* vim
* vim-gnome
* vim-tiny
* vim-gtk
* vim-nox
请尝试:apt-get install <选定的软件包>
按照提示输入安装
apt-get install vim
更加详细的安装和配置请参见
Vim的安装与配置
sudo add-apt-repository ppa:webupd8team/sublime-text-3
sudo apt-get update
sudo apt-get install sublime-text
更加详细的信息请参见
Sublime Text[崇高文本]—-最性感的编辑器(程序员必备)
Sublime Text 3配置Windows下C/C++编译环境
Sublime text 3设置用用空格替换tab键
Ubuntu下Sublime Text 3解决无法输入中文的方法
在开发编辑器相争的领域,我们看到了不少的更新换代。最后一次使Web开发界轰动的编辑器,非Sublime Text莫属了,特别是在Package Control出现之后,更为其增添了不少光彩,它提供了完美的包管理功能,使用户能够方便的安装管理各种插件。
如今,Github开始坐不住了,它发布了一款新的编辑器的Beta版,名字叫做Atom,誓要刮起Web开发界的一场新风暴。我有幸拿到了Beta版本的程序,接下来我要为你们展示这个编辑器究竟提供了什么样的功能。还有一件事需要提醒的是,此编辑器的文档甚是匮乏,所以有些功能需要一探究竟才能知道它使干什么用的
sudo add-apt-repository ppa:webupd8team/atom
sudo apt-get update
sudo apt-get install atom
注意:如果遇到 Node.js 相关错误,请先添加这个 Node.js PPA。
如果要从 Ubuntu 中删除 Atom 文本编辑器,可以使用如下命令:
sudo apt-get remove atom
linux安装7z命令
linux上安装7z命令有两种方式:在线安装和安装包安装,下面分别介绍。
如果你的宿主机Linux可以连接外网,推荐用这种方式,方便简单,执行命令:
sudo apt-get install p7zip
即可在线安装7z命令。
7z(准确点说是7-Zip)提供了线下的程序安装包,也可自己编译安装。这里讲的是用7z提供的bin包来安装。
宿主机linux一般是X86的,而7z提供编译好了的bin包,可以很方便的安装。步骤如下:
1 去网站
http://sourceforge.net/projects/p7zip/files/
http://sourceforge.net/projects/p7zip/files/p7zip/
上下载p7zip的包,当前最新版本是9.38.1;
2) 找到对应版本号进去,页面会提供两个供你下载,一个是bin包,另一个是源码包,这里下的是bin包,以9.38.1为例,下载的包名称是:p7zip_9.38.1_src_all.tar.bz2;
3) 在Linux上执行下面命令(解压和安装):
tar xjvf p7zip_9.38.1_src_all.tar.bz2
cd p7zip_9.38.1
sh install.sh
注意上面的命令权限,需要root权限,因此最好在tar和sh命令前加上sudo。
到此,就安装完成了。
注意:7za不仅仅支持.7z压缩格式,还支持.tar.bz2等压缩类型的。如上所述,用-t指定即可。
官方网址:http://www.rarlab.com/
下载对应的源码包
也可以直接用wget获取
wget http://www.rarlab.com/rar/rarlinux-5.2.1.tar.gz
编译安装
tar -zxvf rarlinux-5.2.1.tar.gz
cd rarlinux
make
make install
但由于直接使用 sudo apt-get install git 安装的版本较老,因此我们给出PPA源
sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git
安装完成后,检查是否安装成功
git --version
wget https://github.com/git/git/archive/v2.3.0.zip
unzip v2.3.0.zip
cd git-2.3.0
编译安装
将其安装在“/usr/local/git”目录下。
make prefix=/usr/local/git all
sudo make prefix=/usr/local/git install
此时你如果使用git –version 查看git版本的话,发现git仍然是1.7.1版本。这是因为它默认使用了”/usr/bin”下的git。
你可以用下面的命令查看git所在的路径:
whereis git
git: /usr/bin/git /usr/local/git /usr/share/man/man1/git.1.gz
我们要把编译安装的git路径放到环境变量里,让它替换”/usr/bin”下的git。为此我们可以修改“/etc/profile”文件(或者/etc/bashrc文件)。
sudo vim /etc/profile
然后在文件的最后一行,添加下面的内容,然后保存退出。
export PATH=/usr/local/git/bin:$PATH
使用source命令应用修改。
source /etc/profile
然后再次使用git –version 查看git版本,发现输出2.3.0,表明安装成功。
设置用户名和email。
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
此时,Home目录下会新建一个.gitconfig文件
以公钥认证方式访问SSH协议的Git服务器时无需输入口令,而且更安全。(访问HTTP协议的Git服务器时,比如提交修改,每次都需要输入口令。)
创建SSH key
ssh-keygen -t rsa -C "[email protected]"
系统会提示key的保存位置(一般是~/.ssh目录)和指定口令,保持默认,连续三次回车即可。
(2)Copy SSH Key
然后用vim打开该文件,id_rsa.pub文件内的内容,粘帖到github帐号管理的添加SSH key界面中。
vim ~/.ssh/id_rsa.pub
(3)添加到GitHub
登录github-> Accounting settings图标-> SSH key-> Add SSH key-> 填写SSH key的名称(可以起一个自己容易区分的),然后将拷贝的~/.ssh/id_rsa.pub文件内容粘帖-> add key”按钮添加。
(4)测试
ssh -T git@github.com
git clone https://github.com/zhchnchn/ZhchnchnTest.git
修改一个文件,然后提交
vim README.md
git status
git add README.md
git status
git commit -m "Edit by WorkUbuntu 1204"
git status
git remote add origin https://github.com/zhchnchn/ZhchnchnTest.git
fatal: remote origin already exists.
解决办法【3】:
$ git remote rm origin
然后再次执行 git remote add origin https://github.com/zhchnchn/ZhchnchnTest.git
(3)之后,需要将修改push到GitHub上
git push -u origin master
执行该条命令后,会要求输入GitHub账户的用户名和密码。
提交完成后,查看GitHub上的Repository,会发现内容修改成功。
服务器端安装 :
sudo apt-get install nfs-common nfs-kernel-server portmap
在客户端则需要安装:
sudo apt-get install nfs-common portmap
启动服务
sudo /etc/init.d/nfs-kernel-server start
停止服务
sudo /etc/init.d/nfs-kernel-server stop
重启服务
sudo /etc/init.d/nfs-kernel-server restart
配置/etc/exports文件
sudo vim /etc/exports
书写规则是:(每个共享规则一行)
共享目录 主机 ( 参数 )
例如:
/home/fzu/dd 219.229.128.44(ro,sync, no_root_squash)
注:nfs允许挂载的目录及权限在文件/etc/exports中进行了定义。其中:/rootnfs是要共享的目录,*代表允许所有的网络段访问,rw是可读写权限,sync是资料同步写入内存和硬盘,no_root_squash是nfs客户端分享目录使用者的权限,如果客户端使用的是root用户,那么对于该共享目录而言,该客户端就具有root权限。
nfs常用的参数有:
参数 | 意义 |
---|---|
ro | 只读访问 |
rw | 读写访问sync 所有数据在请求时写入共享 |
async | nfs在写入数据前可以响应请求 |
secure | nfs通过1024以下的安全TCP/IP端口发送 |
insecure | nfs通过1024以上的端口发送 |
wdelay | 如果多个用户要写入nfs目录,则归组写入(默认) |
no_wdelay | 如果多个用户要写入nfs目录,则立即写入,当使用async时,无需此设置。 |
hide | 在nfs共享目录中不共享其子目录 |
no_hide | 共享nfs目录的子目录录 |
subtree_check | 如果共享/usr/bin之类的子目录时,强制nfs检查父目录的权限(默认) |
no_subtree_check | 和上面相对,不检查父目录权限 |
all_squash | 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。 |
no_all_squash | 保留共享文件的UID和GID(默认) |
root_squash root | 用户的所有请求映射成如anonymous用户一样的权限(默认)) |
no_root_squas root | 保留共享文件的UID和GID(默认) |
anonuid=xxx | 指定nfs服务器/etc/passwd文件中匿名用户的UID |
anongid=xxx | 指定nfs服务器/etc/passwd文件中匿名用户的GID |
显示出共享出来的目录
showmount -e
将nfs的rootnfs目录挂载到本地磁盘上。
sudo mount -t nfs localhost:/rootnfs /mnt
查看挂载情况
df
卸载挂载
sudo umount /mnt
安装ssh服务器:
sudo apt-get install openssh-server
查看ssh服务是否在后台开启,出现了sshd字样表示ssh后台服务默认已开启
ps -e | grep ssh
10588 ? 00:00:00 sshd
你的服务器也可以是Mac或者Windows,只需要安装ssh服务器,并开启ssh后台服务即可
secure shell client:免费开源,但中文显示乱码,无法传输中文乱码名的文件,不能记住密码
putty : 占用内存最小,每次登陆时需要重新连接,可通过设置编码为UTF-8不会显示中文乱码
Xshell和Xftp: 商用软件,但有免费版,可以保存设置的登陆会话,能记住密码,传输文件和显示中文时都可以通过设置编码为UFT-8而不会产生乱码,效果最佳。
推荐使用XShell+Xftp软件,创建新会话,填写完ip地址、用户名和密码就可登陆你的Ubuntu服务器
安装x11vnc:
sudo apt-get install x11vnc
设置vnc连接密码,根据提示输入密码并保存:
命令: x11vnc -storepasswd
执行信息:
Enter VNC password:
Verify password:
Write password to /home/charles/.vnc/passwd? [y]/n y
Password written to: /home/charles/.vnc/passwd
启动vncserver:
后台自动启动
sudo cp ~/.vnc/passwd /etc/x11vnc.pass
创建/etc/init/x11vnc.conf文件,内容如下:
start on login-session-start
script
x11vnc -display :0 -auth /var/run/lightdm/root/:0 -forever -bg -o /var/log/x11vnc.log -rfbauth /etc/x11vnc.pass -rfbport 5900
end script
单次手动启动:
x11vnc -forever -shared -rfbauth ~/.vnc/passwd
重启ubuntu系统,再在Windows上用vnc viewer登陆
输入VNC Server名字-IP地址:端口号,后再输入设置vnc的连接密码
x11vnc常用命令(待补充)
x11vnc -kill :1 杀掉1号端口的vnc server进程
首先安装openbsd-inetd:
sudo apt-get install openbsd-inetd
然后检查文件/etc/inetd.conf,确保有这一行
telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.telnetd
然后启动:
sudo /etc/init.d/openbsd-inetd restart
就可以了
查看telnet服务是否启动:
netstart -a | grep telnet
如果已经启动,可以得到如下信息:
tcp 0 0 *:telnet *:* LISTEN
可以通过登录本机,测试telnet服务是否可用:
telnet localhost
如果可用,得到下面的提示:
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Ubuntu 10.04.1 LTS
eric-ztxie-desktop login:
安装
sudo apt-get install ckermit
2、用户要目录下配置 .kermrc
内容如下:
set line /dev/ttyUSB0
set speed 115200
set carrier-watch off
set handshake none
set flow-control none
说明:若用串口第一行为set line /dev/ttyS0 若用了USB转串口线,用当前配置就好。
3、测试
连接串口:kermit -c
Ctrl+/+c进入ckermit命令模式,可以随时更改传输协议 退出:ctrl+/+c 再按q
打开终端,然后并输入以下命令,那么从服务器上面下载并安装Apache2
sudo apt-get install apache2
这个是网站编码配置,里面内容很少,打开看就知道了,我这里将最后行的
#AddDefaultCharset UTF-8
前面的#去掉,使用UTF-8编码,当然也可以把 UTF-8改成别的编码。
增加以下内容:
ServerName 127.0.0.1:80
/etc/apache2/sites-available/default
这个是网站目录配置,想更改网站目录的话,就修改这个,上面的目录的 apache2.conf 里面也有网站目录的。详细见相关配置
设置方法:修改ScriptAlias /cgi-bin/ /var/www/cgi-bin 部分即可
通过127.0.0.1/cgi-bin/*.cgi即可访问
安装结束后:
产生的启动和停止文件是:/etc/init.d/apache2
启动:sudo apache2ctl -k start
停止:sudo apache2ctl -k stop
重新启动:sudo apache2ctl -k restart
介绍:sqlite3是linux上的小巧的数据库,一个文件就是一个数据库。
安装:
要安装sqlite3,可以在终端提示符后运行下列命令:
sudo apt-get install sqlite3
检查版本
sqlite3 -version
测试
当前目录下建立test.db测试数据库文件
sqlite3 test.db
查询信息
.database
退出
.exit
图形界面
可以选择sqlitebrowser程式(qt3)
sudo apt-get install sqlitebrowser
启动图形界面可以在终端提示符后输入sqlitebrowser
sudo apt-get install mysql-server
这个应该很简单了,而且我觉得大家在安装方面也没什么太大问题,所以也就不多说了,下面我们来讲讲配置。
配置MySQL
注意,在Ubuntu下MySQL缺省是只允许本地访问的,如果你要其他机器也能够访问的话,那么需要改变/etc/mysql/my.cnf配置文件了!下面我们一步步地来:
默认的MySQL安装之后根用户是没有密码的,所以首先用根用户进入:
mysql -u root
在这里之所以用-u root是因为我现在是一般用户(firehare),如果不加-u root的话,mysql会以为是firehare在登录。注意,我在这里没有进入根用户模式,因为没必要。一般来说,对mysql中的数据库进行操作,根本没必要进入根用户模式,只有在设置时才有这种可能。
进入mysql之后,最要紧的就是要设置Mysql中的root用户密码了,否则,Mysql服务无安全可言了。
mysql> GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY "123456";
注意,我这儿用的是123456做为root用户的密码,但是该密码是不安全的,请大家最好使用大小写字母与数字混合的密码,且不少于8位。
这样的话,就设置好了MySQL中的root用户密码了,然后就用root用户建立你所需要的数据库。我这里就以xoops为例:
mysql>CREATE DATABASE xoops;
mysql>GRANT ALL PRIVILEGES ON xoops.* TO xoops_root@localhost IDENTIFIED BY "654321";
这样就建立了一个xoops_roots的用户,它对数据库xoops有着全部权限。以后就用xoops_root来对xoops数据库进行管理,而无需要再用root用户了,而该用户的权限也只被限定在xoops数据库中。
如果你想进行远程访问或控制,那么你要做两件事:
其一:
mysql>GRANT ALL PRIVILEGES ON xoops.* TO xoops_root@"%" IDENTIFIED BY "654321";
允许xoops_root用户可以从任意机器上登入MySQL。
其二:
sudo gedit /etc/mysql/my.cnf
老的版本中
>skip-networking => # skip-networking
新的版本中
>bind-address=127.0.0.1 => bind-address= 你机器的IP
这样就可以允许其他机器访问MySQL了。
我使用Remarkable
主页:http://remarkableapp.net/
下载:http://remarkableapp.net/download.html
下载deb包
sudo dpkg -i remarkable_1.41_all.deb
最后修复依赖关系
sudo apt-get install -f
工具 | 描述 |
---|---|
ccat | 让你的cat带上高亮的色彩, 参照linux下使用ccat让你的cat高亮显示 |
color_compile | 让gcc, g++, make的输出高亮显示, Ubuntu设置gcc/g++/make输出颜色高亮 |
dos2unix | 从windows上倒过来的文件都带有^Mb标识, vim打开后看起来很丑, dos2unix是一个用来转换DOS下的文本的换行符到Unix/Linux下的换行符格式。同时还包含一个 unix2dos/unix2mac用来做反向的转换 |
thefuck | 开发者都或多或少接触过 linux 接触过命令行,当然肯定也都被命令行狠狠地“fuck”过。我很多时候都是微不足道的原因导致了命令行出错,例如将 python 输入成 ptyhon,例如将 ls -alh 输入成 ls a-lh而导致出错,这个时候我会想说:“fuck” |
trash-cli | 回收站的终端实现, 用它替代你的rm,这样你就不会害怕误删了, 参照使用trash-cli避免误删文件–为rm增加回收站功能 |
cmatrix | 终端中实现的代码雨, 看起来挺有意思的 |
sl | ls是经常使用的命令, 也经常容易输错, 安装了sl, 当你输错的时候, 一辆火车会开出来, 嘟嘟!!!. |
tmux | 一个非常有用的终端分屏工具, 参照linux下的终端利器—-tmux, 你也可以从15款最佳Linux命令行终端工具 选择几款合适的终端 , 其中Tilda(快捷键F1)和Guake(快捷键F12)强烈建议安装一个, 一键呼出你的终端, 浏览网页, 看视频时候干活两不误 |