# linux常用命令 ## 常用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 | 关闭防火墙 | | | | | | | ## 其他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 # VIM快捷键 | 快捷键 | 作用 | 快捷键 | 作用 | | ------- | -------------------------- | ------ | -------------- | | gg | 跳转到文件开头快捷键 | yy | 复制一行 | | shift+g | 跳转到文件结尾快捷键 | dd | 删除一行 | | xxgg | 跳转到指定的xx行数,如 50gg | p | 插入复制的数据 | | [[ | 跳转到文件开头 | | | | ]] | 跳转到文件结尾 | | | | /xx | 从上往下搜索xx | | | | ?xx | 从下往上搜索xx | | | | | | | | - VIM异常退出 VIM异常退出的时候,再次进入编辑会提示: ```txt 交换文件 "xxx.swp" 已存在! ``` 这时候使用 `ll -all` 命令可以看到一个`.xxx.swp`隐藏文件,删掉此文件即可 # mysql相关 | 命令 | 作用 | | :---------------------------------------------- | :---------------------------- | | show VARIABLES like '%max_allowed_packet%'; | 查看mysql可接收最大数据包大小 | | set global max_allowed_packet = 1024*1024*1024; | 设置mysql可接收最大数据包大小 | | show global variables like 'wait_timeout'; | 查看mysql连接超时时间 | | set global wait_timeout=604800; | 设置mysql连接超时时间 | | mysql -h host -P port -u user -ppassword | 链接mysql | | | | # maven命令 | 命令 | 作用 | 命令 | 作用 | | ----------- | ------------------------- | ----------- | ------------------- | | mvn clean | 清空输出目录,默认是target | mvn install | 安装jar到本地仓库中 | | mvn compile | 编译源代码 | mvn deploy | 安装jar到远程仓库中 | | mvn package | 打包 | | | # webService 相关 ```shell wsimport -encoding utf-8 -keep -d .\ -p com.sprt.monitor.api.pagw.bean .\location.wsdl wsdl2java -d .\ .\location.wsdl ```