《Linux(第1—4章)总结》
1. linux操作系统的特点:开放性,多用户,多任务,良好的用户界面,设备独立性,出色的速度性能,丰富的网络功能,可靠的安全性,可移植性强,安全符合POSIX标准,UNIX的完整实现,开发功能强。
2. linux内核版本有三个数字组成
r:是目前发行的主版本。
x:偶数为稳定版本,奇数为测试中的版本。
y:是错误修补的次数。
3. linux的分区
硬盘的分区主要分为基本分区和扩充分区。基本分区和扩充分区的数目之和不能大于4。且基本分区可以马上被使用但不能再分区。扩充分区必须再进行分区后才能使用,即它必须还要进行二次分区,扩充分区再分为逻辑分区。
4. linux的分区名称规定
IDE设备前缀为hd,SCSI设备前缀为sd。每一个硬盘最多只能有4个主分区,在linux中最多可以划分16个分区(包括逻辑分区),并规定主分区和扩展分区占用1-16编号中的前4个。那么hda1,hda2,hda3,hda4就可以代表第一个IDE设备中的三个主分区和一个扩展分区,而hda5-hda16必定是逻辑分区。一般来说,linux需要一个swap分区,一个boot分区,一个usr分区,一个home分区,一个var/log分区,可以根据实际需要确定。Linux下最少要有两个分区,一个是swap交换分区,一个是根分区。Swap交换分区需要的大小根据官方的说法,应该是实际内存的两倍,但实际情况建议不超过1GB,不低于128MB。
5. 登录内容
Linux有超级用户和普通用户之分,普通用户名称是任意的,用户数量没有限制,使用系统工具或命令进行创建,而超级用户的用户名为root,只有一个。
登录——login
注销——logout
关机——shutdown
重启——reboot
6. 进入字符界面三种方式
(1) 在图形环境下开启终端窗口进入字符界面。
(2) 在系统启动后直接进入字符界面工作。
(3) 使用远程登录方式(SSH或Telnet)进入字符界面
7. 字符界面切换到图形化界面
(1) 命令startx
(2) 把INIT配置文件(/etc/initab)中的“id:3:initdefault”中的3改为5,系统将直接被引导进入图形化界面。
图形化界面切换到字符界面
Linux主机在控制台下提供了六个虚拟终端,在每一个终端中都可以执行各自的程序。
Ctrl+Alt+F1——安装提示对话框
Ctrl+Alt+F2——Shell提示
Ctrl+Alt+F3——安装日志(安装日志的信息)
Ctrl+Alt+F4——与系统相关的信息
Ctrl+Alt+F5——其他信息
Ctrl+Alt+F7——图形化显示
8. linux启动过程
BIOS自检,启动GRUB,加载内核,执行init进程,通过/etc/inittab文件进行初始化,登录Linux。
系统运行级别的切换命令——init 5
9. Shell不是linux内核的组成部分,但他是连接用户和linux内核的桥梁。对于用户发出的命令,Shell把他们解释成Linux内核可以理解的代码,然后执行。(命令解释器)
10. 目录和文件名
(1) 命名规则:
除“/”外,所有的字符都合法。
有些字符最好不要用,如空格符,制表符,退格符和字符:?@#&|<>等。
避免使用+,—或.作为普通文件名的第一个字符(在linux下以“.”开头的文件属于隐藏文件)。
文件名大小写敏感。
(2) 文件后缀和文件类型
.exe—可执行文件 .bat—批处理文件
*.conf配置文件 *.rpmRPM包
*.a一种存档文件 *.lock一种锁定文件
.* 隐含文件 *.cC语言源程序文件
*.cppC++语言源程序文件 *.sqlSQL语言文件
*.txt无格式的ASCII码文件 *.html/*.htm静态web页
*.au/*.wav一种声音文件 *.jpg/*.gif/*.png一种图像,图形文件
*.tar存档文件 *.Z/*.gz/*.bz2压缩文件
12. 命令格式和通配符
Shell命令的一般格式为:cmd [-options] [arguments]
其中cmd表示命令名,options是可选项,arguments是参数。
“*” 匹配任何字符和任何数目的字符
“?” 匹配任何单个字符
“[---]” 匹配任何包含在括号中的单个字符
如:ls *.c 列出当前目录下的所有C语言文件
ls /home/*/*.c 列出/home目录下所有子目录中的所有C语言源文件
ls g*.conf 列出当前目录下的所有以g开始的conf文件
ls wang?.dat 列出当前目录下以wang开始的,最后一个字符是任意的dat文件
ls [abc]* 列出当前目录下的首字符是a或b或c的所有文件
ls [!abc]* 列出当前目录下的首字符不是a或b或c的所有文件
ls [a-zA-Z]* 列出当前目录下的首字符是字母的所有文件
13. 获得命令帮助
man ls 使用man命令显示ls命令的帮助信息结果
info ls 使用info命令显示ls命令的帮助信息结果
Ctrl + H 键进入info命令的帮助屏幕
用户可以使用上,下箭头和<PgUp>,<PgDn>键进行翻阅,Q键退出。
14. 挂载软盘
命令格式:mount 设备文件名 挂载点目录
如:mount /dev/fd0 /mnt/floppy 将软盘挂载到/mnt/floppy目录,必须保证目录/mnt/floppy存在,且/mnt/floppy不是当且目录
15. 挂载光驱
如:mount -t iso9660 /dev/cdrom /mnt/cdrom 将光驱挂载到/mnt/ cdrom目录,必须保证目录/mnt/ cdrom存在,且/mnt/ cdrom不是当且目录
16. 弹出光盘驱动器
命令格式:eject [光盘挂载点/光盘设备文件绝对路径名]
如:eject 弹出系统默认的光盘驱动器(如果当前光盘处于挂载状态,eject命令将先调用umount命令卸载光盘,然后再弹出光盘)
17. 关闭光盘驱动器
命令格式:eject -t [光盘设备文件]
如:eject -t 关闭指定的光盘驱动器
18. 卸载软盘和光盘
命令格式:umount 设备文件名/挂载点目录
如:umount /mnt/floppy卸载软盘
umount /mnt/cdrom卸载光驱
19. 访问windows分区
(1) 以超级用户登录 root
(2) 查看windows分区相关信息
如:fdisk -l 在显示的结果中查看类型为FAT或FAT32的设备
(3) 挂载windows分区
如:mkdir /mnt/win_e
mount -t vfat/dey/hda5 /mnt/win_e
要将类型为FAT32的windows分区挂载到/mnt/win_e,用户可以到/mnt/win_e目录下访问该分区
20. USB存储设备挂载和卸载
(1) 查看USB设备的相关信息
fdisk -l /dev/sda 注意:不要在sda后面加通配符“*”或“?”,否则运行命令后返回的信息将不正常。
(2) 在/mnt目录下建立一个挂装USB存储器的目录
mkdir /mnt/usb
(3) 运行装载设备命令,将USB设备挂载到/mnt/usb目录下
mount -t msdos /dev/sdal /mnt/usb
(4) 运行ls命令查看USB存储器中的文件信息
ls /mnt/usb
21. pwd
功能:显示用户当前所处的目录(绝对路径)
命令格式:pwd
如:/root 显示用户当前的目录
22. cd
功能:将当前工作目录改变到指定的目录
命令格式:cd 目录名(“.”当前目录, “..”父目录, “~”用户的个人目录)
23. ls
功能:列出文件或子目录的信息
命令格式:ls 选项 目录或文件名
常用的选项及其含义:
-a:显示指定目录下所有子目录与文件,包括隐藏文件
-i:在输出的第一列显示文件的i节点号
-l:以长格式来显示文件的详细信息。这个选项最常用
如:ls -l 以长格式显示当前目录下所有文件和目录
24. mkdir
功能:建立目录
命令格式:mkdir 目录名
如:mkdir dirl 建立一个新目录dirl
25. rmdir
功能:删除目录
命令格式:rmkdir 目录名或rm-r目录名
说明:所删除的目录下必须没有文件存在才可删除该目录,否则无法删除
如:rmdir dirl 删除目录dirl
rm-r dirl 删除目录dirl及其子目录下所有文件
26. touch
功能:修改文件
命令格式:touch 参数 文件或目录名
参数选项:-d:把文件的存取,修改时间改为d后所示时间
-a:只把文件的存取时间改为当前时间
-m:只把文件的修改时间改为当前时间
27. cp
功能:复制文件或目录
命令格式:cp 参数 源文件 目标文件
参数选项及其含义:
-f:如果目标文件或目录存在,则覆盖,但不会提示用户
-i:如果目标文件或目录存在,提示是否覆盖
-R:复制目录,包含目录下的各级子目录
如:cp /home/stul/exa.txt /usr 将/home/stul目录下的文件exa.txt复制到/usr目录下
28. rm
功能:它将某个目录及其下的所有文件及子目录均删除
命令格式:rm [选项] 文件
参数选项及其含义:
-f:忽略不存在的文件,从不给出提示
-r:指示rm将参数中列出的全部目录和子目录均递归地删除
-i:进行交互式删除
如:rm -rf /home/stul 将/home/stul目录下所有文件和子目录全部删除
29. mv
功能:将文件由一个目录移入另一个目录中
命令格式:mv [参数] 源文件或目录 目标文件或目录
参数选项及其含义:
-i:交互方式操作,如果mv操作将导致对已存在的目录文件的覆盖,此时系统询问是否重写,要求用户回答y或n,这样可以避免误覆盖文件。
-f:禁止交互操作,和-i相反。
如:mv -i /home/stul/exa.txt /home/stu2 将/home/stul目录下的exa.txt文件移植/home/stu2目录下
30. in
功能:同一文件,可拥有一个以上的名称,也就是把一个文件进行链接
命令格式:in 老文件名 新文件名
如:in filel file2 将file2文件链接至filel文件
31. chmod
功能:改变文件或目录的读,写,执行权限
命令格式:chmod [-R] mode name
说明:
name:文件名或目录名
mode:r-read, w-write, x-execute (执行), u-user(当前用户), g-group(组), o-other(其他用户)
如:chmod u+x file2 对于文件file2,增加当前用户可执行的权利
31. chown
功能:更改某个文件或目录的属组和属主
命令格式:chown [参数] 用户或组 文件
参数选项及其含义:
-R:递归地改变指定目录及其下的所有子目录和文件的拥有者
-v:显示chown命令所作的工作
如:chown user filel 将文件filel该为用户user所有
32. chgrp
功能:改变文件或目录所属的组
命令格式:chgrp [参数] group filename
参数选项及其含义:
-R:递归地改变指定目录及其下的所有子目录和文件的属组
如:chgrp vlsi filel 将文件filel的工作组所有权该为vlsi工作组所有
33. find
功能:查找文件所在的目录
命令格式:find 路径(路径可以是多个路径,多个路径之间用空格分隔) 表达式
表达式:-name:指明要查找的文件名,支持通配符“*”和“?”
-user username:查找文件的拥有者为username的文件
-group grpname:查找文件的所属组为grpname的文件
如:find /home/etc -user stul -print 在目录/home和目录etc中查找stul用户所有的文件
34. grep
功能:查找文件名中包含指定字符串的行
命令格式:grep 要查找的字符串 文件名
文件名可以使用通配符“*”和“?”
grep后面可跟参数,常用的参数有:
-num:输出匹配行前后各num行的内容
-b:显示匹配查找条件的行距离文件开头有多少个字节
-c:显示文件中包含有指定字符串的行的个数,但不显实内容
如:grep -2 abc chap.txt 在文件chap.txt中查找所有含有字符串abc的行,如果找到,显示该行及该行前后各2行的内容
35. cmp
功能:比较两个文件内容的不同
命令格式:cmp 文件1 文件2
说明:以字符为单位对两个文件进行比较,将不同的地方显示出来,相同则没有反应。
如:cmp 1.txt 2.txt 列出两个文件的所有差异
36. diff
功能:比较两个文件内容的不同
命令格式:diff 源文件 目标文件
说明:以行为单位对两个文件进行比较
如:diff file1 file2 比较文件file1与file2内各行的不同之处
diff -r file1 file2 比较目录file1与file2内各文件的不同之处
37. cat
功能:显示文件的内容
命令格式:cat 文件名
如:cat etc/passwd 显示文件etc/passwd的内容
38. more
功能:分屏显示文件的内容
命令格式:more 文件名
说明:按回车键可以向后移动一行,按空格键可以向后移动一页,按q键退出
如:more etc/passwd 分屏显示文件的内容
39. less
功能:分屏显示文件的内容
命令格式:less 文件名
说明:除了上述的一些功能键外,还可以用PgUp键向前移动一页,用PgDn键向后移动一页,用上,下,左,右移动
40. head
功能:显示文件的前几行
命令格式:head 参数 文件名
参数:-n num 显示文件的前num行
-c num 显示文件的前num个字符
如:head -n 20 my1.txt 显示文件my1.txt的前20行
41. tail
功能:显示文件的末尾几行
命令格式:tail 参数 文件名
参数:-n num 显示文件的末尾num行
-c num 显示文件的末尾num个字符
如:tail -n 20 my1.txt 显示文件my1.txt的末尾20行
42. file
功能:显示文件或目录的类型
命令格式:file 文件名或目录
43. locate
功能:查找绝对路径中包含指定字符串的文件
命令格式:locate 字符串
如:locate rpm 查找当前目录中所有的rpm文件
44. which
功能:确定命令程序的具体位置
命令格式:which 命令
如:which more 确定命令more的具体位置
45. 进程启动
Linux操作系统包括三种不同类型的进程,每种进程都有自己的特点和属性。
交互进程,批处理进程,监控进程(前台启动,后台启动)实际上这两种启动方式有个共同的特点,就是新进程都是有当前shell这个进程产生的,也就是说:是shell创建了新进程,于是就称这种关系为进程间的父子关系。这里shell是父进程,而新进程是子进程。一个父进程可以有多个子进程,一般的,子进程结束后才能继续父进程,当然如果是从后台启动,那就不用等待子进程结束了。
46. ps
功能:该命令用来查看系统中运行的进程信息
命令格式:ps [选项]
参数含义:e 显示所有进程
l 按长格式显示
u 显示进程的用户名和启动时间
如:ps 列出当前进程基本信息
ps - e u|grep test 查找test用户启动的进程
47. kill
功能:用来终止一个进程的运行
命令格式:kill [选项] 进程号
如:kill 3267 终止进程号为3267的进程
48. sleep
功能:该命令是使进程暂停执行一段时间
命令格式:sleep 时间值
49. bg命令用于把进程放到后台,用Ctrl + Z 暂停进程
如:bg % l 表示将进程号为1的进程放到后台
Jobs命令可以看到在后台运行的进程
fg命令可以把在后台运行的进程好到前台
如:fg % l 表示将进程好为1的进程放到前台
50. 作业控制
at
命令格式:at 参数 时间
参数含义说明:
-f:从指定命令文件中读入命令
-m:命令执行完后给用户发邮件
-q:将命令放入指定队列
-t:指定时间 时间的格式为[[CC]YY]MMDDhhmm[.ss],CC表示年的前两位,YY表示年的后两位,MM表示月,DD表示日,hh表示时,mm表示分,ss表示秒
如:$at -f work 4pm + 3days 在三天后下午4点执行文件work中的作业
at 5:30pm 指定在今天下午5:30执行某命令,假设现在时间是中午12:30,1999年2月24日
$at -f work 10am Jul 31 在7月31日上午10点执行文件work中的作业
51. atq
功能:该命令用于查看安排的作业序列,它将列出用户排在队列中的作业,如果是超级用户,则列出队列中的所有工作
命令格式:atq 参数
参数含义说明:参数可以省略,省略时表示查看当前用户安排好的作业。
52. atrm
功能:该命令用于删除指定要执行的命令序列
命令格式:atrm 作业
如:artm 23 删除作业号为23的作业
53. gzip和gunzip
功能:gzip命令把文件压缩为扩展名为.gz压缩文件,gunzip命令将扩展名.gz压缩文件进行解压
命令格式:gzip [选项] 文件名
gunzip [选项] 文件名
选项的含义:
-v:压缩或解压过程当中显示进度
-r:将子目录中的文件全部压缩或解压
-num:用指定的数字num调整压缩的进度,-l或--fast表示最快的压缩方法,-9或--best表示最慢压缩
-f:当解压时如果遇到有同名的文件存在,就直接覆盖,不必在询问
如:gzip * 把目录下的每个文件压缩成.gz文件
gunzip sort.txt.gz 使用gunzip命令解压缩文件sort.txt.gz
54. zip和unzip
功能:zip命令把文件压缩为扩展名为.zip压缩文件,unzip命令可将扩展名为.zip的压缩文件进行解压
命令格式:zip 文件名
unzip [参数] 压缩文件名.zip
选项的含义:
-x:文件列表 解压缩文件,但不包括指定的file文件
-d 目录:把压缩文件解压到指定目录下
-n:不覆盖已经存在的文件
-o:覆盖已经存在的文件且不要求用户确认
-j:不重建文档的目录结构,把所有文件解压到同一目录下
如:$ unzip text.zip 将压缩文件text.zip在当前目录下解压缩
$ unzip -n text.zip -d /tmp 将压缩文件text.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件
55. tar
功能:备份或恢复文件
命令格式:tar [主选项+辅选项] 文件或目录
主选项的含义:
e:创建新的档案文件
r:把要存档的文件追加到档案文件的末尾
t:列出档案文件的内容,查看已经备份了那些文件
u:将文件更新的部分进行备份
x:从档案文件中释放文件
辅选项的含义:
f:使用档案文件或设备,这个选项通常是必须的
k:保存已经存在的文件
z:用gzip来压缩/解压缩文件
如:$ tar cvf usr.tar /home 把/home目录下包括它的子目录全部做备份文件,备份文件名为usr.tar
$ tar xzvf usr.tar.gz 把usr.tar.gz这个备份文件还原并解压缩
56. hostname
功能:显示或设置系统的主机名
命令格式:hostname:显示系统的主机名
Hostname 主机名,设置系统的主机名
57. ping
功能:测试网络的连通性
命令格式:ping 主机名或IP地址
参数含义: -c:count 共发出count次信息,不加此项,则发无限次信息
-i:n 两次信息之间的时间间隔为n秒,不加此项,间隔为1秒
如:ping 192.168.0.1 连续向IP地址为192.168.0.1的主机发送数据包
58. host
功能:查找IP地址或主机名
命令格式:host 主机名或IP地址
如:host 192.168.0.1 查找192.168.0.1 的主机名
59. ifconfig
功能:配置并查看网络接口的配置情况
命令格式:ifconfig [interface]
如:ifconfig eth0 192. 168.0.1 netmask 255.255.255.0 up 配置eth0的IP地址,同时激活该设备
ifconfig eth0 up 激活设备
ifconfig eth0 down 禁用设备
ifconfig eth0 查看指定的网络接口的配置
ifconfig 查看所有的网络接口的配置
60. ifup
功能:;激活网络设备
命令格式:ifup 网络设备名
如:ifup eth0 激活网络设备eth0
61. ifdown
功能:禁用网络设备
命令格式:ifdown 网络设备名
如:ifdown eth0 禁用网络设备eth0
62. telnet
功能:连接远程主机
命令格式:telnet 主机名或IP地址
如:telnet 192.168.1.2 连接远程主机192.168.1.2
telnet localhost 110 侦测本机的110端口是否开放
63. ftp
功能:远程传送资料
命令格式:ftp 主机名或IP地址
如:ftp 192.168.0.1 连接
64. wall
功能:对全部已登陆的用户发送信息
命令格式:wall
65. write
功能:向系统中某一个用户发送信息
命令格式:write 用户账号 [终端名称]
如:write xxq 此时系统进入发送信息状态,用户可以输入要发送的信息,输入完毕,希望退出发送状态时,按组合键即可
66. mesg
功能:设定是否允许其它用户用write命令给自己发送信息
命令格式:mesg 参数
参数含义:y:允许其它用户给自己发送信息
n:不允许其它用户给自己发送信息,无法阻止root用户给自己发送信息
67. mail
命令格式:mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] userl [user2…]
参数含义:
i:忽略tty的中断讯号
I:强迫设成互动模式
v:列印出讯息
n:不读入mail.rc设定档
s:邮件标题
c cc:邮件地址
b bcc:邮件地址
68. finger
功能:查找并显示用户信息
命令格式:finger [-lmsp] [账号名称]
参数含义:-l:列出该用户的账号名称,真实姓名,用户专属目录,登入所用的shell,登入时间,转信地址,电子邮件,还有计划文件和方案文件内容
-m:排除查找用户的真实姓名
-s:列出该用户的账号名称,真实姓名,登入终端机,闲置时间,登入时间,以及地址和电话
-p:账号名称,真实姓名,用户专属目录,登入所用的shell,登入时间,转信地址,电子邮件,但不显示该用户的计划文件和方案文件内容
如:finger 显示所有用户的信息
69. netstat
功能:显示网络连接,路由表和网络接口信息,可以让用户得知目前都有哪些网络链接正在运作
命令格式:netstat [选项]
参数含义:-a:显示所有socket,包括正在监听的
-c:每隔一秒就重新显示一遍,直到用户中断它。
-i:显示所有网络接口的信息
-n:以网络IP地址代替名称,显示出网络链接情形
-r:显示核心路由表
-t:显示TCP协议的链接情况
-u:显示UDP协议的链接情况
-v:显示正在进行的工作
70. stat
功能:显示文件的相关信息
命令格式:stat 文件名
如:stat etc/fstab 显示etc/fstab文件的信息
71. who 显示当前在线登陆用户
whoami 显示用户自己的身份
hostname 显示主机名称
uname 显示操作系统信息
dmesg 显示系统启动信息
72. vi的三种基本模式:编辑模式,插入模式,命令模式
在文本模式中要想回到编辑模式按Esc键即可,在编辑模式下,用户按冒号键即可进入命令模式
vi test.txt 使用vi进入编辑模式,按下i进入插入模式,开始编辑文本,按Esc键退回到编辑模式,输入“:wq”即可保存离开
73. 进入插入模式
i,I:插入:在目前的光标所在处插入输入的文字,已存在的文字会向后退
a,A:增加:由目前光标所在的下一个字开始输入,已存在的文字会向后退
o,O:插入新的一行:从光标所在的下一行行首开始输入文字
r,R:取代:r会取代光标所在的那一个字符;R会一直取代光标所在的文字
Esc:退出插入模式,回到编辑模式
74.光标移动
h或向左方向键:光标向左移动一个字符
j或向下方向键:光标向下移动一个字符
k或向上方向键:光标向上移动一个字符
l或向右方向键:光标向右移动一个字符
n<space>:按下数字后在按空格键,光标会向右移动这一行的n个字符
0:移动到这一行的最前面的字符处
$:移动到这一行的最后面的字符处
H:光标移动到这个屏幕的最上方那一行
L:光标移动到这个屏幕的最下方那一行
nG:移动到这个文件的第n行
n<Enter>:光标向下移动n行
75. 查找与替换
/word:向光标之后查找一个内容为word的字符串
? word:向光标之前查找一个内容为word的字符串
:nl,n2 s/word1/word2/g:在第n1与n2行之间查找word1这个字符串,并将该字符串取代为word2
:1,$s/word1/word2/g:从第一行到最后一行之间查找word1这个字符串,并将该字符串取代为word2
:1,$s/word1/word2/gc:从第一行到最后一行之间查找word1这个字符串,并将该字符串取代为word2,且在取代前显示提示字符给使用者确认是否需要取代
76. 删除,复制,粘贴
x,X:x为向后删除一个字符,X为向前删除一个字符
nx:向后删除n个字符
dd:删除光标所在的那一整行
ndd:删除光标所在的向下n行
yy:复制光标所在的那一行
nyy:复制光标所在的向下n行
p,P:p为复制的数据在光标下一行贴上,P则为贴在光标上一行
J:将光标所在行与下一行的数据合成同一行
c:复制删除多个数据
u:撤销上一步的操作
77. 命令模式下的操作
:w:将编辑的数据写入硬盘文件中
:w!:如文件属性为“只读”时,强制写入该文件
:q:离开vi
:q!:使用!为强制离开且不存储文件
:wq:储存后离开,如为:wq!则为强制储存后离开
:e!:将文件还原到最原始的状态
:w [filename]:将编辑的数据储存成另一文件(类似另存为)
:r [filename]:在编辑的数据中,读入另一个文件的数据
n1,n2 w [filename]:将n1到n2的内容储存成filename这个文件
:! Command:暂时离开vi到指令列模式下执行command的显示结果
没有所谓的命运,只有不同的选择!