Linux基础

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux基础相关的知识,希望对你有一定的参考价值。

Linux笔记

一.LInix基本操作

1.

 技术分享

 

Kernel是内核。Shell(只是一个概念)分为CLI(命令行)和GUI(图形界面).

操作系统的Shell:

  • GUI: GNOME
  • CLI:BASH

2.BASH(命令行程序)

提示符:#(root用户),$(普通用户)

@前面是用户名,后面是主机名。后面是当前目录。

 

命令行一般由三个部分组成:

  • 命令
  • 选项
  • 参数(单字符参数由 – 开头)

 

使用 ctrl + c终止当前命令

打开应用程序,放在后台运行,终止当前命令。加&号。

如 firefox &

 

使用Tab键来简化命令输入

  • 自动补全命令
  • 自动补全文件名(长度只要达到能和其它文件区分开)
  • 无法自动补全参数

按两个Tab可以显示出所有的命令

 

历史纪录

  • BASH会保存你输入命令的历史纪录,可以通过上下按键或者history命令来查看。
  • 使用上下按键查看之前的命令(能一直往前递归查看历史)
  • 使用history命令查看历史纪录

 

 

 

通过历史记录简化操作

  • !! 重复前一个命令
  • !字符 重复前一个以”字符”开头的命令
  • !num 按照历史纪录的序号执行命令
  • !?abc 重复之前包含abc的命令
  • !-n 重复前n个命令之前的那个命令

 

搜索命令历史记录

  • 可以通过ctrl + r来在历史记录中搜索命令(reverse-i-search)
  • 重新调用前一个命令中的参数 esc .

esc后按.键

 

Bash Shell支持以下通配符

  • * 匹配零个或多个
  • ? 匹配任意一个字符
  • [0-9]匹配一个数字字符
  • [abc]匹配列表里任何字符
  • [^abc]匹配列表以外字符

 

切换用户

  • 在CLI中,通过su命令切换用户

su – 切换到root用户并使用一个新的运行环境,加破折号启用新的终端

sudo 使用管理员用户身份运行命令,不切换用户

  • su – username 切换到另一个用户
  • 显示当前用户信息

id

  • 修改当前用户密码

passwd

  • exit退出当前用户

 

BASH作业管理

  • 在后台运行进程

在命令后添加一个 &

  • 暂停某个程序

通过Ctrl+z或者发送信号17

  • 管理后台作业

jobs查看当前后台运行的所有作业

sleep 5000 停止5000s

bg  进程编号  控制一个进程继续在后台运行

fg 进程编号 把后台作业拉到前台

 

3.Linux文件系统结构,通过命令行管理文件系统

 

 

  • Linux文件系统为一个倒转的单根树状结构
  • 文件系统的根目录为“/”
  • 文件系统严格区分大小写
  • 路径使用”/”分割,(“windows中使用”\\”)

 技术分享

 

当前工作目录

  • 每一个shell或系统进程都有一个当前工作目录
  • 使用pwd(print work directory)命令可以显示当前的工作目录
  • ~可以代替家目录

 

文件名称(对文件夹也相同)

  • 文件的名称大小写敏感
  • 名称最多可以为255个字符
  • 除了正斜线外,都是有效字符
  • 通过touch命令可以创建一个空白文件或者更新已有文件的时间
  • 以”.”开头的文件为隐藏文件,隐藏文件绝大部分为配置文件,轻易不要去动这些文件。

 

列出目录内容

“ls”命令用来列出目录内容

相关参数:

  • ls -a 显示所有文件(包括隐藏文件)
  • ls -l 显示详细信息
  • ls -R 递归显示子目录结构
  • ls -ld 显示目录和链接信息

 

查看文件类型

  • file

 

绝对路径与相对路径

  • 绝对路径:以“/”开头,递归每级目录直到目标的路径。不受当前所在工作目录限制。
  • 相对路径:以当前目录为起点,到达目标的路径。受当前所在目录限制。

 

 

cd命令可以用来切换目录

  • 上一级目录 “..”
  • 当前目录“.”
  • 用户家目录“~”
  • 上一个工作目录“-”

 

4.Linux文件操作

 

复制文件,目录

  • 使用cp命令复制文件或目录

cp 源文件(文件夹)  目标文件(文件夹)

  • 常用参数

-r  递归复制整个目录树(用于复制文件夹) cp -r

-v  显示详细信息 cp -v

 

移动,重命名文件或目录

  • 通过mv命令移动或者重命名文件或目录

mv 文件 目标目录

  • 如果指定文件名,则可以重命名文件

 

创建,删除文件

  • 通过touch命令可以创建一个空文件或更新文件时间
  • 通过rm命令可以删除文件或目录

常用参数

-i 交互式

-r 递归的删除包括目录中的所有内容

-f 强制删除,没有警告提示(使用时需十分谨慎)

 

创建,删除目录

  • 通过mkdir命令创建一个目录
  • 通过rmdir命令删除一个空目录
  • 通过rm -r (-f) 命令删除一个非空目录

 

 

5.Linux系统目录架构

 技术分享

 

bin (保存的是常用的可执行二进制文件,所有的命令文件)

boot(引导目录,操作系统的引导启动文件)

dev(设备的缩写,计算机所有的硬件设备,各个设备都抽象成一个文件)

etc(几乎所有的配置文件,绝大多数是文本配置文件)

home(家目录,每一个用户都有自己的一个文件夹,保存该用户私有文件)

root(root用户的文件夹是单独的)

lib(所有的linux系统运行库文件)

media(光盘自动挂载)

mnt(光盘自动挂载)

opt(很多时候是空的,用来装一些大型软件,放在哪里不是强制的)

proc(系统实时信息,不存在于硬盘,在内存里)

sbin(可执行二进制文件,sbin里的命令只有root用户才能执行)

selinux(安全相关)

sys(底层硬件信息)

tmp(临时文件,隔断时间会自动删除)

usr(一般应用软件默认装到此)

var(经常变化的信息,如操作系统的日志)

 

6.常用命令

 

日期时间

  • 命令date用以查看,设置当前系统时间

格式化时间: +%Y--%m--%d

[[email protected] Desktop]$ date +%Y--%m--%d

2017--07--11

  • 命令hwclock(clock) 用以显示硬件时钟时间
  • 命令cal用以查看日历
  • 命令uptime用以查看系统运行时间

 

输出,查看命令

  • 命令echo用以显示输入的内容

[[email protected] Desktop]$ echo "dawf"

dawf

  • 命令cat用以显示文件内容(纯文本文件)
  • 命令head用以显示文件的头几行(默认10行)

-n指定显示行数

·      命令tail用以显示文件的末尾几行(默认10行)

       -n指定显示的行数

      -f追踪显示文件更新(一般用于查看日志,命令不会退出,而是持续显示新加入的额内容)

· 命令more用于翻页显示文件内容(只能向下翻页)

  • 命令less用于翻页显示文件内容(带上下翻页)

 

查看硬件信息

  • 命令lspci用以查看PCI设备 列出(ls)

-v查看详细信息

·   命令lsusb用以查看USB设备

   -v查看详细信息

·   命令lsmod用以查看加载的模块(驱动)

 

关机,重启

  • 命令shutdown用以关闭,重启计算机

shutdown[关机,重启]时间

-h 关闭计算机

-r 重新启动

 

如:

立即关机:shutdown -h now

10分钟后关机:shutdown -h +10

23:30分关机:shutdown -h 23:30

立即重启: shutdown -r now

  • (快捷)命令poweroff用以立即关闭计算机
  • (快捷)命令reboot用以立即重启计算机

 

归档,压缩

  • 命令zip用以压缩文件

zip linuxcast.zip(压缩后的文件名)   myfile(要压缩的文件名)

  • 命令unzip用以解压缩zip文件

unzip linuxcast.zip(要解压的zip文件)

  • 命令gzip用以压缩文件

gzip linuxcast.net(文件名)

  • 命令tar用以归档文件(打包)

tar  -cvf  out.tar(归档后的文件包名)  linuxcast(要打包的文件夹)

tar  -xvf  linuxcast.tar   用于解开一个归档

tar    -cvzf      backup.tar.gz    /etc  先归档,之后压缩tar调用gzip的命令

-z参数将归档后的归档文件进行gzip压缩以减少大小

      

 

查找

  • 命令locate用以快速查找文件,文件夹

locate keyword

bb此命令需要预先建立数据库,数据库默认每天更新一次,可用update命令手工建立,更新数据库。

  • 命令find用以高级查找文件,文件夹

find查找位置 查找参数

如:find .  -name  *linuxcast*  在当前目录查找所有文件名中包含linuxcast的文件

  find /  -name  *.conf

  find / -perm 777            硬盘中所有权限为777的文件

  find / -type d                返回所有目录

  find . -name “a*” -exec ls -/{}\\; 查找所有文件名以a开头的文件,然后当成参数传递给那个命令。

  • find常用查找条件

-name 基于文件名

-perm  基于文件权限

-user  基于用户

-group

-ctime

-type

-size

 

7.vi,vim文本编辑器

vi是一个命令行界面下的文本编辑工具。

vim已经不仅仅作为普遍意义上的文本编辑器,而是被guan广泛的作为在文本编辑,文本处理,代码开发等用途。

vim比vi的功能更为强大。

Linux中知名的文本编辑器还有emacs,它的功能比vim还要强大。

 

vim

  • 命令vim可以启动vim编辑器
  • 一般我们通过vim+目标文件路径 的形式使用vim
  • 如果目标文件存在,则vim打开该文件。
  • 如果目标文件不存在,则vim新建并打开该文件。

 

vim模式(三种模式)

  • 命令模式(常规模式)

vim启动后,默认进入命令模式,任何模式都可以通过esc键回到命令模式(可以多按几次)。命令模式下可以通过键入不同的命令完成选择,复制,粘贴,撤销等等操作。

  • 插入模式

在命令模式中按“i”键,即可进入插入模式,在插入模式可以输入编辑文本内容,使用esc键可以返回命令模式。

  • ex模式

在命令模式中按”:”键可以进入ex模式,光标会移动到底部,在这里可以保存修改或ui出vim.

 

命令模式

vim启动后,默认进入命令模式,任何模式都可以通过esc键回到命令模式(可以多按几次)

。命令模式常用命令如下:

  • i    在光标前插入文本
  • o   在当前行的下面插入新行
  • dd  删除整行
  • yy     将当前行的内容放入缓存区(复制当前行)
  • n+yy 将n行的内容放入缓存区(复制n行)
  • p      将缓存区中的文本放入光标后(粘贴)
  • u      撤销上一个操作
  • r       替换当前字符
  • /       查找关键字

 

EX模式

  • 在命令模式中按“:”键可以进入ex模式,光标会移动到底部,在这里可以保存修改或退出vim。ex模式下常用命令如下:

:w  保存当前修改

:q  退出

:q!  强制退出,不保存修改

:x   保存并退出,相当于:wq

:set number 显示行号

:!  系统命令 执行一个系统命令并显示结果

:sh  切换到命令行,使用ctrl + d 切换回vim

点击完命令后按回车确定

 

8.磁盘,分区,MBR与GPT

 技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

二.Linux磁盘及文件管理系统

1.使用fdisk进行磁盘管理

 技术分享

技术分享

 

 

2.Linux文件系统

 技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

 

3.挂载,使用文件系统

 技术分享

技术分享

技术分享

技术分享

 

三.Linux获取帮助

没有必要记住所有东西

-      几乎所有命令都可以使用-h或--help参数获取使用方法,参数信息等。

-      --help广泛

 

 

-MAN

· man命令是Linux中最为常用的帮助命令,将要获取帮助的命令作为参数运行man命令就可以获取相应的文档帮助。

  • man 命令 会出现该命令的参数方法
  • man文档分为很多类型。

 技术分享

 

·man -k关键字 可以用来查询包含该关键字的文档

 

INFO

  • info与man类似,但是提供的信息更为详细深入,以类似网页的形式显示。
  • man与info都可以通过”/+关键字”方式进行搜索。
  • info 命令

 

DOC

·很多程序,命令都有详细的文档,以TXT,HTML,PDF等方式保存在/usr/share/doc目录中,这些文档是相应程序最为详尽的文档。

 

四.用户及权限基础

1.Linux用户基础

 技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

 

2.Linux权限

 技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

 

加入参数  -R  可以把修改的权限递归到子文件

 技术分享

 

3.Linux扩展权限

(默认权限,特殊权限)

 技术分享

技术分享

技术分享

 

 

五.Linux网络基本配置

1.网络基础

 技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

 

 

2.Linux基本网络配置

 技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

 

六.Linux管道,重定向及文本处理

1.Linux多命令协作:管道及重定向

 技术分享

 

 技术分享

 

   技术分享

技术分享

 

 

 

2.文本处理

 技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

 

七.Linux系统启动详解

 技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

 

init是linux系统的第一个进程。是所有进程的父进程。

 

 

 

八.Linux软件管理基础:RPM、YUM

1.RPM软件包管理

 技术分享

技术分享

 

 技术分享

技术分享

技术分享

 

2.YUM

 技术分享

技术分享

 

 技术分享

 

 技术分享

 

 

 

 

 

 

 

以上是关于Linux基础的主要内容,如果未能解决你的问题,请参考以下文章

编程基础 linux基础入门--linux为何物?

linux具体要学点啥,基础要学啥?

linux入门基础——linux用户基础

Linux基础篇--linux基础和帮助用法

Linux基础(03)常用基础指令和操作

Linux操作基础