注:本文属本人原创,转载请注明出处.linux服务器配置篇正在学习中......会慢慢推出.
第一天
--------------------------------------------
shutdown -h now 立刻关机
shutdown -r now 现在重新启动计算机
reboot 现在重新启动计算机
su - 切换成系统管理员身份
logout 注销用户
vi编辑器
示例:使用vi开发一个简单的java程序Hello.java,
并在linux下运行成功.
开发步骤:
1、输入 vi Hello.java
2、输入 i 进入到插入模式,输入以下代码:
public class Hello{
public static void main(String []args){
System.out.printIn("hello,word");
}
}
3、输入Esc键 进入到命令模式
4、输入 :wq 保存并退出
:q! 不保存并退出
ls 显示目录和文件
ls -l 显示文件的详细列表
5、输入javac Hello.java 编译Hello.java
6、输入java Hello 运行它
拥有帝国一切,皆有可能。欢迎访问phome.net
开发一个C程序:
vi Hello.cpp
include <stdio.h>
int main(){
printf("hello!");
return 0;
}
gcc Hello.ccp 编译Hello.cpp
ls 发现生成了一个a.out,如果下次编译另一个C程序的话,
它还是会生成a.out,这样就覆盖了之前的.解决:
在编译时加参数-o后面跟文件名:
gcc -o my1 Hello.cpp
./a.out 运行a.out
目录结构
root 存放root用户相关文件
home 存放普通用户的相关文件
bin 存放常用命令的目录
sbin 要具有一定权限才可以使用的命令
mnt 默认挂载光驱和软驱目录
boot 存放引导相关的文件
etc 存放配置相关文件
var 存放经常变化的文件
usr 安装软件等的默认文件夹
显示当前在哪个路径下: pwd
用户管理
添加用户xiaoming:
useradd xiaoming
设置密码:
passwd xiaoming 注意:要指明是对哪个用户修改密码(本例为xiaoming)
根据提示输入密码
删除用户:
userdel xiaoming 删除用户xiaoming
userdel -r xiaoming 删除用户以及用户主目录
指定运行级别
命令:init [0123456]
运行级别:0:关机
1:单用户
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用,保留给用户
5:图形界面
6:系统重启
常用运行级别是3和5.要修改默认的运行级别可改文件
/etc/inittab 的id:5:initdefault:这一行中的数字
解决错误配置的方法:
在出现GRUB引导界面时,按e,选择第二行(高亮的),输入e,再输入1 (1代表单用户级别)
在按b.这样系统就进入到了单用户级别.然后修复错误.
常用命令
pwd 显示当前工作目录
cd 改变目录
ls 列出文件和目录
ls -a 显示隐藏文件
ls -l 显示长列表格式
mkdir 建立目录
rmdir 删除空目录
touch 建立空文件
cp 复制
cp a.out /home/xiaoming/ 将当前目录下的a.out复制到/home/xiaoming/下
cp -r dir1 dir2 递归复制命令(复制子目录信息)
mv 移动文件和改文件名
rm 删除文件和目录
rm a.out 删除a.out
rm -rf * 删除所有内容(包括目录和文件) r递归 f强制
ln 建立符号连接 ----(相当于快捷方式)
ln -s 源 目标
ln -s /etc/inittab inittab inittab指向实际文件/etc/inittab
more 显示文件内容,带分页
more install.log 分页显示install.log 按空格翻页
less 显示文件内容带分页
grep 在文本中查询内容
grep "shunping" aaa.java 查找aaa.java中有没有shunping.还可以加参数-n 显示行号
| 管道命令(理解管道:把上一个命令的结果交给|的后面的命令处理)
ls -l /etc/ | more 分页显示/etc/目录下的内容
find 搜索文件及目录
find / -name aaa.java 从根目录开始按文件名查找aaa.java文件
find /root/ -name aaa.java 从root目录下按文件名查找aaa.java文件
find /home -size 10K 查找/home目录下大小为10K的文件
重定向命令:
ls -l > a.txt 将列表的内容写入文件a.txt中(覆盖写)
ls -al >> aa.txt 将列表的内容追加到文件aa.txt的末尾
grep "shunping" aaa.java > kkk.bak 将查找到的内容写入文件kkk.bak中
文件权限、用户组
文件的所有者:一般为文件的创建者
文件的所在组:当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组
文件的其他组:除开了文件的所有者和所在组的用户外,系统的其他用户都是文件的其他组
groupadd policeman 添加组policeman
cat /etc/group | more 查看所有组的信息
groupadd tufei 添加组tufei
创建用户并同时指定将该用户分配到哪个组:
useradd -g 组名 用户名
useradd -g policeman along
useradd -g policeman panpan
useradd -g tufei ashuai
查看所有用户信息:
cat /etc/passwd
passwd along
passwd panpan
passwd ashuai 分别设置密码
用along用户登陆,并创建文件mytest1.java (略)
ls -l
显示:
-rw-r--r-- 1 along policeman 11 Dec 9 09:32 mytest1.java
//说明:along前面的1代表后面mytest1.java是文件,如果后面是文件夹,它
在这里将显示这个文件夹中文件的个数.
-rw-r--r-- 表示是各类用户对这个文件的操作权限,下面讲解:
它可以分为四部分:- rw- r-- r--
第一部分 - 代表文件类型,- 代表普通文件 l代表链接文件
第二部分 rw- 代表文件的所有者对该文件的权限
权限分为三种:
r 可读 也可用4表示
w 可写 也可用2表示
x 可执行 也可用1表示
本例表示文件的所有者along对这个文件具有可读可写的权限
第三部分 r-- 代表文件所在组的用户对该文件的权限
本例中比如panpan对这个文件只有读权限
第四部分 r-- 代表其他组的用户对该文件的权限
这时如果用panpan登陆,panpan是进不了along文件夹的.
cd ..
ls -l
drwx------ 3 along policeman 4096 Dec 9 09:42 along
//说明:d代表是文件夹.along具有可读可写可执行的权限,其他用户不具有
任何权限.panpan是进不了along文件夹
修改文件的访问权限:(登陆为along用户修改即可)
chmod 770 along (第一个7代表对所有者访问权限进行修改 4 2 1=7,第二个7代表对文件所在
组访问权限进行修改)
ls -l
drwxrwx--- 3 along policeman 4096 Dec 9 09:42 along
(用root的权限)改变某个用户所在的组:
usermod -g 组名 用户名
usermod -g policeman ashuai 将ashuai由tufei组变为policeman组
修改文件所有者:
chown 用户名 文件名
修改文件所在的组:
chgrp 组名 文件名
拥有帝国一切,皆有可能。欢迎访问phome.net
第二天
----------------------------------------------------------------
linux下搭建javaee开发环境
jdk的安装:
1、将安装的ISO(本例中为mypackage.iso)挂载到linux操作系统上
mount /mnt/cdrom/ 挂载光驱
cd /mnt/cdrom/
ls 这样可以查看光驱上的内容
cd /
umount /mnt/cdrom/ 卸载光驱
2、安装时建议把要安装的程序拷贝到/home目录下
cp j2sdk-1_4_2_07-linux-i586.bin /home (这个文件名很长,可用TAB键补全,不用一个个输入)
cd /home/
ls 可以看到已经拷贝成功.
3、cd /home
4、安装
./j2sdk-1_4_2_07-linux-i586.bin
输入yes后开始安装
安装好后,ls,可以看到多了个j2sdk1.4.2_07的目录
cd j2sdk1.4.2_07
ls 可以看到有个bin目录
cd /bin
ls
5、/etc/profile (环境配置文件)
vi /etc/profile
用#来注释掉原来的java的配置文件
#JAVA_HOME=...........(省略)
#PATH=...........(省略)
#CLASSPATH=...........(省略)
#CATALINA_HOME=...........(省略)
#export JAVA_HOME PATH CLASSPATH CATALINA_HOME
然后重新登陆一下,就发现原来的java没有用了
6、配置刚才自己安装的jdk
vi /etc/profile
#JAVA_HOME=...........(省略)
#PATH=...........(省略)
#CLASSPATH=...........(省略)
#CATALINA_HOME=...........(省略)
#export JAVA_HOME PATH CLASSPATH CATALINA_HOME
JAVA_HOME=/home/J2sdk1.4.2_07
PATH=$PATH:/home/J2sdk1.4.2_07/bin
CLASSPATH=. :/home/J2sdk1.4.2_07/jre/rt.jar
export JAVA_HOME PATH CLASSPATH
保存,然后重新登陆一下,生效.
安装集成开发环境Eclipse(略)
tar -zxvf xxxxxx.tar.gz 安装以.tar.gz结尾的文件
./eclipse 运行eclipse
安装myEclipse(略)
拥有帝国一切,皆有可能。欢迎访问phome.net
java ee的服务器用的较多是的tomcat
安装tomcat
tar -zxvf xxxxxx.tar.gz
& 代表要以后台方式运行
realplay的安装
1、把安装文件拷贝到/home
2、安装:
./RealPlayer10GOLD.bin
3、运行realplay
cd RealPlayer
./realplay
Linux分区
一块硬盘上主分区 扩展分区不能超过4个
查看linux系统分区具体情况:
fdisk -l
hdx~ 其中hd代表IDE硬盘,X为盘号(a为第一块,b为第二块,c为第三块等),
~代表分区,主分区或扩展分区用1-4表示,从5开始是逻辑分区
hda3表示第一块IDE硬盘上的第三个主分区或扩展分区
sd代表SCSI硬盘
sda1代表第一块SCSI硬盘的第一个分区
查看某个目录是在哪个分区:
df [目录全路径]
df /boot/
可以看到sda1分区是挂载到/boot目录下的
可以卸载:
cd /
umount /boot/
我们可以将sda1分区挂载到/test目录下
mount /dev/sda1 /test/
挂载命令格式:
mount [-参数] [设备名称] [挂载点]
查看磁盘使用情况
df [-参数]
df -h -h:以可读性较高的方式显示文件系统当前的使用情形
linux安装
linux手动分区:
/boot分区,100M
swap交换分区,一般是物理内存的2倍,但不要大于256
/ 根分区,尽可能的大
拥有帝国一切,皆有可能。欢迎访问phome.net
第三天
----------------------------------------------------------------
linux下的shell
常用的shell:
/bin/sh即/bin/bash
/bin/csh
/bin/ksh
ls -l /bin/*sh 可查到系统中的shell
env 查看目前使用的是哪种shell,该命令可以显示当前操作系统的环境变量
修改shell:
chsh -s 新的shell
chsh -s /bin/csh
history 查询历史记录命令
history 10 查询最近使用的10个命令
linux下查看IP情况的命令:
ifconfig
linux网络环境配置
第一种方法:
(以root用户登陆)
setup→Network configuration
配置好后,这时网卡的配置没有生效的,要运行
/etc/rc.d/init.d/network restart 命令才生效
第二种方法:
ifconfig eth0 x.x.x.x 设置IP
ifconfig eth0 network x.x.x.x 设置子网掩码
注:这样配置网络将立即临时生效.当重启或关机后,将还原设置前的配置.
第三种方法:
修改/etc/sysconfig/network-scripts/ifcfg-eth0 这个文件里的各个属性
配置好后,这时网卡的配置没有生效的,要运行
/etc/rc.d/init.d/network restart 命令才生效
在linux中,所有的设备都是文件
RPM包的管理
RPM包的名称格式:
apache-1.3.23-11.i386.rpm
apache 是软件名称
1.3.23-11是软件的版本号,主版本号,和次版本
i386是软件所运行的硬件平台
rpm是文件扩展名,代表RPM包
查询安装了哪些rpm软件
rpm -qa
查询软件包是否安装
rpm -q 软件包名
rpm -q mysql 查询mysql是否安装
安装RPM包:
rpm -i RPM包全路径名称
rpm -ivh RPM包全路径名称 (有提示信息)
参数说明:
i=install 安装
v=verbose 提示
h=hash 进度条
卸载RPM软件包:
rpm -e RPM包的名称
升级RPM软件包:
rpm -U RPM包全路径名称
拥有帝国一切,皆有可能。欢迎访问phome.net
samba服务器的安装与配置
1、看看是否已经安装了samba
rpm -q samba
2、如果有,就卸载
rpm -e samba
但提示,有一个包要依赖这个,删除不了,
rpm -e --nodeps samba (--nodeps可以连同依赖的包一起删除)
3、开始安装
rpm -ivh samba-common-2.2.7a-7.9.0.i386.rpm
rpm -ivh samba-client-2.2.7a-7.9.0.i386.rpm
rpm -ivh samba-2.2.7a-7.9.0.i386.rpm
4、创建一个用户youyou
useradd youyou
passwd youyou
5、给youyou设置samba密码
先将/etc/passwd中的用户都加到smbpasswd中:
cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
再设置密码:
smbpasswd youyou
6、启动samba服务器,测试
service smb start
在windows的运行中,输入\192.168.222.88 (这个是samba的服务器地址)
然后传个文件到samba中,在linux下查看
cd /youyou/
ls
第四天
--------------------------------------------------------------------
任务调度命令crontab
任务调度:是指系统在某个时间执行的特定命令或程序.
例:每天凌晨2:00去执行date >> /home/mydate2
1、设置任务
crontab -e
2、输入:
0 2 * * * date >> /home/mydate2
说明:
第一个代表是分钟,每小时中的第几分钟执行,这里是0
第二个代表是小时,每日的第几个小时执行,这里是2
第三个代表是日期,每月的第几天执行,*代表每天
第四个代表是月,每年的第几月执行,*代表月
第五个代表是星期,每周的第几天执行 *代表每星期
3、退出,保存
esc
:wq
怎样去调度多个任务?
(1)在crontab -e 中直接写 这种方法是比较传统的.不推荐.
(2)可以把所有的任务写入到一个可执行文件(shell编程)
例:
vi mytask.sh (一般以.sh结尾)
date >> /home/mydate3
cp /home/mydate3 /root
这个可执行文件保存成功,.但它只有rw的权限,没有可执行X的权限
,要修改权限:
chmod 744 mytask.sh
下面就可以把mytask.sh文件交给crontab去执行了:
crontab -e
* * * * * /root/mytask.sh
终止任务调度:
crontab -r
列出当前有哪些任务调度:
crontab -l
拥有帝国一切,皆有可能。欢迎访问phome.net
|