linux的特点
1、免费、开源
2、支持多线程、多用户
3、安全性好
4、对内存和文件管理优越
缺点
操作相对困难
命令行:
#startx ---进入图形界面
#shutdown -h now ---立刻关机
#shutdown -r now ---重新启动(或者reboot)
#su - ---切换用户
#logout ---注销
vi编辑器的使用(试了下貌似ubuntu下面的命令行vi有点不一样)
1、vi Hello.java
2、输入i (进入插入模式)
3、输入esc (进入命令模式)
4、输入: (wq表示退出并保存,q!退出不保存)
#ls
#ll
#gcc -o abc Hello.cpp ----o指定输入名字
linux下的文件目录
linux文件系统是采用级层式的树状目录结构,根目录“/”
/root ---存放root用户的相关文件
/home ---存放普通用户的相关文件
/bin ---存放常用命令的目录
/sbin ---存放要具有一定权限才能使用的命令
/mnt ---默认挂在光驱和软驱的目录
/etc ---存放配置相关文件
/var ---存放经常变化的文件
/boot ---存放引导相关的文件
/usr ---安装文件的默认安装文件夹,类似windows的program files
linux的用户管理
#useradd xiaoming ---添加用户
#passwd xiaoming ---给某用户设置密码
#userdel xiaoming ---删除用户
#userdel -r xiaoming ---删除用户以及用户主目录
指定运行级别
#init [0123456]
0:关机
1:单用户
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启
修改默认的运行级别可以改文件/etc/inittab的id:5:initdefault这行的数字
解决错误配置(级别设置为了6)
进入grub引导界面时,输入e-->选中第二行 输入e-->最后输入 1[单用户级别]
注意1前面有个空格
#pwd
#cd
#ls -a ---显示隐藏文件
#mkdir ---建立目录
#rmdir ---删除空目录
#touch ---建立空文件
#cp a.out /home/allen/ ---拷贝文件
#rm
#rm -f ---强迫删除
#more ---显示文件内容,带分页
#less ---显示文件内容带分页
#grep
#grep -n "main" aaa.java ---查看aaa.java文件中有没有main字符
#| ---管道命令 (把上一个命令的结果交给|的后面的命令处理)
#ls -l ./etc |more
#man ---帮助(man grep)
#find ---搜索文件及目录
#find / -name aaa.java (/表示从根目录开始查找)
#ls -l > kkk.bak ---将ls -l命令的结果输出到kkk.bak文件
#ls -l >> kkk.bak ---追加
文件所有者、所在组和其他组
某用户创建了一个文件后,这个文件的所在组就是该用户所在的组。
#ls -ahl
#chgrp 组名 文件名 ---修改文件所在组
#groupadd policeman ---添加组policeman
#cat /etc/group ---查看linux中所有组信息
#useradd -g 组名 用户名 ---创建用户,并指定用户分配到哪个组
#cat /etc/passwd ---查看linux所有用户信息
-rw-r--r--
文件类型|文件所有者对该文件权限|文件所在组对该文件权限|其他组的用户对该文件权限
r可读用4表示,w可写用2表示,x可执行用1表示
修改文件访问权限的问题
#chmod 666 xxx
#chown 用户名 文件名 ---修改文件的所有者
#usermod -g 组名 用户名 ---将用户添加到哪个组
jdk的安装步骤:
1、安装文件拷贝到/home目录下面
#cp 文件 /home
2、安装
#./xxxxxxx.bin
3、查看文件 /etc/profile ---环境配置文件
4、在/etc/profile文件配置环境变量
#vi /etc/profile
JAVA_HOME=/home/allen/jdk1.6.0_22
PATH=$PATH:/home/allen/jdk1.6.0_22/bin
CLASSPATH=.:/allen/jdk1.6.0_22/jre/lib/rt.jar
CATALINA_HOME=/home/allen/apache-tomcat-6.0.29
export JAVA_HOME PATH CLASSPATH CATALINA_HOME
挂载、卸载
#mount /mnt/cdrom/
#umount /mnt/cdrom/
eclipse安装
1、安装文件拷贝到/home目录下
2、安装
#tar -zxvf eclipsexxxx.tar.gz
3、启动eclipse[前提是进入图形界面]
#startx
#cd eclipse
#./eclipse
myeclipse安装
1、安装文件拷贝到/home目录下
2、安装
#./xxxxxxx.bin
tomcat安装
1、tomcat安装文件拷贝到/home目录下
2、安装tomcat
#./apachexxxx.bin
3、添加tomcat到环境变量
/etc/profile
注意#./eclipse & ---&表示以后台方式运行,释放当前控制权
mysql数据库安装
linux分区
1、主分区+扩展分区 <= 4个
2、扩展分区是不能直接使用的,需要分成逻辑分区才能使用,逻辑分区数量没有限制。
#df 目录全路径 ---查看某个目录是在哪个分区
#df -h ---查看磁盘使用情况
#fdisk -l ---查看linux系统分区具体情况
linux系统的文件系统是一种挂载的机制来使用分区里面的东西。
#umount /boot/ ---卸载boot,boot目录下就没有内容栏
#mkdir test ---新建一个目录test
#mount /dev/sda1 /test/ ---将/dev/sda1挂载到test目录下
shell编程
shell编程类似windows中的批处理文件
《linux命令、编辑器和shell编程》
shell的分类
1、Bourne /bin/sh
2、C /bin/csh
3、Kom /bin/ksh
查看目前使用的是那种shell
#env ---显示当前os的环境变量
shell的修改
#chsh -s 输入新的shell
#history ---查阅历史记录命令
#history 5 ---显示最近使用的5个命令
#!5 ---执行历史编号为5的命令
#!ls ---执行最后一次以ls开头的命令
tcp/ip基础
它不是一个独立的协议,而是一组协议,包括tcp,ip,udp,arp,rarp等协议
OSI模型是理论的七层,而现实TCP/IP模型是四层。
ip地址与包的路由传递
#tracert 目标ip/域名 ---追踪路由
linux网络环境配置
#setup
#/etc/rc.d/init.d/network restart ---重新运行网卡
或者
#ifconfig eth0 x.x.x.x ---配置网络立即生效,不过是临时的
或者
/etc/sysconfig/network-scripts/ifcfg-eth0这个文件里修改属性。
在linux中所有的设备都是一个文件。
RPM管理
用于互联网下载包的打包以及安装工具。
rpm常用命令
#rpm -qa ---查询linux里安装了哪些rpm包
#rpm -q mysql ---查询安装的mysql
#rpm -ivh rpm包全路径 ---安装包到当前系统
#rpm -e rpm包名称 ---删除rpm包
#rpm -e --nodeps rpm包全名称 ---强制删除rpm包
#rpm -U rpm包全路径 ---升级rpm包
samba详解
windows linux共享
安装samba
1、检查是否安装了samba
#rpm -qa|grep samba
2、查看是否安装了,有则删掉。
3、拷贝samba安装文件
4、安装
#rpm -ivh samba-common.....rpm
#rpm -ivh samba-client.....rpm
#rpm -ivh samba.....rpm
5、将/etc/passwd中的用户加到smbpasswd中
#cat /etc/passwd|mksmbpasswd.sh>/etc/samba/smbpasswd
6、设置samba密码
#smbpasswd xiaoming
7、启动samba服务器
#service smb start
#service smb stop
#service smb restart
8、samba配置
...
#netstat -an ---查看目前系统监听
任务调度命令crontab
crontab只能精确到分钟。
怎样调度多个任务
1、crontab -e里面继续添加其他任务
多个人调用的时候容易混乱。
2、可以把所有任务写入到一个可执行文件(shell编程)
#vi xxx.sh
#chmod 744 xxx.sh
终止任务调度
#crontab -r
#crontab -l ---列出当前的任务调度
进程的概念和管理
进程简单理解就是正在执行的程序;
线程是轻量级的进程。
进程有独立的地址空间,而线程没有。
线程不能独立存在,它是由进程创建。
#ps -aux ---查看进程
#kill -9 pid ---杀死进程
#top ---显示正在执行的进程
#top -d 10 ---每10秒更新
监视特定用户:u键--->输入用户名即可
#date
#cal
监控网络状态信息
#netstat -an
#traceroute ---检测数据包网络传输的过程
mysql数据库在linux下的使用
免费、跨平台、轻、支持多并发。
mysql安装
1、解压tar -zxvf ...tar.gz
2、安装配置
#groupadd mysql ---创建mysql组
#useradd -g mysql mysql ---创建用户mysql属于mysql组
#scripts/mysql_install_db --user=mysql ---初始化数据库
#chown -R root . ---修改文件以及目录的所有者为rot
#chown -R mysql data ---修改data文件夹的所有者
#chgrp -R mysql . ---改变用户组
启动mysql
#bin/mysqld_safe --user=mysql & ---以后台方法启动
修改root路径下.bash_profile,添加:/home/mysql/bin
重新登录就ok了
备份恢复mysql
#mysqldump -u xx -p xx 数据库名>data.bak
#mysql -u xx -p xx 数据库名<data.bak
ssh
secure shell是一款集远程操作linux和进行文件上传下载的软件。
目前我用的多的是secureCRT、putty+winscp