--linux实战--1
支持多线程./多用户的
安全性好
对内存和文件管理优越
linux最小只需要4m--》使用嵌入式开发
--命令
通配符
* 代表多个字母或数字
? 代表一个字母或数字
[1-6] 代表1-6之间
\ 转义符
startx 进入图形界面
shutdown -h now 立刻关机
shutdown -r now 重新启动
reboot 重新启动
su 切换用户
logout 用户注销
--vi编辑器的使用
1...
vi Hello.java
i --进入insert编辑模式
输入 esc 键【进入命令模式】
输入 : --这时有两个选择
wq 表示退出报存
q! 退出不保存
ls --查看当前目录下的文件
ls -l --查看文件的详细信息
ls -a --查看隐藏目录信息
linux的文件系统是采用级层式的树状目录结构,在此结构中的
最上层是跟目录‘/‘
cd / --切换目录用 cd / 是进入根目录
dir --跟ls 差不多都是现实目录用的
linux 重要目录结果图 见 1-1....usr目录是默认安装程序的目录图没有。
pwd --显示在哪个路径下。
useradd --添加用户
passwd --设置密码
userdel --删除用户
userdel -r --删除用户以及用户的主目录
init [0123456] --命令初始化模式
linux 运行级别
0:关机
1:单用户
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5: 图形界面
6: 系统重启
常用运行级别是3和5 要修改默认的运行级别可改文件
/etc/inittab的id:5:initdefault:这一行中的数字 这个文件时第一个被读取的
/etc/rc.d/rd.sysinit --系统初始化脚本
/etc/rc.d/rcX.d/[KS]* --根据运行级别X配置服务
终止以‘K‘开头的服务
启动以‘S‘开头的服务
/etc/rc.d/rc.local --执行本地特殊配置
....如果修改成6或者0 在进去界面中要
在ubuntu 中/etc/inittab 没内容
在进入grub引导界面时,请输入e
在选中第二行输入e
在最后输入1【单用户级别】
----------------------------没试过-------------
pwd --显示工作目录
ls --列出文件和目录
ls -a 显示隐藏文件
ls -l 显示长列表格式
ls -al
mkdir --建立目录
rmdir --删除空目录
tounch --建立空文件
cp --复制命令
cp -rf --拷贝
mv --移动文件和改文件名
rm --删除文件和目录
rm -rf * --删除所有内容 包括目录和文件 r递归 f强制
ln --建立符号连接
ln -s 源目标
ln -s /etc/inittab inittab
--inittab指向时间文件/etc/inittab
more --显示文件内容,带分页
less --显示文件内容带分页
grep --在文本中查询关键词
| --管道命令 --把上面一个命令的结果交给|
的后面的命令处理
man --man命令相当于dos下的help命令
find --搜索文件及目录
find / -name 文件 -- 从根目录开始找
find /home -amin -10: --十分钟内存取的文件或目录
find /home -atime -10: --十小时内存取的文件或目录
find /home -cmin -10: --十分钟内更改过的文件或目录
find /home -ctime -10: --十小时前更改过的文件或目录
find /home -size +10k --找/home目录下文件大小是10k的
文件
重定向命令
> 文件 --管道定向命令 表示把 > 左边的搜索的结果 写入到
右边的 文件里面 没有就创建 有就覆盖。。(覆盖写)
>> 文件 -- 同上面的命令 只不过文件不覆盖只追加(追加写)
linux 的每一个用户必须属于一个组
ls -ahl --查看文件所有者
在linux中添加组
groupadd policeman
vi /etc/group --vi 命令可以看文件也可以改文件
cat /etc/group -- cat 只查看不修改的命令
创建用户,并同时指定将该用户分配到哪个组
useradd -g 组名 用户名
修改用户所在组
usermod -g 组名 用户名
改变用户登录的初始目录
usermod -d 目录名 用户名
查看linux中所有用户信息
vi /etc/passwd
cat /etc/passwd
权限分为三种:r可读 用4表示,w 可写用2表示,x可执行 用1表示
查看文件信息时下面这段表示
-rw-r--r--
分成四段 -,rwx-,r--,r--
- 表示文件类型 d(目录) l(链接)
rwx- 文件的所有者对该文件的权限
rw-- 文件所在组的用户对改文件的权限ho
r-- 其它组的用户对该文件的权限
改变权限的命令赋予abc权限
chmod 改变文件或目录的权限
chmod 755 abc :rwxr-xr-xr
chmod u=rwx,g=rx,o=rx abc :同上 u=用户权限,g=组权限 0=不同其它组其它用户权限
chmod u-x,g+w abc:给abc去除用户执行的权限,增加组写的权限
chmod a+r abc : 给所有用户添加读的权限
--改变所有者(chown)和用户组(chgrp)命令
chgrp 组名 文件名 --来修改文件所在组
chown 用户名 文件名 --来修改文件的所有者
chown 用户名 ./目录名 --来修改目录的所有者
chown -R 用户名 ./目录名 --来修改目录及其下面的所有文件 和目录的所有者
jdk安装步骤/
1.把 mypackage.iso 挂载到linux操作系统上
在vm做好配置
mount /mnt/cdrom --使用该命令挂载 在跟目录下使用
umont /mnt/cdrom --卸载光驱
2.把安装文件copy到 /home 因为iso光驱文件时不可读的安装时 会写入东西 会造成不成功
cp 文件 /home --拷贝命令
3. cd /home 切换到home目录
4. ./???.bin 回车。。。
5.看看一个文件 /etc/profile【环境配置文件】
6.配置自己安装的jdk文件
JAVA_HOME = /.....
PATH=$PATH:/......
CLASSPATH=.:/......
export JAVA_HOME PATH CLASSPATH
eclipse 安装也一样
tar -zxvf ???.tar.gz 安装tar.gz文件
启动eclipse 【进入图形界面】
ctrl+alt+T 进入终端
./绿色文件 启动 --有些文件不支持这样启动 只能在图形界面
进入终端敲此命令启动
myeclipse 必须在图形界面下安装
tomcat 安装同上
---》分区
df --查看linux系统分区情况
-h 更详细的分区的情况
-l
fdisk -l
=======>
linux下的Shell
--所有命令都必须通过shell解析器解释成可执行代码再传递 给linux内核执行。
--shell还可以进行程序设计
有三种shell 在以下目录
/bin/sh
/bin/csh
/bin/bsh
==》
查看目前使用的shell
env --使用该命令查看环境配置
chsh -s /bin/csh ---修改shell
alias 用法给命令取别名
例如: ls -l /home
别名llh: alias llh = ‘ls -l /home‘
使用zip和unzip压缩和解压
压缩文件
zip aa.zip 文件名
zip aa.zip 文件名1,文件名2
zip -r aa.zip 文件夹
zip -m aa.zip 文件 压缩完成后删除原文件
zip -y aa.zip 文件 不压缩链接文件
gzip 和 gunzip处理.gz文件
解压缩文件
unzip aa.zip
history 5 --此项说明会显示 最近使用的5个命令
!5 --此项说明执行历史编号为5的命令
!ls--此项说明执行最后一次以“ls”开头的命令
==》
tcp/ip基础
tcp/ip协议由 (tcp,ip,udp,arp,rarp等协议组成)
见图 1-2
应用层
传输层
iP层
链路层
ping ip --拼命令
tracert ip --查看拼接网络的追踪路由
traceroute
ifconfig --下查看ip情况的命令是 windows是ipconfig
ifconfig eth0 down --禁用设备eth0
ifconfig eth0 up --打开设备eth0
关闭linux中的防火墙 (用setup命令道text mode设置)
--对网络配置进行生效使用下面语句
/etc/rc.d/init.d/network restart
在linux中,所有的设备都是文件..
===>对网络进行配置
1....
setup -- 永久修改
/etc/rc.d/init.d/network restart 对网络配置进行生效
2...
ifconfig eth0 ip地址
---这样配置网络将会立即生效但是是临时的。。
3...
修改 /etc/sysconfig/network-scripts/ifcfg-eth0
这个文件里各个属性可以修改,包括ip,子网掩码,广播地址
,默认网关..是永久修改
/etc/rc.d/init.d/network restart 对网络配置进行生效
DEVICE=eth0 --设备名
ONBOOT=yes --开机是否启动
BOOTPROTO=dbcp --dbcp代表自动分配ip staic代表自己分配固
定ip
===》
rpm管理 redhat package manager
例如:apache-1.3.23-11.i386.rpm
=》rpm常用命令
rpm -qa --查询linux中安装哪些rpm软件
rpm -q 包名部分
rpm -i rpm包全路径名称 ---安装包到当前系统
rpm -ivh rpm包全路径名称 ---安装包到当前系统有提示和进度条
i = install
v = verbose
h = hash
rpm -e rpm包全路径名称 --删除rpm包
rpm -e --nodeps rpm包全路径名称 --强制删除rpm包
rpm -u rpm包全路径名称 --rpm包升级
===》
samba服务器 ---用于window和linux文件共享
samba的安装步骤
1.. 看看是否已经安装了samba
rpm -q samba
2.. 如有就卸载
rpm -e samba
3.. 把自己安装的文件挂载到linux下
4.. 把samba安装文件copy到/home目录下准备安装
5.. 开始安装
rpm -i samba安装rpm文件
6.. 创建一个用户 useradd xx。。。
7.. 添加samba的使用用户
cat /etc/passwd | mksmbpasswd.sh > /etc/samba/sabpasswd
8..设置samba密码
smbpasswd 用户
9.. 启动samba服务器,测试
service smb start ---启动smb服务
service smb stop ---停止smb服务
service smb restart ---重启smb服务
10..启动samba后在 windows中访问 //linux使用的ip
可以访问到linux中共享的文件
===》
设置任务调度命令crontab
1...
crontab -e --设置任务
2...
每隔一定时间去执行 date > /home/mydata1
希望,每天凌晨2:00去执行 date >> /home/mydata2
-- crontab -e 中加入0 2 * * * date >>
/home/mydata2
---0 2 * * * 带表了 分 时 月 年 星期
3.怎样去调度多个任务
1... 在crontab -e 中接着写
2... 可以把所有的任务,写入到一个可执行文件(shell 编程)
conrtab -r --终止 任务
===》
监控网络状态信息
进程.
进程就是正在执行的程序
线程
轻量级的进程
进程有独立的地址空间。线程没有
线程不能独立存在,它是由进程创建。
相对讲,线程耗费的cpu,和内存小于进程
ps命令用来查看目前系统中有哪些正在执行。以及它们执行的状况
1..ps -a --显示当前终端的所有进程信息
2..ps -u --以用户的格式显示进程信息
3..ps -x --显示后台进程运行参数
pa -aux --看的全面,信息也全面
kill 进程pid号 --终止进程
kill -9 进程pid号 --强制终止进程
killlall 进程pid号 --删掉该进程和所有子进程
top与ps命令很相似。它们都用来显示正在执行的进程。
Top与ps最大的不同之处。在于top在执行一段时间可以更新正在运行的进程
1.监视特定用户
top:输入此命令。查看执行的进程
u:然后输入u回车 再输入用户名,监视特定用户
2.终止指定的进程
top--》回车--》k --》回车--》进程id号
tip -d 10 ---指定系统更新进程的时间为10秒。
14:06:22 UP 4 MIN, 1 USER,LOAD AVERAGE:0.02,0.12,0.07
--4 min 代表系统启动了多久 1 user 用户数
--load average: 0.02,0.12,0.07 当前系统负载情况 如果/3>0.6就
代表系统使用率大于60%
37 processes: 36 sleeping,1 running,0 zombie, o stopped
--37 processes: 进程数 36 sleeping:休眠数 1 running 运行数
0 zombie 僵尸进程数 没用的进程 但是又占用了内存。
0 stopped 停止数
Cpu states : 0.0% user 0.1% system 0.0% nice 0.0% inwait 99.8% idle
--Cpu 使用情况 99.8% idle 代表有多少Cpu 闲置
Mem: 255264k av, 39428k used,215836k free, 0 shrd, 5528k buff
--内存使用情况 used 使用中的 free 空闲的
Swap: 257032k av, 0k used, 257032k free
--虚拟内存使用情况
date --显示系统时间 MMDDHHMMCCYY.SS 月月日日时时分分年年年年.秒秒
cal 3 2002 --查看2002年3月的日历
cal 2008 --查看2008的年历
netstat --网络信息
netstat -an --检测主机连接命令ping:
===》
Mysql数据库在linux下的使用
groupadd mysql
useradd -g mysql mysql
cd mysql --进入mysql 才能执行下面一句
scripts/mysql_install_db --user=mysql
chown -R root . (修改 文件的 所有者)
chown -R mysql data (修改date文件夹的所有者)
chgrp -R mysql . (改变用户组)
启动mysql
bin/mysqld_safe ---user =mysql & 【&表示以后台的方式启动】
检查一下
下面命令是在msql bin目录下执行的
cd bin
./mysql -u root -p
备份 mysqldump -u root -p密码 数据库名 > data.bak
恢复:mysql -u root -p密码 数据库名 < data.bak
看表的结构 --desc
用户环境变量配置root/home/用户/.bash_profile中添加路径
/.bashrc 用户登录的时候启动文件
系统环境变量配置 /etc/profile
/etc/bashrc
特别注意mysql驱动要存放的位置jdk下的。
/jre/lib/ext/
===》
ssh(secure shell)的使用
===》
ftp的安装与配置
===》
linux 下网络编程
1...如何使用linux
2...
3...
4...