vi掌握练习:

英文文档,相同的单词复制粘贴光标移动编辑等操作;


cat:显示文件所有内容,小文件查看时使用。

缺点:文件大时不方便查看,文件很大时,会抢占系统资源,会出现命令崩溃。

[zyj@localhost ~]$ cat /etc/passwd
root:x:::root:/root:/bin/bash
bin:x:::bin:/bin:/sbin/nologin
daemon:x:::daemon:/sbin:/sbin/nologin
adm:x:::adm:/var/adm:/sbin/nologin
lp:x:::lp:/var/spool/lpd:/sbin/nologin
sync:x:::sync:/sbin:/bin/sync
shutdown:x:::shutdown:/sbin:/sbin/shutdown
halt:x:::halt:/sbin:/sbin/halt
mail:x:::mail:/var/spool/mail:/sbin/nologin
uucp:x:::uucp:/var/spool/uucp:/sbin/nologin
operator:x:::operator:/root:/sbin/nologin
games:x:::games:/usr/games:/sbin/nologin
gopher:x:::gopher:/var/gopher:/sbin/nologin
ftp:x:::FTP User:/var/ftp:/sbin/nologin
nobody:x:::Nobody:/:/sbin/nologin
dbus:x:::System message bus:/:/sbin/nologin
usbmuxd:x:::usbmuxd user:/:/sbin/nologin
rtkit:x:::RealtimeKit:/proc:/sbin/nologin
avahi-autoipd:x:::Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
vcsa:x:::virtual console memory owner:/dev:/sbin/nologin
abrt:x::::/etc/abrt:/sbin/nologin
haldaemon:x:::HAL daemon:/:/sbin/nologin
ntp:x::::/etc/ntp:/sbin/nologin
apache:x:::Apache:/var/www:/sbin/nologin
saslauth:x:::Saslauthd user:/var/empty/saslauth:/sbin/nologin
postfix:x::::/var/spool/postfix:/sbin/nologin
gdm:x::::/var/lib/gdm:/sbin/nologin
pulse:x:::PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
sshd:x:::Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x::::/:/sbin/nologin
zyj:x::: python_full:/home/zyj:/bin/bash

tac:倒序读文件

[zyj@localhost ~]$ tac /etc/passwd
zyj:x::: python_full:/home/zyj:/bin/bash
tcpdump:x::::/:/sbin/nologin
sshd:x:::Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
pulse:x:::PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
gdm:x::::/var/lib/gdm:/sbin/nologin
postfix:x::::/var/spool/postfix:/sbin/nologin
saslauth:x:::Saslauthd user:/var/empty/saslauth:/sbin/nologin
apache:x:::Apache:/var/www:/sbin/nologin
ntp:x::::/etc/ntp:/sbin/nologin
haldaemon:x:::HAL daemon:/:/sbin/nologin
abrt:x::::/etc/abrt:/sbin/nologin
vcsa:x:::virtual console memory owner:/dev:/sbin/nologin
avahi-autoipd:x:::Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
rtkit:x:::RealtimeKit:/proc:/sbin/nologin
usbmuxd:x:::usbmuxd user:/:/sbin/nologin
dbus:x:::System message bus:/:/sbin/nologin
nobody:x:::Nobody:/:/sbin/nologin
ftp:x:::FTP User:/var/ftp:/sbin/nologin
gopher:x:::gopher:/var/gopher:/sbin/nologin
games:x:::games:/usr/games:/sbin/nologin
operator:x:::operator:/root:/sbin/nologin
uucp:x:::uucp:/var/spool/uucp:/sbin/nologin
mail:x:::mail:/var/spool/mail:/sbin/nologin
halt:x:::halt:/sbin:/sbin/halt
shutdown:x:::shutdown:/sbin:/sbin/shutdown
sync:x:::sync:/sbin:/bin/sync
lp:x:::lp:/var/spool/lpd:/sbin/nologin
adm:x:::adm:/var/adm:/sbin/nologin
daemon:x:::daemon:/sbin:/sbin/nologin
bin:x:::bin:/bin:/sbin/nologin
root:x:::root:/root:/bin/bash
[zyj@localhost ~]$

more:显示一个版面,按空格继续显示,并显示百分比,按q退出查看。

less:一行一行显示,和more差不多

[zyj@localhost ~]$ more /etc/profile
# /etc/profile # System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc # It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need for merging in future updates. pathmunge () {
case ":${PATH}:" in
*:"$1":*)
;;
*)
if [ "$2" = "after" ] ; then
PATH=$PATH:$
else
PATH=$:$PATH
fi
esac
} if [ -x /usr/bin/id ]; then
if [ -z "$EUID" ]; then
# ksh workaround
EUID=`/usr/bin/id -u`
UID=`/usr/bin/id -ru`
fi
USER="`/usr/bin/id -un`"
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
fi # Path manipulation
--More--(%)

 tail:查看文件的末尾,默认显示尾部10行,查看新增日志文件。可以通过-加数字选择查看尾部具体的行数;

[zyj@localhost ~]$ tail /etc/profile
if [ "${-#*i}" != "$-" ]; then
. "$i"
else
. "$i" >/dev/null >&
fi
fi
done unset i
unset -f pathmunge
[zyj@localhost ~]$
[zyj@localhost ~]$ tail-f  /etc/profile   //查看实时日志,新增的日志追加显示出来。
-bash: tail-f: command not found
[zyj@localhost ~]$ tail -f /etc/profile
if [ "${-#*i}" != "$-" ]; then
. "$i"
else
. "$i" >/dev/null >&
fi
fi
done unset i
unset -f pathmunge
 [zyj@localhost ~]$ tail -  /etc/profile    //显示尾部后5行
fi
done unset i
unset -f pathmunge
[zyj@localhost ~]$

head:默认显示前10行,可以通过-加数字选择查看前面具体的行数;

[zyj@localhost ~]$ head /etc/profile
# /etc/profile # System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc # It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need for merging in future updates. [zyj@localhost ~]$
 [zyj@localhost ~]$ head - /etc/profile  //显示前5行
# /etc/profile # System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc [zyj@localhost ~]$

查找文件命令find

[zyj@localhost home]$ find h* //在当前目录下查找以h开头的文件
hello.txt
[zyj@localhost home]$ find /etc/pass* //etc目录下查找以pass开头的文件
/etc/passwd
/etc/passwd-
/etc/passwd.OLD
[zyj@localhost ~]$ find /etc/pass* -print //etc目录下查找以pass开头的文件,并显示出来
/etc/passwd
/etc/passwd-
/etc/passwd.OLD

在文件内容中查找关键字grep

[zyj@localhost ~]$ grep 'root' /etc/passwd //查找passwd中包含root的内容
root:x:::root:/root:/bin/bash
operator:x:::operator:/root:/sbin/nologin
[zyj@localhost ~]$ grep '^root' /etc/passwd //以root作为行的开始的内容
root:x:::root:/root:/bin/bash
[zyj@localhost ~]$ grep 'bash$' /etc/passwd //查找以bash结尾的内容
root:x:::root:/root:/bin/bash
zyj:x::: python_full:/home/zyj:/bin/bash

 管道:把管道左边的命令执行的结果传给右边的命令;命令1|命令2|命令3......

[zyj@localhost ~]$ head - /etc/profile
# /etc/profile # System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc # It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need for merging in future updates.
[zyj@localhost ~]$ head - /etc/profile | tail - //前9行的倒数第一行即第9行;
# will prevent the need for merging in future updates.
[zyj@localhost ~]$ ls -al | more //显示多的时候可以通过管道后配置more、less使用
total
drwx------. zyj zyj Apr : .
drwxr-xr-x. root root Apr : ..
-rw-------. zyj zyj Apr : .ICEauthority
-rw-------. zyj zyj Apr : .bash_history
-rw-r--r--. zyj zyj Mar .bash_logout
-rw-r--r--. zyj zyj Mar .bash_profile
-rw-r--r--. zyj zyj Apr : .bashrc
drwxr-xr-x. zyj zyj Apr : .cache
drwxr-xr-x. zyj zyj Apr : .config
drwx------. zyj zyj Apr : .dbus
-rw-r--r--. zyj zyj Apr : .dmrc
-rw-------. zyj zyj Apr : .esd_auth
drwxr-xr-x. zyj zyj Apr : .fontconfig
drwx------. zyj zyj Apr : .gconf
drwxr-xr-x. zyj zyj Apr : .gnome2
drwxrwxr-x. zyj zyj Apr : .gnote
drwx------. zyj zyj Apr : .gnupg
-rw-rw-r--. zyj zyj Apr : .gtk-bookmarks
drwx------. zyj zyj Apr : .gvfs
-rw-------. zyj zyj Apr : .lesshst
drwxr-xr-x. zyj zyj Apr : .local
drwxr-xr-x. zyj zyj Apr : .mozilla
drwxr-xr-x. zyj zyj Apr : .nautilus
drwx------. zyj zyj Apr : .pulse
-rw-------. zyj zyj Apr : .pulse-cookie
drwx------. zyj zyj Apr : .ssh
-rw-------. zyj zyj Apr : .viminfo
-rw-rw-r--. zyj zyj Apr : .vimrc
-rw-------. zyj zyj Apr : .xsession-errors
-rw-------. zyj zyj Apr : .xsession-errors.old
drwxr-xr-x. zyj zyj Apr : Desktop
drwxr-xr-x. zyj zyj Apr : Documents
drwxr-xr-x. zyj zyj Apr : Downloads
drwxr-xr-x. zyj zyj Apr : Music
drwxr-xr-x. zyj zyj Apr : Pictures
--more
[zyj@localhost ~]$ ps aux | grep tty //查找包含tty的进程
root 0.0 0.0 tty2 Ss+ : : /sbin/mingetty /dev/tty2
root 0.0 0.0 tty3 Ss+ : : /sbin/mingetty /dev/tty3
root 0.0 0.0 tty4 Ss+ : : /sbin/mingetty /dev/tty4
root 0.0 0.0 tty5 Ss+ : : /sbin/mingetty /dev/tty5
root 0.0 0.0 tty6 Ss+ : : /sbin/mingetty /dev/tty6
root 0.1 2.4 tty1 Ss+ : : /usr/bin/Xorg : -br -verbose -audit -auth /var/run/gdm/auth-for-gdm-cxJWaZ/database -nolisten tcp vt1
zyj 0.0 0.0 pts/ S+ : : grep tty
[zyj@localhost ~]$
[zyj@localhost ~]$ ps aux | grep tty | grep tty2 //命令1|命令2
root 0.0 0.0 tty2 Ss+ : : /sbin/mingetty /dev/tty2
zyj 0.0 0.0 pts/ S+ : : grep tty2
[zyj@localhost ~]$ ls /etc/ | grep passwd //在etc下的文件中查找有passwd的内容;
passwd
passwd-
passwd.OLD
[zyj@localhost ~]$ find /etc/pass*
/etc/passwd
/etc/passwd-
/etc/passwd.OLD

文本处理:

cut:切文件,常用-d 和-f 选项。

[zyj@localhost home]$ echo "1,2,3,4,5" | cut -d',' -f1 //以逗号为分隔符分割,并显示分割后的第一个字符串。

[zyj@localhost home]$ echo "1,12,23,44,55" | cut -d',' -f1,//以逗号为分隔符分割,并显示分割后的第一个和第4个字符串。
,
[zyj@localhost home]$ echo "1,12,23,44,55" | cut -d',' -f1-//以逗号为分隔符分割,并显示分割后的第一个和第5个字符串
,,,,
[zyj@localhost home]$ tail - /etc/passwd | cut -d":" -f1
zyj

sort:排序

[zyj@localhost ~]$ du /home/zyj/ | grep mozilla | sort -n //升序排序
/home/zyj/.mozilla/extensions
/home/zyj/.mozilla/plugins
/home/zyj/.mozilla
[zyj@localhost ~]$ du /home/zyj/ | grep mozilla | sort -n -r //降序排序
/home/zyj/.mozilla
/home/zyj/.mozilla/plugins
/home/zyj/.mozilla/extensions
[zyj@localhost home]$ sort /etc/passwd //字符串排序
abrt:x::::/etc/abrt:/sbin/nologin
adm:x:::adm:/var/adm:/sbin/nologin
apache:x:::Apache:/var/www:/sbin/nologin
avahi-autoipd:x:::Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
bin:x:::bin:/bin:/sbin/nologin
daemon:x:::daemon:/sbin:/sbin/nologin
dbus:x:::System message bus:/:/sbin/nologin
ftp:x:::FTP User:/var/ftp:/sbin/nologin
games:x:::games:/usr/games:/sbin/nologin
gdm:x::::/var/lib/gdm:/sbin/nologin
gopher:x:::gopher:/var/gopher:/sbin/nologin
haldaemon:x:::HAL daemon:/:/sbin/nologin
halt:x:::halt:/sbin:/sbin/halt
lp:x:::lp:/var/spool/lpd:/sbin/nologin
mail:x:::mail:/var/spool/mail:/sbin/nologin
nobody:x:::Nobody:/:/sbin/nologin
ntp:x::::/etc/ntp:/sbin/nologin
operator:x:::operator:/root:/sbin/nologin
postfix:x::::/var/spool/postfix:/sbin/nologin
pulse:x:::PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
root:x:::root:/root:/bin/bash
rtkit:x:::RealtimeKit:/proc:/sbin/nologin
saslauth:x:::Saslauthd user:/var/empty/saslauth:/sbin/nologin
shutdown:x:::shutdown:/sbin:/sbin/shutdown
sshd:x:::Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
sync:x:::sync:/sbin:/bin/sync
tcpdump:x::::/:/sbin/nologin
usbmuxd:x:::usbmuxd user:/:/sbin/nologin
uucp:x:::uucp:/var/spool/uucp:/sbin/nologin
vcsa:x:::virtual console memory owner:/dev:/sbin/nologin
zyj:x::: python_full:/home/zyj:/bin/bash

linux引号:

1、双引号“” 弱引号,会解析特殊符号,如$

2、单引号‘’ 强引号,引号引起的地方为字符串

3、反引号·:命令替换。

[zyj@localhost ~]$ a=
[zyj@localhost ~]$ echo "$a" [zyj@localhost ~]$ echo '$a'
$a
[zyj@localhost ~]$ whoami
zyj
[zyj@localhost ~]$ echo "whoami"
whoami
[zyj@localhost ~]$ echo 'whoami'
whoami
[zyj@localhost ~]$ echo `whoami` //数字1旁边的按键
zyj
[zyj@localhost ~]$

linux命令之文本查看的更多相关文章

  1. Linux 常用命令:文本查看篇

    前言 Linux常用命令中,除了cat还有很多其他用于文本查看的命令.本文将简单介绍一下这些文本查看的命令. 全文本显示--cat cat可能是常用的一个文本查看命令了,使用方法也很简单: cat f ...

  2. Linux命令lsb_release:查看当前系统的发行版信息

    Linux里的lsb_release命令用来查看当前系统的发行版信 息(prints certain LSB (Linux Standard Base) and Distribution inform ...

  3. Linux命令 — 设置或查看网络配置命令ifconfig

    ifconfig命令用于设置或查看网络配置,包括IP地址.网络掩码.广播地址等.它是linux系统中,使用频率最高的关于网络方面的命令. 1. 命令介绍 命令格式: ifconfig [interfa ...

  4. Linux命令之lsb_release - 查看当前系统的发行版信息

    用途说明 lsb_release命令用来查看当前系统的发行版信息(prints certain LSB (Linux Standard Base) and Distribution informati ...

  5. Linux命令-文件文本操作grep

    文件文本操作 grep 在文件中查找符合正则表达式条件的文本行 cut 截取文件中的特定字段 paste 附加字段 tr 字符转换或压缩 sort 调整文本行的顺序,使其符合特定准则 uniq 找出重 ...

  6. 【linux 命令】:查看系统开机,关机时间【转载】

    转载原文:http://www.cnblogs.com/kerrycode/p/3759395.html 看Linux开机关机时间的方法(非常全面) 1: who 命令查看 who -b 查看最后一次 ...

  7. linux命令stat,查看文件详细信息

    可以查看文件的各类具体信息:文件权限的数字形式0664:uid.gid的权限的数字形式等 更多用法参考stat --help lsattr test.sh 查看文件的其他属性:只读属性.只可以追加写属 ...

  8. linux——命令2—删除—查看—搜索

    多种查看命令: 多种搜索命令: ll命令 -rw-rw-rw  - 表示文件 drw-rw-rw  d 表示目录文件夹 ========================== 使用rm删除文件 例如:r ...

  9. 【linux命令】:查看系统运行状态,命令top 【转载】

    原文:http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316399.html 简介 top命令是Linux下常用的性能分析工具,能够实时显示系 ...

随机推荐

  1. 【opencv学习笔记四】opencv3.4.0图形用户接口highgui函数解析

    在笔记二中我们已经知道了,在highgui文件夹下的正是opencv图形用户接口功能结构,我们这篇博客所说的便是D:\Program Files\opencv340\opencv\build\incl ...

  2. how to run faster

    题目大意: 已知 $$ b_i = \sum_{j=1}^n {(i,j)^d [i,j]^c x_j}$$,给定 $b_i$ 求解 $x_i$ 解法: 考虑 $f(n) = \sum_{d|n}{f ...

  3. Thinkphp3.2 下载文件的方法

    今天做一个功能,刚好遇到了一个要下载文件功能的需求,所以把这个基于thinkphp3.2的文件下载功能,描述一下大概的实现方法. 网上有人说用a链接的方法实现,但是这种方法并不安全.所以我们还是用官方 ...

  4. Light Pre-Pass 渲染器----为多光源设计一个渲染器

    http://blog.csdn.net/xoyojank/article/details/4460953 作者: Wolfgang Engel, 原文: http://www.wolfgang-en ...

  5. 《深入理解Java虚拟机》笔记02 -- 垃圾收集算法

    1. 标记 - 清除算法 先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象.它是最基础的收集算法.其他收集算法都是根据其思路,改进其不足之处. 缺点:1) 标记和清除两个阶段的效率都不 ...

  6. solidity 学习笔记(3) 函数修饰符/继承

    修饰符: 函数修饰符有 constant  view pure 其中 constant和view的功能是一样的  不会消耗gas 也就是说不会做任何存储   constant在5.0以后的版本中被废弃 ...

  7. C 语言实例 - 计算自然数的和

    C 语言实例 - 计算自然数的和 自然数是指表示物体个数的数,即由0开始,,,,,,……一个接一个,组成一个无穷的集体,即指非负整数. 实例 - 使用 for #include <stdio.h ...

  8. SP14932 LCA - Lowest Common Ancestor

    Description: 一棵树是一个简单无向图,图中任意两个节点仅被一条边连接,所有连通无环无向图都是一棵树.\(-Wikipedia\) 最近公共祖先(\(LCA\))是--(此处省去对\(LCA ...

  9. sublime配置nodejs运行调试js

    node.js调试javascript的配置 1. 首先到 nodejs.org 下载 Node.js 安装包并安装.2. 打开 Sublime Text 编辑器.选择菜单 Tools --> ...

  10. 出现提示ERROR 1289 The 'InnoDB' feature is disabled; you need MySQL built with 'InnoDB' to have IT working

    关闭mysql数据库 在mysql的安装目录中找到my.ini文件找到skip-innodb,在前面加上#号保存,重启mysql服务 OK.