1,dev:(设备)linux的特点,管理任何东西,包括硬件设备,都会每一个设备就是一个文件映射成一个文件,
方便开发者进行读写,(开发应用,监控设备的运行状态)
2,etc:核心的重要文件放在此目录下
3,用户文件的根目录,用于存放用户文件的根目录 --->相当于win7下的C:\Users目录,(在此目录下存放着此计算机中的所有用户)
4,root:admin用户(超级用户,管理员用户)放在此目录下而没有放在home目录下,它的执行文件在sbin目录下,而没在bin目录下
5 ,bin 存放二进制可执行文件(ls,cat,mkdir等)
6,boot 存放用于系统引导时使用的各种文件
7,usr 用于存放系统应用程序,比较重要的目录/usr/local 本地管理员软件安装目录
8,opt 额外安装的可选应用程序包所放置的位置
9, mnt 系统管理员安装临时文件系统的安装点(挂载,例如硬盘连接到linux上时,远程目录访问也叫挂载:我们把windows的一个目录挂载到linux上,此时linux访问windows上的这个目录就像访问自己的目录一样)
二:文件目录操作命令
进入 home/itcast 目录 ygq@ubuntu:~$ --->ygq:代表用户名 ubuntu:代表机器名 ~:代表用户的路径(home目录所在的目录) $:代表用户名
ygq@ubuntu:~$ pwd
/home/ygq
1,pwd:查看当前工作目录(present,work,directory)
2,ls;查看并列出当前目录下的所有文件
ls 显示文件和目录列表
-l 列出文件的详细信息
-a 列出当前目录所有文件,包含隐藏文件
3,mkdir 创建目录
-p 父目录不存在情况下先生成父目录
4,cd 切换目录
5,touch 生成一个空文件
6,echo 生成一个带内容文件--->相当于system.out 输出一段内容
ygq@ubuntu:~/family20130810/house/roomB$ echo "hello world"
hello world
ygq@ubuntu:~/family20130810/house/roomB$ echo "you are the best boy">book.txt 将"you are the best boy"写到book.txt文件中 (>重定向符:将要写的数据写到要创建的目录中)
7,cat、tac 显示文本文件内容
ygq@ubuntu:~/family20130810/house/roomB$ cat book.txt
you are the best boy
8,cd ../roomB -->回到上级目录并进入roomB目录下
9,cp 复制文件或目录
q@ubuntu:~/family20130810/house/roomC$ cp doll.txt ../roomB -->需要一个源和一个目的
10,rm 删除文件
-r 同时删除该目录下的所有文件
-f 强制删除文件或目录
ygq@ubuntu:~/family20130810/house/roomB$ rm doll.txt
11,wc(word,count)wc 统计文本文档的行数,字数,字符数
ygq@ubuntu:~/family20130810/house/roomB$ wc book.txt
1 5 21 book.txt -->一行,5个单词,21个字符
12,grep 在指定的文本文件中查找指定的字符串
ygq@ubuntu:~/family20130810/house/roomB$ grep "best" book.txt
you are the best boy
13,mv 移动文件或目录、文件或
mv aaa bbb 将aaa改名为bbb
ygq@ubuntu:~/family20130810/house$ mv sofa.txt roomB -->有源和目的地
查看:
gq@ubuntu:~/family20130810/house/roomB$ ls
bed.txt book.txt sofa.txt
//移动并修改文件名称
ygq@ubuntu:~/family20130810/house/roomB$ mv sofa.txt ../sofa-son.txt
14,find 在文件系统中查找指定的文件
-name 文件名
ygq@ubuntu:~/family20130810$ find -name book.txt
./house/roomB/book.txt
./house/roomC/book.txt
15,rmdir 删除空目录
ygq@ubuntu:~/family20130810/house/roomA$ touch bed.txt
ygq@ubuntu:~/family20130810/house/roomA$ ls
bed.txt
ygq@ubuntu:~/family20130810/house/roomA$ cd ..
ygq@ubuntu:~/family20130810/house$ rmdir roomA
rmdir: failed to remove `roomA': Directory not empty
ygq@ubuntu:~/family20130810/house$ rm roomA
rm: cannot remove `roomA': Is a directory
ygq@ubuntu:~/family20130810/house$ rm -r roomA
ygq@ubuntu:~/family20130810/house$ ls
roomB roomC sofa-son.txt
16,tree 显示目录目录改名树
17,ln 建立链接文件(相当于windows中的快捷方式)
ygq@ubuntu:~/family20130810$ sudo ln -s /home/ygq/family20130810/house/roomB /home/rB
ygq@ubuntu:~/family20130810$ cd /home
ygq@ubuntu:/home$ ls
rB ygq
ygq@ubuntu:/home$ cd rB
ygq@ubuntu:/home/rB$ pwd
/home/rB
ygq@ubuntu:/home/rB$ ls
bed.txt book.txt roomB
ygq@ubuntu:/home/rB$ cat book.txt
you are the best boy
18,more、less 分页显示文本文件内容
ygq@ubuntu:/home/rB$ more book.txt
you are the best boy
19,Head、tail分别显示文件开头和结尾内容
ygq@ubuntu:/home/rB$ man head
ygq@ubuntu:/home/rB$ head -n0 book.txt
ygq@ubuntu:/home/rB$ head -n1 book.txt
you are the best boy
ygq@ubuntu:/home/rB$ head -c3 book.txt
youygq@ubuntu:/home/rB$ tail book.txt
you are the best boy
20,man 当不明确命令的使用方式的时候用,格式为:man+所要查询的命令
三;系统管理命令
1,who、w 显示在线登录用户
ygq@ubuntu:~$ w
21:56:44 up 4:16, 3 users, load average: 0.54, 0.32, 0.34
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
ygq tty7 :0 17:42 4:15m 4:51 1.33s gnome-session
ygq pts/0 :0.0 21:25 1:21 0.54s 0.54s bash
ygq pts/1 :0.0 21:55 0.00s 0.35s 0.04s w
ygq@ubuntu:~$ who
ygq tty7 2013-08-10 17:42 (:0)
ygq pts/0 2013-08-10 21:25 (:0.0)
ygq pts/1 2013-08-10 21:55 (:0.0)
2,whoami 显示用户自己的身份
ygq@ubuntu:~$ whoami
ygq
3,uname显示系统信息
ygq@ubuntu:~$ uname
Linux
ygq@ubuntu:~$ uname -a
Linux ubuntu 2.6.35-22-generic #33-Ubuntu SMP Sun Sep 19 20:34:50 UTC 2010 i686 GNU/Linux
ygq@ubuntu:~$
2.6.35-22-generic:linux的版本号,2:主版本号 6:次版本号(偶数时代表稳定的,奇数为不稳定的的版本) 35-22:小版本号
4,hostname 显示主机名称
ygq@ubuntu:~$ ^C
ygq@ubuntu:~$ hostname
ubuntu
ygq@ubuntu:~$ hostname ubuntu1
hostname: you must be root to change the host name
ygq@ubuntu:~$ sudo hostname ubuntu1
[sudo] password for ygq:
ygq@ubuntu:~$ hostname
ubuntu1
5,top:显示当前(实时状态)系统中耗费资源最多的进程 (相当于windows中的任务管理器)
ygq@ubuntu:~$ top
top - 22:27:42 up 13 min, 2 users, load average: 0.59, 0.63, 0.40
Tasks: 131 total, 1 running, 130 sleeping, 0 stopped, 0 zombie
Cpu(s): 15.6%us, 3.0%sy, 0.0%ni, 81.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1025232k total, 635644k used, 389588k free, 39976k buffers
Swap: 492540k total, 0k used, 492540k free, 454412k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1528 root 20 0 157m 15m 6636 S 18.5 1.6 0:22.87 Xorg
2078 ygq 20 0 89892 13m 10m S 3.3 1.3 0:03.65 gnome-terminal
2182 ygq 20 0 2624 1124 844 R 0.7 0.1 0:00.11 top
1435 root 20 0 36588 4052 3352 S 0.3 0.4 0:01.83 vmtoolsd
1803 ygq 20 0 40420 14m 11m S 0.3 1.4 0:02.33 vmtoolsd
1884 root 20 0 5616 728 452 S 0.3 0.1 0:00.24 udisks-daemon
1 root 20 0 2892 1688 1224 S 0.0 0.2 0:01.97 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.09 ksoftirqd/0
4 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0
6 root 20 0 0 0 0 S 0.0 0.0 0:00.11 events/0
7 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuset
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khelper
9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 netns
10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 async/mgr
11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 pm
ygq@ubuntu:~$
6,ps 显示瞬间的进程状态
ygq@ubuntu:~$ ps
PID TTY TIME CMD
2082 pts/0 00:00:00 bash
2214 pts/0 00:00:00 ps
7,du 显示指定的文件(目录)已使用的磁盘空间的总量
gq@ubuntu:~$ du /home/ygq/family20130810/
8 /home/ygq/family20130810/house/roomB
8 /home/ygq/family20130810/house/roomC
4 /home/ygq/family20130810/house/roomA
24 /home/ygq/family20130810/house
28 /home/ygq/family20130810/
8,df 显示文件系统磁盘空间的使用情况
gq@ubuntu:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 9.4G 2.2G 6.8G 25% /
none 496M 232K 495M 1% /dev
none 501M 252K 501M 1% /dev/shm
none 501M 100K 501M 1% /var/run
none 501M 0 501M 0% /var/lock
9,ifconfig 显示网络接口信息
gq@ubuntu:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:0c:29:f6:3f:07
inet addr:192.168.232.128 Bcast:192.168.232.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fef6:3f07/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:209 errors:0 dropped:0 overruns:0 frame:0
TX packets:207 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:75282 (75.2 KB) TX bytes:43416 (43.4 KB)
Interrupt:19 Base address:0x2024
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:12 errors:0 dropped:0 overruns:0 frame:0
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:720 (720.0 B) TX bytes:720 (720.0 B)
10,free 显示当前内存和交换空间的使用情况
ygq@ubuntu:~$ free
total used free shared buffers cached
Mem: 1025232 661340 363892 0 40840 478068
-/+ buffers/cache: 142432 882800
Swap: 492540 0 492540
11,Alias 设置命令别名
alias [别名]=[“指令名”]
ygq@ubuntu:~$ alias showp="ps -ef"
ygq@ubuntu:~$ showp ---->此时的showp命令的功能与ps -ef的功能相同
解除别名:unalias=showp
ygq@ubuntu:~$ unalias showp
ygq@ubuntu:~$ showp
No command 'showp' found, did you mean:
Command 'showg' from package 'nauty' (multiverse)
Command 'show' from package 'nmh' (universe)
Command 'show' from package 'astk' (universe)
showp: command not found
12,Kill 杀死进程
ygq@ubuntu:~$ kill -9 2060
13,Clear 清屏
14,tar命令
命令格式:
tar [-cxzjvf] 压缩打包文档的名称 欲备份目录
参数:
-c :建立一个归档文件的参数指令
-x :解开一个压缩文件的参数指令!
-z :是否需要用 gzip 压缩?
-j :是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件
-f :使用档名,在 f 之后要立即接档名
-tf :查看归档文件里面的文件
将整个/home/itcast/familyA目录下的文件全部打包成为/home/itcast/familyA.tar
仅打包,不压缩
tar -cvf /home/itcast/familyA.tar /home/itcast/familyA
打包后,以gzip压缩
tar -zcvf /home/itcast/familyA.tar.gz /home/itcast/familyA
打包后,以bzip2压缩
tar -jcvf /home/itcast/familyA.tar.bz2 /home/itcast/familyA
# 特别注意,在参数f之后的文件档名是自己取的,我们习惯上都用.tar来作为辨识
# 如果加z参数,则以.tar.gz或.tgz来代表gzip压缩过的tar file
# 如果加j参数,则以.tar.bz2来作为文档名
eg:例子
//压缩
ygq@ubuntu:~$ tar -zcvf family20130810.tar.gz family20130810
family20130810/
family20130810/house/
family20130810/house/roomB/
family20130810/house/roomB/bed.txt
family20130810/house/roomB/book.txt
family20130810/house/roomB/roomB
family20130810/house/sofa-son.txt
family20130810/house/roomC/
family20130810/house/roomC/doll.txt
family20130810/house/roomC/bed.txt
family20130810/house/roomC/book.txt
family20130810/house/roomA/
family20130810/monther.txt
family20130810/father.txt
family20130810/daughter.txt
family20130810/son.txt
ygq@ubuntu:~$ ls
Desktop Downloads family20130810 Music Public Videos
Documents examples.desktop family20130810.tar.gz Pictures Templates
//解压缩:
注意:压缩的时候,在原来的目录下还有压缩前的文件,为了在解压缩的时候将原来的文件覆盖,先要将原来的文件备份
ygq@ubuntu:~$ mv family20130810 family20130810-bak
ygq@ubuntu:~$ ls
Desktop Downloads family20130810-bak Music Public Videos
Documents examples.desktop family20130810.tar.gz Pictures Templates
//解压
ygq@ubuntu:~$ tar -zxvf family20130810.tar.gz
family20130810/
family20130810/house/
family20130810/house/roomB/
family20130810/house/roomB/bed.txt
family20130810/house/roomB/book.txt
family20130810/house/roomB/roomB
family20130810/house/sofa-son.txt
family20130810/house/roomC/
family20130810/house/roomC/doll.txt
family20130810/house/roomC/bed.txt
family20130810/house/roomC/book.txt
family20130810/house/roomA/
family20130810/monther.txt
family20130810/father.txt
family20130810/daughter.txt
family20130810/son.txt
14,关机/重启命令
shutdown系统关机
r 关机后立即重启
h 关机后不重新启动
now 立即关机
halt 关机后关闭电源
reboot 重新启动
Shutdown –r 12:30/now
Shutdown –r now=reboot
Shutdown –h now=halt
15,Linux 管道
简单地说,一个通道接受一个工具软件的输出,然后把那个输出输入到其它工具软件。使用UNIX/Linux的词汇,这个通道接受了一个过程的标准输出,
并把这个标准的输出作为另一个过程的标准输入。如果你没有重新定向这个输出,这个输出就在屏幕上显示出来。使用一个通道,你可以重新定向这个输出,
这样它就变成了另一个工具软件的标准的输入。
例如:grep –r “best” /home/* | more
四:dpkg软件包管理工具 (dpkg(Debian Package)管理工具 ,Ubuntu 相关的软件包文件使用 .deb 后缀,就是因为Ubuntu 与 Debian GNU/Linux 发行版有着紧密的关系)
1.要安装 .deb 文件可以打开一个终端并输入: sudo dpkg -i package_file.deb 来安装 .deb 文件.
2.卸载:如需卸载 .deb 文件输入:
sudo dpkg -r package_name --->ygq@ubuntu:~$ sudo dpkg -r tree
注意:在安装的时候,需要进入到.deb文件所在的目录执行安装命令;而在卸载的时候在那个目录下都可以执行
五,APT软件包管理
APT 使用的一些常用命令:
安装软件包:
sudo apt-get install packagename
删除软件包:
sudo apt-get remove packagename
获取新的软件包列表:
sudo apt-get update
升级有可用更新的系统:
sudo apt-get upgrade
列出更多命令和选项:
apt-get help
六,VIM编辑器的使用
VIM的运行模式
编辑模式:等待编辑命令输入
插入模式:编辑模式下,输入 i 进入插入模式,插入文本信息
命令模式:在编辑模式下,输入 “:” 进行命令模式
步骤:
1,ygq@ubuntu:~/family20130810/house$ vi bank.txt 此时进入编辑模式
2,按"i "进入插入模式,此时可以进行编辑
3,按"ESC"返回到编辑模式,再按":"进入命令模式
VIM 使用的命令
:q 直接退出vi
:wq 保存后退出vi ,并可以新建文件
:q! 强制退出
:w file 将当前内容保存成某个文件
:set number 在编辑文件显示行号
:set nonumber 在编辑文件不显示行号
七,账户系统文件
A./etc/passwd 每行定义一个用户账户,此文件对所有用户可读。每行账户包含如下信息:
用户名:口令:用户标示号:组标示号:注释:宿主目录:命令解释器
root:x:0:0:RedHat Linux:/root:/bin/bash
口令是X,说明用户的口令是被/etc/shadow文件保护的
用户标识号:系统内唯一,root用户的UID为0,普通用户从1000开始,1-999是系统的标准账户
宿主目录:用户登录系统后所进入的目录
命令解释器:指定该用户使用的shell ,默认的是/bin/bash
B./etc/shadow 为了增加系统的安全性,用户口令通常用shadow passwords保护。只有root可读。每行包含如下信息:
用户名:口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
root:$1$K4gXdkjf$TIKrvWuldq6oQ4HEoFIGQ/:14831:0:99999:7:::
最后一次修改时间:从1970-1-1起,到用户最后一次更改口令的天数
最小时间间隔:从1970-1-1起,到用户可以更改口令的天数
最大时间间隔:从1970-1-1起,必须更改的口令天数
警告时间:在口令过期之前几天通知
不活动时间:在用户口令过期后到禁用账户的天数
C./etc/group
将用户进行分组时Linux对用户进行管理及控制访问权限的一种手段。一个组中可以有多个用户,一个用户可以同时属于多个组。该文件对所有用户可读。
组名:组口令:gid:组成员
root:x:0:root
D./etc/gshadow
该文件用户定义用户组口令,组管理员等信息只有root用户可读。
root:::root
使用命令行工具管理账户
useradd 用户名
useradd –u(UID号)
useradd –p(口令)
useradd –g(分组)
useradd –s(SHELL)
useradd –d(用户目录)
usermod –u(新UID)
usermod –d(用户目录)
usermod –g(组名)
usermod –s(SHELL)
usermod –p(新口令)
usermod –l(新登录名)
usermod –L (锁定用户账号密码)
usermod –U (解锁用户账号)
userdel 用户名 (删除用户账号)
userdel –r 删除账号时同时删除目录
组账户维护命令
groupadd 组账户名 (创建新组)
groupadd –g 指定组GID
groupmod –g 更改组的GID
groupmod –n 更改组账户名
groupdel 组账户名 (删除指定组账户)
口令维护命令
passwd 用户账户名 (设置用户口令)
passwd –l 用户账户名 (锁定用户账户)
passwd –u 用户账户名 (解锁用户账户)
passwd –d 用户账户名 (删除账户口令)
gpasswd –a 用户账户名 组账户名 (将指定用户添加到指定组)
gpasswd –d 用户账户名 组账户名 (将用户从指定组中删除)
gpasswd –A 用户账户名 组账户名 (将用户指定为组的管理员)
例子:
ygq@ubuntu:/etc$ sudo passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
将用户切换到root用户下:
ygq@ubuntu:/etc$ su - root
Password:
root@ubuntu:~#
八,用户和组状态命令
su 用户名 切换用户账户
su root
su - root
id 用户名 显示用户的UID,GID
whoami 显示当前用户名称
groups 显示用户所属组
sudo
cat /etc/sudoers
九:软件的安装
1.进入usr目录
cd /usr
2.在usr目录下建立java安装目录
mkdir java
3.将jdk-6u24-linux-i586.bin拷贝到java目录下
cp /home/itcast/Desktop/jdk-6u24-linux-i586.bin /usr/java/
4.安装jdk
cd /usr/java
./jdk-6u24-linux-i586.bin
5.安装完毕为他建立一个链接以节省目录长度
ln -s /usr/java/jdk1.6.0_24/ /usr/jdk
6.编辑配置文件
vim /etc/profile
添加如下内容:
JAVA_HOME=/usr/jdk
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
8.重启机器或source /etc/profile
sudo shutdown -r now
9.查看安装情况
java -version
待续!!!!!!!!!!!!!!!!!!!!!!!!!!!!