Linux基本命令

走近Linux系统

开机登录

开机会启动许多程序。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。

开机成功后,它会显示一个文本登录界面,这个界面就是我们经常看到的登录界面,在这个登录界面中会提示用户输入用户名,而用户输入的用户将作为参数传给login程序来验证用户的身份,密码是不显示的,输完回车即可!

一般来说,用户的登录方式有三种:

  • 命令行登录
  • ssh登录
  • 图形界面登录

最高权限账户为 root,可以操作一切!

关机

在linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。

关机指令为:shutdown ;

sync # 将数据由内存同步到硬盘中。

shutdown # 关机指令,你可以man shutdown 来看一下帮助文档。例如你可以运行如下命令关机:

shutdown –h 10 # 这个命令告诉大家,计算机将在10分钟后关机

shutdown –h now # 立马关机

shutdown –h 20:25 # 系统会在今天20:25关机

shutdown –h +10 # 十分钟后关机

shutdown –r now # 系统立马重启

shutdown –r +10 # 系统十分钟后重启

reboot # 就是重启,等同于 shutdown –r now

halt # 关闭系统,等同于shutdown –h now 和 poweroff

最后总结一下,不管是重启系统还是关闭系统,首先要运行 sync 命令,把内存中的数据写到磁盘中。

系统目录结构

1、一切皆文件

2、根目录/,所有的文件都挂载在这个结点下

登录系统后,在当前命令窗口下输入命令:

ls /

你会看到如下图所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2FFZP5JE-1615945016012)(assets\20210201200240.png)]

树状目录结构:(Linux的一切资源都挂载在这个 / 根节点下)
在这里插入图片描述

以下是对这些目录的解释:

  • /bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。
  • /boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
  • /dev : dev是Device(设备)的缩写, 存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
  • /etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。
  • /home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
  • /lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。
  • /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。(存放突然关机的文件)
  • /media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
  • /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。(我们后面回将本地的文件挂在在这个目录下)
  • /opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
  • /proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
  • /root:该目录为系统管理员,也称作超级权限者的用户主目录。
  • /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
  • /srv:该目录存放一些服务启动之后需要提取的数据。
  • /sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
  • /tmp:这个目录是用来存放一些临时文件的。用完即丢的文件,可以放在这个目录下。
  • /usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
  • /usr/bin: 系统用户使用的应用程序。
  • /usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序。
  • /usr/src: 内核源代码默认的放置目录。
  • /var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
  • /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。

Linux的常用命令

基础命令

date :显示系统当前的日期和时间
pwd :显示当前工作路径
cd :切换当前路径
cal :显示日历
who :显示当前已经登陆到系统的所有用户名、登陆终端以及登陆时间
wc :统计给定文件的行数、子树、字符数,参数-l标识统计行数;-w表示统计单词数;-c表示统计字符数
uname :显示操作系统当前信息
clear :刷新屏幕,清空屏幕上所有的字符

命令高级操作

使用历史命令

  • 如果需要使用前期使用过的命令,可以通过上下箭头来选择最近使用过的命令,也可以通过history查看所有历史命令。

输入/输出重定向

  • 输入重定向符号是“<”,执行该命令,“<”后面的文件替代用户从键盘输入的内容。
  • 输出重定向符号是“>”和“>>”,“>”将输出的内容直接写入指定的文件,">>"叫重定向附加,即将输出内容附加在指定文件后面。
  • 错误重定向“2>”,可以把命令行出错的信息保存到指定文件中。

管道功能

  • Linux操作系统中,命令执行完毕会由输出信息,使用管道功能可以把一个命令作为另一个命令的输入信息,从而将两个或两个以上的简单命令连接起来,实现复杂的功能。
  • 管道功能通过管道符“|”实现,管道符“|”前面命令的输出信息是后面命令的输入信息。

文件操作命令

我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /。

绝对路径:

路径的写法,由根目录 / 写起,例如:/usr/share/doc 这个目录。

相对路径:

路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成:cd …/man 这就是相对路径的写法啦!

cd :却换目录命令

./ :当前目录

cd… :返回上一级目录

处理目录的常用命令

接下来我们就来看几个常见的处理目录的命令吧:

  • ls: 列出目录
  • cd:切换目录
  • cat:显示文件内容
  • more:分屏显示大文件
  • head:显示文件的开头内容
  • tail:显示文件的尾部内容
  • pwd:显示目前的目录
  • cp: 复制文件或目录
  • rm: 移除文件或目录
  • mv: 移动文件与目录
  • touch:创建新的空文件
  • file:识别文件类型
  • find:在文件系统中查找指定的文件
  • grep:在指定文件中检索匹配关键字信息,并打印
  • sort:将文件进行排序,并输出
  • mkdir:创建一个新的目录
  • rmdir:删除一个空的目录
  • tar:打包
  • gzip:解压缩

你可以使用 man [命令] 来查看各个命令的使用文档,如 :man cp。

ls 显示文件列表

语法:

ls [选项] [目录或文件名]

常用的选项:

命令选项含义
-a显示所有文件及目录,包括隐藏文件
-l以长格式显示目录下的内容列表,包括文件类型、访问权限、链接数、
属主、属组、文件长度,最后的修改时间、文件名
-r/-R递归显示指定目录下的所有文件及子目录

cd 切换工作目录值指定目录

cd    表示切换到用户主目录
cd ~  表示切换到用户主目录
cd .  表示当前目录
cd .. 表示切换到上一级目录
cd /  表示切换到根目录

cat 显示文件内容

可以利用输入/输出重定向功能建立小型文件或将两个文件连接起来。

语法:

cd [选项] [文件名]

常用的选项:

命令选项含义
-n显示文件时加行号

more 分屏显示大文件

当显示满一屏后停下来,并且在屏幕的底部出现一行提示信息,给出至今已显示的该文本的百分比,按空格键显示文本的下一屏内容;按Enter键显示文本的下一行内容;按B键显示下一屏内容;按Q键退出more命令。

head 显示文件的开头内容

在默认情况下,head命令显示文件的头10行内容。

tail 显示文件中尾部内容

在默认情况下,tail命令显示文件的末尾10行内容

cp 将一个多多个源文件(或目录)复制到指定目录中

语法:

cp [选项] 源文件或目录 目标文件或目录

常用的选项:

命令选项含义
-f强行复制文件或目录,不论目标文件或目录是否已存在
-i覆盖既有文件之前先询问用户
-r/-R递归处理,将指定目录下的所有文件与子目录一并处理

mv 将文件从一个目录移到另一个目录中,或对文件或目录重新命名

语法:

mv [选项] 源文件或目录 目标文件或目录

常用的选项:

命令选项含义
-f若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录
-i交互式操作,覆盖前先询问用户,可以选择"y"或"n"

rm 删除一个目录中的一个或多个文件目录,也可以将某个目录及其下属的所有文件和子目录均删除

语法:

rm [选项] 文件或目录列表

常用的选项:

命令选项含义
-f强行删除文件或目录
-i交互式操作,删除前先询问用户是否确认删除
-r/-R递归删除目录,将指定目录下的所有文件与子目录一并处理

touch 创建新的空文件或者改变已有文件的时间标签

当文件不存在时,touch命令建立一个新的空文件。
当文件已经存在时,touch命令改变改文件的创建日期。

语法:

touch [选项] 文件名

file 识别问啊金类型,也可用来辨别一些文件的编码格式

可以使用file命令通过查看文件的头部信息来获取文件类型

find 在文件系统中查找指定的文件,可以根据文件的名称、大小、建立时间等信息查找文件

语法:

find [目录列表] [文件的匹配标准]

常用的匹配标准:

匹配标准含义
-name指定文件名字符串作为寻找文件的匹配标准,可用通配符 * 和 ?
-type查找符合指定的文件类型的文件,如f(普通文件)、d(目录)等等
-perm查找符合指定权限数值的文件或目录
-links查找符合指定的硬链接数目的文件或目录
-size查找符合指定的文件大小的文件,单位可以为c—字节、w—字(2字节)等等,
可用“+”表示大于,“-”表示小于,“±”表示等于
-atime查找在指定时间曾被存取过的文件或目录,单位以天计算
-mtime查找在指定时间曾被更改过的文件或目录,单位以天计算
-user查找符合指定的拥有者名称的文件或目录
-group查找符合指定的群组名称的文件或目录

grep 在指定文件中检索匹配关键字信息,并把匹配的行打印出来

命令选项含义
-i忽略字符大小写的差别
-n在输出匹配行之前,标出该行的行号
-v反转查找,及查找不包含所查字符串的行

sort 将文件进行排序,并将排序结果标准输出

sort命令既可以从特定的文件,也可以从输入设备中获取输入,sort命令将文件的每一行作为单位进行比较,比较原则是从首字符想后,依次按ASCII码进行比较,最后将他们按升序输出。

命令选项含义
-f排序时,将小写字母视为大写字母,即忽略大小写
-k指定排序关键字
-r以相反的顺序来排序

mkdir 创建目录

语法:

mkdir [选项] 目录列表

如果在目录名的前面没有加任何路径,则在当前目录下创建新目录;如果给出了一个已经存在的路径,将会在该目录下创建一个指定的目录。在创建目录时,应保证新建的目录与它所在的目录下的文件没有重名。

命令选项含义
-m建立目录的同时设置目录的权限
-p若所要建立的目录的上层目录目前没有建立,则会一并建立上层目录

rmdir 删除空目录

语法:

rmdir [选项] 目录列表

别删除的目录应该是空目录,也就是说,该目录中没有别的文件。另外,当前工作目录必须在被删除目录之上,不能是被删除目录本身,也不能是别删除目录的子目录。

命令选项含义
-r强制删除目录及目录中的文件和子目录
-p删除指定目录后,该目录的上层目录已变为空目录,则将其一并删除

tar 打包

在Linux操作系统的使用过程中,经常需要处理、备份、传送大量文件,可以通过打包、压缩命令将多个文件或目录打包到一个文件里,方便系统管理。

Linux中常用的打包命令是tar,使用tar命令打出来的包通常被称为tar包,在生成tar包文件时,通常是以.tar结尾命名文件。tar命令本身没有压缩功能,需要调用gzip程序对生成的tar包压缩。

语法:

tar [选项] 文件或目录
命令选项含义
-c建立新的备份文件
-f指定备份文件
-z通过gzip指令处理备份文件
-x从备份文件中还原文件
-v打包显示指令的执行过程

注意:如果在打包时用了"-z"选项压缩包文件,在解包时也要用"-z"选项。

gzip 解压缩

Linux操作系统中有很多压缩工具,其中最常用的压缩、解压工具是gzip/gunzip。在Linux中经常看到后缀为.gz的文件,他们就是GZIP格式的。gzip工具可以单独使用,也可以结合打包工具tar使用,而多数情况下是在使用tar命令时调用gzip,打包操作的同时进行压缩、解压的。、

语法:

gzip [选项] 文件
命令选项含义
-d解开压缩文件
-l列出压缩文件的相关信息
-r将指定目录下的所有文件及子目录一并处理
-t测试压缩文件是否正确无误
-v显示指定执行过程
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值