「Linux-基础」CentOS 8 基本命令

CentOS8 基本命令

枫梓林——命令有点长,建议看目录提示阅读

文章目录

bash 目录命令

ls 列出当前目录所有文件

[root@localhost ~]#ls [选项] [文件名或目录名]

选项:

-a:  显示所有文件

-d:显示目录信息,是当前目录信息

-h:按照正常文件大小显示

-i:显示文件的i节点号

-l:长格式显示

cd 切换所在目录

英文原意:change directory。

所在路径:Shell 内置命令。

执行权限:所有用户

绝对路径和相对路径

绝对路径:以跟目录为参照物,从根目录开始,一级一级进入目录

相对路径:以当前目录作为参照物,进行目录查找

特殊符号作用
~家目录
-上次所在目录
.当前目录
上级目录

pwd 查询所在目录的命令

英文原意:print name of current/working directory

所在路径:/bin/pwd

执行权限:所有用户。

功能描述:查询所在的工作目录

mkdir 创建目录

mkdir 是创建目录的命令,其基本信息如下。

命令名称:mkdir。

英文原意:make directories。

所在路径:/bin/mkdir。

执行权限:所有用户。

功能描述:创建空目录

 -p   路径          当一次性创建多层不存在的目录的时候,添加-p参数,否则会报错

rmdir 删除目录

命令名称:rmdir。

英文原意:remove empty directories。

所在路径:/bin/rmdir。

执行权限:所有用户。

功能描述:删除空目录。

-p  递归删除目录

文件操作命令

touch 创建空文件或修改文件

touch 命令

创建空文件或修改文件时间,这个命令的基本信息如下。

命令名称:touch。

英文原意:change file timestamps。

所在路径:/bin/touch。

执行权限:所有用户。

功能描述:修改文件的时间戳。

stat 查看文件详细信息

stat 是查看文件详细信息的命令,而且可以看到文件的这三个时间,其基本信息如下。

命令名称:stat。

英文原意:display file or file system status。

所在路径:/usr/bin/stat。

执行权限:所有用户。

功能描述:显示文件或文件系统的详细信息。

[root@server1 ~]# stat his.txt 

 文件 File: his.txt

 大小Size: 1852       块 Blocks: 8     IO块 IO Block: 4096  regular file 普通文件

设备 Device: fd00h/64768d    Inode: 35033983  Links: 1

权限 Access: (0644/-rw-r--r--) Uid: (  0/  root)  Gid: (  0/  root)

环境 Context: unconfined_u:object_r:admin_home_t:s0

最近访问时间 Access: 2020-06-16 15:33:47.092158503 +0800

最近更改时间 Modify: 2020-06-16 15:33:42.496158398 +0800

最近改动时间 Change: 2020-06-16 15:33:42.496158398 +0800

 Birth: -

cat 查看文件内容

cat 命令用来查看文件内容。这个命令的基本信息如下。

命令名称:cat。

英文原意:concatenate files and print on the standard output。

所在路径:/bin/cat。

执行权限:所有用户。

功能描述:合并文件并打印输出到标准输出

[root@localhost ~]# cat [选项] 文件名

选项:

-A: 相当于-vET选项的整合,用于列出所有隐藏符号

-E:列出每行结尾的回车符$

-n: 显示行号
ba
-T:把 Tab键用^I显示出来

-v:列出特殊字符

more 分屏显示文件

more 是分屏显示文件的命令,其基本信息如下。

命令名称:more。

英文原意:file perusal filter for crt viewin。

所在路径:/bin/more。

执行权限:所有用户。

功能描述:分屏显示文件内容。

more 命令比较简单,一般不用什么选项,命令会打开一个交互界面,可以识别一些交互命令。常

用的交互命令如下。

空格键:向下翻页。

b:向上翻页。

    回车键:向下滚动一行。

   /字符串:搜索指定的字符串。

    q:退出。

less 分屏显示分行显示

命令名称:less。

英文原意:opposite of more。

所在路径:/usr/bin/less。

执行权限:所有用户。

功能描述:分行显示文件内容

head 显示文件开头

head 是用来显示文件开头的命令,其基本信息如下。

命令名称:head。

英文原意:output the first part of files。

所在路径:/usr/bin/head。

执行权限:所有用户。

功能描述:显示文件开头的内容。

命令格式

[root@localhost ~]# head [选项] 文件名

选项:

-n 行数:  从文件头开始,显示指定行数

-v:       显示文件名

tail 显示文件结尾

既然有显示文件开头的命令,就会有显示文件结尾的命令。tail 命令的基本信息如下。

命令名称:tail

英文原意:output the last part of files。

所在路径:/usr/bin/tail。

执行权限:所有用户。

功能描述:显示文件结尾的内容。

命令格式

[root@localhost ~]# tail [选项] 文件名

选项:

-n 行数: 从文件结尾开始,显示指定行数

-f:      监听文件的新增内容

ln 链接 创建快捷方式

命令名称:ln。

英文原意:make links between file。

所在路径:/bin/ln。

执行权限:所有用户。

功能描述:在文件之间建立链接。

如果创建硬链接:

[root@localhost ~]# touch cangls  //建立硬链接文件,目标文件没有写文件名,会和原名一致

[root@localhost ~]# ln /root/cangls /tmp/ //也就是/root/cangls和/tmp/cangls是硬链接文件


创建软链接(就是windows快捷方式)

root@localhost ~]# touch bols

[root@localhost ~]# ln -s /root/bols /tmp/ //建立软链接文件

目录和文件都能操作的命令

rm 删除文件或目录

rm 是强大的删除命令,不仅可以删除文件,也可以删除目录。这个命令的基本信息如下。

命令名称:rm。

英文原意:remove files or directories。

所在路径:/bin/rm。

-f:force,强制删除,不提示是否删除

-r:表示递归

cp复制

cp 是用于复制的命令,其基本信息如下:

命令名称:cp。

英文原意:copy files and directories。

所在路径:/bin/cp。

执行权限:所有用户。

功能描述:复制文件和目录。

命令格式

[root@localhost ~]# cp [选项] 源文件 目标文件

选项:

-a:相当于-dpr选项的集合,这几个选项我们一一介绍

-d:如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接

-i:询问,如果目标文件已经存在,则会询问是否覆盖

-p:复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间)

-r:递归复制,用于复制目录剪贴

mv 剪切和移动

mv 是用来剪切的命令,其基本信息如下。

命令名称:mv。

英文原意:move (rename) files。

所在路径:/bin/mv。

执行权限:所有用户。

功能描述:移动文件或改名。

命令格式

[root@localhost ~]# mv [选项] 源文件 目标文件

选项:

-f:强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖

-i:交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项)

-v:显示详细信息

目录权限和文件权限

chmod 修改的权限命令

-rw-r--r--. 1 root root 24772 114 18:17 install.log

可以使用“info ls”命令查看。文件类型

第一位

- “-”:普通文件。
- “b”:**块设备文件。**这是一种特殊设备文件,存储设备都是这种文件,如分区文件/dev/sda1就是这种文件。
- “c”:**字符设备文件。**这也是特殊设备文件,输入设备一般都是这种文件,如鼠标、键盘等。
- “d”:目录文件。Linux 中一切皆文件,所以目录也是文件的一种。
- “l”:软链接文件
- “p”:**管道符文件。**这是一种非常少见的特殊设备文件。
- “s”:套接字文件。这也是一种特殊设备文件,一些服务支持 Socket 访问,就会产生这样的文件。

第 2~4 位代表文件所有者的权限。

- r:代表 read,是读取权限。
- w:代表 write,是写权限。
- x:代表 execute,是执行权限。

如果有字母,则代表拥有对应的权限;如果是“-”,则代表没有对应的权限。

第 5~7 位代表文件所属组的权限,同样拥有“rwx”权限。

第 8~10 位代表其他人的权限,同样拥有“rwx”权限。

修改权限的命令 chmod

命令名称:chmod。

英文原意:change file mode bits。

所在路径:/bin/chmod。

执行权限:所有用户。

功能描述:修改文件的权限模式。

2.1.命令格式

[root@localhost ~]# chmod [选项] 权限模式 文件名

选项:

-R:递归设置权限,也就是给子目录中的所有文件设定权限

2.2.权限模式

chmod 命令的权限模式的格式是“[ugoa][[±=][rwx]”的格式,我们来解释一下。

用户身份。

- u:代表所有者(user)。

- g:代表所属组(group)。

- o:代表其他人(other)。

- a:代表全部身份(all)。

赋予方式。

- +:加入权限。

- -:减去权限。

- =:设置权限。

权限。

- r:读取权限(read)。

- w:写权限(write)。

- x:执行权限(execute)。

2.3.数字权限

数字权限的赋予方式是最简单的,但是不如之前的字母权限好记、直观。我们来看看这些数字权限的含义。

4:代表“r”权限。

2:代表“w”权限。

1:代表“x”权限。

2.4.常用权限

数字权限的赋予方式更加简单,但是需要用户对这几个数字更加熟悉。其实常用权限也并不多,

只有如下几个。

644:这是文件的基本权限,代表所有者拥有读、写权限,而所属组和其他人拥有只读权限。

755:这是文件的执行权限和目录的基本权限,代表所有者拥有读、写和执行权限,而所属组和其他人拥有读和执行权限

777:这是最大权限。在实际的生产服务器中,要尽力避免给文件或目录赋予这样的权限,这会造成一定的安全隐患。

chown 权限所有组所有者

权限含义的解释

首先,读、写、执行权限对文件和目录的作用是不同的。

权限对文件的作用。

- 读(r):对文件有读(r)权限,代表可以读取文件中的数据。如果把权限对应到命令上,那么一旦对文件有读(r)权限,就可以对文件执行 catmorelessheadtail 等文件查

看命令。

- 写(w):对文件有写(w)权限,代表可以修改文件中的数据。如果把权限对应到命令上,那么一旦对文件有写(w)权限,就可以对文件执行 vimecho 等修改文件数据的命令。注意:对文件有写权限,是不能删除文件本身的,只能修改文件中的数据。如果要想删除文件,则需要对文件的上级目录拥有写权限。

- 执行(x):对文件有执行(x)权限,代表文件拥有了执行权限,可以运行。在 Linux 中,只要文件有执行(x)权限,这个文件就是执行文件了。只是这个文件到底能不能正确执行,不仅需要执行(x)权限,还要看文件中的代码是不是正确的语言代码。对文件来说,执行

(x)权限是最高权限。

权限对目录的作用。

- 读(r):对目录有读(r)权限,代表可以查看目录下的内容,也就是可以查看目录下有哪些子文件和子目录。如果把权限对应到命令上,那么一旦对目录拥有了读(r)权限,就可以在目录下执行 ls 命令,查看目录下的内容了。

- 写(w):对目录有写(r)权限,代表可以修改目录下的数据,也就是可以在目录中新建、删除、复制、剪切子文件或子目录。如果把权限对应到命令上,那么一旦对目录拥有了写(w)权限,就可以在目录下执行 touchrmcpmv 命令。对目录来说,写(w)权限是最高

权限。

- 执行(x):目录是不能运行的,那么对目录拥有执行(x)权限,代表可以进入目录。如果把权限对应到命令上,那么一旦对目录拥有了执行(x)权限,就可以对目录执行 cd 命令,进入目录。

目录的可用权限

目录的可用权限其实只有以下几个。

0:任何权限都不赋予。

5:基本的目录浏览和进入权限。

7:完全权限。

所有者和所属组命令

chown 命令

chown 是修改文件和目录的所有者和所属组的命令,其基本信息如下。

命令名称:chown。

英文原意:change file owner and group。

所在路径:/bin/chown。

执行权限:所有用户。

功能描述:修改文件和目录的所有者和所属组。

1)命令格式

[root@localhost ~]# chown [选项] 所有者:所属组 文件或目录  // chown -R Apache:Apache test.txt

选项:

-R:递归设置权限,也就是给子目录中的所有文件设置权限

普通用户不能修改文件的所有者,哪怕自己是这个文件的所有者也不行。

普通用户可以修改所有者是自己的文件的权限。

chgrp 命令

chgrp 是修改文件和目录的所属组的命令,其基本信息如下。

命令名称:chgrp。

英文原意:change group ownership。

所在路径:/bin/chgrp。

执行权限:所有用户。

功能描述:修改文件和目录的所属组。

系统状态监测命令

ip add 查看IP地址

[root@localhost ~]# ip address 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:67:99:b2 brd ff:ff:ff:ff:ff:ff
    inet 192.168.142.139/24 brd 192.168.142.255 scope global dynamic noprefixroute ens33
       valid_lft 1632sec preferred_lft 1632sec
    inet6 fe80::7bf0:3f9f:6e0c:e7f1/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

uname

  • 查看系统内核与系统版本信息
[root@localhost ~]# uname   
Linux
[root@localhost ~]# uname -a   //所有信息
Linux localhost.localdomain 4.18.0-147.el8.x86_64 #1 SMP Wed Dec 4 21:51:45 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
//内核名称、主机名称、内核发行版本、节点名、系统时间、硬件名称、硬件平台、处理类型以及操作系统名称
 
[root@localhost ~]# cat /etc/centos-release    //查询系统版本信息
CentOS Linux release 8.1.1911 (Core) 

uptime

  • 查看系统的负载信息
[root@localhost ~]# uptime
 08:12:58 up 2 min,  3 users,  load average: 0.47, 0.33, 0.13
 显示系统时间、系统已运行时间、启动终端数量以及平均负载值等信息

free

  • 查看当前系统中内存使用量
[root@localhost ~]# free -h
              total        used        free   	   shared  buff/cache   available
Mem:          1.8Gi       289Mi       740Mi    	  9.0Mi       775Mi       1.3Gi
Swap:         2.0Gi          0B       2.0Gi
   			内存用量       已用量		可用量		进程共享的内存量  磁盘缓存的内存量  缓存的内存量
			

history

[root@localhost ~]# history
选项
-c :清空历史命令
-w :把缓存中的历史命令写入历史命令保存文件。历史文件默认文件保存在 /.bash_history中

修改history 历史文件保存个数
[root@localhost ~]# vim /etc/profile

 46 HISTSIZE=10000   //第四十六行的文件这个表示历史保存个数
 
 [root@localhost ~]# history -c   //表示清空历史命令,不建议经常使用,一般在用于MySQL数据库密码时用,删除明文输入的密码

历史命令的调用

  • 上、下箭头调用以前的历史命令
  • !n :重复执行的第n条历史命令
  • !! :重复执行上一条命令
  • ! 字串 :重复执行最后一条该字串开头的命令
  • !$:重复上一条命令的最后一个参数

whereis 命令

whereis 是搜索系统命令的命令(像绕口令一样),也就是说,whereis 命令不能搜索普通文件,

而只能搜索系统命令。whereis 命令的基本信息如下。

命令名称:whereis。

英文原意:locate the binary, source, and manual page files for a command。

所在路径:/usr/bin/whereis。

执行权限:所有用户。

功能描述:查找二进制命令、源文件和帮助文档的命令。

which 命令

which 也是搜索系统命令的命令。和 whereis 命令的区别在于:

whereis 命令可以在查找到二进制命令的同时,查找到帮助文档的位置;

而 which 命令在查找到二进制命令的同时,如果这个命令有别名,则还可以找到别名命令。

which 命令的基本信息如下。

命令名称:which。

英文原意:shows the full path of (shell) commands。

所在路径:/usr/bin/which。

执行权限:所有用户。

功能描述:列出命令的所在路径。

w命令

w命令是显示系统中正在登陆的用户信息的命令,这个命令查看的痕迹日志是/var/run/utmp这个命令的基本信息如下:

命令名称:w

英文原意:Show who is logged on and what they are doing

所在路径:/usr/bin

执行权限:所有用户。

功能描述:显示用户,和他正在做什么。

例如:

在这里插入图片描述

USER当前登录用户
TTY登录的终端 tty1-6 本地字符终端切换
FROM登录的IP地址,如果是本地终端、则是空
LOGIN@登录时间
IDLE用户闲置时间
JCPU用户的进程占用的CPU时间
PCPU当前进程占用CPU时间
WHAT用户正在进行的操作

who命令

who命令和w命令类似,用于查看正在登陆的用户,但是显示的内容更加简单,也是查看/var/run/utmp日志。
在这里插入图片描述

last命令

  • last命令是查看系统所有登陆过的用户信息的,包括正在登陆的用户和之前登陆的用户。这个命令查看的是/var/log/wtmp痕迹日志文件。
    在这里插入图片描述

lastlog命令

lastrlog命令是查看系统中所有用户最后一次的登陆时间的命令,他查看的日志是/var/log/lastlog

lastb命令

lastb命令是查看错误登陆的信息的,查看的是/var/log/btmp痕迹日志

sosreport

  • sosreport 命令是一个工具,用来收集RHEL系统上的配置信息、系统信息和诊断信息。比如:正在运行的内核版本、已加载的模块,以及系统和服务的配置文件。这个命令还会执行一些额外的程序,来获得更详尽信息,并会把这些信息保存到结果文档中。当红帽技术支持工程师对一个 Red Hat Enterprise Linux 服务请求进行初始分析时,通常会从 sosreport 开始。
[root@localhost ~]#  yum install sos       //安装sosrepot
[root@localhost ~]# sosreport -l        //使用以下命令显示所有插件:

sosreport (version 3.8)

目前已启用了以下插件:   #部分

 alternatives         System alternatives
 anaconda             Anaconda installer
 boot                 Bootloader information

目前禁用了以下插件:     #部分

 abrt                 inactive       Automatic Bug Reporting Tool
 acpid                inactive       ACPI daemon information
 activemq             inactive       ActiveMQ message broker
 ansible              inactive       Ansible configuration management
 atomichost           inactive       Atomic Host

以下插件选项可用:       #部分

 Option 'timeout' available to all plugins - time in seconds to allow plugin to run, use 0 for no timeout

 apache.log                off             gathers all apache logs
 boot.all-images           off             collect lsinitrd for all images
 dnf.history               off             captures transaction history

 yum.yum-history-info      off             gather yum history info

 Profiles: boot, container, debug, desktop, hardware, identity, java, 
           kernel, memory, mrg, network, openshift, packagemanager, 
           performance, perl, sap, security, services, storage, sysmgmt, 
           system, virt, webserver

 23 profiles, 78 plugins 

解压和压缩

在 Linux 中可以识别的常见压缩格式有十几种,比如“.zip”“.gz”“.bz2”“.tar”“.tar.gz”“.tar.bz2”等。

1.“.zip”格式

“.zip”是 Windows 中最常用的压缩格式,Linux 也可以正确识别“.zip”格式,这可以方便地和Windows 系统通用压缩文件。

1.1.“.zip”格式的压缩命令

压缩命令就是 zip,其基本信息如下。

命令名称:zip。

英文原意:package and compress (archive) files。

所在路径:/usr/bin/zip。

执行权限:所有用户。

功能描述:压缩文件或目录。

命令格式如下:

[root@localhost ~]# zip [选项] 压缩包名 源文件或源目录

选项:

-r:压缩目录

例如:[root@localhost ~]# zip ana.zip anaconda-ks.cfg

1.2.“.zip”格式的解压缩命令

“.zip”格式的解压缩命令是 unzip,其基本信息如下。

命令名称:unzip。

英文原意:list, test and extract compressed files in a ZIP archive。

所在路径:/usr/bin/unzip。

执行权限:所有用户。

功能描述:列表、测试和提取压缩文件中的文件。

命令格式如下:

[root@localhost ~]# unzip [选项] 压缩包名

选项:

-d:指定解压缩位置

例如:

[root@localhost ~]# unzip -d /tmp/ ana.zip

#把压缩包解压到指定位置

2.“.gz”格式

不会打包

2.1.“.gz”格式的压缩命令

“.gz”格式是 Linux 中最常用的压缩格式,使用 gzip 命令进行压缩,其基本信息如下。

命令名称:gzip。

英文原意:compress or expand files。

所在路径:/bin/gzip。

执行权限:所有用户。

功能描述:压缩文件或目录。

这个命令的格式如下:

[root@localhost ~]# gzip [选项] 源文件

选项:

-c:将压缩数据输出到标准输出中,可以用于保留源文件

-d:解压缩

-r:压缩目录

[root@localhost ~]# gzip -c anaconda-ks.cfg > anaconda-ks.cfg.gz

\#使用-c选项,但是不让压缩数据输出到屏幕上,而是重定向到压缩文件中

\#这样可以在压缩文件的同时不删除源文件

2.2“.gz”格式的解压缩命令

如果要解压缩“.gz”格式,那么使用“gzip -d 压缩包”和“gunzip 压缩包”命令都可以。我们

先看看 gunzip 命令的基本信息。

命令名称:gunzip。

英文原意:compress or expand files。

所在路径:/bin/gunzip。

执行权限:所有用户。

功能描述:解压缩文件或目录。

例如:

[root@localhost ~]# gunzip install.log.gz

[root@localhost ~]# gzip -d anaconda-ks.cfg.gz

两个命令都可以解压缩“.gz”格式

3.“.bz2”格式

不能压缩目录

3.1.“.bz2”格式的压缩命令

“.bz2”格式是 Linux 的另一种压缩格式,从理论上来讲,“.bz2”格式的算法更先进、压缩比更

好;而“.gz”格式相对来讲压缩的时间更快。

“.bz2”格式的压缩命令是 bzip2,我们来看看这个命令的基本信息。

命令名称:bzip2。

英文原意:a block-sorting file compressor。

所在路径:/usr/bin/bzip2。

执行权限:所有用户。

功能描述:.bz2 格式的压缩命令。

来看看 bzip2 命令的格式。

[root@localhost ~]# bzip2 [选项] 源文件

选项:

-d:解压缩

-k:压缩时,保留源文件

-v:显示压缩的详细信息

例如:

[root@localhost ~]# bzip2 anaconda-ks.cfg    #压缩成.bz2格式

[root@localhost ~]# bzip2 -k install.log.syslog  #保留源文件压缩

3.2.“.bz2”格式的解压缩命令

.bz2”格式可以使用“bzip2 -d 压缩包”命令来进行解压缩,也可以使用“bunzip2 压缩包”命

令来进行解压缩。先看看 bunzip2 命令的基本信息。

命令名称:bunzip2。

英文原意:a block-sorting file compressor。

所在路径:/usr/bin/bunzip2。

执行权限:所有用户。

功能描述:.bz2 格式的解压缩命令。

[root@localhost ~]# bunzip2 anaconda-ks.cfg.bz2

[root@localhost ~]# bzip2 -d install.log.syslog.bz2

#两个命令都可以解压缩

4.“.tar”格式

打包不会压缩

4.1.“.tar”格式的打包命令

“.tar”格式的打包和解打包都使用 tar 命令,区别只是选项不同。我们先看看 tar 命令的基本信息。

命令名称:tar。

英文原意:tar。

所在路径:/bin/tar。

执行权限:所有用户。

功能描述:打包与解打包命令。

命令的基本格式如下:

[root@localhost ~]# tar [选项] [-f 压缩包名] 源文件或目录

选项:

-c:打包

-f:指定压缩包的文件名。压缩包的扩展名是用来给管理员识别格式的,所以一定要正确指定扩展名

-v:显示打包文件过程

[root@localhost ~]# tar -cvf anaconda-ks.cfg.tar anaconda-ks.cfg  #打包,不会压缩

4.2.“.tar”格式的解打包命令

“.tar”格式的解打包也需要使用 tar 命令,但是选项不太一样。命令格式如下:

[root@localhost ~]# tar [选项] 压缩包

选项:

-x:解打包

-f:指定压缩包的文件名

-v:显示解打包文件过程

-t:测试,就是不解打包,只是查看包中有哪些文件

-C() 目录:指定解打包位置

例如

[root@localhost ~]# tar -xvf anaconda-ks.cfg.tar

\#解打包到当前目录下

5.“.tar.gz”和“.tar.bz2”格式

使用 tar 命令直接打包压缩。命令格式如下:

[root@localhost ~]# tar [选项] 压缩包 源文件或目录

选项:

-z:压缩和解压缩“.tar.gz”格式

-j:压缩和解压缩“.tar.bz2”格式

例如:.tar.gz格式

[root@localhost ~]# tar -zcvf tmp.tar.gz /tmp/#把/tmp/目录直接打包压缩为“.tar.gz”格式
[root@localhost ~]# tar -zxvf tmp.tar.gz#解压缩与解打包“.tar.gz”格式

例如:.tar.bz2格式

[root@localhost ~]# tar -jcvf tmp.tar.bz2 /tmp/#打包压缩为“.tar.bz2”格式,注意压缩包文件名
[root@localhost ~]# tar -jxvf tmp.tar.bz2#解压缩与解打包“.tar.bz2”格式

再举几个例子:

[root@localhost ~]# mkdir test

[root@localhost ~]# touch test/abc

[root@localhost ~]# touch test/bcd

[root@localhost ~]# touch test/cde

\#建立测试目录和测试文件
[root@localhost ~]# tar -zcvf test.tar.gz test/#压缩
[root@localhost ~]# tar -ztvf test.tar.gz#只查看,不解压
[root@localhost ~]# tar -zxvf test.tar.gz -C /tmp#解压缩到指定位置
[root@localhost ~]# tar -zxvf test.tar.gz -C /tmp test/cde#只解压压缩包中的特定文件,到指定位置

搜寻和查找

find 命令

find 命令的基本信息如下。

命令名称:find。

英文原意:search for files in a directory hierarchy。

所在路径:/bin/find。

执行权限:所有用户。

功能描述:在目录中搜索文件。

按照文件名搜索

[root@localhost ~]# find 搜索路径 [选项] 搜索内容

选项:

-name:按照文件名搜索
-iname:按照文件名搜索,不区分文件名大小写
-inum:按照 inode号搜索

举例: find / -name “a.txt”

按照文件大小搜索

[root@localhost ~]# find 搜索路径 [选项] 搜索内容
选项 -size  [+\|-]大小:按照指定大小搜索文件
这里的“+”的意思是搜索比指定大小还要大的文件,“-”的意思是搜索比指定大小还要小的文件。
find 命令的单位:

[root@localhost ~]# man find -size n[cwbkMG]

File uses n units of space. The following suffixes can be used:
‘b’for 512-byte blocks (this is the default if no suffix is used)#这是默认单位,如果单位为 b或不写单位,则按照 512 Byte搜索
‘c’for bytes#搜索单位是 c,按照字节搜索
‘w’for two-byte words #搜索单位是 w,按照双字节(中文)搜索
‘k’for Kilobytes (units of 1024 bytes)#按照 KB单位搜索,必须是小写的 k
‘M’for Megabytes (units of 1048576 bytes)#按照 MB单位搜索,必须是大写的 M
‘G’for Gigabytes (units of 1073741824 bytes)#按照 GB单位搜索,必须是大写的 G

按照修改时间搜索

Linux 中的文件有访问时间(atime)、数据修改时间(mtime)、状态修改时间(ctime)这三个

时间,我们也可以按照时间来搜索文件。

[root@localhost ~]# find 搜索路径 [选项] 搜索内容

选项:

-atime [+|-]时间:按照文件访问时间搜索
-mtime [+|-]时间:按照文件数据修改时间搜索
-ctime [+|-]时间:按照文件状态修改时间搜索

这三个时间的区别我们在 stat 命令中已经解释过了,这里用 mtime 数据修改时间来举例,重点说

说“[±]”时间的含义。

-5:代表 5 天内修改的文件。

5:代表前 5~6 天那一天修改的文件。

+5:代表 6 天前修改的文件。

按照权限搜索

命令格式。

[root@localhost ~]# find 搜索路径 [选项] 搜索内容

选项:

-perm 权限模式:查找文件权限刚好等于“权限模式”的文件
-perm -权限模式:查找文件权限全部包含“权限模式”的文件
-perm +权限模式:查找文件权限包含“权限模式”的任意一个权限的文件

按照所有者和所属组搜索

[root@localhost ~]# find 搜索路径 [选项] 搜索内容

选项:

-uid 用户 ID:按照用户 ID查找所有者是指定 ID的文件
-gid 组 ID:按照用户组 ID查找所属组是指定 ID的文件
-user 用户名:按照用户名查找所有者是指定用户的文件
-group 组名:按照组名查找所属组是指定用户组的文件
-nouser:查找没有所有者的文件

按照所有者和所属组搜索时,“-nouser”选项比较常用,主要用于查找垃圾文件。只有一种情况例外,那就是外来文件。比如光盘和 U 盘中的文件如果是由 Windows 复制的,在Linux 中查看就是没有所有者的文件;再比如手工源码包安装的文件,也有可能没有所有者

按照文件类型搜索

[root@localhost ~]# find 搜索路径 [选项] 搜索内容

选项:

-type d:查找目录
-type f:查找普通文件
-type l:查找软链接文件

逻辑运算符

[root@localhost ~]# find 搜索路径 [选项] 搜索内容

选项:

-a:and逻辑与
-o:or逻辑或
-not:not逻辑非
1)-a:and 逻辑与

find 命令也支持逻辑运算符选项,其中-a 代表逻辑与运算,也就是-a 的两个条件都成立,find 搜

索的结果才成立。举个例子:

[root@localhost ~]# find . -size +2k -a -type f //在当前目录下搜索大于 2KB,并且文件类型是普通文件的文件
2)-o:or 逻辑或

-o 选项代表逻辑或运算,也就是-o 的两个条件只要其中一个成立,find 命令就可以找到结果。例

如:
[root@localhost ~]# find . -name cangls -o -name bols

./cangls

./bols

\#在当前目录下搜索文件名要么是 cangls的文件,要么是 bols的文件
3)-not:not 逻辑非

-not 是逻辑非,也就是取反的意思。举个例子:

[root@localhost ~]# find . -not -name cangls

#在当前目录下搜索文件名不是 cangls的文件

其他选项

1)-exec 选项

这里我们主要讲解两个选项“-exec”和“-ok”,这两个选项的基本作用非常相似。我们先来看

看“-exec”选项的格式。

[root@localhost ~]# find 搜索路径 [选项] 搜索内容 -exec 命令 2 {} \;

其次,这个选项的作用其实是把 find 命令的结果交给由“-exec”调用的命令 2 来处理。“{}”就

代表 find 命令的查找结果。

2)-ok 选项

“-ok”选项和“-exec”选项的作用基本一致,区别在于:“-exec”的命令 2 会直接处理,而不询

问;“-ok”的命令 2 在处理前会先询问用户是否这样处理,在得到确认命令后,才会执行。
在这里插入图片描述

grep 的作用是在文件中提取和匹配符合条件的字符串行

[root@localhost ~]# grep [选项] "搜索内容" 文件名

选项:

-i:忽略大小写
-n:输出行号
-v:反向查找
–color=auto:搜索出的关键字用颜色显示

​ find 也是搜索命令,那么 find 命令和 grep 命令有什么区别呢?

1)find 命令

find 命令用于在系统中搜索符合条件的文件名,如果需要模糊查询,则使用通配符进行匹配,通配符

是完全匹配(find 命令可以通过-regex 选项,把匹配规则转为正则表达式规则,但是不建议如此)。

2)grep 命令

grep 命令用于在文件中搜索符合条件的字符串,如果需要模糊查询,则使用正则表达式进行匹配,

正则表达式是包含匹配。

3)通配符与正则表达式的区别

通配符:用于匹配文件名,完全匹配

正则符作用
?匹配一个任意字符
*匹配 0 个或任意多个任意字符,也就是可以匹配任何内容
[]匹配中括号中任意一个字符。例如,[abc]代表一定匹配一个字符,或者是 a,或者是 b,或者是 c
[-]匹配中括号中任意一个字符,-代表一个范围。例如,[a-z]代表匹配一个小写字母
[^]逻辑非,表示匹配不是中括号内的一个字符。例如,[^0-9]代表匹配一个不是数字的字符

正则表达式:用于匹配字符串,包含匹配

正 则 符作用
?匹配前一个字符重复 0次,或 1次(?是扩展正则,需要使用 egrep命令)
*匹配前一个字符重复 0次,或任意多次
[]匹配中括号中任意一个字符。例如,[abc]代表一定匹配一个字符,或者是 a,或者是 b,或者是 c
[-]匹配中括号中任意一个字符,-代表一个范围。例如,[a-z]代表匹配一个小写字母
[^]逻辑非,表示匹配不是中括号内的一个字符。例如,[^0-9]代表匹配一个不是数字的字符
^匹配行首
$匹配行尾

管道符

命令格式:|

命令 1 | 命令 2

命令 1 的正确输出作为命令 2 的操作对象

举例: ll -a /etc/ | gerp yum #表示查询 /etc目录下的yum 文件

 netstat -an | grep "ESTABLISHED" | wc -l #表示具体的网络连接数量,用wc 进行统计行数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aLgPKvja-1600956961354)(C:/Users/zhuxiaolin/fengzilin/AppData/Roaming/Typora/typora-user-images/image-20200823222831328.png)]

常用工作命令

date

  • 显示及设置系统的时间或日期
[root@localhost ~]# date [选项] [+指定格式]

参数                    作用
%t             		跳格{TAB键}
%H					小时(0~23%I					小时(0-12%M					分钟(0~59%S					秒(0~59%j                    今年中的第几天

如:
[root@localhost ~]# date "+%F %T"    
2020-08-25 08:42:23

sync 数据同步

sync 命令的基本信息如下。

命令名称:sync。

英文原意:flush file system buffers。

所在路径:/bin/sync。

执行权限:所有用户。

功能描述:刷新文件系统缓冲区。

shutdown 命令

shutdown 命令的基本信息如下。

命令名称:shutdown。

英文原意:bring the system down。

所在路径:/sbin/shutdown。

执行权限:超级用户。

功能描述:关机和重启

命令的基本格式如下:

[root@localhost ~]# shutdown [选项] 时间 [警告信息]

选项:

-c:取消已经执行的 shutdown命令
-h:关机
-r:重启

reboot 命令

在现在的系统中,reboot 命令也是安全的,而且不需要加入过多的选项。

[root@localhost ~]# reboot  #重启

##halt 和 poweroff 命令

这两个都是关机命令,直接执行即可。这两个命令不会完整关闭和保存系统的服务,不建议使用。

[root@localhost ~]# halt   #关机

[root@localhost ~]# poweroff   #关机

init 命令

init 是修改 Linux 运行级别的命令,也可以用于关机和重启。这个命令并不安全,不建议使用。

[root@localhost ~]# init 0    #关机,也就是调用系统的 0级别

[root@localhost ~]# init 6      #重启,也就是调用系统的 6级别

wget

  • 下载网络文件
格式
[root@localhost ~]# wget [参数] 下载地址

   参数       					作用
   -b						后台下载模式
   -P(大写)                  下载到指定目录
   -t						最大尝试次数
   -c						断点续传
   -p(小写)				下载页面内所有资源,包括图片,视频等
   -r                        递归下载
   -o                        下载以自定义路径保存名字
   如
   wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
   //下载 阿里云yum源地址       /etc/yum.repo.d/Centos-Base.repo  为下载的路径   https 为网址

ps -ef

  • 用于查看系统中的进程状态
[root@localhost ~]# ps -ef   //列出系统中的进程状态
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 08:10 ?        00:00:03 /usr/lib/systemd/systemd --switched-root --system --deserialize 17
root          2      0  0 08:10 ?        00:00:00 [kthreadd]
root          3      2  0 08:10 ?        00:00:00 [rcu_gp]
root          4      2  0 08:10 ?        00:00:00 [rcu_par_gp]
root          6      2  0 08:10 ?        00:00:00 [kworker/0:0H-kblockd]
root          8      2  0 08:10 ?        00:00:00 [mm_percpu_wq]
root          9      2  0 08:10 ?        00:00:00 [ksoftirqd/0]
root         10      2  0 08:10 ?        00:00:00 [rcu_sched]

常用配合grep使用查找单个进程用管道符 | 
[root@localhost ~]# ps -ef | grep firefox         //配合管道符和grep查找firefox进程状态
root      47957  13963  0 09:00 pts/0    00:00:00 grep --color=auto firefox
	

列的含义:
UID:该进程执行的用户id;
PID:进程id;
PPID:该进程的父级进程id,如果一个程序的父级进程找不到,该程序的进程称之为僵尸进程(parent process ID);
C:Cpu的占用率,其形式是百分数;
STIME:进行的启动时间;
TTY:终端设备,发起该进程的设备识别符号,如果显示“?”则表示该进程并不是由终端设备发起;
TIME:进程的执行时间;
CMD:该进程的名称或者对应的路径;

pstree

  • 将所有行程以树状图显示,树状图将会以 pid (如果有指定) 或是以 systemd 这个基本行程为根 (root)
安装pstree
[root@localhost ~]#  yum -y install psmisc   //安装pstree 最小安装默认没有

[root@localhost ~]# pstree -p 
systemd(1)-+-NetworkManager(937)-+-{NetworkManager}(940)
           |                     `-{NetworkManager}(941)
           |-VGAuthService(898)
           |-anacron(49460)
           |-auditd(872)---{auditd}(873)
           |-chronyd(903)
           |-crond(960)
           |-dbus-daemon(901)---{dbus-daemon}(912)
           |-firewalld(927)---{firewalld}(1340)
           |-httpd(88236)-+-httpd(88257)

top

  • 动态监视进程活动与系统负载等信息 相当于windows 任务管理器
top - 09:06:05 up 55 min,3 users,load average:0.04, 0.22, 0.12
Tasks: 149 total,   1 running, 148 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.3 us,  2.0 sy,  0.0 ni, 96.3 id,  0.0 wa,  0.3 hi,  0.0 si,  0.0 st
MiB Mem :   1806.2 total,    773.2 free,    272.2 used,    760.8 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.   1368.5 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                                                                      
 13962 root      20   0  151528   6276   4704 S   0.7   0.3   0:04.68 sshd                                                                                                                                         
   594 root      20   0       0      0      0 S   0.3   0.0   0:00.28 xfsaild/dm-0                                                                                                                                 
     1 root      20   0  179036  13868   8632 S   0.0   0.7   0:04.22 systemd                                                                                           
     2 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kthreadd                                                                                                                                     
     3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp                                                                                                                                       

第一行:系统时间、运行命令、登录终端数、系统负载均衡 1 5 10 分钟
第二行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数
第三行:用户占用资源的百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比
第四行:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量
第五行:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已被提前加载的内存量

kill

  • 终止某个指定的PID的服务进程
top   //查看kill 终止程序
PID    USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                                                                      
13962  root      20   0  151528   6276   4704 S   0.3   0.3   0:06.38 sshd  
 [root@localhost ~]#  kill 13962

killall

  • 终止某个指定名称的服务所对应的全部进程
top   //查看kill 终止程序
PID    USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                                                                      
13962  root      20   0  151528   6276   4704 S   0.3   0.3   0:06.38 sshd  
 [root@localhost ~]#  killall 13962

注:本人自己整理笔记,排版可能有些问题,懒的改了,后面会注意,能看懂就行,用Typora的写的,上传图片有点麻烦,我会陆续把我之前写的笔记上传,关于Linux基础知识,转载请联系我fengzilin_blog@163.com

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值