Linux发行版本
李纳斯•托瓦兹开发的 Linux 只是一个内核。
内核指的是一个提供设备驱动、文件系统、进程管理、网络通信等功能的系统软件,内核并不是一套完整的操作系统,它只是操作系统的核心。一些组织或厂商将 Linux 内核与各种软件和文档包装起来,并提供系统安装界面和系统配置、设定与管理工具,就构成了 Linux 的发行版本。
Linux 的发行版本可以大体分为两类:
- 商业公司维护的发行版本,以著名的 Red Hat 为代表;
- 社区组织维护的发行版本,以 Debian 为代表。
本人常用的命令
cd / #返回根目录
cd ~ #返回家目录
pwd #当前绝对目录
ls [-l:详细信息] [目录或文件] #列出指定目录在内容
ll #显示当前目录下内容详细信息
touch 文件名 #创建一个文件
cat [<< q] >> filename #创建文件夹
mkdir 目录 #创建一个目录(文件夹)
mv #移动或重命名
cp #复制
rm [-r:删除目录] [-i:交互式删除] #删除
rmdir [-p] 目录 #删除目录,若文件里有内容,则要带上-p
chmod #修改目录或文件权限
alias #显示别名清单
alias name=value(shell命令) #定义别名
unalias name #取消别名
#文件编译
vi/vim
:noh #取消搜索
: set nu #显示行号
: set nonu #取消行号显示
shell程序
#!/bin/bash
#执行shell脚本
bash < 脚本名 #重定向方式
bash 脚本名 [参数]
./脚本名 #脚本是可执行的
. 脚本名 #同上
< #输入重定向,从文件读取
<< #即使文件定向
> #输出重定向,把命令(或可执行程序)在标准输出重新定向到指定文件
<< #输出附加重定向,加到指定文件后面
一、常用命令命令
1.1 关机和重启
关机
shutdown -h now 立刻关机
shutdown -h 5 5分钟后关机
poweroff 立刻关机
重启
shutdown -r now 立刻重启
shutdown -r 5 5分钟后重启
reboot 立刻重启
1.2 帮助命令
help | help命令显示shell内置命令信息 |
man | man显示的是分页,按q退出 |
info | 显示比man更多信息,也是分页,按q退出 |
例子图
其他一些小命令
【who命令】:查看当前进程
【echo命令】:将命令行参数显示到显示屏(打印)
echo后面可以加引号也可以不加,对于引号有单引号、双引号、倒引号,后面会说这几个引号的作用
单引号:
双引号:
倒引号:
【data命令】:在屏幕显示当前日期和时间,可再加选项参数
【cal命令】:显示公元1~9999年任意一年或任意一个月的日历
cal 11 #列出公元11年的日历
cal 6 2021 #列出2021年6月份的日历
【clear命令】:清除屏幕上的信息
【pwd命令】:显示当前目录的绝对路径
【ls】:显示当前目录下所有文件和文件夹(名字)
二、目录和文件
/ 是根目录(root)
以圆点(.)开头的文件名是隐含文件
Linux系统区分大小写
文件类型
1)普通文件
- ①文本文件
- ②数据文件
- ③可执行的二进制程序文件
2)目录文件
3)设备文件, 通常设备设备文件存放在/dev目录下。
4)符号链接文件,相当于快捷方式
目录操作
2.1 目录切换 cd
cd / 切换到根目录
cd /usr 切换到根目录下的usr目录
cd ../ 切换到上一级目录 或者 cd ..
cd ~ 切换到home目录
cd - 切换到上次访问的目录
2.2 目录查看 ls [-a/l]
ls 查看当前目录下的所有目录和文件
ls -a 查看当前目录下的所有目录和文件(包括隐藏的文件)
ls -l 或 ll 列表查看当前目录下的所有目录和文件(列表查看,显示更多信息)ll可以查看文件属性信息
ls /home/user 查看指定目录(最好是绝对路径)下的所有目录和文件 如:ls /home/user
2.3 创建目录 mkdir
mkdir my 在当前目录下创建一个名为my的目录
mkdir /home/usr/my 在指定目录(绝对路径)下创建一个名为my的目录
2.4 删除目录或文件 rm
rm命令删除文件和目录
删除文件:
rm 文件 删除当前目录下的文件
rm -i 文件 删除当前目录的的文件(询问,yes/no)
删除目录:
rm -r my 递归(-r)删除当前目录下的my目录
rm -rf my 递归删除当前目录下的my目录(不询问)
rm -ri my 递归删除当前目录下的my目录(询问)
rmdir [-p] 目录 删除目录,若文件里有内容,则要带上-p
全部删除:
rm -rf * 将当前目录下的所有目录和文件全部删除
rm -rf /* 将根目录下的所有文件全部删除【慎用!】
注意:rm不仅可以删除目录,也可以删除其他文件或压缩包,为了方便大家的记忆,无论删除任何目录或文件,都直接使用 rm -rf 目录/文件/压缩包
2.5 复制目录或文件 cp
cp命令将源文件或目录复制到目标文件或目录,原文件保持不变
一般格式:
cp [选项] 源文件或目录 目标文件或目录
如果是目录,需要加、使用"-r"选项,递归,将整个目录下的所以文件和子目录都复制到目标位置
2.6 重命名或移动目录或文件 mv
mv命令对文件或目录重命名,或者将文件从一个目录移动到另一个文件
文件操作命令 cat/more/less/head/tail
命令 | 说明 |
---|---|
cat | 经常用来显示文件内容,也可以创建文件。cat 文件名 :显示文件内容 |
more | 显示文件内容,每次显示一屏,只允许向下浏览(向前) |
less | less命令分屏显示文件内容,可向前向后浏览 |
head | head命令在屏幕上显示指定文件开头的若干行,默认10行 |
tail | tail命令在屏幕上显示指定文件末尾的若干行,默认10行 |
head [选项] file
- c 字节
- N 指定N行
例:head -5 file 显示file文件前5行
创建文件 touch
创建文件
touch可以修改指定文件的时间标签或者创建一个空文件,把已存在的文件时间标签更新为系统当前的时间(默认),如果文件不存在则创建一个空的文件。
选项:
-a | 仅改变指定文件的存取时间 |
-m | 仅改变指定文件的修改时间 |
匹配、排序及显示指定内容命令 grep/sort/uniq
只写了命令作用,没选项,,需要用的自个百度
命令 | 作用说明 |
---|---|
grep | 在文本文件中查找指定模式的词或短语,并在标准输出设备上显示包括给定字符串模式的所有行 |
sort | 对文本文件的各行进行排序 |
uniq | 从排好序的文件中去除重复行(比较相邻的行,去掉重复的行,得先排序) |
比较文本内容的命令 comm/diff
命令 | 作用说明 |
---|---|
comm | 逐行比较两个已排序的文件,输出三列:仅在file1中出现的行,仅在file2出现的行,在两个文件都出现的行,选项[-123],1,2,3分别表示不显示第一列,第二列,第三列 |
diff | 比较两个文件找出它们的不同 |
链接文件的命令 ln
硬链接:建立硬链接时,在别的目录或本目录中增加目标文件的一个目录项,没有建立新文件
- 不能对目录文件创建硬链接
- 不能在不同的文件系统之间建立硬链接
软连接(符号链接)
可以对目录文件建立符号链接,也可以在不同文件系统之间建立符号链接
- 删除源文件或目录,只删除数据,不会删除链接。一旦以同样的文件名创建源文件,链接将继续指向文件的新数据
- 在目录长列表中,符号链接用l表示
- 符号链接的大小时其链接文件的路径名的字节数
- 当用ls -l 命令列出文件时,可以看到符号链接名后有一个箭头指向源文件或目录
ls命令创建链接
ls 【选项】 源文件 【目标文件】
ls默认为硬链接
ls -s 创建软连接
改变文件或目录存取权限的命令
4种不同类型的用户:
①主文件(owner)②同组用户(group)③可以访问系统的其他用户(others)④超级用户(root)
3种访问文件或目录的方式:
①读(r)②写(r)③可执行或查询(x)
chmod命令用于修改文件或目录的存取权限
umask命令用看来设置限制新建文件权限的掩码
文件压缩和解压缩 gzip/unzip
gzip命令对文件进行压缩和解压缩
gzip 【选项】 【name】
name表压缩(解压缩)文件名
unzip命令对zip格式的压缩文件进行解压
三、文件编辑vi/vim
1、vi的基本概念
基本上vi可以分为三种状态,分别是命令模式、插入模式、底行模式:
- 命令行模式command mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。 - 插入模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。 - 底行模式(last line mode)
将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号等。
功能键都在底行模式上操作(冒号操作)
2、vi的基本操作
a)进入vi/vim之后,是处于命令行模式,要切换的插入模式才能编辑文件(输入文字)
按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;
按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。
b) Insert 的切换
您目前处于「插入模式(Insert mode)」,您就只能一直输入文字,如果您发现输错了字!想用光标键往回移动,将该字删除,就要先按一下「ESC」键转到「命令行模式(command mode)」再删除文字。
c)退出vi及保存文件
: wq (输入「wq」,存盘并退出vi)
: q! (输入q!, 不存盘强制退出vi)
: w filename (输入 「w filename」将文章以指定的文件名filename保存)
3、命令行模式(command mode)
1)、粘贴复制删除等操作
----命令行模式:----
yy 复制光标所在行
2yy 复制光标所在行开始的2行
p 粘贴
x 删除当前光标所在的字符
X(大写) 删除当前光标前一个字符
dd 删除光标所在行(实际是剪切)
3dd 删除光标所在行开始的3行(剪切)
2)、光标的移动
---命令模式:----
h 左移 j 下移 k 上移 l 右移 (四个箭头也可以上下左右移动)
H 当前屏幕第一行
M 当前屏幕中间
L 当前屏幕最后一行
ctrl+f 往下翻页
ctrl+b 往上翻页
按数字「0」:移到文章的开头。
按「G」:移动到文章的最后。
按「$」:移动到光标所在行的“行尾”。
按「^」:移动到光标所在行的“行首”
按「w」:光标跳到下个字的开头
按「e」:光标跳到下个字的字尾
按「b」:光标回到上个字的开头
G 定位到最后一行(整个文档最后一行)
5G 定位到第5行
gg 定位到第一行(整个文档第一行)
w 跳到下一个单词
b 跳到上一个单词
{ 移动到上一个代码块
} 移动到下一个代码块
v、V 先按v再用上下箭头选中几行,再> 这几行集体右移,再.继续右移
v、V 先按v再用上下箭头选中几行,再< 这几行集体左移
按「#l」:光标移到该行的第#个位置,如:5l,56l。
3). 回复上一次操作
「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。
4、底行模式命令
先按「ESC」键确定您已经处于「command mode」下后,再按「:」冒号即可进入「last line mode」。
a) 列出行号
: set un #显示行号
: set nonu #取消行号显示
b)取消高亮
: noh
c) 跳到文件中的某一行
: num #转到第num行
d) 查找字符
: /ch #查找字符ch,n 继续下一个查找
: ?ch
e) 正则表达式查找字符串
:/^string$ #查找string字符串
f) 底行模式字符串替换
$ #表示最后一行
. #表示光标所在处
1 #表示第一行开始
%s #表示全部行
/g #表示这一行的多个
g) 分屏
vsp xxx.c #左右分屏在这个终端下打开xxx.c文件,
#不加文件名时再打开有一个当前打开的文件
sp xxx.c 上下分屏打开文件 xxx.c 用法同 vsp