❀My学习Linux命令小记录(4)❀

❀My学习Linux命令小记录(4)❀

目录

❀My学习Linux命令小记录(4)❀

16.>>指令

17.date指令

18.du指令

19.df指令

20.xargs指令


16.>>指令

功能说明:将前一个查看指令中的结果追加写入到目标文件中,如果目标文件不存在,则新建。

基本语法:查看指令 >> 目标文件

实例

#cat 1.txt >> 2.txt    #查看1.txt的内容追加到2.txt文件(也就是说把1.txt的内容放到2.txt内容的后面

17.date指令

功能说明显示或设置系统时间与日期

(ps.很多shell脚本里面需要打印不同格式的时间或日期,以及要根据时间和日期执行操作。延时通常用于脚本执行过程中提供一段等待的时间。日期可以以多种格式去打印,也可以使用命令设置固定的格式。在类UNIX系统中,日期被存储为一个整数,其大小为自世界标准时间(UTC)1970年1月1日0时0分0秒起流逝的秒数。)

基本语法:date(选项)(参数)

选项:

-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号

-s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号

-u:显示GMT;

--help:在线帮助;

--version:显示版本信息。

日期格式字符串列表:

%H # 小时,24小时制(00~23)

%I # 小时,12小时制(01~12)

%k # 小时,24小时制(0~23)

%l # 小时,12小时制(1~12)

%M # 分(00~59)

%p # 显示出上午或下午

%r # 时间,12小时制

%s # 从1970年1月1日0点到目前经历的秒数

%S # 秒(00~59)

%T # 时间(24小时制)(hh:mm:ss)

%X # 显示时间的格式(%H时%M分%S秒

%Z # 按字母表排序的时区缩写

%a # 星期名缩写

%A # 星期名全称

%b # 月名缩写

%B # 月名全称

%c # 日期和时间

%d # 按月计的日期(01~31

%D # 日期(mm/dd/yy)

%h # 和%b选项相同

%j # 一年的第几天(001~366)

%m # 月份(01~12)

%w # 一个星期的第几天(0代表星期天)

%W # 一年的第几个星期(00~53,星期一为第一天)

%x # 显示日期的格式(mm/dd/yy)

%y # 年份的最后两个数字(1999则是99)

%Y # 年份(比如1970、1996等)

%C #   世纪,通常为省略当前年份的后两位数字

%U #  一年中的第几周,以周日为每星期第一天

%e #   按月计的日期,添加空格,等于%_d

实例

#date +%D    #显示日期(mm/dd/yy)

#date +"%D %X"    #显示日期年月日时间

#date +"%Y/%m%d %H%M%S"    #显示日期年月日时间

#date +"%Y-%m-%d"    #格式化输出:2023-12-06

 #date -d "1 day ago" +%Y-%m-%d     #输出昨天日期:2023-12-05

#date +%X    #显示时间的格式%H时%M分%S秒


#date +%H:%M:%S    #显示时间的格式%H时%M分%S秒

加减操作:

#date -d "+1 day" +%Y%m%d       # 显示前一天的日期

#date -d "-1 day" +%Y%m%d       # 显示后一天的日期

#date -d "-1 month" +%Y%m%d     # 显示上一月的日期

#date -d "+1 month" +%Y%m%d     # 显示下一月的日期

#date -d "-1 year" +%Y%m%d      # 显示前一年的日期

#date -d "+1 year" +%Y%m%d      # 显示下一年的日期

18.du指令

功能说明:显示每个文件和目录的磁盘使用空间

(ps.du命令(“Disk Usage)也是查看使用空间的,但是与df命令不同的是Linux的du命令是对文件和目录磁盘使用的空间的查看,df命令用于显示磁盘分区上的可使用的磁盘空间,还是和df命令有一些区别的。)

基本语法:du [选项][文件]

选项:

-a或-all 显示目录中个别文件的大小。

-b或-bytes 显示目录或文件大小时,以byte为单位。

-c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。

-k或--kilobytes 以KB(1024bytes)为单位输出。

-m或--megabytes 以MB为单位输出。

-s或--summarize 仅显示总计,只列出最后加总的值

-h或--human-readable 以K,M,G为单位,提高信息的可读性。

-x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。

-L<符号链接>或--dereference<符号链接> 显示选项中所指定符号链接的源文件大小。

-S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。

-X<文件>或--exclude-from=<文件> 在<文件>指定目录或文件。

--exclude=<目录或文件> 略过指定的目录或文件。

-D或--dereference-args 显示指定符号链接的源文件大小。

-H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。

-l或--count-links 重复计算硬件链接的文件。

实例

#du     #显示目录或者文件所占空间

#du -sh */    #显示目录的大小

19.df指令

功能说明显示磁盘的相关信息

(ps.df命令(“Disk Free”)用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。)

基本语法:df(选项)(参数)

选项:

-a或--all:包含全部的文件系统;

--block-size=<区块大小>:以指定的区块大小来显示区块数目;

-h或--human-readable:以可读性较高的方式来显示信息;

-H或--si:与-h参数相同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes;

-i或--inodes:显示inode的信息

-k或--kilobytes:指定区块大小为1024字节;

-l或--local:仅显示本地端的文件系统;

-m或--megabytes:指定区块大小为1048576字节;

--no-sync:在取得磁盘使用信息前,不要执行sync指令,此为预设值;

-P或--portability:使用POSIX的输出格式;

--sync:在取得磁盘使用信息前,先执行sync指令;

-t<文件系统类型>或--type=<文件系统类型>:仅显示指定文件系统类型的磁盘信息;

-T或--print-type:显示文件系统的类型;

-x<文件系统类型>或--exclude-type=<文件系统类型>:不要显示指定文件系统类型的磁盘信息;

--help:显示帮助;

--version:显示版本信息。

大小格式:

显示值以 --block-size DF_BLOCK_SIZEBLOCK_SIZE  BLOCKSIZE 环境变量中的第一个可用 SIZE 为单位。 否则,单位默认为 1024 个字节(如果设置 POSIXLY_CORRECT,则为512)。

SIZE是一个整数和可选单位(例如:10M是10 * 1024 * 1024)。 单位是K,M,G,T,P,E,Z,Y(1024的幂)或KB,MB,...(1000的幂)。

实例

#df  #查看系统磁盘设备,默认是KB为单位

(输出说明:

Filesystem: 第一列指定文件系统的名称设备名称

1K-blocks:默认单位是1KB,第二列指定一个特定的文件系统1K-块1K是1024字节为单位的总内存。用和可用列正在使用中,分别指定的内存量

Used已使用的磁盘空间大小,使用列指定使用的内存的百分比。

Available剩余的磁盘空间大小。

Use%磁盘使用率

Mounted on磁盘挂载的目录,而最后一栏"安装在"指定的文件系统的挂载点。)

#df -h   #可读的格式

我们可以看到输出显示的数字形式的'G'(千兆字节),"M"(兆字节)和"K"(千字节)。

这使输出容易阅读和理解,从而使显示可读的。请注意,第二列的名称也发生了变化,为了使显示可读的"大小"。

#df -i   #显示inode信息而非块使用量

#df --total   #显示所有的信息

20.xargs指令

功能说明:给其他命令传递参数的一个过滤器

(ps.xargs 命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。它擅长将标准输入数据转换成命令行参数,xargs 能够处理管道或者 stdin 并将其转换成特定命令的命令参数。xargs 也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。xargs 的默认命令是 echo,空格是默认定界符。这意味着通过管道传递给 xargs 的输入将会包含换行和空白,不过通过 xargs 的处理,换行和空白将被空格取代。xargs 是构建单行命令的重要组件之一。)

参数:

  • -a file 从文件中读入作为 stdin
  • -e flag ,注意有的时候可能会是-E,flag必须是一个以空格分隔的标志,当xargs分析到含有flag这个标志的时候就停止。
  • -p 当每次执行一个argument的时候询问一次用户。
  • -n num 后面加次数,表示命令在执行的时候一次用的argument的个数,默认是用所有的。
  • -t 表示先打印命令,然后再执行。
  • -i 或者是-I,这得看linux支持了,将xargs的每项名称,一般是一行一行赋值给 {},可以用 {} 代替。
  • -r no-run-if-empty 当xargs的输入为空的时候则停止xargs,不用再去执行了。
  • -s num 命令行的最大字符数,指的是 xargs 后面那个命令的最大命令行字符数。
  • -L num 从标准输入一次读取 num 行送给 command 命令。
  • -l 同 -L。
  • -d delim 分隔符,默认的xargs分隔符是回车,argument的分隔符是空格,这里修改的是xargs的分隔符。
  • -x exit的意思,主要是配合-s使用。
  • -P 修改最大的进程数,默认是1,为0时候为as many as it can ,这个例子我没有想到,应该平时都用不到的吧。

实例:

xargs 用作替换工具,读取输入数据重新格式化后输出。

定义一个测试文件,内有多行文本数据

# cat test.txt

a b c d e f g

h i j k l m n

o p q

r s t

u v w x y z

# cat test.txt | xargs   #多行输入单行输出

a b c d e f g h i j k l m n o p q r s t u v w x y z

#cat test.txt | xargs -n3

a b c

d e f

g h i

j k l

m n o

p q r

s t u

v w x

y z

# echo nameXnameXnameXname | xargs -d X   #使用-d自定义一个定界符

name name name name

#echo "nameXnameXnameXname" | xargs -dX -n2  #结合 -n 选项 使用

name name

name name

rm删除太多的文件时候,可能得到一个错误信息:/bin/rm Argument list too long

xargs 去避免这个问题:

#find . -type f -name "*.log" -print0 | xargs -0 rm -f 

xargs -0 将 \0 作为定界符。

❀My学习Linux命令小记录(4)❀over~

  • 21
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值