热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux课堂篇3_Linux目录结构、快捷键、常用基础命令

目录此系列博客为大三下期末小学期课程大数据疫情分析平台项目学习学习笔记,内容参考中共教育讲义文件Linux目录结构Linux快捷键Linux命令命令分类快捷键基本命

目录



此系列博客为大三下期末小学期课程大数据疫情分析平台项目学习学习笔记,内容参考中共教育讲义文件

  1. Linux目录结构
  2. Linux快捷键
  3. Linux命令
    • 命令分类
    • 快捷键
    • 基本命令
    • 常用命令
    • 用户管理命令
    • 文件权限命令
    • 磁盘大小查看命令
    • 搜索查找命令
    • 解压缩命令
    • 后台服务管理类命令
    • 上传下载类
    • 软件安装卸载命令
    • crontab系统定时任务

一、Linux目录结构

以一般的Linux系统CentOS为例,系统目录有
在这里插入图片描述
Linux每个目录都有自己约定俗成的用处,或者说Linux的不同文件分门别类地放到了专门的文件夹,虽然Linux没有强制性的要求我们必须按照这些规定放置文件,但是为了方便起见,还是遵守约定的好。

  • /bin:是Binary的缩写,这个目录存放着系统必备执行命令,比如ls、cat
  • /boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件,自己的安装别放这里。
  • /dev:Device(设备)的缩写,该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的,比如光驱就被映射为/dev/cdrom文件。
  • /etc:所有的系统管理所需要的配置文件和子目录,例如网络配置
  • /home:存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,例如我们在创建完普通用户hadoop后,就会在/home下创建一个子目录/home/hadoop,作为hadoop用户的家目录,但是注意root的家不在这里,在其家是/root。
  • /lib:系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。 本科 计算机专业
  • /lib64:开机时常用的动态链接库64位,bin及sbin指令也会调用对应的lib库。
  • /media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
  • /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
  • /opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认该目录是空的。
  • /proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
  • /root:该目录为系统管理员,也称作超级权限者的用户主目录。
  • /run: 系统运行时所产生的信息,以前放置在/var/run中,后来拆分成独立的/run目录。
  • /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
  • /srv:service缩写,该目录存放一些服务启动之后需要提取的数据。
  • /sys: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
  • /tmp:这个目录是应用程序存放一些临时文件的,类似于Windows的回收站,里面的内容会定期删除。
  • /usr:用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
  • /var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下,例如各种日志文件。

二、Linux命令


1、命令分类

可以分为两种命令,可以使用type xxx 查看是哪种命令

  • 内部命令:也称作内置命令,随着Linux系统启动而加载到内存中,是常驻内存的,调用速度快,执行效率高。
  • 外部命令:在Linux系统启动时并不随系统一起被加载到内存中,而是在需要时才将其从磁盘加载到内存中,调用速度相对较慢。

2、快捷键

语法 功能描述

  • ctrl + c 停止进程
  • ctrl + l 清屏
  • tab键 自动补全命令
  • 上下键 查找执行过的命令

3、基本命令


(1)who

  • whoami 显示自身用户名称
  • who am i 显示登录用户的用户名
  • who 看当前有哪些用户登录到了本台机器上

(2)pwd

  • pwd 显示当前工作目录的绝对路径

(3)cd

  • cd 绝对路径 切换到所给的绝对路径下
  • cd 相对路径 切换到所给的相对路径下
  • cd ~或者cd 回到自己的家目录
  • cd - 回到上一次所在目录
  • cd .. 回到当前目录的上一级目录

(4)ifconfig

  • ifconfig 查看网络配置信息

(5)history

  • history 查看历史命令(1000条)

4、常用命令


1、帮助类命令,作用:查看命令的含义以及使用方法。

  • whatis + 命令 描述一个命令执行什么功能
  • man + 命令 Man即manual手册的简写。指的是命令的使用手册
    在这里插入图片描述
  • help + 内部命令 查看内部命令的使用帮助

2、文本编辑命令vi/vim

在Windows中,我们可以使用记事本、word等等应用程序来编辑文件,那么在Linux里面我们需要使用vi或者vim编辑器来编辑文件。vi或者vim编辑器也是作为Linux中的命令存在的。

  • vi/vim + 文件 进入某文件的编辑界面对文件内容进行编辑,vi 是老式的文字处理器,来源于Unix操作系统,所有的类Unix系统也都会内建vi文本编辑器。vim可以理解为是vi的增强版,现在可称为“Vi Improved”(Vi改进版),原来也被称为“Vi Imitation”(Vi模拟版),vim比vi拥有更强大的编辑能力,增加了以字体颜色辨别语法的正确性,跨平台使用等功能,更加方便了程序的设计。

我们在使用vi/vim时。主要有三种模式:一般模式、编辑模式、指令模式,不同模式有不同的功能,根据自己的需要使用不同的模式。

2.1一般模式

用vi/vim 打开一个文件就直接进入一般模式了。在该模式中,可以使用上下左右按键来移动光标, 也可以使用复制、粘贴、删除等功能来处理文件内容,但是这里的复制、粘贴、删除与Windows的操作是不同的。

  • y + 数字N + y 从光标闪烁处开始往后复制N行
  • p 即paste,将复制的内容粘贴到光标所在行的下一行
  • u 即undo,撤销上一步的操作
  • dd 即delete,删除光标所在的当前行
  • shift + ^ 移动到光标所在行的行头
  • shift + $ 移动到光标所在行的行尾
  • gg 移动到文件的第一行
  • shift + g 移动到文件的末尾行
  • 数字N + shift + g 移动到文件的第N行处

2.2 编辑模式

在一般模式中可以进行删除、复制、粘贴等等的动作,但是却无法编辑文件内容。我们需要进入编辑模式才可以编辑具体内容,我们可以在一般模式下键入『i, I, o, O, a, A, r, R』等任一字母就可进入编辑模式。
进入编辑模式,会在左下方出现『INSERT 或 REPLACE 或 插入 』的字样。编辑完成后,按下『Esc』这个按键可退出编辑模式,回到一般模式,在一般模式下,可以进入指令模式,选择保存或者不保存文件。

  • 键入“i” 在光标所在位置处进入编辑模式
  • 键入“I” 将光标定位到所在行的行头进入编辑模式
  • 键入“a” 将光标定位到当前位置的下一字节进入编辑模式
  • 键入“A” 将光标定位到所在行的行尾进入编辑模式
  • 键入“o” 在光标所在行的下一行新建一行进入编辑模式
  • 键入“O” 在光标所在行的上一行新建一行进入编辑模式

2.3 指令模式

该模式也被称之为底行模式,在一般模式下,输入『 : / ?』3个中的任何一个按键,就可以将光标移动到页面最底一行进入到指令模式,在该模式下可以进行保存、不保存、显示行号、搜索关键字等操作。按下『Esc』这个按键可退出编辑模式。

  • 键入“:或 / 或 ?” 在一般模式下进入指令模式
  • 键入“:”后输入“w”并回车 保存
  • 键入“:”后输入“q”并回车 退出文本编辑器
  • 键入“:”后输入“wq”并回车 保存文本内容并退出文本编辑器
  • 键入“:”后输入“!”并回车 强制执行
  • 键入“:”后输入“q!”并回车 不保存文件,强制退出文本编辑器
  • 键入“:”后输入“wq!”并回车 强制保存并退出文本编辑器,注意:一般模式下按下 Shift + z + z 对非只读文件实现快速保存
  • 键入“/”后输入“关键词”并回车 查询文件中的关键词,按n向下查找下一个关键词
  • 键入“?”后输入“关键词”并回车 查询文件中的关键词,按n向上查找下一个关键词

3、文件目录命令

(1) ls

ls + [选项] + 目录 显示指定目录下的所有子目录和文件,选项:

  • -a :all,全部的文件,连同隐藏的文档( 开头为 . 的文件) 一起列出来(常用)
  • -l :以详情列表列出,包含文件的属性与权限等等数据;(常用)
  • -i :查看文件的inode号(inode存储文件的详细信息)

(2)touch

  • touch + 文件名称 用来创建新的空文件

(3)mkdir

mkdir + [选项] +要创建的目录 创建一个新的目录,选项:

  • -p :递归创建多级目录, mkdir -p d1/d2/d3

(4)echo 和 重定向

echo:输出内容。重定向:将数据写入到指定文件,分为覆盖写“>”追加写“>>”

  • echo + 输出内容(文本/命令结果/变量) 将内容进行输出显示,如echo `date` 输出当前日期,echo $PWD输出当前目录
  • echo + 输出内容 >> 文件 将输出内容追加存储在指定文件中
  • echo + 输出内容 > 文件 将输出内容覆盖存储在指定文件中

(5)printf

  • printf + 格式 + 参数 将数据指定格式进行输出,如 printf "%s \t %d \t %s \n" "zhangsan" 16 "man"

(6)mv

  • mv + 原文件名 + 新文件名 对文件进行重命名
  • mv + 文件/目录 + 路径 将文件/目录移动到指定路径下

(7)cp

  • cp + 原文件 + 目标路径 将一个或多个文件复制到指定的路径下

(8)cat

  • cat + [选项] + 文件 查看文件内容,从第一行开始输出显示,选项:-n :列出行号,连同空白行也会有行号

(9)tac

  • tac + 文件 将文件内容倒序输出

(10)head

  • head + [选项] + 文件 从头开始显示文件内容,默认显示前10行。案例:[root@hadoop1 test]# head vi测试数据.txt

(11)tail

  • tail + [选项] + 文件 倒序按行显示文件内容,默认显示后10行。案例:[root@hadoop1 test]# tail vi测试数据.txt

(12)more

more + 文件 查看文件内容,一页一页的显示文件内容,并且显示当前查看文件的进度。功能使用说明:

  • 空白键 (space)或按Ctrl+F:向下翻一页
  • 按Enter键:向下翻一行
  • 按f键:向下翻两页
  • 按b键:向上翻一页
  • 按=:输出当前行的行号
  • 按v键:调用vi编辑器
  • 输入/ + 搜索的字符串,按回车进行搜索,按n匹配下一个字符串
  • 按q键:离开more ,不再显示该文件内容

(13)less

less + 文件 使用与more比较类似,可查看文件内容,功能使用说明:

  • 按Enter键或向下键:代表向下翻一行
  • 按y键或向上键:代表向上翻一行
  • 按pagedown键或f键或空格键:向下翻动一页
  • 按pageup键或b键:向上翻动一页
  • 输入/ + 需要搜索的字符串,按回车进行搜索,按n匹配下一个字符串按N匹配上一个字符串
  • 输入? + 需要搜索的字符串,按回车进行搜索,按n匹配上一个字符串按N匹配下一个字符串
  • 按v键:调用vi编辑器
  • 按q键:离开less,不再显示该文件内容

(14)egrep

egrep + 字符串规则 + 文件或目录 在文件或目录中查找指定的字符串。案例:

[root@hadoop1 test]# egrep 99 测试数据.txt
this is line 99
this is line 199
this is line 299
this is line 399
this is line 499

(15)rm

rm + [选项] + 文件或目录 删除文件或目录选项:

  • -r :删除目录以及其下的所有文件
  • -f :省略“是否删除”的确认询问

(16)rmdir

  • rmdir + 要删除的空目录 删除一个空目录

5、用户管理命令

(1)useradd + 用户名 添加新用户(前提是有权限)。案例:[root@hadoop1 ~]# useradd hadoop
(2)passwd + 用户名 设置用户密码
(3)id + 用户名 判断用户是否存在
(4)su + 用户名 切换用户,只能获得用户执行权限,不能获得环境变量
(5)visudo 等价于vi /etc/sudoers,修改用户权限
(6)sudo + 命令 设置普通用户以root用户权限执行命令

6、文件权限命令


(1)文件属性

Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组。

[root@hadoop1 test]# ll
总用量 20
drwxr-xr-x. 3 root root 16 131 16:30 d1
-rw-r--r--. 1 root root 76 131 16:02 test1.txt
-rw-r--r--. 1 root root 66 131 15:44 test2.txt从左到右的10个字符表示:
如果没有权限,就会出现减号[ - ]而已。从左至右用0-9这些数字来表示:1、 第0位表示类型- 代表文件d 代表目录c 字符流,串行端口设备,例如键盘、鼠标(一次性读取装置)s socketp 管道l 链接文档(link file)b 设备文件,可供储存的接口设备(可随机存取装置)2、 第1-3位确定属主(该文件的所有者)拥有该文件的权限。---User3、 第4-6位确定属组(所有者的同组用户)拥有该文件的权限,---Group4、 第7-9位确定其他用户拥有该文件的权限 ---Other

(2)文件权限

作用到文件

权限 解读
r 代表可读(read): 可以读取,查看
w 代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件。
x 代表可执行(execute):可以被系统执行

作用到目录

权限 解读
r 代表可读,可以查看目录中的文件列表
w 代表可修改,可对目录内的文件进行创建、删除、移动等操作
x 代表可以进入该目录

在这里插入图片描述

(3)chmod修改权限变更文件或目录的权限

使用字母方式改变权限,chmod + {ugoa} {+-=} {rwx} + 文件或目录

第一个参数

  • u:所属主
  • g:所属组
  • o:其它用户
  • a:(all)代表ugo

第二个参数

  • +:增加权限
  • -:去掉权限
  • =:仅有某些权限

第三个参数

  • r
  • w
  • x

[root@hadoop1 test]# ll
-rw-r--r--. 1 root root 76 1月 31 16:02 test1.txt# 为当前用户加上执行的权限
[root@hadoop1 test]# chmod u+x test1.txt
[root@hadoop1 test]# ll
-rwxr--r--. 1 root root 76 1月 31 16:02 test1.txt# 为当前用户删除执行的权限
[root@hadoop1 test]# chmod u-x test1.txt
[root@hadoop1 test]# ll
-rw-r--r--. 1 root root 76 1月 31 16:02 test1.txt# 为当前组用户赋予 仅有某些权限
[root@hadoop1 test]# chmod g=wx test1.txt
[root@hadoop1 test]# ll
-rw--wxr--. 1 root root 76 1月 31 16:02 test1.txt# 为所有用户,但是不包含root用户取出w权限
[root@hadoop1 test]# chmod a-w test1.txt
[root@hadoop1 test]# ll
-r----xr--. 1 root root 76 1月 31 16:02 test1.txt

使用数字方式改变权限,chmod + 十进制数字 + 文件或目录 变更文件或目录的权限

在这里插入图片描述

举栗

[root@bd-offcn-01 test]# ll
-rwxrw-r--. 1 root root 76 1月 31 16:02 test1.txt[root@bd-offcn-01 test]# chmod 644 test1.txt
[root@bd-offcn-01 test]# ll
-rw-r--r--. 1 root root 76 1月 31 16:02 test1.txt

(4)chown变更文件或目录的所有者(只有root用户可操作)

chown + 用户名 + 文件或目录 变更文件或目录的所有者

  • chown + 用户名:用户组 + 文件或目录 变更文件或目录的所有者及所属组
  • chown -R + 用户名 + 目录 递归变更目录的所有者
  • chown -R + 用户名:用户组 + 目录 递归变更目录的所有者及所属组
    案例:

7、磁盘大小查看命令

(1)df + [选项] 列出文件系统的整体磁盘使用情况
选项:

  • -k :以 KBytes 的容量显示各文件系统(默认);
  • -m :以 MBytes 的容量显示各文件系统;
  • -h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
  • -T :显示文件系统类型

(2)du + [选项] + [文件或目录] 用于显示目录或文件的大小
选项:

  • -k :以1KB为单位;
  • -m :以1MB为单位;
  • -h :以K,M,G为单位,提高信息的可读性;

(3)iostat + [选项] 用于监控磁盘IO及CPU的负载情况

iostat命令是I/O statistics(输入/输出统计)的缩写,主要用于监控并统计系统设备的IO负载情况及CPU负载情况,仅对系统的整体情况进行分析,不能对某个进程进行深入分析。主要用它来检查哪个设备有问题,哪个设备io有问题,用户可以通过指定统计的次数和时间来获得所需的统计信息。iostat属于sysstat软件包。可以用yum install sysstat 直接安装。选项:

  • -d :只显示磁盘使用情况;
  • -c :只显示CPU使用情况;
  • -k :以 KB 为单位显示
  • -m :以 MB 为单位显示
  • -t :显示统计的时间
  • -x :显示详细信息;
  • -N :显示磁盘名称;
  • -p :显示每个磁盘的详细信息,比如sda这个磁盘分了两个区,都要让它显示出来数字n1 + 数字n2 :每隔n1秒统计一次,共统计n2次

查出来的每列代表意义,结果分为两部分:cpu统计信息、设备统计信息。

  • %user&#xff1a;用户模式下所花费CPU时间的百分比&#xff0c;合理值为<60%
  • %nice&#xff1a;用户进程改变过优先级的进程占用CPU时间的百分比
  • %system&#xff1a;内核进程所花费的CPU时间的百分比&#xff0c;合理值为%user&#43;%system <80%
  • %iowait&#xff1a;IO等待所占用的CPU时间的百分比(重要)&#xff0c;合理值为<30%(不同功能的服务器不同&#xff0c;比如邮件服务器会比该值要大)
  • %steal&#xff1a;丢失时间占用CPU时间的百分比&#xff0c;一般来说%idle持续游走在20%以下&#xff0c;说明CPU繁忙&#xff0c;空闲太少&#xff0c;瓶颈出现在CPU的性能层面。%iowait高而%idle 在70%以上&#xff0c;说明cpu不忙&#xff0c;但是数据还在等待读写&#xff0c;瓶颈出现在IO设备层面&#xff0c;也就是磁盘有问题。
  • Device:设备名称&#xff0c;这里还有个dm&#xff0c;它是disk mapper的缩写&#xff0c;可以在/dev/mapper下查对应关系&#xff0c;或者使用iostat -N 直接显示出磁盘分区对应关系。
  • tps&#xff1a;设备每秒接受的I/O传输请求tps &#61; transfers per second
  • kB_read/s设备每秒读取的数据量(KB)&#xff0c;参数-m可以换成MB
  • kB_wrtnls设备每秒写入的数据量(KB)&#xff0c;参数-m可以换成MB
  • kB_read设备读取的总数据量
  • kB_wrtn设备写入的总数据量

8、搜索查找命令

&#xff08;1&#xff09;find &#43; 选项 &#43; 参数 在指定目录下查找文件

  • 选项&#xff1a;-name &#43; filename &#xff1a;查找名为filename的文件

  • 举栗&#xff1a;按名称查找&#xff1a;查找/root目录以及子目录下包含cf的文件[root&#64;hadoop1 ~]# find /root/ -name &#39;*cf*&#39;

&#xff08;2&#xff09;grep &#43; [选项] &#43; [参数] 在文本中根据条件按行匹配查找内容。grep命令是一种强大的文本搜索工具&#xff0c;它能使用正则表达式搜索文本&#xff0c;并把匹配的行打印出来&#xff0c;它通常配合管道符一块使用。管道符&#xff0c;“|”&#xff0c;表示将前一个命令的处理结果输出传递给后面的命令处理。选项&#xff1a;

  • -c &#xff1a;显示有多少行被匹配到
  • -n &#xff1a;显示行号
  • -i &#xff1a;忽略大小写
  • -v &#xff1a;反向搜索&#xff0c;即不显示要搜索的东西

[root&#64;hadoop1 ~]# ll | grep txt
-rw-r--r--. 1 offcn root 0 1月 28 20:19 aa.txt
-rw-r--r--. 1 root root 0 1月 28 20:39 bb.txt[root&#64;hadoop1 ~]# ll | grep -n txt
2:-rw-r--r--. 1 offcn root 0 1月 28 20:19 aa.txt
4:-rw-r--r--. 1 root root 0 1月 28 20:39 bb.txt

&#xff08;3&#xff09;which &#43; 命令 查找并显示某个系统命令是否存在&#xff0c;以及显示给定命令的绝对路径

&#xff08;4&#xff09;ps &#43; [选项] 查看当前系统的进程状态。选项&#xff1a;

  • -a &#xff1a;显示现行终端机下的所有程序&#xff0c;包括其他用户的程序。
  • -u &#xff1a;以用户为主的格式来显示程序状况。
  • -x &#xff1a;显示所有程序&#xff0c;不以终端机来区分。

查出来的每列代表的含义

  1. USER&#xff1a;该进程是由哪个用户产生的
  2. PID&#xff1a;进程的ID号
  3. %CPU&#xff1a;该进程占用CPU资源的百分比&#xff0c;占用越高&#xff0c;进程越耗费资源
  4. %MEM&#xff1a;该进程占用物理内存的百分比&#xff0c;占用越高&#xff0c;进程越耗费资源&#xff1b;
  5. VSZ&#xff1a;该进程占用虚拟内存的大小&#xff0c;单位KB
  6. RSS&#xff1a;该进程占用实际物理内存的大小&#xff0c;单位KB
  7. TTY&#xff1a;该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端&#xff0c;tty1-tty6是本地的字符界面终端&#xff0c;tty7是图形终端。pts/0-255代表虚拟终端。
  8. STAT&#xff1a;进程状态。常见的状态有&#xff1a;R&#xff1a;运行、S&#xff1a;睡眠、T&#xff1a;停止状态、s&#xff1a;包含子进程、&#43;&#xff1a;位于后台
  9. START&#xff1a;该进程的启动时间
  10. TIME&#xff1a;该进程占用CPU的运算时间&#xff0c;注意不是系统时间
  11. COMMAND&#xff1a;产生此进程的命令名

另外&#xff0c;也可以使用ps -ef&#xff0c;那么ps -ef 和ps -aux 有什么区别呢&#xff1f;

其实区别不是很大&#xff0c;这就要追溯到Unix系统中的两种风格&#xff0c;System &#xff36;风格和BSD 风格&#xff0c;ps aux最初用到Unix Style中&#xff0c;而ps -ef被用在System V Style中&#xff0c;两者输出略有不同。目前大部分Linux系统都是支持使用这两种方式。

&#xff08;5&#xff09;pstree &#43; [选项] 以树状图的方式比较直观的展现进程之间的派生关系。选项&#xff1a;

  • -p &#xff1a;显示进程的PID
  • -u &#xff1a;显示进程的所属用户

&#xff08;6&#xff09;top &#43; [选项] 实时动态地查看系统的整体运行情况选项&#xff1a;

  • -d &#43; 秒数 &#xff1a;指定top命令每隔几秒更新。默认是3秒。
  • -i &#xff1a;使top不显示任何闲置或者僵死进程。
  • -p &#xff1a;通过指定监控进程ID来仅仅监控某个进程的状态。

9、解压缩命令

tar &#43; 选项 &#43; 参数 为linux的文件或目录创建压缩包。选项&#xff1a;

  • -c &#xff1a;产生.tar打包文件 create
  • -v &#xff1a;显示详细信息 verbose
  • -f &#xff1a;指定压缩后的文件名 filename
  • -z &#xff1a;打包同时压缩
  • -x &#xff1a;解包.tar文件

举栗


# 将1.txt 2.txt my.zip test压缩到my.tar.gz
[root&#64;hadoop1 opt]# tar -zcvf my.tar.gz 1.txt 2.txt my.zip test# 将my.tar.gz解压到当前目录
[root&#64;hadoop1 opt]# tar -zxvf my.tar.gz

10、后台服务管理类命令

&#xff08;1&#xff09;service &#43; 服务名 &#43; 指令 用来临时启动、停止、重新启动和关闭系统服务&#xff0c;以及显示系统服务的当前状态。它是centos6旧命令

  • service 服务名 start &#xff1a;开启服务
  • service 服务名 stop &#xff1a;关闭服务
  • service 服务名 restart &#xff1a;重新启动服务
  • service 服务名 status &#xff1a;查看服务状态

举栗

查看防火墙服务状态
[root&#64;hadoop1 ~]# service firewalld status
关闭防火墙服务
[root&#64;hadoop1 ~]# service firewalld stop
启动防火墙服务
[root&#64;hadoop1 ~]# service firewalld start
重启防火墙服务
[root&#64;hadoop1 ~]# service firewalld restart

&#xff08;2&#xff09;systemctl &#43; 指令 &#43; 服务名 系统服务管理器指令&#xff0c;将service和chkconfig这两个命令组合到一起。既能临时启停服务&#xff0c;也能设置开机自启。它是centos7 新命令。

  • systemctl start 服务名 &#xff1a;开启服务
  • systemctle stop 服务名 &#xff1a;关闭服务
  • systemctl restart 服务名 &#xff1a;重新启动服务
  • systemctl status 服务名 &#xff1a;查看服务状态
  • systemctl --type service &#xff1a;查看正在运行的服务
  • systemctl list-unit-files &#xff1a;查看所有服务器自启配置
  • systemctl disable 服务名 &#xff1a;关掉指定服务的自动启动
  • systemctl enable 服务名 &#xff1a;开启指定服务的自动启动
  • systemctl is-enabled 服务名 &#xff1a;查看服务开机启动状态

举栗

1. 临时启停服务查看防火墙服务状态
[root&#64;hadoop1 ~]# systemctl status firewalld
关闭防火墙
[root&#64;hadoop1 ~]# systemctl stop firewalld
开启防火墙
[root&#64;hadoop1 ~]# systemctl start firewalld
重启防火墙
[root&#64;hadoop1 ~]# systemctl restart firewalld
查看所有正在运行的服务
[root&#64;hadoop1 ~]# systemctl --type service2. 开机自启服务管理查看防火墙服务的开机自启状态
[root&#64;hadoop1 ~]# systemctl is-enabled firewalld
设置防火墙服务开机自启
[root&#64;hadoop1 ~]# systemctl enable firewalld
设置防火墙服务开机不自启
[root&#64;hadoop1 ~]#systemctl disable firewalld

11、上传下载类

&#xff08;1&#xff09;wget&#xff1a;用来从指定的URL下载文件。wget非常稳定&#xff0c;它在带宽很窄的情况下和不稳定网络中有很强的适应性&#xff0c;如果是由于网络的原因下载失败&#xff0c;wget会不断的尝试&#xff0c;直到整个文件下载完毕&#xff0c;所以支持断点续传。

  • 格式&#xff1a;wget&#43;选项&#43;参数
  • centos7默认已经安装了wget命令&#xff0c;如果没有该命令的话&#xff0c;可以通过一下方式安装。[root&#64;hadoop1 ~]# yum install -y wget

举栗

1. 查看帮助手册
[root&#64;hadoop1 ~]# wget --help2. 下载文件到当前目录
[root&#64;hadoop1 ~]# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo3. 下载支持断点续传&#xff0c;并将下载的文件重命名
[root&#64;hadoop1 ~]# wget -c -O 163.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo

12、软件安装卸载类命令


&#xff08;1&#xff09;软件离线安装rpm

RPM&#xff08;RedHat Package Manager&#xff09;&#xff0c;即Rethat软件包管理工具&#xff0c;类似windows里面的exe可执行文件&#xff0c;因Centos系统来自于Redhat&#xff0c;故Centos系统也可以使用这种软件包管理方式&#xff0c;它是Linux这系列操作系统里面的打包安装工具&#xff0c;它虽然是RedHat的标志&#xff0c;但理念是通用的。 缺点&#xff1a;需要自己解决软件包的依赖问题&#xff0c;要手动将某个软件依赖的软件安装。

RPM包的名称格式&#xff1a;

Apache-1.3.23-11.i386.rpm
-“apache” 软件名称
-“1.3.23-11”软件的版本号&#xff0c;主版本和此版本
-“i386”是软件所运行的硬件平台
-“rpm”文件扩展名&#xff0c;代表RPM包

格式&#xff1a;rpm&#43;选项&#43;参数。举栗

1. 查询所有已安装rpm包
[root&#64;hadoop1 ~]# rpm -qa2. 查询是否已经安装火狐
[root&#64;hadoop1 ~]# rpm -qa|grep firefox
firefox-52.7.0-1.el7.centos.x86_643. 卸载rpm包
- 格式&#xff1a;rpm -e rpm软件包
- 格式&#xff1a;rpm -e --nodeps rpm软件包&#xff0c;如果要卸载的某个rpm包被其它rpm包依赖&#xff0c;可以通过加--nodeps参数强制卸载。4. 卸载火狐安装包&#xff1a;
[root&#64;hadoop1 ~]# rpm -e firefox-52.7.0-1.el7.centos.x86_64

&#xff08;2&#xff09;软件在线安装yum

YUM&#xff08;全称为 Yellow dog Updater, Modified&#xff09;,是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器&#xff0c;它可以使系统管理人员交互和自动化地更细与管理RPM软件包&#xff0c;能够从指定的服务器自动下载RPM包并且安装&#xff0c;可以自动处理依赖性关系&#xff0c;并且一次安装所有依赖的软体包&#xff0c;无须繁琐地一次次下载、安装。

格式&#xff1a;yum&#43;选项&#43;参数

  • 选项-y:对所有提问都回答“yes”
  • 参数&#xff1a;install:安装rpm软件包&#xff1b;update:更新rpm软件包&#xff1b;check-update:检查是否有可用的更新rpm软件包&#xff1b;remove:删除指定的rpm软件包&#xff1b;list:显示yum仓库的软件包信息&#xff1b;clean:清理yum过期的缓存&#xff1b;deplist:显示yum软件包的所有依赖关系

举栗

1. 清理所有缓冲数据
[root&#64;hadoop1 ~]# yum clean all2. 安装火狐浏览器
[root&#64;hadoop1 ~]# yum install firefox3. 删除火狐浏览器
[root&#64;hadoop1 ~]# yum remove firefox

13、crontab系统定时任务


&#xff08;1&#xff09;crontab

用来提交和管理用户的需要周期性执行的任务&#xff0c;与windows下的计划任务类似&#xff0c;当安装完成操作系统后&#xff0c;默认会安装此服务工具&#xff0c;并且会自动启动crond进程&#xff0c;crond进程每分钟会定期检查是否有要执行的任务&#xff0c;如果有要执行的任务&#xff0c;则自动执行该任务。

crontab &#43; [选项] 用来提交和管理用户的需要周期性执行的任务。选项&#xff1a;

  • -e &#xff1a;编辑crontab定时任务
  • -l &#xff1a;查询crontab任务
  • -r &#xff1a;删除当前用户所有的crontab任务

举栗&#xff1a;[root&#64;bd-offcn-01 ~]# crontab -l

&#xff08;2&#xff09;crontab表达式

当要周期性的执行某个任务的时候&#xff0c;需要指定时间&#xff0c;这个指定时间的表达式就是crontab表达式&#xff0c;用5个*来表示&#xff0c;即*****,每个*的具体含义如下&#xff1a;

  • 第一个“*” 一小时当中的第几分钟 0-59
  • 第二个“*” 一天当中的第几小时 0-23
  • 第三个“*” 一个月当中的第几天 1-31
  • 第四个“*” 一年当中的第几月 1-12
  • 第五个“*” 一周当中的星期几 0-7&#xff08;0和7都代表星期日&#xff09;

特殊符号&#xff1a;

  • * 代表任何时间。比如第一个“*”就代表一小时中每分钟都执行一次的意思。
  • &#xff0c; 代表不连续的时间。比如“0 8,12,16 * * * 命令”&#xff0c;就代表在每天的8点0分&#xff0c;12点0分&#xff0c;16点0分都执行一次命令
  • - 代表连续的时间范围。比如“0 5 * * 1-6命令”&#xff0c;代表在周一到周六的凌晨5点0分执行命令
  • */n 代表每隔多久执行一次。比如“*/10 * * * * 命令”&#xff0c;代表每隔10分钟就执行一遍命令

&#xff08;3&#xff09;案例分析

时间 含义15 20 * * * 命令 在20点15分执行命令
1 17 * * 2 命令 每周2 的17点1分执行命令
0 19 1,15 * * 命令 每月1号和15号的19点0分执行命令
0 9 * * 1-5 命令 每周一到周五的凌晨9点0分执行命令
*/10 5 * * * 命令 每天的凌晨5点开始&#xff0c;到6点结束&#xff0c;每隔10分钟执行一次命令
0 0 1,15 * 1 命令 每月1号和15号&#xff0c;每周1的0点0分都会执行命令。注意&#xff1a;星期几和几号最好不要同时出现&#xff0c;因为定义的都是天。非常容易让管理员混乱。举栗# 执行crontab -e&#xff0c;向里面添加周期性任务。添加时&#xff0c;使用方式跟vi编辑器相同。# 添加如下&#xff1a;
*/1 * * * * /bin/echo &#96;date&#96; >> /tmp/test.txt
# 然后执行
[root&#64;bd-offcn-01 ~]# crontab -e


推荐阅读
  • 在项目开发过程中,掌握一些关键的Linux命令至关重要。例如,使用 `Ctrl+C` 可以立即终止当前正在执行的命令;通过 `ps -ef | grep ias` 可以查看特定服务的进程信息,包括进程ID(PID)和JVM参数(如内存分配和远程连接端口);而 `netstat -apn | more` 则用于显示网络连接状态,帮助开发者监控和调试网络服务。这些命令不仅提高了开发效率,还能有效解决运行时的各种问题。 ... [详细]
  • 技术日志:Ansible的安装及模块管理详解 ... [详细]
  • 深入解析:RKHunter与AIDE在入侵检测中的应用与优势
    本文深入探讨了RKHunter与AIDE在入侵检测领域的应用及其独特优势。通过对比分析,详细阐述了这两种工具在系统完整性验证、恶意软件检测及日志文件监控等方面的技术特点和实际效果,为安全管理人员提供了有效的防护策略建议。 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • Hadoop平台警告解决:无法加载本机Hadoop库的全面应对方案
    本文探讨了在Hadoop平台上遇到“无法加载本机Hadoop库”警告的多种解决方案。首先,通过修改日志配置文件来忽略该警告,这一方法被证明是有效的。其次,尝试指定本地库的路径,但未能解决问题。接着,尝试不使用Hadoop本地库,同样没有效果。然后,通过替换现有的Hadoop本地库,成功解决了问题。最后,根据Hadoop的源代码自行编译本地库,也达到了预期的效果。以上方法适用于macOS系统。 ... [详细]
  • 在Ubuntu系统中安装Android SDK的详细步骤及解决“Failed to fetch URL https://dlssl.google.com/”错误的方法
    在Ubuntu 11.10 x64系统中安装Android SDK的详细步骤,包括配置环境变量和解决“Failed to fetch URL https://dlssl.google.com/”错误的方法。本文详细介绍了如何在该系统上顺利安装并配置Android SDK,确保开发环境的稳定性和高效性。此外,还提供了解决网络连接问题的实用技巧,帮助用户克服常见的安装障碍。 ... [详细]
  • 本文详细介绍了在Linux系统上编译安装MySQL 5.5源码的步骤。首先,通过Yum安装必要的依赖软件包,如GCC、GCC-C++等,确保编译环境的完备。接着,下载并解压MySQL 5.5的源码包,配置编译选项,进行编译和安装。最后,完成安装后,进行基本的配置和启动测试,确保MySQL服务正常运行。 ... [详细]
  • Presto:高效即席查询引擎的深度解析与应用
    本文深入解析了Presto这一高效的即席查询引擎,详细探讨了其架构设计及其优缺点。Presto通过内存到内存的数据处理方式,显著提升了查询性能,相比传统的MapReduce查询,不仅减少了数据传输的延迟,还提高了查询的准确性和效率。然而,Presto在大规模数据处理和容错机制方面仍存在一定的局限性。本文还介绍了Presto在实际应用中的多种场景,展示了其在大数据分析领域的强大潜力。 ... [详细]
  • 本文详细介绍了如何在Java Web服务器上部署音视频服务,并提供了完整的验证流程。以AnyChat为例,这是一款跨平台的音视频解决方案,广泛应用于需要实时音视频交互的项目中。通过具体的部署步骤和测试方法,确保了音视频服务的稳定性和可靠性。 ... [详细]
  • Linux入门教程第七课:基础命令与操作详解
    在本课程中,我们将深入探讨 Linux 系统中的基础命令与操作,重点讲解网络配置的相关知识。首先,我们会介绍 IP 地址的概念及其在网络协议中的作用,特别是 IPv4(Internet Protocol Version 4)的具体应用和配置方法。通过实际操作和示例,帮助初学者更好地理解和掌握这些基本技能。 ... [详细]
  • 基于域名、端口和IP的虚拟主机构建方案
    本文探讨了在单台物理服务器上构建多个Web站点的虚拟主机方案,详细介绍了三种主要的虚拟主机类型:基于域名、基于IP地址和基于端口的虚拟主机。每种类型的实现方式及其优缺点均进行了深入分析,为实际应用提供了全面的技术指导。 ... [详细]
  • 如何在Linux系统中利用crontab定时执行Shell脚本任务?
    在Linux系统中,如何实现定时执行任务脚本?在服务器日常运维过程中,经常需要定期执行某些任务,例如数据库备份、日志文件切割等。通过使用crontab工具,可以轻松配置这些周期性任务,确保它们按时自动运行,提高系统管理效率和可靠性。 ... [详细]
  • 如何将PHP文件上传至服务器及正确配置服务器地址 ... [详细]
  • Ceph API微服务实现RBD块设备的高效创建与安全删除
    本文旨在实现Ceph块存储中RBD块设备的高效创建与安全删除功能。开发环境为CentOS 7,使用 IntelliJ IDEA 进行开发。首先介绍了 librbd 的基本概念及其在 Ceph 中的作用,随后详细描述了项目 Gradle 配置的优化过程,确保了开发环境的稳定性和兼容性。通过这一系列步骤,我们成功实现了 RBD 块设备的快速创建与安全删除,提升了系统的整体性能和可靠性。 ... [详细]
  • 如何在Linux系统中实施网络流量监测与分析
    本文详细介绍了在Linux系统中实施网络流量监测与分析的方法。通过使用专业的工具和技术,读者可以有效地监控和分析网络流量,从而提高系统的安全性和性能。希望本文能为读者提供有价值的参考和实践指导。 ... [详细]
author-avatar
嗒嗒姗_215
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有