Linux Note——Ubuntu
自2012/11/15起开始Linux学习之旅,首先从Ubuntu开始,(在学校里我们基本上被动式学习,然而走出了象牙塔之后,不会再有人对你负责,不会有人主动教你,我们需要主动的学习。所谓的学习能力,其实就是自主学习的能力。) Linux的特点(2012/11/15) 1、免费/开源 2、支持多线程/多用户 3、安全性 4、对内存和文件管理优越 Ubuntu 11.04 界面转换 图形——>命令(ctrl+alt+shift+f1) 命令——>图形(ctrl+alt+f7) sudo passwd root //在界面终端中设置root用户的密码 注意:普通用户要想获得一定的权限的话使用命令,则要在命令前面+sudo,当然,Enter后是要输入root密码的. passwd //假设是用root用户操作这个命令,而后面不指定目录的话,则修改的当前用户的密码,Linux修改密码是不用输入原密码的 alt+f2输入gnome-terminal //进入终端 shutdown shutdown -r now / reboot //重启计算机(用普通用户操作时要加上sudo eg:sudo shutdown -r now) shutdown -h now/ halt //关闭计算机(用普通用户操作时要加上sudo eg:sudo shutdown halt) shutdown -h +10 //10分钟之后关闭computer shutdown -c //取消自动关机 由于root用户权限较大,所以最好使用普通用户操作系统 /bin 目录存放的是Linux的常用命令,忘记了的话可以进去看看(2012/11/16) Ubuntu的由来 Ubuntu 代表了一种南非民族关于忠诚和人与人之间关系的理念。这个单词从祖鲁语和科萨人使用的班图语发展而来。Ubuntu 被认为是一种南非的传统概念,也是新南非共和国的创立理念之一,并且与非洲复兴的理念有关。Ubuntu 精神的大意是“人道待人”。还有另一种解释是:“天下共享连接人人的信念”。 “具有 ubuntu 精神的人心胸开阔,乐于助人,见贤思齐而不忌妒贤能,因为他或她拥有适度的自信,而这源自如下认识:自己属于一个更大的整体,当他人受到伤害或死去时,当他人受到折磨或压迫时,这个整体就会消失。” ———— 大主教 Desmond Tutu 作为一个基于自由软件的平台, Ubuntu 操作系统给软件世界带来了 ubuntu 精神。 /etc 该目录存放了系统管理时要用到的各种配置文件和子目录,例如网络配置文件、文件系统、X系统配置文件、设备配置信息、设置用户信息等。 ls 列出当前目录下的文件与目录(不显示隐藏文件及目录带.的表示隐藏文件或目录),当然,后面也可以指定目录 ls -a //显示所有的包括隐藏的文件、目录 ls -l //以列表的形式显示 ls --help //每一个Linux命令都有,用来显示该命令的帮助信息 cd 改变目录 // eg : cd / 进入根目录 cd ..返回上级目录 pwd //显示当前所在的目录 mkdir 文件名// 新建目录,其实目录就是文件夹,只是叫的有点不那么顺口,习惯了就好) cp -i 文件 文件名//复制一个新的文件(目录也可以复制),如果新文件前未加目录的话默认为该路径 i:如果有相同的文件的话,会提示是否覆盖. cp -r 目录 目录 //复制目录,可以指定目录 mv -i 文件 文件路径 //移动文件到指定的文件路径,可以在路径后加上文件名,即将文件移动并改名 i :判断是否有同名的文件 rm 文件 //删除该文件,不提示,不移动至回收站,注意使用 rm -fr 目录//删除目录 tab //相当于提示快捷键,当输入的字符忘了或咋滴,可以使用这个"问"出来 nano 编辑器是设计来在功能性及易用性方面,模仿华盛顿大学的Pico文字编辑器。它包括四个主要部份:顶行显示程序版本、当前被编辑的文件名, 以及是否这文件已经更动过。接着是主要编辑区,显示正在编辑的文件。状态行位于倒数第三行,用来显示重要的信息。底部的两行则显示编辑器中最常用到的快捷键。//(nano是将文件在terminal中编辑,而gedit是以记事本的方式对文件编辑) cat 文件名 //显示文本文件但如果文件很长,整个屏幕无法显示完,cat是不会自动分页的,所以可以用more 文件名 (cat、more与nano、gedit的区别在于前者只能显示,而后者可以编译) find 路径(eg:/home/guoxl || / : 使用根目录时记得在find前+sudo) -iname 文件名 //在指定的目录下查找制定文件,得到的是文件的完整路径&&find不仅可以查询文件,也可以查询目录 find /home/guoxl -iname '*orld.j*' || 'Hello*' //根据部分文件的name查找文件,相当于MssqlServer中的like.哈哈,like的话是不是很熟悉,想怎么like就怎么like vim编辑器 (2012/11/17) 使用root用户 cd /etc/vim/vimrc.tiny 修改的内容: set nocompatible set backspace=2 //刚开始的时候会出现按方向键为字母,backspace无法使用等... 编译好了文件 输入esc 进入命令模式 接着按 :+wq(退出保存)/q!(退出不保存) gcc -o 指定编译后的文件名 C文件 //编译c文件,产生一个a.out文件(如果没有指定-o 文件名的话) 如何运行这个a.out文件呢?./a.out (注意:在Linux中像a.out这种可执行文件运行都是 ./可执行文件名) Linux目录结构 root //存放root用户的相关文件 home //存放普通用户的相关文件 bin //存放常用的命令 sbin //存放要具有一定权限才可以使用的命令 mnt //默认挂载光驱和软驱的目录 boot //存放的是系统引导文件 etc //存放配置相关文件 var //存放经常变化的文件 usr //文件安装默认文件夹相当于Program Files passwd 用户名 //为用户设置密码,如果不指定用户名,则给当前用户修改 init [012345] //指定系统运行级别 0 //关机 1 //单用户、有点类似Windows下的安全模式 2 //多用户状态但没有网络服务 3 //多用户状态有网络服务 4 //系统未使用保留给用户 5 //图形界面 6 //系统重启 (常用的运行级别是3、5,要修改默认的运行级别可修改文件 /etc/inittab的id:5:init default:这一行的数字) //天哪,Ubuntu下没有这个文件,Redhat下有.我晕. | //在Linux、Unix中就是管道命令 把前面命令的结果交给 | 后面的命令处理 eg: ls -l /etc/ | more grep -n "内容" 文件名 //在文件中查询内容,在前面显示行号(因为-n) man grep //显示出grep的详细使用,相当于help grep -n "内容" 文件名 > 文件(2012/11/18) //将查询出的内容插入到文件中,如果文件不存在则创建文件,如果存在则插入(覆盖文件中所有信息) ls -l >> 文件 //追加 cal (2012/11/19)//显示一个日历,默认为系统当前日期的日历 cal 2012 //显示2012年1到12月的日历 cal -jy //显示今年从1日到365日的日历 date //显示系统当前时间 df -h //检查磁盘剩余空间 env //环境变量命令 file 文件名 //检查文件类型 fortune //输出一段寓言或谚语,当然,这个命令未安装,No....应该说这个软件未安装 tar //解压压缩包,解压至当前文件夹 注: 压缩包一定要写正确(另,压缩包命令对不同的包可能不起作用,所以要用不同的命令) tar -jxvf 压缩包 //这个命令对解压.tar.bz2有用 tar -zxvf 压缩包 //解压gzip包 tar xf 压缩包 //这个命令解压起来不显示解压的详细文件,属于 后台解压 tar cvf workspace.tar workspace //将目录workspace备份为一个tar压缩包 tar czvf workspace.tar.gz workspace //将目录workspace备份为一个gz压缩包 tar tvf workspace.tar //查看压缩包的内容 unzip 文件 //解压zip文件 clear //清屏 head -n 文件 (2012/11/20) //显示文件的前n行 tail -n 文件 //显示文件的后n行 sed -n 'x,yp' 文件 //显示文件的x到y行 id //显示用户的系统标志,报告用户名、用户号(id)、组名、组号(gid)等 kill 进程号 //终止进程 su 用户名 //改变用户 who //查看当前系统上的用户及其他用户及登录信息 who am i Ubuntu里安装VMware-tools,要有CD驱动器,点击VMware Workstation菜单中的虚拟机--->安装VMware-tools,会在Ubuntu中加载驱动器,将VMwareTools-8.8.4-743747.tar.gz解压缩至任意文件夹(不能解压至驱动器内),启动terminal,在terminal中运行sudo ./vmware-install.pl 然后按提示操作(eg:/usr/lib即输入/usr/lib) //搞死我了这个鸟东西 file /bin/ls //查看Ubuntu是多少位的系统 uname -a //查看Ubuntu的型号等资料 rpm 类型的文件Ubuntu无法安装,所以要先安装好alien(sudo apt-get install alien),在用alien将rpm文件转换为可安装的.deb文件(sudo alien .rpm文件), .deb文件可以用Ubuntu软件中心安装也可以在terminal中安装(sudo dpkg -i .deb文件) groupadd 组名 //添加一个用户组 groupdel 组名 //删除用户组 cat /etc/group //查询出所有的用户组 cat /etc/passwd //查询用户所对应的组 useradd -g 组名 用户名 //添加用户至组 sudo adduser 用户 -g 组名 sudo deluser 用户 sudo useradd -m 用户名 //自动建立用户的登录目录 usermod -g 组名 用户名 userdel -r 用户名 //删除用户及该用户的目录,去掉-r的话则不删除该用户的目录 sudo netstat -tap //显示网络状态 sudo netstat -tap | grep mysql //查看mysql的监听器是否启动 安装mysql(2012/11/21) sudo apt-get install mysql-server mysql-client //安装过程中会弹出设置root用户的密码, sudo netstat -tap | grep mysql //安装完成后,mysql的监听器(服务)应该会启动,看看有没有信息 sudo /etc/init.d/mysql start //启动mysql监听器,还有 stop、restart sudo apt-get install mysql-admin //这是一个图形化界面,不过用起来好像会出现乱码, mysqladmin -u root -p version //查看mysql的版本 mysqldump -u root -p 数据库名 > 文件 //导出指定的数据库(包含数据库中所有的表及数据的SQL) sudo gedit /etc/init/mysql/my.cnf //修改这个文件,为了处理数据库中文乱码,在里面的[client]、[mysqId_safe]、[mysqId]、[mysql]下添加 default-character-set=utf8 。修改完后 重启mysql服务 sudo /etc/init.d/mysql restart 。进入mysql服务器 mysql -u root -p。查看编码 show variables like 'character%'; 除了character_set_filesystem是binary外其他的都是utf8 http://cn.archive.ubuntu.com/ //这个网站是许多Linux系统的软件源、使用sudo apt-get install <软件包> 下载都是从这个网站下载的。 Ubuntu下一些较方便的文本编译器,类似editplus sudo apt-get install geany sudo apt-get install bluefish expr length 'hello ' //字符串的长度, . //表示当前目录 sync //强制将内存中的数据写回硬盘,以免丢失,最好是在shutdown之前使用 free -m //查看当前系统内存使用情况,以mb为单位,Ubuntu11.04的内存好像是900多m,虽然比我想像中的要多,但还不错啦.过几天装个双系统,在真系统下用 希望感觉不错 -rw-r--r-- // '-':普通的文件(d:目录;l:链接) | ‘rw-’:文件的所有者对该文件的权限 | 'r--':文件所在组对该文件的权限 | 'r--' : 其他组的用户对该文件的权限 (权限分为三种:r 可读 4; w 可写 2; x 可执行 1) (文件所有者 > 同组人 > 其它人) chmod 777 guoxl//修改权限 7:对所有者权限进行修改 7:对所有者所在组权限进行修改 7:其他的组的用户访问权限进去修改 为什么是7呢?因为上面的4+2+1=7 哈哈 chown 用户名 文件 //修改文件的所有者 chgrp 组名 文件 //修改文件所在组 touch 文件 //新建一个文件 runlevel //查询系统当前init级别 设置ubuntu开机方式为终端模式:(没找到,我晕.算了,就这样吧) --http://www.longene.org/forum/viewtopic.php?f=6&t=4700 Ubuntu 个性化调节工具 Unity Tweak Tool: sudo add-apt-repository ppa:freyja-dev/unity-tweak-tool-daily sudo apt-get update sudo apt-get install unity-tweak-tool