1. Linux目录结构
bin (binaries) 存放二进制可执行文件
sbin(super user binaries) 存放二进制可执行文件,只有超级用户root才能访问
etc (etcetera) 存放系统的配置文件
usr (unix share resources) 存放共享的系统资源
home 存放用户文件的根目录
root 超级用户目录
dev (devices) 存放驱动设备文件
lib (libriry) 存放根文件系统中的程序运行所需的共享库及内核模块
mnt (mount) 系统管理员安装临时文件系统的安装点
boot 存放用于系统引导所需的文件
tem (temporary) 用于存放各种临时文件
var (variable) 存放系统运行时需要改变的数据文件
2. Linux常用命令
命令格式:命令 –选项参数
命令分类:
内部命令,属于shell解析器的一部分
外部命令,独立于shell解析器之外的文件程序
ls : 显示文件和目录列表(list)
参数: -l (long) , -a (all) , -t (time)
*l a t 可两两组合同事使用
cd: 改变路径 (change directory)
cd ~ :进入用户跟目录
cd ~ better :进入better用户根目录
cd - :返回到原来目录
cd .. :返回到上一级目录
pwd: 显示当前工作空间
help: 查看帮助文档 eg: help cd
*只对内部命令有效
mkdir :创建目录 (make directory)
-p (parent) directory :父目录不存在时先床架父目录
创建单个目录 mkdir src
创建多个目录 mkdir {src,WebRoot}
touch :创建空文件
创建单个文件 touch .classpath
创建多个文件 touch .classpath readme
touch /home/{a.txt,b.txt}
stat :查看文件状态
例:
stat touch1.txt //查看touch1.txt文件的相关信息
echo :
向一个txt文件中写入内容:echo “this is test” > test.txt
向readme文件的末尾写入内容:echo “please read me first” >> readme
将test.txt的内容追加到README文件中:cat test.txt >> README
cp :复制文件或目录(copy)
-r 递归复制
复制studylinux文件夹到studylinuxcopy文件夹下:cp –r studylinux studylinuxcopy
mv :移动文件或目录、文件或目录名修改(move)
移动test.txt文件到src中,并更名为Student.java : mv test.txt src/Student.java
>:创建文件,相当于touch
创建stuts.xml > struts.xml
rm :删除文件(remove)
-r 同时删除该目录下的所有文件 (recursive递归)
-f 强制删除文件或目录 (force)
删除所有的xml文件:rm –rf *.xml
wc :统计文本的字符数、字数、行数(word count)
-m 统计文本字符数
-w 统计文本子数
-l 统计行数
统计test.txt中的数据:wc – m test.txt , wc – w test.txt , wc –l test.txt
find :在文件系统中查找指定的文件
在etc文件下查找名为aaa的文件:find etc –name “aaa”
cat :显示文本文件内容(catenate)
cat test.txt
more/less 分页显示文本文件的内容
head/tail 查看文本中的开头或结尾部分的内容
head –n 5 a.log 查看a.log的前5行
tail –f a.log 循环查看a.log (fello)
grep :在指定的文件中查找指定的字符串
top :显示系统中当前耗费资源最多的进程
ps :显示瞬间的进程状态
-e/-A 显示所有进程和环境变量
-f 全格式
-a 显示所有用户的所有进程
-u 按用户名和启动的时间来排序
-x 显示无控制终端的进程
kill :杀死一个进程
kill -9 pid
df :显示文件系统磁盘空间的使用情况
du :显示指定文件(目录)已使用的磁盘空间
-h 文件大小以k、 m、 g为单位显示
-s 只显示个档案大小的综合
查看src目录所占的磁盘空间:du –h src
free :显示当前内存和交换空间的使用情况
netstat :显示网络状态信息
-a 显示所有连接和监听端口
-t 仅显示tcp相关选项
-u 仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转换为数字
-p 显示建立相关连接的程序名
ifconfig :显示网卡网络配置详情
ping :测试网络的连接性
备份压缩命令:
gzip 压缩(解压)文件或目录,压缩文件后缀为gz
-d 将压缩文件解压(decompress)
-l 显示压缩文件的大小,未压缩文件的大小,压缩比(list)
-v 显示文件名和压缩比(verbose)
-num用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6
gzip a.txt //压缩a.txt -> a.txt.gz
gunzip a.txt.gz / gzip –d a.txt.gz //解压缩 -> a.txt
bzip2 压缩(解压)文件或目录,压缩文件后缀为bz2
-d 解压缩
bzip2 a.txt //压缩a.txt ->a.txt.bz2
bzip2 –d a.txt.bz2 //解压缩 a.txt.bz2 -> a.txt
bunzip2 a.txt.bz2 //同上
tar 文件、目录打包、解包
-c 创建create
-v verbose
-f file
-x 解包 extract
-r 追加 append
-z 压缩 gzip
-C 改变目录路径 directory = DIR
-t 列出tar包中的文件 list
-j bzip2压缩 bzip2
tar -cvf bak.tar . //将当期目录的文件打包
tar –rvf bak.tar /etc/password //将/etc/password目录下的文件追加到bak.tar中
tar –zcvf bak.tar.zp . //将当前目录打包并压缩成gzip
tar –xvf bak.tar //解包 bak.tar
tar –zxvf bak.tar.zp //解包、解压缩bak.tar
tar -zxvf a.tar.gz -C /usr //解压到/usr路径下
tar –ztvf bak.tar.zp //查看zip包中的文件
tar -jcvf a.tar.bz2 . //bzip2打包当前文件夹
tar –jxvf a.tar.bz2 //解压bzip2包
系统命令:
last/lastlog 查看用户最近登录状况
df 查看硬盘使用情况
du 查看文件大小
du –b tartest.tar //以字节为单位查看文件大小
top 查看进程信息
kill 结束进程
kill 1234
kill -9 4333
hostname 查看主机名称
hostname hadoop 修改主机名称(重启后无效)
vi /ect/sysconfig/network 修改主机名(重启后有效)
ifconfig eth0 192.168.12.22 修改ip,重启后无效
vi /etc/sysconfig/network-scripts/ifcfg-eth0 修改ip,重启后有效
uname 查看系统信息
id 查看用户id信息
-g 组信息
-G 所有组信息
-u 用户id (userid)
cal 查看某年日历
cal 2014 查看2014年日历
mount
umount 挂载硬盘
mount -t cifs //192.168.1.100/tools /mnt 加载共享资源
shutdown 关机
-r 重启 reboot
-h 关机 halt or power off after shutdown
shutdown -h now 立即关机
shutdown –r now 立即重启
VIM文本编辑器
用户组和用户
l 保存用户信息的文件:/etc/passwd
l 保存密码的文件:/etc/shadow
l 保存用户组的文件:/etc/group
l 保存用户组密码的文件:/etc/gshadow
l 用户配置文件:/etc/default/useradd
用户分类:
l 超级用户:(root,UID=0)
l 普通用户:(UID在500到60000)
l 伪用户:(UID在1到499)
• 系统和服务相关的:bin、daemon、shutdown等
• 进程相关的:mail、news、games等
• 为用户不能登陆系统,而且没有宿主目录
l 每个用户至少属于一个用户组
l 每个用户组可以包含多个用户
l 同一个用户组的用户享有该组共有的权限
groupadd 创建用户组
-g 制定组id (gid)
例:
groupadd –g 758 itheima //创建一个名为itheima的用户组,组ID为758
groupmod 修改用户组
-n 修改组名称(new group)
例:
group –n itheima1 ithiema //将用户组itheima的名称改为itheima1
groupdel 删除用户组
例:
group itheima1 //删除名为itheima1的用户组
groups 显示用户所属的组
useradd 添加用户
-u 指定用户ID (uid)
-g 制定所属组名 (gid)
-G 指定多个组,用逗号分隔(Groups)
-c 用户描述(comment)
-e 失效时间(expire date)
例:
useradd -u 888 -g users -G sys,root -c "hr zhang" zhangsan
useradd –u 751 –g myusers –c “this is dongdong” dongong
useradd –g myusers –c “this is xixi.” Xixi
usermod 修改用户信息
-l 修改用户名(login)
-g 修改组
-G 添加多个组
-L 锁定用户账户和密码(lock)
-U 解锁用户账户(unlock)
例:
usermod –l test1 test //把名为test1的用户名改为test1
usermod –g users test //修改用户test所属组为users
usermod –G users,myusers test //修改用户test所属的组为users 和 myusers
userdel 删除账户
-r 删除账户的同时删除目录(remove)
例:
userdel –r test //删除test用户及其所属目录
passwd 设置用户密码
例:
passwd test //设置test用户的密码
gpasswd 删除用户的组信息
-d
例:
gpasswd –d test users //将test用户的users组信息移除
权限管理
l 三种基本权限
• r 读权限(read)
• w 写权限(write)
• x 执行权限(execute)
用数字来表示权限(r=4,w=2,x=1,-=0)
例如:chmod 750 b.txt
rwx用二进制表示是111,十进制4+2+1=7
r-x用二进制表示是101,十进制4+0+1=5
-rwxrw-r—
l 第1位:文件类型(d 目录,- 普通文件,l 链接文件)
l 第2-4位:所属用户权限,用u(user)表示
l 第5-7位:所属组权限,用g(group)表示
l 第8-10位:其他用户权限,用o(other)表示
l 第2-10位:表示所有的权限,用a(all)表示
完整信息:一个文件,所属用户具有读写执行权限;所属组的用户
有读写权限,没有执行权限;其他用户只有读权限
例子:
创建a.txt和b.txt文件,将他们设为其拥有者和所在组可写入,但其他以外的人则不可写入:
chmod ug+w,o-w a.txt b.txt
创建c.txt文件所有人都可以写和执行
chmod a=wx c.txt 或chmod 666 c.txt
将/itcast目录下的所有文件与子目录皆设为任何人可读取
chmod -R a+r /itcast
将/itcast目录下的所有文件与子目录的拥有者设为root,用户拥有组为users
chown -R root:users /itcast
将当前目录下的所有文件与子目录的用户皆设为itcast,组设为users
chown -R itcast:users *
搭建javaee开发环境
VMVare文件夹共享:
1. VM -> setting -> operations -> shared folders
2. iso文件挂载:vm->setting - > HardWare - > cd/dvd(ide)
在user iso file 下选择一个本地的iso文件
利用mont 和 unmont命令对iso文件进行挂载和卸载
jdk的安:
词语解释:
挂载:linux对文件系统的管理的采用挂载的方式完成的,例如有一块硬盘,如果想在linux下对硬盘上的文件进行操作,就需要先将这块硬盘挂载到liuux上,这次在linux上就可以使用了,不用的时候直接将改硬盘卸载即可
未完待续.....