linux常用命令_Bash

之前一次登陆使用过的命令会在./bash_history文件中记录

###################################################

alias

为指令设置一个别名

alias vi='vim'用vim来代替vi开启文本文件

##################################################

*:为通配符

可以替代任何字符,常用语批量操作

rm -rf filePartName*

#####################################################

type

可以查询命令是否为bash shell 内建命令

####################################################################

C+u: 删除光标到开始处的所有命令

C+k: 删除光标到末尾处的所有指令

C+a: 将光标移动到最前面

C+e: 将光标移动到最后面

在\后面接上enter,可以让命令换行编写

###################################################################

shell变量

输入类似于 

TEST=test

的命令时将会称为shell变量,使用echo $TEST可以显示变量的具体值

在编写变量时可以使用单引号和双引号

双引号: TEST_0="$TEST is a" 当双引号引用其他变量时,可以将其他变量的值传递到改变量内

单引号: TEST_1='$TEST is b' 当单引号试图引用其他变量时,是不会有该效果,

当不使用单双引号时如果需要空格,引号,等指令符号,需要在前面填写\

unset: 取消变量设定

export 可以将变量导入当前环境变量里

###################################################################

export 和 env 

可以查看当前系统中的环境变量

echo $?可以查看上一个命令的返回值

set内的PS1可以更改bash标题的内容

locale可以查看当前系统所使用的语言

######################################################################

read name

shell输入该指令后会等待用户输入,将输入后的值赋值给name

-t 等待时间

-p 命令提示

######################################################################

declare

不带任何参数会将当前所有的变量显示出来

-a 将后面名为variable的变量定义称为数组类型

-i: 将后面名为variable的变量定义为整数数字类型

-x: 用法与export一样,就是将后面的变量设置称为环境变量

-r: 将变量设定称为 readonly模式,不能更改,不能unset

###################################################

ulimit

对当前登陆的用户做限制,防止电脑资源的枯竭

-a 查看当前限制设置

-H hard limit: 严格的设定,不能超过该设定的数值

-S soft limit: 宽松的设定,在其与hard limit登陆的用户会收到一个通知

-c 当程序发生错误时,.系统可能会将该程序在内存中的信息写成文件来排查错误,该设置为每个核心文件的最大容量

-f: 此shell可以建立的最大文件容量

-d: 程序可使用的最大断裂内存容量

-l: 可用于锁定的内存量

-t: 可使用的最大CPU时间

-u: 单一用户可以使用的最大程序数量

#############################################

echo ${path#/*:}

################################################################

当echo设定变量时,不确定是否存在该变量

echo ${val-content}

当val不存时,会被设定为content

echo ${val:-content}

当val未被设定或为空字符串时,会被设定为content

###########################################################################

history

查看当前用户操作的历史记录

n: 查看最近的n条记录

-c: 将当前shell中的历史记录清楚

-a histfiles: 将新增的history指令加入histfiles中,若没有填写histfiles,将会默认写入~/.bash_history里

-r: 将histfiles的内容读到目前这个shell的history记忆中

-w: 将目前的histroy内容写入histfiles中

!number: 运行第number 的指令

!command: 运行最近与command相符的指令

###############################################################

type -a ls

可以查看指令搜索的顺序

一般来说alias所声明的指令是默认搜索的第一顺位

###########################################################

在/etc/issue可以填写本地登陆时显示内容

\d: 显示本地端时间

\l显示第几个终端机接口

\m: 显示硬件的等级

\n: 显示主机的网络名称;

\O 显示domain name:

\r  操作系统的版本

\t 显示本地短时间的时间

\S 操作系统的名称

\v 操作系统的版本

在/etc/issue可以设置远程端登陆的显示内容

##################################################################

~/.brahrc

定义当前控制台的命令提示字符

如果不小心删除,可以复制/etc/skel/.bashrc恢复

~/.bash_history

当前历史操作记录会在退出登录时写入该文件

~/.bash_logout

当用户退出时会执行该文件,可以设置一些用户想在退出后执行的重复工作

################################################################

stty与set

对当前终端机的命令行快捷键进行设置

stty -a可以查看当前的快捷键设置

^表示Ctrl

^C则表示Ctrl+C

######################################################################

通配符:

*,表示0个到无穷多个任意字符

?: 代表一定有一个任意字符

[]:同样代表一定有一个在括号内的任意字符,如[abcd]则表示,abcd中的一个

[-],:括号内减号表示连续字符[0-9]表示0-9中的一个

[^]:表示除了^中的字符都可以匹配

特殊符号:

#:表示后面的数据均为注释,不运行

\:将后面的特殊符号或者通配符还原成一般字符

|: 分隔两个管线命令的界定

;:连续指令下达分隔符

~:用户的家目录

$:取用变量的符号,如需使用变量需要加上该符号

&:工作控制:将指令变成背景下工作

!:逻辑非

/:路径分隔的符号

>,>>:数据流重导向:输出导向,分别是[取代]与[累加]

<,<<: 数据流重导向

'':单引号,不具有变量置换的功能

"":具有变量置换的功能,$可以调用变量

``:类似于$()

():在中间为子shell的起始与结束

{}在中间为逻辑块或命令区块

文件名不要使用上述的组合

##########################################################################

>:将正确输出导入到一个文件内,如果文件内有内容,将会被替换掉

>>:以累加的方式将输出导出到文件

2>: 将错误输出导出到一个文件

2>>:以累加的方式将错误输出导出到一个文件

#####################################################################

如果不想显示错误输出,且不想保存,可以将文件导出到

/dev/null

里,可以丢弃所有导入的数据

#################################################################

如果想将多个输出导入到同一个文件里

可以使用

2>&1

来达到排序的目的

1>&2 意思是把标准输出重定向到标准错误.

2>&1 意思是把标准错误输出重定向到标准输出。

&>filename 意思是把标准输出和标准错误输出都重定向到文件filename

(https://www.cnblogs.com/liuchaogege/p/6124669.html)

####################################################################

<,将原本输入用文件导入,遇到C+d退出

<<,将原本的输入用文件导入,遇到eof表示输入结束

###############################################################

首先当一个指令成功执行时,会返回0作为成功标示

可以理解为0为true,而其他值为false,与c++正好相反

cmd1&&cmd2 : 可以理解为当cmd1成功执行,即返回值$?==0时,才执行cmd2

cmd1||cmd2:可以理解为当cmd1执行失败,即返回值$?!=0时,才执行cmd2

#################################################################

|

管道线,

cmd1 | cmd2

将cmd1的执行结果使用cmd2执行

##################################################################

cut 

处理显示数据

-d 分割符号

-f 取出第几段

-c 以字符位单位取出固定字符区间

##########################################################

last:

查看最后登陆的用户

#############################################################

grep

将筛选出满足条件的内容进行显示

-a 将二进制文件以文本形式进行搜索

-c 计算查找到的字符串的次数

-i: 忽略大小写

-n 输出行号

-v 进行反向选择

--color=auto 将关键字加上颜色标示

##############################################################

将结果进行规则排序

-f: 忽略大小写的差异

-b: 忽略最前面的空格符部分

-M: 以月份的名字来排序

-n: 使用纯数字进行排序(默认是文本形态)

-r:反向排序

-u: uniq, 相同的数据,仅出现一次

-t 分隔符,预设是用tab来分隔

-k 以第几区间进行排序的意思

##################################################################

uniq

将不显示重复的结果

-i: 忽略大小写

-c: 计算重复的数量

#######################################################

wc

计算当前文本的数量

-l: 计算一共有多少行

-w: 计算一共有多少英文单字

-m: 计算一共有多少字符

########################################################

tee

将当前的输出内容分流到文件

-a

以累加的形式将数据加入文件中

#################################################

tr

删除一段讯息当中的文字,或进行文字讯息的替换

-d content: 删除讯息中的 content

-s: 取代掉重复的字符

########################################################

col

将tab转换为空格

#################################################

join

将指定文件按给定的条件进行合并

-t: 给定一个分隔符

-i: 忽略大小写的差异

-1: 代表第一个文件使用那个字段作为条件

-2: 表示第二个文件使用那个字段作为条件

##################################################################

paste

-d: 可以接分隔字符,预设是用tab来分隔

- 如果file 部分写成-,表示来自standard input的 意思

简单的将连个文件链接在一起,中间用设定分割符分隔

##################################################################

expand 

将文件中的tab转换成空格来代替

-t: 设定用几个空格取代

##################################################################

split 将大文件分解成多个小文件

-b: 设定分区文件的大小

-l: 以行数来进行分区

cd /tmp; split -b 300k /etc/services services

将文件分成多个小文件

在需要集合时

cat services* > services

就可以复原

####################################################################

xargs

当某些指令不支持管道时,可以使用该指令调用指令

将前面的结果以参数的形式传递过来使用

echo "test.txt" | xargs cat

将会打开 test.txt显示内容,而不是输出test.txt文本

###################################################################

-: 减号

可以替代成stdin或者stdout

例如

tar -cvf - /home | tar -xvf - -C /tmp/homeback

可以将打包文件通过管道传输给后面的指令进行解压缩,从而达到不用输入文件名的效果

#######################################################################

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值