认识bash shell

查看有哪些shell可以使用:查看/etc/shells

~/.bash_history 记录上次登录执行的指令

 

alias 查看、设置命令别名  unalias取消设置

alias lm='ls -al'

 

type 命令名:查看某一命令是否为shell内建的命令

/ 命令换行继续写

echo $PATH 或 echo ${PATH}   显示变量PATH的内容

myname=bing    设定变量myname的值为bing

""中的特殊字符可以保有变量特性,''内的特殊字符仅为一般字符,/转义

``数字键1左边的按键或$(),里面的命令先执行,返回输出

export PATH 使变量变为环境变量

unset 变量名   取消变量

 

bash  进入子shell,父shell的变量失效,除非设为环境变量

exit  离开子shell   

 

env   列出所有环境变量,其中的:

HOME:家目录      SHELL:shell程序名      PATH:执行文件搜寻路径

LANG:语系编码    RANDOM:随机数,0~32767

windows下一般是gbk,而linux是utf-8,所以有时会看见乱码。可通过设定LANG来解决

iconv -f GBK -t UTF-8 file1 -o file2 转换文件的编码

unix2dos dos2unix dos文件行结尾/r/n(^M$),unix为/n,可用此转换

 

set  设定环境,无参数则将系统和自己的变量显示出来,其中:

PS1:提示字符的设定  '/[/u@/h /W/]/$' 显示为 [root@linux ~]# 具体含义见鸟哥的菜

echo $-   $-变量是set的所有设定,预设himBH

 

echo $$:本shell的pid

echo $?:上个执行指令的回传码

OSTYPE,HOSTTYPE,MACHTYPE:主机硬件与核心的等级

locale -a:列出支持的语系,语系文件放在/usr/lib/locale/目录下

 

read:从键盘读入变量,-p 提示语,-t 等待时间

 

declare [+-aixr] 变量名    宣告变量属性 +取消 -设置

-a 数组  -i 整形  -x 环境变量  -r 只读

 

history列出历史命令

!n 执行第n条命令  !! 执行上条命令

 

登录信息显示数据:/etc/issue,/etc/motd

 

系统设定值

/etc/sysconfig/i18n:LANG 等

/etc/profile PATH,USER,HOSTNAME等  HISTSIZE设成50,较小较安全

/etc/inputrc 键盘热键  

/etc/profile.d/*.sh 针对bash及C-shell规范了一些数据,如alias之类

/etc/bashrc:umask,PS1

/etc/man.config:MANPATH man的搜索路径

 

个人设定值

先~/.bash_profile,然后 ~/.bash_login,最后 ~/.profile。可放个人的PATH,环境变量等

~/.bashrc 命令别名,路径等

~/.bash_history 历史命令

~/.bash_logout  注销bash后的动作

修改以上文件后,source ~/.bashrc或.  ~/.bashrc可让设置立即生效

 

登录时的读取顺序

1.先读 /etc/profile,再根据/etc/profile的内容去读取其它额外的设定档,例如/etc/profile.d与/etc/inputrc等等;  

2.根据不同的使用者,到其家目录去读~/.bash_profile或~/.bash_login或~/.profile 等设定档;

3.根据不同使用者,到其家目录读取~/.bashrc。

non-login shell  登录后取得的shell,配置文件仅有~/.bashrc

 

stty -a  列出终端设定的所有按键    ^C表示ctrl+c

eof:End of file      erase:向后删字符     intr:发出interrupt信号给程序

stty erase ^h    设置Ctrl+h为删除

特殊符号,如*、#等,见鸟哥的菜

 

标准输入(stdin):0,用<或<<   命令中-可表示标准输入或输出

标准输出(stdout):1,用>或>>(表示追加)

标准错误(stderr):2,用2>或2>>

2>/dev/null  扔掉错误    > filename 2>&1 正确和错误信息写到同一文件

cat > filename    从键盘输入信息到文件,按下Ctrl+d离开

cat > filename <<eof   从键盘输入信息到文件,键入eof离开

cat > filename < file  将file的内容送到filename中

 

; 多个命令间分隔

ls file1 && touch file2  若file1存在则创建file2。ls命令返回值在$?中

ls file1 || touch file2  若file1不存在则创建file2。指令一个接一个执行,注意顺序

 

cut  对一行数据进行分解  -d'分隔字符' -f 第几段  -c以字符为单位取出固定字符区间

echo $PATH | cut -d ':' -f 3,5

export | cut -c 12-   取第十二个字符后的所有字符

 

grep  搜寻字符串  -a搜二进制文件 -c出现次数 -i忽略大小写 -n行号 -v反选

grep aaa filename

 

sort 预设以第一个数据来排序,以文字型态来排序的 

unip 剔重

wc 字符计数,输出顺序:行,字数,字符数

tee 双重导向  -a以累加的方式

  ls -l /home | tee /homefile | more     将ls的数据存到homefile中,并输出屏幕

tr -d删除字符  -s替换字符

  last|tr '[a-z]' '[A-Z]' 将输出中所有小写字母换成大写

  last|tr -d abp  删掉abp    last|tr -s abp 123 将abp换成123

col -x 将tab转换为对等的空格

join 文档内容合并

  join -t ':' file1 file2  两文件第一列字段相同的行内容合并,字段间以:分隔

  join -t ':' -1 4 file1 -2 3 file2   file1的第4个字段和file2的第3个字段若相同,则合并其他字段内容,以:分隔

paste file1 file2 file3 将文件同一行直接合并,以tab间隔,-d指定分隔符

expand file  将文件中tab键换为空格,-t可指定空格数

split file PREFIX   分割文件,-b大小,可加单位b、k、m,-l 行数,分割后文件名PREFIXaa,PREFIXab……   合并文件 cat PREFIX* >> file

xargs 将输入分割成其他程序的入参,以空格或断行符作为分隔符 -p 需确认 -n 次数

tar -tvf file.tar 查看file内容 tar -cvf file.tar file 打包 tar -xvf file.tar 解包

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值