(1)Ubuntu12.10 root用户登录设置
ubuntu12.10默认不允许root用户登录,在登录窗口只能看到普通用户和访客登录。
以普通身份登陆ubuntu后,我们需要做一些修改
普通用户登录后,修改系统配置文件需要切换到超级用户模式,在终端窗口里面输入: sudo -s,然后输入普通用户登陆的密码,回车即可进入root用户权限模式。
然后执行: vi /etc/lightdm/lightdm.conf
增加:greeter-show-manual-login=true allow-guest=false
修改完的整个配置文件是:
[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
greeter-show-manual-login=true #手工输入登陆系统的用户名和密码
allow-guest=false #不允许guest登录
然后我们启动root帐号:
sudo passwd root
根据提示输入root帐号密码。
重启ubuntu,登录窗口会有“登录”选项,这时候我们就可以通过root登录了。
(2)Ubuntu12.10 命令行模式启动
Ubuntu12.10 命令行模式启动方法:
终端执行:vi /etc/default/grub
将 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 改为 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash text"
然后执行 update-grub
重启ubuntu,这时默认就从命令行模式启动了。
(3)apt-get install 安装失败解决方案
Ubuntu下安装常用服务apt-get install 真得很好用,但它也有发生错误的时候。
Package *** is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source.
解决方案是先运行apt-get update更新软件包列表,然后再安装需要用到的package,不信你试试看。
以下是apt-get和apt-cache命令的详细介绍:
apt-get命令的用法很简单,以下是其主要功能的介绍:
apt-get update 更新软件包列表
apt-get upgrade 升级系统中的所有软件包
apt-get install 安装软件包
apt-get remove 卸载软件包
apt-get source 下载源码包
apt-cache是另外一个很有用的命令,可以用它来搜索某个软件包的名字,或者显示某个软件包的详细信息。
apt-cache search mysqlcpp 搜索含有mysqlcpp字样的软件包
apt-cache show ssh 查看ssh软件包的详细信息
(4)Ubuntu安装PHP环境,Apache2+MySQL+PHP
sudo apt-get install mysql-server // 安装MySQL服务端
sudo apt-get install mysql-client // 安装MySQL客户端
sudo apt-get install apache2 // 安装Apache
sudo apt-get install php5 // 安装PHP5
sudo apt-get install libapache2-mod-php5 // 配置APACHE+PHP
sudo apt-get install libapache2-mod-auth-mysql // 让apache支持MySQL
sudo apt-get install php5-mysql // mysql连接
sudo apt-get install php5-gd // GD库
sudo apt-get install phpMyAdmin // 安装phpMyAdmin图形化管理工具
注:在安装phpMyAdmin图形化管理工具时,系统会将其自动安装在/usr/share目录下,此时只需将该目录中的phpMyAmin目录拷贝到/var/www目录下,然后运行http:/localhost/phpmyadmin即可访问。
(5)C语言访问MySQL数据库问题时,系统缺少mysql.h头文件
Ubuntu在默认情况下,并没安装libmysqlclient-dev库,在用C语言访问MySQL数据库时,
首先执行:apt-get install libmysqlclient-dev
编译指令:gcc -I/usr/include/mysql -o * *.c -L/usr/lib/mysql -lmysqlclient
(6)MySQL开启远程访问方法
MySQL安装后,默认不支持远程访问,解决方案是:
用vim编辑器打开MySQL配置文件/etc/mysql/my.cnf,注释掉下面一行:
#bind-address = 127.0.0.1
然后给远程用户赋权限:(如果已经赋予权限,则没有必要)
GRANT ALL ON *.* TO username@'%' IDENTIFIED BY 'password';
最后重启MySQL服务,就可以远程访问了。
(7)C语言连接MySQL数据库客户端中文乱码问题
首先查看MySQL数据库默认编码:
mysql> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
mysql> show variables like 'coll%';
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | utf8_general_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+----------------------+-------------------+
此时,我们发现默认编码latin1并非我们想要的,假设我们的数据是utf8编码,我们需要修改MySQL配置文件:/etc/mysql/my.cnf
[client]下添加:default-character-set=utf8
[mysqld]下添加:character_set_server=utf8
然后重启MySQL服务:service mysql restart
再次查看编码时,我们发现默认编码已经发生了变化:
mysql> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
mysql> show variables like 'coll%';
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
+----------------------+-----------------+
数据库和表可能需要重建,看看问题是否依然存在,通常情况下问题解决了。
但如果你使用C语言访问数据库的话,有个函数,你得特别注意:
int mysql_set_character_set(MYSQL * mysql, char * csname)
在数据库连接成功后,在插入数据前一定要调用此函数修改C语言默认字符集,默认为latin1编码;第二个参数的格式是"utf8";调用成功返回0,失败返回非0值。
(8)配置静态IP地址,适用于Ubuntu Server版本
#vim /etc/network/interfaces
原文件内容:
auto lo
iface lo inet loopback
auto em1
iface em1 inet dhcp
此处默认使用DHCP分配IP,我们将其修改如下:
auto lo
iface lo inet loopback
# The primary network interface
auto em1
# iface em1 inet dhcp
iface em1 inet static
address 192.168.0.188
netmask 255.255.255.0
gateway 192.168.0.1
设置完IP,子网掩码和网关后,我们设置DNS服务器:
#vim /etc/resolv.conf
添加DNS:
search mydomain.com
nameserver 192.168.10.100
nameserver 192.168.10.104
配置完成后,重启网络服务:
/etc/init.d/networking restart
注意:重启Ubuntu系统后,/etc/resolv.conf会被重写,此时的dns又被修改为默认值,所以我们需要永久性修改DNS。方法如下:
#vim /etc/resolvconf/resolv.conf.d/base
nameserver 192.168.10.100
nameserver 192.168.10.104
最后重启networking服务使其生效:
/etc/init.d/networking restart
(9)Ubuntu 12.10安装vsftpd服务,530 login incorrect解决方案
首先安装vsftd服务端:apt-get install vsftpd
然后修改配置文件:vim /etc/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
此时我们登陆时,可能会报530 login incorrect错误,经过自己的一番尝试,终于找到了解决方案:
apt-get remove vsftpd
rm /etc/pam.d/vsftpd
apt-get install vsftpd
(10) 设置服务程序开机自动启动
首先将启动服务程序的shell脚本放在/etc/init.d目录下,然后输入命令:
sysv-rc-conf 脚本名 on
重启后你便发现脚本已经在启动时执行了。
ubuntu12.10默认不允许root用户登录,在登录窗口只能看到普通用户和访客登录。
以普通身份登陆ubuntu后,我们需要做一些修改
普通用户登录后,修改系统配置文件需要切换到超级用户模式,在终端窗口里面输入: sudo -s,然后输入普通用户登陆的密码,回车即可进入root用户权限模式。
然后执行: vi /etc/lightdm/lightdm.conf
增加:greeter-show-manual-login=true allow-guest=false
修改完的整个配置文件是:
[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
greeter-show-manual-login=true #手工输入登陆系统的用户名和密码
allow-guest=false #不允许guest登录
然后我们启动root帐号:
sudo passwd root
根据提示输入root帐号密码。
重启ubuntu,登录窗口会有“登录”选项,这时候我们就可以通过root登录了。
(2)Ubuntu12.10 命令行模式启动
Ubuntu12.10 命令行模式启动方法:
终端执行:vi /etc/default/grub
将 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 改为 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash text"
然后执行 update-grub
重启ubuntu,这时默认就从命令行模式启动了。
(3)apt-get install 安装失败解决方案
Ubuntu下安装常用服务apt-get install 真得很好用,但它也有发生错误的时候。
Package *** is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source.
解决方案是先运行apt-get update更新软件包列表,然后再安装需要用到的package,不信你试试看。
以下是apt-get和apt-cache命令的详细介绍:
apt-get命令的用法很简单,以下是其主要功能的介绍:
apt-get update 更新软件包列表
apt-get upgrade 升级系统中的所有软件包
apt-get install 安装软件包
apt-get remove 卸载软件包
apt-get source 下载源码包
apt-cache是另外一个很有用的命令,可以用它来搜索某个软件包的名字,或者显示某个软件包的详细信息。
apt-cache search mysqlcpp 搜索含有mysqlcpp字样的软件包
apt-cache show ssh 查看ssh软件包的详细信息
(4)Ubuntu安装PHP环境,Apache2+MySQL+PHP
sudo apt-get install mysql-server // 安装MySQL服务端
sudo apt-get install mysql-client // 安装MySQL客户端
sudo apt-get install apache2 // 安装Apache
sudo apt-get install php5 // 安装PHP5
sudo apt-get install libapache2-mod-php5 // 配置APACHE+PHP
sudo apt-get install libapache2-mod-auth-mysql // 让apache支持MySQL
sudo apt-get install php5-mysql // mysql连接
sudo apt-get install php5-gd // GD库
sudo apt-get install phpMyAdmin // 安装phpMyAdmin图形化管理工具
注:在安装phpMyAdmin图形化管理工具时,系统会将其自动安装在/usr/share目录下,此时只需将该目录中的phpMyAmin目录拷贝到/var/www目录下,然后运行http:/localhost/phpmyadmin即可访问。
(5)C语言访问MySQL数据库问题时,系统缺少mysql.h头文件
Ubuntu在默认情况下,并没安装libmysqlclient-dev库,在用C语言访问MySQL数据库时,
首先执行:apt-get install libmysqlclient-dev
编译指令:gcc -I/usr/include/mysql -o * *.c -L/usr/lib/mysql -lmysqlclient
(6)MySQL开启远程访问方法
MySQL安装后,默认不支持远程访问,解决方案是:
用vim编辑器打开MySQL配置文件/etc/mysql/my.cnf,注释掉下面一行:
#bind-address = 127.0.0.1
然后给远程用户赋权限:(如果已经赋予权限,则没有必要)
GRANT ALL ON *.* TO username@'%' IDENTIFIED BY 'password';
最后重启MySQL服务,就可以远程访问了。
(7)C语言连接MySQL数据库客户端中文乱码问题
首先查看MySQL数据库默认编码:
mysql> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
mysql> show variables like 'coll%';
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | utf8_general_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+----------------------+-------------------+
此时,我们发现默认编码latin1并非我们想要的,假设我们的数据是utf8编码,我们需要修改MySQL配置文件:/etc/mysql/my.cnf
[client]下添加:default-character-set=utf8
[mysqld]下添加:character_set_server=utf8
然后重启MySQL服务:service mysql restart
再次查看编码时,我们发现默认编码已经发生了变化:
mysql> show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
mysql> show variables like 'coll%';
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
+----------------------+-----------------+
数据库和表可能需要重建,看看问题是否依然存在,通常情况下问题解决了。
但如果你使用C语言访问数据库的话,有个函数,你得特别注意:
int mysql_set_character_set(MYSQL * mysql, char * csname)
在数据库连接成功后,在插入数据前一定要调用此函数修改C语言默认字符集,默认为latin1编码;第二个参数的格式是"utf8";调用成功返回0,失败返回非0值。
(8)配置静态IP地址,适用于Ubuntu Server版本
#vim /etc/network/interfaces
原文件内容:
auto lo
iface lo inet loopback
auto em1
iface em1 inet dhcp
此处默认使用DHCP分配IP,我们将其修改如下:
auto lo
iface lo inet loopback
# The primary network interface
auto em1
# iface em1 inet dhcp
iface em1 inet static
address 192.168.0.188
netmask 255.255.255.0
gateway 192.168.0.1
设置完IP,子网掩码和网关后,我们设置DNS服务器:
#vim /etc/resolv.conf
添加DNS:
search mydomain.com
nameserver 192.168.10.100
nameserver 192.168.10.104
配置完成后,重启网络服务:
/etc/init.d/networking restart
注意:重启Ubuntu系统后,/etc/resolv.conf会被重写,此时的dns又被修改为默认值,所以我们需要永久性修改DNS。方法如下:
#vim /etc/resolvconf/resolv.conf.d/base
nameserver 192.168.10.100
nameserver 192.168.10.104
最后重启networking服务使其生效:
/etc/init.d/networking restart
(9)Ubuntu 12.10安装vsftpd服务,530 login incorrect解决方案
首先安装vsftd服务端:apt-get install vsftpd
然后修改配置文件:vim /etc/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
此时我们登陆时,可能会报530 login incorrect错误,经过自己的一番尝试,终于找到了解决方案:
apt-get remove vsftpd
rm /etc/pam.d/vsftpd
apt-get install vsftpd
(10) 设置服务程序开机自动启动
首先将启动服务程序的shell脚本放在/etc/init.d目录下,然后输入命令:
sysv-rc-conf 脚本名 on
重启后你便发现脚本已经在启动时执行了。
查看软件xxx安装内容
-
dpkg -L xxx
查找软件
-
apt-cache search 正则表达式
查找文件属于哪个包
-
dpkg -S filename
apt-file search filename
查询软件xxx依赖哪些包
-
apt-cache depends xxx
查询软件xxx被哪些包依赖
-
apt-cache rdepends xxx
增加一个光盘源
-
sudo apt-cdrom add
系统升级
-
sudo apt-get update
sudo apt-get dist-upgrade
清除所以删除包的残余配置文件
-
dpkg -l |grep ^rc|awk '{print $2}' |tr ["\n"] [" "]|sudo xargs dpkg -P -
编译时缺少h文件的自动处理
-
sudo auto-apt run ./configure
查看安装软件时下载包的临时存放目录
-
ls /var/cache/apt/archives
系统
查看内核
-
uname -a
查看Ubuntu版本
-
cat /etc/issue
查看内核加载的模块
-
lsmod
查看PCI设备
-
lspci
查看USB设备
-
lsusb
查看网卡状态
-
sudo ethtool eth0
查看CPU信息
-
cat /proc/cpuinfo
显示当前硬件信息
-
lshw
硬盘
查看硬盘的分区
-
sudo fdisk -l
查看硬盘剩余空间
-
df -h
df -H
查看目录占用空间
-
du -hs 目录名
优盘没法卸载
-
sync
fuser -km /media/usbdisk
内存
查看当前的内存使用情况
-
free -l
进程
查看当前有哪些进程
-
ps -A
中止一个进程
-
kill 进程号(就是ps -A中的第一列的数字)
或者 killall 进程名
强制中止一个进程(在上面进程中止不成功的时候使用)
-
kill -9 进程号
或者 killall -9 进程名
查看当前进程的实时状况
-
top
查看进程打开的文件
-
lsof -p
ADSL
配置 ADSL
-
sudo pppoeconf
ADSL手工拨号
-
sudo pon dsl-provider
激活 ADSL
-
sudo /etc/ppp/pppoe_on_boot
断开 ADSL
-
sudo poff
查看拨号日志
-
sudo plog
网络
根据IP查网卡地址
-
arping IP地址
查看当前IP地址
-
sudo ifconfig eth0 |awk '/inet addr/ {split($2,x,":");print x[2]}'
查看当前外网的IP地址
-
w3m -no-cookie -dump www.ip138.com|grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'
w3m -no-cookie -dump ip.loveroot.com|grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'
查看当前监听80端口的程序
-
lsof -i :80
查看当前网卡的物理地址
-
sudo arp -a | awk '{print $4}'
sudo ifconfig eth0 | head -1 | awk '{print $5}'
立即让网络支持nat
-
sudo echo 1 > /proc/sys/net/ipv4/ip_forward
sudo iptables -t nat -I POSTROUTING -j MASQUERADE
查看路由信息
-
netstat -rn
sudo route -n
手工增加删除一条路由
-
sudo route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
sudo route del -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1
修改网卡MAC地址的方法
-
sudo ifconfig eth0 down #关闭网卡
sudo ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE #然后改地址
sudo ifconfig eth0 up #然后启动网卡
服务
添加一个服务
-
sudo update-rc.d 服务名 defaults 99
删除一个服务
-
sudo update-rc.d 服务名 remove
临时重启一个服务
-
/etc/init.d/服务名 restart
临时关闭一个服务
-
/etc/init.d/服务名 stop
临时启动一个服务
-
/etc/init.d/服务名 start
设置
配置默认Java使用哪个
-
sudo update-alternatives --config java
修改用户资料
-
sudo chfn userid
给apt设置代理
-
export http_proxy=http://xx.xx.xx.xx:xxx
修改系统登录信息
-
sudo vim /etc/motd
中文
转换文件名由GBK为UTF8
-
sudo apt-get install convmv
convmv -r -f cp936 -t utf8 --notest --nosmart *
转换文件内容由GBK为UTF8
-
iconv -f gbk -t utf8 $i > newfile
文件
快速查找某个文件
-
whereis filename
-
find 目录 -name 文件名
查看文件类型
-
file filename
显示xxx文件倒数6行的内容
-
tail -n 6 xxx
查找包含xxx字符串的文件
-
grep -l -r xxx .
查找关于xxx的命令
-
apropos xxx
man -k xxx
通过ssh传输文件
-
scp -rp /path/filename username@remoteIP:/path #将本地文件拷贝到服务器上
scp -rp username@remoteIP:/path/filename /path #将远程文件从服务器下载到本地
查看某个文件被哪些应用程序读写
-
lsof 文件名
压缩
解压缩 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
Nautilus
显示隐藏文件
-
Ctrl+h
显示地址栏
-
Ctrl+l
特殊 URI 地址
-
* computer:/// - 全部挂载的设备和网络
* network:/// - 浏览可用的网络
* burn:/// - 一个刻录 CDs/DVDs 的数据虚拟目录
* smb:/// - 可用的 windows/samba 网络资源
* x-nautilus-desktop:/// - 桌面项目和图标
* file:/// - 本地文件
* trash:/// - 本地回收站目录
* ftp:// - FTP 文件夹
* ssh:// - SSH 文件夹
查看已安装字体
-
在nautilus的地址栏里输入”fonts:///“,就可以查看本机所有的fonts
程序
详细显示程序的运行信息
-
strace -f -F -o outfile <cmd>
日期和时间
设置日期
-
#date -s mm/dd/yy
设置时间
-
#date -s HH:MM
将时间写入CMOS
-
hwclock --systohc
读取CMOS时间
-
hwclock --hctosys
控制台
不同控制台间切换
-
Ctrl + ALT + ←
Ctrl + ALT + →
指定控制台切换
-
Ctrl + ALT + Fn(n:1~7)
控制台下滚屏
-
SHIFT + pageUp/pageDown
控制台抓图
-
setterm -dump n(n:1~7)
数据库
mysql的数据库存放在地方
-
/var/lib/mysql
从mysql中导出和导入数据
-
mysqldump 数据库名 > 文件名 #导出数据库
mysqladmin create 数据库名 #建立数据库
mysql 数据库名 < 文件名 #导入数据库
忘了mysql的root口令怎么办
-
sudo /etc/init.d/mysql stop
sudo mysqld_safe --skip-grant-tables &
sudo mysqladmin -u user password 'newpassword''
sudo mysqladmin flush-privileges
修改mysql的root口令
-
sudo mysqladmin -uroot -p password '你的新密码'
其它
下载网站文档
-
wget -r -p -np -k http://www.21cn.com
· -r:在本机建立服务器端目录结构;
· -p: 下载显示HTML文件的所有图片;
· -np:只下载目标站点指定目录及其子目录的内容;
· -k: 转换非相对链接为相对链接。