CH03_其它常用命令


备份压缩命令

压缩和解压缩:Gzip

①、命令名称:Gzip

  ②、英文原意:

  ③、命令所在路径:/bin/Gzip

  ④、执行权限:所有用户

  ⑤、功能描述:gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出”.gz”的扩展名。

  ⑥、语法: gzip [选项] 压缩(解压缩)的文件名

-d 将压缩文件解压。

-l 对每个压缩文件,显示压缩文件的大小,未压缩文件的大小,压缩比,未压缩文件的名字

-v 对每一个压缩和解压的文件,显示文件名和压缩比。

-num 用指定的数字num调整压缩的速度,-1或–fast表示最快压缩方法(低压缩比),-9或–best表示最慢压缩方法(高压缩比)。系统缺省值为6.

案例1:把test1目录下的每个文件压缩成.gz文件:

案例2:把例1中每个压缩的文件解压,并列出详细的信息

案例3:详细显示例1中每个压缩的文件的信息,并不解压

压缩和解压缩:bzip2

①、命令名称:bzip2

  ②、英文原意:

  ③、命令所在路径:/bin/bzip2

  ④、执行权限:所有用户

  ⑤、功能描述:压缩(解压)文件或目录,压缩文件后缀为bz2

  ⑥、语法: bzip2 [-cdz] 文件名

-c或–stdout  将压缩与解压缩的结果送到标准输出。

-d或–decompress  执行解压缩。

-f或–force  bzip2在压缩或解压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖,请使用此参数。

z或–compress  强制执行压缩。

案例1:压缩所有文件

案例2:解压缩所有文件

案例3:压缩或解压时覆盖已有文件

打包和解包:tar

①、命令名称:tar

  ②、英文原意:

  ③、命令所在路径:/bin/tar

  ④、执行权限:所有用户

  ⑤、功能描述:用来压缩和解压文件。tar本身不具有压缩功能。他是调用压缩功能实现的

  ⑥、语法: tar [必要参数][选择参数] [文件]

这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。

-c: 建立档案

-x:解压

-t:查看内容

-r:向压缩归档文件末尾追加文件

-u:更新原压缩包中的文件

下面的参数是根据需要在压缩或解压档案时可选的。

-z:有gzip属性的

-j:有bz2属性的

-Z:有compress属性的

-v:显示所有过程

-O:将文件解开到标准输出

参数-f是必须的

-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。\\\\\

重点:首先要弄清两个概念:打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。

案例1:将所有.txt的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名

案例2:将t4.txt的文件增加到all.tar的包里面去

案例3:列出all.tar包中所有文件

案例4:解包all.tar包中所有文件

案例5:打包且压缩

案例6:解包且解压

管道

管道界定符:|

管道命令使用“|”这个界定符号,用于两个命令中间,作用是把左边命令的标准输出作为右边命令的标准输入。

案例1:将左侧的内容进行分页显示

案例2:将左侧的内容进行搜索显示

命令传递参数过滤器:xargs

线上安装

1.使用YUM查找软件包

命令:yum search firefox

2.列出所有可安装的软件包

命令:yum list php

3.列出所有可更新的软件包

命令:yum list updates

4.列出所有已安装的软件包

命令:yum list installed

5.列出所有已安装但不在 Yum Repository 内的软件包

命令:yum list extras

6.列出所指定的软件包

命令:yum list +包名

7.使用YUM获取软件包信息 、显示yum包的信息:

命令:yum info PACKAGE_NAME

8.搜索yum包:

命令:yum search PACKAGE_NAME

9.列出所有可更新的软件包信息

命令:yum info updates

10.列出所有已安装的软件包信息

命令:yum info installed

案例1:查询指定软件安装包

案例2:卸载指定软件

案例3:安装指定软件

VIM编辑器

所有的Linux系统都会内建VI文本编辑器。

VIM具有程序编辑的能力,可以看作是VI的增强版本,能够主动的以字体颜色辨别语法的正确性,方便程序设计。代码补齐、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

VI和VIM常用的三种模式

VI和VIM模式的相互

账户管理

linux操作系统是一个多用户操作系统,它允许多用户同时登录到系统上并使用资源。系统会根据账户来区分每个用户的文件,进程,任务和工作环境,使得每个用户工作都不受干扰。

账户分类

用户账户

A.普通用户账户:普通用户在系统上的任务是进行普通操作

B.超级用户账户:管理员在系统上的任务是对普通用户和整个系统进行管理。对系统具有绝对的控制权,能够对系统进行一切操作。

组账户

标准组:当创建一个用户时可以选定一个标准组,如果一个用户同时属于多个组时,登录后所属的组为主组,其他的为附加组。

账户系统文件

/etc/passwd 每行定义一个用户账户,此文件对所有用户可读。每行账户包含如下信息:

口令:口令是X,说明用户的口令是被/etc/shadow文件保护的

用户标识号:系统内唯一,root用户的UID为0,普通用户从500开始

宿主目录:用户登录系统后所进入的目录

命令解释器:指定该用户使用的shell ,默认的是/bin/bash

案例1:查看用户信息

案例2:查看用户组信息

账户管理

添加新用户

语法:useradd 选项 用户名

参数说明:

   -c comment 指定一段注释性描述。

​ -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。

​ -g 用户组 指定用户所属的用户组。

​ -G 用户组,用户组 指定用户所属的附加组。

​ -s Shell文件 指定用户的登录Shell。

​ -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

案例1:

案例2:

修改用户

语法:usermod 选项 用户名

​ -c comment 指定一段注释性描述。

​ -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。

​ -g 用户组 指定用户所属的用户组。

​ -G 用户组,用户组 指定用户所属的附加组。

​ -s Shell文件 指定用户的登录Shell。

​ -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

案例1:

删除用户

语法:userdel 选项 用户名

-r 同时删除对应目录

案例1:

案例2:

添加新用户组

语法:groupadd 组名

案例1:

修改用户组

语法:groupmod 新组名 需修改的组名

-g <群组识别码>  设置欲使用的群组识别码。

-o  重复使用群组识别码。

-n <新群组名称>  设置欲使用的群组名称。

案例1:

设置口令

语法:groupmod 新组名 需修改的组名

切换用户

语法:su 用户名

显示用户ID

语法:id 用户名

显示当前用户名称

语法:whoami

显示用户所属组

语法:groups

权限管理

三种基本权限

r 读权限read 4

w 写权限write 2

x 操作权限execute 1

文件权限组成

权限数字对应权限组说明:

总共分为4部分

【文件或文件夹】【owner权限】【group权限】【others权限】

【文件是-,文件夹是d】【r/w/x相加】【r/w/x相加】【r/w/x相加】

d rwx rwx rwx =777 表示目录的操作权限

  • rwx rwx rwx = 777 表示文件的操作权限

设置权限

语法:

chmod [-cfvR] mode file

chmod [-cfvR] 数字 file

mode : 权限设定字串,格式如下 :

[ugoa…][[+-=][rwxX]…][,…]

  • u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。

  • + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。

  • r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

  • -c : 若该文件权限确实已经更改,才显示其更改动作

  • -f : 若该文件权限无法被更改也不要显示错误讯息

  • -v : 显示权限变更的详细资料

  • -R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)

案例1:使用数字设置权限

案例2:使用mode设置

系统管理

关机、重启命令

语法:shutdown [-t seconds] [-rkhncfF] time [message]

  • -t seconds : 设定在几秒钟之后进行关机程序。
  • -k : 并不会真的关机,只是将警告讯息传送给所有使用者。
  • -r : 关机后重新开机。
  • -h : 关机后停机。
  • -n : 不采用正常程序来关机,用强迫的方式杀掉所有执行中的程序后自行关机。
  • -c : 取消目前已经进行中的关机动作。
  • -f : 关机时,不做 fcsk 动作(检查 Linux 档系统)。
  • -F : 关机时,强迫进行 fsck 动作。
  • time : 设定关机的时间(以分钟为单位)。
  • message : 传送给所有使用者的警告讯息。

案例:立刻关机

案例:立刻重启

关机后关闭电源

语法:halt [-n] [-w] [-d] [-f] [-i] [-p]

  • -n : 在关机前不做将记忆体资料写回硬盘的动作
  • -w : 并不会真的关机,只是把记录写到 /var/log/wtmp 文件里
  • -d : 不把记录写到 /var/log/wtmp 文件里(-n 这个参数包含了 -d) -f : 强迫关机,不呼叫 shutdown 这个指令
  • -i : 在关机之前先把所有网络相关的装置先停止
  • -p : 当关机的时候,顺便做关闭电源(poweroff)的动作

案例:关机且关闭电源

重启电脑

语法:reboot [-n] [-w] [-d] [-f] [-i]

  • -n : 在重开机前不做将记忆体资料写回硬盘的动作

  • -w : 并不会真的重开机,只是把记录写到 /var/log/wtmp 档案里

  • -d : 不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了 -d)

  • -f : 强迫重开机,不呼叫 shutdown 这个指令

  • -i : 在重开机之前先把所有网络相关的装置先停止

案例:重启电脑

显示系统信息

语法:uname [-amnrsv][–help][–version]

  • -a或–all  显示全部的信息。

  • -m或–machine  显示电脑类型。

  • -n或-nodename  显示在网络上的主机名称。

  • -r或–release  显示操作系统的发行编号。

  • -s或–sysname  显示操作系统名称。

  • -v  显示操作系统的版本。

  • –help  显示帮助。

  • –version  显示版本信息。

案例:显示全部信息

案例:显示系统名称

显示网络接口信息

语法:ifconfig 网卡

案例:查看所有网卡

案例:查看指定网卡

结果信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# eth0:网卡名称
# Link encap:网卡的接口类型,这里是以太网
# HWaddr:网卡的硬件地址,俗称的MAC地址
# inet addr:IPv4地址,如果是IPv6会写成inet6 addr
# Bcast:广播地址
# Mask:子网掩码
# UP:表示网卡是开启状态
# BROADCAST:表示网卡支持广播
# RUNNING:表示网卡的网线已经被接上
# MULTICAST:表示网卡支持组播
# MTU:网络最大传输单元
# Metric:到达网关的度量值,参考:http://m.chinabyte.com/network/191/12287691_gfh.shtml
# RX packets:网络从启动到现在为止接收的数据包大小,单位是字节,error 发生错误的数据包,dropped 被丢弃的数据包
# TX packets:网络从启动到现在为止发送的数据包大小,单位是字节,error 发生错误的数据包,dropped 被丢弃的数据包
# collisions:发生碰撞的数据包,如果发生太多次,表明网络状况不太好
# txqueuelen:传输数据的缓冲区的储存长度
# RX bytes:总接收字节总量
# TX bytes:总发送字节总量
# Memory:网卡硬件的内存地址

清屏

语法:clear

案例

日期显示和设置

①、命令名称:date

  ②、英文原意:

  ③、命令所在路径:/bin/ls

  ④、执行权限:所有用户

  ⑤、功能描述:显示或设定系统的日期与时间。

​ ⑥、语法: date [选项]

​ -d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;

​ -s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;

​ -u:显示GMT;

​ –help:在线帮助;

​ –version:显示版本信息。

日期格式字符串列表

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
%H 小时(以00-23来表示)。 
%I 小时(以01-12来表示)。
%K 小时(以0-23来表示)。
%l 小时(以0-12来表示)。
%M 分钟(以00-59来表示)。
%P AM或PM。
%r 时间(含时分秒,小时以12小时AM/PM来表示)。
%s 总秒数。起算时间为1970-01-01 00:00:00 UTC。
%S 秒(以本地的惯用法来表示)。
%T 时间(含时分秒,小时以24小时制来表示)。
%X 时间(以本地的惯用法来表示)。
%Z 市区。
%a 星期的缩写。
%A 星期的完整名称。
%b 月份英文名的缩写。
%B 月份的完整英文名称。
%c 日期与时间。只输入date指令也会显示同样的结果。
%d 日期(以01-31来表示)。
%D 日期(含年月日)。
%j 该年中的第几天。
%m 月份(以01-12来表示)。
%U 该年中的周数。
%w 该周的天数,0代表周日,1代表周一,异词类推。
%x 日期(以本地的惯用法来表示)。
%y 年份(以00-99来表示)。
%Y 年份(以四位数来表示)。
%n 在显示时,插入新的一行。
%t 在显示时,插入tab。
MM 月份(必要)
DD 日期(必要)
hh 小时(必要)
mm 分钟(必要)
ss 秒(选择性)

案例:显示日期

案例:显示格式化日期

案例:设置日期

查看/设置主机名

案例:查看主机名

案例:设置主机名

案例:查看主机名存储文件