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. 安装时后的idea,项目不能运行,pom.xml文件不能下载到本地仓库,maven配置是正确的

    安装时后的idea,项目不能运行,pom.xml文件不能下载到本地仓库,maven配置是正确的 项目上传到svn后,同事下载项目后,没有识别出来mavn中的pom.xml文件,导致idea不能自动下载 ...

  2. WPF命令使用

    What 命令包含以下部分: 命令:一个实现了ICommand接口的类,RoutedCommand是WPF里最常用的命令类,其它命令类大多派生自RoutedCommand 命令源:触发命令的对象,如b ...

  3. 《Java多线程编程核心技术》读后感(十八)

    线程中出现异常的处理 package Seven; public class MyThread extends Thread { @Override public void run() { Strin ...

  4. The web.config file for this project is missing the required DirectRequestModule.

    The web.config file for this project is missing the required DirectRequestModule.   将应用程序集的模式由集成改为经典 ...

  5. SPOJ SERGRID 【BFS】

    思路: 在一个方向上走K步,基础BFS. 注意标记: 注意路径: PS:显著注释是记录路径. #include<bits/stdc++.h> using namespace std; co ...

  6. Linux下查看磁盘剩余空间和文件夹大小

    1. du -sh 查看当前文件夹大小 2. du -sh * | sort -n 列出当前文件夹下的所有文件夹及其大小,并按照文件夹大小排序 du - sh *  //查看当前文件夹下所有文件的大小 ...

  7. uoj#399. 【CTSC2018】假面(概率期望)

    传送门 记\(p_{i,j}\)为\(i\)还剩\(j\)滴血的概率,那么\(i\)最后血量的期望就是\[E_i=\sum_{j=0}^{m_i}j\times p_{i,j}\] 然后\(p\)数组 ...

  8. 数组常用API(1)

    数组常用API: 1. push 作用:数组尾部添加: 特点:可以添加一个或多个值: 返回值是数组最新的长度:会改变原数组: 示例: var arr = [10,20,30,40];          ...

  9. 聊聊 Laravel 5.5 的 「自动发现」

    ThinkSNS是什么? ThinkSNS(简称TS),一款全平台综合性社交系统,目前最新版本为ThinkSNS+.ThinkSNS V4 ThinkSNS[简]. 看了Taylor Otwell发表 ...

  10. Nacos深入浅出(五)

    四中标色的代码 result = ConfigService.dump(dataId, group, tenant, cf.getContent(), lastModified); 我们看下这个方法 ...