Linux学习基础知识

137 阅读9分钟

一.UNIX、Linux和GNU简介

1.UNIX

unix是一个强大的多用户、多任务操作系统,支持多种处理器架构

1969年由AT&T公司开发的多用户、多任务的分时操作系统。

2.Linux

Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个多用户、多任务、支持多线程和多CPU的操作系统。

Linux是操作系统内核,常见的Linux系统是Linux的发行版。

3.GNU

GNU是一个操作系统,其内容软件完全以GPL方式发布。这个操作系统是GNU计划的主要目标,名称来自GNU's Not Unix!的递归缩写,因为GNU的设计类似Unix,但它不包含具著作权的Unix代码。

Linux操作系统包涵了Linux内核与其他自由软件项目中的GNU组件和软件,可以被称为GNU/Linux。

二.Linux发行版

Red Hat(Fedora)CentOS
DebianUbuntu
SlackwareFrugalware
Arch LinuxManjaro

三.Linux文件系统

在Linux系统中一切皆文件

/bin存放命令
/boot存放的都是系统启动时要用到的程序。
/dev包含了所有Linux系统中使用的外部设备
/etc存放了系统管理时要用到的各种配置文件和子目录
/lib存放系统动态连接共享库的
/home普通用户的主目录
/root根用户(超级用户)的主目录
/sbin存放系统管理员使用的系统管理程序
/sys文件系统 sysfs
/tmp存放临时文件
/usr存放用户的应用程序和文件
/usr/bin系统用户使用的应用程序
/usr/src内核源代码默认的放置目录

四.Linux常用操作命令

以下是基于Ubuntu,如果使用的是其他Linux发行版,命令可能会有所不同。

命令用途
pwd命令用于显示用户在文件系统中的当前位置,该命令没有任何选项和参数,命令执行结果显示为绝对路径名。
ls列目录内容 -r子目录递归显示 -a 显示所有文件及目录 (. 开头的隐藏文件也会列出) [ -l 目录详细查看]
mkdir创建文件夹 -p 创建多级
cat-s 多个空行合并成一个空行显示。-b加行号显示 [ nl 加行号]
rm-i 删除普通文件 -r 删除文件夹
head-n 文件名 (前n行,默认10)
tail-n 文件名 (后n行,默认10)
cp-r 文件夹递归 | cp a b -i 覆盖 | 可复制多个文件
mv移动文件,重命名
touch创建文件或更新时间标志
man查看帮助

五.VI/VIM编辑器

1.vi编辑器的三种模式

模式功能
命令行模式用户在用vi编辑文件时,最初进入的为该模式。可以进行复制、粘贴等操作
插入模式进行文件编辑,按ESC键可以回到命令行模式
底行模式光标位于屏幕的底行。可以进行文件的保存、退出、查找、替换、列出行号等

2.vi模式切换命令

命令功能
A(Append)进入编辑状态,从当前光标行尾之后的位置开始插入键盘输入的字符
a(Append)进入编辑状态,从当前光标之后的位置开始插入键盘输入的字符
I(Insert)进入编辑状态,从光标所在行的第一个非空白字符前面开始插入键盘输入的字符
i(Insert)进入编辑状态,从光标所在位置开始插入键盘输入的字符,光标后的字符随新增字符向后移动
O(Open)进入编辑状态,并向上插入一新行,光标移到该新行的行首,以后键盘输入的字符将插入到光标位置
o(Open)进入编辑状态,并向下插入一新行,光标移到该新行的行首,以后键盘输入的字符将插入到光标位置
esc进入命令模式
:!Command在vi中执行外部命令Command,按回车键可以返回vi继续工作。:!pwd---查看当前文件所在位置

3.vi拷贝与粘贴命令

命令功能
[N]x(Expurgate)删除从光标位置开始的连续N个字符(并复制到编辑缓冲区)
[N]dd(Delete)删除从光标位置开始的连续N行(并复制到编辑缓冲区)
[N]yy(Yank)复制从光标位置开始的连续N行到编辑缓冲区
p或P(Put)从编辑缓冲区复制文本到当前光标位置(即粘贴)
u(Undo)取消上一次操作(即恢复功能)

4.vi保存和推出命令

命令功能
:q(Quit)退出没有修改的文件(若文件被修改了而没有保存,则此命令无效)
:q!强制退出,且不保存修改过的部分
:w(Write)保存文件,但不退出
:x(Exit)保存文件并退出
:wFile另存为File给出的文件名,不退出 :w File
:r File(Read)读入File指定的文件内容插入到光标位置 :r File

5.vi光标命令

命令功能
h方向键,向左移动光标一个字符的位置,相当于键“←”
j方向键,向下移动光标到下一行的位置,相当于键“↓”
k方向键,向上移动光标到上一行的位置,相当于键“↑”
l方向键,向右移动光标一个字符的位置,相当于键“→”
:N移动光标到第N行(N待定)
1G移动光标到文件的第1行
G移动光标到文件的最后1行
:set number设置显示行号 :set nu
:set nonumber取消显示行号 :set nonu

6.vi的查找与替换

命令功能
/string查找字符串,n:下一个,N:上一个。支持正则表达式
s替换。范围s/oldstring/newstring
,$ s从当前行到最后一行
1,$s从第一行到最后一行,全文
%s全部范围,全文
%s/old/new/gg全部替换,不加g默认替换第一个

7.vi的复制和剪切

命令功能
y0将光标至所在行首的字符 拷入 剪贴板
y$将光标至所在行尾的字符 拷入 剪贴板
d0将光标至行首的字符 剪切 入剪贴板
d$将光标至行尾的字符 剪切 入剪贴板
range y-11,13y 复制11到13行内容
range d-11,13d 剪切11到13行内容

六.安装软件

1.APT相关命令

命令功能
sudo apt install package_name安装软件包
sudo apt remove package_name移除软件包
sudo apt --purge remove package_name移除软件包并删除配置
sudo apt autoremove删除不需要的依赖
sudo apt show package_name显示软件包信息
sudo apt-get source 下载软件源代码
sudo apt-cache depends 了解软件依赖关系
sudo apt-get check检查软件依赖关系

2.dpkg相关命令

命令功能
dpkg -i 安装一个在本地文件系统上存在的Debian软件包
dpgk -r 移除一个已经安装的软件包
dpkg -P 移除已安装软件包及配置文件
dpkg -L 列出安装的软件包清单
dpkg -s 显出软件包的安装状态

使用apt-get安装软件:

sudo apt-get update
sudo apt-get install XXX

使用yum安装软件:

sudo yum update
sudo yum install XXX

在运行这些命令之前,需要具有管理员权限。

要离线卸载软件并删除其配置文件,可以使用以下命令:

sudo apt-get remove --purge XXX

在运行此命令之前,需要具有管理员权限。此命令将卸载软件并删除其配置文件。如果只想卸载软件而保留其配置文件,省略"--purge"选项:

sudo apt-get remove XXX

如果使用的是其他Linux发行版,使用相应的包管理器替换apt-get命令。

七.文件相关命令

1.查看文件

命令-cat
cat - concatenate files and print on the standard output
With no FILE, or when FILE is -, read standard input.

命令-tac
tac - concatenate and print files in reverse
Write  each FILE to standard output, last line first.  With no FILE, or
when FILE is -, read standard input.

命令-more
more — file perusal filter for crt viewing
不可以回去,就是不可以向前,只能向后

命令-less
less - opposite of more
less可以上下翻动
less不必读整个文件,加载速度会比more更快。

命令-head
head - output the first part of files

2.查找文件命令

find - search for files in a directory hierarchy
语法:find [起始目录] 寻找条件 操作

find相关选项
-name '字串'  查找文件名匹配所给字串的所有文件,字串内可用通配符 *、?、[ ]。
-iname '字串' 忽略大小写的方式查找
-type x   查找类型为 x 的文件
-exec 命令名称 {}  对符合条件的文件执行所给的Linux 命令,而不询问用户是否需要执行该命令。{}表示命令的参数即为所找到的文件;命令的末尾必须以“ \;”结束。

4.查找文件内容命令

grep, egrep, fgrep, rgrep - print lines that match patterns
语法:grep [选项]  要查找的内容   查找的位置
常用选项:
-A    除了显示符合范本样式的那一列之外,并显示该行之后的内容。
-B    除了显示符合样式的那一行之外,并显示该行之前的内容。
-C    除了显示符合样式的那一行之外,并显示该行之前后的内容。
-i    忽略字符大小写的差别。
-r    查找位置是目录时用
-n    在显示符合样式的那一行之前,标示出该行的列数编号。

5.归档和压缩

归档和压缩:
	归档文件是将一组文件或目录保存在一个文件中。
	压缩文件也是将一组文件或目录保存一个文件中,并按照某种存储格式保存在磁盘上,所占磁盘空间比其中所有文件总和要少。
	归档文件仍是没有经过压缩的,它所使用的磁盘空间仍等于其所有文件的总和。因而,用户可以将归档文件再进行压缩,使其容量更小。
	
tar命令符号模式的一般语法格式为:
	tar  [ -t | -x | -r | -c | -v | -f | -j | -z ]  tarfile  filelist
	-t	显示归档文件的内容
	-x	释放归档文件
	-c	创建一个新的归档文件
  -r      追加的方式归档文件
	-v	显示归档和释放的过程信息
	-f	用户指定归档文件的文件名,否则使用默认名称
	-j	由tar生成归档,然后由bzip2压缩
	-z	由tar生成归档,然后由gzip压缩