Linux大集合

Linux

Linux是什么?

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、 支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和 64位硬件。

Linux内核

是一个Linux系统的内核,而不是一个操作系统

Linux操作系统

红帽操作系统(RedHat),乌班图(Ubuntu)等 才是操作系统的名字,他们都使用Linux内核,我们 常常把它们笼统的称为Linux操作系统。

Linux内核版本

在Linux下通过终端 输入 uname -r 可以得到Linux的内核版本

Linux版本号由四部分组成 :主版本号------次版本号------修订版本号------微调版本号

终端

Linux的终端就是控制台,是用户与内核交互的平台, 通过输入指令 来控制内核完成任务操作。

Shell

shell是linux的外壳。是一个内核的解释器,让我们跟内核交流翻译的工具。

命令的解释

可以解析我们给shell终端的命令,来控制操作系统 做相关的功能。

保护操作系统

可以帮助我们通过一条简单的命令来调用系统函数 或者系统接口,来依次完成我们需要的功能,不会 导致调用错误或者其他问题导致系统不能正常使用。

Linux目录结构
/bin 存放基础系统所需的命令
/sbin 存放超级权限用户root的可执行命令
/etc 存放系统程序或者一般工具的配置文件
/dev 设备文件存储目录
/proc 操作系统运行时,进程信息及内核信息
/var 存放内容可能增长的文件(如日志)
/tmp 临时文件包含系统和用户创建的临时文件
/user 用户程序包含二进制文件、库文件、文档和二级程序的源代码
/home 所有用户用home目录来存储他们的个人档案
/boot 引导加载程序文件包含引导加载程序相关的文件
/lib 系统库
/opt 可选的附加应用程序包含从个别厂商的附加应用程序
/mnt 挂载目录临时安装目录,系统管理员可以挂载文件系统。
/media 可移动媒体设备
/srv 存服务数据

22端口号是SSH服务器默认的端口号

基本命令
查看目录内容

ls ls [选项] [文件或目录]

选项:

-l : 每列仅显示一个文件或目录名称。

-a 或--all : 下所有文件和目录。

-i 或--inode: 显示文件和目录的inode编号。

文件或目录: 制定的目录或这文件,如果没 有这一项,默认当前目录。

ls -l 以列的方式显示

ls -a 显示所有包括隐藏目录

ls -a /bin 显示/bin下的所有文件

改变工作目录

cd

选项: 无

文件或目录: 绝对路径:一定由根目录 / 写起

相对路径:相对于某一路径,其中.代表当前目 录,...代表上一级目录 ~:表示家目录

cd /etc 到根目录下的etc目录

cd ... 到上一级目录

cd ~ 到当前用户的家目录

显示系统重要信息

uname

uname [选项] [文件或目录] 选项: -r:内核版本 -n: 主机名 -a: 所有信息

文件或目录: 无

备注: 查看发行版的版本 cat /etc/redhat-release

uname -r 内核版本

uname -n 主机名

uname -a 显示所有系统重要信息

基本命令-文件管理
改变文件的时间

touch

touch [选项] [文件或目录]

选项: -t:使用指定的时间,而非现在的时间

文件或目录: 要改变的文件的路径。

含义:使用touch指令可更改文件或目录的日期时间,包 括存取时间和更改时间。注意的是如果文件不存在 则创建文件。

touch file 改变file文件的时间

touch -t1801311830 file 指定时间改变

touch 如果目录不存在touch帮你创建一个目录

创建目录

mkdir

mkdir [选项] [文件或目录] 选项: -p:递归创建目录,嵌套目录

文件或目录: 跟目录的路径

注意:文件名大小写敏感,不可超过255字符, 不可以使用/,建议不要~ \ < > ( ) $ * ? " '

mkdir aa 创建一个aa目录

mkdir -p aa/bb/cc 创建一个嵌套的目录

拷贝文件或目录

cp 将文件和目录从一个目录拷贝到另一个目录

cp [选项] [源文件或目录] [目的文件或目录]

选项:

-i:在拷贝过程中询问是否要拷贝

-f:在拷贝过程中不询问直接拷贝

-r:拷贝目录中的所有文件和目录

文件或目录: 源文件或目录:指的是需要拷贝哪个文件的路 径 目的文件或目录:指要把源文件或目录拷贝到 哪里的路径

cp /aa /home/king 将根下的aa拷贝到 home下的king中

删除空目录

rmdir 删除空的文件目录

rmdir [选项] [目录]

选项: -p:删除指定目录上的所有目录

文件或目录: 要删除的文件目录的路径

rmdir /aa 删除根下aa空目录

删除文件或目录

rm 删除文件或目录,执行rm指令可删除文件或目录, 如欲删除目录必须加上参数"-r",否则预设仅会删 除文件。

rm [选项] [文件或目录]

选项:

-i:删除时询问是否要删除

-f: 删除时不询问直接删除

-r: 递归删除目录下的所有文件或目录

文件或目录:所要删除的文件或目录的路径

rm file 删除文件file

rm -r /aa 删除aa目录下的所有文件或目录

移动或更名

mv 可移动文件或目录,或是更改文件或目录的名称

mv [选项] [源文件或目录] [目标文件或目录]

选项:

-i:在移动时有覆盖是询问是否要覆盖

-f: 在移动时有覆盖不询问直接覆盖

文件或目录: 源文件或目录:要移动或更名的文件或目录 目标文件或目录:如果有不是当前路径的路径 就是要移动,如果是当前路径下就是更名

mv /aa ~/ 将aa移动到家目录下

mv aa bb 将aa更名bb

基本命令-tar
打包

tar 是要是用来打包或这解包,压缩或这是解压缩的一 个命令,常常用作备份文件使用,或将许多文件打 成一个包并压缩。

tar [选项] [目标包名] [源文件或目录]

选项: -c:创建一个包 -f: 定义目标包

目标包名: 要打成的包名

源文件名或目录名: 哪些文件要被打成包

tar -cf xxx.tar /aa 将aa 打成xxx.tar包

查看

tar 是要是用来打包或这解包,压缩或这是解压缩的一 个命令,常常用作备份文件使用,或将许多文件打 成一个包并压缩。

tar [选项] [包名]

选项: -t:查看包里面的文件! -f: 定义目标包

目标包名: 查看xxx.tar 的包的路径

tar -tf xxx.tar 在不解包的情况下查看 里面的文件或目录

添加

tar [选项] [包名] [源文件或目录]

选项: -r:将文件追加到包中 -f: 定义目标包

包名: 查看xxx.tar 的包的路径

源文件或目录: 要添加的文件或这目录

tar -rf xxx.tar bb 将bb文件追加到xxx.tar 包中

解包

tar [选项] [包名]

选项: -x:将包 解包 -f: 定义目标包

包名: 查看xxx.tar 的包的路径

tar -xf xxx.tar 将xxx.tar中的文件解包

压缩

tar [选项] [压缩名] [源文件]

选项:

-c:打包

-z:将打包的文件用gzip格式压缩

-v:显示过程

-f: 定义目标包

压缩名: 指定压缩的名字

源文件: 要打包压缩的文件

tar -czvf xxx.tar.gz /aaa bb 将/aaa bb 文件 打包压缩为 xxx.tar.gz

解压缩

tar [选项] [包名]

选项:

-x: 解包解压

-z:以gzip的格式进行解压

-v:显示过程

-f: 定义目标包

包名: 查看xxx.tar 的包的路径

tar -xzvf xxx.tar.gz 将 xxx.tar.gz解包解压到当前目录下

基本命令-帮助查询
man手册

man 是Linux下的帮助指令,通过man指令可以查看 Linux中的指令帮助、配置文件帮助和编程帮助等信息。

man [选项] 命令名

选项:

-a:在所有的man帮助手册中搜索;

-f:等价于whatis指令,显示给定关键字的简短描述信 息;

man ls 通过man手册查看ls

man -f ls 简要的查看ls的作用

基本命令-帮助查询-find
按文件名称

find 在指定目录下查找文件。任何位于参数之前的字符 串都将被视为欲查找的目录名。如果使用该命令时, 不设置任何参数,则find命令将在当前目录下查找 子目录与文件。并且将查找到的子目录和文件全部 进行显示。

find [查找的路径][选项] [参数]

选项:

-name:按名称查找

-iname: 忽略大小写

选项: 用双引号引起来

find . -name "*.txt" 在当前文件夹下查找 以.txt结尾的文件

find . -name ".txt" -o -name ".pdf" 在当前目录下查找以.txt 结尾的或这以.pdf结尾

find . -iname "AA" 忽略大小写查找AA文件

文件类型分类
基本命令-帮助查询-find
按文件类型

find [查找的路径][选项] [参数]

选项:

-type:文件分类超找

-maxdepth :从当前目录开始搜索的深度(也 就是子目录的嵌套)

参数: f(表示普通文件),c, d, l, b ,s ,p 这些文件类 型

find . -type f 在当前文件夹下查找普 通文件

find . -type d 在当前目录下查找目录

find . -maxdepth 3 -type f 当前目录开始深度为3层 的所有普通文件

基本命令-帮助查询
查看文件的信息

stat 用来查看文件的具体存储信息和时间等信息

stat 参数

参数: 文件名

stat a.txt 查看a.txt文件信息

统计文本

wc 用来计算数字。利用wc指令我们可以计算文件的 Byte数、字数或是列数,若不指定文件名称,或是 所给予的文件名为"-",则wc指令会从标准输入 设备读取数据。

wc [选项] [文件]

选项: -c:只显示Bytes数; -l:只显示列数; -w:只显示字数。

wc xxx.txt 显示文本的行号 字符数 单词数

wc -c 显示字符数

查看文本内容

cat 用来显示文件的内容

cat [选项] [文件]

选项:

-n:有1开始对所有输出的行数编号;

-b:和-n相似,只不过对于空白行不编号;

cat xxx.txt 显示文本的内容直接输出在屏幕上

cat -n xxx.txt 在每一行前加行号

查看文本内容

more 命令一次显示一屏文本,满屏后停下来,并且在屏 幕的底部出现一个提示信息,给出至今己显示的该 文件的百分比

more [文件]

操作:

按Space键:显示文本的下一屏内容。

按Enier键:只显示文本的下一行内容。

按H键:显示帮助屏,该屏上有相关的帮助信息。

按B键:显示上一屏内容。

按Q键:退出more命令;

more xxx.txt 分进度显示文本内容

查看文本内容

less 用less命令显示文件时,用PageUp键向上翻页,用 PageDown键向下翻页。要退出less程序,应按Q 键。

less [参数] [文件]

参数 -e:文件内容显示完毕后,自动退出;

-N:每一行行首显示行号;

less xxx.txt 分屏显示文本内容

查看文本内容

head 用于显示文件的开头的内容。在默认情况下,head 命令显示文件的头10行内容。

head [参数] [文件]

参数 -n:指定从头显示多少行;

head -5 xxx.txt 查看头5行

查看文本内容

tail tail命令默认在屏幕上显示指定文件的末尾10行。

tail [参数] [文件]

参数 -n:指定从尾显示多少行; -f:监控文件尾部插入的行

tail -5 xxx.txt 查看尾5行

显示日历

cal 显示日历,可以按照指定的年份月份来显示,还可 以显示当年中的第几天

cal [选项] [月份] [年份]

选项:

-s: 显示星期天为一个星期的第一天,默认的 格式

-m: 显示星期一为一个星期的第一天

-j: 显示在当年中的第几天

月份: 1-12

年份: 1-9999

cal 显示当年当月的日历

cal 8 2017 显示2017年8月的日历

cal -j 8 2017 显示8月的是当年的第几 天

显示时间

date 打印不同格式的时间或日期,以及要根据时间和日 期执行操作,也可以使用命令设置固定的格式,在 类UNIX系统中,日期被存储为一个整数,1970年1 月1日0时0分0秒起流逝的秒数

date [选项] [参数]

选项:

-d<字符串>:显示字符串所指的日期与时间 。字符串前后必须加上双引号;

-s<字符串>:根据字符串来设置日期与时间 。字符串前后必须加上双引号;

-u:显示GMT(世界时间);

date +"%Y-%m-%d %H-%M-%S" 格式化显示时间

date -s "20180523 00:20:00" 设置时间

文件大小

du 对文件和目录磁盘使用的空间的查看

du [选项] [参数]

选项:

-s 仅显示总计,只列出最后加总的值。

-h 以K,M,G为单位,提高信息的可读性。

参数: 目录或文件

du kk 查看kk文件的大小

连接

ln ln命令用来为文件创件连接,连接类型分为硬连接 和符号连接两种,默认的连接类型是硬连接。如果 要创建符号连接必须使用"-s"选项。

ln [选项] [参数]

选项: -s:创建软连接

参数: 源文件:指定要连接的文件

目标文件:指定源文件要连接的文件

ln -s kk /lnkk 将kk文件做一个软连接到 /lnkk

查看历史命令

history 显示指定数目的历史指令命令,历史命令是被保存 在内存中的,当退出或者登录shell时,会自动保存 或读取。在内存中,历史命令仅能够存储1000条历 史命令。

history [选项] [参数]

选项:

-c:清空当前历史命令;

-a:将历史命令缓冲区中命令写入历史命令 文件中;

-r:将历史命令文件中的命令读入当前历史 命令缓冲区;

参数: n:打印最近的n条历史命令;

history 10 使用history命令显示最近使用的10条历史命令

基本命令-其他命令
退出shell

exit 退出shell,并返回给定值。在shell脚本中可以终止 当前脚本执行。

exit 没有选项,没有参数,是一个单命令

exit 退出shell

控制台输出

echo 在shell中打印shell变量的值,或者直接输出指定的字符串

echo [参数]

参数: 要输出的值或字符串

echo "hello" 在终端输出hello

命令别名

alias 使用该命令可以将一些较长的命令进行简化。使用 alias时,用户必须使用单引号''将原来的命令引起来, 防止特殊字符导致错误。

alias [选项] [参数]

选项: -p:打印已经设置的命令别名。

参数: alias 新的命令='原命令 -选项/参数'

alias -p 显示已有的别名

alias cc='ls -il' 给ls -il 组合命令下·其别名

unalias 用来取消命令别名,是为shell内建命令。如果需要 取消任意一个命令别名,则使用该命令别名作为指 令的参数选项即可。

unalias [选项] [参数]

选项: -a:取消所有命令别名。

参数: 命令别名:指定要取消的命令别名。

unalias lskk 取消 lskk这个别名

文本查找

grep 是一种强大的文本搜索工具,它能使用正则表达式 搜索文本,并把匹配的行打印出来。

grep [选项] [参数]

选项:

-i 忽略字符大小写的差别。

-n 在显示符合范本样式的那一列之前, 标示出该列的编号。

-v 反转查找。

参数:

关键字:要超找的字符串

文件路径:要去哪个文件去超找

grep "text" -n file_name 输出包含匹配字符串

grep -v "text" file_name 输出除之外的所有行

止特殊字符导致错误。

alias [选项] [参数]

选项: -p:打印已经设置的命令别名。

参数: alias 新的命令='原命令 -选项/参数'

alias -p 显示已有的别名

alias cc='ls -il' 给ls -il 组合命令下·其别名

unalias 用来取消命令别名,是为shell内建命令。如果需要 取消任意一个命令别名,则使用该命令别名作为指 令的参数选项即可。

unalias [选项] [参数]

选项: -a:取消所有命令别名。

参数: 命令别名:指定要取消的命令别名。

unalias lskk 取消 lskk这个别名

文本查找

grep 是一种强大的文本搜索工具,它能使用正则表达式 搜索文本,并把匹配的行打印出来。

grep [选项] [参数]

选项:

-i 忽略字符大小写的差别。

-n 在显示符合范本样式的那一列之前, 标示出该列的编号。

-v 反转查找。

参数:

关键字:要超找的字符串

文件路径:要去哪个文件去超找

grep "text" -n file_name 输出包含匹配字符串

grep -v "text" file_name 输出除之外的所有行

相关推荐
舞动CPU4 小时前
linux c/c++最高效的计时方法
linux·运维·服务器
秦jh_6 小时前
【Linux】多线程(概念,控制)
linux·运维·前端
keep__go8 小时前
Linux 批量配置互信
linux·运维·服务器·数据库·shell
矛取矛求8 小时前
Linux中给普通账户一次性提权
linux·运维·服务器
Fanstay9858 小时前
在Linux中使用Nginx和Docker进行项目部署
linux·nginx·docker
大熊程序猿8 小时前
ubuntu 安装kafka-eagle
linux·ubuntu·kafka
daizikui10 小时前
Linux文件目录命令
linux·运维·服务器
NikitaC10 小时前
ldconfig 和 LD_LIBRARY_PATH 区别
linux·c++
清源妙木真菌10 小时前
Linux:进程概念
linux