一、Linux系统初识
1、用户界面
2、Linux目录
二、Linux命令初识
1、命令的种类
2、命令的语法格式
3、Linux日期及时间设置
date、hwclock
三、文件与目录管理
1、目录相关的操作
cd、pwd、mkdir、rmdir
2、文件与目录管理
ls、cp、rm、mv、basename、dirname
3、文件内容查看
cut、tac、head、tail、stat、more、less
4、新建文件及文件时间戳管理
touch
5、文件处理
wc、cut、sort、unique
四、获得帮助
一、Linux系统初识
1、用户交互接口
用户接口:是一种独特的应用程序,能够为用户提供启动其它应用程序的机制。
Linux提供两种用户接口:
1)CLI:命令提示符
2)GUI:图形界面
Linux中图形界面用很多种,最常见的是由C语言开发的Gnome和C++开发的KDE。
Linux中用户可以在不同终端中使用命令行或图形界面。
终端的种类:
1)虚拟终端(程序)
Linux提供6个虚拟终端,可以使用Ctrl+Atl+F[1-6]进行切换;
路径:/dev/tty#,#表示数字;
在上面界面中可以看到,系统中启用了6个终端,tty1启动了图形界面,其它的都为命令提示符界面。
2)伪终端
远程登录或图形界面下打开的命令提示符
路径:/dev/pts#,#表示数字;
从上图中可以看到启动了两个伪终端,其中pts/0是本地的图形界面,pts/1是远程登录的命令行接口;
3)物理终端
路径:/dev/console;
4)串行终端
路径:/dev/ttyS#,#表示数字;
5)图形终端
如果之前从未启动过图形界面可使用StartX启动图形终端,之后可使用ctrl+atl+F7来进行切换;
Linux默认的登录界面可以是图形界面或者是命令行界面,对于这两种情况想要切换到图形终端有不同的操作方法:
(1)用户从命令行登录系统
此时/dev/tty1为命令行界面,可以使用Startx命令来启动图形终端,之后再切换到图形终端可以使用Ctrl+Alt+F7组合键;
(2)用户选择从图形界面登录系统
此时/dev/tty1为图形界面,可以使用Ctrl+Alt+F1来进行切换。
打开多个图形界面
使用命令 startx — :#&可以打开多个图形界面,其中:
#:数字,表示编号;
&:表示程序在后台运行。
例如:在系统中再打开三个图形界面;
上面的三条命令分别在后台又打开了三个图形界面,如果要切换到这些终端的话,也分为两种情况:
1)用户从命令行登录系统
额外启动的图形终端从F8开始,那么切换上面三个终端分别使用Ctrl+Alt+F[8-10];
2) 用户从图形界面登录系统
额外启动的图形终端从F7开始,那么切换上面三个终端分别使用Ctrl+Alt+F[7-9]。
2、Linux目录
1)Linux的目录遵循FHS(Filesystem Hierarchy Standard)标准。
常见目录及其存放文件的类型:
/:根目录;
/usr: UNIX Software Resource
用于存入应用程序;
/usr/local:第三方软件安装目录;
/usr/bin:大部分用户所使用的命令;
/usr/sbin:非系统正常运行所需要的系统命令;
/usr/lib,/usr/lib64:各种应用软件的库文件;
/usr/share/man,/usr/share/doc:各种应用软件的帮助文件;
二进制命令:
/bin:所有用户都可以使用;
/sbin:只有管理员可以使用;
以上两个目录都是系统自身启动和运行时可能会用到的核心二进制命令;
/lib:共享库文件和内核模块;
/etc:配置文件;
/dev:设备文件,也称为特殊文件(仅有元数据,而没有数据);
/proc:伪文件系统,内核和进程信息的虚拟文件系统接口(开机加载);
/sys:伪文件系统,硬件设备信息,虚拟文件系统接口;
/boot:系统引导加载时用到的静态文件,内核和ramdisk;
/srv:服务所用到的数据;
/var:经常变动的文件;
/var/log:日志文件;
/mnt:建议将额外的设备挂载到此目录;
/home:普通用户家目录;
/root:root用户家目录;
/opt:第三方应用程序的安装目录,现已不使用
/misc:备用目录
2)绝对路径与相对路径
绝对路径:从根目录开始的文件名或目录名;
例如:/etc/fstab
相对路径:非从根目录开始的,相对于当前目录的文件名或目录名;
例如:../etc/fstab
.:代表当前的目录;
..:代表上一层目录;
如下图,当前目录为/root;pwd命令用来显示当前工作目录;
使用绝对路径切换到/home目录;
使用相对路径切换到/home目录;
二、Linux命令初识
Linux主要是使用命令来进行系统管理与维护工作的,下面来介绍一下Linux命令。
1、命令的类型
1)内建命令:由shell程序自带的命令;
2)外部命令:本身是一个独立的可执行程序文件,命令名即为程序文件名;
查找方式:通过shell的内置的环境PATH中指定的路径进行查找。
区分命令类型可以使用type命令;
2、命令的语法格式
COMMAND [OPTOIN] [ARGUMENTS]
OPTION:
短选项:-char,例如,-l,-d,-h;
多个选项间要使用空白分隔:-l -d -h;
合并使用:-ldh;
长选项:–word,例如,–long;
长选项一般不能合并使用;
注意:有些选项需要带参数,称为选项参数;
mkfs -t ext4
参数:
命令的作用对象。
3、Linux日期及时间设置
Linux中修改时间的方法有很多,下面介绍三个比较常用的命令;
1)date命令格式:
date [OPTION]… [+FORMAT]
date [-u|–utc|–universal] [MMDDhhmm[[CC]YY][.ss]]
OPTION:
-d/–date=STARING:以指定格式显示指定日期;
-r/–reference=FILE:显示指定文件的最后修改日期;
-u:显示或修改UTC日期;
FORMAT:
+%F:以yyyy-mm-dd格式显示日期;
+%D:以mm/dd/yy的格式显示日期;
+%T:显示时间;
+%Y:显示年;
+%m:显示月;
+%d:显示天;
+%H:显示小时;
+%M:显示分钟;
+%S:显示秒;
+%s:时间戳计时法,从Unix元年(1970-01-01 00:00:00)到此刻所经过的秒数;
+%u:显示周几
[MMDDhhmm[[CC]]YY[.ss]]:设置时间;
MM:月份;
DD:天;
hh:小时;
mm:分钟;
[CC]:世纪,可省略;
YY:年;
.ss:秒,可省略。
下面举例说明date命令的用法:
(1)在使用-d选项时,日期的指定方法灵活:
四位以下的数字代表时间,如1301,131,13,1等;
八位数字代表日期,如20150102;
八位以上的数字将从右向左取四位做为日期,剩余左侧的所有数字全部做为年份显示;显然对于目前我们经历的时间来看,这种显示是不正确的,所以八位以上的数字可以说是没有意义的;
使用“/”分隔的数字代表日期,如1/12,表示1月12日;
使用“:”分隔的数字代表时间,如1:12,表示1点12分;
(2)使用-r选项查看文件的最后修改时间;
(3)显示UTC时间;
(4)以指定的格式显示时间
date命令默认的输入不太符合我们的阅读习惯,可以通过FORMAT来定制输出格式;
也可以将选项格式化成易读的形式;
(5)通过+%s来计算从Unix元年到现在经过了多少天;
(6)修改当前系统的时间;
先看一下当前的系统时间;
修改系统时间;
2)硬件时间
Linux有两个时钟,系统时间和硬件时间;
系统时间使用date命令修改;
硬件时钟使用hwclock命令来查看和修改;
hwclock命令:
hwclock命令可以通过参数来同步系统时钟和硬件时钟:
-s:以硬件时钟为准来同步时间;
-w:以系统时钟为准来同步时间;
刚才系统时间被修改了,现在利用系统时间同步成正确时间;
再把系统时间修改一下,并将硬件时钟同步为系统时间;
3)使用网络时间服务器同步时间
Linux中可以使用ntpdate命令来同步网络时间;此命令用法非常简单,只需要指明服务器的地址即可;
ntpdate <SERVER>
三、文件与目录管理
1、目录相关的操作
1)cd命令:切换目录
命令格式:cd 路径
2)pwd命令:显示当前目录
3)mkdir命令:新建目录
命令格式:mkdir [-mpv] 目录名
-m:创建目录并为目录设置权限;
-p:递归创建目录;
-v:显示目录新建信息;
在/tmp目录下创建目录test;
在/tmp目录下创建目录test1,并设置权限为644;
在/tmp目录下创建多级目录;
4)rmdir命令:删除空目录
命令格式:rmdir [-p] 目录名
-p:递归删除;
删除/tmp/test2目录;直接删除test2目录无法完成,因为目录不为空;
在保证test2/a/b/c目录为空的情况下,可以进行以下操作;
2、文件与目录管理
1)ls命令:查看文件与目录
命令格式:ls [OPTION]… [FILE]…
OPTION:
-a:显示目录中全部文件;
-d:显示目录本身的信息;
-l:以长格式显示信息;
-h:以人类易读方式显示文件大小;
-r:逆向排序;
-i:显示inode;
-t:依时间排序;
-A:显示全部文件,但不包括 . 和 .. 目录
-F:显示文件、目录信息时连同数据结构一同显示;
*:可执行文件; /:目录; =:socket文件 |:FIFO文件
-R:递归显示;
-S:以文件大小排序;
以长格式列出当前目录中的所有文件,文件大小以易读方式显示并排序;
2)cp命令:复制文件或目录
命令格式:cp [OPTION] SOURCE DESTINATION
OPTION:
-p:连同文件的属性一起复制;
-d:源文件为链接文件时,复制链接文件属性而非文件本身;
-r:递归复制;
-a:相当于-pdr;
-i:交互模式;
-s:将文件复制成符号链接;
-l:将文件复制成硬链接;
-f:强制覆盖;
(1)理解-p选项的意义;
目前有一个文件e,它的属主是用户d1,使用root用户直接复制文件e,并查看其属性;
属主已经变为root用户了;使用-p选项再次复制;
其属主依然是用户d1。
(2)复制符号链接文件;
文件e有一个符号链接文件s;
不带任何选项复制s文件,并查看结果;
结果文件s1是源文件e的复本,而非符号链接s的复本;下面使用-d选项,查看结果;
文件s2是e的符号链接文件。
(3)将文件复制成硬链接和符号链接;
将文件e复制成硬链接e_h和符号链接e_s;
3)rm命令:删除文件或目录
命令格式:rm [OPTION]… FILE…
OPTION:
-r:递归删除;
-f:强制删除;
注意:此操作危险,慎用。
4)mv命令:移动、重命名文件或目录
命令格式:mv [OPTION]… SOURCE… DSTINATION
5)basename命令:取得文件名
6)dirname命令:取得目录名
3、文件内容查看
1)cat命令:直接查看文件内容
命令格式:cat [OPTION]… [FILE]…
OPTION:
-v:显示特殊字符;
-E:显示行尾的字符$;
-T:将tab显示为^I;
-A:相当于-vET;
-b:对非空白行输出行号;
-n:对所有行输出行号;
显示/etc/redhat-release文件中的所有特殊字符;
对/etc/redhat-release文件中非空白行加上行号;
对/etc/redhat-release文件中的所有行加上行号;
2)tac命令:反向查看文件内容
3)head命令:从文件第一行列出文件内容
命令格式:head [OPTION]… [FILE]…
OPTOIN:
-n, –lines=[-]K:打印文件的前K行内容,如果加上"-",由打印文件中除了后面的K行以外的所有内容;
不加任何参数默认打印前10行的内容;
(1)显示/etc/passwd文件前10行的内容;
(2)显示/etc/passwd文件前3行的内容;
不带-n选项直接使用“-#”也可以达到要求;
(3)显示/etc/passwd文件中除了后3行以外所有的内容;
从上面的结果可以看出/etc/passwd文件共有62行内容,下面显示除了后三行的所有内容;
4)tail命令:从文件最后一行列出文件内容
命令格式:tail [OPTION]… [FILE]…
OPTION:
-n, –lines=K:显示文件的后K行内容;
-f:持续监控文件的内容,直到按Ctrl+c才结束;
(1)显示/etc/passwd文件后3行的内容;
(2)显示/etc/passwd第3行以后的所有数据;
(3)持续监控/var/log/messages文件的内容;
5)stat命令:查看文件元数据
命令格式:stat [OPTION]… FILE…
6)more命令:分屏显示长文件
使用空格键来进行翻屏操作。
7)less命令:分屏显示长文件
less中可以使用相关的功能来进行查找和翻页操作,具体可查看man文件。
4、新建文件及文件时间戳管理
touch命令
命令格式:touch [OPTION]… FILE…
不带任何选项时,如果文件存在修改时间,否则直接创建空文件。
OPTION:
-a:仅修改访问时间;
-c:仅修改文件的时间,即使文件不存在也不创建;
-m:仅修改mtime;
-t STAMP:指定想要修改的时间,格式为[[CC]YY]MMDDhhmm[.ss];
(1)创建一个空文件,并查看其时间戳;
从上面的结果中可以看到3个时间其意义分别为:
Access(atime):文件被读取时更新;
Modify(mtime):文件内容更改时,此时间被更新;
Change(ctime):文件元数据被修改时,此时间更新;
(2)更新文件new_file时间,并查看;
(3)手动更新访问时间为当前时间;
(4)手动更新修改时间为当前时间;
(5)更新修改时间到指定的时间;
5、文件处理
下面介绍的命令都不会改变文件内容。
1)wc命令:统计文件内容信息
命令格式:wc [OPTION]… [FILE]..
OPTION:
-c:统计文件内容有多少字节;
-l:统计文件中有多少行;
-w:统计文件中有多少单词;
2)cut命令:从文件的每行中截取指定的信息
命令格式:cut OPTION… [FILE]…
OPTION:
-d:指定截取时的分隔符;
-f:指定选取的字段;
显示/etc/passwd文件是的前10行信息,要求只显示用户名和shell信息;
以:为分隔符,选取第1列和第7列。
3)sort命令:根据指定的条件将文件中行进行排序
命令格式:sort [OPTION]… [FILE]…
OPTION:
-b:忽略前面的空格;
-f:忽略大小写;
-n:使用数字进行排序;
-r:反向排序;
-u:去掉重复的行;
-t:指定分隔符;
-k:以指定的字段来排序,与-t同使用使用;
(1)在/etc/passwd中以uid字段的排序,显示排序后的前10条记录的前三个字段;
从上面的结果中可以看到并没有按照真正的数字顺序进行排序,sort命令默认以字符类型来排序;
(2)按照数字进行排序;
(3)按uid进行反向排序;
(4)对文件中的内容排序后进行去重
4)uniq命令:将文件中重复的行删除
命令格式:uniq [OPTION]… [INPUT [OUTPUT]]
OPTION:
-c:统计重复的行;
-d:仅显示重复的行;
-i:忽略大小写;
-u:仅显示不重复的行;
(1)统计文件是每一重复行的数量;
注意上面的结果,并没有达到目的,是因为uniq命令只能针对相邻的相同的行进行去重,所以在去重前要先对文件的内容进行排序;
四、获得帮助
1、内建命令:help COMMAND
2、外部命令
1)COMMAND –help
2)手册:manual
使用man命令来查看手册内容;
手册的段落:
NAME:命令名称
DESCRIPTION:命令功能的详细描述
OPTION:所有选项
SWOPSIS:使用格式
EXAMPMLES:使用示例
FILES:与当前命令相关的配置文件
SEE ALSO:可参考的其它手册
帮助中的格式字串:
[]:可省略
<>:不可省略
|:二选一或多选一
…:同类内容可以出现多个
man使用的机制:
翻屏:
空格键:向文件尾部翻一屏
b:向文件首部翻一屏
回车键:向文件尾部翻一行
k:向文件首部翻一行
Ctrl+d:向文件尾部翻半屏
Ctrl+u:向文件首部翻半屏
字串搜索:
/keyword:从上到下搜索
?keyword:从下到上搜索
n:显示找到的下一个
N:显示找到的上一个
退出:
q
man能够为除命令之外的配置文件、系统调用、库调用等都能提供手册,它们分别位于不同的章节中。
1:用户命令
2:系统调用
3:库调用
4:设备文件
5:配置文件
6:游戏
7:杂项
8:管理命令
whatis命令
whatis COMMAND 查看命令相关的man章节
注意:whatis根据数据库执行查找操作,此库为系统定期更新,可使用makewhatis进行手动更新。
3、info命令:获取在线文档
仅在man手册无法获取到足够信息,或想了解程序的开发历史时才使用info。
4、很多应用程序都自带有帮助文档:/usr/share/doc
ChangLog:程序版本升级的变动情况;
INSTALL:安装方法说明;
README:程序说明信息;
5、主流发行版官方文档
6、google
原创文章,作者:petmaster,如若转载,请注明出处:http://www.178linux.com/2883