19.6.5Linux基础

1.

ls [选项] [目录名]

-a  -all列出目录下所有文件,包括.开头的隐藏文件

-l 除文件名之外 还将文件的权限 所有者 文件大小等信息

-d  -directory将目录像文件一样显示 而不是显示其下的文件

-h   -human-readable 以容易理解的格式列出文件大小(1k 2M 3G)

-t  以文件修改时间排序

ls -alh /home 表示以容易理解的格式列出/home目录中所有的文件目录大小

ls -l s* 列出当前目录中s开头的文件目录的详细内容

2

①mkdir命令:mkdir 命令用来创建指定名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录

参数有-m (设定目录权限) -p(目录路径,一次建立多个目录)  -v(每次创建目录都显示信息)

mkdir -p zhou/test  创建zhou目录 目录下又创建test目录

mkdir -m 777 zhou 创建权限为777 的目录

mkdir -vp zhou/test  回车之后会提示创建了zhou目录 创建了zhou/test目录

②rm命令:删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。

-f  忽略不存在的文件 从不给出提示

-i进行交互式删除

-r指示rm将参数中列出的 全部目录和子目录均递归地删除

-v详细显示进行的步骤

例子:rm -i *.txt  删除后缀名为.txt的所有 删除前逐一询问

③mv命令  移动文件或者更改文件名

-b  若需覆盖文件 ,则覆盖前先备份

-f  如果目标文件已经存在 不会询问直接覆盖

-i  如果目标文件已经存在 会询问是否覆盖

-u 如果目标文件已经存在 且源文件比较新 才会更新

 -t 用于移动多个源文件到一个目录的情况,此时目标目录在前 源文件在后

例子:

mv wqq.txt WQQ.txt  将文件wqq.txt重命名为WQQ.txt

mv WQQ.txt test   将文件WQQ.txt移动到test目录下(目录必须存在,否则执行重命名)

④cp命令 复制文件或者目录

-t   target指定目标目录

-i  覆盖前询问 使前面的-n选项失效

-n  不要覆盖已存在的文件  使前面的-i选项失效

-s 对源文件建立符号链接 而不是复制文件

-f  强制复制文件或目录 不论目的文件或目录是否已经存在

例子:对文件wqq.txt建立一个符号链接WQQ.txt

cp  -i  test1/*  test2  将test1目录下的所有文件复制到test2目录下,覆盖前询问

⑤cat命令  -n 加编号 ,编号从1开始  -s有连续两行以上的空白行就代换为一行

例子:cat -n a/aa.txt > test.txt   aa.txt文件内容加上行号之后输入到test.txt文件中

⑥nl命令 计算行号与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等等的功能

参数 -b a 不论是否为空行 同样列出行号  类似cat -n

-b t 若有空行 空行不列出行号(默认值)

⑦more 功能类似 cat ,cat 命令是将整个文件的内容从上到下显示在屏幕上。 more 命令会一页一页的显示;以及搜寻字符串的功能

⑧less命令 也是对文件或其它输出进行分页显示的工具  

/字符串   向下搜索字符串

?字符串  向上搜索字符串

less 与 cat 和 more 的区别:

cat 命令功能:用于显示整个文件的内容,单独使用没有翻页功能。因此经常和 more 命令搭配使用,cat 命令还有就是可以将数个文件合并成一个文件的功能。

more 命令功能:让画面在显示满一页时暂停,此时可按空格健继续显示下一个画面,或按 q 键停止显示。

less 命令功能:less 命令的用法与 more 命令类似,也可以用来浏览超过一页的文件。所不同的是 less 命令除了可以按空格键向下显示文件外,还可以利用上下键来卷动文件。当要结束浏览时,只要在 less 命令的提示符“:”下按 q 键即可。

其实这三个命令除了 cat 命令有合并文件的功能,其余功能上相近,只是从浏览习惯和显示方式上有所不同。

tail命令:用于显示指定文件末尾内容,常用查看日志文件

-f :循环读取    -q不显示处理信息    -v显示详细的处理信息  -c显示字节数  -n显示行数

例子: tail -n 5 wqq.txt  显示最后5行内容

3.which whereis  locate

①which :在PATH变量指定的路径中搜索可执行文件的所在位置,一般用来 确认系统中是否安装了指定的软件 

格式:which 可执行文件名称   例子 which gcc确认是否安装了gcc 返回gcc程序的路径

②whereis:主要用于定位可执行文件,源代码文件,帮助文件在文件系统中的 位置 whereis命令还具有搜索源代码,指定备用搜索路径和搜索不寻常项的能力

-b定位可执行文件   -m定位帮助文件  -s定位源代码文件 -u搜索默认路径下除可执行文件,源代码文件,帮助文件以外的其他文件

-B指定搜索可执行文件的路径  -M指定搜索帮助文件的路径  -S指定搜索源代码文件的路径

例子:whereis -b gcc 搜索gcc可执行文件的路径

whereis -m gcc搜索gcc帮助文件的路径

whereis -s gcc搜索gcc源代码路径

③locate命令 和whereis相似 但是可以获取更全面的搜索结果 ,也可匹配查找文本

locate [选项][搜索字符串]

-q不会显示任何错误信息  -n至多显示n个输出  -r使用正则做寻找条件  -V显示版本信息

例子:locate /etc/sh 搜索etc目录下所有以sh开头的文件

locate /etc/*lou* 搜索etc目录下文件名包含lou的文件

4 ,find xargs

①find [选项] [搜索路径][表达式]

默认路径是当前目录 默认表达式-print  

-print 将匹配的文件输出到标准输出

-exec 对匹配的文件执行该参数所给出的shell命令

-name按照文件名查找文件

-type查找某一类型的文件

-prune 使find命令不在当前指定的目录中查找,如果同时使用-depth,那么-prune将被忽略

例子:find . -print 打印当前目录下的文件目录列表

find . -name "*.txt" -print 打印当前目录下所有以.txt结尾的文件名

find . ! -name "*.txt"  打印当前目录下所有不以.txt结尾的文件名

find . -name "*.php" -exec ls -l {} \;   找到当前目录下所有的php文件 并显示详细信息(-exec是find对找到的文件执行的动作)

find . -name "*.c" -exec cat {} \;>all.c   先查到所有的c语言代码文件,再将这些文件内容写入到一个文件中 下载该文件;

5.wc命令(word count)  主要用来显示文件所包含的行,字,字节数

-c 统计字节数  -l 统计行数  -m统计字符数,不能与-c一起使用  -w统计字数 

例子 wc -c wqq.txt

6.

①grep [选项] pattern [files]

-c 计算找到'搜寻字符串'(即pattern)的次数

-i忽略大小写不同    -n 输出行号   -v反向选择,打印不匹配的行   -r递归搜索   --color=auto 将找到关键词的部分加上颜色显示

例子:grep "root" /etc/passwd --color=auto 将/etc/passwd 文件中出现的root的行取出来 关键词加上颜色

grep -v "root" /etc/passwd | gerp -v "nologin" 将/etc/passwd文件中没有出现root和nologin的行取出来

grep -r "main()"  在当前目录下递归搜索文件中包含main()的文件 经常用于查找某些函数位于哪些源代码文件中

②正则   ^ $ . [] {} - ? * + () | \

^  起始行标记   ^wqq匹配以wqq起始的行

$ 行尾标记    $wqq 匹配以wqq结尾的行

. 匹配任意一个字符   a.c匹配abc 或acc,但不匹配abbc

[] 匹配包含在[字符]之中的任意一个字符  ab[cd]匹配abc或者abd

[^]匹配除[^字符]之外的任意一个字符   1[^01]匹配12或13,但不匹配10 11

[-]匹配[]指定范围内的任意一个字符  [1-5] 匹配1-5的任意一个数字

{n}匹配之前的项n次   [0-9]{2} 匹配任意一个两位数,相当于[0-9][0-9]

{n,}之前的项至少需要匹配n次,[0-9]{2} 匹配任意一个两位或者更多位的数字

{n,m}指定之前的项需要匹配的最小和最大次数 [0-9]{2,5} 匹配从两位数到五位数之间的任意一个数字

?匹配之前的项1次或者0次 ,shiy?an匹配shiyan或shian

*匹配之前的项0次或者多次 ,shiy*an 匹配shian,shiyan,shiyyan

+匹配之前的项一次或多次,shiy+an 匹配shiyan  shiyyan

()创建一个用于匹配的子串,  ma(in)? 配ma 或者main

|  匹配|两边任意一项  Dec(1st | 2nd) 匹配Dec 1st 或者Dec 2nd

\将上面的特殊字符进行转义  a\+b匹配a+b

7

①cut

如果一行数据包含多个字段(多列) cut命令可以提取其中的一列或者多列

cut [选项] [文件名]

-b以字节为单位进行分割   -c以字符为单位进行分割  -d自定义分隔符 默认为制表符  -f自定义字段 --complement抽取整个文本行

例子 : cut -f 1,3 -d ' ' wqq.txt  取出wqq.txt文件中的第一列和第三列(因为文件中是空格分隔每列的,而cut命令默认分隔符是tab,所以要加 -d ' ')  

cut -f 1-3 -d ' ' wqq.txt  取出wqq.txt文件中的前三列

cut -f 1 -d ' ' wqq.txt  --complement  取出wqq.txt文件中除第一列的其他列

给任意一字符串str 取出最后一个字符 :

②paste  与cut相反 它会添加一个或多个文本列到文件中,通过读取多个文件 把每个文件中的字段整合成单个文本流,输入到标准输出

paste[选项] [文件名]

将俩文件的内容按列拼接    指定分隔符为':'

将俩文件中的内容各自拼接成一行:

③tr命令 常被用来更改字符  tr只能通过stdin(标准输入)  而无法通过命令行参数来接受输入

tr[选项] SET1 SET2

-d 删除匹配SET1的内容 并不做替换

将输入的字符大写转化为小写;   将输入的字符中的数字删除

8 sort  uniq  join 后两个只能用于排过序的数据

9 comm 只能用于排过序的数据 逐行比较已经排序的两个文件。显示结果包括 3 列:第 1 列为只在第一个文件中找到的行,第 2 列为只在第二个文件中找到的行,第 3 列为两个文件的共有行

diff 检测文件之间的差异  -c显示全部内文  并标出不同之处  

+ 添加行 这一行将会出现在第二个文件内 而不是第一个文件内

- 删除行  这一行将会出现在第一个文件中 而不是第二个文件内

!更该行 将会显示某个文件行的两个版本,每个版本会出现在更改组的各自部分

patch被用来把更改应用到文本文件中

10

①df命令(disk free) 用来检查linux服务器的文件系统的磁盘空间占用情况,可以利用该命令来获取硬盘被占用了多少空间及剩余空间

df [选项] 文件

-a全部文件系统的列表   -h方便阅读方式显示    -i显示inode信息   -T文件系统类型   

-t<文件系统类型>只显示选定文件系统的磁盘信息   -x<文件系统类型> 不显示选定文件系统的磁盘信息

②du命令(disk usage) 与df不同的是 du是对文件和目录磁盘使用的空间的查看

du [选项] 文件

-a 显示目录中个别文件的大小  -b显示大小时,以byte为单位   -c除了显示个别目录或者文件的大小,同时显示所有目录或文件的总和   -k 以KB(1024bytes)为单位输出   -m 以MB单位   -s 仅显示总计 只列出最后加总的值   -h以K,M,G为单位,方便阅读

例子:du -h wqq1.txt

显示几个文件或者目录各自占用的磁盘空间的大小,并且统计总和:

du -ch wqq1.txt wqq2.txt

按照空间大小逆序显示:

③time命令  常用于测量一个命令的运行时间 (实际运行时间  ,用户态使用时间,内核态使用时间)

实际运行时间:从command命令开始执行到运行终止的时间

用户态使用时间:命令执行完成花费的用户cpu时间,即命令在用户态中执行时间总和

内核态使用时间:命令执行完成花费的系统cpu时间,即命令在核心态中执行时间总和

例子:测量date命令运行的时间:(户 CPU 时间和系统 CPU 时间之和为 CPU 时间,即命令占用 CPU 执行的时间总和。实际时间要大于 CPU 时间,因为 Linux 是多任务操作系统,往往在执行一条命令时,系统还要处理其它任务)

例子:将time命令的执行结果保存到文件中:

time 是 shell 的关键字,shell 做了特殊处理,它会把 time 命令后面的命令行作为一个整体来进行处理,在重定向时,实际上是针对后面的命令来的,time 命令本身的输出并不会被重定向的。比如,执行 time date 2>3.txt,3.txt 内容为空。另外,time 命令的输出信息是打印在标准错误输出上的

11 新建一个固定大小的文件

dd if=/dev/zero of=zeroFile bs=1K count=1

12,

13.

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值