## 常用shell列表 | 命令 | 作用 | | ------------------------------------------------------------ | ------------------------------ | | yum install --installroot=/usr/local | 表示指定自定义的安装目录 | | free -hm | 查看内存使用情况 | | netstat –apn | 查看所有端口占用情况 | | lsof -i:80 | 查看占用端口程序 | | df -lh | 查看磁盘用量 | | > text.txt | 清空文件 | | echo $LANG | 查看字符集 | | export LANG=zh_CN.UTF-8 | 临时修改字符集 | | vim /etc/locale.conf | 修改centos7.5字符配置文件 | | source /etc/locale.conf | 配置生效 | | tar -zxvf xxx.tar.gz -C /dest | tar文件解压到指定目录 | | ln -s /xxx/xxx.jar /etc/init.d/xxx | jar包注册service服务 | | cd /etc/rc.d/init.d
chkconfig --add monitor
chkconfig monitor on | 开机启动service | | find /home/ -name xxx | 查找/home目录下名字为xxx的文件 | | ssh 192.168.0.1 -l root -p 22 | 远程登录到另一台主机 | | scp root@192.16.0.1:/path/name /path | 从服务器上下载文件 | | scp /path/name root@192.16.0.1:/path | 上传本地文件到服务器 | | scp -r root@192.16.0.1:/path /path | 从服务器下载整个目录 | | scp -r /path root@192.16.0.1:/path | 上传目录到服务器 | | chown user:user file | 修改文件用户组和用户 | | systemctl stop firewalld | 关闭防火墙 | | | | | | | ## firewall防火墙命令 systemctl管理firewalld.service状态 | 命令 | 作用 | 命令 | 作用 | | ---- | ---- | ---- | ---- | | | | | | | | | | | | | | | | ## 其他shell相关知识 ### 开机自启程序或脚本 - 在`/etc/profile`文件中添加启动命令 ### 后台执行命令或脚本 - `nohup command &` 如果使用nohup命令提交任务,在默认情况下该任务的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件,如: `nohup command > myout.file 2>&1` 输出被重定向到myout.file文件中 如果不想做任何输出,可以将输出文件指定为/dev/null,`/dev/null`代表linux的空设备文件,所有往这个文件里面写入的内容都会丢失,俗称“黑洞”。 `nohup command > /dev/null 2>&1` ### shell操作字符串 - 判断字符串是否包含另一个字符串 - 使用~ `if [[ $A =~ $B ]]` - 使用通配符* `if [[ $A == *$B* ]]` - 截取字符串 - ${A:B:C} `${foo:3:2}` //从下标为3的字符开始截取,共截取2个 - ${A#B}/${A##B} 清除字符串中符合pattern的字符,从字符串最前匹配 ```shell foo=“file.txt.zip” echo ${foo#*.} //一个#号代表按照最短匹配清除 txt.zip echo ${foo##*.} //2个#号代表按照最长匹配清除 zip ``` - ${A%B}/${A%%B} 清除字符串中符合pattern的字符,从字符串最后匹配 ```shell foo=“file.txt.zip” echo ${foo%.*} //一个%号代表按照最短匹配清除 file.txt echo ${foo%%.*} //2个%号代表按照最长匹配清除 file ``` - 字符串替换操作 - ${A/B/C} ```shell foo="mp3.txt.txt.mp3.avi" echo ${foo/txt/TXT} mp3.TXT.txt.mp3.avi echo ${foo//txt/TXT} mp3.TXT.TXT.mp3.avi foo="txt.txt.txt" echo ${foo/#txt/TXT} TXT.txt.txt echo ${foo/%txt/TXT} txt.txt.TXT ``` - 大小写转换 ```shell foo="ABcd" echo ${foo,} aBcd echo ${foo,,} abcd echo ${foo^} ABcd echo ${foo^^} ABCD ``` ### shell算术运算命令 | (()) | 用于整数之间常用的运算符,效率高 | | ------- | ---------------------------------------------------- | | let | 用于整数运算,类似于(()) | | expr | 用于整数运算,但是还有其他功能 | | bc | Linux下的一个计算程序,适合整数及小数运算 | | $[] | 用于整数运算 | | awk | awk既可以整数运算,也可以小数运算 | | declare | 定义变量值和属性,-i参数可以用于定义整形变量,做运算 | | | | ## ubuntu系统相关知识 - 非root用户无法使用1024以下端口 - /etc/profile中配置的环境变量重启失效,需要在/etc/environment中配置 - 执行shell需要用bash