linux的入门篇
文章目录
一,linux的基本原则
- 1,’/‘根作为系统的源头,一切文件都从根开始,一切皆文件。
- 2,文件可以包含大小写字母和数字,但规范的文件不应该以数字开头
- 3,严格区分大小写,不能使用/当作文件名
- 4,不做不必要的事情,高效做事情。
二,Bash特性
2.1,shell以及bash特性
- 1,类型:sh,bash,zsh,tcsh,csh,ksh:查看shell命令cat /etc/shell
- 2,支持命令历史,补全
- 3,支持管道,重定向,别名,支持命令行展开
- 4,支持文件通配符,正则表达式,支持变量,shell脚本
- 5,!加关键字,只能执行最后一跳的关键字命令记录;
- 6,echo ¥HISTSIZE最多只记录一千条历史命令。
2.2,bash支持的引号
2.3,bash常用操作
- 1,//光标跳转
-
a.Ctrl+a/ //跳到命令行首
-
b.Ctrl+e //跳到命令行尾
-
c.Ctrl+u //删除光标至命令行首的内容
-
d.Ctrl+k //删除光标至命令行尾的内容
-
e.Ctrl+<-- //光标定位到离自己最近的一个单词前面
-
c.Ctrl+l //清屏
-
3,命令
3.1 命令格式
- 命令 [选项] [参数]
选项:可以有0个或者多个(短选项-;长选项–;)
参数:命令的作用对象(可以有0个或多个)
3.2,命令类型
Linux命令分为内部和外部命令
- 1,内部命令(shell内置);通过bash提供的,不需要安装内嵌在内核中的,help+命令
- 2,外部命令:在文件系统的某个路径下有一个名称响应的可执行文件:通过whcich可以查找到命令所存在的文件路径。命令±-help
脚注:type //显示i指定命令属于那种类类型
3.3,常用的命令
- 1,ls: 查看的文件类型有
可选的文件类型
- | 普通的文件 |
---|---|
d | 目录文件directory |
c | 字符设备,charater |
l | 链接文件link |
s | 套接字文件 |
- 文件的类型后市文件的权限
- 文件的硬链接次数,
- 文件的所属主,(owner)
- 文件的所属组,(group)
- 文件的大小(以字节为单位),(size)
- 时间戳(timestamp),最近一次被修改的时间
访问//access
修改// modify 文件的内容发生改变
改变 //change:matadta 无数据。
命令的语法*
ls | |
---|---|
-l | 查看详细信息,第一位是文件的类型。 |
-d | 查看目录本身 |
-a | 不忽略以.开头的隐藏文件。 |
-h | 单位的转换 |
-i | 显示文件的inode |
-r | 逆序显示 |
-R | 递归显示 |
ls -l -d ana.cfg /tmp/ks 可以同时查看多个文件。
- 2,alias 别名;使用的语法alias cdnet= ‘cd /etc/syscpnfig’ 直接定义别名进入目录。
- 3,cd 改变目录:change directory
用法 -
绝对路径和相对路径。
-
cd 回到主目录,cd 回到上次目录,cd~回到用户主目录。
-
cd - 来回切换,类似回看,直接与上次路径进行切换。
- 4,pwd:当前路径,显示当前所在的位置
- 5,mkdir 新建文件夹,新建目录
-用法
mkdir | 描述 |
---|---|
-p(praent父) | 创建父文件夹后创建子文件夹。 |
-v(verbose冗长的) | 回显创建文件夹的过程 |
使用案例;
-
6,rmdir 删除目录:只能删除一个非空目录
-
7,tree:查看目录树,以树状的结构显示当前目录的内容。
例:
-
8,touch:创建文件,分为两种说法:“无中生有”,“辞旧迎新----将文件的时间重置”
-
9,stat:查看文件的状态,查看文件的访问时间,修改时间,改动(文件大小)更改(内容改变)
例如 -
10,rm, remove移动删除,删除文件目录
可选参数
–r:递归删除,删除目录时必须使用此选项
-f;强制删除,不进行询问。:
删除文件只用-f,删除目录才携带-r
- 11,cp:copy 拷贝复制
可选参数
–r:拷贝目录
-f;强制拷贝。:
-a;归档复制,常用于备份。
-p;拷贝时保留原权限。 - 12,mv,move移动文件,(在本地是重命名),剪切文件(目标在远端是剪切)
- 13,cat: 查看文件内容----链接多个文件,查看多个文件,合并内容,生成多行文本。
- 14,echo ‘hello‘ >abc 写入文件 echo回显写入的内容,>一个就是覆盖,>>两个就是追加。’
cat >abc <<EOF在写入文件到abc中,<<EOF检测到这个EOF就会结束写入。且>>追加也一样,当检测到EOF就会结束写入。 - 15,tac:翻装:链接我呢见并倒叙打印内容加载至内容。
- 16,more://全屏查看文本内容,只能从前往后看
- 17,less:全屏查看文本内容,可以从前往后,也可从后往前看,使用b 就是往前看,空格就是往后看
- 18,head 从头部开始看文件的内容,默认查看前10行,可以通过-n指定行数,head -10 abc 来查看文件
- 19,tail 从结尾开始看文件的内容,默认看最后10行,也可以i通过-n指定行数,tail -10 abc 来查看后10行的文件
- 20,wc:文本统计,word count
用法:-w统计单词,-f统计行数,-c统计字符
如
- 21,du 统计文件的大小,-sh summary hunman 概要信息,s查看目录,h带有单位的查看。
- 22,df :报告文件系统磁盘空间使用情况,-h 以人类友好的方式显示,-i显示inode信息
如:
- 23,hostname:查看与临时设置主机名,更改主机名,重启会恢复。
- 24,hostnamectl:永久设置主机名,命令使用方法 hostnamectl set-hostname 主机名,然后使用bash刷新主机名
- 24,clear,请屏,将终端的内容全部清空,快捷键Ctrl + l
- 25,whoami 显示当前登陆的用户
- 26,who显示当前所有已经登陆的账户信息
- 27,w,显示所有已登陆的账户,并显示其在工作什么
- 28,which 查看命令所在的位置。
[root@Eryuege admin]# which cd
/usr/bin/cd
- 29,date //显示当前时间,或设置时间
使用方法
选项 | 描述 |
---|---|
-s | 以字符的形式设置时间,如date -s ’2020-10-17 10:30:00‘ |
%Y | 年份 |
%m | 月份 |
%d | 日期 |
%H | 时 |
%M | 分 |
%S | 秒 |
- 30,cal 万年历
- 31,ldd查看命令所依赖的文件,切记没有做快照的情况下不要乱移动命令依赖的文件,博主遇到过血的教训!!!
- 32,tar :文件压缩工具
压缩的文件分类
文件后缀 | 使用的工具 |
---|---|
…tar.gz | tar |
.tar.bz2 | tar |
.tar.xz | tar |
.zip | zip通用跨平台的。 |
压缩比会越来越小。
tar的使用方法
选项 | 功能 |
---|---|
-c | 创建归档 |
-z | 压缩成gz格式 |
-j | 压缩成bz2格式 |
-J | 压缩成zx格式 |
–v | 显示详细信息 |
-t | 不解压查看压缩包内容 |
-f | 指定要压缩或解压缩的文件 |
-x | 解压缩 |
组合键使用 | |
-zcf | 创建一个gz格式的压缩文件 |
-jcf | 出啊关键一个bz2格式的压缩文件 |
-xvf | 解压指定文件,并查看过程 |
-xf | 解压指定文件 |
-C | z指定解压的目录 |
zip压缩文件 | zip 1.zip 1, 2 4 5 6 7 7可以将多个文件压缩进一个压缩文件 |
unzip | 解压缩文件 |
安装依赖文件的方法
3.3,文本处理之文本三剑客awk-sed-grep!!!
- 1,cut :截取文本的内容,-d指定字段的分割符,默认是空格,-f指定要显示的字段。
- 2,awk:取出指定列的内容;awk -F分割符 ’NR==行数{print $需要的列}‘ filename
分割符不指定默认是空格, 取 正 数 值 的 内 容 , N R 指 定 行 数 , N F 指 定 最 后 一 列 , 可 以 通 过 取正数值的内容,NR指定行数,NF指定最后一列,可以通过 取正数值的内容,NR指定行数,NF指定最后一列,可以通过(NF-2)查看倒数第二列的内容
- 3,sed:处理行的内容;sed [option] ’需要处理的动作‘ filename
-n 关闭默认的打印动作。只打印需要处理的动作。
如“
[root@Eryuege admin]# sed -n ‘1s/root/123/p’ passwd
123❌0:0:root:/root:/bin/bash
sed ’1s/123/abc/g‘ abc 处理第一行的123替换位abc并打印。
参数 | 描述 |
---|---|
1 | 表示第一行 |
s | 表示修改替换 |
c | 表示改变 |
a | 表示追加内容 |
g | 表示全部,如果1表示第一个匹配 |
D | 删除 |
p | 打印 |
- 4,gerp 过滤文本的内容
- 4.1,grep egrep fgrep
:根据模式搜索文本,并将符合模式的文本显示出来。
:使用基本正则表达式定义的模式来过滤文本的命令。
(Pattern 模式) 文本字符和正则表达式的元字符组合而成的匹配条件。
选项参数
选项 | 描述 |
---|---|
-i | 忽略大小写 |
- - color | 匹配带的内容高亮显示 |
-v | 显示没有被模式匹配到的行 |
-o | 只显示被模式匹配到的字符串 |
-E | 使用扩散正则表达式,grep -E相当于使用egrep |
-q | 静默模式,不输出任何信息 |
-A(after后) 1 | 被模式匹配到的内容以及其后面一行的内容都显示出来 |
-B (before前)1 | 被模式匹配到的内容以及其前面一行的内容都显示出来 |
-C (前后)1 | 被模式匹配到的内容以及其前后的行各显示1行。 |
示例:
root@Eryuege ~]# grep -A 2 ‘hell’ ac
hell world
cat
han de
[root@Eryuege ~]# grep -B 2 ‘hell’ ac
1231
heloo
hell world
[root@Eryuege ~]#
- 4.2,,fgrep 不支持正则表达式,执行行速度快
实例:[root@Eryuege ~]# cat ac |grep ‘world’
hell world
- 5,sort:默认神曲排序,不是桉数值大小排序的.
用法
sot选项 | 描述 |
---|---|
-n | 根据数值大小进行排序 |
-r | 逆序排序 |
-t | 字段分隔符 |
-k | 以那个字段为关键字进行排序 |
-u | 去重,排序后相同的行至显示一次 |
-f | 排序是忽略字符大小写 |
uniq选项 | 描述 |
-c | 显示文件中行重复的次数 |
-d | 只显示重复的行 |
-u | 只显示未重复的行 |
通过-E多个内容同时查找|通过正则表达式进行查找
[root@Eryuege ~]# grep -E ‘123|ha’ ac
1231
han de
4,获取帮助:
- 1,通过man命令查看手册。
- 2,通过–help查看简要帮助说明
- 3,通过pinfo查看详细手册说明。
//内部命令
help COMMAND
//外部命令
COMMAND --help
//在线文档
info COMMAND
//命令手册 manual
man COMMAND
//文档
/usr/share/doc
whatis COMMAND //用于查看COMMAND出现在man的哪一章节中。
//man是分章节的,以下是每一章节的内容介绍:
1 用户命令(/bin,/usr/bin,/usr/local/bin);
2 系统调用;
3 库调用;
4 特殊文件(设备文件);
5 文件格式(配置文件 的语法);
6 游戏;
7 杂项(Miscellaneous);
8 管理命令(/sbin,/usr/sbin,/usr/local/sbin)
//man手册注意事项:
[] //可选
<> //必选
… //可以出现多次
| //多选一
{} //分组
NAME //命令名称及功能简要说明
SYNOPSIS //用法说明,包括可用的选项
DESCRIPTION //命令功能的详尽说明,可能包括每一个选项的意义
OPTIONS //说明每一个选项的意义
FILES //此命令相关的配置文件
BUGS //报告bug
EXAMPLES //使用示例
SEE ALSO //另外参照
//man翻屏
向后翻一屏 //SPACE
向前翻一屏 //b
向后翻一行 //enter
向前翻一行 //k
//查找
/KEYWORD //向后
?KEYWORD //向前
n //下一个
N //前一个
q //退出