最近也有点迷茫,作为一个JAVA程序员但还是忍不住linux的诱惑隔几天想看一下研究一下。
首先推荐几本linux好书:
鸟哥的私房菜
LINUX从入门到精通
LINUX内核完全剖解,
LINUX 命令,编辑器和SHELL编程
linux与UNIX编程指南
LINUX输入密码不显示任何东西
进入桌面命令:startx
关机:shutdown -h now
重启:shutdown -r now /reboot
尽量少用root登录,用普通用户,“su -”来切换
注销 logout 快捷键ctrl+D
LINUX的文件目录
L的文件系统是采用级层式的树状目录结构,最上层的根目录:/:,
ROOT:存放ROOT用户的相关文件
HOME :存放普通用户的相关文件(新建的用户)
BIN:存放常用命令的目录 cd 切换目录 ls dir
SBIN:存放要具有一定权限才可以使用的命令
MNT:默认挂载光驱和软驱的目录
ETC:存放配置相关的文件,mysql,tomcat,
USR:文件默认安装的文件夹,类似XP的program files
VAR:存放经常变化的数据,如网页,apache
BOOT:存放引导相关的文件
显示当前在哪个目录:pwd
用户管理
添加用户 useradd useradd xiaoming
设置密码 passwd passwd xiaoming 系统会提示输入新密码,两次输入
提示符#表示root用户 $ 表示普通用户
删除用户 userdel userdel xiaoming 只是删除用户名称 OR userdel -r xiaoming 删除用户以及用户主目录
init 运行级别(XP的安全模式与正常的启动模式)
0 关机
1 单用户
2 多用户状态没有网络服务
3 多用户有网络服务
4 系统未使用保留多用户
5 图形界面 startx
6 系统重启
常用的是3与5,要修改可改文件 /etc/inittab的
id:5:initdefault:这一行中的数字
设为6后一直重启,如何更改:
在启用GRUB的时侯,按“e”,选中第二项,按“e”,进入修改界面,在最后输入空格+1,这个就是表示1号运行级别。只能用1来启动!,最后按b 。
用运行级别1 可以绕过ROOT密码,不需要密码就可以用,用passwd就OK
文件所有者,所在组,其它组
OWNER ; GROUP;OTHERS
可以更件文件的所有者,chown,也可以改变用户组 chgrp
案例:建两个组, policeman ,tufei
建三个用户:along ,panpan( 属于policeman),ashuai(属于tufei)
用along 这个用户登录到系统,创建一个文件,ls -1
现在添加组 只能在ROOT下操作
groupadd policeman
如何查看现有组:vi /etc/group cat /etc/group
查看所有用户信息:cat /etc/passwd
cat 只能看不能写,VI可以看可以改
创建用户,并添加到指定组
useradd -g 组名 用户名
useradd -g policeman along
UID用户ID,GID组ID
以-rw-r--r--为例
第一个“-” 表示文件,如果是目录就用“d”表示
第二--四:代表文件所有组对此文件所具有的权限
R可读 数字表示4 W可写 数字表示2 X可执行 数字表示1
文件最大权限666,目录最大权限777
第五--七:代表文件所在组对此文件所具有的权限
第八--十:代表其它组对此文件所具有的权限
如何修改文件的访问权限的问题:(panpan 无法进入along 主目录)
1、查看along 主目录的属性 drwx------
2、修改along主目录的属性(进入root或者文件夹所有者) chmod 777 along
命令: who am i 查看当前使用者是谁,
chmod 修改权限
任务:可以让PANPAN修改myTEST.java
chmod 664 myTEST.java
把一个用户移值到另一个组:
usermod -g 组名 用户名
usermod -g policeman ashuai
chown 用户名 文件名 修改文件所有者
chgrp 组名 文件名 修改文件所有组
shell有很多种类,常用的有如下几种:
/bin/ash
/bin/bash----bash 中国常用
/bin/tcsh-----csh
/bin/ksh
查看电脑有多少个shell:
ls -l /bin/*sh
查看目前使用的是哪种SHELL
env [此命令可以显示当前操作系统的环境变量]
修改其它的SHELL
chsh -s 输入新的SHELL(/bin/csh)
注销下再重新登录,使用 env
不同的SHELL 可能有不同的命令
SHELL 命令补全功能 TAB
直接输入MK,再按两下TAB,出现两头两个字母为MK的命令。cat p再按两个TAB ,会出现开头字母为p 的文件或字母
查阅历史记录命令:history
无参数,就全部列出来
history 5 最近使用的5个命令
!5 :此项说明执行历史编号为5的命令
!ls :此项说明执行最后一次以"ls"开头的命令
linux下配置IP
第一种方法: root登录,运行setup----network configuration
配置完成后,重启生效/etc/rc.d/init.d/network restart
第二种方法
1、ifconfig eth0 192.168.88.44
2、ifconfig eth0 network XXXX ,子网掩码
只是临时有效
第三种方法
直接修改文件:/etc/sysconfig/network-scripts/ifcfg-eth0,这个文件中直接设置
里面的内容主要如下:
onboot=yes (NO=禁用)
bootproto=static(静态)/dhcp(动态)
注:在LINUX中所有的设备都是文件。方便编程!
RPM常用命令
如何查询linux中安装哪些RPM
rpm -qa
rpm -q mysql(查询是否装了mysql)
-qi,-ql,-qf
安装RPM包
rpm -i RPM包全路径名称
删除RPM包
rpm -e jdk
升级RPM包
rpm -u RPM包全路径名称
如何安装samba
1、检查是否已经装了samba
rpm -q samba
2、有安装,就把它删除
rpm -e samba rpm -e --nodeps samba 忽略错误删除
3、把安装文件挂载到mount /mnt/cdrom/
4、 cp sam* /home
把sam开头的文件copy到home,准备安装
5、开始安装
先装cmmon
rpm -ivh 文件名
rpm -ivh samba-2.2............
安装成功
6、创建一个用户youyou
useradd youyou 自动创一个用户和组
youyou组 youyou 用户
passwd youyou
7、给youyou设置samba密码
cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
把/etc/passwd用户都复制到/etc/samba/smbpasswd中
8、设置密码
smbpasswd youyou
9、启动samba服务器
service smb start
service smb stop
service smb restart
linux IP 192.168.222.88
在windows命令行下输入\\192.168.222.88
输入密码
samba 的详细配置 [设置某个用户只能读的权限]
任务调度命令 可以定时备份
crontab -e ,加入如下代码:
0 2 * * * date >>/home/mydata2
0 2 * * * 表示 第几分钟,小时,几号,月,星期几
如果希望每分钟执行
* * * * * date >>/home/mydata2
调度文件的规则:分,小,几号,月,星期 命令名称
如果月设为13,这时系统不会执行,也不会报错
3、如何去调度多个任务
1)在crontab -e 中直接写
缺点:太多,太乱,不好管理,没有系统化
2)可以把所有的任务,写入到一个可执行文件(SHELL 编程),类似于windows批处理状态
建议用这个方法
vi mytask.sh 写入文件,如上
.sh 表示shell
chmod 修改权限 必须要有X权限
crontab -e 进入,* * * * * /root/mytask.sh
可以把多个文件放到里面
4、如何终止任务
crontab -r 终止任务 删除里面的内容
crontab -l 列出当前有哪些任务调度
top 命令
up 4 min 表示系统启动了多长时间
1 user 表示当前有多少个用户登录这个系统
load average:负载均衡 当前系统负载情况
三个数加起来除以3,大于0.6,就要小心了!
37 processes 启动了多少个进程
0 zombie 僵尸进程数 一个进程不能被系统回收,未用仍占进程!
CPU states idle 闲置的CPU 越大越好
Mem 内存信息 used free
Swap 交换分区
按q 退出
指定监控某个用户 u