【学习笔记】bash内置命令及命令行命令(外部命令)

bash内置命令:

1、help

2、echo

3、printf

4、cd

5、pwd

6、:     --用途:什么都不做,传回真值(即传回0)。 例如,利用:,建立空文件。 : > test.txt

7、. (半角句号) 用途:在现行的SHELL环境中执行SHELL程序

8、source :用途在现行的shell环境中执行shell程序。

10、alias:用途:显示、设定程序别名。

11、unalias

12、exit

13、logout

14、umask 用途:显示或设定:文件、目录创建时,文件权限的屏蔽值。

通常在linux/bsd等系统建立新的文件时,默认的权限值是0666;在建立新的目录时,默认的权限值是777.

不过这样的权限制并不安全,为了让文件管理者能方便的开设文件及目录,又不必担心权限的安全性问题。因此才有了umask机制

umask 022:

表示新的文件建立时,其真正的权限应该是0666-0022=0644

表示新的目录建立时,其真正的权限应该是0777-0022=0755

15、history 用途显示过去曾经执行过的shell指令

与history有关的三个变量:

HISTFILE:历史脚本文件(执行过的命令存储的位置).bash_history

HISTFILESIZE:历史脚本文件的行数大小。

HISTSIZE:设定在一个互动模式的SHELL中,可记住的历史指令数。

16、fc 列出登录主机后,最近执行过的指令。 fc -l

17、type 用途:判断BASH对某一指令如何解释。

18、set;用途设定bash shell的属性;若不加任何选项和参数,它会显示所有的shell

变量和函数的内容。

开启某一个属性:如:set -o |grep emacs

关闭某一个属性:如:set +o emacs

19、shopt用途设定bash shell的行为模式;

shopt -s 启用选项

shopt -u 关闭选项

20、time用途在script 或指令执行结束后,显示real,user,cpu 3种耗用时间的统计。

21、read用途由标准输入读取一行数据

read -a arr < <(echo 123 45 97 88 102) 是一种进程替换的用法

提前数组方法: echo ${arr[2]}

IFS=':'   IFS是字段分隔字符变量。

read f1 f2 f3 f4 f5 f6 f7 < /etc/passwd

22.exec  用途执行指定的程序,取代原来的shell;或是转向操作生效。

23、eval 读取参数,结合成一个新指令,在进行变量替换时,予以执行。

例如:listlog="ls -la /var/log/*.log"

eval $listlog

bash命令行程序:(外部命令)

命令行程序是单独存在的执行文件,执行前,shell会先在程序的搜寻路径$PATH中寻找。

1、which 用途在搜寻路径中,找出某一命令行程序的文件位置。

2、locate 用途由文件名数据库中,找出包含有关键字的文件路径。

3、date 用途显示、设定系统的日期和时间。

常用的时间格式代码:

%d:日(01-31)

%D:日期(月/日/年)如02/17/09

%e:日(不足二位数的部分,以空白补齐)

%m:月(01-12)

%Y:年

%F 同于%Y-%m-%d

4、who 用途显示现在谁登录主机

5、whoami 用途显示自己的登录账户

6、ls 列出目录内容

7、cat 连接文件内容并显示出来

8、head 用途输出文件的前面一部分。

9、tail 用途输出文件的后面一部分。

10、wc 用途计算文件内含的总字数或行数。

11、ln链接文件 

12、mkdir

13、rmdir

14、rm  备份,备份、备份

15、find 在分层目录中寻找文件。

find . -name '*.txt' -exec rm -f {} \; 由现在的目录开始往下寻找扩展名是.txt的文件,找到以后

执行(-exec)删除文件的命令。其中,-f 代表强制删除, {}代表找到的文件, ;是执行命令

(-exec)的终止符号。由于他是bash shell的特殊符号,所以要用\转义掉特殊的含义。

16、tar 将文件或目录包成一个文件(也可以反向解开),并保留目录结构和文件属性。

tar cvzf etc.tgz /etc c代表建立tar文件,v表详细显示过程,z代表呼叫gzip压缩tar文件

f指定文件名。

tar tvzf etc.tgz t表示列出打包内容

备份A到B: tar cvf - . | tar xvf - -C $B

-代表把打包结果往标准输出丢,接着通过管道,由tar xvf -解包, -C把解包内容放到¥B目录

17、basename 用途取得路径名称中最后的文件名部分。

18、dirname 取得路径名称中的目录部分。

19、sort 对文本文件的每一行做排序。

sort -n +2 dataf3 跳过前两栏,以dataf3中的第三栏做排序,且以字符串的数值大小为比较的标准。

sort -nr +2 -t: /etc/passwd -t改用:为分隔符,+2是说跳过前两栏,以/etc/passwd中的第三栏

做降序排序。

20、uniq 用途对已排序好的文件删除重复行。 uniq -d 挑出重复行 uniq -c 统计每一行重复的次数。

21、cut 用途对文件的每一行抽取某一部分。 

cut -c2 dataf1 抽取文件中每一行的第2个字符。

cut -c3-10 dataf1 抽取文件中每一行的第3到第10个字符。

cut -c1-3,33- dataf1

cut -d: -f1 /etc/passwd 抽取/etc/passwd各行的第一个字段。

22、paste 用途对文件以行和行的方式合并。

paste dataf1 dataf2 默认以tab分隔

paste -d'#' dataf1 dataf2 以#分隔

23、tr 转换或删除字符。

tr k K <dataf1 

tr ',' '\n' <ttt

tr -d k  k字符全删除。

24、grep 显示符合样式的行 

grep -A 200 -e 'MAIL FROM: .*jack@mail.tnc.edu.cn' /var/log/mail.log

-e表示后面接的时欲比较的样式。 -A 200 表示找到该样式行后,再显示接下来的200行数据。

25、tee 读取标准输入,然后由标准输出显示,并且把这些数据存在指定的文件。

tee -a 文件附件的方式

26、diff 比较两个文件之间的差异。

27、comm 以列和列的方式,比较两个已经排序好的文件。

28、xargs 用途由标准输入,安排要执行的命令和参数。

find . -name '*.txt' | xargs -n 2 diff 

由现在的工作目录,寻找扩展名是.txt的文件,然后给xargs处理,

xargs -n 2 表示执行指令的参数至多有2个,也就是说把找到的.txt文件,以两个一组的方式丢给diff

去比较差异。

 

执行多命令的方法:

  1. 使用;分号分隔。 ./configure; make; make install
  2. 在每个命令之间用&&分隔  :./configure && make && make install
  3. 命令1 || 命令2 || 命令3
  4. 数个命令弄成一组,然后整组去执行 (命令1;命令2;命令3;。。。) ()会开启一个子shell环境执行此括号中的命令组。
  5. { 命令1;命令2;命令3;。。。。 }命令组在现行的shell中执行,特别注意在{的右边 和}的左边,至少要间隔一个以上空格,而且每个命令都是;分隔。

转载于:https://www.cnblogs.com/sky-zhao/p/4186780.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值