1. 系统常用命令
1.1 当前用户相关
# 查看当前谁在使用该主机
who
# 查找自己所在的终端信息
who am i
# 查看当前用户
id
1.2 网络相关
# 查看对应IP机器名
host ip(10.99.199.66)
# 查看默认网关和当前的路由表
route -n
netstat -nr
1.3 系统相关
# 对命令取别名
alias la = 'ls -a'
# 查看内核
uname -a
# 查看linux版本
lsb_release -a
2. 系统文件
2.1 系统重要文件
/etc/passwd 记录用户账号(管理用户UID/GID重要参数)
/etc/shadow 记录用户密码(管理用户密码相关数据)
2.2 系统终端文件
/dev/tty 终端
/dev/null 黑洞文件
3. 获得当前执行的shell 文件所在的路径及文件名
bash -x ./test/test.sh
#/bin/bash
echo ${BASH_SOURCE}
echo ${BASH_SOURCE[0]}
echo ${BASH_SOURCE[*]}
# 三者等价,输出test/test.sh
4. shell中'',"",``,$(),${},(()),$(())的区别
(1) 单引号与双引号基本一致,但双引号可保持变量原有意义不变,而单引号会全部当作字符串来处理
a=1
b=2
echo "$a"
# 1
echo '$a'
# $a
(2)反引号``与$()等价,都是用来作命令替换的。(用来重组命令行,先完成引号里的命令行,然后将其结果替换出来,再重组成新的命令行。)
echo today is $(date "+%Y-%m-%d")
echo today is `date "+%Y-%m-%d"`
(3) ${ }变量替换
一般情况下,$var与${var}是没有区别的,但是用${ }会比较精确的界定变量名称的范围。
(4) (())重定义变量值
a=5
b=7
# 赋值
((a=b))
echo $a
# 5
((a--))
((a<b))
(5) $(( ))与整数运算
+,- ,* ,/, %(取余),&(and), |(or), ^(XOR), !(not)
a=5
b=7
echo $((a+b))
echo $(($a+$b))
# 12
(6) 进制转换
$(( ))可以将其他进制转成十进制数显示出来
echo $((2#110))
# 6
echo $((16#2a))
# 42
echo $((8#11))
# 9
5. shell 中vim常见用法
1. 配置自己习惯的vim操作环境
修改~/.vimrc(默认不存在,需要自己手动创建)
"在这个文件中双引号是注释
set number "显示行号
set tabstop=4
set shiftwidth=4
set autoindent "自动缩排
set expandtab
set hlsearch "高亮度反白
"set ruler "显示最后一行的状态
"set showmode "左下角那一行的状态
syntax enable "进行语法检验,颜色显示
map <F3> :NERDTreeMirror<CR>
map <F3> :NERDTreeToggle<CR>