一.Linux目录结构
/boot | 此目录是系统内核存放的目录,同时也是系统启动时所需文件的存放目录, |
/bin | bin 是 binary 的缩写。这一目录存放了所有用户都可执行的且经常使用的命令,如 cp、ls 等。 |
/dev | 此目录保存了接口设备文件,如/dev/hda1、/dev/cdrom 等。 |
/etc | 系统主要的配置文件几乎都放置到这个目录内,例如人员的账号密码文件、各 种服务的起始文件等。 |
/home | 存放所有普通系统用户的默认工作文件夹(即宿主目录、家目录),如用户账号“teacher”对应的宿主目录位于“/home/teacher/”。 |
/root | 该目录是 Linux 操作系统管理员(超级用户)root 的宿主目录,默认情况下只有 root 用户的宿主目录在根目录下而不是在“/home”目录下。 |
/sbin | 存放 Linux 操作系统中最基本的管理命令,一般管理员用户才有权限执行。 |
/user | 存放其他的用户应用程序,通常还被划分成很多子目录,用于存放不同类型 的应用程序。 |
/var | 存放系统中经常需要变化的一些文件,如系统日志文件、用户邮箱目录等, 在实际应用系统中,“/var”目录通常也被划分为独立的 |
二.查看及检索文件
1.cat
cat 命令——显示并连接(Concatenate)文件的内容
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
YPE=Ethernet BOOTPROTO=none DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no
IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens33
UUID=918487c2-e150-422b-acdd-8b7b61d0239b DEVICE=ens33
ONBOOT=yes IPADDR=192.168.4.11 NETMASK=255.255.255.0 GATEWAY=192.168.4.254
如果需要同时查看多个文件的内容,可以添加多个文件路径作为查看对象。
[root@localhost ~]# cat /etc/redhat-release /proc/version
CentOS Linux release 7.3.1611 (Core)
Linux version 3.10.0-514.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Tue Nov 22 16:42:41 UTC 2016
2.more和less
more 和 less 命令——分页查看文件内容
more
[root@localhost ~]# more /etc/httpd/conf/httpd.conf
#
# This is the main Apache HTTP server configuration file. It contains the # configuration directives that give the server its instructions.
# See <URL:http://httpd.apache.org/docs/2.4/> for detailed information. # In particular, see
# <URL:http://httpd.apache.org/docs/2.4/mod/directives.html> # for a discussion of each configuration directive.
--more--(1%)
less
less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。
3.head和tail
head 和 tail 命令——查看文件开头或末尾的部分内容
head
查看文件开头的部分内容
[root@localhost ~]# head -5 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
tail
查看文件结尾的部分内容
[root@localhost ~]# tail -5 /etc/passwd
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
wjh:x:1000:1000:wjh:/home/wjh:/bin/bash
4.wc
wc 命令——统计文件内容中的单词数量(Word Count)、行数等信息
wc-l 统计文件内容中的行数。 wc-w 统计文件内容中的单词个数(以空格或制表位作为分隔)。 wc-c 统计文件内容中的字节数。
[root@localhost ~]# wc -l /etc/passwd
41 /etc/passwd
[root@localhost ~]# wc /etc/passwd
41 81 2101 /etc/passwd
5.grep
grep 命令——检索、过滤文件内容
[root@localhost ~]# grep "ftp" /etc/passwd
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
[root@localhost ~]# grep -i "ftp" /etc/passwd
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin[root@localhost ~]# grep -v "ftp" /etc/passwd |head -5
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
grep-i 查找内容时忽略大小写(Ignore Case)。 grep-v 反转查找(Invert),即输出与查找条件不相符的行。
三.备份与恢复文档
1.使用压缩和解压工具
gzip 和 bzip2 是 Linux 操作系统中使用最多的两个压缩工具,这两个命令都可以压缩指定的文件,或者将已经压缩的文件进行解压。两者使用的压缩算法各不相同,但命令使用格式基本类似,一般来说 bzip2 的压缩效率要好一些。
(1)gzip 和 gunzip 命令
使用 gzip 制作的压缩文件默认的扩展名为“.gz”。制作压缩文件时,使用“-9”选项可以提高压缩的比率,但文件较大时会需要更多的时间。gzip -1 使用一级别压缩 压缩比例最少 压缩速度最快 -9 压缩比例最大 压缩速度最慢 默认1-9 不加级别默认是6级别。
[root@localhost ~]# gzip ~/111/1.txt
[root@localhost ~]# cd 111
[root@localhost 111]# ll
总用量 4
-rw-r--r--. 1 root root 0 6月 21 01:37 1.log
-rw-r--r--. 1 root root 26 6月 21 01:36 1.txt.gz
当需要解压缩经gzip 压缩的文件时,只需使用带“-d”选项的gzip 命令即可,或者直接使用
gunzip 命令。
[root@localhost 111]# gzip -d ~/111/1.txt.gz
[root@localhost 111]# ll
总用量 0
-rw-r--r--. 1 root root 0 6月 21 01:37 1.log
-rw-r--r--. 1 root root 0 6月 21 01:36 1.txt
(2)bzip2 和 bunzip2 命令
bzip2 和 bunzip2 命令的用法与 gzip、gunzip 命令基本相同,使用 bzip2 制作的压缩文件默认的扩展名为“.bz2”。
[root@localhost 111]# bzip2 ~/111/1.txt
[root@localhost 111]# ll
总用量 4
-rw-r--r--. 1 root root 0 6月 21 01:37 1.log
-rw-r--r--. 1 root root 14 6月 21 01:36 1.txt.bz2
[root@localhost 111]# bzip2 -d ~/111/1.txt.bz2
[root@localhost 111]# ll
总用量 0
-rw-r--r--. 1 root root 0 6月 21 01:37 1.log
-rw-r--r--. 1 root root 0 6月 21 01:36 1.txt
2.使用tar归档和释放工具
1.tar
tar 命令主要用于对目录和文件进行归档。在实际的备份工作中,通常在归档的同时也会将包文件进行压缩(需要调用前面的 gzip 或 bzip2 命令),以节省磁盘空间。
tar-c | 创建(Create).tar 格式的包文件。 |
tar-C | 解压时指定释放的目标文件夹。 |
tar-f | 表示使用归档文件。 |
tar-j | 调用 bzip2 程序进行压缩或解压。 |
tar-p | 打包时保留文件及目录的权限。 |
tar-P | 打包时保留文件及目录的绝对路径。 |
tar-t | 列表查看包内的文件。 |
tar-v | 输出详细信息(Verbose)。 |
tar-x | 解开.tar 格式的包文件。 |
tar-z | 调用 gzip 程序进行压缩或解压。 |
czvf xzvf
cjvf xjvf
czf xzf
cjf xjf
[root@localhost ~]# tar zcvf ky37.tar.gz 111 wjh.repo
[root@localhost ~]# ls
111 anaconda-ks.cfg ky37.tar.gz 公共 视频 文档 音乐
111.repo ky37 wjh.repo 模板 图片 下载 桌面
若需要制作“.tar.bz2”格式的归档压缩包,则将“-z”选项改为“-j”选项使用即可。
2.从归档文件中恢复数据
类似地,当从“.tar.gz”格式的归档压缩包恢复数据时,需要结合“-z”选项来自动调用压缩 工具,而对于“.tar.bz2”格式的归档压缩包,对应的是“-j”选项。默认情况下,恢复的数据将释放到当前目录中,如果需要恢复到指定文件夹,还需要结合“-C”选项来指定目标目录。
[root@localhost ~]# tar -zxf ~/ky37.tar.gz -C ~/111
[root@localhost ~]# ll
总用量 12
drwxr-xr-x. 3 wjh group 267 6月 21 05:20 111
-rw-r--r--. 1 root root 61 6月 20 00:31 111.repo
-rw-------. 1 root root 1851 6月 18 17:44 anaconda-ks.cfg
drwxrw-rw-. 2 root root 6 6月 20 23:09 ky37
-rw-r--r--. 1 root root 347 6月 21 05:01 ky37.tar.gz
四.vim文本编辑器
1.vim三种模式
命令模式:启动 vi 编辑器后默认进入命令模式。该模式中主要完成如光标移动、字符串查找,以及删除、复制、粘贴文件内容相关操作。
输入模式:该模式中主要的操作就是录入文件内容,可以对文本文件正文进行修 改或添加新的内容。处于输入模式时,vi 编辑器的最后一行会出现“-- INSERT --” 的状态提示信息。
末行模式:该模式中可以设置 vi 编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。处于末行模式时,vi 编辑器的最后一行会出现冒号“:”提示符。
1.模式切换
在命令模式中,按 a、i、o 等键可以快速切换至输入模式,同时确定插入点的方式和位置,以便录入文件内容。需要返回命令模式时,按 Esc 键即可。常见的几个模式切换键及其作用如下。
a:在当前光标位置之后插入内容。
A:在光标所在行的末尾(行尾)插入内容。
i:在当前光标位置之前插入内容。
I:在光标所在行的开头(行首)插入内容。
o:在光标所在行的后面插入一个新行。
O:在光标所在行的前面插入一个新行。
2.移动光标
光标方向的移动。直接按↑、↓、←、→四个方向键完成相应的光标移动。
翻页移动。
按 Page Down 键或 Ctrl+F 组合键向下翻动一整页内容。
按 Page Up 键或 Ctrl+B 组合键向上翻动一整页内容。
行内快速跳转。
按 Home 键或^键、数字 0 键将光标快速跳转到本行的行首。
按 End 键或$键将光标快速跳转到本行的行尾。
在上述按键操作中,Page Down、Page Up、Home、End 键及方向键同样也可在 vi
的输入模式中使用。
行间快速跳转。
使用按键命令 1G 或者 gg 可跳转到文件内容的第 1 行。
使用按键命令 G 可跳转到文件的最后一行。
使用按键命令#G 可跳转到文件中的第#行(其中“#”号用具体数字替换)。为了便于查看行间跳转效果,这里先学习如何在 vi 编辑器中显示行号。只要切换到末
行模式并执行如下的“:set nu”命令即可显示行号,执行“:set nonu”命令可以取消显示行号。
:set nu
显示行号后的 vi 编辑器界面显示格式如下(每行开头的数字即行号):
1[main]
2cachedir=/var/cache/yum/$basearch/$releasever
3keepcache=0
…… //省略部分内容
补充
w 跳到下一个单词
b 跳到上一个单词
H 当前屏幕第一行
M 当前屏幕中间
L 当前屏幕最后一行
3.复制、粘贴和删除
删除操作。
按 x 键或 Delete 键删除光标处的单个字符。
使用按键命令 dd 删除当前光标所在行,使用#dd 的形式还可以删除从光标处开始的#行内容(其中“#”号用具体数字替换)。
使用按键命令 d^删除当前光标之前到行首的所有字符。
使用按键命令 d$删除当前光标处到行尾的所有字符。
复制操作。使用按键命令 yy 复制当前行整行的内容到剪贴板,使用#yy 的形式还可以复制从光标处开始的#行内容(其中“#”号用具体数字替换)。复制的内容需 要粘贴后才能使用。
粘贴操作。在