第二章 Linux安装与登录
2.6 Linux桌面
一些Linux发行版采用默认的X-Windows启动系统。
X-Windows系统其实就是Linux上的图形界面系统,并没有集成在Linux操作系统的内核中,而仅仅是Linux系统上的一套应用程序罢了。
常见的Linux桌面环境有KDE和GNOME。
KDE和GNOME共同点:都采用GPL公约发行。
不同点:KDE基于双重授权的Qt,而GNOME采用基于GPL的GTK库开发,后者拥有更广泛的支持;不同的基础决定两者不同的形态,KDE包含大量的应用软件,项目规模庞大,由于自带软件众多,KDE比GNOME更丰富多彩,操作习惯接近Windows,更适合初学者快速掌握操作技巧。KDE 的不足之处在于其运行速度相对较慢,且部分程序容易崩溃。GNOME项目由于专注于桌面环境本身,软件较少,运行速度快,并具有出色的稳定性,GNOME受到了大公司的青睐,成为多个企业发行版的默认桌面。
ubuntu系统默认装的是GNOME桌面。
2.7.3 如何删除Linux?
1)如果系统中只安装有Linux
可以采用分区管理工具(如PartitionMagic)把Linux的分区全部删除。也可以利用Windows的引导光盘进入纯DOS或Win PE模式,然互殴进入命令提示窗口,执行“fdisk /mbr”清除分区信息。
2)如果计算机中Windows和Linux并存,可直接进入Windows系统操作,步骤如下:
1.【我的电脑】-【管理】
2.【磁盘管理】菜单,选择删除Linux分区。
3)如果是使用虚拟机安装的Linux,删除步骤如下:
1.启动VMware,单击安装的虚拟机。
2.单击菜单【VM】|[Manage]|【Delete from Disk】进行虚拟机的删除。
2.7.4 主机为什么连不上虚拟机安装的Linux系统
虚拟机安装linux系统后,如果采用SecureCRT不能登录安装的Linux,可以从以下几个方面排查。
(1)检查安装的Linux服务器sshd服务是否启动,
1.#检查sshd服务是否启动
ps -ef|grep sshd
2.#检查端口是否正常
telnet 192.168.19.101 22
3.#清除防火墙
iptables -F
(2)选择合适的虚拟机网络连接方式
确认服务器sshd服务正常,服务器防火墙没有开启,如果还不能链接,可检查虚拟机网络配置。
单击虚拟机图标,【VM】|【Settings...】菜单
虚拟机和宿主主机的通讯有以下三种方式:
1.Bridged模式,即桥接模式,需要设置Linux和宿主主机同网段IP即可。
2.NAT网络地址转换模式,Linux的IP地址和VMnet8虚拟网络处于同一网段。
3.Host-only主机模式,虚拟系统的TCP/IP配置信息(如IP地址、网关地址、DNS服务器等)由VMnet1虚拟网络的DHCP服务器来动态分配。
可选择第1种或第2种测试网络是否可以连通。
第三章 Linux常用命令
3.2文件管理
1.复制文件cp
语法:cp[选项]【参数】
cp[源文件]【目标文件】
2.移动文件mv
mv只接受两个参数,第一个为要重命令的文件或目录,第2个为新文件名或目录。
3.创建文件或修改文件时间touch
touch命令可以改变文档或目录时间,包括存取时间和更改时间,也可以用于创建新文件。
例,#查看文件相关信息 stat test2
stat命令包含的内容:
access:表示文件的访问时间;但当用more、less、tail、ls等命令查看时访问时间不变。
modify:表示文件的修改时间;
change:表示文件属性改变时间。
#touch命令使用当前时间 touch test2
4.删除文件rm
rm命令的一般形式为:rm[dfirv][--help][--version][文件或目录...]
5.查看文件 cat tac more less tail
(1)cat
cat命令查看文件时会显示整个文件的内容,只能查看文本内容的文件。
cat语法:cat[-AbeEnstTuv][--help][-version]fileName。
(2)more 和less
当用cat查看文件时,若一文件有多行,会出现滚屏。more和less可以按页显示文件。
more命令使用 space空格键可以向后翻页,“b”向前翻页。
可使用more命令动态地根据需要选择显示的部分。more在显示完一屏后,将停下来等待用户输入某个命令。如下表中列出了more命令在执行中用到的一些常用命令,而有关这些命令的完整内容,可以在more执行时按h查看。这些命令的执行方法是先输入i(行数)的值,再输入所要的命令,不然它会以预设值来执行命令。
(3)tail
tail可以指定显示文件的最后多少行,并可以滚动显示日志。
6.查找文件或目录find
find命令可以根据指定的路径和表达式查找指定的文件或目录。
find命令格式说明:
find命令后的参数组合与可支持短路求值。find常见的参数如下:
find可按照文件时间查找文件,对应的参数有mtime、atime和ctime。
例如,#查找系统内最近24小时修改过的文件
find / -mtime -1|head
#查找最近15分钟内修改的文件可以使用下面的命令
find / -mmin -15|head
find使用type选项可以查找特定的文件类型,如下
例如,查找当前路径中的所有文件
find . -type f
find也可按文件大小、修改日期等特征查找。
例如,#在当前目录下查找文件长度大于1M字节的文件
find . -size +1000000c -print
#在/home/apache目录下查找文件长度恰好为10块的文件
find /home/apache -size 10 -print
find可以按文件属性查找文件
例如,#查找被删除用户的文件
find /home -nouser -print
find可以按照文件权限位查找文件,可以使用八进制的权限。如在八进制数字前面要加一个横杠“-”,表示都匹配,如-007就相当于777。
例如,find . -perm -006
find命令可以使用混合查找的方法。
例如,在/tmp目录中查找大于100000000字节并且在48小时内修改的某个文件
find /tmp -size +100000000c -and -mtime +2
例如,在tmp目录中查找属于fred或george这两个用户的文件
find / -user fred -or -user George
find命令配合使用exec和xargs可以使用户对所匹配到的文件执行几乎所有的命令。
7.过滤文本grep
grep是一个强大的文本搜索工具命令,用于查找文件中符合指定格式的字符串,支持正则表达式。
grep家族包括grep、egrep和fgrep。
例如,在指定文件中查找特定字符串
grep root /etc/passwd
grep支持丰富的正则表达式,常见的正则元字符含义如表
8.比较文件差异diff
diff命令的功能为逐行比较两个文本文件,列出其不同之处。
9.在文件或目录之间创建链接ln
软链接是可以跨分区的,但是硬链接必须在同一个文件系统,不能对目录进行硬链接,而符号链接可以指向任意位置。
10.显示文件类型file
file文件用来显示文件的类型
11.分割文件split
分割后校验文件的完整性,用命令md5sum。
12.合并文件join
该命令可以找出两个文件中指定列内容相同的行,并加以合并,再输出到标准输出设备。
13.文件权限umask
umask用于指定在建立文件时预设的权限掩码。权限掩码由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时预设的权限。
chmod改变文件权限位时是设定哪个位,那么哪个位就有权限,而umask是设定哪个位,则哪个位上就没权限。
14.文本操作awk和sed
awk和sed是linux系统中强大的文本处理工具。
例如,#将文件中的每行打印出来
awk '{print $0}' /etc/passwd |head
其中,"{}"用于将代码分块。awk默认的分隔符为空格等空白字符。
#打印文件中的某个字段
awk -F':' '{print $1}' /etc/passwd|head
其中,“-F”表示指定每行的分隔符,通过分隔符将文件中的每一行分割成多列,每列编号从1开始,“$0”有特殊含义,表示每一行的所有内容。
在修改文件时,如果不断地重复某些编辑动作,则可用sed命令完成。
linux系统中,本身安装有sed工具。同awd类似,sed的命令可以通过命令行、管道或文件输入。
3.3目录管理
1.显示当前工作目录pwd
默认情况下不带任何参数。若有软连接,则显示软连接的路径。想要显示软连接的实际路径,加参数-p。
2.建立目录mkdir
参数说明
-m 设置新目录的存取权限,类似于chmod
-p 该参数后跟一路径名称,可以是绝对路径或相对路径,如目录不存在则会创建
3.删除目录rmdir
删除的目录必须为空目录或为多级空目录。
参数说明
--ignore-fail-on-non-empty 忽略数据存在目录非空产生的错误
-p 递归删除各级目录
4.改变工作目录cd
cd命令用于切换工作目录为指定的目录,参数可以为相对路径或绝对路径。
5.查看工作目录文件ls
6.查看目录树tree
使用tree命令以树状图递归的形式显示各级目录,可以方便地看到目录结构。
7.打包或解包文件tar
8.压缩或解压缩文件和目录zip/unzip
zip命令的基本用法是:zip[参数]【打包后的文件名】【打包的目录路径】
9.压缩或解压缩文件和目录gzip/gunzip
gzip默认压缩后会删除原文件。
zgrep命令是在压缩文件中寻找匹配的正则表达式,用法和grep命令一样。
10.bzip2或bunzip2
bzip2比传统的gzip或ZIP的压缩效率更高,但是它的压缩速度较慢。与gzip类似,bzip2只是一个数据压缩工具,而不是归档工具。
bunzip2是用来解压文件的。
3.4系统管理
1.查看命令帮助man
man可以调阅其中的帮助信息。
2.导出环境变量export
一个变量的设置一般只在当前环境有效,export命令可以用于传递一个或多个变量的值到任何后续脚本。export可新增、修改或删除环境变量,供后续执行的程序使用。export的效力仅限于该次登录操作。
-f 代表[变量名称]中为函数名称
-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续命令的执行环境中
-p 列出所有的Shell赋予程序的环境变量
3.查看历史纪录history
一般把历史命令记录在用户HOME目录下的.bash_history文件中。
n 数字,要列出最近的n笔命令列表
-c 将目前Shell中的所有history内容全部删除
-a 将目前新增的history命令新增入histifiles中,若没有加histfiles,则预设写入~/.bash_history
-r 将histfiles的内容读到目前这个shell的history记忆中
-w 将目前的history记忆内容写入histifiles
4.显示或修改系统时间与日期date
date命令的功能是显示或设置系统的日期和时间。一般用户只能用date命令显示时间,root用户可以设置时间。
当以root身份更改了系统时间后,还要通过clock -w命令将系统时间写入CMOS中。
5.清除屏幕clear
清空终端屏幕,用clear命令或快捷键Ctrl+L。
6.查看系统负载uptime
uptime命令主要用于获取主机运行时间和查询Linux系统负载等信息。
信息显示依次为:现在时间、系统已经运行时间、目前登陆的用户数、系统在过去1分钟/5分钟/15分钟内的平均负载。
7.显示系统内存状态free
free命令显示内存的使用情况,包括实体内存、虚拟的交换文件内存、共享内存区段,以及系统核心使用的缓冲区等。
8.转换或拷贝文件dd
dd命令可以用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。可以和b/c/k组合使用。
3.5任务管理
1.单次任务at
at可以设置在一个指定的时间执行一个指定任务,只能执行一次,使用前确认系统开启了atd进程。
2.周期任务crond
crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,会自动执行该任务。
3.6关机命令
shutdown命令安全地将系统关机。执行的工作是送信号给init程序,要求它改变runlevel。
halt就是调用shutdown -h。halt执行时,会杀死应用进程,执行sync系统调用。
reboot命令用于重启系统。
poweroff就是halt或reboot命令的软链接。
init是所有进程的祖先,其进程号始终为1,所以发送TERM信号给init会终止所有的用户进程、守护进程等。
3.7文本编辑器vi的使用
vi工作模式主要有命令模式和编辑模式两种。
在命令模式和输入模式下移动光标的基本命令是h、j、k、l。
编辑是在命令模式下。输入是在插入模式下进行的。