03工作目录切换命令与文本文件编辑命令
一. 系统状态检测命令
1. pwd 命令
pwd 命令用于显示用户当前所处的工作目录,格式为“pwd [选项]”
2. cd 命令
cd 命令用于切换工作路径,格式为“cd [目录名称]”。
3. ls 命令
ls 命令用于显示目录中的文件信息,格式为“ls [选项][文件]”
ls [-alrtAFR] [name...]
#常用参数
ls -a # 显示所有文件及目录 (. 开头的隐藏文件也会列出)
ls -l # 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
ls -R # 若目录下有文件,则以下之文件亦皆依序列出
ls -lt # 按文件修改顺序降序排列
ls -ltr # 按文件修改顺序升序排列
二. 文本文件编辑命令
1. cat 命令
cat 命令用于查看纯文本文件(内容较少的),格式为“cat [选项][文件]”。
//cat命令后面追加一个-n参数,可以显示文本的行号
[root@bogon ~]# cat -n anaconda-ks.cfg
1 #version=DEVEL
2 # System authorization information
3 auth --enableshadow --passalgo=sha512
4 # Use CDROM installation media
5 cdrom
6 # Use graphical install
2. more 命令
more 命令用于查看纯文本文件(内容较多时),格式为“more [选项][文件]”。
[root@bogon ~]# more anaconda-ks.cfg
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
cdrom
more命令会在最下面使用百分百的形式来提示用户已经阅读了多少内容。用户可以使用空格键或者回车键向下翻页。
3. head 命令
head 命令用户查看纯文本文档的前N行,格式为“head [选项][文件]”。
//只查看anaconda-ks.cfg文件的前5行
[root@bogon ~]# head -n 5 anaconda-ks.cfg
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
cdrom
4. tail 命令
tail 命令用户查看纯文本文档的后N行或持续刷新内容,格式为“head [选项][文件]”。
[root@bogon ~]# tail -n 5 anaconda-ks.cfg
%anaconda
pwpolicy root --minlen=6 --minquality=50 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=50 --notstrict --nochanges --notempty
pwpolicy luks --minlen=6 --minquality=50 --notstrict --nochanges --notempty
%end
5. tr 命令
tr 命令用于替换文本文件中的字符,格式为“tr [原始字符][目标字符]”。
[root@bogon 0607]# cat hello.c | tr [a-z] [A-Z]
#INCLUDE <STDIO.H>
INT MAIN()
{
PRINTF("HELLO WORLD, HELLO ROCK!\N");
RETURN 0;
}
6. wc 命令
wc 命令用于统计指定文本的行数、字数、字节数,格式为“wc [参数] 文本”。
-l 只显示行数 -w 只显示单词数 -c 只显示字节数
[root@bogon 0607]# cat -n hello.c
1 #include <stdio.h>
2 int main()
3 {
4 printf("Hello world, Hello rock!\n");
5 return 0;
6 }
[root@bogon 0607]# wc -l hello.c
6 hello.c
[root@bogon 0607]# wc -w hello.c
12 hello.c
[root@bogon 0607]# wc -c hello.c
88 hello.c
7. stat 命令
stat 命令用于查看文件的具体存储信息和时间等信息,格式为“stat 文件名称”。
[root@bogon 0607]# stat hello.c
File: ‘hello.c’
Size: 88 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 101238334 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ hk) Gid: ( 1000/ hk)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2018-06-07 18:17:30.270972180 +0800
Modify: 2018-06-07 18:17:27.391972203 +0800
Change: 2018-06-07 18:17:27.393972203 +0800
Birth: -
8. cut 命令
cut 命令用于按“列”提取文本字符,格式为“cut [参数] 文本”
9. diff 命令
diff 命令用于比较多个文本文件的差异,格式为“diff [参数] 文件”。常用于判断文件是否被篡改的有力神器。
--brief 显示比较后的结果 -c 显示文件内容具体的不同
10 综合使用
10.1 查询目录中的文件个数
//查询当前文件夹中的所有文件,并统计长度
[root@bogon 0607]$ ls -l | grep '^[-]' | wc -l
17
#ls -l 用于查询当前目录的文件;
#grep '^[-]' 用于筛选以“-”开头的行,即对于一个普通文件;
#wl -l 用于统计行数
道虽迩,不行不至;事虽小,不为不成。