超详细linux命令手册及正则表达式手册

发布于:2023-02-01 ⋅ 阅读:(572) ⋅ 点赞:(0)

第一章:

第一节:

  • 终端(terminal):主机输入输出设备
  • 主机:程序和数据的存储与处理
  • 行律:
    1. 一行内字符的缓冲,回显与编辑,知道回车结束
    2. 数据加工
    3. 将字符转化为信号

第二节:

  • shell提示符:
    1. $普通用户提示符
    2. #超级用户提示符

su

su:
切换用户
su root切换到超级用户
  • 几个基本Linux命令:

man

man:
说明书与使用手册
q-退出,空格-下一页,上下箭头-上下移动
使用方法:
man name
man section name
man -k regexp
section:
1-命令,2-系统调用,3-库函数,5-配置文件

date

date:
第一个字符规定为+,%Y-年号,%m-月份,%j-天数
ntpdate -q 0.pool.ntp.org查询时间

cal

cal:
使用方法:
cal year;
cal month year

bc

bc:
功能强大的计算器,精度任意
bc精度为0,bc -l精度为20

passwd

passwd:
更改自己的口令
口令是通过哈希算法来存储的

第三节:

  • 系统状态命令:

who

who:
列出当前登入系统的用户
who am i:列出当前终端上登陆的用户

uptime

uptime:
显示已开机年龄

top

top:
列出资源占用排名靠前的进程
属性:
VIRT-进程逻辑地址空间大小
RES-驻留内存数
SHR-与其他进程共享的内存数
%CPU-CPU占用百分比
%MEN-内存占用比
TIME-占用CPU时间

ps

ps:
查阅进程状态
e-列出系统所有进程,f以full模式列出,l-长格式列出
属性:
UID-用户ID
PID-进程ID
PPID-父进程PID
C-CPU占用指数
SZ-进程逻辑内存
TTY-终端名字
COMMAND-命令名
TIME-占用CPU时间
PRI-优先级
S-状态

free

free:
了解内存使用情况

vmstat

vmstat:
了解系统负载

第四节:

  • 重定向:将标准输入或标准输出重定向,用<输入重定向和>输出重定向
cat hello.c > redirection.txt
  • 管道:用|将多个命令连接组合,将前一个命令的输出转为后一个命令的输入
cat hello.c | grep hello

第五节:

  • 文本文件基础命令:
  • more与less

more与less:
使用方法:
more filename
more *filename
ls -l | more
空格-显示下一屏,回车-下滚动,q-退出,Ctrl+L-刷新
注:less可以回退,可用上下键滚动

cat与od

cat与od:
列出文件内容
cat -n:添加行号打印,od:逐字节打印,可以以不同进制打印
echo 字符 | od:可以打印字符不同进制的ascii

head与tail

head与tail:
显示文件前或后10行
-n number:可以显示number行数据
tail -f:实时打印文件尾部追加内容

wc

wc:
显示文件字数
l-显示文件行数,m-显示文件字符数

sort

sort:
对文本进行排序
默认对数字以字符串排序,n-对数字按照算数大小排序

tr

tr:
翻译字符,将标准输入拷贝到标准输出
使用方法:
tr 'str1' 'str2':将str1中出现的字符替换为str2中的字符
注:可用[]指定一个集合,可用-表示一个范围,可用\加三个八进制十足表示一个字符

uniq

uniq:
筛选文件中重复的行
保留没有重复的行和有重复的行一次,u-保留没有重复的行,d-保留重复的行一次,c-显示重复次数

第二章:

第一节:

  • 正则表达式(BRE):字符串匹配与替换操作
  • 注:正则表达式与文件通配符规则不一样
  • 6个元字符:
. * [ \ ^ $:
1.用\可以取消元字符的特殊作用
2.用[]表示集合,. * \在[]中表示自己,可用-表示一个区间(放在最后失去区间意义),可用^放在开头表示补集(放在其他地方失去补集意义)
3.用.表示任意字符
4.用*放在正则表达式或字符后,匹配此单字符0次或任意多次出现

第二节:

  • 组合:可用单字符正则表达式组合
  • 锚点:
$:在尾部时表示匹配文件行尾的字符,否则表示自身
^:在首部时表示匹配文件行首的字符,否则表示自身
:number1,number2:表示number1行到number2行

第三节:

  • 正则表达式相关命令:
  • grep

grep:
在文件中查找字符串
n-显示时显示行号,v-显示所有不包含模式的行,i-忽略字母大小写比较
空行表示方法:'^ *$'

sed

sed:
流编辑
使用方法:
sed -e '命令1' -e '命令2' -e '命令3' 文件名
sed -f 命令文件 文件名
sed 's/被替换项/替换项/g' 文件名
加上\(或者\)不影响匹配工作
\0:匹配的整个字符串,\1:匹配中用圆括号括起来的字符串

awk

awk:
awk '/条件/{动作}'
逐行扫描文件并进行文件处理
每行用空格隔开的部分叫做"域",$n表示第n域的内容,$0表示整行内容

第三章:

第一节:

  • 文件比对命令:

cmp

cmp:
两个文件逐字节比较
输出第一个不同的位置
注:现在多用MD5算法或者SHA-1算法来比较(md5sum)

diff

diff:
显示两个文件的差别
a-Add,c-Change,d-Delete,左边的文件对应行经过a,c,d对应新文件行才能得到右边的文件,其中<是移出,>是输入
diff -u:git模式下比较

版本管理系统:SVN,GIT;对文本文件进行版本管理

第二节:

  • 文本文件的编辑命令:

vi

vi:
i-在当前字符前插入正文,a-在当前字符后插入正文,Esc-退出文本编辑回到命令编辑
用h,j,k,l来移动,^移动到开头,$移动到结尾,:n移动到第n行,%花括号配对移动
x-删除一个,dd-删除一行,r-字符替换,u-撤回上次操作,.-重复上次操作
ZZ:wq<CR>-存盘退出,:w<CR>存盘不退出,:q!<CR>不存盘退出,/正则表达式-模式查找(n-向下查找,N-向上查找),s///g-替换(s:::g,s^^^g都可以代替s///g)

第三节:

  • 文件名:不能是/字符,大小写有区别
  • 文件分类:/etc目录,/tmp临时文件,/var运行文件,/bin常用命令,/dev设备文件,/usr/include头文件,/lib库文件
  • 文件通配符规则:
*:
匹配任意长度的文件名字符串(包括空字符)
.和/字符文件必须显式匹配
?:
匹配任一单字符
[]:
匹配括号内任一字符,也可用-指定范围

第四章:

第一节:

  • 文件操作基本命令:

ls

ls:
列出当前目录下所有文件和目录
F-在目录后加/,可执行文件后加*,符号链接文件后加@,普通文件后无标记,l-长格式列出,h-便于人阅读方式打印数值,d-列出目录自身信息,a-列出首字符为.的文件,s-列出文件占用磁盘空间

cp

cp:
复制文件
cp file1 file2(file2不存在则创建)
cp file1 file2 ... filen dir

mv

mv:
移动文件
mv file1 file2
mv file1 file2 ... filen dir
mv dir1 dir2
注:若是file2和dir2不存在,则相当于改名

rm

rm:
删除文件
r-递归删除,i-删除文件前需要确认,f-强迫删除,用--显式表示命令行选项结束

第二节:

  • 目录管理及路径名相关命令:

pwd

pwd:
打印当前工作目录

cd

cd:
改变当前工作目录

mkdir

mkdir:
创建新目录
p-自动创建路径中不存在的目录

rmdir

rmdir:
删除目录

cp

cp:
复制目录
r-递归的复制目录,v-冗长方式,实时列出复制文件名,u-增量拷贝便于备份

touch

touch:
更改文件更新时间

find

find:
遍历搜索目录树
find filename -name 'wildcard' -action
-type:f,d,l,c,b,p
-size:+-n,单位c,b(默认),k,M,G
-mtime:+-n,单位day
()-与,-o-或,!-非
exec ;:对查找到的目标马上执行命令,用{}表示查找到的目标文件
ok:需要经过操作员确认

第三节:

gzip

gzip/gunzip:
用gzip方式压缩和解压一个文件(执行速度快,效率低)

bzip2

bzip2/bunzip2:
用bzip2的方式压缩和解压一个文件(执行速度慢,效率高)
本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到