写在前面:
作为一个过来人推荐的几个linux常用的快捷键或指令:

  1. Tab 键 可以自动补全一些文件或目录的名称 这样可以提高效率而且还可以防止输入的拼写错误
  2. 如果遇到无法退出或回到正常的模式时可以 使用Ctrl + c 强制停止退出
  3. 不知道指令的详细用法以及选项可以 man 指令 进行手册查看
  4. 如果显示太满可以使用 clear 进行一个清屏
  5. pwd 可以查看当前所在路径
  6. cd .. 返回上一层目录
  7. ifconfig 查看计算机中网卡信息
  8. man之后按 q 退出
  9. 键盘的 可以直接得到上一条命令 像是翻上一条命令 是显示下一条命令一直可以翻到最后的一条指令
  10. 另外需要注意单词的拼写是否正确 注意大小写 还有指令之间应用空格间隔否则会出错

一、常见指令目录

1.查看手册 man指令
2.目录相关指令 ls、pwd、cd、mkdir/rmdir
3.文件相关指令 stat、touch、rm、cp、mv、cat、more/less、head/tail、find、grep、echo
4.特殊指令 " | " 、su root 、reboot 、-shutdown
5.压缩解压缩打包相关指令 yum、zip/unzip、gzip/gunzip、tar

一、man指令

功能: Linux的命令有很多参数,我们不可能全记住,我们可以通过man指令查看联机手册获取帮助。
用法: man [选项] 命令
如:

man ls


注:这里按上下箭头进行翻页,退出按q、

二、目录相关指令

1. ls 指令

功能: 对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
用法: ls [ 选项 ] [ 文件或目录]
常用选项

-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
-i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
-k 以 k 字节的形式表示文件的大小。ls –alk 指定文件

-l 列出文件的详细信息。

man 一下 ls 查看 -l 选项

注:这里前面的 d - 表示文件的类型在linux 中并不以后缀来区分文件的类型而是通过前面的 如 " d " **" - "**来进行区分 ,而后面的 rw- r-- r–表示文件的权限 后面会详细讲到,后面的 如:234 表示文件的大小单位是字节(byte) 后面的时间是 最后一次修改时间

-n 用数字的 UID,GID 代替名称。 (介绍 UID, GID)
-F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表 示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)
-r 对目录反向排序。 -t 以时间排序。
-s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下大的文件)
-R 列出所有子目录下的文件。(递归)
-1 一行只输出一个文件。

2. pwd指令

功能:显示用户当前所在的目录或者当前的路径
用法pwd
示例

3. cd 指令

功能: 改变工作目录。将当前工作目录改变到指定的目录下。
用法: cd 目录名 cd … 返回上一层目录
常用选项:

cd ~ 进入当前用户的家目录
cd - 返回最近访问的目录

示例:

[hfy@localhost workspace]$ pwd
/home/hfy/workspace
[hfy@localhost workspace]$ cd ..
[hfy@localhost ~]$ ls
workspace  公共  模板  视频  图片  文档  下载  音乐  桌面
[hfy@localhost ~]$ cd workspace/
[hfy@localhost workspace]$ pwd
/home/hfy/workspace
[hfy@localhost workspace]$ cd ..
[hfy@localhost ~]$ pwd
/home/hfy
[hfy@localhost ~]$

4. mkdir和rmdir 指令

1 mkdir
功能: 在当前目录下创建一个目录
用法: mkdir [选项] dirname
常见选项:

mkdir dirname 创建一个目录
mkdir -p 目录名称 递归地创建目录
示例:

[hfy@localhost ~]$ ls
workspace  公共  模板  视频  图片  文档  下载  音乐  桌面
[hfy@localhost ~]$ mkdir MarkdownTest /建立一个空目录
[hfy@localhost ~]$ ls
MarkdownTest  workspace  公共  模板  视频  图片  文档  下载  音乐  桌面
[hfy@localhost ~]$ cd MarkdownTest/
[hfy@localhost MarkdownTest]$ pwd
/home/hfy/MarkdownTest
[hfy@localhost MarkdownTest]$ ls
[hfy@localhost MarkdownTest]$ mkdir -p Mkdir/test/ //递归建立两个空目录
[hfy@localhost MarkdownTest]$ ls
Mkdir
[hfy@localhost MarkdownTest]$ cd Mkdir/
[hfy@localhost Mkdir]$ ls
test
[hfy@localhost Mkdir]$ pwd
/home/hfy/MarkdownTest/Mkdir

2 rmdir
功能: 删除空目录
用法: rmdir [-p] [dirname]
注意: 删除权限:具有当前目录操作权限的所有使用者
常见用法:

rmdir -p dirname 递归删除空目录
rmdir dirname 删除一个空目录

示例:

这是会显示目录非空,因此这里我们可以删除一些空的目录 不用害怕会误删一些东西

当我们在目录下建立一个文件写入一点东西使这个目录不为空时

[hfy@localhost Mkdir]$ cd test/
[hfy@localhost test]$ touch txt.c
[hfy@localhost test]$ ls
txt.c
[hfy@localhost test]$ vi txt.c
[hfy@localhost test]$ cat txt.c
#include<stdio.h>
int main()
{printf("hello world");return 0;
}

再来递归删除时

三、文件相关指令

1. stat 指令

功能: 查看文件的状态信息
用法: stat filename
示例:

2. touch 指令

功能: touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
用法: touch [选项] firename
注意: 默认使用系统时间来刷新文件的时间属性,也可以指定时间进行刷新
常用选项:

touch firename
新建一个不存在的文件:

-a 或–time=atime或–time=access或–time=use只更改存取时间。
-c 或–no-create 不建立任何文档。

-d 使用指定的日期时间,而非现在的时间。
如:touch -d “2008-03-24 16:21:45” test.txt

可以看到这里可以指定时间对其最近访问和最近改动时间更改 但是最近改动时间是以当前系统时间来进行刷新的

-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m 或–time=mtime或–time=modify 只更改变动时间。
-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t 使用指定的日期时间,而非现在的时间

3. rm 指令
功能: 删除文件或目录
用法: rm [-f-i-r-v] [dirname/filename]
常见选项:

-f 即使文件属性为只读(即写保护),亦直接删除
-i 删除前逐一询问确认
-r 删除目录及其下所有文件
-v 在移除每个文件之前打印其名称。

示例:

[hfy@localhost workspace]$ rm -riv Dir/
rm:是否进入目录"Dir/"? y
rm:是否进入目录"Dir/myproject"? y
rm:是否删除普通空文件 "Dir/myproject/test.c"?y
已删除"Dir/myproject/test.c"
rm:是否删除目录 "Dir/myproject"?y
已删除目录:"Dir/myproject"
rm:是否删除目录 "Dir/"?y
已删除目录:"Dir/"
[hfy@localhost workspace]$ ls
[hfy@localhost workspace]$

注意: rm -rf ./ 就是传说中的删库跑路 谨慎使用!!!
4. cp 指令
功能: 复制文件或目录
语法: cp [选项] 源文件或目录 目标文件或目录
常用选项:

-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
-i 或 --interactive 覆盖文件之前先询问用户
-r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链 接,则一律视为普通文件处理
-R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理
-a, --archive 复制时,尽可能保持文件的结构和属性.(但不保持目录 结构)等同于 -dpR。

例如:

[hfy@localhost MarkdownTest]$ ls
CP  Mkdir
[hfy@localhost MarkdownTest]$ cp -r Mkdir/ CP/
[hfy@localhost MarkdownTest]$ cd CP/
[hfy@localhost CP]$ ls
Mkdir
[hfy@localhost CP]$ 

注意:cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且后的目的地是一个已经存在的目录, 则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而后的目的地并非一个已存 在的目录,则会出现错误信息

5. mv 指令
功能:用来移动文件(也就是所谓的剪切)或者将文件改名(move (rename) files),是Linux系统下常用的命 令,经常用来备份文件或者目录。
用法mv [选项] 源文件或目录 目标文件或目录
常用选项

-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖

示例:

[hfy@localhost MarkdownTest]$ ls
CP  Mkdir  newdir  olddir
[hfy@localhost MarkdownTest]$ mv olddir/ newdir/
[hfy@localhost MarkdownTest]$ cd newdir/
[hfy@localhost newdir]$ ls
olddir

6. cat 指令
功能:查看目标文件的内容
用法cat [选项] [文件]
常见选项

-b 对非空输出行编号
-n 对输出的所有行编号
-s 不输出多行空行

示例:

7. more 指令
功能:也是用来查看文件内容但是相比cat有多种更为方便的选项
用法以及选项

注意:

在使用 more 指令查看文件时 默认显示一页的内容
回车:向下按行滚动
空格:向下翻页
q: 退出显示

8. less 指令
功能:less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前 不会加载整个文件。
用法less [选项] 文件
常用选项

-i 忽略搜索时的大小写
-N 显示每行的行号
/ 字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
q:quit

注意:

k / j 按行上/下滚动
b/ f 上/下翻页滚动
q: 退出显示

示例:

/ 字符串 进行查找

查找之后的结果会标注出来

9. head 与 tail 指令
head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的 开头至标准输出中,而 tail 想当然尔就是看档案的结尾。
1.head 指令

功能:head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
用法head [参数]… [文件]…
常用选项

-n<行数> 显示的行数

示例:

[hfy@localhost MarkdownTest]$ head -5 test.c
#include<stdio.h>
#include<stdlib.h>
int Fibonacci_1(size_t n)
{                        int  first,second,third;//非递归算法

2.tail 指令

功能:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件
语法tail[必要参数][选择参数][文件]
常用选项

-f 循环读取
-n<行数> 显示行数

注意:
tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f 选项可以方便的查阅正在改变的日志文件,tail f filename会把filename里尾部的内容显示在屏幕上,并且不但刷新,使你看到新的文件内容.
示例:打印文档的最后三行

[hfy@localhost MarkdownTest]$ tail -3 test.c system("pause");return 0;
}
[hfy@localhost MarkdownTest]$

关于 tail -f filename 会在下面的 echo指令进行讲解

10. find 指令
功能:在目录中查找文件
用法find [ 目录 ] [选项] [表达式]
常见选项

-depth 指定目录深度–深入多少层目录进行查找
-[amc]min/ -[amc]time -amin -mmin -cmin
-atime -mtime -ctime a access 最近一次访问时间 m modify 修改 c change 最近一次状态改变时间
-size 按照文件大小查找文件
-type [fdbclps] 按文件类型进行查找
-name 按文件名称查找文件 find ./ -name

示例:

11. grep 指令
功能:在文件中搜索字符串,将找到的行打印出来
用法grep [选项] 搜寻字符串 [filename]
常见选项

-i 忽略大小写
-v 反向匹配 匹配不包含 ’ string’ 的文件
-R 对指定目录下的所有文件进行内容匹配

示例:

12. echo 指令
功能:将数据写入到标准输出

示例:在终端输出一个 “helloworld”

另外 echo 还常和以下进行配合使用:

>>
输出重定向 默认是标准输出重定向 : 将原本要写入标准输出的数据 写入到指定的文件中 追加重定向 将数据写入文件末尾

示例:现在我们将 “helloworld” 使用 echo 重定向到 我们刚才写有代码的test.c文件中 并使用 tail -f test.c 来查看

首先: tail -f test.c 可以看到光标并未停止 表示一直在刷新新的内容

使用 : echo “helloworld” >> test.c
将 “helloworld” 输入到 test.c 文件中

这时看会话1 中:已经将 helloworld 写入到了 test.c 文件中

>
输出重定向 清空重定向清空文件原有数据 将新数据写入其中 三思啊大人!!!

四、特殊字符 管道符 " | "

功能: 连接两个命令 ,将前边命令的输出结果交给后面命令进行处理
了解一下就可以了以后还会讲到
这里做一个示例:
知道了tail 和 head 以及各种查看文件的方式大家会不会发现有一个尴尬的问题,如果要查看第十行该怎么办呢?

先查询前十行然后再把前十行的交给 | 后面的tail -1 即可查看第十行的内容了
head -10 test.c | tail -1

[hfy@localhost MarkdownTest]$ head test.c
#include<stdio.h>
#include<stdlib.h>
int Fibonacci_1(size_t n)
{                        int  first,second,third;//非递归算法int i;first=0;second=1;if(n<=2){[hfy@localhost MarkdownTest]$ head -10 test.c  | tail -1{[hfy@localhost MarkdownTest]$

此外还有一些特殊指令

su root 切换到root 用户 //这里会显示需要密码 注意这里的密码输入是看不到的输入完后回车即可
reboot 重启 // 一般不要尝试
-shutdown -h now 立即关机

五、压缩以及打包相关指令

(1)、压缩/解压缩相关指令

写在开头
linux 里可没有鼠标右键压缩文件/解压缩文件 那么linux里是如何进行文件的压缩和解压缩呢?当然压缩和解压缩都有格式 在windows 下一班有 zip rar 等格式,同样在linux 也有相关的指令
1. yum 指令
既然是压缩和解压缩肯定需要一些软件或者工具,如果没有这些压缩软件的就需要下载了:
功能:yum是一个基于rpm的交互式包管理器。它可以自动执行系统更新,包括依赖关系分析和基于“存储库”的过时处理元数据。它还可以执行新软件包的安装、旧软件包的删除,以及在许多其他需求/服务
用法yum [options] [command] [package …]

yum install 软件
list 用于列出有关可用包的各种信息;下面的list Options部分提供了更完整的详细信息

反正:卸载就是:

remove or erase
用于从系统中删除指定的包以及删除依赖于要删除的包的任何包。删除对组、文件和,提供和文件列表,就像“install”命令一样。(有关详细信息,请参阅指定包名称)

2. zip /unzip 指令
功能
zip :将文件/目录压 为filename.zip
unzip: 将 .zip 类型的压缩文件解压
用法
压缩文件: zip 压缩文件.zip 目录或文件
解压缩文件: unzip 压缩文件.zip [ 选项 ] 文件/目录
常见选项

-r 递 归处理,将指定目录下的所有文件和子目录一并处理
-l 列出存档文件(短格式)。打印指定文件的名称、未压缩文件大小、修改日期和时间,以及所有文件的总计

示例:压缩一个test.c

zip test.zip test.c

注意这里的 deflated 是压缩率的意思:

可以看到压缩之后的压缩包大小是 589 byte 而之前的文件是 2266byte

解压缩刚才压缩的文件:

注:这里可以指定解压之后的文件名,指定解压到目录/文件

[hfy@localhost MarkdownTest]$ unzip test.zip -d CP/
Archive:  test.zip
replace CP/test.c? [y]es, [n]o, [A]ll, [N]one, [r]ename: r
new name: test1.cinflating: CP/test1.c
[hfy@localhost MarkdownTest]$ ls
CP  Mkdir  newdir  test2.c  test.c  test.zip
[hfy@localhost MarkdownTest]$ cd CP/
[hfy@localhost CP]$ ls
test1.c  test.c
[hfy@localhost CP]$

3. gzip /gunzip 指令
1. gzip 指令
功能:也是压缩文件和zip 不同的是 gzip 的压缩率更高
用法gzip [选项] filename
常用选项

-f --force强制压缩和解压缩,即使指定文件具有多重连接,或相应文件已经存在,或压缩数据 来自或写往一个终端。
-d --decompress --uncompress
解压缩。

-l --list列出每个压缩文件的如下项目:
1.compressed size: 压缩文件的长度
2.uncompressed size: 压缩前文件的长度
3.ratio: 压缩率(如果未知则为0.0%)
4.uncompressed_name: 压缩前的文件名

-r --recursive递归地访问目录结构。如果命令行中有目录名, gzip 将进入目录并压缩所有找到的文件(如果执行的命令是 gunzip 则对其解压缩)。
注意:解压缩文件时需要注意压缩文件的格式,如 .zip 只能由unzip来解压 .gz 只能由 gunzip来解压

2. gunzip 指令
功能:解压 .gz 类型的压缩包
用法gunzip [选项] filename.gz
示例

可以看到gzip 的压缩率会比zip的高

这里可以发现不同类型的压缩文件是不能进行解压缩的因此大家要注意格式:

注意:另外还有其他的压缩方式如:bzip2 / bunzip2 大致和 gzip 是差不多的在这里就不详细介绍了。

(2)、打包/解包 tar 指令

功能:linux 下最常见的打包工具/解包/解压缩
用法tar [选项] filename1 filename2…
常见选项

-c 打包
-x 解包
-z 打包/解包时进行gzip 格式的压缩/解压缩
-j 打包/解包的时候进行bzip2 格式的压缩/解压缩
-v 在打包/解包的时候显示详细的打包/解包信息/内容 逐个显示有哪些文件
-f 指定压缩包名称
例如: -czvf 打包 / -xzvf 解包

[hfy@localhost MarkdownTest]$ ls
CP  Mkdir  newdir  test2.c  test.c
[hfy@localhost MarkdownTest]$ tar -cvzf  newtar.gz test.c test2.c
test.c
test2.c
[hfy@localhost MarkdownTest]$ ls
CP  Mkdir  newdir  newtar.gz  test2.c  test.c
[hfy@localhost MarkdownTest]$ tar -xzvf newtar.gz
test.c
test2.c
[hfy@localhost MarkdownTest]$ ls
CP  Mkdir  newdir  newtar.gz  test2.c  test.c
//先把以前的删除然后再解压
[hfy@localhost MarkdownTest]$ rm -r test2.c test.c
[hfy@localhost MarkdownTest]$ ls
CP  Mkdir  newdir  newtar.gz
[hfy@localhost MarkdownTest]$ tar -xzvf newtar.gz
test.c
test2.c
[hfy@localhost MarkdownTest]$ ls
CP  Mkdir  newdir  newtar.gz  test2.c  test.c
[hfy@localhost MarkdownTest]$ 

Linux常见基础指令详解相关推荐

  1. vue快速复制快捷键_vue快捷键与基础指令详解

    v-bind可以简写成   : → v-on:click可以写成@click v-if实例  可以通过对对象操作条件来实现想要展示的效果 现在你看到我了 天气炎热 new Vue({ el: &quo ...

  2. Linux操作系统的帮助指令详解

    Linux操作系统的帮助指令详解 介绍 man 获得帮助信息 基本语法 应用实例 help 指令 基本语法 应用实例 介绍 当我们对某个指令不熟悉时,我们可以使用 Linux 提供的帮助指令来了解这个 ...

  3. Linux系统文件目录指令详解——文件路径查看、创建和删除目录、文件移动与重命名、文件查看

    文件目录指令详解 pwd 指令:查看路径 基本语法 应用实例 ls 指令:显示当前目录所在的文件和目录 基本语法 常用选项 应用实例 cd 指令:切换目录 基本语法 如何理解绝对路径和相对路径 常用参 ...

  4. Linux基础指令详解

    目录 前言 Linux基本指令 1.ls指令 1.1 ls 1.2 ls -l 1.3 ls -a 1.4 ls -d 1.5 绝对路径和相对路径 2.pwd指令 3.cd指令 4.touch指令 5 ...

  5. linux权限drwx,linux权限基础知识详解

    祥哥今天整理一下Linux系统中的权限到底是什么?什么是775?什么又是777?664又代表了什么? 1.查看权限可以使用ls -l命令ls -l 我们以root文件夹为例来说明: drwx----- ...

  6. 【Linux】基础特性与常见系统管理命令详解1

    目录 一.Linux基础特性 1.Tab 命令补全 2.快捷键的使用 3.命令行历史 4.命令别名 5.变量 变量种类 6.tee管道 7.分号: 单引号'' 双引号"" 反单引号 ...

  7. 大数据WEB阶段(十三)JSP(一)JSP基础、JSP指令详解、四大域九大隐式对象总结

    JSP基础.指令.四大作用域九大隐式对象总结 (一)JSP基础 一.JSP概述 jsp其实是java动态页面技术 HTML可以用来组织页面但是HTML是一种静态web资源技术无法嵌入动态数据. Ser ...

  8. Linux中的ps指令详解

    [时间]2018.12.16 [题目]Linux中的ps指令详解 转载地址:https://www.cnblogs.com/exe19/p/5511733.html 概述 要对进程进行监测和控制,首先 ...

  9. mc杀人Linux指令,杀人雪球指令详解 教你怎么做杀人雪球

    来源:游戏园日期:2019-06-21 04:04:15 杀人雪球指令详解 教你怎么做杀人雪球.在我的世界中雪球也是可以杀人的,那下面游戏园小编就给大家详细的介绍一下在我的世界中要怎么制作杀人雪球指令 ...

最新文章

  1. 1小时学会:最简单的iOS直播推流(五)yuv、pcm数据的介绍和获取
  2. X3650M3 客户端联不上加密狗!
  3. 169. Majority Element
  4. colinux php,利用colinux 搭建linux开发环境
  5. P3812-[模板]线性基
  6. 【Flink】FLink 反序列化空指针 java.lang.String.<init> SimpleStringSchema
  7. springMVC4(4)json与对象互转实例解析请求响应数据转换器
  8. oracle 误删除数据,回退表数据
  9. Atitit 提升开发效率使用内嵌Tomcat 内嵌webserver 于单元测试
  10. beautifulsoup_Py之Beautiful Soup:Beautiful Soup 4.2.0的简介、安装、使用方法
  11. 电脑各类快捷键及运行命令大全
  12. Python调用百度地图api查询经纬度
  13. 交换机怎么和计算机连接网络打印机,怎么通过地址栏的方式连接网络打印机的方法?...
  14. 解密:顺丰是一家什么样的公司
  15. hpc超级计算机大会,国家超算广州中心主任卢宇彤当选HPC 2019大会程序主席
  16. 星际文件系统新动作——建立存储供应商赏金委员会
  17. html div位于居中元素右边,如何居中一个元素(终结版)
  18. 用Python分析了7000多个交易日的涨跌数据,看看A股有没有“黑色星期五”
  19. iOS中“事件”的前因后果
  20. Java权限管理|基于springBoot+springSecurity+jwt实现前后端分离用户权限认证

热门文章

  1. windows网络流量监控
  2. Webots平台NAO机器人寻路避障实现
  3. 未来17个城市中心区房价将涨到你目瞪口呆
  4. H3CS10510报Invalid MAC address处理
  5. 【一文读懂】Mysql索引原理之环环相扣
  6. 洛谷 P1714 切蛋糕
  7. Javascript中的Number
  8. Java 虚拟机的历史
  9. 新加域账户开通lync或skype for business 首次登陆通讯录同步慢问题
  10. Unity双摄像机渲染