Linux比较全1

u1、cat 显示文件连接文件内容的工具;

cat 是一个文本文件查看和连接工具。查看一个文件的内容,用cat比较简单,就是cat 后面直接接文件名。

比如:

[root@localhost~]# cat /etc/fstab

为了便于新手弟兄灵活掌握这个工具,我们多说一点常用的参数;


1.0 cat 语法结构;

cat [选项] [文件]...

 

选项

  -A, --show-all           等价于 -vET

  -b, --number-nonblank    对非空输出行编号

  -e                       等价于 -vE

  -E, --show-ends          在每行结束处显示 $

  -n, --number             对输出的所有行编号

  -s, --squeeze-blank      不输出多行空行

  -t                       与 -vT 等价

  -T, --show-tabs          将跳格字符显示为 ^I

  -u                       (被忽略)

  -v, --show-nonprinting   使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外

      --help    显示此帮助信息并离开


1.1 cat 查看文件内容实例;

[root@localhost ~]# cat/etc/profile 注:查看/etc/目录下的profile文件内容;
[root@localhost~]# cat -b /etc/fstab 注:查看/etc/目录下的profile内容,并且对非空白行进行编号,行号从1开始;
[root@localhost~]# cat -n /etc/profile 注:对/etc目录中的profile的所有的行(包括空白行)进行编号输出显示;
[root@localhost~]# cat -E /etc/profile 注:查看/etc/下的profile内容,并且在每行的结尾处附加$符号;

cat 加参数-n 和nl工具差不多,文件内容输出的同时,都会在每行前面加上行号;

[root@localhost ~]# cat -n/etc/profile
[root@localhost~]# nl /etc/profile

cat 可以同时显示多个文件的内容,比如我们可以在一个cat命令上同时显示两个文件的内容;

[root@localhost~]# cat /etc/fstab /etc/profile

cat 对于内容极大的文件来说,可以通过管道|传送到more 工具,然后一页一页的查看;

[root@localhost~]# cat /etc/fstab /etc/profile | more


1.2 cat 的创建、连接文件功能实例;


cat 有创建文件的功能,创建文件后,要以EOF或STOP结束;

[root@localhost ~]# cat >linuxsir.org.txt << EOF 注:创建linuxsir.org.txt文件;
>我来测试 cat 创建文件,并且为文件输入内容; 注:这是为linuxsir.org.txt文件输入内容;
>北南南北 测试; 注:这是为linuxsir.org.txt文件输入内容;
>EOF 注:退出编辑状态;
[root@localhost~]# cat linuxsir.org.txt 注:我们查看一下linuxsir.org.txt文件的内容;
我来测试 cat 创建文件,并且为文件输入内容;
北南南北 测试;

cat 还有向已存在的文件追加内容的功能;

[root@localhost ~]# catlinuxsir.txt 注:查看已存在的文件linuxsir.txt 内容;
Iam BeiNanNanBei From LinuxSir.Org . 注:内容行
我正在为cat命令写文档
[root@localhost~]# cat >> linuxsir.txt << EOF 注:我们向linuxsir.txt文件追加内容;
>我来测试cat向文档追加内容的功能; 注:这是追回的内容
>OK?
>OK~
>北南 呈上
>EOF 注:以EOF退出;
[root@localhost~]# cat linuxsir.txt 注:查看文件内容,看是否追回成功。
Iam BeiNanNanBei From LinuxSir.Org .
我正在为cat命令写文档
我来测试cat向文档追加内容的功能;
OK?
OK~
北南 呈上




cat 连接多个文件的内容并且输出到一个新文件中;

假设我们有sir01.txt、sir02.tx和sir03.txt ,并且内容如下;

[root@localhost ~]# cat sir01.txt
123456
iam testing
[root@localhost~]# cat sir02.txt
56789
BeiNanTested
[root@localhost~]# cat sir03.txt
09876
linuxsir.orgtesting

我想通过cat 把sir01.txt、sir02.txt及sir03.txt 三个文件连接在一起(也就是说把这三个文件的内容都接在一起)并输出到一个新的文件sir04.txt 中。

注意:其原理是把三个文件的内容连接起来,然后创建sir04.txt文件,并且把几个文件的内容同时写入sir04.txt中。特别值得一提的是,如果您输入到一个已经存在的sir04.txt 文件,会把sir04.txt内容清空。

[root@localhost ~]# cat sir01.txtsir02.txt sir03.txt > sir04.txt
[root@localhost~]# more sir04.txt
123456
iam testing
56789
BeiNanTested
09876
linuxsir.orgtesting

cat 把一个或多个已存在的文件内容,追加到一个已存在的文件中

[root@localhost ~]# cat sir00.txt
linuxsir.orgforever
[root@localhost~]# cat sir01.txt sir02.txt sir03.txt >> sir00.txt
[root@localhost~]# cat sir00.txt
linuxsir.orgforever
123456
iam testing
56789
BeiNanTested
09876
linuxsir.orgtesting

警告:我们要知道>意思是创建,>>是追加。千万不要弄混了。造成失误可不是闹着玩的;


2、more 文件内容或输出查看工具;


more 是我们最常用的工具之一,最常用的就是显示输出的内容,然后根据窗口的大小进行分页显示,然后还能提示文件的百分比;

[root@localhost ~]# more/etc/profile


2.1 more 的语法、参数和命令;

more [参数选项] [文件]

参数如下:

+num                           从第num行开始显示;

-num                           定义屏幕大小,为num行;

+/pattern            从pattern 前两行开始显示;

-c                             从顶部清屏然后显示;

-d                             提示Press space to continue, 'q' toquit.(按空格键继续,按q键退出),禁用响铃功能;

-l                             忽略Ctrl+l (换页)字符;

-p                             通过清除窗口而不是滚屏来对文件进行换页。和-c参数有点相似; 

-s                                       把连续的多个空行显示为一行;

-u                                       把文件内容中的下划线去掉

退出more的动作指令是q


2.2 more 的参数应用举例;

[root@localhost ~]# more -dc/etc/profile 注:显示提示,并从终端或控制台顶部显示;
[root@localhost~]# more +4 /etc/profile 注:从profile的第4行开始显示;
[root@localhost~]# more -4 /etc/profile 注:每屏显示4行;
[root@localhost~]# more +/MAIL /etc/profile 注:从profile中的第一个MAIL单词的前两行开始显示;


2.3 more 的动作指令;

我们查看一个内容较大的文件时,要用到more的动作指令,比如ctrl+f(或空格键) 是向下显示一屏,ctrl+b是返回上一屏; Enter键可以向下滚动显示n行,要通过定,默认为1行;

我们只说几个常用的; 自己尝试一下就知道了;

Enter         向下n行,需要定义,默认为1行;

Ctrl+f               向下滚动一屏;

空格键                          向下滚动一屏;

Ctrl+b              返回上一屏;

=                                        输出当前行的行号;

:f                             输出文件名和当前行的行号;

v                                        调用vi编辑器;

! 命令                           调用Shell,并执行命令;

q                                        退出more

当我们查看某一文件时,想调用vi来编辑它,不要忘记了v动作指令,这是比较方便的;


2.4 其它命令通过管道和more结合的运用例子;

比如我们列一个目录下的文件,由于内容太多,我们应该学会用more来分页显示。这得和管道 | 结合起来,比如:

[root@localhost~]# ls -l /etc |more


3、less 查看文件内容 工具;

less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大;您是初学者,我建议您用less。由于less的内容太多,我们把最常用的介绍一下;


3.1 less的语法格式;

less [参数] 文件

常用参数

-c 从顶部(从上到下)刷新屏幕,并显示文件内容。而不是通过底部滚动完成刷新;
-f强制打开文件,二进制文件显示时,不提示警告;
-i搜索时忽略大小写;除非搜索串中包含大写字母;
-I搜索时忽略大小写,除非搜索串中包含小写字母;
-m显示读取文件的百分比;
-M显法读取文件的百分比、行号及总行数;
-N在每行前输出行号;
-ppattern 搜索pattern;比如在/etc/profile搜索单词MAIL,就用 less -p MAIL /etc/profile
-s把连续多个空白行作为一个空白行显示;
-Q在终端下不响铃;

比如:我们在显示/etc/profile的内容时,让其显示行号;

[root@localhost ~]# less -N/etc/profile


3.2 less的动作命令;

进入less后,我们得学几个动作,这样更方便 我们查阅文件内容;最应该记住的命令就是q,这个能让less终止查看文件退出;

动作

回车键 向下移动一行;
y向上移动一行;
空格键 向下滚动一屏;
b向上滚动一屏;
d向下滚动半屏;
hless的帮助;
u向上洋动半屏;
w可以指定显示哪行开始显示,是从指定数字的下一行显示;比如指定的是6,那就从第7行显示;
g跳到第一行;
G跳到最后一行;
pn% 跳到n%,比如 10%,也就是说比整个文件内容的10%处开始显示;
/pattern搜索pattern ,比如 /MAIL表示在文件中搜索MAIL单词;
v调用vi编辑器;
q退出less
!command调用SHELL,可以运行命令;比如!ls 显示当前列当前目录下的所有文件;

就less的动作来说,内容太多了,用的时候查一查man less是最好的。在这里就不举例子了;


4、head 工具,显示文件内容的前几行;

head 是显示一个文件的内容的前多少行;

用法比较简单;

head -n 行数值 文件名;

比如我们显示/etc/profile的前10行内容,应该是:

[root@localhost ~]# head -n 10/etc/profile


5、tail 工具,显示文件内容的最后几行;

tail 是显示一个文件的内容的前多少行;

用法比较简单;

tail -n 行数值 文件名;

比如我们显示/etc/profile的最后5行内容,应该是:

[root@localhost ~]# tail -n 5/etc/profile

 

 

 

 

1、关于文本编辑器;

文本编辑器有很多,比如图形模式的gedit、kwrite、OpenOffice ... ... ,文本模式下的编辑器有vi、vim(vi的增强版本)和nano ... ... vi和vim是我们在Linux中最常用的编辑器。我们有必要介绍一下vi(vim)最简单的用法,以让Linux入门级用户在最短的时间内学会使用它。

nano 工具和DOS操作系统下的edit操作相似,使用简单,我们不作介绍了,如果您有兴趣,不妨尝试一下;


2、vi 编辑器;

为什么要学会简单应用vi

vi或vim是Linux最基本的文本编辑工具,vi或vim虽然没有图形界面编辑器那样点鼠标的简单操作,但vi编辑器在系统管理、服务器管理中,永远不是图形界面的编辑器能比的。当您没有安装X-windows桌面环境或桌面环境崩溃时,我们仍需要字符模式下的编辑器vi;

vi或vim 编辑器在创建和编辑简单文档最高效的工具;


3、vi 编辑器的使用方法;


3.1 如何调用vi ;

[root@localhost ~]# vi filename

~
~
~
~
~
~
~
~


3.2 vi 的三种命令模式;

Command(命令)模式,用于输入命令;
Insert(插入)模式,用于插入文本;
Visual(可视)模式,用于视化的的高亮并选定正文;


3.3 文件的保存和退出;

Command 模式是vi或vim的默认模式,如果我们处于其它命令模式时,要通过ESC键切换过来。

当我们按ESC键后,接着再输入:号时,vi会在屏幕的最下方等待我们输入命令;

:w 保存;
:wfilename 另存为filename;
:wq!保存退出;
:wq!filename 注:以filename为文件名保存后退出;
:q!不保存退出;
:x应该是保存并退出 ,功能和:wq!相同


3.4 光标移动;

当我们按ESC进入Command模式后,我们可以用下面的一些键位来移动光标;

j 向下移动一行;
k向上移动一行;
h向左移动一个字符;
l向右移动一个字符;
ctrl+b向上移动一屏;
ctrl+f向下移动一屏;
向上箭头 向上移动;
向下箭头 向下移动;
向左箭头 向左移动;
向右箭头 向右移动;

我们编辑一个文件时,对于 j、k、l和h键,还能在这些动作命令的前面加上数字,比如 3j,表示向下移动3行。


3.5 插入模式(文本的插入);

i 在光标之前插入;
a在光标之后插入;
I在光标所在行的行首插入;
A在光标所在行的行末插入;
o在光标所在的行的上面插入一行;
O在光标所在的行的下面插入一行;
s删除光标后的一个字符,然后进入插入模式;
S删除光标所在的行,然后进入插入模式;


3.6 文本内容的删除操作;

x 一个字符;
#x删除几个字符,#表示数字,比如3x;
dw删除一个单词;
#dw删除几个单词,#用数字表示,比如3dw表示删除三个单词;
dd删除一行;
#dd删除多个行,#代表数字,比如3dd 表示删除光标行及光标的下两行;
d$删除光标到行尾的内容;
J清除光标所处的行与上一行之间的空格,把光标行和上一行接在一起;


3.7 恢复修改及恢复删除操作;

u 撤消修改或删除操作;

按ESC键返回Command(命令)模式,然后按u键来撤消删除以前的删除或修改;如果您想撤消多个以前的修改或删除操作,请按多按几次u。这和Word的撤消操作没有太大的区别;


3.8 可视模式;

在最新的Linux发行版本中,vi提供了可视模式,因为这个功能是vim才有的。如果您用的vi没有这个功能,就换成vim就有了。打开可视模式,按ESC键,然后按v就进入可视模式;

可视模式为我们提供了极为友好的选取文本范围,以高亮显示;在屏幕的最下方显示有;

-- 可视 --

--VISUAL--

如图:

进入可视模式,我们就可以用前面所说的命令行模式中的光标移动指令,可以进行文本范围的选取。

选取文本范围有何用?

我们可以对某部份删除作业,按d键就删除了我们选中的内容。
选中内容后,我们按y就表示复制;按d表示删除;

值得一提是的删除的同时,也表示复制。我们返回到命令模式,然后移动光标到某个位置,然后按shift+p键,就把刚才删除的内容贴上了。我们先在这里提一句,在后文,我们还得详细说说。

退出可视模式,还是用ESC键;


3.9 复制和粘帖的操作;

其实删除也带有剪切的意思,当我们删除文字时,可以把光标移动到某处,然后按shift+p键就把内容贴在原处,然后再移动光标到某处,然后再按p或shift+p又能贴上;

p 在光标之后粘帖;
shift+p在光标之前粘帖

来举一例:

比如我们想把一个文档的第三行复制下来,然后帖到第五行的后面,我们应该怎么做呢?

有两种方法;

第一种方法:

先把第三行删除,把光标移动到第三行处,然后用dd动作,接着再按一下shift+p键。这样就把刚才删除的第三行帖在原处了。

接着我们再用k键移动光标到第五行,然后再按一下p键,这样就把第三行的内容又帖到第五行的后面了;

第二种方法;

进入可视模式,按ESC键,然后按v键。移动鼠标指针,选中第三行的内容,然后按y键复制;再移动指针到第五行,最后按p键;

所以复制和粘贴操作,是命令模式、插入模式及可视模式的综合运用;我们要学会各种模式之间的切换,要常用ESC键;更为重要的学会在命令模式下移动光标;


3.10 关于行号;

有时我们配置一个程序运行时,会出现配置文件X行出现错误 。这时我们要用到行号相关的操作;


为所有内容添加行号;

按ESC键,然后输入:

:set number

光标所处位置

在屏幕的右下角,有类似如下的;

         57,827%

在这之中,57表示第57行,8表示第8个字符;


3.11 查找和替换功能;


3.11.1 查找;

首先,我们要进入ESC键,进入命令模式;我们输入/或?就进入查找模式了;

/SEARCH 注:正向查找,按n键把光标移动到下一个符合条件的地方;
?SEARCH注:反向查找,按shift+n 键,把光标移动到下一个符合条件的

举一例:比如我想在一个文件中找到swap单词,我应该如下做;

首先按ESC键,进入命令模式,然后输入;

/swap

?swap


3.11.2 替换;

按ESC键进入命令模式;

:s /SEARCH/REPLACE/g 注:把当前光标所处的行中的SEARCH单词,替换成REPLACE,并把所有SEARCH高亮显示;
:%s/SEARCH/REPLACE 注:把文档中所有SEARCH替换成REPLACE;
:#,#s /SEARCH/REPLACE/g 注:#号表示数字,表示从多少行到多少行,把SEARCH替换成REPLACE;

注:在这之中,g表示全局查找;我们注意到,就是没有替换的地方,也会把SEARCH高亮显示;

举例说明:

比如我们有一篇文档要修改;

我们把光标所在的行,把所有单词the,替换成THE,应该是:

:s /the/THE/g

我们把整篇文档的所有的the都替换成THE,应该是:

:%s /the/THE

我们仅仅是把第1行到第10行中的the,替换成THE,应该是;

:1,10 s /the/THE/g

 

 

 

 

 

 

 

 

 

1、Linux文件的扩展名;

一谈到文件类型,大家就能想到Windows的文件类型,比如file.txt、file.doc、file.sys、file.mp3、file.exe等,根据文件的后缀就能判断文件的类型。但在Linux一个文件是否能被执行,和后缀名没有太大的关系,主要看文件的属性有关。但我们了解一下Linux文件的后缀名还是有必要的,特别是我们自己创建一些文件,最好还是加后缀名,这样做的目的是仅仅是为了我们的在应用时方便。

现在的Linux桌面环境和Windows一样智能化,文件的类型是和相应的程序关联的。在我们打开某个文件时,系统会自动判断用哪个应用程序打开。如果从这方面来说,Linux桌面环境和Windows桌面没有太大的区别。

在Linux中,带有扩展名的文件,只能代表程序的关联,并不能说明文件是可以执行,从这方面来说,Linux的扩展名没有太大的意义。

file.tar.gz file.tgz file.tar.bz2 file.rar file.gzfile.zip ... ... 这些大家都熟悉,是归档文件。要通过相应的工具来解压或提取;

file.php 这个大家都知道吧,是能用php语言解释器进行解释,能用浏览器打开的文件;

file.so 这类是库文件;

file.doc file.obt 这是OpenOffice 能打开的文件;

... ...

用一些工具创建的文件,其后缀也不相同,就看我们用什么工具了,比如 Gimp,gedit,OpenOffice 等工具,创建出来的文件后缀名也不一样。


2、Linux 文件类型;

Linux文件类型和Linux文件的文件名所代表的意义是两个不同的概念。我们通过一般应用程序而创建的比如file.txt、file.tar.gz ,这些文件虽然要用不同的程序来打开,但放在Linux文件类型中衡量的话,大多是常规文件(也被称为普通文件)。

Linux文件类型常见的有:普通文件、目录、字符设备文件、块设备文件、符号链接文件等;现在我们进行一个简要的说明;


2.1 普通文件;

[root@localhost ~]# ls -lhinstall.log
-rw-r--r--1 root root 53K 03-16 08:54 install.log

我们用 ls -lh 来查看某个文件的属性,可以看到有类似 -rw-r--r-- ,值得注意的是第一个符号是 - ,这样的文件在Linux中就是普通文件。这些文件一般是用一些相关的应用程序创建,比如图像工具、文档工具、归档工具... .... 或 cp工具等。这类文件的删除方式是用rm 命令;


2.2 目录;

[root@localhost ~]# ls -lh
总计 14M
-rw-r--r--1 root root 2 03-27 02:00 fonts.scale
-rw-r--r--1 root root 53K 03-16 08:54 install.log
-rw-r--r--1 root root 14M03-16 07:53 kernel-2.6.15-1.2025_FC5.i686.rpm
drwxr-xr-x2 1000 users 4.0K 04-04 23:30 mkuml-2004.07.17
drwxr-xr-x2 root root 4.0K 04-19 10:53 mydir
drwxr-xr-x2 root root 4.0K 03-17 04:25 Public

当我们在某个目录下执行,看到有类似 drwxr-xr-x ,这样的文件就是目录,目录在Linux是一个比较特殊的文件。注意它的第一个字符是d。创建目录的命令可以用 mkdir 命令,或cp命令,cp可以把一个目录复制为另一个目录。删除用rm 或rmdir命令。


2.3 字符设备或块设备文件;

如时您进入/dev目录,列一下文件,会看到类似如下的;

[root@localhost ~]# ls -la /dev/tty
crw-rw-rw-1 root tty 5, 0 04-19 08:29 /dev/tty
[root@localhost~]# ls -la /dev/hda1
brw-r-----1 root disk 3, 1 2006-04-19 /dev/hda1

我们看到/dev/tty的属性是 crw-rw-rw- ,注意前面第一个字符是 c ,这表示字符设备文件。比如猫等串口设备

我们看到 /dev/hda1 的属性是 brw-r----- ,注意前面的第一个字符是b,这表示块设备,比如硬盘,光驱等设备;

这个种类的文件,是用mknode来创建,用rm来删除。目前在最新的Linux发行版本中,我们一般不用自己来创建设备文件。因为这些文件是和内核相关联的。


2.4 套接口文件;

当我们启动MySQL服务器时,会产生一个mysql.sock的文件。

[root@localhost ~]# ls -lh/var/lib/mysql/mysql.sock
srwxrwxrwx1 mysql mysql 0 04-19 11:12 /var/lib/mysql/mysql.sock

注意这个文件的属性的第一个字符是 s。我们了解一下就行了。


2.5 符号链接文件;

[root@localhost ~]# ls -lhsetup.log
lrwxrwxrwx1 root root 11 04-19 11:18 setup.log -> install.log

当我们查看文件属性时,会看到有类似 lrwxrwxrwx,注意第一个字符是l,这类文件是链接文件。是通过ln -s 源文件名 新文件名 。上面是一个例子,表示setup.log是install.log的软链接文件。怎么理解呢?这和Windows操作系统中的快捷方式有点相似。

符号链接文件的创建方法举例;

[root@localhost ~]# ls -lh kernel-2.6.15-1.2025_FC5.i686.rpm
-rw-r--r--1 root root 14M03-16 07:53 kernel-2.6.15-1.2025_FC5.i686.rpm
[root@localhost~]# ln -s kernel-2.6.15-1.2025_FC5.i686.rpm kernel.rpm
[root@localhost~]# ls -lh kernel*
-rw-r--r--1 root root 14M03-16 07:53 kernel-2.6.15-1.2025_FC5.i686.rpm
lrwxrwxrwx1 root root 33 04-19 11:27 kernel.rpm -> kernel-2.6.15-1.2025_FC5.i686.rpm

 

 

阅读更多
个人分类: linux
上一篇Linux 入门常用命令
下一篇linux比较全2(关于Linux 文件系统中路径的理解)
想对作者说点什么? 我来说一句

Linux命令大全完整版

2016年03月31日 205KB 下载

linux命令大全

2014年09月22日 77KB 下载

linux笔试

2008年04月18日 90KB 下载

linux讲义

2007年09月09日 1.22MB 下载

Linux与Windows的安全性比较

2012年10月30日 64KB 下载

Linux命令大全

2012年03月07日 332KB 下载

21天学会linux

2009年11月13日 1.23MB 下载

Linux圣经 8th

2018年05月30日 13.81MB 下载

没有更多推荐了,返回首页

关闭
关闭