Linux学习笔记

0.基础知识
“/”下主要目录
/bin:binaries 启动时,需要执行的二进制文件,普通用户
/sbin:superuser binaries
/boot:bootstrap 自举加载程序,启动时这些文件首先被加载
/dev:devices
/usr:unix shared resources目录包含所有的命令、程序库、文档和其它文件
/home 包含用户的文件,参数设置文件、个性化文件、文档、数据、EMAIL、缓存数据等。这个目录在系统升级时应该保留
/etc:操作系统的配置文件目录
/mnt:软盘、光盘、优盘等外设的预设挂载点
/lib:根文件系统目录下程序和核心模块的共享库
/tmp:temporary
/root:系统管理员的家目录
/lost+found 在文件系统修复时恢复的文件
/opt:安装文件夹
进入系统的显示解释
默认显示 [root@localhost~]#
root:当前登录的用户为root
@localhost:登录的主机名称
~:切换目录后,变为切换后的文件目录;
eg: [root@localhost work]#表示进入到了work目录
#:当前为root 用户
如果显示为$:表示当前为普通用户
↑和↓可以滚动之前用过的命令
Tab键:自动补全命令、文件名、目录名
man、 help 帮助解释命令用法
clear 清屏
Ctrl + u:清除光标前的文字,Ctrl+k:清除光标后的文字,,Ctrl+a:光标跳至命令行首,Ctrl+e:光标跳至命令行尾
命令严格区分大小写
Ctrl +alt 释放鼠标
图形与文本界面切换
图形切换到文本界面(命令行界面):shift+ctrl+alt+f4
文本界面(命令行界面)切换到图形:alt+f7
1.用户管理
1.1 useradd 建立用户账号
-c:comment加上备注文字 语法:useradd -c [备注文字] [新建用户名]


注:使用useradd命令所建立的帐号,在/etc/passwd中查看,上图,user1 为新建的用户名,第二位x为密码位,第一个501为uid,第二个501为uid,启始登入目录为/home/user1
-d:directory指定用户登入的起始目录 语法:useradd -d [指定目录] [新建用户名]
注:普通用户默认的登入目录在/home/用户名称,root默认的登入目录在/root,示例见-e参数
-e:effective指定账号的有效期限 语法:useradd -e [yyy-mm-dd][新建用户名]


注:参数可以搭配使用
-g:group指定用户所属的群组 语法:useradd -g [gid][新建用户名]
 创建user3


注:指定的gid不能为不存在的gid,否则报错,不指定gid时,默认依次建立,如user1 和user2,gid分别为 501,502 ,uid和gid为0属于root用户的,1-499:系统账户;500+属于普通用户的.
-r:建立系统账号 语法:useradd -r [新建用户名]


-s:指定用户登入后所使用的shell
注:见-r 参数里末尾的/bin/bash ,改了会出问题
-u:指定用户uid 语法:useradd -u [uid][新建用户名]


注:uid必须唯一,否则报错,无法创建
1.2 passwd 设置密码 语法:passwd [用户名]


注:默认不加用户名时就是对当前登录用户进行操作,不设置密码无法以创建的用户登录
1.3 usermod user modify修改用户信息
-c:修改备注名称 语法: usermod -c [备注][用户名]
修改user1的备注为alias1


-d:修改用户登入是的目录 语法: usermod -d [新登入目录][用户名]
修改user1的登入目录为/tmp


-e:修改账号的有效期限 语法:usermod -e [yyy-mm-dd][用户名]
注:时间格式:yyy-mm-dd
-g:修改用户所属的群组 语法:usermod -g [gid][用户名]
-l:修改用户名称 语法: usermod -l [新用户名][用户名]
修改用户user1用户名为usermod


-u:修改uid 语法:usermod -u [uid][用户名]
将用户usermod 的uid由501改为505


-L:lock 锁定用户 语法:usermod -L [用户名]
-U:unlock解锁用户 语法:usermod -U [用户名]
1.4 userdel 删除用户 语法:userdel [参数] [用户名]
-r:remove可删除用户账号与相关文件 语法:userdel -r [用户名]
删除用户usermod


注:若不加参数,则只删除用户账号,不删除相关文件
1.5 groupadd 建立用户组
-g:指定gid 语法:groupadd -g [gid][组名]
新建组g1,指定gid为510


-o:允许创建重复id的用户组,与-g联合使用 语法:groupadd -o -g [gid][组名]
新建与g1相同gid的组g2


-r:创建系统用户组,最大为499系统账号 语法:groupadd -r [组名]
新建gid 为499的系统账号


1.6 groupmod 修改群组识别码或名称
-g:修改gid 语法:groupmod -g [gid] [组名]
修改g1 的gid为511


-o:重复使用群组识别码,,与-g联合使用 groupmod -o -g [gid][组名]
g2重复使用g1的gid 511


注:不加-o参数无法使用重复id
-n:设置新的群组名称 语法:groupmod -n [新组名] [组名]
修改g2为g22


1.7 groupdel 删除用户组 语法: groupdel [组名]
删除 g3 g22


注:依次只能删除一个用户,不能多个删除
1.8 id 显示用户id以及所属组id 语法: id [用户名]
查看user2 的id


1.9 finger 查看用户信息 语法:finger [用户名]
2.目录管理
2.1 mkdir 创建目录
-m:设定权限模式 语法:mkdir -m [目录名]
创建一个权限为123 的目录dir2


注:123:所属用户为执行,所属组为写,其他人为写和执行
-p:递归创建目录 语法:mkdir -p [目录名]
-v:每次创建新目录时都显示信息 语法:mkdir -v [目录名]


2.2 rmdir删除目录
rmdir [目录名]
注:只能删除空目录,不能删除文件
-p:删除父目录
-v:显示删除过程
删除父目录a/b/c,并显示过程


2.3 cd 切换目录change directory
2.4 pwd 显示工作目录,得知当前目录的绝对路径
切换至tmp目录


2.5 ls 列出目录内容,包括包括文件和子目录的名称 语法:ls [参数] [目录]
-1:每列只显示一个文件或目录名称
显示tmp目录下的文件


-a: all 列出下所有文件和目录
查看/home 目录下的所有文件和目录


注:包含“.”开头的隐藏文件,“…”代表上层路径,即存在父目录
-A:almost-all 显示除了“.”和“…”外的所有文件和目录


注:注意和-a的区别
-l:列出文件的详细信息
详细显示/home目录下文件信息


注:第1位:文件类型,“d”表示文件类型为目录,即文件夹;“-”表示文件类型为普通文件;“l”表示文件类型为链接,即快捷方式;“p"表示文件类型为管道命令文件(FIFOs)
第2~4位:文件所有者user的权限:r–>read 读/w–>write写/x–>execute执行
第5~7位:文件所属组group的权限:r–>read 读/w–>write写/x–>execute执行 ,”-“表示无此权限
第8~10位:其他人other对该文件的权限:r–>read 读/w–>write写/x–>execute执行,”-"表示无此权限
第11:表示硬连接数
第12:示文件拥有者
第13:表示文件所属组
第14:表示文件块大小
第15:表示文件最后修改时间
第16:文件名称
-F:在名称后加上符号表示文件类型
example:


注:“*”表示执行文件、"@“表示符号连接、”|“表示FIFOs管道、”/“表示目录、”="表示套(socket)
-s:显示文件和目录的大小,以区块为单位


注:此大小为块大小
-S:按照块大小排序


-lh:以人类可读方式进行读取(K,M,G)


注:比较与ls的区别
3.文件管理
3.1 touch创建空文件 语法:touch 文件名1 [文件名2] …
新建空文件doc1 doc2


3.2 vi文档编辑
查看模式
vi [filename] :打开或新建文件,并将光标置于第一行首
-n:打开文件,并将光标置于第n行首
+:打开文件,并将光标置于最后一行首
h:光标左移一个字符
l:光标右移一个字符
space:光标右移一个字符
Backspace:光标左移一个字符
k或Ctrl+p:光标上移一行
j或Ctrl+n:光标下移一行
Enter:光标下移一行
w或W:光标右移一个字至字首
b或B:光标左移一个字至字首
e或E:光标右移一个字至字尾
nG:光标移至第n行首[5G]G要大写
H:光标移至屏幕顶行
M:光标移至屏幕中间行
L:光标移至屏幕最后行
0:(注意是数字零)光标移至当前行首
: 光 标 移 至 当 前 行 尾 【 s h i f t + :光标移至当前行尾 【shift+ shift+
编辑文本
输入i,在光标前
I:在当前行首(大写的i)
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行
保存退出
:q:退出vi
注:不保存输入内容
:wq:保存并退出vi write and quit
:w:保存编辑内容
:q!:强制退出 force to quit
:wq!:强制保存并退出vi


3.3 grep 查找内容包含指定的范本样式的文件,并显示含有范本样式的那一列
-c:只输出匹配行的计数 语法:grep -c [范式样本][文件名]
在doc3中查找含有2 的内容,显示有2行,加入-c参数后只显示行数


-i:不区分大小写 语法: grep -i [范式样本][文件名]
在doc3中查找含有a和A 的内容,加入参数i后,AABBCC也符合条件


注:只适用于单字符
-h:查询多文件时不显示文件名 语法: grep -h [范式样本][文件名]
在doc3 doc4 中查找含有a的内容


-l:查询多文件时只输出包含匹配字符的文件名,而不列出具体的行数 语法: grep -l [范式样本][文件名]
在doc3 doc4 中查找含有a的内容


-n:显示匹配行及行号 语法: grep -n [范式样本][文件名]
在doc3 中查找含有a的内容


-v:revert-match显示不包含匹配文本的所有行 grep -v [范式样本][文件名]
在doc3查找不包含a的内容


正则表达式:
.: 匹配任意单个字符


[]: 匹配指定范围内的任意单个字符
匹配含有Ab和AB的内容


[^]:匹配指定范围外的任意单个字符
匹配紧邻A后不含B或者b的内容


*:匹配前面的字符任意次(注:包括0次)
匹配C前有0次或者多次B的内容


注:特别注意*也包括匹配0次
^:行首锚定;用于模式的最左侧
在doc3匹配以a开头的内容


以下是doc3 的内容


$:行尾锚定;用于模式的最右侧
在doc3匹配以b结尾的内容


注:语法为[字符] , , ,在字符后
^PATTERN$: 用于模式匹配整行
在doc3匹配以A开头C结尾的内容


^KaTeX parse error: Unexpected character: '' at position 7: : 空行; ̲grep ^ filename
egrep
?:匹配 0或1次
在doc3匹配A 0次和1次的内容


+:匹配1次或多次
在doc3匹配b 1次和多次的内容


{m}:匹配m次;
在doc3匹配b 2次的内容


{m,n}:匹配至少m,至多n次
在doc3匹配b至少1次,至多2次的内容


注:特别注意匹配内容无“”时报错
3.4 sort 文本内容排序
注:以默认的方式将文本文件的第一列以ASCII 码从大到小的次序排列,并将结果输出到标准输出
在尝试使用sort命令时要重新设置LC_ALL=C的ASCI码环境值(/etc/profile下设置)
vi /etc/profile
source /etc/profile命令生效环境
3.5 wc计算字数
-c:显示一个文件的字节数 语法:wc -c [文件名]
显示doc3的字节数


-l:显示一个文件的行数
显示doc3的行数


-L:max-line-length显示一个文件中的最长行的长度
doc3中最长行的长度为6


-w:word统计英文单词的个数,比如 hello 就是一个单词


注:ASCII码:一个英文字母1个字节,一个中文汉字2个字节
UTF-8编码:一个英文字母1个字节,一个中文汉字3个字节
Unicode编码:一个英文字母2个字节,一个中文汉字2个字节
英文标点1个字节,中文标点2个字节
3.6 cp复制文件或目录
-d:语法:cp -d [源文件] [目的文件]
link 为指向doc1 的连接文件,cp link1 to link2,link2 也指向doc1


注:在进行 copy 的时候,如果是 copy 到 link 文件,
若不加任何参数,则预设情況中会将 link 到的原始文件copy 到目的地,
若加 -d 时,则 link 文件可原封不动,将 link 这个捷径拷贝到目的地


注:用文件路径也可复制
-r:recursive递归处理 语法:cp -r [源文件或目录] [目的目录]
将目录work1 及其子目录复制到work目录


-s:symbolic-link做成符号连接,而非复制文件 语法:cp -s [源文件] [目的文件]
将文件doc1 复制到link3,加参数 -s 后,link3为一个指向doc1 的符号连接


3.7 mv 移动或更名文件或目录
mv [源文件或目录][目的文件或目录]
将doc3 更名为 doc33


mv [ 源文件或目录 ] [目的路径]
移动doc3 至work目录


3.8 rm删除文件或目录
-rf: 强制删除目录或文件 语法:rm -rf [文件或目录名]


注:r:recursive递归处理,将子目录和文件一并处理; f:force强制
–i : interactive 删除文件或目录时给予确认提示
删除doc1


3.9 find 查找目录或文件
注:find【文件路径】【参数】【文件名】 在没有路径时,默认在当前路径下查找数据
-name: 按照文件名查找文件 语法:find [路径] -name [查找文件名]
当前目录下查找文件名为doc开头的文件


注:查找的是doc开头,而不是文件名包含doc,子目录work 也进行了查找
-perm: 按照文件权限来查找文件 语法:find [路径] -perm [匹配权限]
查找所有人拥有读写执行权限的文件名以link 开头的文件


注:参数间的配合使用,更高效
-user :按照文件所用者来查找文件 语法:find [路径] -user [所有者]


-group :按照文件所属的组来查找文件 语法:find [路径] -group [群组名]


-type :查找某一类型的文件 语法:find [路径] -type [文件类型]
在tmp 目录下查找文件类型为link的文件


注:d:directory目录; l:link链接 ;f:file文件
-size :按照文件大小查找文件 语法:find [路径] -size [文件大小]


注:单位是K,M,G +10k大于10kb -10k小于10k。
-exec: 可执行操作 语法: -exec 命令 {} ;
找到doc33并查看内容


3.10 cat显示文件内容,并且支持将多个文件串连接后输出
-n :–number 由 1 开始对所有输出的行数编号 语法:cat -n [文件1][文件2]


注:结果不能区分内容分属doc2或doc5
-b : --number-nonblank 和 -n 相似,但对于空白行不编号
>:将文件附加到目的文件后 语法:cat -n file1 > file2

cat 可以将多个文件合并为一个文件
cat file1 file2 > file

3.11 head 输出文件前几行的数据 语法:head [-行数] [文件名]
查看doc33 前两行


注:默认查看文件前10行的数据,


注:可同时查看多个文件
3.12 aw分页显示文件内容 语法:more [+起始行数] [-每页显示行数][文件名]
从第1行开始显示,每页显示1行


注: +num:从多少行开始显示 ;-num:每页显示多少行内容
注: 操作:z–下一页,b–上一页
3.13 tail 输出文件后几行的数据
-f:动态刷新日志文件 语法:tail -f [文件名]


注:光标闪烁,未退出命令,动态显示,且默认文件后10行的数据
3.14 chmod change mode变更文件或目录的权限
-R:recursive 递归处理 语法:chmod -R [权限范围][权限设置][文件名]
改变doc2的权限


注:
两种更改权限方式
<权限范围>+<权限设置>开启权限范围的文件或目录的该项权限设置
<权限范围>-<权限设置>关闭权限范围的文件或目录的该项权限设置
<权限范围>=<权限设置>指定权限范围的文件或目录的该项权限设置
r:读取权限,数字代号为"4"
w:写入权限,数字代号为"2"
x:执行或切换权限,数字代号为"1"
-:不具任何权限,数字代号为"0"
u:User,即文件或目录的拥有者。
g:Group,即文件或目录的所属群组。
o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围。
a:All,即全部的用户,包含拥有者,所属群组以及其他用户
注:
3.15 chgrp 变更文件或目录的所属群组 语法:chgrp -R [组名][文件名]
查看存在的组


将doc2 的组盖为user1


3.16 chown 变更文件或目录的拥有者或所属群组 语法:chown -R [username][:groupname][filename]
将文件doc2的用户变更为user,所属组变更为user1


注:变更的目的owner必须存在才有效
3.17 file 检测文件类型 语法:file [filename]
doc2 为文件,link1为符号连接


3.18 which查找命令


3.19 rz:recieve files with ZMODEM 上传文件
3.20 sz:send files with ZMODEM 下载文件
3.21 rpm查询、安装、卸载软件
注:适用redhat 的安装包都已.rpm 结尾
rpm包是Redhat Linux提供的一种包封装格式,使用相应的rpm命令来完成安装,让软件安装工作变得简单
查询已安装的rpm包
rpm –qa software-1.2.3.rpm
注:查看安装了哪些软件
安装rpm包
rpm –ivh software-1.2.3.rpm
搭建ftp服务器,安装vsftpd软件包
service 服务名 start/stop/restart
卸载rpm包
rpm –e software-1.2.3
更新 -rpm –uvh software
3.22 .bin ./software.bin
注意:卸载时,包名不要后缀名
4.系统管理
4.1 shutdown关机
-r :关机并重启
4.2 reboot重启系统
4.3 alias 给命令起别名 语法:alias [别名=][“命令”]


注:取消别名用unalias 语法:unalias [别名]
4.4 echo 显示文本行或变量取值,或者把字符串输入到文件中


4.5 export 设置或显示环境变量
设置环境变量
var_name=value; export var_name
或者:var_name=value
export var_name
 查看环境变量取值
echo $var_name
unset var_name 删除某个系统环境变量
注:该命令只是从当前用户进程中删除,不会从文件/etc/profile删除
4.6 source 加载环境变量
4.7 top:实时显示系统中各个进程的资源占用状况(动态)


4.8 ps -ef :process status 列出系统中当前运行的那些进程(静态)


ps -aux: 查看进程,同时可以看到进程所占的CPU和内存


4.9 kill 删除执行中的程序或工作 语法:kill -9 [PID]
-9:强制
4.10 vmstat: 展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况


注:
procs :
r 列表示运行和等待cpu时间片的进程数,如果长期大于1,说明cpu不足,需要增加cpu
b 列表示在等待资源的进程数,比如正在等待I/O、或者内存交换等
memory :
swpd 切换到内存交换区的内存数量(k表示)。如果大于0,表示你的机器物理内存不足了或者比较大,比如超过了100m,只要si、so的值长期为0,系统性能还是正常
free 当前的空闲页面列表中内存数量(k表示)
buff 作为buffer cache的内存数量,一般对块设备的读写才需要缓冲。
cache作为page cache的内存数量,一般作为文件系统的cache,如果cache较大,说明用到cache的文件较多,如果此时IO中bi比较小,说明文件系统效率比较好
swap :
si 由内存进入内存交换区数量。 每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用或者内存泄露了
so由内存交换区进入内存数量。每秒虚拟内存写入磁盘的大小
IO :
bi 从块设备读入数据的总量(读磁盘)(每秒kb)
bo 块设备写入数据的总量(写磁盘)(每秒kb) 这里我们设置的bi+bo参考值为1000,如果超过1000,而且wa值较大应该考虑均衡磁盘负载,可以结合iostat输出来分析
system:
in 列表示在某一时间间隔中观测到的每秒设备中断数
cs列表示每秒产生的上下文切换次数,如当 cs 比磁盘 I/O 和网络信息包速率高得多,都应进行进一步调查
cpu:
us 列显示了用户方式下所花费 CPU 时间的百分比。us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期大于50%,需要考虑优化用户的程序
sy 列显示了内核进程所花费的cpu时间的百分比。这里us + sy的参考值为80%,如果us+sy 大于 80%说明可能存在CPU不足
wa 列显示了IO等待所占用的CPU时间的百分比。这里wa的参考值为30%,如果wa超过30%,说明IO等待严重,这可能是磁盘大量随机访问造成的,也可能磁盘或者磁盘访问控制器的带宽瓶颈造成的(主要是块操作)
id 列显示了cpu处在空闲状态的时间百分比 system 显示采集间隔内发生的中断数
4.11 hostname 查看主机名


5.网络通信
5.1 ifconfig 显示或设置网络设备


5.2 netstat 显示网络状态
netstat -tunlp |grep 端口号:用于查看指定的端口号的进程情况


-t: tcp 显示TCP传输协议的连线状况。
-u: udp 显示UDP传输协议的连线状况
-i:interfaces 显示所有网络接口的信息
-a: 显示所有socket,包括正在监听的
-c: continuous 持续列出网络状态,每隔1秒就重新显示一遍,直到用户中断它
-n: 直接使用IP地址,而不通过域名服务器
注:拒绝显示别名,能显示数字的全部转化为数字
-p: programs 显示正在使用Socket的程序识别码和程序名称
 -l: listening 显示监控中的服务器的Socket
5.3 ping 一般用于检测网络通与不通或者网络连接速度
5.4 service [服务名][状态]
start 、stop、 restart 、reload 、status
6.磁盘管理
6.1 df :disk free检查linux服务器的文件系统的磁盘空间占用情况
–h:人类可读,以K,M,G单位


–T:显示文件系统的类型


6.2 du :disk usage显示指定的目录或文件所占用的磁盘空间
-s或–summarize 仅显示总计


–h:人类可读,以K,M,G单位


-a: all显示目录中个别文件的大小,和默认值结果相同


6.3 mount:挂载
mount -t type device directory
umount # umount [drectory | device]
7.备份压缩
7.1 gzip 压缩文件
-c :将输出写到标准输出上,并保留原有文件 语法:gzip -c [文件名]


-d :decompress将压缩文件解压 gzip -d [文件名]


-l:list 列出压缩文件的相关信息 语法:gzip -i [压缩格式的文件名]


注:必须是压缩后的.gz结尾的文件
-r:recursive 递归处理,将指定目录下的所有文件及子目录一并处理



-t:test 测试压缩文件是否正确无误
–best :此参数的效果和指定"-9"参数相同,高压缩比
–fast :此参数的效果和指定"-1"参数相同 ,低圧缩比
注:压缩过后,其名称后面会多出".gz"的扩展名
7.2 gunzip 解压被gzip压缩过的文件 语法:gunzip [文件名]


7.3 tar备份文件
文件打包语法:tar -cvf 目标文件名.tar 源文件


文件解包语法:tar -xvf 目标文件名.tar


文件压缩语法:tar -zcvf 目标文件名.tar.gz 源文件


文件解压语法:tar -zxvf 目标文件名.tar.gz


-c或–create 建立新的备份文件
-v或–verbose 显示指令执行过程
-f<备份文件>或–file=<备份文件> 指定备份文件
-z 通过gzip指令处理备份文件
-x或–extract或–get 从备份文件中还原文件
-r或–append 新增文件到已存在的备份文件的结尾部分
-C --directory DIR转到指定目录
7.4 zip 压缩文件
zip [压缩文件名] [文件1] [文件2]


7.5 unzip 解压.zip文件
unzip [文件名]


-l: 显示压缩文件内所包含的文件

8.NEW_START_20190910
xargs
xargs 是给命令传递参数的一个过滤器,也是组合多个命令的一个工具, 一般是和管道一起使用
find /sbin -perm +700 |xargs ls -l #这样才是正确的
cat test.txt | xargs #单行输出
cat test.txt | xargs -n3 #多行输出
echo “nameXnameXnameXname” | xargs -dX #自定义定界符
ls *.jpg | xargs -n1 -I {} cp {} /data/images #复制图片到 /data/images 目录
su
除 root 外,需要键入该使用者的密码
su - sung #变更帐号为 sung 并改变工作目录至 clsung 的家目录
network
/etc/ini.d/network stop #服务器的网络断开
nohup command &
nohup : no hang up 如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。
在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中
&:后台运行
./test.sh & #直接在后台运行脚本test.sh
nohup ./test.sh &(test.sh的打印信息会输出到当前目录下的nohup.out中) #不中断的在后台运行test.sh
不中断的在后台运行test.sh另一个命令:setsid ./test.sh & #不中断的在后台运行test.sh
nohup command > myout.file 2>&1 &

find /sbin -perm +700 |xargs ls -l #这样才是正确的
cat test.txt | xargs #单行输出
cat test.txt | xargs -n3 #多行输出
echo “nameXnameXnameXname” | xargs -dX #自定义定界符
ls *.jpg | xargs -n1 -I {} cp {} /data/images #复制图片到 /data/images 目录

curl
curl (commandline uniform resource locator) 是一个利用URL规则在命令行下工作的文件传输工具,作用是发出网络请求,然后得到和提取数据,显示在‘标准输出’上,支持多种协议。
-A/–user-agent 设置用户代理发送给服务器 #这个字段是用来表示客户端的设备信息,服务器有时会根据这个字段,针对不同设备返回不同格式的网页。$ curl --user-agent “[User Agent]” [URL]
-b/–cookie <name=string/file> cookie字符串或文件读取位置
-c/–cookie-jar 操作结束后把cookie写入到这个文件中
-C/–continue-at 断点续转
-D/–dump-header 把header信息写入到该文件中
-e/–referer 来源网址
-f/–fail 连接失败时不显示http错误
-o/–output 把输出写到该文件中
-O/–remote-name 把输出写到该文件中,保留远程文件的文件名
-r/–range 检索来自HTTP/1.1或FTP服务器字节范围
-s/–silent 静音模式。不输出任何东西
-T/–upload-file 上传文件
-u/–user <user[:password]> 设置服务器的用户和密码
-w/–write-out [format] 什么输出完成后
-x/–proxy <host[:port]> 在给定的端口上使用HTTP代理
-#/–progress-bar 进度条显示当前的传送状态
-i 显示http response的头部信息,连通网页代码一起
-I 只显示http response的头部信息
-X curl默认的HTTP动词是GET,使用-X 参数可以支持其他动词
-H 自定义消息头, (HTTP) Extra header to use when getting a web page.
-d 发送 POST 请求, (HTTP) Sends the specified data in a POST request to the HTTP server
–header 增加头信息 $ curl --header “Content-Type:application/json” http://example.com
–user 针对需要HTTP认证的网域 $ curl --user name:password example.com
json: curl -i -X POST -H “Content-type:application/json;charset:UTF-8” -d ‘request_text’ URL
xml: echo ‘request_text’|curl -X POST -H ‘Content-type:text/xml’ -d @- URL
URL中含有&后需要使用引号引起来,单引号当字符串原样输出,双引号允许变量
@- : 读取管道符内容
curl支持在一个命令行中处理多个URL,中间用空格间隔即可, curl首先解析整个命令行,将得到选项应用于所有的URL上。如果想对每一个URL使用不同的选项,那么可以使用–next来指定,eg.
curl --location http://example.com/1
–next --data sendthis http://example.com/2

echo
echo [选项] [内容]
选项 描述
-n 不输出末尾的换行符。
-e 启用反斜线转义。
/b 退格
// 反斜线
/n 新行
/r 回车
/t 水平制表符
/v 垂直制表符
使用重定向符来输出到一个文件而不是标准输出
echo “test page”> testpage.txt

cut
cut命令从文件的每一行剪切字节、字符、字段并写至标准输出
cut [-bn][file]
cut [-c][file]
cut [-df][file]
指定字段的字符或字节范围
N- 从第N个开始到结尾
-M 从1开始到M,包含M
N-M 从第N个开始至M个

awk # 文本分析处理工具,它逐行扫描文件,从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行你想要的操作。如果没有指定动作,则把匹配的行输出到标准输出
usage: awk ‘{pattern+action}’{filenames}
awk -f scriptfile filenames
awk脚本
begin{这里放的是执行前的语句}
{这里放的是处理每一行要执行的语句}
end{这里放的是处理完所有的行后要执行的语句}
awk常用的内置变量
$n 当前记录的第n个字段,由FS分隔
$0 完整的输入记录
FS 字段分隔符,默认是任何空格 field separator
NR 已经读出的记录数,也就是行号 number of record
NF 字段数 number of field
OFS 输出分隔符,output field separator

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值