linux命令知识大纲

操作系统的作用

  • 是现代计算机系统中最基本和最重要的系统软件
  • 是配置在计算机硬件上的第一层软件,是对硬件系统的首次拓展
  • 主要作用是管理好硬件设备,并为用户和应用系统提供一个简单的接口,便于使用
  • 而其他的如编译程序、数据库管理系统、以及大量的应用软件,都直接以来于操作系统的支持


不同应用领域的主流操作系统

1.桌面操作系统

  • Windows
    用户群体大
  • macOS
    适合开发人员
  • Linux
    应用程序少

2.服务器操作系统

  • Linux
    安全、稳定、免费
    占有率高
    为什么安全?
    Linux开源,有漏洞容易被发现,用户量小,黑客不care,权限严格,一般以非root身份使用。Windows付费,只有微软团队,用户量大,黑客care,以管理员权限运行。
  • Windows Server
    付费
    占有率

3.嵌入式操作系统
- Linux

4.移动设备操作系统
- iOS
- Andriod(基于Linux)

虚拟机

虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。

  • 虚拟系统通过生成现有操作系统的全新虚拟景象,具有真实操作系统完全一样的功能
  • 进入虚拟系统后,所有操作都是在这个全新的独立的虚拟系统中进行的,可以独立安装软件,保存数据,对真正的操作系统不会产生任何影响
  • 能够在现有系统和虚拟景象之间灵活切换的一类操作系统

操作系统的发展历史

1.Unix
2.Minix
3.Linux

Linux内核及发行版

1.Linux内核版本

  • 内核(kernel)是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序,它提供了一个在裸设备与应用程序间的抽象层
  • Linux内核版本又分为稳定版和开发版,两种版本是互相关联、互相循环
    • 稳定版:具有工业级强度,可以广泛地应用和部署,新的稳定版相对于旧的稳定版只是修正一些bug或加入新的驱动程序
    • 开发版:由于要试验各种解决方案,所以变化很快
  • 内核源码网址:https://www.kernel.org

所有来自全世界的对linux源码的修改最终都会汇总到这个往后在哪,由Linuxd领导的开源社区对其进行甄别和修改最终决定是否进入到Linux主线内核源码中

2.Linux发行版本

  • Linux发行版(也叫GNU/Linux发行版)通常包含了包括桌面环境、办公套件、媒体播放器、数据库等应用软件
  • 常见的发行版本如下:
    • Ubunntu
    • Redhat
    • Fedora
    • openSUEE
    • Linux Mint
    • Debian
    • Manjaro
    • Mageia
    • CentOS //用的比较多
    • Arch

Linux的应用领域

1.服务器领域

  • Linux在服务器领域的应用是其重要分支
  • Linux免费、稳定、高效等特点在这里得到很好的体现

2.嵌入式领域

  • 近年来,Linux在嵌入式领域的应用得到飞速的提高
  • 运行稳定,对网络的良好支持性、低成本、且可以根据需要进行软件裁剪,内核最小可以达到几百KB
  • 主要应用:机顶盒、数字电视、网络电视、手机、PDA等

3.个人桌面领域

  • 传统Linux最薄弱的环节
  • 由于传统Linux界面简单、操作复杂、应用软件少,一直被Windows压制
  • 近年来随着Ubuntu、Fedora等优秀桌面环境的兴起,各大硬件厂商对其支持的加大,Linux在个人桌面领域的占有率在逐渐的提高

Linux文件和目录

1.Windows和Linux文件系统区别

  • Windows下有多个驱动器盘符,每个驱动器都有自己的根目录结构,这样就形成了多个树并列的情形


  • Linux下只有一个根目录/:,在Linux操作系统下插入U盘,也只会显示到某个目录下

常用Linux命令的基本使用

职场中,大量的服务器维护工作都是在远程通过SSH客户端来完成的,并没有图形界面,所有的维护工作都需要通过命令来完成。如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等

序号 命令 对应英文 作用
01 ls list 查看当前文件夹下的内容
02 pwd print work directory 查看当前所在文件夹
03 cd[目录名] change directory 切换文件夹
04 touch[文件名] touch 如果文件不存在,新建文件
05 mkdir[目录名] make directory 创建目录
06 rm[文件名] remove 删除指定的文件名
07 clear clear 清屏

终端命令格式

command [options] [parameter]

  • command 命令名 相应功能的英文单词或缩写
  • option 选项,可以用来对命令进行控制,也可以省略
  • parameter 传给命令的参数,可以是0个,一个会多个
  • [ ] 代表可选

查阅命令帮助信息

  • -- help

  • man command man是manual的缩写,是Linux提供的一个手册,包含了绝大部分的命令、函数的详细使用说明

    • 使用man命令时的操作
    操作键 功能
    空格键 显示手册页的下一屏
    Enter键 一次滚动手册页的一行
    b 回滚一屏
    f 前滚一屏
    q 退出
    /word 搜索word字符串

熟练使用以下命令

  • 快捷键
    上下键--上一个/下一个命令
    ctrl+c 退出命令

  • ls

>ls -l
drwxr-xr-x  5 leitianxiao  staff  160  6 14 21:42 GitHub
文件类型 - 权限  - 硬连接数-  用户名 -  用户名组  - 大小 -  文件修改时间 -  文件夹名
- 文件类型
d代表文件夹,-代表文件
- 权限 : 
rwx r-x r-x  分为三组权限,第一组指文件拥有者的权限,第二组指用户拥有组的权限,第三组指其他人的权限
r代表可读,w代表可写, x代表可执行, -代表非   

>ls 任意路径 查看任意路径下的文件和目录

>ls a*
展示以a开头的文件、目录 ,*代表任意个任意字符

>ls a?
展示以ax的文件、目录 ,?代表1个任意字符

>ls [abc]b
匹配[ ]中任意字符
  • clear
    清屏,其实就是把滚动条往下拉。

  • cd
    cd .. 返回上级目录
    cd ~ 返回home目录
    cd / 返回根目录

  • ls
    ls -a 显示所有文件 .xxx .开头的都是隐藏文件
    ls -l 显示文件夹的详细信息,权限、大小
    ls-lh h-human,以人性化的方式显示详细信息,显示文件大小的单位

  • pwd
    当前路径

  • mkdir
    创建的路径一定是要有权限的
    mkdir /home/admin/不存在的父级目录/不存在的文件夹 会报错没有这个文件或目录
    mkdir /home/admin/不存在的父级目录/不存在的文件夹 -p 就会按层级创建文件夹
    mkdir red blue 在当前目录下创建redblue文件夹
    mkdir color1/red color2/blue 在当前目录下创建color1/redcolor2/blue文件夹
    mkdir color {red blue} 在当前目录下创建color/redcolor/blue
    mkdir .abc 创建隐藏文件夹
    只要创建的文件夹,必然会有隐藏的...,代表当前目录和上级目录,无法删除。所以可以进行 cd ..cd.

  • touch
    touch a.txt 在当前目录下创建.txt文件a
    touch命令只能在存在的目录下创建文件
    touch .abc创建一个隐藏文件
    gedit hello.txt 用记事本打开文件,有hello.txt就打开文件,没有就创建并打开

  • rm
    rm hello.txt 删除文件
    rm a 删除文件夹,会报错,无法删除一个目录
    rm a -r 删除目录
    rm * 删除当前目录下所有文件、无法删掉隐藏文件
    rm * -r 删除当前目录下所有目录、无法删掉隐藏文件
    rm .abc 隐藏文件只能一个一个的删除

  • cp
    将给出的文件或目录复制到另一个文件或目录中,相当于DOS的copy命令

    • 常用选项说明
    选项 含义
    -a 通常在复制目录时使用,它保留链接、文件属性、并递归地复制目录,简单而言,保持文件原有属性
    -f 覆盖已存在的目标文件而不提示
    -i 交互式复制,在覆盖目标文件之前将给出提示要求用户确认
    -r 若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须一个目录名
    -v 显示拷贝进度
  • mv 移动命名、重名名
    mv 123.txt hello.txt 相当于把123重命名为hello

  • 软链接(常用)
    软链接:不占磁盘空间,源文件删除则软链接失效
    软链接格式: ln -s 源文件 链接文件

    > ln -s hello.json link
    lrwxr-xr-x  1 leitianxiao  staff    10  7 17 21:51       link -> hello.json
    

    link 指向了hello.json
    链接文件的文件大小很小,只记录源文件的名称,如果删除源文件,新建同名文件,链接仍然生效。同样也因此原因,如果要将软链接和源文件放在不同文件目录下,需要使用绝对路径
    ln -s ~/admin/hello.json ~/link
    能链接文件,也能链接目录

  • 硬链接
    硬链接:只能链接普通文件,不能链接目录
    硬链接格式:ln 源文件 链接文件

    >ln hello.json link
    -rw-r--r--  2 leitianxiao  staff  1085  7 17 21:42 hello.json
    -rw-r--r--  2 leitianxiao  staff  1085  7 17 21:42 link
    

    硬链接是记录所有的内容,文件大小也一样,可以删除源文件,不影响硬链接文件,ls -l权限后面的数字是硬链接数,表示改这个文件有几个文件会产生同步变化,硬链接不能链接目录

  • chmod 修改文件权限
    chmod修改权限有两种使用格式:字母法和数字法
    字母法 :chmod u/g/o/a +/-/= rwx 文件

    【u/g/o/a】 含义
    u user 表示该文件的所有者
    g group 表示与该文件所有者所属的同一组,即用户组
    o other 表示其他以外的人
    a all 表示这三者皆是
    【+/-/=】 含义
    + 增加权限
    - 撤销权限
    = 设定权限
    【rwx】 含义
    r read可读,可以通过ls查看该目录的内容
    w write可写,可以在该目录下创建新文件
    x excute可执行,可以通过cd进入这个目录
    - 没有任何权限
    //给所有者u 增加+ 可执行权限x
    chmod u+x 1.txt 
    //给所有者u 设置= 可执行权限x,此时所有权限只有x
    chmod u=x 1.txt 
    //撤销所有者所有权限
    chmod u=- 1.txt
    //给三种角色不同的权限
    chomod u+w,g-r,o=xr 1.txt
    //三个角色同样的权限
    chmod a+rwx 1.txt
    

    数字法:

    字母 说明
    r read可读,数字代号4
    w write可写,数字带号2
    x excute可执行,数字带号1
    - 没有任何权限,数字带号0

    格式:chmod abc 文件名 ,abc各为一个数字,为权限代号之和,a代表所所有者的权限,b代表用户组的权限,c代表其他人的权限。

    //给三个角色所有权限,4+2+1=7
    chmod 777 1.txt
    //不给三个角色任何权限
    chmod 000 1.txt 
    //给用户可读,给用户组可写,给其他人可执行
    chmod 421 1.txt 
    
  • find
    特定目录下搜索符合条件的文件,也可以用来搜索特定属主的文件
    常用用法:

    命令 含义
    find . -name test.sh 查找当前目录下所有名为test.sh的文件,.代表当前目录
    find . -name *.sh 查找当前目录下所有后缀稳为.sh的文件
    find ~ -name *.txt 查找家目录下以.txt结尾的文件
  • tar 归档管理
    计算机中的数据经常需要备份,tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。
    使用格式:tar [参数] 打包文件夹 文件

    打包
    tar cvf a.tar *.txt
    
    解包
    tar xvf a.tar -C atar
    

    tar命令很特殊,其参数前面可以使用“-”,也可以不使用。
    常用参数:

    参数 含义
    -c 生成档案文件,创建打包文件
    -v 列出归档解档的详细过程,显示进度
    -f 指定档案文件名称
    -t 列出档案中包含的文件
    -x 解开档案文件

    tar -cf dabao.tar 1.txt hello.txt 把1.txt、 hello.txt打包(-c)为文件(-f)dabao.tar,但是此时没有压缩。
    每个命令都要加f,加在参数最后cvf xvf xf cf ……
    解包到其他目录,在目录前要加-C

  • gzip 压缩
    tar和gzip的结合实现文件的打包、压缩。tar只负责打包,gzip压缩tar打包后文件,其拓展名一般为.tar.gz
    gzip使用格式:gzip [选项] 被压缩文件
    常用选项: -d --> 解压 -r --> 压缩所有子目录
    压缩解压步骤总结:

    • 压缩
      1.打包
      tar cf a.tar 1.txt 生成a.tar文件
      2.压缩
      gzip -r a.tar 生成a.tar.gz文件
    • 解压
      1.解压
      gzip -d a.tar.gz 生成a.tar文件
      2.解包
      tar xf a.tar -C ~/atar 解包到指定文件夹

    一步到位的压缩和解压:-z
    tar zcf b.tar.gz 1.txt 以gzip的方式打包并且压缩
    `tar zxf b.tar.gz -C ~/btar 以gzip的方式解压并且解包

    image

  • bzip2
    跟gzip命令一样使用。其拓展名为xxx.tar.bz2。
    tar命令中增加一个选项(-j)可以调用bzip2实现了一个压缩功能,实行一个先打包后压缩的过程。
    压缩用法:tar -cjf a.tar.bz2 1.txt
    解压用法:tar -xjf a.tar.bz2 -C ~/btar

  • zip、unzip
    通过zip压缩文件的目标文件不需要指定扩展名,默认拓展名为zip。
    压缩文件:zip [-r] 目标文件(没有拓展名) 源文件
    解压文件:unzip -d 解压后目录文件 压缩文件 解压时,如目录不存在,会自动创建目录。

实际使用时,考虑压缩率和通用性,一般使用 gzip
压缩率:zip<gzip<bzip2
通用性:zip>gzip>bzip2

  • shutdown、reboot 关机重启

    命令 含义
    reboot 重新启动操作系统
    shutdown -r now 重新启动操作系统,shutdown会给别的用户提示
    shutdown -h now 立刻关机,其中now相当于时间为0的状态
    shutdown -h 20:25 系统会在今天20:25关机
    shutdown -h +10 系统会在10小时后关机
  • which
    查看命令在哪里
    语法:which 任意命令

    > which zip
    /usr/bin/zip
    

    命令是一个可执行文件,win中要双击才能启动可执行文件,linux中使用命令就可以

  • who 查看登陆用户
    查看当前所有登陆用户的信息

  • exit 退出当前账户
    如果是图像界面,退出当前终端
    如果是使用ssh远程登录,退出登陆账户
    如果切换后登陆用户,退出则返回上一个登陆账号

  • passwd 设置用户密码

  • su 切换到管理员账号
    切换到root用户,使用su命令

linux命令加强

  • grep 文本搜索
    Linux系统中grep命令是一种强大的文本搜索工具,允许对文本进行模式查找,如果找到匹配模式,grep打印包含模式的所有行
    一般格式为: grep [-选项] ‘搜索内容串’ 文件名
    选项 含义
    -n 显示匹配行及行号
    -v 显示不包含匹配文本的所有行
    -i 忽略大小写
    grep -n 'hello' hello.txt
    grep -i 'hello' hello.txt
    grep -v 'hello' hello.txt
    grep -in 'hello' hello.txt
    在当前目录下搜索:grep -n 'hello' . -r
    grep的搜索字符串可以是正则表达式,常用正则表达式:
    参数 含义
    ^a 行首,寻找以a开头的行
    ke$ 行尾,寻找以ke结尾的行
    [sS]sign[aA] 匹配[ ]中一系列字符中的一个,可以是ssigna,ssignA……
    . 匹配一个非换行字符,匹配e.e之间任意一个字符,可以是eve,eae,eee……
  • 重定向 > 将命令执行的结果重定向到一个文件,本应显示在终端的内容保存在一个文件中
    ls > text.txt (text.txt不存在就创建,存在就覆盖)
    >输出重定向会覆盖原来的内容,>>输出重定向会追加到文件内容的尾部
  • cat
    cat text.json查看文件内容,展示在终端上
    cat text1.json text2.json 查看多个文件内容
    cat text1.json text2.json > text3.json 合并多个文件的内容
  • more
    文件内容过长时,打开文件会显示到内容末尾。使用more可以从第一行开始显示,可用来查看比较大的文件
    more hello.json b往回翻页,enter键向下翻页
  • 管道 一个命令的输出可以作为另一个命令的输入,左端写东西,右端取东西
    ls ~ | more 展示ls ~的结果,按more命令的方式,从第一行开始展示
    cat hello.json | more

编辑器vim

"vi"是visual interface的简称,它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,vi不是一个排版程序,它不像word或者wps那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序,vi没有菜单,只有命令,而且命令繁多。

vi的三种基本工作模式
插入模式
命令模式
末行模式

1.vim基础操作
"vim"是从vi发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能丰富。

在shell环境输入vi命令打开文件时,属于命令模式

  • 进入插入模式:
i 插入光标前一个字符
I 插入首行
a 插入光标后一个字符
A 插入行未
o 向下新开一行,插入行首
O 向上新开一行,插入行首
  • 插入模式时,按ESC进入命令模式
移动光标:
j 向下每行行尾
k 向上每行行尾
l 向右
h 向左
M 光标移到中间行
L 光标移到屏幕最后一行行首
数字行号+shift +G 移动到指定
(末行模式:set nu 显示行号)
w 向后一次移动一个字
b 向前一次移动一个字
{ 按段移动,上移
} 按段移动,下移
ctrl+d 向下翻半屏
ctrl+u 向上翻半屏
ctrl+f 向下翻一屏
ctrl+b 向上翻一屏
gg 光标移到文件开头
G 光标移到文件末尾

删除命令:
x 删除光标后一个字符
X 删除光标前一个字符
dd 删除光标所在行
d0 删除光标前本行所有内容
dw 删除光标开始位置的字

撤销命令:
u 一步一步撤销
ctrl+r 反撤销

重复命令:
. 重复上一次操作的命令

文本行移动
>> 文本行右移
<< 文本行左移
复制粘贴:
yy 复制当前行, n yy 复制n行
p 在光标所在位置向下新开辟一行,粘贴

可视模式:
v 按字符移动,选中文本
V 按行移动,选中文本可视模式可以配合 d,y >>

替换操作:
r 替换当前字符
R 替换当前行光标后的字符,直到按esc

查找命令:
 / str查找
n 下一个
N 上一个

  • 命令模式时,按:进入末行模式
w 存盘
wq 保存并退出
q! 不存盘,强制退出
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341

推荐阅读更多精彩内容

  • 第一章 1.Linux是一套免费使用和自由传播的类UNIX操作系统,它可以基于Intel x86系列处理器以及Cy...
    yansicing阅读 5,306评论 0 9
  • 初学Linux,记录资料,以备留存,亲手测试了一部分,有的正确,不正确的也改了,没有全部测试,如有误,望大神们不吝...
    世外大帝阅读 5,520评论 1 32
  • Linux 目录 /:根目录,一般根目录下只存放目录,在Linux下有且只有一个根目录。所有的东西都是从这里开始。...
    miniminiming阅读 674评论 0 4
  • 我从未感受过这样的快乐 欢喜是从心泉里涌出的热浪 一朵一朵打在我的胸膛 犹如雨点 清凉狂妄 淋湿了我的衣裳 了解如...
    無意聽你阅读 307评论 1 4
  • 看完全书高数的第一章,整理下思维和本章内容
    小逸凡阅读 105评论 0 0