第二章 1.Linux 基本操作与软件安装

  • 掌握命令格式,包括命令字,选项和参数等
  • 掌握查看命令帮助的方法
  • 熟练使用 Linux 增删改查命令

命令进阶说明

命令格式

尝试分析命令cp -r class/ /root/bak

cp-rclass//root/bak
命令字[-选项][文件1 或者目录1][文件2 或目录2]

命令格式说明:

  • 中括号中的内容不是必须的。
  • 选项代表命令的特殊功能,通常情况下,“-” 引导选项的功能。
  • 命令执行基本逻辑:一条命令以什么样的方式操作谁。
  • 命令字、选项、文件或目录之间需要有空格区分,不建议文件名或目录名中有空格,如果有,需要用引号。
  • 选项和文件对于命令字来说不是必须要加的。

命令帮助手册

通过man 命令可以查看命令帮助手册,例如,man cp

man 命令操作说明:

操作功能
q退出
空格翻页
回车翻行
/-r搜索-r 关键字
n下一个关键字
b上一个关键字

其他命令示例:

命令说明
cp -r
rm -rf
mkdir -p根据需要建立父目录,如果父目录存在也不会报错

也可以通过--help 参数获取命令帮助信息,但是信息没有man 命令看到的全面。例如,ls --help

统计命令

命令速查

命令含义
more分页查看文件内容
less交互式逐行查看文件内容
head查看文件头10行(默认)
tail查看文件后10行(默认)
grep匹配文件内容中含有关键字的行
du统计目录内容大小
wc统计文件内容
alias命令别名建立
find查找文件或目录等
[root@localhost ~]# head -n 3 /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
[root@localhost ~]# tail -n 3 /etc/passwd
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
ajest:x:1000:1000:AJEST:/home/ajest:/bin/bash
[root@localhost ~]# more /etc/passwd
[root@localhost ~]# less /etc/passwd
[root@localhost ~]# grep "root" /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@localhost ~]# grep -n 'root' /etc/passwd
1:root:x:0:0:root:/root:/bin/bash
10:operator:x:11:0:operator:/root:/sbin/nologin
[root@localhost ~]# grep '^root' /etc/passwd
root:x:0:0:root:/root:/bin/bash
[root@localhost ~]# grep -i 'ROOT' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@localhost ~]#

统计目录

在Linux 中目录的大小和目录所占磁盘空间的大小是有区别。

[root@localhost ~]# ls -alhd /root
dr-xr-x---. 14 root root 4.0K Feb 22 11:57 /root
[root@localhost ~]# ls -alhd /boot
dr-xr-xr-x. 5 root root 4.0K Feb 20 05:38 /boot
[root@localhost ~]# du -sh
4.2M    .
[root@localhost ~]# du -sh /boot
125M    /boot
[root@localhost ~]#

查找

Linux 系统中,可以通过find 命令查找文件或者目录。find 在Linux 使用过程中出现频率极高。

查找名字为passwd 的文件。

[root@localhost ~]# find / -name passwd
/etc/pam.d/passwd
/etc/passwd
/usr/bin/passwd
/usr/share/bash-completion/completions/passwd
[root@localhost ~]# find / -name passwd -type d
[root@localhost ~]# find / -name passwd -type f
/etc/pam.d/passwd
/etc/passwd
/usr/bin/passwd
/usr/share/bash-completion/completions/passwd
[root@localhost ~]#

查找大小100M 以上的文件。

find / -size +100M

查找小于10M 的文件。

find /boot -size -10M

vim 编辑器

  • 掌握vim 编辑器用法

Vim,编辑器之神。使用vim 编辑器进行编辑文件的时候,双手不需要离开键盘。Vim 编辑文件时,如果需要编辑的文件存在,则打开该文件,如果需要编辑的文件不存在,则创建该文件。

工作模式

                                   命令模式
                                  /       \
                               i /   [esc]  \ [:]
                               /             \
                            输入模式        末行模式

注意:

  • 打开一个文件的时候,默认就是命令模式。
  • 输入模式无法直接切换到末行模式

命令模式

  • 光标的移动
  • 复制、粘贴、剪切、撤销等操作
  • 搜索字符串
  • ....
相关操作说明
gg快速跳转到第一行
G快速跳转到最后一行
2G
2gg
快速跳转到第2 行
8→向右侧移动8 个字符
yy复制当前行
p将复制内容,粘贴到当前行下
dd删除当前行
3dd 删除包括当前行及以下一共3 行内容
u撤销上一次编辑
/root查找root 关键字

输入模式

从命令模式进入输入模式,可以通过以下按键进入。

i
a
o

从输入模式进入命令模式。

esc

末行模式

末行模式主要进行文档的保存退出等操作。

常见用法说明
:wq保存退出
:q!强制退出
:set nu显示行号
:set nonu取消显示行号
:s/root/AJEST/g在当前行查找root 并替换成AJEST
:10 s/root/AJEST/g在第10 行中查找root,并替换为AJEST
:1,10 s/root/AJEST/g在第1 行到第10 行中查找root,并替换为AJEST
:% s/root/AJEST/g在文档中所有位置查找root 并替换成AJEST
:r /etc/passwd将/etc/passwd 文件内容读取到当前文件中
:! whoami调用bash 命令

vim 练习

在/tmp 目录中建立一个名为man_db.conf 的文件。

cd /tmp
touch man_db.conf
vim man_db.conf

在/tmp/man_db.conf 文件中读取/etc/man_db.conf 的内容,并删除第一个空白行。

# 末行模式
:r /etc/man_db.conf

# 命令模式
1G 
dd

设定显示行号。

:set nu

移动到第58 行并且向右移动5 个字符,会看到privileges。

58G     快速跳转第58 行
5→      向右移动5 个字符

移动到第一行并向下搜索displayed 字符串,出现在106 行。

/displayed

将50 - 100 行小写的man 替换成大写的MAN。

:50,100 s/man/MAN/g

替换完成后恢复。

u

复制65 - 73 行内容并且粘贴到最后一行下面。

65G  跳转到65 行
9yy  复制当前光标及以下一共9 行
G    跳转到最后一行
p    粘贴在当前行下    

:65,73 y

删除21 - 42 行内容。

:21,42 d

将文件另存为man.test。

:w man_db.test

将27 行删除21 个字符,如成功应该光标停留在all 的位置。

27G
21x

在第一行上面新增一行内容为i am a good student

gg
i 进入输入模式

存储并退出。

:wq

压缩与解压缩

  • 理解压缩与解压缩操作
  • 掌握tar 命令的用法

准备工作

查看文件类型

通过file 命令,可以查看文件类型。

[root@localhost ~]# file /boot/symvers-3.10.0-862.el7.x86_64.gz 
/boot/symvers-3.10.0-862.el7.x86_64.gz: gzip compressed data, from Unix, last modified: Sat Apr 21 00:56:42 2018, max compression
[root@localhost ~]#

dd

读取硬盘字节内容,主要完成磁盘对拷。生成一个100M 大小的文件。

[root@localhost ~]# cd /tmp
[root@localhost tmp]# ls -lh /dev/zero 
crw-rw-rw- 1 root root 1, 5 Feb 21 23:56 /dev/zero
[root@localhost tmp]# dd if=/dev/zero of=bigfile bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 0.17657 s, 594 MB/s
[root@localhost tmp]#
选项说明
if输入内容
of输出位置
bs单位(1M)
count数量

压缩解压缩

命令测试说明
gzip bigfilegzip 压缩文件
gunzip bigfile.gz
bzip2 bigfilebzip2 压缩文件
bunzip2 bigfile.bz2

Linux 系统中,gzip 和bzip2 两个压缩命令只能压缩文件。

打包压缩

Linux 中,要压缩目录,需要先将其打包成文件。打包就将目录变成一个文件。

tar

打包命令:

命令选项说明
tar -cf class.tar class/打包备份目录
tar -zcf class.tar.gz class/打包压缩成gzip 格式
tar -jcf class.tar.bz2 class/打包压缩成bz2 格式
tar -tf class.tar.bz2不解压缩,查看文件内容
tar -xf class.tar.bz2 -C /opt将压缩文件解压到指定目录
-C 制定目标路径
-xf 无视压缩类型,解压文件
* 不能用-fx

软件安装

  • 熟悉源码包安装软件的流程步骤
  • 熟悉rpm 包安装软件
  • 掌握yum 源安装软件的方法

源码包安装

Apache Httpd

尝试安装Web 服务,在Linux 中叫httpd。压缩包名字httpd-2.2.15.tar.gz

解压缩:

[root@localhost tmp]# tar xf httpd-2.2.15.tar.gz 
[root@localhost tmp]#

查看安装方法:

[root@localhost tmp]# cd httpd-2.2.15/
[root@localhost httpd-2.2.15]# ls 
ABOUT_APACHE  config.layout  INSTALL         NOTICE            srclib
acinclude.m4  configure      InstallBin.dsp  NWGNUmakefile     support
Apache.dsw    configure.in   LAYOUT          os                test
build         docs           libhttpd.dsp    README            VERSIONING
BuildAll.dsp  emacs-style    LICENSE         README.platforms
BuildBin.dsp  httpd.dsp      Makefile.in     README-win32.txt
buildconf     httpd.spec     Makefile.win    ROADMAP
CHANGES       include        modules         server
[root@localhost httpd-2.2.15]# cat INSTALL 

...

     $ ./configure --prefix=PREFIX
     $ make
     $ make install
     $ PREFIX/bin/apachectl start

...

[root@localhost httpd-2.2.15]#
步骤命令过程说明
1./configure --prefix=/usr/local/httpd_2.2.15生成makefile 文件,
进行编译配置指定安装路径。
2make进行编译
3make install将编译好的文件拷贝到安装目录
4/usr/local/httpd_2.2.15/bin/apachectl start启动httpd 服务
5netstat -anptl | grep "80"查看80 端口是否开放

configure 命令说明:

--prefix                指定安装路径
--disable-*             默认安装
--enable-*              默认不安装

Apache httpd 服务管理:

./apachectl {start|stop|restart}

Apache Httpd 目录分析:

Httpd 目录说明
bin命令目录
htdocsWeb 根目录
conf配置文件目录

特点

  • 软件源码大多数都是C 语言写的;
  • 源码一般都是压缩包;
  • 可以跨平台安装;
  • 更新速度快;
  • 安装过于繁琐,需要编译;
  • 需要指定安装哪些功能。

软件包安装

特点

  • 安装便捷;
  • bug 少;
  • 更新速度慢;
  • 不能指定安装功能和安装路径。
  • 不支持跨平台安装。
Debian          deb 
RedHat          rpm     RedHat Package Manager
  • 安装包路径,光盘中的Packages 文件夹。
  • 查找安装包
[root@localhost ~]# ls /misc/cd/Packages/ | grep "^tree"
tree-1.6.0-10.el7.x86_64.rpm
[root@localhost ~]#

安装rpm 软件包

序号安装步骤命令
1确认系统中是否安装过某个软件rpm -qa
rpm -qa | wc -l
rpm -qa | grep "tree"
2确认软件的作用rpm -qpi tree-1.6.0-10.el7.x86_64.rpm
3列出软件包中文件和路径rpm -qpl tree-1.6.0-10.el7.x86_64.rpm
4安装软件rpm -ivh tree-1.6.0-10.el7.x86_64.rpm
5卸载软件rpm -e tree

参数解释:

-q  --query     QUERYING PACKAGES
-a  --all       query/verify all packages
-p  --package   query/verify a package file
-i  --install   install package(s)
-l  --list      List files in package.
-v  --verbose   provide more detailed output

依赖关系

[root@localhost Packages]# rpm -e vim-common 
error: Failed dependencies:
    vim-common = 2:7.4.160-4.el7 is needed by (installed) vim-enhanced-2:7.4.160-4.el7.x86_64
[root@localhost Packages]#

解决依赖关系问题:

  • 软件依赖关系列表保存在光盘中
  • 使用yum 源工具指定光盘所在路径
  • 通过yum 源工具安装卸载带有依赖关系的软件

yum 源安装软件

通过yum 安装软件需要配置yum 源,yum 源的目录/etc/yum.repos.d/。所有的yum 源文件都是以.repo 结尾的。配置yum 源,就是要修改yum 源配置文件,修改配置文件之前,可以考虑将原有配置文件备份。可以创建一个bak 目录,将原配置文件全部移动其中。

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo
[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]# mv * bak
mv: cannot move ‘bak’ to a subdirectory of itself, ‘bak/bak’
[root@localhost yum.repos.d]#

配置yum 源

告诉yum 工具,软件包在哪里?

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# vim localDVD.repo 
[root@localhost yum.repos.d]# cat localDVD.repo 
[localDVD.repo]
name=localDVD
baseurl=file:/misc/cd
gpgcheck=0
[root@localhost yum.repos.d]#

yum 命令

常用命令说明
yum clean all清除缓存
yum install tree安装tree 工具
yum remove tree卸载tree 工具

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值