目录                                                             

概述

常用系统工作命令

系统状态检测命令

工作目录切换命令

文本文件编辑命令

文件目录管理命令

打包压缩与收缩命令

参考资料

概述                                                                  

1.shell

Shell(也称为终端或壳)充当的是人与内核(硬件)之间的翻译官,用户把一些命令“告诉”终端,它就会调用相应的程序服务去完成某些工作。

图3-1  用户与Linux系统的交互

现在主流Linux系统默认使用的终端是Bash(Bourne-Again SHell)解释器。主流Linux系统选择Bash解释器作为命令行终端主要有以下4项优势:

1.通过上下方向键来调取过往执行过的Linux命令;

2.命令或参数仅需输入前几位就可以用Tab键补全;

3.具有强大的批处理脚本;

4.具有实用的环境变量功能。

用途:用于实现某一类功能的指令或程序;命令的执行依赖于解释器程序(例如:/bin/bash)

分类

内部命令:属于Shell 解释器的一部分

外部命令:独立于Shell 解释器之外的程序文件

 

2.Linux命令的格式

  语法:命令字[选项]  [参数]

  选项:用于调节命令的具体功能

以“-”引导短格式选项(单个字符),例如“-l”

以“--”引导长格式选项(多个字符),例如“--color”

多个短格式选项可以写在一起,只用一个“-”引导,例如“-al”

  参数:命令操作的对象,如文件、目录名等

  注意:选项和参数可有可无,应该根据实际情况去调整。

 

3.命令帮助

Help命令用于查看linux内置命令的帮助

Man命令,命令字典

按键

用途

空格键

向下翻一页

PaGe down

向下翻一页

PaGe up

向上翻一页

home

直接前往首页

end

直接前往尾页

/

从上至下搜索某个关键词,如“/linux”

?

从下至上搜索某个关键词,如“?linux”

n

定位到下一个搜索到的关键词

N

定位到上一个搜索到的关键词

q

退出帮助文档

表2-1 man命令中常用按键以及用途

结构名称

代表意义

NAME

命令的名称

SYNOPSIS

参数的大致使用方法

DESCRIPTION

介绍说明

EXAMPLES

演示(附带简单说明)

OVERVIEW

概述

DEFAULTS

默认的功能

OPTIONS

具体的可用选项(带介绍)

ENVIRONMENT

环境变量

FILES

用到的文件

SEE ALSO

相关的资料

HISTORY

维护历史与联系方式

表2-2 man命令帮助信息的结构以及意义

常用系统工作命令                                                 

1.echo命令

    功能:显示指定的字符串或变量的内容,不指定任何参数时将显下一个空行。

格式:echo  [字符串或$变量名]...

示例:

[admin@redhat7 桌面]$ echo 'I Love linux'

I Love linux

[admin@redhat7 桌面]$ echo $HOSTNAME

redhat7.0

2.date命令

    功能:显示及设置系统的时间或日期

    格式:date [选项] [+指定的格式]

  选项:%t     跳格[Tab键]

%H      小时(00~23)

%I     小时(00~12)

%M     分钟(00~59)

%S       秒(00~59)

%j     今年中的第几天

 示例:

[admin@redhat7 桌面]$ date   <==查看当前系统时间

2019年 03月 23日 星期六 14:55:32 CST

[admin@redhat7 桌面]$ date "+%Y-%m-%d %H:%M:%S"  <==按照“年-月-日 小时:分钟:秒”的格式查看当前系统时间

2019-03-23 14:57:16

[admin@redhat7 桌面]$ date -s "20170323 14:59:00"  <==将系统的当前时间设置为XXX  (发现普通用户无权限)

date: 无法设置日期: 不允许的操作

2017年 03月 23日 星期四 14:59:00 CST

[admin@redhat7 桌面]$ su root

密码:

[root@redhat7 桌面]# date -s "20170323 15:00:00"

2017年 03月 23日 星期四 15:00:00 CST

[root@redhat7 桌面]# date

2017年 03月 23日 星期四 15:00:17 CST

[root@redhat7 桌面]# date "+%j"  <==查看今天是当年中的第几天

082

3.reboot/poweroff  默认只能使用root才有权限(后面会设置权限控制)

4.wget命令

    功能:在终端中下载网络文件

    格式:wget [选项] 下载地址

选项:-b      后台下载模式

-P       下载到指定目录

-t       最大尝试次数

-c       断点续传

-p     下载页面内所有资源,包括图片、视频等

-r      递归下载

 示例:

[root@linuxprobe ~]# wget http://www.linuxprobe.com/docs/LinuxProbe.pdf

--2017-08-24 19:30:12 -- http://www.linuxprobe.com/docs/LinuxProbe.pdf

Resolving www.linuxprobe.com (www.linuxprobe.com)... 220.181.105.185

Connecting to www.linuxprobe.com (www.linuxprobe.com)|220.181.105.185|:80...

connected.

5.ps命令

    功能:查看系统中的进程状态

    格式:ps [选项]

 选项:-a       显示所有进程(包括其他用户的进程)

-u       用户以及其他详细信息

-x     显示没有控制终端的进程

    应用: 1.ps aux 最常用,可以用 | 管道和 more 连接起来分页查看;ps -aux |more

                2.和grep 结合,提取指定程序的进程;ps aux |grep httpd

               3.父进和子进程的关系友好判断,运用到f参数,父与子关系一目了然;ps auxf  |grep httpd

 

5.1.进程状态

Linux系统中时刻运行着许多进程,如果能够合理地管理它们,则可以优化系统的性能。在Linux系统中,有5种常见的进程状态,分别为运行、中断、不可中断、僵死与停止,其各自含义如下所示。

  R(运行):进程正在运行或在运行队列中等待。

  S(中断):进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该状态。

  D(不可中断):进程不响应系统异步信号,即便用kill命令也不能将其中断。

  Z(僵死):进程已经终止,但进程描述符依然存在, 直到父进程调用wait4()系统函数后将进程释放

   T(停止):进程收到停止信号后停止运行。

 示例:[admin@redhat7 桌面]$ ps aux

USER

PID

%CPU

%MEM

VSZ

RES

TTY

S

START

TIME

COMMAND

进程的所有者

进程ID号

运算器占用率

内存占用率

虚拟内存使用量(单位是KB)

占用的固定内存量(单位是KB)

所在终端

进程

状态

被启动

的时间

实际使用
CPU的时间

命令名称与参数

root

1

0.0

0.4

53684

7628

?

Ss

07 :22

0:02

/usr/lib/systemd/systemd

root

2

0.0

0.0

0

0

?

S

07:22

0:00

[kthreadd]

root

3

0.0

0.0

0

0

?

S

07:22

0:00

[ksoftirqd/0]

root

5

0.0

0.0

0

0

?

S<

07:22

0:00

[kworker/0:0H]

root

7

0.0

0.0

0

0

?

S

07:22

0:00

[migration/0]

………………省略部分输出信息………………

 

表2-3  进程状态

6.top命令

  功能:动态地监视进程活动与系统负载等信息(类似于Windows任务管理器)

  格式:top

  示例:top

图3-2  top命令的运行界面

参数含义:

第1行:系统时间、运行时间、登录终端数、(CPU)系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低,最好不要超过5;判断负载情况—从右往左看)。

第2行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。

第3行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。  (注:例如“96.1 id”意味着有96.1%的CPU处理器资源处于空闲。)

第4行:物理内存总量(kb)、内存使用量、内存空闲量、作为内核缓存的内存量。

第5行:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已被提前加载的内存量。

 

7.pidof命令

   功能:查询某个指定服务进程的PID值

   格式:pidof [选项] [服务名称]

   示例:

[root@linuxprobe ~]# pidof sshd

2156

8.kill命令

   功能:终止某个指定PID的服务进程

   格式:kill [选项] [进程PID]

   示例:

[root@linuxprobe ~]# kill 2156

9.killall命令

   功能:终止某个指定名称的服务所对应的全部进程

   格式:kill all[选项] [服务名称]

   示例:

[root@linuxprobe ~]# pidof httpd

13581 13580 13579 13578 13577 13576

[root@linuxprobe ~]# killall httpd

[root@linuxprobe ~]# pidof httpd

[root@linuxprobe ~]#

注:停止命令执行快捷键 Ctrl + C

系统状态检测命令                                                        

1. ifconfig命令

   功能:获取网卡配置与网络状态等信息

   格式:ifconfig [网络设备] [选项]

   示例:

[root@linuxprobe
~]# ifconfig

       eno16777728:
flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500 
<==网卡名称

inet 192.168.10.10  netmask
255.255.255.0 
broadcast
192.168.10.255  <==IP地址,掩码

inet6 fe80::20c:29ff:fec4:a409 
prefixlen 64  scopeid
0x20<link>

ether 00:0c:29:c4:a4:09  txqueuelen 1000  (Ethernet) 
<==网卡物理地址(MAC地址)

RX packets 36  bytes 3176 (3.1 KiB)     <==接收数据包个数及累计流量

RX errors 0  dropped 0  overruns 0 
frame 0

 TX
packets 38  bytes 4757 (4.6 KiB)     
<==发送数据包的个数及累计流量

TX errors 0  dropped 0 overruns
0  carrier 0  collisions 0

2. uname命令

   功能:查看系统内核与系统版本等信息

   格式:uname [-a]

   示例:

[admin@redhat7 桌面]$ uname -a

       Linux redhat7.0 3.10.0-123.el7.x86_64 #1 SMP Mon May 5 11:16:57 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux   <==系统、主机名称、内核版本、系统打包时间、系统位数、协议

3.
uptime用于查看系统的负载信息(
显示当前系统时间、系统已运行时间、启用终端数量以及平均负载值等信息,(平均负载值指的是系统在最近1分钟、5分钟、15分钟内的压力情况负载值越低越好,尽量不要长期超过1,在生产环境中不要超过5。

  示例:

[admin@redhat7 桌面]$ uptime

16:38:05 up 
1:29,  2 users,  load
average: 0.00, 0.01, 0.05

4.free用于显示当前系统中内存的使用量信息

 

内存总量

已用量

可用量

进程共享的内存量

磁盘缓存的内存量

缓存的
内存量

total

used

free

shared

buffers

cached

Mem

1.8GB

1.3GB

542MB

9.8MB

1.6MB

413MB

-/+ buffers/cache

869MB

957MB

Swap

2.0GB

0

2.0GB

表2-4
执行free -h命令后的输出信息

5.who用于查看当前登入主机的用户终端信息

6.last命令用于查看系统历史的登录记录(由于信息以日志保存,容易遭到篡改,只能用于参考,不能判断系统是否被黑)

7. history命令

功能:显示历史执行过的命令

示例:

[admin@redhat7 桌面]$ history

1  ln
-sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

2  ln -sf
/lib/systemd/system/multi-user.target /etc/systemd/

3  su do ln -sf
/lib/systemd/system/multi-user.target /etc/systemd/

4  su root

5  reboot

[admin@redhat7 桌面]$ !4   <== “!编码数字”的方式来重复执行某一次的命令

su root

密码:

su: 鉴定故障

[admin@redhat7 桌面]$ cat ~/.bash_history   <==查看历史文件目录 (Linux系统中以点(.)开头的文件均代表隐藏文件,这些文件大多数为系统服务文件,可以用cat命令查看其文件内容。)

ln -sf /lib/systemd/system/multi-user.target
/etc/systemd/system/default.target

ln -sf /lib/systemd/system/multi-user.target
/etc/systemd/

su do ln -sf /lib/systemd/system/multi-user.target
/etc/systemd/

su root

reboot

[admin@redhat7 桌面]$ history -c  <==清空历史命令记录

[admin@redhat7 桌面]$ history

1  history

8.sosreport命令用于收集系统配置及架构信息并输出诊断文档(厂商远程售后分析诊断)

 示例:(将压缩包和校验码发送即可)

[root@linuxprobe ~]# sosreport

sosreport (version 3.0)

...

No changes will be made to system
configuration.

Press ENTER to continue, or CTRL-C to quit.   <==此处敲击回车来确认收集信息

Please enter your first initial and last name
[linuxprobe.com]:   <==此处敲击回车来确认主机编号

Please enter the case number that you are
generating this report for:   <==此处敲击回车来确认主机编号

...

   /var/tmp/sosreport-linuxprobe.com-20170905230631.tar.xz   <==收集好的资料压缩文件

   The
checksum is: 79436cdf791327040efde48c452c6322
      <==校验码

...

工作目录切换命令                                              

1.pwd命令用于显示当前用户所在的工作目录

2.ls
命令

功能:列表(List)查看目录及文件的属性信息。不带任何选项或参数时,默认显示当前目录的内容。

 格式:ls  [选项] 
[文件或目录] · 
·  ·

选项:  -a   列出所有(All)文件和子目录,包括以点”.“开头的隐藏文件或目录。

-A
  列出所有文件和子目录(包括隐藏文件或目录),特殊目录”.“和”..“除外

-l    以长格式(Long)显示文件或目录的详细信息。

-d   只显示目录本身(Directory)的属性信息,而不显示其中的文件或子目录。

示例:

[admin@redhat7 桌面]$ ls -al

总用量 4

drwxr-xr-x. 
2 admin admin    6 3月 
22 16:13 .

drwx------. 14 admin admin 4096 3月 
23 15:26 ..

[admin@redhat7 桌面]$ ls -ld /etc

drwxr-xr-x. 133 root root 8192 3月 
23 23:08 /etc

3.cd命令用于切换工作路径

  示例:

[admin@redhat7 桌面]$ cd /etc    <==切换到/etc目录

[admin@redhat7 etc]$ cd -        <==返回到上一次的目录

/home/admin/桌面

[admin@redhat7 桌面]$ cd ~      <==切换到用户的家目录

[admin@redhat7 ~]$

[admin@redhat7 ~]$ cd ..         <==切换到上一级目录

[admin@redhat7 home]$ cd
.      <==切换到当前目录(注:.和..可以理解为相对路径)

[admin@redhat7 home]$

文本文件编辑命令                                                 

1.cat命令

功能:通常用于查看纯文本文件(内容较少)

 格式:cat [参数] [文件]...

参数:-n  显示文件内容时在每一行行首添加行号(Number) 。

2.more命令用于查看纯文本文件(内容较多,more大小都能看);分页显示文件内容。按Enter键可以逐行下翻,按空格键下翻一页,按b键向上翻一页;和管道符号”|“结合使用时一般只能向下翻页,按q键退出。

 

3.head命令用于查看纯文本文档的前N行,格式:head [选项(-n)] 
[文件]

4.tail命令

功能:查看文件末尾指定行数(默认为10行)的内容。

格式:tail  [选项] 
[文件] · 
·  ·

 选项: -N   这里的N为用户指定的行数(若不指定,默认显示10行)。

-f    跟踪文件中新增加(Follow)的内容,多用于观察日志文件变化等,按Ctrl+C键退出。

 示例:

[root@sky ~]# tail -2 /etc/passwd

sky:x:500:500:sky:/home/sky:/bin/bash

lisi:x:501:501::/home/lisi:/bin/bash

[root@sky ~]# tail -lf /var/log/messages

May
26 13:58:34 sky tpvmlpd2[2621]: device type not supported

5.less
命令用于分页显示文件内容,与more命令的类似,但使用更加灵活。
按上下箭头键前后逐行滚动查看,空格键或PageDown键向下翻页,按b键或Pageup键向上翻页,按q键退出。

6.
wc命令

功能:统计文件的行数、单词数和字节数等信息(Word
Count)。默认选项为”-lwc”。

  格式:wc [选项]  [文件]  · 
·  ·

选项:-c    统计文件内容中的字节数。

-l    统计文仲内容中的行数。

-w   统计文件内容中的单词个数。

 示例:

[root@sky ~]# ls -lh /etc/*.conf | wc -l

45

[root@sky ~]# wc /etc/fstab /etc/passwd

16  
84  851 /etc/fstab

35  
54 1653 /etc/passwd

51  138 2504 总用量

 

7.tr命令用于替换文本文件中的字符,格式为“tr [原始字符] [目标字符]”

 示例:

[root@linuxprobe
~]# cat anaconda-ks.cfg | tr [a-z] [A-Z]

#VERSION=RHEL7

# SYSTEM AUTHORIZATION INFORMATION

AUTH --ENABLESHADOW --PASSALGO=SHA512

 

8.stat命令用于查看文件的具体存储信息和时间等信息,格式为“stat 文件名称”。

stat命令可以用于查看文件的存储信息和时间等信息,命令stat
anaconda-ks.cfg会显示出文件的三种时间状态:Access、Modify、Change。

 示例:

[root@linuxprobe ~]# stat anaconda-ks.cfg

File: ‘anaconda-ks.cfg’

...

    Access:
2017-07-14 01:46:18.721255659 -0400    
<==查看时间,最后一次查看文件内容的时间

    Modify:
2017-05-04 15:44:36.916027026 -0400    
<==修改时间,最后一次修改文件内容的时间

    Change:
2017-05-04 15:44:36.916027026 -0400  
<==更改时间,最后一次变更文件属性的时间(文件的所有者和权限信息)

Birth: -

 

9.cut命令用于按“列”提取文本字符,格式为“cut [选项] 文本”。

10.diff命令用于比较多个文本文件的差异,格式为“diff [选项] 文件”。

在使用diff命令时,不仅可以使用--brief参数来确认两个文件是否不同,还可以使用-c参数来详细比较出多个文件的差异之处

 示例:

[root@linuxprobe ~]# cat diff_A.txt  <==使用cat命令分别查看diff_A.txt和diff_B.txt文件的内容,然后进行比较

Welcome to linuxprobe.com

Red Hat certified

Free Linux Lessons

[root@linuxprobe ~]#
diff --brief diff_A.txt diff_B.txt  <==diff --brief命令显示比较后的结果,判断文件是否相同

Files diff_A.txt and diff_B.txt differ

[root@linuxprobe ~]# diff -c diff_A.txt diff_B.txt  <==最后使用带有-c参数的diff命令来描述文件内容具体的不同

*** diff_A.txt 2017-08-30 18:07:45.230864626
+0800

--- diff_B.txt 2017-08-30 18:08:52.203860389
+0800

***************

*** 1,5 ****

文件目录管理命令                                                

1.file命令用于查看文件的类型,格式为“file 文件名”。

2.mkdir命令

 功能:创建新目录(Make
Directories)

格式:mkdir  [选项]  
<目录> · 
·  ·

选项:-p  必要时连父目录(Parent)一起创建,如果目标目录存在也不报错。

3.cp
命令

  功能:复制(Copy)文件或目录,复制源是目录或多个文件时,目标必须是目录。

格式:cp   [选项]  <源文件或源目录>
·  · 
· <目标文件或目录>

选项:-f   覆盖目标同名文件或目录时不进行提醒,而直接强制(Force)复制。

-i   覆盖目标同名文件或目录时提醒用户确认(lnteractive,交互式)。

-p
 复制时保持(Preserve)源文件的权限,属主及时间截等属性不变。

-r
  复制目录时使用递归(Recursive)复制所有文件及子目录。

  示例:

[root@sky ~]# cp -rf /boot/grub/ ./

[root@sky ~]# cp /etc/init.d/httpd ./myhttpd

在Linux系统中,复制操作具体分为3种情况:

如果目标文件是目录,则会把源文件复制到该目录中;

如果目标文件也是普通文件,则会询问是否要覆盖它;

如果目标文件不存在,则执行正常的复制操作。

4.mv
命令

  功能:移动(Move)文件或目录,可以在移动时改名(相当于剪切)。移动多个文件或目录时目标必须是目录。

格式:mv  [选项] 
<源文件或源目录> ·  ·  ·
<目标文件或目录>

选项:-f  覆盖目标同名文件或目录时不进行提醒,而直接强制(Force)移动。

-i  覆盖目标同名文件或目录时提醒用户确认(interactive交互式)。

5.rm
命令

功能:删除指定的文件或目录。

 格式:rm  [选项]  
<文件或目录> · 
·  ·

  选项:-f  在删除文件或目录时不进行提醒,而直接强制(Force)删除。

-i  在删除文件或目录时提醒用户确认(lnteractive,交互式)。

-r  删除目录时使用,递归(Recursive)删除所有文件及子目录。

6.ln
命令

功能:为文件或目录建立链接(Link) ,硬链接不能用于目录也不能跨硬盘分区。

 格式:ln  [参数]   <源文件或源目录>...<
链接文件位置>

参数:-s  建立软链接即符号链接(Symbolic)文件,默认为硬链接。

-f  若链接文件已存在,则直接强制(Force)覆盖。

-I  在覆盖目标链接文件时提醒用户确认。

示例:

[root@sky ~]# ln -s /usr/local/httpd/bin/apachectl
/usr/sbin/

[root@sky ~]# ln /etc/shadow /etc/shadow.bak

7.dd命令用于按照指定大小和个数的数据块来复制文件或转换文件,格式为“dd [选项]”。

Linux系统中有一个名为/dev/zero的设备文件,这个文件不会占用系统存储空间,但却可以提供无穷无尽的数据,因此可以使用它作为dd命令的输入文件,来生成一个指定大小的文件。

 选项:-if(input
file)        输入的文件名称

-of(output file)     输出的文件名称

-bs                           设置每个“块”的大小

-count                      设置要复制“块”的个数

示例:

[root@linuxprobe ~]#
dd if=/dev/zero of=560_file count=1 bs=560M  <==用dd命令从/dev/zero设备文件中取出一个大小为560MB的数据块,然后保存成名为560_file的文件。(默认单位为字节)

1+0 records in

1+0 records out

587202560 bytes (587 MB) copied, 27.1755 s,
21.6 MB/s

[root@linuxprobe ~]# dd if=/dev/cdrom
of=RHEL-server-7.0-x86_64-LinuxProbe.Com.iso   <==使用dd命令来压制出光盘镜像文件,将它变成一个可立即使用的iso镜像

7311360+0 records in

7311360+0 records out

3743416320 bytes (3.7 GB) copied, 370.758 s,
10.1 MB/s

8.touch命令

  功能:用用于创建空白文件或设置文件的时间

  格式:touch [选项] [文件]

对touch命令来讲,有难度的操作主要是体现在设置文件内容的修改时间(mtime)、文件权限或属性的更改时间(ctime)与文件的读取时间(atime)上面。(接上面stat命令)

   选项:-a      仅修改“读取时间”(atime)

-m      仅修改“修改时间”(mtime)

-d       同时修改atime与mtime

  示例:

      先使用ls命令查看一个文件的修改时间,然后修改这个文件,最后再通过touch命令把修改后的文件时间设置成修改之前的时间(很多黑客就是这样做的呢)

[root@linuxprobe ~]# ls -l anaconda-ks.cfg

-rw-------. 1 root root 1213 May  4 15:44 anaconda-ks.cfg

[root@linuxprobe ~]# echo "Visit the
LinuxProbe.com to learn linux skills" >>

anaconda-ks.cfg

[root@linuxprobe ~]# ls -l anaconda-ks.cfg

-rw-------. 1 root root 1260 Aug  2 01:26 anaconda-ks.cfg

[root@linuxprobe ~]# touch -d "2017-05-04
15:44" anaconda-ks.cfg

[root@linuxprobe ~]# ls -l anaconda-ks.cfg

-rw-------. 1 root root 1260 May  4 15:44 anaconda-ks.cfg

  注意:atime和mtime时间可以修改,ctime不能修改

打包压缩与收缩命令                                                      

1.tar命令

功能:将文件或目录备份打包,并可通过选项调用gzip或bzip2程序将包文件进行压缩,解压。

格式:tar    [选项]   <包文件名>   [文件或目录]...

选项:-c   创建(Create).tar格式的包文件

-C   指定到解压的目录

-f    目标文件名

  -j    调用bzip2程序进行压缩或解压

-p   打包时保存文件及目录的权限

-P   打包时保存文件及目录的绝对路径

-t   查看压缩包内的文件

    -v   输出详细信息。

-x   解开.tar格式的包文件

-z   调用gzip程序进行压缩或解压

Tar
czvf 压缩包名称.tar.gz 源文件

Tar xzvf 压缩包名称.tar.gz 源文件

示例

[root@sky ~]# tar -cf
ab.tar a.file b.file          <==创建包文件ab.tar

[root@sky ~]# tar -tf ab.tar                    <==查看包文件中的内容

a.file
b.file

[root@sky ~]# tar -zcf ab.tar.gz a.file
b.file       <==创建压缩包文件ab.tar.gz

[root@sky ~]# tar -jcf ab.tar.bz2 a.file
b.file      <==创建压缩包文件ab.tar.bz2

[root@sky ~]# tar -jxf ab.tar.bz2 -C
/to/som/where   <==解压释放文件至指定目录

2.gzip
/bzip2 / zip 命令

功能:创建.gz格式的压缩文件,使用-d选项可以进行解压缩(或使月gunzip/
bunzip2命令)。

 格式:gzip /bzip2 / zip  [选项]  
<文件或目录> · 
·  ·

选项:-1  以最快速度优先的模式创建压缩文件。

-9  以最大压缩比优先的模式创建压缩文件。

-d  解压缩gz格式的压缩文件。

3.unzip
命令

 功能:解压缩.zip格式的压缩文件。

  格式:unzip  [ 选项]   <压缩文件名>

选项:-d  解压到指定的文件夹。

4.grep
命令

功能:Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

 格式:grep  [选项] 
<查找字串> 
[文件]

选项:-i   查找内容时忽略大小写(Ignore Case) 。

-v  反转查找(Invert) 即输出与查找条件不相符的行。

5.find命令

  在Linux系统中,搜索工作一般都是通过find命令来完成的,它可以使用不同的文件特性作为寻找条件(如文件名、大小、修改时间、权限等信息),一旦匹配成功则默认将信息显示到屏幕上

功能:按照指定条件来查找文件

 格式:find  <查找路径>   <查找条件> ·  ·  ·

选项:-name            按文件名称查找,可以使用通配符。

-size               匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件)

-prune             忽略某个目录

-perm              匹配权限(mode为完全匹配,-mode为包含即可)

-user               匹配所有者

-group              匹配所有组

-mtime -n +n    匹配修改内容的时间(-n指n天以内,+n指n天以前)

-atime -n +n     匹配访问文件的时间(-n指n天以内,+n指n天以前)

-ctime -n +n     匹配修改文件权限的时间(-n指n天以内,+n指n天以前)

-type
                按文件类型查找,类型f,d,l,b、c分别表示普通文件,目录,链接文件,块设备文件、字符设备文件。

示例:

[root@sky ~]# find /etc -name "passwd"

/etc/pam.d/passwd

/etc/passwd

[root@sky ~]# find /boot/ -size
+1024k     <==查找大于1M的文件

/boot/vmlinuz-2.6.32-358.el6.x86_64

/boot/System.map-2.6.32-358.el6.x86_64

参考资料                                                                                 

刘瑞       Linux就该怎么学

最新文章

  1. android 设颜色透明值
  2. javascript运动系列第六篇——轨迹和投掷
  3. mysql5.7.1 zip版本安装记录
  4. 在linux下运行apt-get update 时,报错/var/lib/apt/lists/lock
  5. Linux之查看CPU信息
  6. [美]莫提默 J. 艾德勒《如何阅读一本书》
  7. javamail 学习及实例
  8. cout 计算顺序问题
  9. 01.Apache FtpServer配置
  10. yaf运行错误:Class &#39;Yaf_Application&#39; not found
  11. 关于Java(介绍)
  12. Corporate Identity - HDU 2328(多串求共同子串)
  13. SQL Server 错误18456
  14. ASP.NET实现列表页连接查询 拼接sql语句 绑定grivdView
  15. PayPal为什么从Java迁移到Node.js
  16. java算法 蓝桥杯 乘法运算
  17. HDU1016 DFS+回溯(保存路径)
  18. BZOJ_1834_[ZJOI2010]network 网络扩容_费用流
  19. mysql 表
  20. 本人开源项目 Lu-Rpc

热门文章

  1. 2018.09.23 关键网线(tarjan)
  2. 2018.09.08 AtCoder Beginner Contest 109简要题解
  3. time &amp; datetime 模块
  4. 201521123014《Java程序设计》第1周学习总结
  5. 配置 cxf-ws spring bean 文件
  6. (并查集)A Bug&#39;s Life -- POJ -- 2492
  7. 移动 APP 网络优化概述
  8. 【spfa训练】HDU4725 (层级建图)
  9. node 命令行
  10. ios开发 ad hoc怎么用