第二章 Linux——基础命令使用
一、常用系统工作命令
二、系统状态检测命令
三、工作目录切换命令
四、文件编辑命令
五、文件目录管理命令
六、用户与组管理命令
七、打包压缩文件命令
八、文件查询搜索命令
一、常用系统工作命令
1.echo
作用:
在终端显示字符串或变量
格式:
echo【字符串|变量】
基本使用:
A)输出字符串
B)输出变量
2.date
作用:
用于显示/设置系统的时间或日期
格式:
date【选项】【+指定格式】
基本使用:
A)查看当前系统时间
B)按照“年-月-日 小时:分钟:秒钟”显示
C)设置系统时间
参数:
3.reboot(仅限root用户)
作用:
重启计算机
格式:
reboot
基本使用:
4.wget
作用:
下载网络文件
格式:
wget【参数】下载地址
基本使用:
参数:
二、系统状态检测命令
1.ifconfig
作用:
获取网卡配置与网络状态等信息
格式:
ifconfig【网络设备】【参数】
基本使用:
2.uname
作用:
查看系统内核版本等信息
格式:
uname【-a】
基本使用:
3.uptime
作用:
查看系统负载情况
格式:
uptime
基本使用:
4.free
作用:
显示当前系统中内存使用量情况
格式:
free【-m/-g】
基本使用:
5.who
作用:
查看当前登入主机的用户情况
格式:
who【参数】
基本使用:
三、工作目录切换命令
1.pwd
作用:
显示当前工作的目录
格式:
pwd【选项】
基本使用:
参数:
2.cd
作用:
切换工作路径
格式:
cd【目录名称】
基本使用:
A)切换目录
B)返回上级目录
C)返回家目录(cd ~ 或者 直接cd)
3.ls
作用:
查看目录中有哪些文件
格式:
ls【选项】【文件】
基本使用:
A)查看当前目录下有哪些文件
B)查看某一目录下有哪些文件
C)查看目录权限和属性
D)显示文件大小单位
参数:
详解:
ls可以说是Linux系统最常用的命令之一,相当于windows下的dir命令。
A)-a –all: 列出目录下的所有文件,包括以 . 开头的隐含文件。
B)-l 列出文件的详细信息也可以简写为ll
total:代表当前目录下文件大小的总和
drwxr-xr-x. 3 root root 20 Oct 16 18:21 data:文件详细信息
- 第一个字符有3种情况:①“-”表示普通文件
②“d”代表目录
③“l”代表连接文件
④“b”代表设备文件
- 后面的9个字符每3个为一组:分别代表文件所有者、文件所有者所在用户组、其它用户对文件拥有的权限。
①每组中3个字符分别代表读、写、执行的权限,若没有其中的任何一个权限则用“-”表示。
②执行的权限有两个字符可选“x”代表可执行,“s”代表套接口文件。
③紧接着的数字2代表 “aa”这个目录下的目录文件数目(这个数目=隐藏目录数目+普通目录数目)。
- 数字3:这个目录下的目录文件数目(这个数目=隐藏目录数目+普通目录数目)
- root:这个文件(目录)的属主为 用户root
- root:这个文件(目录)所属的用户组为 组root
- 20:文件的大小(字节数),目录的大小总是为4096字节。
- OCT 16 18:21:代表文件(目录)的修改时间。
- data:代表文件(目录)在名字。
C)-i 输出文件的 i 节点的索引信息
D)-d 将目录象文件一样显示,而不是显示其下的文件。
E)-p -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通
文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套
接字(sockets)。
F)-r 对目录反向排序。
G)-t 以时间排序
H)-u 以文件上次被访问的时间排序。
I)-S 以文件大小排序。
J)-h 显示文件大小时增加可读性
四、文件编辑命令
1.cat
作用:
查看纯文本文件(较短的)
格式:
cat【选项】【文件】
基本使用:
A)打印一个或多个文件
B)将标准输入与文件内容合并显示(-被做为stdin文本的文件名)
C)–s参数压缩相邻的空白行
D)-n显示行数
参数:
2.more
作用:
用于查看纯文本文件(较长的)
格式:
more【选项】【文件】
基本使用:
more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。
参数:
常用操作指令:
3.head
作用:
查看文本文件前20行
格式:
head【选项】【文件】
基本使用:
取文件的前几行,如果不加参数默认取文件的前10行。常用参数-n后接数字,表示显示前n行,可以简写成head -5,取文件前5行。
参数:
4.tail
作用:
查看纯文本后N行
格式:
tail【选项】【文件】
基本使用:
取文件的后几行,如果不加参数默认取文件的后10行。常用参数-n后接数字,表示显示后n行,可以简写成head -5,取文件前5行。-f参数用于接收文件尾部的变化,常用于查看日志文件更新。
参数:
5.wc
作用:
统计指定文本的行数、字数、字节数
格式:
wc【参数】【文本】
基本使用:
参数:
五、文件目录管理命令
1.touch
作用:
创建空白文件与修改文件时间
格式:
touch【选项】【文件】
基本使用:
参数:
2.mkdir
作用:
创建空白文件夹
格式:
mkdir【选项】目录
基本使用:
A)创建文件夹
B)创建多层文件夹
参数:
3.cp
作用:
复制文件或目录
格式:
cp【选项】源文件 目标文件
基本使用:
参数:
详解:
cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息。
-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
-i 或 --interactive 覆盖文件之前先询问用户
-p 或 --preserve 保留源文件或目录的属性,包括所有者、所属组、权限与时间
-r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
-a 相当于-dpr
4.mv
作用:
移动文件或重命名
格式:
mv【选项】文件名【目标路径|目标文件名】
基本使用:
A)移动文件
B)改名字
5.rm
作用:
删除文件或目录
格式:
rm【选项】文件
基本使用:
A)加-rf无需确认
B)rm(不加rf)确认
参数:
详解:
rm删除文件或者目录,生产场景尽量不要使用rm,非要使用的情况下,要先备份再删除。
替代方法使用mv移动到临时目录,相当于回收站 。
Find删除 :find /var/ -type f –exec rm {} ;
exec处理查找的结果,rm对前面找到内容的处理命令,{}表示找到的内容,;转义
常用参数如下:
-f --force略过不存在的文件,不显示任何信息
-d --directory删除可能仍有数据的目录
-i --interactive 进行任何删除操作前必须先确认
-r/R --recursive同时删除该目录下的所有目录层
6.rename
作用:
批量改名
格式:
rename【被替换掉的字符串】【替换成的字符串】【选项】
基本使用:
rename .htm .html *.htm 将当前目录下所有的以.htm结尾的文件改名为以.hmtl结尾。
六、用户与组管理命令
1.useradd
作用:
创建新用户
格式:
useradd【选项】用户名
基本使用:
参数:
2.passwd
作用:
修改用户的密码
格式:
passwd【选项】【用户名】
基本使用:
参数:
3.groupadd
作用:
用于创建群组
格式:
groupadd【选项】【群组名】
基本使用:
七、打包压缩文件命令
1.tar
作用:
对文件打包压缩或解压
格式:
tar【选项】【文件】
基本使用:
压缩文件
解压缩文件
参数:
八、文件查询搜索命令
1.find
作用:
查找文件
格式:
find【查询路径】 寻找条件 操作
基本使用:
参数:
详解:
(A)列出目录及子目录下的所有文件及文件夹
(B)-name参数指定了文件名所必须匹配的字符串。我们可以使用通配符*.txt,-iname忽略文件名的大小写
(C)!否定参数
(D)-type根据文件类型搜索(d 目录 f 普通文件 s 套接字 l 符号连接 b 设备 c 字符设备等)
(E)根据文件时间进行搜索
- -atime用户最近一次访问时间
- -mtime文件内容最后一次被修改时间
- -ctime文件元数据(例如权限或所有权)最后一次改变的时间
以上三个都可以做为find的时间选项,它们可以用整数值指定,单位是天,还可以带“+ -”,-表示小于,+表示大于
- -amin(访问时间)
- -mmin(修改时间)
- -cmin (变化时间)这三个参数的单位是分钟。
(F)-newer参数,指一个参考文件,然后找出比指定文件更新(修改时间)所有文件
(G)-size基于文件大小的搜索 –size +2k大于2k,-size -2M 小于2M b-块、c-字节、w-字、k-1024字节、M-1024k、G-1024M
(H)-delete删除找到的文件
(I)-perm基本文件权限、-user基本于所有权匹配
(J)-exec:执行其他命令。{}是一个与-exec选项搭配使用的特殊字符串。表示一个匹配,对于每一个匹配的文件,{}会被替换成相应的文件名。-exec执行是每搜到一行就执行一次后面的命令,可以使用+参数,将搜索到的文件名形成列表做为命令参数,这样就可以少执行几次命令了。
(K)-maxdepth n 查找的深度
2.grep
作用:
对文本进行搜索。grep是Linux系统命令三剑客之一,用于文本搜索,能够接受正则表达式,生成各种各样的输出。
格式:
grep【选项】【文件】
基本使用:
搜索在/etc/passwd中“/sbin/nologin”出现的行,找出系统不允许登录的用户
参数:
详解:
A)搜索包含特定模式的文本行:
B)也可以像下面这样从stdin中读取
C)单个grep 命令可以对多个文件时间进行搜索:
D)用—color选项可以在输出行中着重标记出匹配到的单词:
E)grep 命令只解释match_test中的某些特殊字符,如果要使用正则表达式,需要使用-E参数,或者使用egrep命令。
F)只输出文件中匹配到的文本部分,使用-o参数(取结果)
G)输出包含匹配到的行之外的所有行,使用-v参数
(H)统计匹配文件或者文本中匹配字符串的行数(只是行数而不是次数),使用-c参数
(I)输出包含匹配字符串的行号:
(J)搜索多个文件找出匹配文本位于那个文件之中,使用-l参数,-L结果相反。
(K)如果需要在多级目录中对文本进行递归搜索,使用参数-R –n
(L)忽略样式中的大小写,使用参数-i
(M)匹配多个样式,使用-e参数
此外还可以将多个样式写在一个文件中,然后使用-f参数读取文件。
(N)在搜索中指定或排队文件,可以搜索过程上指定(include)或排除(exclude)某些文件。要排队目录,可以使用—exclude-dir选项。
(O)输出匹配文本之前或者之后的几行,使用-A n(之后n行),-B n(之前n行),-C n(之前n行,之后n行)
(P)-E可以有多个匹配条件相当于egrep
(Q)-i忽略大小写
3.awk
作用:
pattern scanning and processing language.(模式扫描与处理语言。)是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入(stdin)、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk有很多内建的功能,比如数组、函数等,这是它和C语言的相同之处,灵活性是awk做大的优势。
格式:
【待补充】
4.sed
作用:
sed是Linux系统命令三剑客之一,是流编辑器(stream editor),常用于取行及文本替换
格式:
sed【规则】【文件】
基本使用:
sed是Linux系统命令三剑客之一,是流编辑器(stream editor),常用于取行及文本替换
详解:
(A)删除空行,用正则表达式^$配置空行,d表示删除符合模式的行
(B)删除行首空格
(C)打印文件2-5行及删除,p表示打印,打印某个选择的数据,通常与-n参数一起使用,-n参数是安静模式,只有经过sed处理的行才显示出来,其他不显示。
(D)在第2行后面添加一行内容“hello wd!”,a表示添加,后接字符串,添加到当前行的下一行
(E)在第2行这前添加一行内容“hello wd!”,i表示插入,后接字符串,添加到当前行的上一行
(F)将2-4内容替换成“I am study Linux.”c表示替换,后接字符串,用它替换n1-n2之间的行。
(G)-i参数将修改的结果保存到文件中。
(H)将test.txt文件中的aaa替换成123。s表示搜索,也可以替换
(I)使用sed命令取本机IP
(J)使用&符号标记匹配到的字符串,我们就可以在后面的替换中使用己匹配到的内容
(K)(pattern)用于匹配子串,对于匹配到的第一个子串,在后面可以1引用,以此类推,这种引用被称为后向引用。-r参数表示使用扩展的正则表达式。
(L)删除空行、注释、及行首空格
(M)注释passwd文件的前3行